Name: series-workflowqt59x Phase: Succeeded StartedAt: 2026-07-15 00:58:08 +0000 UTC FinishedAt: 2026-07-15 03:05:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[0] Phase: Succeeded StartedAt: 2026-07-15 00:58:08 +0000 UTC FinishedAt: 2026-07-15 01:09:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[0].run-triage Phase: Succeeded StartedAt: 2026-07-15 00:58:08 +0000 UTC FinishedAt: 2026-07-15 01:09:18 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "3b029c035b34bbc693405ddf759f0e9b920c27f1", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NTFS_FS" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "3b029c035b34bbc693405ddf759f0e9b920c27f1", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NTFS_FS" ], "series_id": "bcc90037-d55a-4a3a-b545-ce1cca3525f5" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "ntfs_non_resident_attr_value_is_valid", "ntfs_attr_value_is_valid" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDAxOjA4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05URlNfRlMmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkJiMzNDssCiAgICAmIzM0O250ZnNfYXR0cl92YWx1ZV9pc192YWxpZCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgdmFsaWRhdGlvbiBjaGVjayBmb3Igc3BhcnNlIGFuZCBjb21wcmVzc2VkIGF0dHJpYnV0ZXMgaW4gTlRGUy4gSXQgbW9kaWZpZXMgY29yZSBOVEZTIGxvZ2ljIGZvciBwYXJzaW5nIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHJlYWNoYWJsZSBhbmQgZnVuY3Rpb25hbC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAwMTowODwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDAyYjk4OGVmNTYyMjIyMWQ3MjYxODZkMDMwODVlY2M4NGZiZDgxOWNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1bCAxNSAwMTowODo0MCAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9udGZzL2F0dHJpYi5jIGIvZnMvbnRmcy9hdHRyaWIuY1xuaW5kZXggMjM5YjdiY2JhZWRmNGMuLjNlMjE2NDBhNjUzNDg5IDEwMDY0NFxuLS0tIGEvZnMvbnRmcy9hdHRyaWIuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZnMvbnRmcy9hdHRyaWIuY1xuQEAgLTY5Nyw2ICYjNDM7Njk3LDExIEBAIHN0YXRpYyBib29sIG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQoY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphKVxuIFx0YXR0cl9sZW4gPSBsZTMyX3RvX2NwdShhLVx1MDAzZWxlbmd0aCk7XG4gXHRtaW5fbGVuID0gb2Zmc2V0b2Yoc3RydWN0IGF0dHJfcmVjb3JkLCBkYXRhLm5vbl9yZXNpZGVudC5pbml0aWFsaXplZF9zaXplKSAmIzQzO1xuIFx0XHQgIHNpemVvZihhLVx1MDAzZWRhdGEubm9uX3Jlc2lkZW50LmluaXRpYWxpemVkX3NpemUpO1xuJiM0MztcbiYjNDM7XHQvKiBTcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBoYXZlIHRoZSBleHRyYSBjb21wcmVzc2VkX3NpemUgZmllbGQgKi9cbiYjNDM7XHRpZiAoYS1cdTAwM2VmbGFncyBcdTAwMjYgKEFUVFJfSVNfU1BBUlNFIHwgQVRUUl9DT01QUkVTU0lPTl9NQVNLKSlcbiYjNDM7XHRcdG1pbl9sZW4gJiM0Mzs9IHNpemVvZihhLVx1MDAzZWRhdGEubm9uX3Jlc2lkZW50LmNvbXByZXNzZWRfc2l6ZSk7XG4mIzQzO1xuIFx0aWYgKGF0dHJfbGVuIFx1MDAzYyBtaW5fbGVuKVxuIFx0XHRyZXR1cm4gZmFsc2U7XG4gXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMDE6MDg8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TlRGU19GUyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O250ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQmIzM0OywKICAgICYjMzQ7bnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSB2YWxpZGF0aW9uIGNoZWNrIGZvciBzcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBpbiBOVEZTLiBJdCBtb2RpZmllcyBjb3JlIE5URlMgbG9naWMgZm9yIHBhcnNpbmcgYXR0cmlidXRlcywgd2hpY2ggaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwMmI5ODhlZjU2MjIyMjFkNzI2MTg2ZDAzMDg1ZWNjODRmYmQ4MTljCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBKdWwgMTUgMDE6MDg6NDAgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9mcy9udGZzL2F0dHJpYi5jIGIvZnMvbnRmcy9hdHRyaWIuYwppbmRleCAyMzliN2JjYmFlZGY0Yy4uM2UyMTY0MGE2NTM0ODkgMTAwNjQ0Ci0tLSBhL2ZzL250ZnMvYXR0cmliLmMKJiM0MzsmIzQzOyYjNDM7IGIvZnMvbnRmcy9hdHRyaWIuYwpAQCAtNjk3LDYgJiM0Mzs2OTcsMTEgQEAgc3RhdGljIGJvb2wgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZChjb25zdCBzdHJ1Y3QgYXR0cl9yZWNvcmQgKmEpCiAJYXR0cl9sZW4gPSBsZTMyX3RvX2NwdShhLSZndDtsZW5ndGgpOwogCW1pbl9sZW4gPSBvZmZzZXRvZihzdHJ1Y3QgYXR0cl9yZWNvcmQsIGRhdGEubm9uX3Jlc2lkZW50LmluaXRpYWxpemVkX3NpemUpICYjNDM7CiAJCSAgc2l6ZW9mKGEtJmd0O2RhdGEubm9uX3Jlc2lkZW50LmluaXRpYWxpemVkX3NpemUpOwomIzQzOwomIzQzOwkvKiBTcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBoYXZlIHRoZSBleHRyYSBjb21wcmVzc2VkX3NpemUgZmllbGQgKi8KJiM0MzsJaWYgKGEtJmd0O2ZsYWdzICZhbXA7IChBVFRSX0lTX1NQQVJTRSB8IEFUVFJfQ09NUFJFU1NJT05fTUFTSykpCiYjNDM7CQltaW5fbGVuICYjNDM7PSBzaXplb2YoYS0mZ3Q7ZGF0YS5ub25fcmVzaWRlbnQuY29tcHJlc3NlZF9zaXplKTsKJiM0MzsKIAlpZiAoYXR0cl9sZW4gJmx0OyBtaW5fbGVuKQogCQlyZXR1cm4gZmFsc2U7CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMDE6MDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTg5OQoJCQkJCQkJb3V0cHV0OiAyOAoJCQkJCQkJdGhvdWdodHM6IDE0MAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIE5URlMgQXR0cmlidXRlIFZhbGlkYXRpb24gUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggdGhhdCB0d2Vha3MgYGZzL250ZnMvYXR0cmliLmNgLiBTcGVjaWZpY2FsbHksIGl0JiMzOTtzIG1lc3Npbmcgd2l0aCB0aGUgYG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWRgIGZ1bmN0aW9uLiBUaGUga2V5IGNoYW5nZSBzZWVtcyB0byBiZSBhIG5ldyBjaGVjayB0aGF0IGJ1bXBzIHVwIGBtaW5fbGVuYCBieSBgc2l6ZW9mKGEtJmd0O2RhdGEubm9uX3Jlc2lkZW50LmNvbXByZXNzZWRfc2l6ZSlgIGZvciBzcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcy4gSXQmIzM5O3MgYSBmYWlybHkgdGFyZ2V0ZWQgbW9kaWZpY2F0aW9uLCBsaWtlbHkgYWRkcmVzc2luZyBhIHNwZWNpZmljIGVkZ2UgY2FzZSBpbiBob3cgbm9uLXJlc2lkZW50IGF0dHJpYnV0ZXMgYXJlIHZhbGlkYXRlZC4KCk15IGltbWVkaWF0ZSBuZXh0IHN0ZXBzIGFyZSB0byBjb25maXJtIHRoZSBkZXBlbmRlbmNpZXMgYW5kIGNvbnRleHQuIEkmIzM5O2xsIG5lZWQgdG8gY2hlY2sgYm90aCBgZnMvbnRmcy9hdHRyaWIuY2AgaXRzZWxmIGFuZCBgZnMvbnRmcy9LY29uZmlnYCB0byBwaW5wb2ludCB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3VyYXRpb25zLiBCYXNlZCBvbiBteSBleHBlcmllbmNlLCBJJiMzOTttIGJldHRpbmcgdGhhdCBgTlRGU19GU2Agd2lsbCBiZSB0aGUgcHJpbWFyeSBjb25maWcgaW52b2x2ZWQuCgpKdXN0IHRvIGJlIGFic29sdXRlbHkgY2VydGFpbiBJJiMzOTttIG9uIHRoZSByaWdodCB0cmFjaywgSSB3aWxsIGFsc28gbGV2ZXJhZ2UgYGdyZXBwZXJgIHRvIHF1aWNrbHkgbG9jYXRlIHRoZSBgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZGAgZnVuY3Rpb24gaW4gdGhlIHNvdXJjZSB0cmVlIHRvIGdldCBteSBiZWFyaW5ncy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAwMTowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL250ZnMvYXR0cmliLmM9NjcwPXN0YXRpYyBib29sIG50ZnNfcmVzaWRlbnRfYXR0cl92YWx1ZV9nZXQoY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphLFxuLS1cbmZzL250ZnMvYXR0cmliLmMtNjkwLVxuZnMvbnRmcy9hdHRyaWIuYzo2OTE6c3RhdGljIGJvb2wgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZChjb25zdCBzdHJ1Y3QgYXR0cl9yZWNvcmQgKmEpXG5mcy9udGZzL2F0dHJpYi5jLTY5Mi17XG4tLVxuZnMvbnRmcy9hdHRyaWIuYz03MTI9c3RhdGljIGJvb2wgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkKHN0cnVjdCBudGZzX3ZvbHVtZSAqdm9sLFxuLS1cbmZzL250ZnMvYXR0cmliLmMtNzIxLVx0XHRcdGdvdG8gY29ycnVwdDtcbmZzL250ZnMvYXR0cmliLmM6NzIyOlx0XHRpZiAoIW50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQoYSkpXG5mcy9udGZzL2F0dHJpYi5jLTcyMy1cdFx0XHRnb3RvIGNvcnJ1cHQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMDE6MDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjUzNAoJCQkJCQkJb3V0cHV0OiAyNAoJCQkJCQkJdGhvdWdodHM6IDU0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd246CgoqKkFuYWx5emluZyBOVEZTIEF0dHJpYnV0ZSBWYWxpZGF0aW9uKioKCkFscmlnaHQsIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGBudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkYCBmdW5jdGlvbiwgYW5kIGl0JiMzOTtzIGNsZWFyIGl0JiMzOTtzIGJlaW5nIGNhbGxlZCBieSBgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkYC4gTWFrZXMgc2Vuc2UuIE5vdywgdGhlIG5leHQgbG9naWNhbCBzdGVwLCBiZWZvcmUgSSBkaWcgaW50byB0aGUgc3BlY2lmaWNzIG9mICp0aGF0KiBmdW5jdGlvbiwgaXMgdG8gdW5kZXJzdGFuZCBpdHMgY29udGV4dC4gV2hlcmUgZXhhY3RseSBpcyBgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkYCBiZWluZyBjYWxsZWQgd2l0aGluIHRoZSBicm9hZGVyIHN5c3RlbT8gSSBuZWVkIHRvIHRyYWNlIGl0cyBjYWxsIHNpdGVzLiBUaGF0IHdpbGwgZ2l2ZSBtZSBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBwcmVjb25kaXRpb25zIGFuZCB0aGUgb3ZlcmFsbCBpbnRlbnQgb2YgdGhlIHZhbGlkYXRpb24gbG9naWMuIFVuZGVyc3RhbmRpbmcgaXRzIGlucHV0cyBpcyBrZXkgdG8gdW5kZXJzdGFuZGluZyBpdHMgb3V0cHV0cyEKCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAwMTowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWQmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZnMvbnRmcy9hdHRyaWIuYz02OTE9c3RhdGljIGJvb2wgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZChjb25zdCBzdHJ1Y3QgYXR0cl9yZWNvcmQgKmEpXG4tLVxuZnMvbnRmcy9hdHRyaWIuYy03MTEtXG5mcy9udGZzL2F0dHJpYi5jOjcxMjpzdGF0aWMgYm9vbCBudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWQoc3RydWN0IG50ZnNfdm9sdW1lICp2b2wsXG5mcy9udGZzL2F0dHJpYi5jLTcxMy1cdFx0XHRcdCAgICAgY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphLFxuLS1cbmZzL250ZnMvYXR0cmliLmM9ODE0PXN0YXRpYyBpbnQgbnRmc19hdHRyX2ZpbmQoY29uc3QgX19sZTMyIHR5cGUsIGNvbnN0IF9fbGUxNiAqbmFtZSxcbi0tXG5mcy9udGZzL2F0dHJpYi5jLTg2Ny1cdFx0aWYgKHR5cGUgPT0gQVRfVU5VU0VEKSB7XG5mcy9udGZzL2F0dHJpYi5jOjg2ODpcdFx0XHRpZiAoIW50ZnNfYXR0cl92YWx1ZV9pc192YWxpZCh2b2wsIGEsIGN0eC1cdTAwM2VudGZzX2luby1cdTAwM2VtZnRfbm8pKVxuZnMvbnRmcy9hdHRyaWIuYy04NjktXHRcdFx0XHRicmVhaztcbi0tXG5mcy9udGZzL2F0dHJpYi5jLTkxMS1cbmZzL250ZnMvYXR0cmliLmM6OTEyOlx0XHRpZiAoIW50ZnNfYXR0cl92YWx1ZV9pc192YWxpZCh2b2wsIGEsIGN0eC1cdTAwM2VudGZzX2luby1cdTAwM2VtZnRfbm8pKVxuZnMvbnRmcy9hdHRyaWIuYy05MTMtXHRcdFx0YnJlYWs7XG4tLVxuZnMvbnRmcy9hdHRyaWIuYz0xMTIzPXN0YXRpYyBpbnQgbnRmc19leHRlcm5hbF9hdHRyX2ZpbmQoY29uc3QgX19sZTMyIHR5cGUsXG4tLVxuZnMvbnRmcy9hdHRyaWIuYy0xNDM0LVxuZnMvbnRmcy9hdHRyaWIuYzoxNDM1Olx0XHRpZiAoIW50ZnNfYXR0cl92YWx1ZV9pc192YWxpZCh2b2wsIGEsIGN0eC1cdTAwM2VudGZzX2luby1cdTAwM2VtZnRfbm8pKVxuZnMvbnRmcy9hdHRyaWIuYy0xNDM2LVx0XHRcdGJyZWFrO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDAxOjA4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMyMTkKCQkJCQkJCW91dHB1dDogMTgKCQkJCQkJCXRob3VnaHRzOiAzNgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgYW4gZXhwZXJ0JiMzOTtzIGlubmVyIG1vbm9sb2d1ZToKCioqSW52ZXN0aWdhdGluZyBOVEZTIEF0dHJpYnV0ZSBMb29rdXAqKgoKUmlnaHQsIHNvIEkgbmVlZCB0byBkaWcgaW50byBob3cgTlRGUyBoYW5kbGVzIGF0dHJpYnV0ZSBsb29rdXBzLiBGcm9tIHdoYXQgSSByZWNhbGwsIGBudGZzX2F0dHJfZmluZGAgYW5kIGBudGZzX2V4dGVybmFsX2F0dHJfZmluZGAgYXJlIHRoZSBjcml0aWNhbCBlbnRyeSBwb2ludHMgaGVyZSDigJMgdGhleSYjMzk7cmUgdGhlIHByaW1hcnkgY2FsbGVycy4gVG8gZ2V0IGEgaGFuZGxlIG9uIHRoZSBiaWdnZXIgcGljdHVyZSwgaXQmIzM5O3MgYWx3YXlzIGEgZ29vZCBmaXJzdCBzdGVwIHRvIGNoZWNrIHRoZSBLY29uZmlnLiBJIHdhbnQgdG8gcXVpY2tseSB2ZXJpZnkgdGhlIGJ1aWxkIGNvbmZpZ3VyYXRpb24gcmVsYXRlZCB0byBOVEZTLiBVbmRlcnN0YW5kaW5nIGhvdyB0aGUgbW9kdWxlIGlzIGNvbXBpbGVkIGFuZCBpdHMgZGVwZW5kZW5jaWVzIHdpbGwgcHJvdmlkZSBpbnZhbHVhYmxlIGNvbnRleHQgZm9yIHRoZSBjb2RlIEkmIzM5O2xsIG5lZWQgdG8gZXhhbWluZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAwMTowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgTlRGU19GUyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtmcy9udGZzL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbmZzL250ZnMvS2NvbmZpZzoyOmNvbmZpZyBOVEZTX0ZTXG5mcy9udGZzL0tjb25maWctMy1cdHRyaXN0YXRlIFwmIzM0O05URlMgZmlsZSBzeXN0ZW0gc3VwcG9ydFwmIzM0O1xuLS1cbmZzL250ZnMvS2NvbmZpZz0xMz1jb25maWcgTlRGU19ERUJVR1xuLS1cbmZzL250ZnMvS2NvbmZpZy0zNC1cbmZzL250ZnMvS2NvbmZpZzozNTpjb25maWcgTlRGU19GU19QT1NJWF9BQ0xcbmZzL250ZnMvS2NvbmZpZy0zNi1cdGJvb2wgXCYjMzQ7TlRGUyBQT1NJWCBBY2Nlc3MgQ29udHJvbCBMaXN0c1wmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDAxOjA5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM1NjIKCQkJCQkJCW91dHB1dDogOTUKCQkJCQkJCXRob3VnaHRzOiA3MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipOVEZTIEF0dHJpYnV0ZSBWYWxpZGF0aW9uIFBhdGNoIEFuYWx5c2lzKioKCk9rYXksIHNvIHRoZSBjb25maWd1cmF0aW9uIGluIHF1ZXN0aW9uIGlzIGRlZmluaXRlbHkgYE5URlNfRlNgLiBUaGUgcGF0Y2ggaXRzZWxmIGxvb2tzIHNvbGlkOyBpdCYjMzk7cyBmaXhpbmcgYW4gaXNzdWUgaW4gaG93IHdlIHZhbGlkYXRlIE5URlMgYXR0cmlidXRlcy4gTXkgYW5hbHlzaXMgaW5kaWNhdGVzIHRoYXQgaXQmIzM5O3MgZnVuY3Rpb25pbmcgYXMgaW50ZW5kZWQsIGFuZCBhZGRyZXNzZXMgdGhlIHJlcG9ydGVkIGJ1ZyBlZmZlY3RpdmVseS4KCkNvbnNpZGVyaW5nIHRoaXMsIEkgbmVlZCB0byBjb25maWd1cmUgdGhlIGZ1enppbmcgcHJvY2VzcyBhY2NvcmRpbmdseS4gSSB3aWxsIHJldHVybiBgV29ydGhGdXp6aW5nPXRydWVgIGFzIHRoaXMgcGF0Y2ggZGlyZWN0bHkgaW1wYWN0cyBjcml0aWNhbCB2YWxpZGF0aW9uLiBBZGRpdGlvbmFsbHksIHRoZSBmdXp6ZXIgbmVlZHMgdG8gYmUgZXhwbGljaXRseSBlbmFibGVkIGZvciB0aGUgYE5URlNfRlNgIGNvbmZpZ3VyYXRpb24uIEZpbmFsbHksIHRvIGVuc3VyZSB0aGUgcGF0Y2gmIzM5O3MgZWZmZWN0aXZlbmVzcyBpcyByaWdvcm91c2x5IHRlc3RlZCwgSSYjMzk7bSBnb2luZyB0byBmb2N1cyB0aGUgZnV6emluZyBvbiB0aGUgY29yZSBhdHRyaWJ1dGUgdmFsaWRhdGlvbiBmdW5jdGlvbnM6IGBudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkYCBhbmQgYG50ZnNfYXR0cl92YWx1ZV9pc192YWxpZGAuIFRoZXNlIGFyZSB0aGUga2V5IGZ1bmN0aW9ucyB0byB0aG9yb3VnaGx5IGV2YWx1YXRlIGZvciBhbnkgcmVncmVzc2lvbiBvciB1bmV4cGVjdGVkIGJlaGF2aW9yLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAwMTowOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TlRGU19GUyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O250ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQmIzM0OywKICAgICYjMzQ7bnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSB2YWxpZGF0aW9uIGNoZWNrIGZvciBzcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBpbiBOVEZTLiBJdCBtb2RpZmllcyBjb3JlIE5URlMgbG9naWMgZm9yIHBhcnNpbmcgYXR0cmlidXRlcywgd2hpY2ggaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtOVEZTX0ZTJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZCYjMzQ7LAogICAgJiMzNDtudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIHZhbGlkYXRpb24gY2hlY2sgZm9yIHNwYXJzZSBhbmQgY29tcHJlc3NlZCBhdHRyaWJ1dGVzIGluIE5URlMuIEl0IG1vZGlmaWVzIGNvcmUgTlRGUyBsb2dpYyBmb3IgcGFyc2luZyBhdHRyaWJ1dGVzLCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xNVQwMTowODo0MS42MjMxNTM2NDFaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNDU1MTQ1NDQwNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJOVEZTX0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZFwiLFxuICAgIFwibnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIHZhbGlkYXRpb24gY2hlY2sgZm9yIHNwYXJzZSBhbmQgY29tcHJlc3NlZCBhdHRyaWJ1dGVzIGluIE5URlMuIEl0IG1vZGlmaWVzIGNvcmUgTlRGUyBsb2dpYyBmb3IgcGFyc2luZyBhdHRyaWJ1dGVzLCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDAxOjA4OjQxLjYyMzE2MDQ5MVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjMxMTI3NzgyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMDJiOTg4ZWY1NjIyMjIxZDcyNjE4NmQwMzA4NWVjYzg0ZmJkODE5Y1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEp1bCAxNSAwMTowODo0MCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9mcy9udGZzL2F0dHJpYi5jIGIvZnMvbnRmcy9hdHRyaWIuY1xcbmluZGV4IDIzOWI3YmNiYWVkZjRjLi4zZTIxNjQwYTY1MzQ4OSAxMDA2NDRcXG4tLS0gYS9mcy9udGZzL2F0dHJpYi5jXFxuKysrIGIvZnMvbnRmcy9hdHRyaWIuY1xcbkBAIC02OTcsNiArNjk3LDExIEBAIHN0YXRpYyBib29sIG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQoY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphKVxcbiBcXHRhdHRyX2xlbiA9IGxlMzJfdG9fY3B1KGEtXFx1MDAzZWxlbmd0aCk7XFxuIFxcdG1pbl9sZW4gPSBvZmZzZXRvZihzdHJ1Y3QgYXR0cl9yZWNvcmQsIGRhdGEubm9uX3Jlc2lkZW50LmluaXRpYWxpemVkX3NpemUpICtcXG4gXFx0XFx0ICBzaXplb2YoYS1cXHUwMDNlZGF0YS5ub25fcmVzaWRlbnQuaW5pdGlhbGl6ZWRfc2l6ZSk7XFxuK1xcbitcXHQvKiBTcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBoYXZlIHRoZSBleHRyYSBjb21wcmVzc2VkX3NpemUgZmllbGQgKi9cXG4rXFx0aWYgKGEtXFx1MDAzZWZsYWdzIFxcdTAwMjYgKEFUVFJfSVNfU1BBUlNFIHwgQVRUUl9DT01QUkVTU0lPTl9NQVNLKSlcXG4rXFx0XFx0bWluX2xlbiArPSBzaXplb2YoYS1cXHUwMDNlZGF0YS5ub25fcmVzaWRlbnQuY29tcHJlc3NlZF9zaXplKTtcXG4rXFxuIFxcdGlmIChhdHRyX2xlbiBcXHUwMDNjIG1pbl9sZW4pXFxuIFxcdFxcdHJldHVybiBmYWxzZTtcXG4gXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDAxOjA4OjQyLjI1NTcxNTI5M1oiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjM5MTg4ODAwODQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTlRGU19GU1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWRcIixcbiAgICBcIm50ZnNfYXR0cl92YWx1ZV9pc192YWxpZFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSB2YWxpZGF0aW9uIGNoZWNrIGZvciBzcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBpbiBOVEZTLiBJdCBtb2RpZmllcyBjb3JlIE5URlMgbG9naWMgZm9yIHBhcnNpbmcgYXR0cmlidXRlcywgd2hpY2ggaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDAyYjk4OGVmNTYyMjIyMWQ3MjYxODZkMDMwODVlY2M4NGZiZDgxOWNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1bCAxNSAwMTowODo0MCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL250ZnMvYXR0cmliLmMgYi9mcy9udGZzL2F0dHJpYi5jXG5pbmRleCAyMzliN2JjYmFlZGY0Yy4uM2UyMTY0MGE2NTM0ODkgMTAwNjQ0XG4tLS0gYS9mcy9udGZzL2F0dHJpYi5jXG4rKysgYi9mcy9udGZzL2F0dHJpYi5jXG5AQCAtNjk3LDYgKzY5NywxMSBAQCBzdGF0aWMgYm9vbCBudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkKGNvbnN0IHN0cnVjdCBhdHRyX3JlY29yZCAqYSlcbiBcdGF0dHJfbGVuID0gbGUzMl90b19jcHUoYS1cdTAwM2VsZW5ndGgpO1xuIFx0bWluX2xlbiA9IG9mZnNldG9mKHN0cnVjdCBhdHRyX3JlY29yZCwgZGF0YS5ub25fcmVzaWRlbnQuaW5pdGlhbGl6ZWRfc2l6ZSkgK1xuIFx0XHQgIHNpemVvZihhLVx1MDAzZWRhdGEubm9uX3Jlc2lkZW50LmluaXRpYWxpemVkX3NpemUpO1xuK1xuK1x0LyogU3BhcnNlIGFuZCBjb21wcmVzc2VkIGF0dHJpYnV0ZXMgaGF2ZSB0aGUgZXh0cmEgY29tcHJlc3NlZF9zaXplIGZpZWxkICovXG4rXHRpZiAoYS1cdTAwM2VmbGFncyBcdTAwMjYgKEFUVFJfSVNfU1BBUlNFIHwgQVRUUl9DT01QUkVTU0lPTl9NQVNLKSlcbitcdFx0bWluX2xlbiArPSBzaXplb2YoYS1cdTAwM2VkYXRhLm5vbl9yZXNpZGVudC5jb21wcmVzc2VkX3NpemUpO1xuK1xuIFx0aWYgKGF0dHJfbGVuIFx1MDAzYyBtaW5fbGVuKVxuIFx0XHRyZXR1cm4gZmFsc2U7XG4gXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQwMTowODo0Mi4yNTU3MTczNzNaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozODMyNjA4NDYwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgTlRGUyBBdHRyaWJ1dGUgVmFsaWRhdGlvbiBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggdGhhdCB0d2Vha3MgYGZzL250ZnMvYXR0cmliLmNgLiBTcGVjaWZpY2FsbHksIGl0J3MgbWVzc2luZyB3aXRoIHRoZSBgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZGAgZnVuY3Rpb24uIFRoZSBrZXkgY2hhbmdlIHNlZW1zIHRvIGJlIGEgbmV3IGNoZWNrIHRoYXQgYnVtcHMgdXAgYG1pbl9sZW5gIGJ5IGBzaXplb2YoYS1cdTAwM2VkYXRhLm5vbl9yZXNpZGVudC5jb21wcmVzc2VkX3NpemUpYCBmb3Igc3BhcnNlIGFuZCBjb21wcmVzc2VkIGF0dHJpYnV0ZXMuIEl0J3MgYSBmYWlybHkgdGFyZ2V0ZWQgbW9kaWZpY2F0aW9uLCBsaWtlbHkgYWRkcmVzc2luZyBhIHNwZWNpZmljIGVkZ2UgY2FzZSBpbiBob3cgbm9uLXJlc2lkZW50IGF0dHJpYnV0ZXMgYXJlIHZhbGlkYXRlZC5cblxuTXkgaW1tZWRpYXRlIG5leHQgc3RlcHMgYXJlIHRvIGNvbmZpcm0gdGhlIGRlcGVuZGVuY2llcyBhbmQgY29udGV4dC4gSSdsbCBuZWVkIHRvIGNoZWNrIGJvdGggYGZzL250ZnMvYXR0cmliLmNgIGl0c2VsZiBhbmQgYGZzL250ZnMvS2NvbmZpZ2AgdG8gcGlucG9pbnQgdGhlIG5lY2Vzc2FyeSBjb25maWd1cmF0aW9ucy4gQmFzZWQgb24gbXkgZXhwZXJpZW5jZSwgSSdtIGJldHRpbmcgdGhhdCBgTlRGU19GU2Agd2lsbCBiZSB0aGUgcHJpbWFyeSBjb25maWcgaW52b2x2ZWQuXG5cbkp1c3QgdG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluIEknbSBvbiB0aGUgcmlnaHQgdHJhY2ssIEkgd2lsbCBhbHNvIGxldmVyYWdlIGBncmVwcGVyYCB0byBxdWlja2x5IGxvY2F0ZSB0aGUgYG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWRgIGZ1bmN0aW9uIGluIHRoZSBzb3VyY2UgdHJlZSB0byBnZXQgbXkgYmVhcmluZ3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE4OTksIk91dHB1dFRva2VucyI6MjgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNDAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQwMTowODo0Ni4wODgzMjkxNTRaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzgwNjIwNzc4MywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL250ZnMvYXR0cmliLmM9NjcwPXN0YXRpYyBib29sIG50ZnNfcmVzaWRlbnRfYXR0cl92YWx1ZV9nZXQoY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphLFxcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYy02OTAtXFxuZnMvbnRmcy9hdHRyaWIuYzo2OTE6c3RhdGljIGJvb2wgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZChjb25zdCBzdHJ1Y3QgYXR0cl9yZWNvcmQgKmEpXFxuZnMvbnRmcy9hdHRyaWIuYy02OTIte1xcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYz03MTI9c3RhdGljIGJvb2wgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkKHN0cnVjdCBudGZzX3ZvbHVtZSAqdm9sLFxcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYy03MjEtXFx0XFx0XFx0Z290byBjb3JydXB0O1xcbmZzL250ZnMvYXR0cmliLmM6NzIyOlxcdFxcdGlmICghbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZChhKSlcXG5mcy9udGZzL2F0dHJpYi5jLTcyMy1cXHRcXHRcXHRnb3RvIGNvcnJ1cHQ7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDAxOjA4OjQ5Ljg5NDU0Njc3NloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMzNTIyODgwMTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duOlxuXG4qKkFuYWx5emluZyBOVEZTIEF0dHJpYnV0ZSBWYWxpZGF0aW9uKipcblxuQWxyaWdodCwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZGAgZnVuY3Rpb24sIGFuZCBpdCdzIGNsZWFyIGl0J3MgYmVpbmcgY2FsbGVkIGJ5IGBudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWRgLiBNYWtlcyBzZW5zZS4gTm93LCB0aGUgbmV4dCBsb2dpY2FsIHN0ZXAsIGJlZm9yZSBJIGRpZyBpbnRvIHRoZSBzcGVjaWZpY3Mgb2YgKnRoYXQqIGZ1bmN0aW9uLCBpcyB0byB1bmRlcnN0YW5kIGl0cyBjb250ZXh0LiBXaGVyZSBleGFjdGx5IGlzIGBudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWRgIGJlaW5nIGNhbGxlZCB3aXRoaW4gdGhlIGJyb2FkZXIgc3lzdGVtPyBJIG5lZWQgdG8gdHJhY2UgaXRzIGNhbGwgc2l0ZXMuIFRoYXQgd2lsbCBnaXZlIG1lIGEgYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHByZWNvbmRpdGlvbnMgYW5kIHRoZSBvdmVyYWxsIGludGVudCBvZiB0aGUgdmFsaWRhdGlvbiBsb2dpYy4gVW5kZXJzdGFuZGluZyBpdHMgaW5wdXRzIGlzIGtleSB0byB1bmRlcnN0YW5kaW5nIGl0cyBvdXRwdXRzIVxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTM0LCJPdXRwdXRUb2tlbnMiOjI0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMDE6MDg6NTMuMjQ2ODM3NDAzWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMwODUxNDQ3NDcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL250ZnMvYXR0cmliLmM9NjkxPXN0YXRpYyBib29sIG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQoY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphKVxcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYy03MTEtXFxuZnMvbnRmcy9hdHRyaWIuYzo3MTI6c3RhdGljIGJvb2wgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkKHN0cnVjdCBudGZzX3ZvbHVtZSAqdm9sLFxcbmZzL250ZnMvYXR0cmliLmMtNzEzLVxcdFxcdFxcdFxcdCAgICAgY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphLFxcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYz04MTQ9c3RhdGljIGludCBudGZzX2F0dHJfZmluZChjb25zdCBfX2xlMzIgdHlwZSwgY29uc3QgX19sZTE2ICpuYW1lLFxcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYy04NjctXFx0XFx0aWYgKHR5cGUgPT0gQVRfVU5VU0VEKSB7XFxuZnMvbnRmcy9hdHRyaWIuYzo4Njg6XFx0XFx0XFx0aWYgKCFudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWQodm9sLCBhLCBjdHgtXFx1MDAzZW50ZnNfaW5vLVxcdTAwM2VtZnRfbm8pKVxcbmZzL250ZnMvYXR0cmliLmMtODY5LVxcdFxcdFxcdFxcdGJyZWFrO1xcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYy05MTEtXFxuZnMvbnRmcy9hdHRyaWIuYzo5MTI6XFx0XFx0aWYgKCFudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWQodm9sLCBhLCBjdHgtXFx1MDAzZW50ZnNfaW5vLVxcdTAwM2VtZnRfbm8pKVxcbmZzL250ZnMvYXR0cmliLmMtOTEzLVxcdFxcdFxcdGJyZWFrO1xcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYz0xMTIzPXN0YXRpYyBpbnQgbnRmc19leHRlcm5hbF9hdHRyX2ZpbmQoY29uc3QgX19sZTMyIHR5cGUsXFxuLS1cXG5mcy9udGZzL2F0dHJpYi5jLTE0MzQtXFxuZnMvbnRmcy9hdHRyaWIuYzoxNDM1OlxcdFxcdGlmICghbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkKHZvbCwgYSwgY3R4LVxcdTAwM2VudGZzX2luby1cXHUwMDNlbWZ0X25vKSlcXG5mcy9udGZzL2F0dHJpYi5jLTE0MzYtXFx0XFx0XFx0YnJlYWs7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDAxOjA4OjU2LjMzMTk5NjU3WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mjk3MzEyMDkwNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBhbiBleHBlcnQncyBpbm5lciBtb25vbG9ndWU6XG5cbioqSW52ZXN0aWdhdGluZyBOVEZTIEF0dHJpYnV0ZSBMb29rdXAqKlxuXG5SaWdodCwgc28gSSBuZWVkIHRvIGRpZyBpbnRvIGhvdyBOVEZTIGhhbmRsZXMgYXR0cmlidXRlIGxvb2t1cHMuIEZyb20gd2hhdCBJIHJlY2FsbCwgYG50ZnNfYXR0cl9maW5kYCBhbmQgYG50ZnNfZXh0ZXJuYWxfYXR0cl9maW5kYCBhcmUgdGhlIGNyaXRpY2FsIGVudHJ5IHBvaW50cyBoZXJlIOKAkyB0aGV5J3JlIHRoZSBwcmltYXJ5IGNhbGxlcnMuIFRvIGdldCBhIGhhbmRsZSBvbiB0aGUgYmlnZ2VyIHBpY3R1cmUsIGl0J3MgYWx3YXlzIGEgZ29vZCBmaXJzdCBzdGVwIHRvIGNoZWNrIHRoZSBLY29uZmlnLiBJIHdhbnQgdG8gcXVpY2tseSB2ZXJpZnkgdGhlIGJ1aWxkIGNvbmZpZ3VyYXRpb24gcmVsYXRlZCB0byBOVEZTLiBVbmRlcnN0YW5kaW5nIGhvdyB0aGUgbW9kdWxlIGlzIGNvbXBpbGVkIGFuZCBpdHMgZGVwZW5kZW5jaWVzIHdpbGwgcHJvdmlkZSBpbnZhbHVhYmxlIGNvbnRleHQgZm9yIHRoZSBjb2RlIEknbGwgbmVlZCB0byBleGFtaW5lLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMjE5LCJPdXRwdXRUb2tlbnMiOjE4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMDE6MDg6NTkuMzA1MTIwMjE2WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI3MTIwMTUyODYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIE5URlNfRlNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMvbnRmcy9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuZnMvbnRmcy9LY29uZmlnOjI6Y29uZmlnIE5URlNfRlNcXG5mcy9udGZzL0tjb25maWctMy1cXHR0cmlzdGF0ZSBcXFwiTlRGUyBmaWxlIHN5c3RlbSBzdXBwb3J0XFxcIlxcbi0tXFxuZnMvbnRmcy9LY29uZmlnPTEzPWNvbmZpZyBOVEZTX0RFQlVHXFxuLS1cXG5mcy9udGZzL0tjb25maWctMzQtXFxuZnMvbnRmcy9LY29uZmlnOjM1OmNvbmZpZyBOVEZTX0ZTX1BPU0lYX0FDTFxcbmZzL250ZnMvS2NvbmZpZy0zNi1cXHRib29sIFxcXCJOVEZTIFBPU0lYIEFjY2VzcyBDb250cm9sIExpc3RzXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQwMTowOTowMi4wMTcxNDI1NDFaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozOTYxMTY2NjMxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk5URlMgQXR0cmlidXRlIFZhbGlkYXRpb24gUGF0Y2ggQW5hbHlzaXMqKlxuXG5Pa2F5LCBzbyB0aGUgY29uZmlndXJhdGlvbiBpbiBxdWVzdGlvbiBpcyBkZWZpbml0ZWx5IGBOVEZTX0ZTYC4gVGhlIHBhdGNoIGl0c2VsZiBsb29rcyBzb2xpZDsgaXQncyBmaXhpbmcgYW4gaXNzdWUgaW4gaG93IHdlIHZhbGlkYXRlIE5URlMgYXR0cmlidXRlcy4gTXkgYW5hbHlzaXMgaW5kaWNhdGVzIHRoYXQgaXQncyBmdW5jdGlvbmluZyBhcyBpbnRlbmRlZCwgYW5kIGFkZHJlc3NlcyB0aGUgcmVwb3J0ZWQgYnVnIGVmZmVjdGl2ZWx5LlxuXG5Db25zaWRlcmluZyB0aGlzLCBJIG5lZWQgdG8gY29uZmlndXJlIHRoZSBmdXp6aW5nIHByb2Nlc3MgYWNjb3JkaW5nbHkuIEkgd2lsbCByZXR1cm4gYFdvcnRoRnV6emluZz10cnVlYCBhcyB0aGlzIHBhdGNoIGRpcmVjdGx5IGltcGFjdHMgY3JpdGljYWwgdmFsaWRhdGlvbi4gQWRkaXRpb25hbGx5LCB0aGUgZnV6emVyIG5lZWRzIHRvIGJlIGV4cGxpY2l0bHkgZW5hYmxlZCBmb3IgdGhlIGBOVEZTX0ZTYCBjb25maWd1cmF0aW9uLiBGaW5hbGx5LCB0byBlbnN1cmUgdGhlIHBhdGNoJ3MgZWZmZWN0aXZlbmVzcyBpcyByaWdvcm91c2x5IHRlc3RlZCwgSSdtIGdvaW5nIHRvIGZvY3VzIHRoZSBmdXp6aW5nIG9uIHRoZSBjb3JlIGF0dHJpYnV0ZSB2YWxpZGF0aW9uIGZ1bmN0aW9uczogYG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWRgIGFuZCBgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkYC4gVGhlc2UgYXJlIHRoZSBrZXkgZnVuY3Rpb25zIHRvIHRob3JvdWdobHkgZXZhbHVhdGUgZm9yIGFueSByZWdyZXNzaW9uIG9yIHVuZXhwZWN0ZWQgYmVoYXZpb3IuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM1NjIsIk91dHB1dFRva2VucyI6OTUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3MiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQwMTowOTowNS45NzgzMTEyODJaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxOTYyNzMyNzUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk5URlNfRlNcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkXCIsXG4gICAgXCJudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgdmFsaWRhdGlvbiBjaGVjayBmb3Igc3BhcnNlIGFuZCBjb21wcmVzc2VkIGF0dHJpYnV0ZXMgaW4gTlRGUy4gSXQgbW9kaWZpZXMgY29yZSBOVEZTIGxvZ2ljIGZvciBwYXJzaW5nIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHJlYWNoYWJsZSBhbmQgZnVuY3Rpb25hbC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJOVEZTX0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZFwiLFxuICAgIFwibnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIHZhbGlkYXRpb24gY2hlY2sgZm9yIHNwYXJzZSBhbmQgY29tcHJlc3NlZCBhdHRyaWJ1dGVzIGluIE5URlMuIEl0IG1vZGlmaWVzIGNvcmUgTlRGUyBsb2dpYyBmb3IgcGFyc2luZyBhdHRyaWJ1dGVzLCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowqt59x[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-15 00:58:08 +0000 UTC FinishedAt: 2026-07-15 01:09:08 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "3b029c035b34bbc693405ddf759f0e9b920c27f1", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NTFS_FS" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "linux-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next", "commit_hash": "3b029c035b34bbc693405ddf759f0e9b920c27f1", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NTFS_FS" ], "series_id": "bcc90037-d55a-4a3a-b545-ce1cca3525f5" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "ntfs_non_resident_attr_value_is_valid", "ntfs_attr_value_is_valid" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDAxOjA4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05URlNfRlMmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkJiMzNDssCiAgICAmIzM0O250ZnNfYXR0cl92YWx1ZV9pc192YWxpZCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgdmFsaWRhdGlvbiBjaGVjayBmb3Igc3BhcnNlIGFuZCBjb21wcmVzc2VkIGF0dHJpYnV0ZXMgaW4gTlRGUy4gSXQgbW9kaWZpZXMgY29yZSBOVEZTIGxvZ2ljIGZvciBwYXJzaW5nIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHJlYWNoYWJsZSBhbmQgZnVuY3Rpb25hbC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAwMTowODwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDAyYjk4OGVmNTYyMjIyMWQ3MjYxODZkMDMwODVlY2M4NGZiZDgxOWNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1bCAxNSAwMTowODo0MCAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9udGZzL2F0dHJpYi5jIGIvZnMvbnRmcy9hdHRyaWIuY1xuaW5kZXggMjM5YjdiY2JhZWRmNGMuLjNlMjE2NDBhNjUzNDg5IDEwMDY0NFxuLS0tIGEvZnMvbnRmcy9hdHRyaWIuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZnMvbnRmcy9hdHRyaWIuY1xuQEAgLTY5Nyw2ICYjNDM7Njk3LDExIEBAIHN0YXRpYyBib29sIG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQoY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphKVxuIFx0YXR0cl9sZW4gPSBsZTMyX3RvX2NwdShhLVx1MDAzZWxlbmd0aCk7XG4gXHRtaW5fbGVuID0gb2Zmc2V0b2Yoc3RydWN0IGF0dHJfcmVjb3JkLCBkYXRhLm5vbl9yZXNpZGVudC5pbml0aWFsaXplZF9zaXplKSAmIzQzO1xuIFx0XHQgIHNpemVvZihhLVx1MDAzZWRhdGEubm9uX3Jlc2lkZW50LmluaXRpYWxpemVkX3NpemUpO1xuJiM0MztcbiYjNDM7XHQvKiBTcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBoYXZlIHRoZSBleHRyYSBjb21wcmVzc2VkX3NpemUgZmllbGQgKi9cbiYjNDM7XHRpZiAoYS1cdTAwM2VmbGFncyBcdTAwMjYgKEFUVFJfSVNfU1BBUlNFIHwgQVRUUl9DT01QUkVTU0lPTl9NQVNLKSlcbiYjNDM7XHRcdG1pbl9sZW4gJiM0Mzs9IHNpemVvZihhLVx1MDAzZWRhdGEubm9uX3Jlc2lkZW50LmNvbXByZXNzZWRfc2l6ZSk7XG4mIzQzO1xuIFx0aWYgKGF0dHJfbGVuIFx1MDAzYyBtaW5fbGVuKVxuIFx0XHRyZXR1cm4gZmFsc2U7XG4gXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMDE6MDg8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TlRGU19GUyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O250ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQmIzM0OywKICAgICYjMzQ7bnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSB2YWxpZGF0aW9uIGNoZWNrIGZvciBzcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBpbiBOVEZTLiBJdCBtb2RpZmllcyBjb3JlIE5URlMgbG9naWMgZm9yIHBhcnNpbmcgYXR0cmlidXRlcywgd2hpY2ggaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwMmI5ODhlZjU2MjIyMjFkNzI2MTg2ZDAzMDg1ZWNjODRmYmQ4MTljCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBKdWwgMTUgMDE6MDg6NDAgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9mcy9udGZzL2F0dHJpYi5jIGIvZnMvbnRmcy9hdHRyaWIuYwppbmRleCAyMzliN2JjYmFlZGY0Yy4uM2UyMTY0MGE2NTM0ODkgMTAwNjQ0Ci0tLSBhL2ZzL250ZnMvYXR0cmliLmMKJiM0MzsmIzQzOyYjNDM7IGIvZnMvbnRmcy9hdHRyaWIuYwpAQCAtNjk3LDYgJiM0Mzs2OTcsMTEgQEAgc3RhdGljIGJvb2wgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZChjb25zdCBzdHJ1Y3QgYXR0cl9yZWNvcmQgKmEpCiAJYXR0cl9sZW4gPSBsZTMyX3RvX2NwdShhLSZndDtsZW5ndGgpOwogCW1pbl9sZW4gPSBvZmZzZXRvZihzdHJ1Y3QgYXR0cl9yZWNvcmQsIGRhdGEubm9uX3Jlc2lkZW50LmluaXRpYWxpemVkX3NpemUpICYjNDM7CiAJCSAgc2l6ZW9mKGEtJmd0O2RhdGEubm9uX3Jlc2lkZW50LmluaXRpYWxpemVkX3NpemUpOwomIzQzOwomIzQzOwkvKiBTcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBoYXZlIHRoZSBleHRyYSBjb21wcmVzc2VkX3NpemUgZmllbGQgKi8KJiM0MzsJaWYgKGEtJmd0O2ZsYWdzICZhbXA7IChBVFRSX0lTX1NQQVJTRSB8IEFUVFJfQ09NUFJFU1NJT05fTUFTSykpCiYjNDM7CQltaW5fbGVuICYjNDM7PSBzaXplb2YoYS0mZ3Q7ZGF0YS5ub25fcmVzaWRlbnQuY29tcHJlc3NlZF9zaXplKTsKJiM0MzsKIAlpZiAoYXR0cl9sZW4gJmx0OyBtaW5fbGVuKQogCQlyZXR1cm4gZmFsc2U7CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMDE6MDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTg5OQoJCQkJCQkJb3V0cHV0OiAyOAoJCQkJCQkJdGhvdWdodHM6IDE0MAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIE5URlMgQXR0cmlidXRlIFZhbGlkYXRpb24gUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggdGhhdCB0d2Vha3MgYGZzL250ZnMvYXR0cmliLmNgLiBTcGVjaWZpY2FsbHksIGl0JiMzOTtzIG1lc3Npbmcgd2l0aCB0aGUgYG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWRgIGZ1bmN0aW9uLiBUaGUga2V5IGNoYW5nZSBzZWVtcyB0byBiZSBhIG5ldyBjaGVjayB0aGF0IGJ1bXBzIHVwIGBtaW5fbGVuYCBieSBgc2l6ZW9mKGEtJmd0O2RhdGEubm9uX3Jlc2lkZW50LmNvbXByZXNzZWRfc2l6ZSlgIGZvciBzcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcy4gSXQmIzM5O3MgYSBmYWlybHkgdGFyZ2V0ZWQgbW9kaWZpY2F0aW9uLCBsaWtlbHkgYWRkcmVzc2luZyBhIHNwZWNpZmljIGVkZ2UgY2FzZSBpbiBob3cgbm9uLXJlc2lkZW50IGF0dHJpYnV0ZXMgYXJlIHZhbGlkYXRlZC4KCk15IGltbWVkaWF0ZSBuZXh0IHN0ZXBzIGFyZSB0byBjb25maXJtIHRoZSBkZXBlbmRlbmNpZXMgYW5kIGNvbnRleHQuIEkmIzM5O2xsIG5lZWQgdG8gY2hlY2sgYm90aCBgZnMvbnRmcy9hdHRyaWIuY2AgaXRzZWxmIGFuZCBgZnMvbnRmcy9LY29uZmlnYCB0byBwaW5wb2ludCB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3VyYXRpb25zLiBCYXNlZCBvbiBteSBleHBlcmllbmNlLCBJJiMzOTttIGJldHRpbmcgdGhhdCBgTlRGU19GU2Agd2lsbCBiZSB0aGUgcHJpbWFyeSBjb25maWcgaW52b2x2ZWQuCgpKdXN0IHRvIGJlIGFic29sdXRlbHkgY2VydGFpbiBJJiMzOTttIG9uIHRoZSByaWdodCB0cmFjaywgSSB3aWxsIGFsc28gbGV2ZXJhZ2UgYGdyZXBwZXJgIHRvIHF1aWNrbHkgbG9jYXRlIHRoZSBgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZGAgZnVuY3Rpb24gaW4gdGhlIHNvdXJjZSB0cmVlIHRvIGdldCBteSBiZWFyaW5ncy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAwMTowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL250ZnMvYXR0cmliLmM9NjcwPXN0YXRpYyBib29sIG50ZnNfcmVzaWRlbnRfYXR0cl92YWx1ZV9nZXQoY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphLFxuLS1cbmZzL250ZnMvYXR0cmliLmMtNjkwLVxuZnMvbnRmcy9hdHRyaWIuYzo2OTE6c3RhdGljIGJvb2wgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZChjb25zdCBzdHJ1Y3QgYXR0cl9yZWNvcmQgKmEpXG5mcy9udGZzL2F0dHJpYi5jLTY5Mi17XG4tLVxuZnMvbnRmcy9hdHRyaWIuYz03MTI9c3RhdGljIGJvb2wgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkKHN0cnVjdCBudGZzX3ZvbHVtZSAqdm9sLFxuLS1cbmZzL250ZnMvYXR0cmliLmMtNzIxLVx0XHRcdGdvdG8gY29ycnVwdDtcbmZzL250ZnMvYXR0cmliLmM6NzIyOlx0XHRpZiAoIW50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQoYSkpXG5mcy9udGZzL2F0dHJpYi5jLTcyMy1cdFx0XHRnb3RvIGNvcnJ1cHQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTUgMDE6MDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjUzNAoJCQkJCQkJb3V0cHV0OiAyNAoJCQkJCQkJdGhvdWdodHM6IDU0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBteSBvd246CgoqKkFuYWx5emluZyBOVEZTIEF0dHJpYnV0ZSBWYWxpZGF0aW9uKioKCkFscmlnaHQsIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGBudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkYCBmdW5jdGlvbiwgYW5kIGl0JiMzOTtzIGNsZWFyIGl0JiMzOTtzIGJlaW5nIGNhbGxlZCBieSBgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkYC4gTWFrZXMgc2Vuc2UuIE5vdywgdGhlIG5leHQgbG9naWNhbCBzdGVwLCBiZWZvcmUgSSBkaWcgaW50byB0aGUgc3BlY2lmaWNzIG9mICp0aGF0KiBmdW5jdGlvbiwgaXMgdG8gdW5kZXJzdGFuZCBpdHMgY29udGV4dC4gV2hlcmUgZXhhY3RseSBpcyBgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkYCBiZWluZyBjYWxsZWQgd2l0aGluIHRoZSBicm9hZGVyIHN5c3RlbT8gSSBuZWVkIHRvIHRyYWNlIGl0cyBjYWxsIHNpdGVzLiBUaGF0IHdpbGwgZ2l2ZSBtZSBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBwcmVjb25kaXRpb25zIGFuZCB0aGUgb3ZlcmFsbCBpbnRlbnQgb2YgdGhlIHZhbGlkYXRpb24gbG9naWMuIFVuZGVyc3RhbmRpbmcgaXRzIGlucHV0cyBpcyBrZXkgdG8gdW5kZXJzdGFuZGluZyBpdHMgb3V0cHV0cyEKCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAwMTowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWQmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZnMvbnRmcy9hdHRyaWIuYz02OTE9c3RhdGljIGJvb2wgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZChjb25zdCBzdHJ1Y3QgYXR0cl9yZWNvcmQgKmEpXG4tLVxuZnMvbnRmcy9hdHRyaWIuYy03MTEtXG5mcy9udGZzL2F0dHJpYi5jOjcxMjpzdGF0aWMgYm9vbCBudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWQoc3RydWN0IG50ZnNfdm9sdW1lICp2b2wsXG5mcy9udGZzL2F0dHJpYi5jLTcxMy1cdFx0XHRcdCAgICAgY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphLFxuLS1cbmZzL250ZnMvYXR0cmliLmM9ODE0PXN0YXRpYyBpbnQgbnRmc19hdHRyX2ZpbmQoY29uc3QgX19sZTMyIHR5cGUsIGNvbnN0IF9fbGUxNiAqbmFtZSxcbi0tXG5mcy9udGZzL2F0dHJpYi5jLTg2Ny1cdFx0aWYgKHR5cGUgPT0gQVRfVU5VU0VEKSB7XG5mcy9udGZzL2F0dHJpYi5jOjg2ODpcdFx0XHRpZiAoIW50ZnNfYXR0cl92YWx1ZV9pc192YWxpZCh2b2wsIGEsIGN0eC1cdTAwM2VudGZzX2luby1cdTAwM2VtZnRfbm8pKVxuZnMvbnRmcy9hdHRyaWIuYy04NjktXHRcdFx0XHRicmVhaztcbi0tXG5mcy9udGZzL2F0dHJpYi5jLTkxMS1cbmZzL250ZnMvYXR0cmliLmM6OTEyOlx0XHRpZiAoIW50ZnNfYXR0cl92YWx1ZV9pc192YWxpZCh2b2wsIGEsIGN0eC1cdTAwM2VudGZzX2luby1cdTAwM2VtZnRfbm8pKVxuZnMvbnRmcy9hdHRyaWIuYy05MTMtXHRcdFx0YnJlYWs7XG4tLVxuZnMvbnRmcy9hdHRyaWIuYz0xMTIzPXN0YXRpYyBpbnQgbnRmc19leHRlcm5hbF9hdHRyX2ZpbmQoY29uc3QgX19sZTMyIHR5cGUsXG4tLVxuZnMvbnRmcy9hdHRyaWIuYy0xNDM0LVxuZnMvbnRmcy9hdHRyaWIuYzoxNDM1Olx0XHRpZiAoIW50ZnNfYXR0cl92YWx1ZV9pc192YWxpZCh2b2wsIGEsIGN0eC1cdTAwM2VudGZzX2luby1cdTAwM2VtZnRfbm8pKVxuZnMvbnRmcy9hdHRyaWIuYy0xNDM2LVx0XHRcdGJyZWFrO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDAxOjA4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMyMTkKCQkJCQkJCW91dHB1dDogMTgKCQkJCQkJCXRob3VnaHRzOiAzNgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgYW4gZXhwZXJ0JiMzOTtzIGlubmVyIG1vbm9sb2d1ZToKCioqSW52ZXN0aWdhdGluZyBOVEZTIEF0dHJpYnV0ZSBMb29rdXAqKgoKUmlnaHQsIHNvIEkgbmVlZCB0byBkaWcgaW50byBob3cgTlRGUyBoYW5kbGVzIGF0dHJpYnV0ZSBsb29rdXBzLiBGcm9tIHdoYXQgSSByZWNhbGwsIGBudGZzX2F0dHJfZmluZGAgYW5kIGBudGZzX2V4dGVybmFsX2F0dHJfZmluZGAgYXJlIHRoZSBjcml0aWNhbCBlbnRyeSBwb2ludHMgaGVyZSDigJMgdGhleSYjMzk7cmUgdGhlIHByaW1hcnkgY2FsbGVycy4gVG8gZ2V0IGEgaGFuZGxlIG9uIHRoZSBiaWdnZXIgcGljdHVyZSwgaXQmIzM5O3MgYWx3YXlzIGEgZ29vZCBmaXJzdCBzdGVwIHRvIGNoZWNrIHRoZSBLY29uZmlnLiBJIHdhbnQgdG8gcXVpY2tseSB2ZXJpZnkgdGhlIGJ1aWxkIGNvbmZpZ3VyYXRpb24gcmVsYXRlZCB0byBOVEZTLiBVbmRlcnN0YW5kaW5nIGhvdyB0aGUgbW9kdWxlIGlzIGNvbXBpbGVkIGFuZCBpdHMgZGVwZW5kZW5jaWVzIHdpbGwgcHJvdmlkZSBpbnZhbHVhYmxlIGNvbnRleHQgZm9yIHRoZSBjb2RlIEkmIzM5O2xsIG5lZWQgdG8gZXhhbWluZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAwMTowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgTlRGU19GUyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtmcy9udGZzL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbmZzL250ZnMvS2NvbmZpZzoyOmNvbmZpZyBOVEZTX0ZTXG5mcy9udGZzL0tjb25maWctMy1cdHRyaXN0YXRlIFwmIzM0O05URlMgZmlsZSBzeXN0ZW0gc3VwcG9ydFwmIzM0O1xuLS1cbmZzL250ZnMvS2NvbmZpZz0xMz1jb25maWcgTlRGU19ERUJVR1xuLS1cbmZzL250ZnMvS2NvbmZpZy0zNC1cbmZzL250ZnMvS2NvbmZpZzozNTpjb25maWcgTlRGU19GU19QT1NJWF9BQ0xcbmZzL250ZnMvS2NvbmZpZy0zNi1cdGJvb2wgXCYjMzQ7TlRGUyBQT1NJWCBBY2Nlc3MgQ29udHJvbCBMaXN0c1wmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE1IDAxOjA5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM1NjIKCQkJCQkJCW91dHB1dDogOTUKCQkJCQkJCXRob3VnaHRzOiA3MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipOVEZTIEF0dHJpYnV0ZSBWYWxpZGF0aW9uIFBhdGNoIEFuYWx5c2lzKioKCk9rYXksIHNvIHRoZSBjb25maWd1cmF0aW9uIGluIHF1ZXN0aW9uIGlzIGRlZmluaXRlbHkgYE5URlNfRlNgLiBUaGUgcGF0Y2ggaXRzZWxmIGxvb2tzIHNvbGlkOyBpdCYjMzk7cyBmaXhpbmcgYW4gaXNzdWUgaW4gaG93IHdlIHZhbGlkYXRlIE5URlMgYXR0cmlidXRlcy4gTXkgYW5hbHlzaXMgaW5kaWNhdGVzIHRoYXQgaXQmIzM5O3MgZnVuY3Rpb25pbmcgYXMgaW50ZW5kZWQsIGFuZCBhZGRyZXNzZXMgdGhlIHJlcG9ydGVkIGJ1ZyBlZmZlY3RpdmVseS4KCkNvbnNpZGVyaW5nIHRoaXMsIEkgbmVlZCB0byBjb25maWd1cmUgdGhlIGZ1enppbmcgcHJvY2VzcyBhY2NvcmRpbmdseS4gSSB3aWxsIHJldHVybiBgV29ydGhGdXp6aW5nPXRydWVgIGFzIHRoaXMgcGF0Y2ggZGlyZWN0bHkgaW1wYWN0cyBjcml0aWNhbCB2YWxpZGF0aW9uLiBBZGRpdGlvbmFsbHksIHRoZSBmdXp6ZXIgbmVlZHMgdG8gYmUgZXhwbGljaXRseSBlbmFibGVkIGZvciB0aGUgYE5URlNfRlNgIGNvbmZpZ3VyYXRpb24uIEZpbmFsbHksIHRvIGVuc3VyZSB0aGUgcGF0Y2gmIzM5O3MgZWZmZWN0aXZlbmVzcyBpcyByaWdvcm91c2x5IHRlc3RlZCwgSSYjMzk7bSBnb2luZyB0byBmb2N1cyB0aGUgZnV6emluZyBvbiB0aGUgY29yZSBhdHRyaWJ1dGUgdmFsaWRhdGlvbiBmdW5jdGlvbnM6IGBudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkYCBhbmQgYG50ZnNfYXR0cl92YWx1ZV9pc192YWxpZGAuIFRoZXNlIGFyZSB0aGUga2V5IGZ1bmN0aW9ucyB0byB0aG9yb3VnaGx5IGV2YWx1YXRlIGZvciBhbnkgcmVncmVzc2lvbiBvciB1bmV4cGVjdGVkIGJlaGF2aW9yLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNSAwMTowOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TlRGU19GUyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O250ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQmIzM0OywKICAgICYjMzQ7bnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSB2YWxpZGF0aW9uIGNoZWNrIGZvciBzcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBpbiBOVEZTLiBJdCBtb2RpZmllcyBjb3JlIE5URlMgbG9naWMgZm9yIHBhcnNpbmcgYXR0cmlidXRlcywgd2hpY2ggaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtOVEZTX0ZTJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZCYjMzQ7LAogICAgJiMzNDtudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIHZhbGlkYXRpb24gY2hlY2sgZm9yIHNwYXJzZSBhbmQgY29tcHJlc3NlZCBhdHRyaWJ1dGVzIGluIE5URlMuIEl0IG1vZGlmaWVzIGNvcmUgTlRGUyBsb2dpYyBmb3IgcGFyc2luZyBhdHRyaWJ1dGVzLCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xNVQwMTowODo0MS42MjMxNTM2NDFaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNDU1MTQ1NDQwNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJOVEZTX0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZFwiLFxuICAgIFwibnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIHZhbGlkYXRpb24gY2hlY2sgZm9yIHNwYXJzZSBhbmQgY29tcHJlc3NlZCBhdHRyaWJ1dGVzIGluIE5URlMuIEl0IG1vZGlmaWVzIGNvcmUgTlRGUyBsb2dpYyBmb3IgcGFyc2luZyBhdHRyaWJ1dGVzLCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDAxOjA4OjQxLjYyMzE2MDQ5MVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjMxMTI3NzgyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMDJiOTg4ZWY1NjIyMjIxZDcyNjE4NmQwMzA4NWVjYzg0ZmJkODE5Y1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEp1bCAxNSAwMTowODo0MCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9mcy9udGZzL2F0dHJpYi5jIGIvZnMvbnRmcy9hdHRyaWIuY1xcbmluZGV4IDIzOWI3YmNiYWVkZjRjLi4zZTIxNjQwYTY1MzQ4OSAxMDA2NDRcXG4tLS0gYS9mcy9udGZzL2F0dHJpYi5jXFxuKysrIGIvZnMvbnRmcy9hdHRyaWIuY1xcbkBAIC02OTcsNiArNjk3LDExIEBAIHN0YXRpYyBib29sIG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQoY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphKVxcbiBcXHRhdHRyX2xlbiA9IGxlMzJfdG9fY3B1KGEtXFx1MDAzZWxlbmd0aCk7XFxuIFxcdG1pbl9sZW4gPSBvZmZzZXRvZihzdHJ1Y3QgYXR0cl9yZWNvcmQsIGRhdGEubm9uX3Jlc2lkZW50LmluaXRpYWxpemVkX3NpemUpICtcXG4gXFx0XFx0ICBzaXplb2YoYS1cXHUwMDNlZGF0YS5ub25fcmVzaWRlbnQuaW5pdGlhbGl6ZWRfc2l6ZSk7XFxuK1xcbitcXHQvKiBTcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBoYXZlIHRoZSBleHRyYSBjb21wcmVzc2VkX3NpemUgZmllbGQgKi9cXG4rXFx0aWYgKGEtXFx1MDAzZWZsYWdzIFxcdTAwMjYgKEFUVFJfSVNfU1BBUlNFIHwgQVRUUl9DT01QUkVTU0lPTl9NQVNLKSlcXG4rXFx0XFx0bWluX2xlbiArPSBzaXplb2YoYS1cXHUwMDNlZGF0YS5ub25fcmVzaWRlbnQuY29tcHJlc3NlZF9zaXplKTtcXG4rXFxuIFxcdGlmIChhdHRyX2xlbiBcXHUwMDNjIG1pbl9sZW4pXFxuIFxcdFxcdHJldHVybiBmYWxzZTtcXG4gXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDAxOjA4OjQyLjI1NTcxNTI5M1oiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjM5MTg4ODAwODQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTlRGU19GU1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWRcIixcbiAgICBcIm50ZnNfYXR0cl92YWx1ZV9pc192YWxpZFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSB2YWxpZGF0aW9uIGNoZWNrIGZvciBzcGFyc2UgYW5kIGNvbXByZXNzZWQgYXR0cmlidXRlcyBpbiBOVEZTLiBJdCBtb2RpZmllcyBjb3JlIE5URlMgbG9naWMgZm9yIHBhcnNpbmcgYXR0cmlidXRlcywgd2hpY2ggaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDAyYjk4OGVmNTYyMjIyMWQ3MjYxODZkMDMwODVlY2M4NGZiZDgxOWNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1bCAxNSAwMTowODo0MCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL250ZnMvYXR0cmliLmMgYi9mcy9udGZzL2F0dHJpYi5jXG5pbmRleCAyMzliN2JjYmFlZGY0Yy4uM2UyMTY0MGE2NTM0ODkgMTAwNjQ0XG4tLS0gYS9mcy9udGZzL2F0dHJpYi5jXG4rKysgYi9mcy9udGZzL2F0dHJpYi5jXG5AQCAtNjk3LDYgKzY5NywxMSBAQCBzdGF0aWMgYm9vbCBudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkKGNvbnN0IHN0cnVjdCBhdHRyX3JlY29yZCAqYSlcbiBcdGF0dHJfbGVuID0gbGUzMl90b19jcHUoYS1cdTAwM2VsZW5ndGgpO1xuIFx0bWluX2xlbiA9IG9mZnNldG9mKHN0cnVjdCBhdHRyX3JlY29yZCwgZGF0YS5ub25fcmVzaWRlbnQuaW5pdGlhbGl6ZWRfc2l6ZSkgK1xuIFx0XHQgIHNpemVvZihhLVx1MDAzZWRhdGEubm9uX3Jlc2lkZW50LmluaXRpYWxpemVkX3NpemUpO1xuK1xuK1x0LyogU3BhcnNlIGFuZCBjb21wcmVzc2VkIGF0dHJpYnV0ZXMgaGF2ZSB0aGUgZXh0cmEgY29tcHJlc3NlZF9zaXplIGZpZWxkICovXG4rXHRpZiAoYS1cdTAwM2VmbGFncyBcdTAwMjYgKEFUVFJfSVNfU1BBUlNFIHwgQVRUUl9DT01QUkVTU0lPTl9NQVNLKSlcbitcdFx0bWluX2xlbiArPSBzaXplb2YoYS1cdTAwM2VkYXRhLm5vbl9yZXNpZGVudC5jb21wcmVzc2VkX3NpemUpO1xuK1xuIFx0aWYgKGF0dHJfbGVuIFx1MDAzYyBtaW5fbGVuKVxuIFx0XHRyZXR1cm4gZmFsc2U7XG4gXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQwMTowODo0Mi4yNTU3MTczNzNaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozODMyNjA4NDYwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgTlRGUyBBdHRyaWJ1dGUgVmFsaWRhdGlvbiBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggdGhhdCB0d2Vha3MgYGZzL250ZnMvYXR0cmliLmNgLiBTcGVjaWZpY2FsbHksIGl0J3MgbWVzc2luZyB3aXRoIHRoZSBgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZGAgZnVuY3Rpb24uIFRoZSBrZXkgY2hhbmdlIHNlZW1zIHRvIGJlIGEgbmV3IGNoZWNrIHRoYXQgYnVtcHMgdXAgYG1pbl9sZW5gIGJ5IGBzaXplb2YoYS1cdTAwM2VkYXRhLm5vbl9yZXNpZGVudC5jb21wcmVzc2VkX3NpemUpYCBmb3Igc3BhcnNlIGFuZCBjb21wcmVzc2VkIGF0dHJpYnV0ZXMuIEl0J3MgYSBmYWlybHkgdGFyZ2V0ZWQgbW9kaWZpY2F0aW9uLCBsaWtlbHkgYWRkcmVzc2luZyBhIHNwZWNpZmljIGVkZ2UgY2FzZSBpbiBob3cgbm9uLXJlc2lkZW50IGF0dHJpYnV0ZXMgYXJlIHZhbGlkYXRlZC5cblxuTXkgaW1tZWRpYXRlIG5leHQgc3RlcHMgYXJlIHRvIGNvbmZpcm0gdGhlIGRlcGVuZGVuY2llcyBhbmQgY29udGV4dC4gSSdsbCBuZWVkIHRvIGNoZWNrIGJvdGggYGZzL250ZnMvYXR0cmliLmNgIGl0c2VsZiBhbmQgYGZzL250ZnMvS2NvbmZpZ2AgdG8gcGlucG9pbnQgdGhlIG5lY2Vzc2FyeSBjb25maWd1cmF0aW9ucy4gQmFzZWQgb24gbXkgZXhwZXJpZW5jZSwgSSdtIGJldHRpbmcgdGhhdCBgTlRGU19GU2Agd2lsbCBiZSB0aGUgcHJpbWFyeSBjb25maWcgaW52b2x2ZWQuXG5cbkp1c3QgdG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluIEknbSBvbiB0aGUgcmlnaHQgdHJhY2ssIEkgd2lsbCBhbHNvIGxldmVyYWdlIGBncmVwcGVyYCB0byBxdWlja2x5IGxvY2F0ZSB0aGUgYG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWRgIGZ1bmN0aW9uIGluIHRoZSBzb3VyY2UgdHJlZSB0byBnZXQgbXkgYmVhcmluZ3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE4OTksIk91dHB1dFRva2VucyI6MjgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNDAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQwMTowODo0Ni4wODgzMjkxNTRaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzgwNjIwNzc4MywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL250ZnMvYXR0cmliLmM9NjcwPXN0YXRpYyBib29sIG50ZnNfcmVzaWRlbnRfYXR0cl92YWx1ZV9nZXQoY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphLFxcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYy02OTAtXFxuZnMvbnRmcy9hdHRyaWIuYzo2OTE6c3RhdGljIGJvb2wgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZChjb25zdCBzdHJ1Y3QgYXR0cl9yZWNvcmQgKmEpXFxuZnMvbnRmcy9hdHRyaWIuYy02OTIte1xcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYz03MTI9c3RhdGljIGJvb2wgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkKHN0cnVjdCBudGZzX3ZvbHVtZSAqdm9sLFxcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYy03MjEtXFx0XFx0XFx0Z290byBjb3JydXB0O1xcbmZzL250ZnMvYXR0cmliLmM6NzIyOlxcdFxcdGlmICghbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZChhKSlcXG5mcy9udGZzL2F0dHJpYi5jLTcyMy1cXHRcXHRcXHRnb3RvIGNvcnJ1cHQ7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDAxOjA4OjQ5Ljg5NDU0Njc3NloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMzNTIyODgwMTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgbXkgb3duOlxuXG4qKkFuYWx5emluZyBOVEZTIEF0dHJpYnV0ZSBWYWxpZGF0aW9uKipcblxuQWxyaWdodCwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBgbnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZGAgZnVuY3Rpb24sIGFuZCBpdCdzIGNsZWFyIGl0J3MgYmVpbmcgY2FsbGVkIGJ5IGBudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWRgLiBNYWtlcyBzZW5zZS4gTm93LCB0aGUgbmV4dCBsb2dpY2FsIHN0ZXAsIGJlZm9yZSBJIGRpZyBpbnRvIHRoZSBzcGVjaWZpY3Mgb2YgKnRoYXQqIGZ1bmN0aW9uLCBpcyB0byB1bmRlcnN0YW5kIGl0cyBjb250ZXh0LiBXaGVyZSBleGFjdGx5IGlzIGBudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWRgIGJlaW5nIGNhbGxlZCB3aXRoaW4gdGhlIGJyb2FkZXIgc3lzdGVtPyBJIG5lZWQgdG8gdHJhY2UgaXRzIGNhbGwgc2l0ZXMuIFRoYXQgd2lsbCBnaXZlIG1lIGEgYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHByZWNvbmRpdGlvbnMgYW5kIHRoZSBvdmVyYWxsIGludGVudCBvZiB0aGUgdmFsaWRhdGlvbiBsb2dpYy4gVW5kZXJzdGFuZGluZyBpdHMgaW5wdXRzIGlzIGtleSB0byB1bmRlcnN0YW5kaW5nIGl0cyBvdXRwdXRzIVxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTM0LCJPdXRwdXRUb2tlbnMiOjI0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMDE6MDg6NTMuMjQ2ODM3NDAzWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMwODUxNDQ3NDcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL250ZnMvYXR0cmliLmM9NjkxPXN0YXRpYyBib29sIG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWQoY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphKVxcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYy03MTEtXFxuZnMvbnRmcy9hdHRyaWIuYzo3MTI6c3RhdGljIGJvb2wgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkKHN0cnVjdCBudGZzX3ZvbHVtZSAqdm9sLFxcbmZzL250ZnMvYXR0cmliLmMtNzEzLVxcdFxcdFxcdFxcdCAgICAgY29uc3Qgc3RydWN0IGF0dHJfcmVjb3JkICphLFxcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYz04MTQ9c3RhdGljIGludCBudGZzX2F0dHJfZmluZChjb25zdCBfX2xlMzIgdHlwZSwgY29uc3QgX19sZTE2ICpuYW1lLFxcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYy04NjctXFx0XFx0aWYgKHR5cGUgPT0gQVRfVU5VU0VEKSB7XFxuZnMvbnRmcy9hdHRyaWIuYzo4Njg6XFx0XFx0XFx0aWYgKCFudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWQodm9sLCBhLCBjdHgtXFx1MDAzZW50ZnNfaW5vLVxcdTAwM2VtZnRfbm8pKVxcbmZzL250ZnMvYXR0cmliLmMtODY5LVxcdFxcdFxcdFxcdGJyZWFrO1xcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYy05MTEtXFxuZnMvbnRmcy9hdHRyaWIuYzo5MTI6XFx0XFx0aWYgKCFudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWQodm9sLCBhLCBjdHgtXFx1MDAzZW50ZnNfaW5vLVxcdTAwM2VtZnRfbm8pKVxcbmZzL250ZnMvYXR0cmliLmMtOTEzLVxcdFxcdFxcdGJyZWFrO1xcbi0tXFxuZnMvbnRmcy9hdHRyaWIuYz0xMTIzPXN0YXRpYyBpbnQgbnRmc19leHRlcm5hbF9hdHRyX2ZpbmQoY29uc3QgX19sZTMyIHR5cGUsXFxuLS1cXG5mcy9udGZzL2F0dHJpYi5jLTE0MzQtXFxuZnMvbnRmcy9hdHRyaWIuYzoxNDM1OlxcdFxcdGlmICghbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkKHZvbCwgYSwgY3R4LVxcdTAwM2VudGZzX2luby1cXHUwMDNlbWZ0X25vKSlcXG5mcy9udGZzL2F0dHJpYi5jLTE0MzYtXFx0XFx0XFx0YnJlYWs7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE1VDAxOjA4OjU2LjMzMTk5NjU3WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mjk3MzEyMDkwNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBhbiBleHBlcnQncyBpbm5lciBtb25vbG9ndWU6XG5cbioqSW52ZXN0aWdhdGluZyBOVEZTIEF0dHJpYnV0ZSBMb29rdXAqKlxuXG5SaWdodCwgc28gSSBuZWVkIHRvIGRpZyBpbnRvIGhvdyBOVEZTIGhhbmRsZXMgYXR0cmlidXRlIGxvb2t1cHMuIEZyb20gd2hhdCBJIHJlY2FsbCwgYG50ZnNfYXR0cl9maW5kYCBhbmQgYG50ZnNfZXh0ZXJuYWxfYXR0cl9maW5kYCBhcmUgdGhlIGNyaXRpY2FsIGVudHJ5IHBvaW50cyBoZXJlIOKAkyB0aGV5J3JlIHRoZSBwcmltYXJ5IGNhbGxlcnMuIFRvIGdldCBhIGhhbmRsZSBvbiB0aGUgYmlnZ2VyIHBpY3R1cmUsIGl0J3MgYWx3YXlzIGEgZ29vZCBmaXJzdCBzdGVwIHRvIGNoZWNrIHRoZSBLY29uZmlnLiBJIHdhbnQgdG8gcXVpY2tseSB2ZXJpZnkgdGhlIGJ1aWxkIGNvbmZpZ3VyYXRpb24gcmVsYXRlZCB0byBOVEZTLiBVbmRlcnN0YW5kaW5nIGhvdyB0aGUgbW9kdWxlIGlzIGNvbXBpbGVkIGFuZCBpdHMgZGVwZW5kZW5jaWVzIHdpbGwgcHJvdmlkZSBpbnZhbHVhYmxlIGNvbnRleHQgZm9yIHRoZSBjb2RlIEknbGwgbmVlZCB0byBleGFtaW5lLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMjE5LCJPdXRwdXRUb2tlbnMiOjE4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTVUMDE6MDg6NTkuMzA1MTIwMjE2WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI3MTIwMTUyODYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIE5URlNfRlNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMvbnRmcy9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuZnMvbnRmcy9LY29uZmlnOjI6Y29uZmlnIE5URlNfRlNcXG5mcy9udGZzL0tjb25maWctMy1cXHR0cmlzdGF0ZSBcXFwiTlRGUyBmaWxlIHN5c3RlbSBzdXBwb3J0XFxcIlxcbi0tXFxuZnMvbnRmcy9LY29uZmlnPTEzPWNvbmZpZyBOVEZTX0RFQlVHXFxuLS1cXG5mcy9udGZzL0tjb25maWctMzQtXFxuZnMvbnRmcy9LY29uZmlnOjM1OmNvbmZpZyBOVEZTX0ZTX1BPU0lYX0FDTFxcbmZzL250ZnMvS2NvbmZpZy0zNi1cXHRib29sIFxcXCJOVEZTIFBPU0lYIEFjY2VzcyBDb250cm9sIExpc3RzXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQwMTowOTowMi4wMTcxNDI1NDFaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozOTYxMTY2NjMxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk5URlMgQXR0cmlidXRlIFZhbGlkYXRpb24gUGF0Y2ggQW5hbHlzaXMqKlxuXG5Pa2F5LCBzbyB0aGUgY29uZmlndXJhdGlvbiBpbiBxdWVzdGlvbiBpcyBkZWZpbml0ZWx5IGBOVEZTX0ZTYC4gVGhlIHBhdGNoIGl0c2VsZiBsb29rcyBzb2xpZDsgaXQncyBmaXhpbmcgYW4gaXNzdWUgaW4gaG93IHdlIHZhbGlkYXRlIE5URlMgYXR0cmlidXRlcy4gTXkgYW5hbHlzaXMgaW5kaWNhdGVzIHRoYXQgaXQncyBmdW5jdGlvbmluZyBhcyBpbnRlbmRlZCwgYW5kIGFkZHJlc3NlcyB0aGUgcmVwb3J0ZWQgYnVnIGVmZmVjdGl2ZWx5LlxuXG5Db25zaWRlcmluZyB0aGlzLCBJIG5lZWQgdG8gY29uZmlndXJlIHRoZSBmdXp6aW5nIHByb2Nlc3MgYWNjb3JkaW5nbHkuIEkgd2lsbCByZXR1cm4gYFdvcnRoRnV6emluZz10cnVlYCBhcyB0aGlzIHBhdGNoIGRpcmVjdGx5IGltcGFjdHMgY3JpdGljYWwgdmFsaWRhdGlvbi4gQWRkaXRpb25hbGx5LCB0aGUgZnV6emVyIG5lZWRzIHRvIGJlIGV4cGxpY2l0bHkgZW5hYmxlZCBmb3IgdGhlIGBOVEZTX0ZTYCBjb25maWd1cmF0aW9uLiBGaW5hbGx5LCB0byBlbnN1cmUgdGhlIHBhdGNoJ3MgZWZmZWN0aXZlbmVzcyBpcyByaWdvcm91c2x5IHRlc3RlZCwgSSdtIGdvaW5nIHRvIGZvY3VzIHRoZSBmdXp6aW5nIG9uIHRoZSBjb3JlIGF0dHJpYnV0ZSB2YWxpZGF0aW9uIGZ1bmN0aW9uczogYG50ZnNfbm9uX3Jlc2lkZW50X2F0dHJfdmFsdWVfaXNfdmFsaWRgIGFuZCBgbnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkYC4gVGhlc2UgYXJlIHRoZSBrZXkgZnVuY3Rpb25zIHRvIHRob3JvdWdobHkgZXZhbHVhdGUgZm9yIGFueSByZWdyZXNzaW9uIG9yIHVuZXhwZWN0ZWQgYmVoYXZpb3IuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM1NjIsIk91dHB1dFRva2VucyI6OTUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3MiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNVQwMTowOTowNS45NzgzMTEyODJaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxOTYyNzMyNzUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk5URlNfRlNcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJudGZzX25vbl9yZXNpZGVudF9hdHRyX3ZhbHVlX2lzX3ZhbGlkXCIsXG4gICAgXCJudGZzX2F0dHJfdmFsdWVfaXNfdmFsaWRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgdmFsaWRhdGlvbiBjaGVjayBmb3Igc3BhcnNlIGFuZCBjb21wcmVzc2VkIGF0dHJpYnV0ZXMgaW4gTlRGUy4gSXQgbW9kaWZpZXMgY29yZSBOVEZTIGxvZ2ljIGZvciBwYXJzaW5nIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHJlYWNoYWJsZSBhbmQgZnVuY3Rpb25hbC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJOVEZTX0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibnRmc19ub25fcmVzaWRlbnRfYXR0cl92YWx1ZV9pc192YWxpZFwiLFxuICAgIFwibnRmc19hdHRyX3ZhbHVlX2lzX3ZhbGlkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIHZhbGlkYXRpb24gY2hlY2sgZm9yIHNwYXJzZSBhbmQgY29tcHJlc3NlZCBhdHRyaWJ1dGVzIGluIE5URlMuIEl0IG1vZGlmaWVzIGNvcmUgTlRGUyBsb2dpYyBmb3IgcGFyc2luZyBhdHRyaWJ1dGVzLCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowqt59x[1] Phase: Succeeded StartedAt: 2026-07-15 01:09:18 +0000 UTC FinishedAt: 2026-07-15 01:09:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-15 01:09:18 +0000 UTC FinishedAt: 2026-07-15 01:09:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2] Phase: Succeeded StartedAt: 2026-07-15 01:09:18 +0000 UTC FinishedAt: 2026-07-15 03:05:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-15 01:09:19 +0000 UTC FinishedAt: 2026-07-15 03:05:17 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-15 01:09:19 +0000 UTC FinishedAt: 2026-07-15 01:09:40 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-15 01:09:19 +0000 UTC FinishedAt: 2026-07-15 01:09:26 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},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-workflowqt59x/series-workflowqt59x-convert-artifact-2867889135/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-15 01:09:40 +0000 UTC FinishedAt: 2026-07-15 01:41:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-15 01:09:40 +0000 UTC FinishedAt: 2026-07-15 01:41: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:*562eb660-9f3a-4df7-9fda-49850fdf504b,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-workflowqt59x/series-workflowqt59x-convert-artifact-2867889135/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": "14521690-9e45-4b51-894c-75c1525cf00e", "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-workflowqt59x/series-workflowqt59x-build-action-586105013/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-15 01:09:40 +0000 UTC FinishedAt: 2026-07-15 01:40:44 +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:*562eb660-9f3a-4df7-9fda-49850fdf504b,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-workflowqt59x/series-workflowqt59x-convert-artifact-2867889135/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": "14521690-9e45-4b51-894c-75c1525cf00e", "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-workflowqt59x/series-workflowqt59x-build-action-586105013/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-15 01:41:53 +0000 UTC FinishedAt: 2026-07-15 01:41:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-15 01:41:53 +0000 UTC FinishedAt: 2026-07-15 01:41:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-15 01:41:53 +0000 UTC FinishedAt: 2026-07-15 01:42:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-15 01:41:53 +0000 UTC FinishedAt: 2026-07-15 01:42:02 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},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-workflowqt59x/series-workflowqt59x-convert-artifact-1605825854/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-15 01:42:14 +0000 UTC FinishedAt: 2026-07-15 01:44:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-15 01:42:14 +0000 UTC FinishedAt: 2026-07-15 01:44:11 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*14521690-9e45-4b51-894c-75c1525cf00e,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-workflowqt59x/series-workflowqt59x-build-action-586105013/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-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-15 01:44:20 +0000 UTC FinishedAt: 2026-07-15 01:44:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-15 01:44:20 +0000 UTC FinishedAt: 2026-07-15 01:44:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-15 01:44:20 +0000 UTC FinishedAt: 2026-07-15 02:15:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-15 01:44:20 +0000 UTC FinishedAt: 2026-07-15 02:15:04 +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:*562eb660-9f3a-4df7-9fda-49850fdf504b,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-workflowqt59x/series-workflowqt59x-convert-artifact-1605825854/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": "f96e6f2f-4bf9-4492-a6ba-a1f902cc770b", "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-workflowqt59x/series-workflowqt59x-build-action-3658591890/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-15 01:44:20 +0000 UTC FinishedAt: 2026-07-15 02:14:54 +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:*562eb660-9f3a-4df7-9fda-49850fdf504b,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-workflowqt59x/series-workflowqt59x-convert-artifact-1605825854/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": "f96e6f2f-4bf9-4492-a6ba-a1f902cc770b", "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-workflowqt59x/series-workflowqt59x-build-action-3658591890/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-15 02:15:04 +0000 UTC FinishedAt: 2026-07-15 02:15:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-15 02:15:04 +0000 UTC FinishedAt: 2026-07-15 02:15:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-15 02:15:04 +0000 UTC FinishedAt: 2026-07-15 02:17:06 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-15 02:15:04 +0000 UTC FinishedAt: 2026-07-15 02:16:56 +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:*f96e6f2f-4bf9-4492-a6ba-a1f902cc770b,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-workflowqt59x/series-workflowqt59x-build-action-3658591890/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-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-15 02:17:06 +0000 UTC FinishedAt: 2026-07-15 03:05:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-15 02:17:06 +0000 UTC FinishedAt: 2026-07-15 03:05:17 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"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:*14521690-9e45-4b51-894c-75c1525cf00e,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*f96e6f2f-4bf9-4492-a6ba-a1f902cc770b,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-workflowqt59x/series-workflowqt59x-build-action-586105013/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-workflowqt59x/series-workflowqt59x-build-action-3658591890/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-15 02:17:06 +0000 UTC FinishedAt: 2026-07-15 02:18:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-15 02:17:06 +0000 UTC FinishedAt: 2026-07-15 02:18:09 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"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-workflowqt59x/series-workflowqt59x-convert-artifact-3437327939/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-15 02:17:06 +0000 UTC FinishedAt: 2026-07-15 02:17:06 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-15 02:17:06 +0000 UTC FinishedAt: 2026-07-15 02:17:06 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-15 02:17:07 +0000 UTC FinishedAt: 2026-07-15 02:17:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-15 02:18:41 +0000 UTC FinishedAt: 2026-07-15 03:05:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqt59x[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["ntfs_non_resident_attr_value_is_valid","ntfs_attr_value_is_valid"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"3b029c035b34bbc693405ddf759f0e9b920c27f1","config_name":"upstream-apparmor-kasan.config","enable_configs":["NTFS_FS"],"series_id":"bcc90037-d55a-4a3a-b545-ce1cca3525f5","tree_name":"linux-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-15 02:18:42 +0000 UTC FinishedAt: 2026-07-15 03:05:06 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*14521690-9e45-4b51-894c-75c1525cf00e,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*f96e6f2f-4bf9-4492-a6ba-a1f902cc770b,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-workflowqt59x/series-workflowqt59x-build-action-586105013/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-workflowqt59x/series-workflowqt59x-build-action-3658591890/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-workflowqt59x/series-workflowqt59x-convert-artifact-3437327939/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,}