Name: series-workflowbg4sl Phase: Succeeded StartedAt: 2026-07-31 05:30:28 +0000 UTC FinishedAt: 2026-07-31 06:56:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[0] Phase: Succeeded StartedAt: 2026-07-31 05:30:28 +0000 UTC FinishedAt: 2026-07-31 05:46:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[0].run-triage Phase: Succeeded StartedAt: 2026-07-31 05:30:28 +0000 UTC FinishedAt: 2026-07-31 05:46:19 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "KVM", "KVM_AMD" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "KVM", "KVM_AMD" ], "series_id": "d083e8b5-ee5d-4aaa-9bf9-36aab69ec667" }, "track": "KASAN", "fuzz": { "focus": [ "kvm" ], "focus_symbols": [ "avic_init_vmcb", "avic_refresh_virtual_apic_mode" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0tWTSYjMzQ7LAogICAgJiMzNDtLVk1fQU1EJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YXZpY19pbml0X3ZtY2ImIzM0OywKICAgICYjMzQ7YXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgaW4gS1ZNIFNWTSBjb2RlLCB3aGljaCBpcyBjYWxsZWQgZHVyaW5nIFZNQ0IgaW5pdGlhbGl6YXRpb24gKGBhdmljX2luaXRfdm1jYmApIGFuZCBBUElDIG1vZGUgcmVmcmVzaCAoYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWApLiBUaGlzIGlzIGNvcmUgS1ZNIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgM2U4YzYyNjVmYjBmZjAwNDEwODI1YzA1NmM1Y2RkZDdhMzI2MWEyYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDMxIDA1OjQ1OjI4IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS9zdm0vYXZpYy5jIGIvYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcbmluZGV4IDU4ZTQ5M2E4MGNiMGUuLjE2ZTA5YThmZTg1ZTEgMTAwNjQ0XG4tLS0gYS9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuY1xuJiM0MzsmIzQzOyYjNDM7IGIvYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcbkBAIC0yNDAsMTQgJiM0MzsyNDAsNiBAQCBzdGF0aWMgdm9pZCBhdmljX2RlYWN0aXZhdGVfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSlcbiBcdGlmICghaXNfc2V2X2VzX2d1ZXN0KFx1MDAyNnN2bS1cdTAwM2V2Y3B1KSlcbiBcdFx0c3ZtX3NldF9pbnRlcmNlcHQoc3ZtLCBJTlRFUkNFUFRfQ1I4X1dSSVRFKTtcbiBcbi1cdC8qXG4tXHQgKiBJZiBydW5uaW5nIG5lc3RlZCBhbmQgdGhlIGd1ZXN0IHVzZXMgaXRzIG93biBNU1IgYml0bWFwLCB0aGVyZVxuLVx0ICogaXMgbm8gbmVlZCB0byB1cGRhdGUgTDAmIzM5O3MgbXNyIGJpdG1hcFxuLVx0ICovXG4tXHRpZiAoaXNfZ3Vlc3RfbW9kZShcdTAwMjZzdm0tXHUwMDNldmNwdSkgXHUwMDI2XHUwMDI2XG4tXHQgICAgdm1jYjEyX2lzX2ludGVyY2VwdChcdTAwMjZzdm0tXHUwMDNlbmVzdGVkLmN0bCwgSU5URVJDRVBUX01TUl9QUk9UKSlcbi1cdFx0cmV0dXJuO1xuLVxuIFx0LyogRW5hYmxpbmcgTVNSIGludGVyY2VwdCBmb3IgeDJBUElDIHJlZ2lzdGVycyAqL1xuIFx0YXZpY19zZXRfeDJhcGljX21zcl9pbnRlcmNlcHRpb24oc3ZtLCB0cnVlKTtcbiB9XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0tWTSYjMzQ7LAogICAgJiMzNDtLVk1fQU1EJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YXZpY19pbml0X3ZtY2ImIzM0OywKICAgICYjMzQ7YXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgaW4gS1ZNIFNWTSBjb2RlLCB3aGljaCBpcyBjYWxsZWQgZHVyaW5nIFZNQ0IgaW5pdGlhbGl6YXRpb24gKGBhdmljX2luaXRfdm1jYmApIGFuZCBBUElDIG1vZGUgcmVmcmVzaCAoYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWApLiBUaGlzIGlzIGNvcmUgS1ZNIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgM2U4YzYyNjVmYjBmZjAwNDEwODI1YzA1NmM1Y2RkZDdhMzI2MWEyYgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgSnVsIDMxIDA1OjQ1OjI4IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva3ZtL3N2bS9hdmljLmMgYi9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYwppbmRleCA1OGU0OTNhODBjYjBlLi4xNmUwOWE4ZmU4NWUxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYwomIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYwpAQCAtMjQwLDE0ICYjNDM7MjQwLDYgQEAgc3RhdGljIHZvaWQgYXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pCiAJaWYgKCFpc19zZXZfZXNfZ3Vlc3QoJmFtcDtzdm0tJmd0O3ZjcHUpKQogCQlzdm1fc2V0X2ludGVyY2VwdChzdm0sIElOVEVSQ0VQVF9DUjhfV1JJVEUpOwogCi0JLyoKLQkgKiBJZiBydW5uaW5nIG5lc3RlZCBhbmQgdGhlIGd1ZXN0IHVzZXMgaXRzIG93biBNU1IgYml0bWFwLCB0aGVyZQotCSAqIGlzIG5vIG5lZWQgdG8gdXBkYXRlIEwwJiMzOTtzIG1zciBiaXRtYXAKLQkgKi8KLQlpZiAoaXNfZ3Vlc3RfbW9kZSgmYW1wO3N2bS0mZ3Q7dmNwdSkgJmFtcDsmYW1wOwotCSAgICB2bWNiMTJfaXNfaW50ZXJjZXB0KCZhbXA7c3ZtLSZndDtuZXN0ZWQuY3RsLCBJTlRFUkNFUFRfTVNSX1BST1QpKQotCQlyZXR1cm47Ci0KIAkvKiBFbmFibGluZyBNU1IgaW50ZXJjZXB0IGZvciB4MkFQSUMgcmVnaXN0ZXJzICovCiAJYXZpY19zZXRfeDJhcGljX21zcl9pbnRlcmNlcHRpb24oc3ZtLCB0cnVlKTsKIH0KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjE1NAoJCQkJCQkJb3V0cHV0OiA0MQoJCQkJCQkJdGhvdWdodHM6IDE2NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIEtWTS9TVk0gQVZJQyBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYGFyY2gveDg2L2t2bS9zdm0vYXZpYy5jYC4gSXQgc2VlbXMgdG8gYmUgcmVtb3ZpbmcgYSBzcGVjaWZpYyBjaGVjayB3aXRoaW4gdGhlIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgZnVuY3Rpb24uIExldCYjMzk7cyBkaWcgaW4uIEl0JiMzOTtzIHRha2luZyBvdXQgdGhpcyBjb25kaXRpb25hbCBibG9jazoKCmBgYGMKLQkvKgotCSAqIElmIHJ1bm5pbmcgbmVzdGVkIGFuZCB0aGUgZ3Vlc3QgdXNlcyBpdHMgb3duIE1TUiBiaXRtYXAsIHRoZXJlCi0JICogaXMgbm8gbmVlZCB0byB1cGRhdGUgTDAmIzM5O3MgbXNyIGJpdG1hcAotCSAqLwotCWlmIChpc19ndWVzdF9tb2RlKCZhbXA7c3ZtLSZndDt2Y3B1KSAmYW1wOyZhbXA7Ci0JICAgIHZtY2IxMl9pc19pbnRlcmNlcHQoJmFtcDtzdm0tJmd0O25lc3RlZC5jdGwsIElOVEVSQ0VQVF9NU1JfUFJPVCkpCi0JCXJldHVybjsKYGBgCgpSaWdodCwgdGhpcyBpcyByZWxhdGVkIHRvIG5lc3RlZCB2aXJ0dWFsaXphdGlvbiBvbiBBTUQgcGxhdGZvcm1zLCBzcGVjaWZpY2FsbHkgdGhlIGhhbmRsaW5nIG9mIE1TUiBiaXRtYXBzLiBUaGUgbG9naWMgaGVyZSB3YXMgZGVzaWduZWQgdG8gYXZvaWQgcmVkdW5kYW50IHVwZGF0ZXMgdG8gdGhlIEwwIChob3N0KSBNU1IgYml0bWFwIHdoZW4gbmVzdGVkIGd1ZXN0cyAoTDEpIGFyZSBtYW5hZ2luZyB0aGVpciBvd24uIFRoZSByYXRpb25hbGUgc291bmRzIHJlYXNvbmFibGUg4oCTIGlmIHRoZSBMMSBndWVzdCBpcyBpbnRlcmNlcHRpbmcgYW5kIGhhbmRsaW5nIGl0cyBvd24gTVNSIGFjY2Vzc2VzLCB3aHkgYm90aGVyIEwwIHdpdGggdGhhdCBvdmVyaGVhZD8gQnV0LCB0aGVyZSBpcyBhIHJlYXNvbiBmb3IgcmVtb3ZpbmcgaXQuIEkgd291bGQgbmVlZCB0byBmaW5kIG91dCAqd2h5KiB0aGlzIGlzIGJlaW5nIHJlbW92ZWQuIFdoYXQgaXMgdGhlIGltcGFjdD8gV2hhdCBpcyB0aGUgcmF0aW9uYWxlIGJlaGluZCByZW1vdmluZyB0aGlzIGNoZWNrPyBJcyB0aGVyZSBhIHBlcmZvcm1hbmNlIHByb2JsZW0gdGhpcyBpcyByZXNvbHZpbmc/IElzIHRoaXMgYSBidWcgZml4PyBPciBpcyB0aGlzIGNoYW5nZSByZWxhdGVkIHRvIGEgbmV3IGZlYXR1cmU/IEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBpbXBsaWNhdGlvbnMgb2YgcmVtb3ZpbmcgdGhpcyBvcHRpbWl6YXRpb24sIHBhcnRpY3VsYXJseSBpbiBhIG5lc3RlZCB2aXJ0dWFsaXphdGlvbiBjb250ZXh0LiBXaGF0IGFyZSB0aGUgcG90ZW50aWFsIGNvbnNlcXVlbmNlcyBvZiBhbHdheXMgdXBkYXRpbmcgdGhlIEwwIE1TUiBiaXRtYXAsIGV2ZW4gd2hlbiB0aGUgTDEgZ3Vlc3QgaXMgbWFuYWdpbmcgaXQ/IFRoZSBwYXRjaCBkZXNjcmlwdGlvbiBzaG91bGQgcHJvdmlkZSBjbHVlcywgYW5kIHRoZSByZWxldmFudCBtYWlsaW5nIGxpc3QgZGlzY3Vzc2lvbnMgb3IgYnVnIHJlcG9ydHMgd291bGQgYmUgdmVyeSBoZWxwZnVsLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2F2aWNfZGVhY3RpdmF0ZV92bWNiJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL3N2bS9hdmljLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MTc0PXN0YXRpYyB2b2lkIGF2aWNfYWN0aXZhdGVfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSlcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0yMzItXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzoyMzM6c3RhdGljIHZvaWQgYXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0yMzQte1xuLS1cbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTM2OD12b2lkIGF2aWNfaW5pdF92bWNiKHN0cnVjdCB2Y3B1X3N2bSAqc3ZtLCBzdHJ1Y3Qgdm1jYiAqdm1jYilcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zNzktXHRlbHNlXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzozODA6XHRcdGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN2bSk7XG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zODEtfVxuLS1cbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTExNTM9dm9pZCBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxuLS1cbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTExNzEtXHR9IGVsc2Uge1xuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MTE3MjpcdFx0YXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3ZtKTtcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTExNzMtXHR9XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzEyMgoJCQkJCQkJb3V0cHV0OiA0NAoJCQkJCQkJdGhvdWdodHM6IDEzNgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBLVk0gU1ZNIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdGFraW5nIG91dCBhIGNoZWNrIHdpdGhpbiBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgLiBJbnRlcmVzdGluZy4gVGhhdCBmdW5jdGlvbiBnZXRzIGNhbGxlZCBmcm9tIGJvdGggYGF2aWNfaW5pdF92bWNiYCBhbmQgYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWAuIFRoaXMgaXMgZGVmaW5pdGVseSBLVk0gU1ZNIGNvZGUsIHdoaWNoIG1lYW5zIGl0JiMzOTtzIGZ1enphYmxlIC0gYWx3YXlzIGEgZ29vZCBzdGFydGluZyBwb2ludCBmb3IgaW52ZXN0aWdhdGlvbi4gTXkgZm9jdXMgaXMgZ29pbmcgdG8gYmUgb24gYGF2aWNfaW5pdF92bWNiYCBhbmQgYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWAsIHNpbmNlIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgaXMgc3RhdGljIGFuZCBJIGNhbiB0cmFjZSB0aG9zZSBjYWxscy4gVGltZSB0byBkaXZlIGludG8gdGhlIGNvZGUuIEkmIzM5O2xsIHN0YXJ0IGJ5IGNoZWNraW5nIG91dCBgYXJjaC94ODYva3ZtL3N2bS9hdmljLmNgIGFuZCBkaWdnaW5nIGludG8gdGhvc2UgdHdvIGtleSBmdW5jdGlvbnMuIExldCYjMzk7cyBzZWUgd2hhdCB2dWxuZXJhYmlsaXRpZXMgbWlnaHQgYmUgZXhwb3NlZCBieSB0aGlzIGNoYW5nZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDthdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDthcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0xMTIwPXZvaWQgYXZpY192Y3B1X3B1dChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpXG4tLVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE1Mi1cbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jOjExNTM6dm9pZCBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE1NC17XG4tLVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MTE3Nz12b2lkIGF2aWNfcmVmcmVzaF9hcGljdl9leGVjX2N0cmwoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxuLS1cbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTExODQtXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzoxMTg1Olx0YXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlKHZjcHUpO1xuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE4Ni1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNzUwCgkJCQkJCQlvdXRwdXQ6IDM2CgkJCQkJCQl0aG91Z2h0czogOQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB0aG91Z2h0IHByb2Nlc3MsIHN1bW1hcml6ZWQgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoaXMgbXlzZWxmOgoKKipLY29uZmlnIGFuZCBTVk0gLSBMZXQmIzM5O3MgRGlnIEluKioKCk9rYXksIGZpcnN0IHRoaW5ncyBmaXJzdCwgSSBuZWVkIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZpbGVzLiBTcGVjaWZpY2FsbHksIEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgU1ZNIOKAkyBTZWN1cmUgVmlydHVhbCBNYWNoaW5lcy4gVGhhdCYjMzk7cyB3aGVyZSBJIG5lZWQgdG8gc3RhcnQuIEkga25vdyB0aGVyZSBhcmUgbGlrZWx5IHNldmVyYWwgS2NvbmZpZyBmaWxlcyBpbnZvbHZlZCwgZGVwZW5kaW5nIG9uIHRoZSBhcmNoaXRlY3R1cmUgYW5kIGh5cGVydmlzb3IgYmVpbmcgdXNlZCwgc28gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhlIHJlbGV2YW50IG9wdGlvbnMgYXJlIGRlZmluZWQuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBzZWFyY2ggZm9yIGtleXdvcmRzIHJlbGF0ZWQgdG8gU1ZNLCB2aXJ0dWFsaXphdGlvbiwgYW5kIHNlY3VyaXR5IHdpdGhpbiB0aGUgS2NvbmZpZyBzeXN0ZW0uIEkmIzM5O20gbG9va2luZyBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0aGF0IGVuYWJsZSwgZGlzYWJsZSwgb3IgY29uZmlndXJlIFNWTSBmZWF0dXJlcy4gSG9wZWZ1bGx5LCB0aGUgbmFtaW5nIGNvbnZlbnRpb25zIGFyZSBzZW5zaWJsZSBhbmQgdGhlIGRvY3VtZW50YXRpb24sIGlmIGFueSwgaXMgY2xlYXIuIEl0JiMzOTtzIGEgZnVuZGFtZW50YWwgc3RlcCB0byBlbnN1cmUgdGhlIGNvcnJlY3QgZmVhdHVyZXMgYXJlIGVuYWJsZWQgZm9yIHRoZSBjdXJyZW50IHN5c3RlbSBjb25maWd1cmF0aW9uLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBLVk1fQU1EJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL0tjb25maWc9MTM0PWNvbmZpZyBLVk1fSU5URUxfVERYXG4tLVxuYXJjaC94ODYva3ZtL0tjb25maWctMTQ1LVxuYXJjaC94ODYva3ZtL0tjb25maWc6MTQ2OmNvbmZpZyBLVk1fQU1EXG5hcmNoL3g4Ni9rdm0vS2NvbmZpZy0xNDctXHR0cmlzdGF0ZSBcJiMzNDtLVk0gZm9yIEFNRCBwcm9jZXNzb3JzIHN1cHBvcnRcJiMzNDtcbi0tXG5hcmNoL3g4Ni9rdm0vS2NvbmZpZy0xNTUtXG5hcmNoL3g4Ni9rdm0vS2NvbmZpZzoxNTY6Y29uZmlnIEtWTV9BTURfU0VWXG5hcmNoL3g4Ni9rdm0vS2NvbmZpZy0xNTctXHRib29sIFwmIzM0O0FNRCBTZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9uIChTRVYpIHN1cHBvcnRcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MTU3CgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogMjUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqQW5hbHl6aW5nIHRoZSBLVk1fQU1EIENvbmZpZ3VyYXRpb24qKgoKUmlnaHQsIHNvIHdlJiMzOTtyZSBsb29raW5nIGF0IGEgYEtWTV9BTURgIGNvbmZpZ3VyYXRpb24uIE15IGZpcnN0IGluc3RpbmN0LCBhcyBhbHdheXMsIGlzIHRvIHVuZGVyc3RhbmQgaXRzIGRlcGVuZGVuY2llcy4gSSB3YW50IHRvIGtub3cgd2hhdCBvdGhlciBjb21wb25lbnRzIG9yIHNldHRpbmdzIHRoaXMgcmVsaWVzIG9uLiBUaGlzIGlzbiYjMzk7dCBqdXN0IGFib3V0IHNpbXBsZSBkZXBlbmRlbmNpZXM7IGl0JiMzOTtzIGFib3V0IHRoZSBiaWdnZXIgcGljdHVyZS4gQXJlIHRoZXJlIGFueSBzdWJ0bGUgaW1wbGljYXRpb25zIG9yIGludGVyYWN0aW9ucyB3aXRoIG90aGVyIGZlYXR1cmVzIEkgbmVlZCB0byBiZSBhd2FyZSBvZj8gQXJlIHRoZXJlIHBvdGVudGlhbCBjb25mbGljdHMgd2l0aCBvdGhlciBtb2R1bGVzPyBBIGRlZXAgZGl2ZSBpbnRvIGRlcGVuZGVuY2llcyBpcyBjcnVjaWFsIGZvciBwcmVkaWN0aW5nIGJlaGF2aW91ciwgZGVidWdnaW5nIGlzc3VlcywgYW5kIHVuZGVyc3RhbmRpbmcgdGhlIG92ZXJhbGwgc3lzdGVtIGFyY2hpdGVjdHVyZS4gTGV0JiMzOTtzIHNlZSB3aGF0IHdlIGNhbiBkaWcgdXAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL0tjb25maWcmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxNDAsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMjAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDE0MDpcdFx0aGVscFxuIDE0MTpcdFx0ICBQcm92aWRlcyBzdXBwb3J0IGZvciBsYXVuY2hpbmcgSW50ZWwgVHJ1c3QgRG9tYWluIEV4dGVuc2lvbnMgKFREWClcbiAxNDI6XHRcdCAgY29uZmlkZW50aWFsIFZNcyBvbiBJbnRlbCBwcm9jZXNzb3JzLlxuIDE0MzpcdFxuIDE0NDpcdFx0ICBJZiB1bnN1cmUsIHNheSBOLlxuIDE0NTpcdFxuIDE0NjpcdGNvbmZpZyBLVk1fQU1EXG4gMTQ3Olx0XHR0cmlzdGF0ZSBcJiMzNDtLVk0gZm9yIEFNRCBwcm9jZXNzb3JzIHN1cHBvcnRcJiMzNDtcbiAxNDg6XHRcdGRlcGVuZHMgb24gS1ZNIFx1MDAyNlx1MDAyNiAoQ1BVX1NVUF9BTUQgfHwgQ1BVX1NVUF9IWUdPTilcbiAxNDk6XHRcdGhlbHBcbiAxNTA6XHRcdCAgUHJvdmlkZXMgc3VwcG9ydCBmb3IgS1ZNIG9uIEFNRCBwcm9jZXNzb3JzIGVxdWlwcGVkIHdpdGggdGhlIEFNRC1WXG4gMTUxOlx0XHQgIChTVk0pIGV4dGVuc2lvbnMuXG4gMTUyOlx0XG4gMTUzOlx0XHQgIFRvIGNvbXBpbGUgdGhpcyBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZVxuIDE1NDpcdFx0ICB3aWxsIGJlIGNhbGxlZCBrdm0tYW1kLlxuIDE1NTpcdFxuIDE1NjpcdGNvbmZpZyBLVk1fQU1EX1NFVlxuIDE1NzpcdFx0Ym9vbCBcJiMzNDtBTUQgU2VjdXJlIEVuY3J5cHRlZCBWaXJ0dWFsaXphdGlvbiAoU0VWKSBzdXBwb3J0XCYjMzQ7XG4gMTU4Olx0XHRkZWZhdWx0IHlcbiAxNTk6XHRcdGRlcGVuZHMgb24gS1ZNX0FNRCBcdTAwMjZcdTAwMjYgWDg2XzY0XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ2NjUKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiA1MAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aGF0LgoKKipBbmFseXppbmcgS1ZNX0FNRCBEZXBlbmRlbmNpZXMqKgoKUmlnaHQsIHNvIEkmIzM5O20gbG9va2luZyBhdCBgS1ZNX0FNRGAuIEl0JiMzOTtzIHByZXR0eSBzdHJhaWdodGZvcndhcmQsIGl0IGRlcGVuZHMgb24gYEtWTWAsIHdoaWNoIGlzIGV4cGVjdGVkLiBCdXQgdGhlbiB0aGVyZSYjMzk7cyB0aGlzIGNvbmRpdGlvbmFsIGRlcGVuZGVuY3k6IGAoQ1BVX1NVUF9BTUQgfHwgQ1BVX1NVUF9IWUdPTilgLiAgQ2xlYXJseSwgYEtWTV9BTURgIG5lZWRzIGVpdGhlciBBTUQgb3IgSHlnb24gQ1BVIHN1cHBvcnQgdG8gZnVuY3Rpb24gY29ycmVjdGx5LiBNYWtlcyBwZXJmZWN0IHNlbnNlLiBNeSBuZXh0IHN0ZXA/IEkgbmVlZCB0byBkaWcgaW50byBgQ1BVX1NVUF9BTURgIGFuZCBgQ1BVX1NVUF9IWUdPTmAgYW5kIGZpZ3VyZSBvdXQgZXhhY3RseSB3aGF0IHRob3NlIGFyZSBkZWZpbmVkIGFzLCBpZiB0aGV5IGFyZSBib3RoIGRlZmluZWQsIGFuZCB3aGF0IHRob3NlIGRlZmluaXRpb25zIG1lYW4uIEl0JiMzOTtzIHRpbWUgdG8gZm9sbG93IHRoZSB0cmFpbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgQ1BVX1NVUF9BTUQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDthcmNoL3g4Ni9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDkyMQoJCQkJCQkJb3V0cHV0OiAzNgoJCQkJCQkJdGhvdWdodHM6IDE2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHRha2Ugb24gdGhlIHRob3VnaHQgcHJvY2VzczoKCioqRGl2aW5nIGludG8gdGhlIHg4NiBBcmNoaXRlY3R1cmUgQ29uZmlndXJhdGlvbioqCgpPa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgc29tZXRoaW5nIHJlbGF0ZWQgdG8gdGhlIHg4NiBhcmNoaXRlY3R1cmUgd2l0aGluIHRoaXMga2VybmVsIGJ1aWxkLiBXaGVyZSB3b3VsZCB0aGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbnMgYmUgbG9jYXRlZD8gTGV0JiMzOTtzIHN0YXJ0IHdpdGggYSBjbGFzc2ljOiBJJiMzOTtsbCBjaGVjayBgYXJjaC94ODYvS2NvbmZpZy5jcHVgLiBUaGlzIGZpbGUgaXMgdXN1YWxseSB0aGUgcGxhY2UgdG8gZ28gZm9yIENQVS1zcGVjaWZpYyBjb25maWd1cmF0aW9uIG9wdGlvbnMuIEkmIzM5O20gaG9waW5nIHRvIGZpbmQgdGhlIHJlbGV2YW50IHBpZWNlcyBvZiB0aGUgcHV6emxlIHRoZXJlLiBUaGlzIGlzIGxpa2VseSB3aGVyZSB0aGUgY29yZSBhcmNoaXRlY3R1cmUgZmVhdHVyZXMsIGxpa2UgQ1BVIG1vZGVscywgZmVhdHVyZXMgYW5kIG9wdGltaXphdGlvbnMsIGFyZSBkZWZpbmVkLiBGcm9tIHRoZXJlLCBJIGNhbiBicmFuY2ggb3V0IGFzIG5lZWRlZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIENQVV9TVVBfQU1EJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC94ODYvS2NvbmZpZy5jcHUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC94ODYvS2NvbmZpZy5jcHU9MzU0PWNvbmZpZyBDUFVfU1VQX0NZUklYXzMyXG4tLVxuYXJjaC94ODYvS2NvbmZpZy5jcHUtMzY3LVxuYXJjaC94ODYvS2NvbmZpZy5jcHU6MzY4OmNvbmZpZyBDUFVfU1VQX0FNRFxuYXJjaC94ODYvS2NvbmZpZy5jcHUtMzY5LVx0ZGVmYXVsdCB5XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUyMTEKCQkJCQkJCW91dHB1dDogNDIKCQkJCQkJCXRob3VnaHRzOiA2NwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBzdW1tYXJ5LCBhcyBJIHNlZSBpdDoKCioqRXhhbWluaW5nIEFNRCBDUFUgU3VwcG9ydCBpbiB0aGUgS2VybmVsIENvbmZpZ3VyYXRpb24qKgoKT2theSwgc28gYENQVV9TVVBfQU1EYCBpcyBzZXQgdG8gJiMzNDt5JiMzNDsgYnkgZGVmYXVsdC4gVGhhdCYjMzk7cyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQuIFRoaXMgbWVhbnMsIGJ5IGltcGxpY2F0aW9uLCB0aGF0IGBLVk1gIGFuZCBgS1ZNX0FNRGAgYXJlIHByb2JhYmx5IHN1ZmZpY2llbnQgZm9yIHRoZSBmdW5kYW1lbnRhbCBBTUQgdmlydHVhbGl6YXRpb24gc3VwcG9ydCwgYXQgbGVhc3QgaW5pdGlhbGx5LiBJJiMzOTttIGdvaW5nIHRvIHByb2NlZWQgYXNzdW1pbmcgdGhhdCYjMzk7cyB0aGUgY2FzZS4KCk5vdywgSSB3YW50IHRvIGNvbmZpcm0gc29tZXRoaW5nIHNwZWNpZmljIGFib3V0IHRoZSBpbXBsZW1lbnRhdGlvbi4gSSBuZWVkIHRvIHNlZSBob3cgdGhlIHJlZnJlc2ggbWVjaGFuaXNtIGZ1bmN0aW9ucy4gSSYjMzk7bSBnb2luZyB0byBjaGVjayBpZiB0aGUgYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWAgZnVuY3Rpb24gaXMgcmVhY2hhYmxlLiBJIHJlY2FsbCB0aGF0IGl0JiMzOTtzIGNhbGxlZCBmcm9tIGBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsYCwgc28gSSYjMzk7bGwgdmVyaWZ5IHRoZSBjYWxsIHBhdGggYW5kIGVuc3VyZSB0aGF0IHRoZSBjb250cm9sIGZsb3cgaXMgYXMgZXhwZWN0ZWQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2F2aWNfcmVmcmVzaF9hcGljdl9leGVjX2N0cmwmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDthcmNoL3g4Ni9rdm0vc3ZtLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0xMTUzPXZvaWQgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTc2LVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MTE3Nzp2b2lkIGF2aWNfcmVmcmVzaF9hcGljdl9leGVjX2N0cmwoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE3OC17XG4tLVxuYXJjaC94ODYva3ZtL3N2bS9zdm0uYz01MzI1PXN0cnVjdCBrdm1feDg2X29wcyBzdm1feDg2X29wcyBfX2luaXRkYXRhID0ge1xuLS1cbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmMtNTQwNi1cdC5zZXRfdmlydHVhbF9hcGljX21vZGUgPSBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUsXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5jOjU0MDc6XHQucmVmcmVzaF9hcGljdl9leGVjX2N0cmwgPSBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsLFxuYXJjaC94ODYva3ZtL3N2bS9zdm0uYy01NDA4LVx0LmFwaWN2X3Bvc3Rfc3RhdGVfcmVzdG9yZSA9IGF2aWNfYXBpY3ZfcG9zdF9zdGF0ZV9yZXN0b3JlLFxuLS1cbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmg9OTU3PXZvaWQgYXZpY19hcGljdl9wb3N0X3N0YXRlX3Jlc3RvcmUoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KTtcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmg6OTU4OnZvaWQgYXZpY19yZWZyZXNoX2FwaWN2X2V4ZWNfY3RybChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpO1xuYXJjaC94ODYva3ZtL3N2bS9zdm0uaC05NTktaW50IGF2aWNfcGlfdXBkYXRlX2lydGUoc3RydWN0IGt2bV9rZXJuZWxfaXJxZmQgKmlycWZkLCBzdHJ1Y3Qga3ZtICprdm0sXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU5NzEKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAyOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6CgoqKkRpdmluZyBpbnRvIHRoZSBLVk0geDg2IE9wcyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgc29tZXRoaW5nIHRoYXQmIzM5O3MgY2xlYXJseSBpbnRlcnR3aW5lZCB3aXRoIHRoZSBga3ZtX3g4Nl9vcHNgIHN0cnVjdHVyZS4gVGhpcyBsaWtlbHkgbWVhbnMgaXQmIzM5O3MgYSBjcml0aWNhbCBjb21wb25lbnQgZm9yIGhhbmRsaW5nIHNwZWNpZmljIHg4NiB2aXJ0dWFsaXphdGlvbiBvcGVyYXRpb25zIHdpdGhpbiBLVk0uIE15IG1lbnRhbCBjaGVja2xpc3Qga2lja3MgaW46IEkgbmVlZCB0byBxdWlja2x5IGdyYXNwIHRoZSBjb250ZXh0LiBUaGUgc3BlY2lmaWMgZnVuY3Rpb24gb2YgaW50ZXJlc3QgaXMgYGF2aWNfaW5pdF92bWNiYC4gU2luY2UgaXQgaW52b2x2ZXMgdGhlIEFkdmFuY2VkIFZpcnR1YWwgSW50ZXJydXB0IENvbnRyb2xsZXIgKEFWSUMpLCB0aGlzIHBvaW50cyB0b3dhcmRzIGhvdyB3ZSYjMzk7cmUgc2V0dGluZyB1cCB0aGUgVmlydHVhbCBNYWNoaW5lIENvbnRyb2wgQmxvY2sgKFZNQ0IpIHN0cnVjdHVyZSBmb3IgaGFuZGxpbmcgaW50ZXJydXB0cyB3aXRoaW4gbmVzdGVkIHZpcnR1YWxpemF0aW9uIGNvbnRleHRzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIGludGVycnVwdCBpbmplY3Rpb24gd29ya3MuIEkgYW0gcHJvYmFibHkgZXhhbWluaW5nIHRoZSBsb2dpYyB0aGF0IGdvdmVybnMgdGhlIHNldHVwLCBpbmplY3Rpb24gYW5kIGRlbGl2ZXJ5LiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhpcyBmdW5jdGlvbiBpcyBpbnRlZ3JhdGVkIGludG8gdGhlIGxhcmdlciBpbnRlcnJ1cHQgZGVsaXZlcnkgc2NoZW1lIGZvciBuZXN0ZWQgdmlydHVhbGl6YXRpb24gd2l0aCBBVklDLCBwYXJ0aWN1bGFybHkgaG93IGl0IGludGVyYWN0cyB3aXRoIHRoZSBoeXBlcnZpc29yJiMzOTtzIGludGVycnVwdCBoYW5kbGluZyBhbmQgZ3Vlc3QmIzM5O3MgaW50ZXJydXB0IG1hbmFnZW1lbnQuIEkgYW0gY29uc2lkZXJpbmcgdGhlIGludHJpY2FjaWVzIG9mIFZNWCBvcGVyYXRpb24uIExldCYjMzk7cyBkaWcgaW4gYW5kIHNlZSB3aGF0JiMzOTtzIGFjdHVhbGx5IGdvaW5nIG9uIGluIGBhdmljX2luaXRfdm1jYmAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2F2aWNfaW5pdF92bWNiJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL3N2bS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MzYzPXN0YXRpYyBwaHlzX2FkZHJfdCBhdmljX2dldF9iYWNraW5nX3BhZ2VfYWRkcmVzcyhzdHJ1Y3QgdmNwdV9zdm0gKnN2bSlcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zNjctXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzozNjg6dm9pZCBhdmljX2luaXRfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSwgc3RydWN0IHZtY2IgKnZtY2IpXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zNjkte1xuLS1cbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmM9MTEyMT1zdGF0aWMgdm9pZCBpbml0X3ZtY2Ioc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBib29sIGluaXRfZXZlbnQpXG4tLVxuYXJjaC94ODYva3ZtL3N2bS9zdm0uYy0xMjQ5LVx0aWYgKGVuYWJsZV9hcGljdiBcdTAwMjZcdTAwMjYgaXJxY2hpcF9pbl9rZXJuZWwodmNwdS1cdTAwM2Vrdm0pKVxuYXJjaC94ODYva3ZtL3N2bS9zdm0uYzoxMjUwOlx0XHRhdmljX2luaXRfdm1jYihzdm0sIHZtY2IpO1xuYXJjaC94ODYva3ZtL3N2bS9zdm0uYy0xMjUxLVxuLS1cbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmg9OTUwPWludCBhdmljX3ZtX2luaXQoc3RydWN0IGt2bSAqa3ZtKTtcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmg6OTUxOnZvaWQgYXZpY19pbml0X3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0sIHN0cnVjdCB2bWNiICp2bWNiKTtcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmgtOTUyLWludCBhdmljX2luY29tcGxldGVfaXBpX2ludGVyY2VwdGlvbihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE5LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2Njk0CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogMTIzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQXZpYyBWTUNCIEluaXRpYWxpemF0aW9uIGFuZCBEZWFjdGl2YXRpb24qKgoKT2theSwgc28gYGF2aWNfaW5pdF92bWNiYCBpcyBjYWxsZWQgZnJvbSBgaW5pdF92bWNiYC4gVGhhdCYjMzk7cyBhIGRpcmVjdCBjb25uZWN0aW9uIGFuZCBzb21ldGhpbmcgSSBjYW4gZGVmaW5pdGVseSBnZXQgbXkgaGFuZHMgb24gYW5kIHRlc3QuIFRoZSBjb3JlIG9mIHRoaXMgcGF0Y2ggc2VlbXMgdG8gYmUgcmVtb3ZpbmcgYSBjaGVjayB3aXRoaW4gYGF2aWNfZGVhY3RpdmF0ZV92bWNiYC4gTm93LCBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGl0c2VsZiBpcyBjYWxsZWQgYnkgYm90aCBgYXZpY19pbml0X3ZtY2JgIGFuZCBgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYC4gR2l2ZW4gdGhhdCwgbXkgcHJpbWFyeSBmb2N1cyBuZWVkcyB0byBiZSBvbiB1bmRlcnN0YW5kaW5nIHRoZSBpbXBsaWNhdGlvbnMgZm9yIHRob3NlIHR3byBmdW5jdGlvbnMsIHNwZWNpZmljYWxseSBgYXZpY19pbml0X3ZtY2JgIGFuZCBgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYC4gVGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zIGFyZSBgS1ZNYCBhbmQgYEtWTV9BTURgLCBJIG5lZWQgdG8ga2VlcCB0aG9zZSBpbiBtaW5kIGFzIHRoZXkgbGlrZWx5IGluZmx1ZW5jZSB0aGUgYmVoYXZpb3IuCgpCZWZvcmUgSSBnbyBmdXJ0aGVyLCBJIHNob3VsZCB2ZXJpZnkgdGhhdCB0aGVyZSBhcmVuJiMzOTt0IGFueSBvdGhlciBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcy4gSSYjMzk7bGwgdGFrZSBhIHF1aWNrIGxvb2sgYXJvdW5kIHRvIG1ha2Ugc3VyZSBJIGhhdmVuJiMzOTt0IG1pc3NlZCBhbnl0aGluZyBvYnZpb3VzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDthdmljX2RlYWN0aXZhdGVfdm1jYiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2FyY2gveDg2L2t2bS9zdm0vJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2FyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTE3ND1zdGF0aWMgdm9pZCBhdmljX2FjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pXG4tLVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMjMyLVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MjMzOnN0YXRpYyB2b2lkIGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN0cnVjdCB2Y3B1X3N2bSAqc3ZtKVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMjM0LXtcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0zNjg9dm9pZCBhdmljX2luaXRfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSwgc3RydWN0IHZtY2IgKnZtY2IpXG4tLVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMzc5LVx0ZWxzZVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MzgwOlx0XHRhdmljX2RlYWN0aXZhdGVfdm1jYihzdm0pO1xuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMzgxLX1cbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0xMTUzPXZvaWQgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTcxLVx0fSBlbHNlIHtcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jOjExNzI6XHRcdGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN2bSk7XG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTczLVx0fVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIxLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA3NDUzCgkJCQkJCQlvdXRwdXQ6IDEyNwoJCQkJCQkJdGhvdWdodHM6IDk0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQVZJQyBEZWFjdGl2YXRpb24gTW9kaWZpY2F0aW9uKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpdCYjMzk7cyBoaXR0aW5nIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAuIE15IGluaXRpYWwgZm9jdXMsIGFzIGFsd2F5cywgaXMgb24gdGhlIGNvcmUgZnVuY3Rpb25hbGl0eSwgYW5kIHRoaXMgaXMgZGVmaW5pdGVseSB0aWVkIHRvIGNyaXRpY2FsIEtWTS1TVk0gbG9naWMuIFNwZWNpZmljYWxseSwgdGhpcyBmdW5jdGlvbiBpcyB1c2VkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIGFuZCB0aGUgcmVmcmVzaCBvZiB0aGUgQVBJQyBtb2RlLCB3aGljaCBpcyByaWdodCBpbiB0aGUgaGVhcnQgb2YgdGhlIHZpcnR1YWxpemVkIEFQSUMgaGFuZGxpbmcuIFRoYXQgbWVhbnMgYW55IGNoYW5nZSBoZXJlIGhhcyB0aGUgcG90ZW50aWFsIHRvIGltcGFjdCB0aGUgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZSBvZiBvdXIgbmVzdGVkIHZpcnR1YWxpemF0aW9uLCBvciBldmVuIG1vcmUgY3JpdGljYWxseSB0aGUgd2hvbGUgVk0uCgpUaGUgcHJpbWFyeSBjaGFuZ2Ugc2VlbXMgdG8gYmUgd2l0aGluIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAuIFRoZSByZWxhdGVkIHN5bWJvbHMgYmVpbmcgZmxhZ2dlZCBhcmUgYGF2aWNfaW5pdF92bWNiYCBhbmQgYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWAgd2hpY2ggbWFrZXMgc2Vuc2UsIGdpdmVuIHRoZSBjbG9zZSByZWxhdGlvbnNoaXAgdGhleSBzaGFyZSB3aXRoIHRoZSBmdW5jdGlvbiBpbiBmb2N1cy4KCkl0IGxvb2tzIGxpa2UgdGhlIGNvbmZpZ3VyYXRpb25zIGludm9sdmVkIGFyZSBgS1ZNYCBhbmQgYEtWTV9BTURgLCBzbyB0aGlzIGlzIHRhcmdldGVkIGF0IEFNRCBoYXJkd2FyZSBzcGVjaWZpY2FsbHksIHdoaWNoIEkmIzM5O2QgZXhwZWN0LiBUaGUgc3RhdGVkIHJlYXNvbmluZyBpcyB0aGUgcmVtb3ZhbCBvZiBhIHNwZWNpZmljIGNoZWNrLiBUaGF0JiMzOTtzIHRoZSBjcnV4IG9mIHRoaXMuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgY29uZGl0aW9uIHdhcyBiZWluZyBjaGVja2VkLCB3aHkgaXQgd2FzIHJlbW92ZWQsIGFuZCB3aGF0IHRoZSBwb3RlbnRpYWwgaW1wbGljYXRpb25zIGFyZSBmb3IgdGhlc2UgdHdvIGtleSBmdW5jdGlvbnMuIFdoYXQgYXJlIHRoZSBzcGVjaWZpYyBwZXJmb3JtYW5jZSBpbXBsaWNhdGlvbnMgZm9yIG5lc3RlZCB2aXJ0dWFsaXphdGlvbiB3aXRoIHRoaXMgY2hhbmdlPyBJcyB0aGlzIGEgcG90ZW50aWFsIHNlY3VyaXR5IGZpeCwgb3IgYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24/IEkgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIGNvZGUgYW5kIHRoZSBjb21taXQgbWVzc2FnZSB0byBmdWxseSBncmFzcCB0aGUgcmF0aW9uYWxlIGFuZCB0aGUgdHJhZGUtb2ZmcyBpbnZvbHZlZC4gTGV0JiMzOTtzIHNlZSBpZiB0aGUgY29tbWl0IG1lc3NhZ2Ugc2hlZHMgc29tZSBsaWdodCBvciBpZiBJIG5lZWQgdG8gc3RhcnQgdHJhY2luZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0tWTSYjMzQ7LAogICAgJiMzNDtLVk1fQU1EJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YXZpY19pbml0X3ZtY2ImIzM0OywKICAgICYjMzQ7YXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgaW4gS1ZNIFNWTSBjb2RlLCB3aGljaCBpcyBjYWxsZWQgZHVyaW5nIFZNQ0IgaW5pdGlhbGl6YXRpb24gKGBhdmljX2luaXRfdm1jYmApIGFuZCBBUElDIG1vZGUgcmVmcmVzaCAoYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWApLiBUaGlzIGlzIGNvcmUgS1ZNIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtLVk0mIzM0OywKICAgICYjMzQ7S1ZNX0FNRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2F2aWNfaW5pdF92bWNiJiMzNDssCiAgICAmIzM0O2F2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGluIEtWTSBTVk0gY29kZSwgd2hpY2ggaXMgY2FsbGVkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIChgYXZpY19pbml0X3ZtY2JgKSBhbmQgQVBJQyBtb2RlIHJlZnJlc2ggKGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgKS4gVGhpcyBpcyBjb3JlIEtWTSBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDA1OjQ1OjI5LjIxNzcwNzE5M1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM5MjM2NDk1NTQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIktWTVwiLFxuICAgIFwiS1ZNX0FNRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImF2aWNfaW5pdF92bWNiXCIsXG4gICAgXCJhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGluIEtWTSBTVk0gY29kZSwgd2hpY2ggaXMgY2FsbGVkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIChgYXZpY19pbml0X3ZtY2JgKSBhbmQgQVBJQyBtb2RlIHJlZnJlc2ggKGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgKS4gVGhpcyBpcyBjb3JlIEtWTSBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6MjkuMjE3NzE1MTQzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMTA0MTkxMzcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAzZThjNjI2NWZiMGZmMDA0MTA4MjVjMDU2YzVjZGRkN2EzMjYxYTJiXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBGcmkgSnVsIDMxIDA1OjQ1OjI4IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS9zdm0vYXZpYy5jIGIvYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcXG5pbmRleCA1OGU0OTNhODBjYjBlLi4xNmUwOWE4ZmU4NWUxIDEwMDY0NFxcbi0tLSBhL2FyY2gveDg2L2t2bS9zdm0vYXZpYy5jXFxuKysrIGIvYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcXG5AQCAtMjQwLDE0ICsyNDAsNiBAQCBzdGF0aWMgdm9pZCBhdmljX2RlYWN0aXZhdGVfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSlcXG4gXFx0aWYgKCFpc19zZXZfZXNfZ3Vlc3QoXFx1MDAyNnN2bS1cXHUwMDNldmNwdSkpXFxuIFxcdFxcdHN2bV9zZXRfaW50ZXJjZXB0KHN2bSwgSU5URVJDRVBUX0NSOF9XUklURSk7XFxuIFxcbi1cXHQvKlxcbi1cXHQgKiBJZiBydW5uaW5nIG5lc3RlZCBhbmQgdGhlIGd1ZXN0IHVzZXMgaXRzIG93biBNU1IgYml0bWFwLCB0aGVyZVxcbi1cXHQgKiBpcyBubyBuZWVkIHRvIHVwZGF0ZSBMMCdzIG1zciBiaXRtYXBcXG4tXFx0ICovXFxuLVxcdGlmIChpc19ndWVzdF9tb2RlKFxcdTAwMjZzdm0tXFx1MDAzZXZjcHUpIFxcdTAwMjZcXHUwMDI2XFxuLVxcdCAgICB2bWNiMTJfaXNfaW50ZXJjZXB0KFxcdTAwMjZzdm0tXFx1MDAzZW5lc3RlZC5jdGwsIElOVEVSQ0VQVF9NU1JfUFJPVCkpXFxuLVxcdFxcdHJldHVybjtcXG4tXFxuIFxcdC8qIEVuYWJsaW5nIE1TUiBpbnRlcmNlcHQgZm9yIHgyQVBJQyByZWdpc3RlcnMgKi9cXG4gXFx0YXZpY19zZXRfeDJhcGljX21zcl9pbnRlcmNlcHRpb24oc3ZtLCB0cnVlKTtcXG4gfVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NToyOS41Mjg5NDE2OFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjM4OTI1MjUyMzYwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIktWTVwiLFxuICAgIFwiS1ZNX0FNRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImF2aWNfaW5pdF92bWNiXCIsXG4gICAgXCJhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGluIEtWTSBTVk0gY29kZSwgd2hpY2ggaXMgY2FsbGVkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIChgYXZpY19pbml0X3ZtY2JgKSBhbmQgQVBJQyBtb2RlIHJlZnJlc2ggKGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgKS4gVGhpcyBpcyBjb3JlIEtWTSBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgM2U4YzYyNjVmYjBmZjAwNDEwODI1YzA1NmM1Y2RkZDdhMzI2MWEyYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDMxIDA1OjQ1OjI4IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvYXJjaC94ODYva3ZtL3N2bS9hdmljLmMgYi9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuY1xuaW5kZXggNThlNDkzYTgwY2IwZS4uMTZlMDlhOGZlODVlMSAxMDA2NDRcbi0tLSBhL2FyY2gveDg2L2t2bS9zdm0vYXZpYy5jXG4rKysgYi9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuY1xuQEAgLTI0MCwxNCArMjQwLDYgQEAgc3RhdGljIHZvaWQgYXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pXG4gXHRpZiAoIWlzX3Nldl9lc19ndWVzdChcdTAwMjZzdm0tXHUwMDNldmNwdSkpXG4gXHRcdHN2bV9zZXRfaW50ZXJjZXB0KHN2bSwgSU5URVJDRVBUX0NSOF9XUklURSk7XG4gXG4tXHQvKlxuLVx0ICogSWYgcnVubmluZyBuZXN0ZWQgYW5kIHRoZSBndWVzdCB1c2VzIGl0cyBvd24gTVNSIGJpdG1hcCwgdGhlcmVcbi1cdCAqIGlzIG5vIG5lZWQgdG8gdXBkYXRlIEwwJ3MgbXNyIGJpdG1hcFxuLVx0ICovXG4tXHRpZiAoaXNfZ3Vlc3RfbW9kZShcdTAwMjZzdm0tXHUwMDNldmNwdSkgXHUwMDI2XHUwMDI2XG4tXHQgICAgdm1jYjEyX2lzX2ludGVyY2VwdChcdTAwMjZzdm0tXHUwMDNlbmVzdGVkLmN0bCwgSU5URVJDRVBUX01TUl9QUk9UKSlcbi1cdFx0cmV0dXJuO1xuLVxuIFx0LyogRW5hYmxpbmcgTVNSIGludGVyY2VwdCBmb3IgeDJBUElDIHJlZ2lzdGVycyAqL1xuIFx0YXZpY19zZXRfeDJhcGljX21zcl9pbnRlcmNlcHRpb24oc3ZtLCB0cnVlKTtcbiB9XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NToyOS41Mjg5NDMyWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTQxOTc1ODU0NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEtWTS9TVk0gQVZJQyBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBhcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuY2AuIEl0IHNlZW1zIHRvIGJlIHJlbW92aW5nIGEgc3BlY2lmaWMgY2hlY2sgd2l0aGluIHRoZSBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGZ1bmN0aW9uLiBMZXQncyBkaWcgaW4uIEl0J3MgdGFraW5nIG91dCB0aGlzIGNvbmRpdGlvbmFsIGJsb2NrOlxuXG5gYGBjXG4tXHQvKlxuLVx0ICogSWYgcnVubmluZyBuZXN0ZWQgYW5kIHRoZSBndWVzdCB1c2VzIGl0cyBvd24gTVNSIGJpdG1hcCwgdGhlcmVcbi1cdCAqIGlzIG5vIG5lZWQgdG8gdXBkYXRlIEwwJ3MgbXNyIGJpdG1hcFxuLVx0ICovXG4tXHRpZiAoaXNfZ3Vlc3RfbW9kZShcdTAwMjZzdm0tXHUwMDNldmNwdSkgXHUwMDI2XHUwMDI2XG4tXHQgICAgdm1jYjEyX2lzX2ludGVyY2VwdChcdTAwMjZzdm0tXHUwMDNlbmVzdGVkLmN0bCwgSU5URVJDRVBUX01TUl9QUk9UKSlcbi1cdFx0cmV0dXJuO1xuYGBgXG5cblJpZ2h0LCB0aGlzIGlzIHJlbGF0ZWQgdG8gbmVzdGVkIHZpcnR1YWxpemF0aW9uIG9uIEFNRCBwbGF0Zm9ybXMsIHNwZWNpZmljYWxseSB0aGUgaGFuZGxpbmcgb2YgTVNSIGJpdG1hcHMuIFRoZSBsb2dpYyBoZXJlIHdhcyBkZXNpZ25lZCB0byBhdm9pZCByZWR1bmRhbnQgdXBkYXRlcyB0byB0aGUgTDAgKGhvc3QpIE1TUiBiaXRtYXAgd2hlbiBuZXN0ZWQgZ3Vlc3RzIChMMSkgYXJlIG1hbmFnaW5nIHRoZWlyIG93bi4gVGhlIHJhdGlvbmFsZSBzb3VuZHMgcmVhc29uYWJsZSDigJMgaWYgdGhlIEwxIGd1ZXN0IGlzIGludGVyY2VwdGluZyBhbmQgaGFuZGxpbmcgaXRzIG93biBNU1IgYWNjZXNzZXMsIHdoeSBib3RoZXIgTDAgd2l0aCB0aGF0IG92ZXJoZWFkPyBCdXQsIHRoZXJlIGlzIGEgcmVhc29uIGZvciByZW1vdmluZyBpdC4gSSB3b3VsZCBuZWVkIHRvIGZpbmQgb3V0ICp3aHkqIHRoaXMgaXMgYmVpbmcgcmVtb3ZlZC4gV2hhdCBpcyB0aGUgaW1wYWN0PyBXaGF0IGlzIHRoZSByYXRpb25hbGUgYmVoaW5kIHJlbW92aW5nIHRoaXMgY2hlY2s/IElzIHRoZXJlIGEgcGVyZm9ybWFuY2UgcHJvYmxlbSB0aGlzIGlzIHJlc29sdmluZz8gSXMgdGhpcyBhIGJ1ZyBmaXg/IE9yIGlzIHRoaXMgY2hhbmdlIHJlbGF0ZWQgdG8gYSBuZXcgZmVhdHVyZT8gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyBvZiByZW1vdmluZyB0aGlzIG9wdGltaXphdGlvbiwgcGFydGljdWxhcmx5IGluIGEgbmVzdGVkIHZpcnR1YWxpemF0aW9uIGNvbnRleHQuIFdoYXQgYXJlIHRoZSBwb3RlbnRpYWwgY29uc2VxdWVuY2VzIG9mIGFsd2F5cyB1cGRhdGluZyB0aGUgTDAgTVNSIGJpdG1hcCwgZXZlbiB3aGVuIHRoZSBMMSBndWVzdCBpcyBtYW5hZ2luZyBpdD8gVGhlIHBhdGNoIGRlc2NyaXB0aW9uIHNob3VsZCBwcm92aWRlIGNsdWVzLCBhbmQgdGhlIHJlbGV2YW50IG1haWxpbmcgbGlzdCBkaXNjdXNzaW9ucyBvciBidWcgcmVwb3J0cyB3b3VsZCBiZSB2ZXJ5IGhlbHBmdWwuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIxNTQsIk91dHB1dFRva2VucyI6NDEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTozNC45NDg3MTEwNjZaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDczMDc5OTksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYXZpY19kZWFjdGl2YXRlX3ZtY2JcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MTc0PXN0YXRpYyB2b2lkIGF2aWNfYWN0aXZhdGVfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSlcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTIzMi1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzoyMzM6c3RhdGljIHZvaWQgYXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMjM0LXtcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTM2OD12b2lkIGF2aWNfaW5pdF92bWNiKHN0cnVjdCB2Y3B1X3N2bSAqc3ZtLCBzdHJ1Y3Qgdm1jYiAqdm1jYilcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTM3OS1cXHRlbHNlXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MzgwOlxcdFxcdGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN2bSk7XFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMzgxLX1cXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTExNTM9dm9pZCBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxcbi0tXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE3MS1cXHR9IGVsc2Uge1xcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jOjExNzI6XFx0XFx0YXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3ZtKTtcXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTczLVxcdH1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6MzQuOTk2MDI1MTk1WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzk4MTIyNjA0OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBLVk0gU1ZNIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyB0YWtpbmcgb3V0IGEgY2hlY2sgd2l0aGluIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAuIEludGVyZXN0aW5nLiBUaGF0IGZ1bmN0aW9uIGdldHMgY2FsbGVkIGZyb20gYm90aCBgYXZpY19pbml0X3ZtY2JgIGFuZCBgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYC4gVGhpcyBpcyBkZWZpbml0ZWx5IEtWTSBTVk0gY29kZSwgd2hpY2ggbWVhbnMgaXQncyBmdXp6YWJsZSAtIGFsd2F5cyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQgZm9yIGludmVzdGlnYXRpb24uIE15IGZvY3VzIGlzIGdvaW5nIHRvIGJlIG9uIGBhdmljX2luaXRfdm1jYmAgYW5kIGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgLCBzaW5jZSBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGlzIHN0YXRpYyBhbmQgSSBjYW4gdHJhY2UgdGhvc2UgY2FsbHMuIFRpbWUgdG8gZGl2ZSBpbnRvIHRoZSBjb2RlLiBJJ2xsIHN0YXJ0IGJ5IGNoZWNraW5nIG91dCBgYXJjaC94ODYva3ZtL3N2bS9hdmljLmNgIGFuZCBkaWdnaW5nIGludG8gdGhvc2UgdHdvIGtleSBmdW5jdGlvbnMuIExldCdzIHNlZSB3aGF0IHZ1bG5lcmFiaWxpdGllcyBtaWdodCBiZSBleHBvc2VkIGJ5IHRoaXMgY2hhbmdlLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMTIyLCJPdXRwdXRUb2tlbnMiOjQ0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTM2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDA1OjQ1OjM4Ljk3NzI1NDAyM1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo3NDYzMjgzOSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MTEyMD12b2lkIGF2aWNfdmNwdV9wdXQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxcbi0tXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE1Mi1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzoxMTUzOnZvaWQgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTU0LXtcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTExNzc9dm9pZCBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTExODQtXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MTE4NTpcXHRhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUodmNwdSk7XFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE4Ni1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6MzkuMDUxODkzNzUyWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mjc5MzE2MDYwNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2Vzcywgc3VtbWFyaXplZCBhcyBpZiBJIHdlcmUgY29uc2lkZXJpbmcgdGhpcyBteXNlbGY6XG5cbioqS2NvbmZpZyBhbmQgU1ZNIC0gTGV0J3MgRGlnIEluKipcblxuT2theSwgZmlyc3QgdGhpbmdzIGZpcnN0LCBJIG5lZWQgdG8gY2hlY2sgdGhlIEtjb25maWcgZmlsZXMuIFNwZWNpZmljYWxseSwgSSdtIHRoaW5raW5nIGFib3V0IFNWTSDigJMgU2VjdXJlIFZpcnR1YWwgTWFjaGluZXMuIFRoYXQncyB3aGVyZSBJIG5lZWQgdG8gc3RhcnQuIEkga25vdyB0aGVyZSBhcmUgbGlrZWx5IHNldmVyYWwgS2NvbmZpZyBmaWxlcyBpbnZvbHZlZCwgZGVwZW5kaW5nIG9uIHRoZSBhcmNoaXRlY3R1cmUgYW5kIGh5cGVydmlzb3IgYmVpbmcgdXNlZCwgc28gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhlIHJlbGV2YW50IG9wdGlvbnMgYXJlIGRlZmluZWQuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBzZWFyY2ggZm9yIGtleXdvcmRzIHJlbGF0ZWQgdG8gU1ZNLCB2aXJ0dWFsaXphdGlvbiwgYW5kIHNlY3VyaXR5IHdpdGhpbiB0aGUgS2NvbmZpZyBzeXN0ZW0uIEknbSBsb29raW5nIGZvciB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHRoYXQgZW5hYmxlLCBkaXNhYmxlLCBvciBjb25maWd1cmUgU1ZNIGZlYXR1cmVzLiBIb3BlZnVsbHksIHRoZSBuYW1pbmcgY29udmVudGlvbnMgYXJlIHNlbnNpYmxlIGFuZCB0aGUgZG9jdW1lbnRhdGlvbiwgaWYgYW55LCBpcyBjbGVhci4gSXQncyBhIGZ1bmRhbWVudGFsIHN0ZXAgdG8gZW5zdXJlIHRoZSBjb3JyZWN0IGZlYXR1cmVzIGFyZSBlbmFibGVkIGZvciB0aGUgY3VycmVudCBzeXN0ZW0gY29uZmlndXJhdGlvbi5cblxuXG4iLCJJbnB1dFRva2VucyI6Mzc1MCwiT3V0cHV0VG9rZW5zIjozNiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NDEuODQ1MDU3NDQ5WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUzNzMzNTgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBLVk1fQU1EXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImFyY2gveDg2L2t2bS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gveDg2L2t2bS9LY29uZmlnPTEzND1jb25maWcgS1ZNX0lOVEVMX1REWFxcbi0tXFxuYXJjaC94ODYva3ZtL0tjb25maWctMTQ1LVxcbmFyY2gveDg2L2t2bS9LY29uZmlnOjE0Njpjb25maWcgS1ZNX0FNRFxcbmFyY2gveDg2L2t2bS9LY29uZmlnLTE0Ny1cXHR0cmlzdGF0ZSBcXFwiS1ZNIGZvciBBTUQgcHJvY2Vzc29ycyBzdXBwb3J0XFxcIlxcbi0tXFxuYXJjaC94ODYva3ZtL0tjb25maWctMTU1LVxcbmFyY2gveDg2L2t2bS9LY29uZmlnOjE1Njpjb25maWcgS1ZNX0FNRF9TRVZcXG5hcmNoL3g4Ni9rdm0vS2NvbmZpZy0xNTctXFx0Ym9vbCBcXFwiQU1EIFNlY3VyZSBFbmNyeXB0ZWQgVmlydHVhbGl6YXRpb24gKFNFVikgc3VwcG9ydFxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NDEuODk4Nzk2MzI5WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzI3NTg2OTcwMywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6XG5cbioqQW5hbHl6aW5nIHRoZSBLVk1fQU1EIENvbmZpZ3VyYXRpb24qKlxuXG5SaWdodCwgc28gd2UncmUgbG9va2luZyBhdCBhIGBLVk1fQU1EYCBjb25maWd1cmF0aW9uLiBNeSBmaXJzdCBpbnN0aW5jdCwgYXMgYWx3YXlzLCBpcyB0byB1bmRlcnN0YW5kIGl0cyBkZXBlbmRlbmNpZXMuIEkgd2FudCB0byBrbm93IHdoYXQgb3RoZXIgY29tcG9uZW50cyBvciBzZXR0aW5ncyB0aGlzIHJlbGllcyBvbi4gVGhpcyBpc24ndCBqdXN0IGFib3V0IHNpbXBsZSBkZXBlbmRlbmNpZXM7IGl0J3MgYWJvdXQgdGhlIGJpZ2dlciBwaWN0dXJlLiBBcmUgdGhlcmUgYW55IHN1YnRsZSBpbXBsaWNhdGlvbnMgb3IgaW50ZXJhY3Rpb25zIHdpdGggb3RoZXIgZmVhdHVyZXMgSSBuZWVkIHRvIGJlIGF3YXJlIG9mPyBBcmUgdGhlcmUgcG90ZW50aWFsIGNvbmZsaWN0cyB3aXRoIG90aGVyIG1vZHVsZXM/IEEgZGVlcCBkaXZlIGludG8gZGVwZW5kZW5jaWVzIGlzIGNydWNpYWwgZm9yIHByZWRpY3RpbmcgYmVoYXZpb3VyLCBkZWJ1Z2dpbmcgaXNzdWVzLCBhbmQgdW5kZXJzdGFuZGluZyB0aGUgb3ZlcmFsbCBzeXN0ZW0gYXJjaGl0ZWN0dXJlLiBMZXQncyBzZWUgd2hhdCB3ZSBjYW4gZGlnIHVwLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MTU3LCJPdXRwdXRUb2tlbnMiOjM5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NDUuMTc0NjY4MjgyWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjgxMTAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImFyY2gveDg2L2t2bS9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDE0MCxcbiAgXCJMaW5lQ291bnRcIjogMjBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDE0MDpcXHRcXHRoZWxwXFxuIDE0MTpcXHRcXHQgIFByb3ZpZGVzIHN1cHBvcnQgZm9yIGxhdW5jaGluZyBJbnRlbCBUcnVzdCBEb21haW4gRXh0ZW5zaW9ucyAoVERYKVxcbiAxNDI6XFx0XFx0ICBjb25maWRlbnRpYWwgVk1zIG9uIEludGVsIHByb2Nlc3NvcnMuXFxuIDE0MzpcXHRcXG4gMTQ0OlxcdFxcdCAgSWYgdW5zdXJlLCBzYXkgTi5cXG4gMTQ1OlxcdFxcbiAxNDY6XFx0Y29uZmlnIEtWTV9BTURcXG4gMTQ3OlxcdFxcdHRyaXN0YXRlIFxcXCJLVk0gZm9yIEFNRCBwcm9jZXNzb3JzIHN1cHBvcnRcXFwiXFxuIDE0ODpcXHRcXHRkZXBlbmRzIG9uIEtWTSBcXHUwMDI2XFx1MDAyNiAoQ1BVX1NVUF9BTUQgfHwgQ1BVX1NVUF9IWUdPTilcXG4gMTQ5OlxcdFxcdGhlbHBcXG4gMTUwOlxcdFxcdCAgUHJvdmlkZXMgc3VwcG9ydCBmb3IgS1ZNIG9uIEFNRCBwcm9jZXNzb3JzIGVxdWlwcGVkIHdpdGggdGhlIEFNRC1WXFxuIDE1MTpcXHRcXHQgIChTVk0pIGV4dGVuc2lvbnMuXFxuIDE1MjpcXHRcXG4gMTUzOlxcdFxcdCAgVG8gY29tcGlsZSB0aGlzIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlXFxuIDE1NDpcXHRcXHQgIHdpbGwgYmUgY2FsbGVkIGt2bS1hbWQuXFxuIDE1NTpcXHRcXG4gMTU2OlxcdGNvbmZpZyBLVk1fQU1EX1NFVlxcbiAxNTc6XFx0XFx0Ym9vbCBcXFwiQU1EIFNlY3VyZSBFbmNyeXB0ZWQgVmlydHVhbGl6YXRpb24gKFNFVikgc3VwcG9ydFxcXCJcXG4gMTU4OlxcdFxcdGRlZmF1bHQgeVxcbiAxNTk6XFx0XFx0ZGVwZW5kcyBvbiBLVk1fQU1EIFxcdTAwMjZcXHUwMDI2IFg4Nl82NFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTo0NS4xNzQ3NTExNzJaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzM4ODc0MDM1MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQuXG5cbioqQW5hbHl6aW5nIEtWTV9BTUQgRGVwZW5kZW5jaWVzKipcblxuUmlnaHQsIHNvIEknbSBsb29raW5nIGF0IGBLVk1fQU1EYC4gSXQncyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkLCBpdCBkZXBlbmRzIG9uIGBLVk1gLCB3aGljaCBpcyBleHBlY3RlZC4gQnV0IHRoZW4gdGhlcmUncyB0aGlzIGNvbmRpdGlvbmFsIGRlcGVuZGVuY3k6IGAoQ1BVX1NVUF9BTUQgfHwgQ1BVX1NVUF9IWUdPTilgLiAgQ2xlYXJseSwgYEtWTV9BTURgIG5lZWRzIGVpdGhlciBBTUQgb3IgSHlnb24gQ1BVIHN1cHBvcnQgdG8gZnVuY3Rpb24gY29ycmVjdGx5LiBNYWtlcyBwZXJmZWN0IHNlbnNlLiBNeSBuZXh0IHN0ZXA/IEkgbmVlZCB0byBkaWcgaW50byBgQ1BVX1NVUF9BTURgIGFuZCBgQ1BVX1NVUF9IWUdPTmAgYW5kIGZpZ3VyZSBvdXQgZXhhY3RseSB3aGF0IHRob3NlIGFyZSBkZWZpbmVkIGFzLCBpZiB0aGV5IGFyZSBib3RoIGRlZmluZWQsIGFuZCB3aGF0IHRob3NlIGRlZmluaXRpb25zIG1lYW4uIEl0J3MgdGltZSB0byBmb2xsb3cgdGhlIHRyYWlsLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NjY1LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTAsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTo0OC41NjM0OTQ2ODRaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUxMzAyNzE5LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQ1BVX1NVUF9BTURcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC94ODYvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NDguNjE0ODA2NjgzWiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMxOTY2Mzg4NjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0YWtlIG9uIHRoZSB0aG91Z2h0IHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gdGhlIHg4NiBBcmNoaXRlY3R1cmUgQ29uZmlndXJhdGlvbioqXG5cbk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBzb21ldGhpbmcgcmVsYXRlZCB0byB0aGUgeDg2IGFyY2hpdGVjdHVyZSB3aXRoaW4gdGhpcyBrZXJuZWwgYnVpbGQuIFdoZXJlIHdvdWxkIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucyBiZSBsb2NhdGVkPyBMZXQncyBzdGFydCB3aXRoIGEgY2xhc3NpYzogSSdsbCBjaGVjayBgYXJjaC94ODYvS2NvbmZpZy5jcHVgLiBUaGlzIGZpbGUgaXMgdXN1YWxseSB0aGUgcGxhY2UgdG8gZ28gZm9yIENQVS1zcGVjaWZpYyBjb25maWd1cmF0aW9uIG9wdGlvbnMuIEknbSBob3BpbmcgdG8gZmluZCB0aGUgcmVsZXZhbnQgcGllY2VzIG9mIHRoZSBwdXp6bGUgdGhlcmUuIFRoaXMgaXMgbGlrZWx5IHdoZXJlIHRoZSBjb3JlIGFyY2hpdGVjdHVyZSBmZWF0dXJlcywgbGlrZSBDUFUgbW9kZWxzLCBmZWF0dXJlcyBhbmQgb3B0aW1pemF0aW9ucywgYXJlIGRlZmluZWQuIEZyb20gdGhlcmUsIEkgY2FuIGJyYW5jaCBvdXQgYXMgbmVlZGVkLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0OTIxLCJPdXRwdXRUb2tlbnMiOjM2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NTEuODExNDQ4MTU3WiIsIlNlcSI6MTQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NjY1NzM2MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQ1BVX1NVUF9BTURcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC94ODYvS2NvbmZpZy5jcHVcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC94ODYvS2NvbmZpZy5jcHU9MzU0PWNvbmZpZyBDUFVfU1VQX0NZUklYXzMyXFxuLS1cXG5hcmNoL3g4Ni9LY29uZmlnLmNwdS0zNjctXFxuYXJjaC94ODYvS2NvbmZpZy5jcHU6MzY4OmNvbmZpZyBDUFVfU1VQX0FNRFxcbmFyY2gveDg2L0tjb25maWcuY3B1LTM2OS1cXHRkZWZhdWx0IHlcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NTEuODU4MTMwMjM3WiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM1ODY4MDIzNTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBzdW1tYXJ5LCBhcyBJIHNlZSBpdDpcblxuKipFeGFtaW5pbmcgQU1EIENQVSBTdXBwb3J0IGluIHRoZSBLZXJuZWwgQ29uZmlndXJhdGlvbioqXG5cbk9rYXksIHNvIGBDUFVfU1VQX0FNRGAgaXMgc2V0IHRvIFwieVwiIGJ5IGRlZmF1bHQuIFRoYXQncyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQuIFRoaXMgbWVhbnMsIGJ5IGltcGxpY2F0aW9uLCB0aGF0IGBLVk1gIGFuZCBgS1ZNX0FNRGAgYXJlIHByb2JhYmx5IHN1ZmZpY2llbnQgZm9yIHRoZSBmdW5kYW1lbnRhbCBBTUQgdmlydHVhbGl6YXRpb24gc3VwcG9ydCwgYXQgbGVhc3QgaW5pdGlhbGx5LiBJJ20gZ29pbmcgdG8gcHJvY2VlZCBhc3N1bWluZyB0aGF0J3MgdGhlIGNhc2UuXG5cbk5vdywgSSB3YW50IHRvIGNvbmZpcm0gc29tZXRoaW5nIHNwZWNpZmljIGFib3V0IHRoZSBpbXBsZW1lbnRhdGlvbi4gSSBuZWVkIHRvIHNlZSBob3cgdGhlIHJlZnJlc2ggbWVjaGFuaXNtIGZ1bmN0aW9ucy4gSSdtIGdvaW5nIHRvIGNoZWNrIGlmIHRoZSBgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYCBmdW5jdGlvbiBpcyByZWFjaGFibGUuIEkgcmVjYWxsIHRoYXQgaXQncyBjYWxsZWQgZnJvbSBgYXZpY19yZWZyZXNoX2FwaWN2X2V4ZWNfY3RybGAsIHNvIEknbGwgdmVyaWZ5IHRoZSBjYWxsIHBhdGggYW5kIGVuc3VyZSB0aGF0IHRoZSBjb250cm9sIGZsb3cgaXMgYXMgZXhwZWN0ZWQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUyMTEsIk91dHB1dFRva2VucyI6NDIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTo1NS40NDQ5MzU5NzhaIiwiU2VxIjoxNiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ0MjU1MzYwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImF2aWNfcmVmcmVzaF9hcGljdl9leGVjX2N0cmxcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MTE1Mz12b2lkIGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTc2LVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jOjExNzc6dm9pZCBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTc4LXtcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmM9NTMyNT1zdHJ1Y3Qga3ZtX3g4Nl9vcHMgc3ZtX3g4Nl9vcHMgX19pbml0ZGF0YSA9IHtcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmMtNTQwNi1cXHQuc2V0X3ZpcnR1YWxfYXBpY19tb2RlID0gYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlLFxcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmM6NTQwNzpcXHQucmVmcmVzaF9hcGljdl9leGVjX2N0cmwgPSBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsLFxcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmMtNTQwOC1cXHQuYXBpY3ZfcG9zdF9zdGF0ZV9yZXN0b3JlID0gYXZpY19hcGljdl9wb3N0X3N0YXRlX3Jlc3RvcmUsXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5oPTk1Nz12b2lkIGF2aWNfYXBpY3ZfcG9zdF9zdGF0ZV9yZXN0b3JlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSk7XFxuYXJjaC94ODYva3ZtL3N2bS9zdm0uaDo5NTg6dm9pZCBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSk7XFxuYXJjaC94ODYva3ZtL3N2bS9zdm0uaC05NTktaW50IGF2aWNfcGlfdXBkYXRlX2lydGUoc3RydWN0IGt2bV9rZXJuZWxfaXJxZmQgKmlycWZkLCBzdHJ1Y3Qga3ZtICprdm0sXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDA1OjQ1OjU1LjQ4OTE5NTI3N1oiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNjYxMTkxODUwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkRpdmluZyBpbnRvIHRoZSBLVk0geDg2IE9wcyoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHNvbWV0aGluZyB0aGF0J3MgY2xlYXJseSBpbnRlcnR3aW5lZCB3aXRoIHRoZSBga3ZtX3g4Nl9vcHNgIHN0cnVjdHVyZS4gVGhpcyBsaWtlbHkgbWVhbnMgaXQncyBhIGNyaXRpY2FsIGNvbXBvbmVudCBmb3IgaGFuZGxpbmcgc3BlY2lmaWMgeDg2IHZpcnR1YWxpemF0aW9uIG9wZXJhdGlvbnMgd2l0aGluIEtWTS4gTXkgbWVudGFsIGNoZWNrbGlzdCBraWNrcyBpbjogSSBuZWVkIHRvIHF1aWNrbHkgZ3Jhc3AgdGhlIGNvbnRleHQuIFRoZSBzcGVjaWZpYyBmdW5jdGlvbiBvZiBpbnRlcmVzdCBpcyBgYXZpY19pbml0X3ZtY2JgLiBTaW5jZSBpdCBpbnZvbHZlcyB0aGUgQWR2YW5jZWQgVmlydHVhbCBJbnRlcnJ1cHQgQ29udHJvbGxlciAoQVZJQyksIHRoaXMgcG9pbnRzIHRvd2FyZHMgaG93IHdlJ3JlIHNldHRpbmcgdXAgdGhlIFZpcnR1YWwgTWFjaGluZSBDb250cm9sIEJsb2NrIChWTUNCKSBzdHJ1Y3R1cmUgZm9yIGhhbmRsaW5nIGludGVycnVwdHMgd2l0aGluIG5lc3RlZCB2aXJ0dWFsaXphdGlvbiBjb250ZXh0cy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBpbnRlcnJ1cHQgaW5qZWN0aW9uIHdvcmtzLiBJIGFtIHByb2JhYmx5IGV4YW1pbmluZyB0aGUgbG9naWMgdGhhdCBnb3Zlcm5zIHRoZSBzZXR1cCwgaW5qZWN0aW9uIGFuZCBkZWxpdmVyeS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoaXMgZnVuY3Rpb24gaXMgaW50ZWdyYXRlZCBpbnRvIHRoZSBsYXJnZXIgaW50ZXJydXB0IGRlbGl2ZXJ5IHNjaGVtZSBmb3IgbmVzdGVkIHZpcnR1YWxpemF0aW9uIHdpdGggQVZJQywgcGFydGljdWxhcmx5IGhvdyBpdCBpbnRlcmFjdHMgd2l0aCB0aGUgaHlwZXJ2aXNvcidzIGludGVycnVwdCBoYW5kbGluZyBhbmQgZ3Vlc3QncyBpbnRlcnJ1cHQgbWFuYWdlbWVudC4gSSBhbSBjb25zaWRlcmluZyB0aGUgaW50cmljYWNpZXMgb2YgVk1YIG9wZXJhdGlvbi4gTGV0J3MgZGlnIGluIGFuZCBzZWUgd2hhdCdzIGFjdHVhbGx5IGdvaW5nIG9uIGluIGBhdmljX2luaXRfdm1jYmAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjU5NzEsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyOCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTo1OS4xNTAzODk1NDdaIiwiU2VxIjoxOCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQzNTQwMzkwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImF2aWNfaW5pdF92bWNiXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImFyY2gveDg2L2t2bS9zdm0vXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTM2Mz1zdGF0aWMgcGh5c19hZGRyX3QgYXZpY19nZXRfYmFja2luZ19wYWdlX2FkZHJlc3Moc3RydWN0IHZjcHVfc3ZtICpzdm0pXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zNjctXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MzY4OnZvaWQgYXZpY19pbml0X3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0sIHN0cnVjdCB2bWNiICp2bWNiKVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTM2OS17XFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5jPTExMjE9c3RhdGljIHZvaWQgaW5pdF92bWNiKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgYm9vbCBpbml0X2V2ZW50KVxcbi0tXFxuYXJjaC94ODYva3ZtL3N2bS9zdm0uYy0xMjQ5LVxcdGlmIChlbmFibGVfYXBpY3YgXFx1MDAyNlxcdTAwMjYgaXJxY2hpcF9pbl9rZXJuZWwodmNwdS1cXHUwMDNla3ZtKSlcXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5jOjEyNTA6XFx0XFx0YXZpY19pbml0X3ZtY2Ioc3ZtLCB2bWNiKTtcXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5jLTEyNTEtXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5oPTk1MD1pbnQgYXZpY192bV9pbml0KHN0cnVjdCBrdm0gKmt2bSk7XFxuYXJjaC94ODYva3ZtL3N2bS9zdm0uaDo5NTE6dm9pZCBhdmljX2luaXRfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSwgc3RydWN0IHZtY2IgKnZtY2IpO1xcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmgtOTUyLWludCBhdmljX2luY29tcGxldGVfaXBpX2ludGVyY2VwdGlvbihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTo1OS4xOTM5MzU1MzZaIiwiU2VxIjoxOSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDA1MzE3NzYzNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEF2aWMgVk1DQiBJbml0aWFsaXphdGlvbiBhbmQgRGVhY3RpdmF0aW9uKipcblxuT2theSwgc28gYGF2aWNfaW5pdF92bWNiYCBpcyBjYWxsZWQgZnJvbSBgaW5pdF92bWNiYC4gVGhhdCdzIGEgZGlyZWN0IGNvbm5lY3Rpb24gYW5kIHNvbWV0aGluZyBJIGNhbiBkZWZpbml0ZWx5IGdldCBteSBoYW5kcyBvbiBhbmQgdGVzdC4gVGhlIGNvcmUgb2YgdGhpcyBwYXRjaCBzZWVtcyB0byBiZSByZW1vdmluZyBhIGNoZWNrIHdpdGhpbiBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgLiBOb3csIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgaXRzZWxmIGlzIGNhbGxlZCBieSBib3RoIGBhdmljX2luaXRfdm1jYmAgYW5kIGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgLiBHaXZlbiB0aGF0LCBteSBwcmltYXJ5IGZvY3VzIG5lZWRzIHRvIGJlIG9uIHVuZGVyc3RhbmRpbmcgdGhlIGltcGxpY2F0aW9ucyBmb3IgdGhvc2UgdHdvIGZ1bmN0aW9ucywgc3BlY2lmaWNhbGx5IGBhdmljX2luaXRfdm1jYmAgYW5kIGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgLiBUaGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbnMgYXJlIGBLVk1gIGFuZCBgS1ZNX0FNRGAsIEkgbmVlZCB0byBrZWVwIHRob3NlIGluIG1pbmQgYXMgdGhleSBsaWtlbHkgaW5mbHVlbmNlIHRoZSBiZWhhdmlvci5cblxuQmVmb3JlIEkgZ28gZnVydGhlciwgSSBzaG91bGQgdmVyaWZ5IHRoYXQgdGhlcmUgYXJlbid0IGFueSBvdGhlciBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcy4gSSdsbCB0YWtlIGEgcXVpY2sgbG9vayBhcm91bmQgdG8gbWFrZSBzdXJlIEkgaGF2ZW4ndCBtaXNzZWQgYW55dGhpbmcgb2J2aW91cy5cblxuXG4iLCJJbnB1dFRva2VucyI6NjY5NCwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEyMywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NjowMy4yNDcxMTU3NTNaIiwiU2VxIjoyMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ0ODE2OTQwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImF2aWNfZGVhY3RpdmF0ZV92bWNiXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImFyY2gveDg2L2t2bS9zdm0vXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTE3ND1zdGF0aWMgdm9pZCBhdmljX2FjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0yMzItXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MjMzOnN0YXRpYyB2b2lkIGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN0cnVjdCB2Y3B1X3N2bSAqc3ZtKVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTIzNC17XFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0zNjg9dm9pZCBhdmljX2luaXRfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSwgc3RydWN0IHZtY2IgKnZtY2IpXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zNzktXFx0ZWxzZVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jOjM4MDpcXHRcXHRhdmljX2RlYWN0aXZhdGVfdm1jYihzdm0pO1xcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTM4MS19XFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0xMTUzPXZvaWQgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTExNzEtXFx0fSBlbHNlIHtcXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzoxMTcyOlxcdFxcdGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN2bSk7XFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE3My1cXHR9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDA1OjQ2OjAzLjI5MTkzNzIyM1oiLCJTZXEiOjIxLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1MDc2OTQ2NzU4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgQVZJQyBEZWFjdGl2YXRpb24gTW9kaWZpY2F0aW9uKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgaXQncyBoaXR0aW5nIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAuIE15IGluaXRpYWwgZm9jdXMsIGFzIGFsd2F5cywgaXMgb24gdGhlIGNvcmUgZnVuY3Rpb25hbGl0eSwgYW5kIHRoaXMgaXMgZGVmaW5pdGVseSB0aWVkIHRvIGNyaXRpY2FsIEtWTS1TVk0gbG9naWMuIFNwZWNpZmljYWxseSwgdGhpcyBmdW5jdGlvbiBpcyB1c2VkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIGFuZCB0aGUgcmVmcmVzaCBvZiB0aGUgQVBJQyBtb2RlLCB3aGljaCBpcyByaWdodCBpbiB0aGUgaGVhcnQgb2YgdGhlIHZpcnR1YWxpemVkIEFQSUMgaGFuZGxpbmcuIFRoYXQgbWVhbnMgYW55IGNoYW5nZSBoZXJlIGhhcyB0aGUgcG90ZW50aWFsIHRvIGltcGFjdCB0aGUgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZSBvZiBvdXIgbmVzdGVkIHZpcnR1YWxpemF0aW9uLCBvciBldmVuIG1vcmUgY3JpdGljYWxseSB0aGUgd2hvbGUgVk0uXG5cblRoZSBwcmltYXJ5IGNoYW5nZSBzZWVtcyB0byBiZSB3aXRoaW4gYGF2aWNfZGVhY3RpdmF0ZV92bWNiYC4gVGhlIHJlbGF0ZWQgc3ltYm9scyBiZWluZyBmbGFnZ2VkIGFyZSBgYXZpY19pbml0X3ZtY2JgIGFuZCBgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYCB3aGljaCBtYWtlcyBzZW5zZSwgZ2l2ZW4gdGhlIGNsb3NlIHJlbGF0aW9uc2hpcCB0aGV5IHNoYXJlIHdpdGggdGhlIGZ1bmN0aW9uIGluIGZvY3VzLlxuXG5JdCBsb29rcyBsaWtlIHRoZSBjb25maWd1cmF0aW9ucyBpbnZvbHZlZCBhcmUgYEtWTWAgYW5kIGBLVk1fQU1EYCwgc28gdGhpcyBpcyB0YXJnZXRlZCBhdCBBTUQgaGFyZHdhcmUgc3BlY2lmaWNhbGx5LCB3aGljaCBJJ2QgZXhwZWN0LiBUaGUgc3RhdGVkIHJlYXNvbmluZyBpcyB0aGUgcmVtb3ZhbCBvZiBhIHNwZWNpZmljIGNoZWNrLiBUaGF0J3MgdGhlIGNydXggb2YgdGhpcy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCBjb25kaXRpb24gd2FzIGJlaW5nIGNoZWNrZWQsIHdoeSBpdCB3YXMgcmVtb3ZlZCwgYW5kIHdoYXQgdGhlIHBvdGVudGlhbCBpbXBsaWNhdGlvbnMgYXJlIGZvciB0aGVzZSB0d28ga2V5IGZ1bmN0aW9ucy4gV2hhdCBhcmUgdGhlIHNwZWNpZmljIHBlcmZvcm1hbmNlIGltcGxpY2F0aW9ucyBmb3IgbmVzdGVkIHZpcnR1YWxpemF0aW9uIHdpdGggdGhpcyBjaGFuZ2U/IElzIHRoaXMgYSBwb3RlbnRpYWwgc2VjdXJpdHkgZml4LCBvciBhIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbj8gSSBuZWVkIHRvIGRpZyBkZWVwZXIgaW50byB0aGUgY29kZSBhbmQgdGhlIGNvbW1pdCBtZXNzYWdlIHRvIGZ1bGx5IGdyYXNwIHRoZSByYXRpb25hbGUgYW5kIHRoZSB0cmFkZS1vZmZzIGludm9sdmVkLiBMZXQncyBzZWUgaWYgdGhlIGNvbW1pdCBtZXNzYWdlIHNoZWRzIHNvbWUgbGlnaHQgb3IgaWYgSSBuZWVkIHRvIHN0YXJ0IHRyYWNpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjc0NTMsIk91dHB1dFRva2VucyI6MTI3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6OTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDY6MDguMzY4ODg2MzgxWiIsIlNlcSI6MjIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODUzMDQ0NzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIktWTVwiLFxuICAgIFwiS1ZNX0FNRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImF2aWNfaW5pdF92bWNiXCIsXG4gICAgXCJhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGluIEtWTSBTVk0gY29kZSwgd2hpY2ggaXMgY2FsbGVkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIChgYXZpY19pbml0X3ZtY2JgKSBhbmQgQVBJQyBtb2RlIHJlZnJlc2ggKGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgKS4gVGhpcyBpcyBjb3JlIEtWTSBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJLVk1cIixcbiAgICBcIktWTV9BTURcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJhdmljX2luaXRfdm1jYlwiLFxuICAgIFwiYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgYGF2aWNfZGVhY3RpdmF0ZV92bWNiYCBpbiBLVk0gU1ZNIGNvZGUsIHdoaWNoIGlzIGNhbGxlZCBkdXJpbmcgVk1DQiBpbml0aWFsaXphdGlvbiAoYGF2aWNfaW5pdF92bWNiYCkgYW5kIEFQSUMgbW9kZSByZWZyZXNoIChgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYCkuIFRoaXMgaXMgY29yZSBLVk0gbG9naWMgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowbg4sl[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-31 05:30:28 +0000 UTC FinishedAt: 2026-07-31 05:46:10 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "KVM", "KVM_AMD" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "kvm-next", "tree_url": "https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/", "commit_hash": "a204badd8432f93b7e862e7dac6db0fe3d65f370", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "KVM", "KVM_AMD" ], "series_id": "d083e8b5-ee5d-4aaa-9bf9-36aab69ec667" }, "track": "KASAN", "fuzz": { "focus": [ "kvm" ], "focus_symbols": [ "avic_init_vmcb", "avic_refresh_virtual_apic_mode" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0tWTSYjMzQ7LAogICAgJiMzNDtLVk1fQU1EJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YXZpY19pbml0X3ZtY2ImIzM0OywKICAgICYjMzQ7YXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgaW4gS1ZNIFNWTSBjb2RlLCB3aGljaCBpcyBjYWxsZWQgZHVyaW5nIFZNQ0IgaW5pdGlhbGl6YXRpb24gKGBhdmljX2luaXRfdm1jYmApIGFuZCBBUElDIG1vZGUgcmVmcmVzaCAoYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWApLiBUaGlzIGlzIGNvcmUgS1ZNIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgM2U4YzYyNjVmYjBmZjAwNDEwODI1YzA1NmM1Y2RkZDdhMzI2MWEyYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDMxIDA1OjQ1OjI4IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS9zdm0vYXZpYy5jIGIvYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcbmluZGV4IDU4ZTQ5M2E4MGNiMGUuLjE2ZTA5YThmZTg1ZTEgMTAwNjQ0XG4tLS0gYS9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuY1xuJiM0MzsmIzQzOyYjNDM7IGIvYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcbkBAIC0yNDAsMTQgJiM0MzsyNDAsNiBAQCBzdGF0aWMgdm9pZCBhdmljX2RlYWN0aXZhdGVfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSlcbiBcdGlmICghaXNfc2V2X2VzX2d1ZXN0KFx1MDAyNnN2bS1cdTAwM2V2Y3B1KSlcbiBcdFx0c3ZtX3NldF9pbnRlcmNlcHQoc3ZtLCBJTlRFUkNFUFRfQ1I4X1dSSVRFKTtcbiBcbi1cdC8qXG4tXHQgKiBJZiBydW5uaW5nIG5lc3RlZCBhbmQgdGhlIGd1ZXN0IHVzZXMgaXRzIG93biBNU1IgYml0bWFwLCB0aGVyZVxuLVx0ICogaXMgbm8gbmVlZCB0byB1cGRhdGUgTDAmIzM5O3MgbXNyIGJpdG1hcFxuLVx0ICovXG4tXHRpZiAoaXNfZ3Vlc3RfbW9kZShcdTAwMjZzdm0tXHUwMDNldmNwdSkgXHUwMDI2XHUwMDI2XG4tXHQgICAgdm1jYjEyX2lzX2ludGVyY2VwdChcdTAwMjZzdm0tXHUwMDNlbmVzdGVkLmN0bCwgSU5URVJDRVBUX01TUl9QUk9UKSlcbi1cdFx0cmV0dXJuO1xuLVxuIFx0LyogRW5hYmxpbmcgTVNSIGludGVyY2VwdCBmb3IgeDJBUElDIHJlZ2lzdGVycyAqL1xuIFx0YXZpY19zZXRfeDJhcGljX21zcl9pbnRlcmNlcHRpb24oc3ZtLCB0cnVlKTtcbiB9XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0tWTSYjMzQ7LAogICAgJiMzNDtLVk1fQU1EJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YXZpY19pbml0X3ZtY2ImIzM0OywKICAgICYjMzQ7YXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgaW4gS1ZNIFNWTSBjb2RlLCB3aGljaCBpcyBjYWxsZWQgZHVyaW5nIFZNQ0IgaW5pdGlhbGl6YXRpb24gKGBhdmljX2luaXRfdm1jYmApIGFuZCBBUElDIG1vZGUgcmVmcmVzaCAoYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWApLiBUaGlzIGlzIGNvcmUgS1ZNIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgM2U4YzYyNjVmYjBmZjAwNDEwODI1YzA1NmM1Y2RkZDdhMzI2MWEyYgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgSnVsIDMxIDA1OjQ1OjI4IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva3ZtL3N2bS9hdmljLmMgYi9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYwppbmRleCA1OGU0OTNhODBjYjBlLi4xNmUwOWE4ZmU4NWUxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYwomIzQzOyYjNDM7JiM0MzsgYi9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYwpAQCAtMjQwLDE0ICYjNDM7MjQwLDYgQEAgc3RhdGljIHZvaWQgYXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pCiAJaWYgKCFpc19zZXZfZXNfZ3Vlc3QoJmFtcDtzdm0tJmd0O3ZjcHUpKQogCQlzdm1fc2V0X2ludGVyY2VwdChzdm0sIElOVEVSQ0VQVF9DUjhfV1JJVEUpOwogCi0JLyoKLQkgKiBJZiBydW5uaW5nIG5lc3RlZCBhbmQgdGhlIGd1ZXN0IHVzZXMgaXRzIG93biBNU1IgYml0bWFwLCB0aGVyZQotCSAqIGlzIG5vIG5lZWQgdG8gdXBkYXRlIEwwJiMzOTtzIG1zciBiaXRtYXAKLQkgKi8KLQlpZiAoaXNfZ3Vlc3RfbW9kZSgmYW1wO3N2bS0mZ3Q7dmNwdSkgJmFtcDsmYW1wOwotCSAgICB2bWNiMTJfaXNfaW50ZXJjZXB0KCZhbXA7c3ZtLSZndDtuZXN0ZWQuY3RsLCBJTlRFUkNFUFRfTVNSX1BST1QpKQotCQlyZXR1cm47Ci0KIAkvKiBFbmFibGluZyBNU1IgaW50ZXJjZXB0IGZvciB4MkFQSUMgcmVnaXN0ZXJzICovCiAJYXZpY19zZXRfeDJhcGljX21zcl9pbnRlcmNlcHRpb24oc3ZtLCB0cnVlKTsKIH0KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjE1NAoJCQkJCQkJb3V0cHV0OiA0MQoJCQkJCQkJdGhvdWdodHM6IDE2NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIEtWTS9TVk0gQVZJQyBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYGFyY2gveDg2L2t2bS9zdm0vYXZpYy5jYC4gSXQgc2VlbXMgdG8gYmUgcmVtb3ZpbmcgYSBzcGVjaWZpYyBjaGVjayB3aXRoaW4gdGhlIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgZnVuY3Rpb24uIExldCYjMzk7cyBkaWcgaW4uIEl0JiMzOTtzIHRha2luZyBvdXQgdGhpcyBjb25kaXRpb25hbCBibG9jazoKCmBgYGMKLQkvKgotCSAqIElmIHJ1bm5pbmcgbmVzdGVkIGFuZCB0aGUgZ3Vlc3QgdXNlcyBpdHMgb3duIE1TUiBiaXRtYXAsIHRoZXJlCi0JICogaXMgbm8gbmVlZCB0byB1cGRhdGUgTDAmIzM5O3MgbXNyIGJpdG1hcAotCSAqLwotCWlmIChpc19ndWVzdF9tb2RlKCZhbXA7c3ZtLSZndDt2Y3B1KSAmYW1wOyZhbXA7Ci0JICAgIHZtY2IxMl9pc19pbnRlcmNlcHQoJmFtcDtzdm0tJmd0O25lc3RlZC5jdGwsIElOVEVSQ0VQVF9NU1JfUFJPVCkpCi0JCXJldHVybjsKYGBgCgpSaWdodCwgdGhpcyBpcyByZWxhdGVkIHRvIG5lc3RlZCB2aXJ0dWFsaXphdGlvbiBvbiBBTUQgcGxhdGZvcm1zLCBzcGVjaWZpY2FsbHkgdGhlIGhhbmRsaW5nIG9mIE1TUiBiaXRtYXBzLiBUaGUgbG9naWMgaGVyZSB3YXMgZGVzaWduZWQgdG8gYXZvaWQgcmVkdW5kYW50IHVwZGF0ZXMgdG8gdGhlIEwwIChob3N0KSBNU1IgYml0bWFwIHdoZW4gbmVzdGVkIGd1ZXN0cyAoTDEpIGFyZSBtYW5hZ2luZyB0aGVpciBvd24uIFRoZSByYXRpb25hbGUgc291bmRzIHJlYXNvbmFibGUg4oCTIGlmIHRoZSBMMSBndWVzdCBpcyBpbnRlcmNlcHRpbmcgYW5kIGhhbmRsaW5nIGl0cyBvd24gTVNSIGFjY2Vzc2VzLCB3aHkgYm90aGVyIEwwIHdpdGggdGhhdCBvdmVyaGVhZD8gQnV0LCB0aGVyZSBpcyBhIHJlYXNvbiBmb3IgcmVtb3ZpbmcgaXQuIEkgd291bGQgbmVlZCB0byBmaW5kIG91dCAqd2h5KiB0aGlzIGlzIGJlaW5nIHJlbW92ZWQuIFdoYXQgaXMgdGhlIGltcGFjdD8gV2hhdCBpcyB0aGUgcmF0aW9uYWxlIGJlaGluZCByZW1vdmluZyB0aGlzIGNoZWNrPyBJcyB0aGVyZSBhIHBlcmZvcm1hbmNlIHByb2JsZW0gdGhpcyBpcyByZXNvbHZpbmc/IElzIHRoaXMgYSBidWcgZml4PyBPciBpcyB0aGlzIGNoYW5nZSByZWxhdGVkIHRvIGEgbmV3IGZlYXR1cmU/IEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBpbXBsaWNhdGlvbnMgb2YgcmVtb3ZpbmcgdGhpcyBvcHRpbWl6YXRpb24sIHBhcnRpY3VsYXJseSBpbiBhIG5lc3RlZCB2aXJ0dWFsaXphdGlvbiBjb250ZXh0LiBXaGF0IGFyZSB0aGUgcG90ZW50aWFsIGNvbnNlcXVlbmNlcyBvZiBhbHdheXMgdXBkYXRpbmcgdGhlIEwwIE1TUiBiaXRtYXAsIGV2ZW4gd2hlbiB0aGUgTDEgZ3Vlc3QgaXMgbWFuYWdpbmcgaXQ/IFRoZSBwYXRjaCBkZXNjcmlwdGlvbiBzaG91bGQgcHJvdmlkZSBjbHVlcywgYW5kIHRoZSByZWxldmFudCBtYWlsaW5nIGxpc3QgZGlzY3Vzc2lvbnMgb3IgYnVnIHJlcG9ydHMgd291bGQgYmUgdmVyeSBoZWxwZnVsLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2F2aWNfZGVhY3RpdmF0ZV92bWNiJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL3N2bS9hdmljLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MTc0PXN0YXRpYyB2b2lkIGF2aWNfYWN0aXZhdGVfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSlcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0yMzItXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzoyMzM6c3RhdGljIHZvaWQgYXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0yMzQte1xuLS1cbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTM2OD12b2lkIGF2aWNfaW5pdF92bWNiKHN0cnVjdCB2Y3B1X3N2bSAqc3ZtLCBzdHJ1Y3Qgdm1jYiAqdm1jYilcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zNzktXHRlbHNlXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzozODA6XHRcdGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN2bSk7XG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zODEtfVxuLS1cbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTExNTM9dm9pZCBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxuLS1cbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTExNzEtXHR9IGVsc2Uge1xuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MTE3MjpcdFx0YXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3ZtKTtcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTExNzMtXHR9XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzEyMgoJCQkJCQkJb3V0cHV0OiA0NAoJCQkJCQkJdGhvdWdodHM6IDEzNgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBLVk0gU1ZNIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdGFraW5nIG91dCBhIGNoZWNrIHdpdGhpbiBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgLiBJbnRlcmVzdGluZy4gVGhhdCBmdW5jdGlvbiBnZXRzIGNhbGxlZCBmcm9tIGJvdGggYGF2aWNfaW5pdF92bWNiYCBhbmQgYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWAuIFRoaXMgaXMgZGVmaW5pdGVseSBLVk0gU1ZNIGNvZGUsIHdoaWNoIG1lYW5zIGl0JiMzOTtzIGZ1enphYmxlIC0gYWx3YXlzIGEgZ29vZCBzdGFydGluZyBwb2ludCBmb3IgaW52ZXN0aWdhdGlvbi4gTXkgZm9jdXMgaXMgZ29pbmcgdG8gYmUgb24gYGF2aWNfaW5pdF92bWNiYCBhbmQgYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWAsIHNpbmNlIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgaXMgc3RhdGljIGFuZCBJIGNhbiB0cmFjZSB0aG9zZSBjYWxscy4gVGltZSB0byBkaXZlIGludG8gdGhlIGNvZGUuIEkmIzM5O2xsIHN0YXJ0IGJ5IGNoZWNraW5nIG91dCBgYXJjaC94ODYva3ZtL3N2bS9hdmljLmNgIGFuZCBkaWdnaW5nIGludG8gdGhvc2UgdHdvIGtleSBmdW5jdGlvbnMuIExldCYjMzk7cyBzZWUgd2hhdCB2dWxuZXJhYmlsaXRpZXMgbWlnaHQgYmUgZXhwb3NlZCBieSB0aGlzIGNoYW5nZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDthdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDthcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0xMTIwPXZvaWQgYXZpY192Y3B1X3B1dChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpXG4tLVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE1Mi1cbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jOjExNTM6dm9pZCBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE1NC17XG4tLVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MTE3Nz12b2lkIGF2aWNfcmVmcmVzaF9hcGljdl9leGVjX2N0cmwoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxuLS1cbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTExODQtXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzoxMTg1Olx0YXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlKHZjcHUpO1xuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE4Ni1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNzUwCgkJCQkJCQlvdXRwdXQ6IDM2CgkJCQkJCQl0aG91Z2h0czogOQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB0aG91Z2h0IHByb2Nlc3MsIHN1bW1hcml6ZWQgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoaXMgbXlzZWxmOgoKKipLY29uZmlnIGFuZCBTVk0gLSBMZXQmIzM5O3MgRGlnIEluKioKCk9rYXksIGZpcnN0IHRoaW5ncyBmaXJzdCwgSSBuZWVkIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZpbGVzLiBTcGVjaWZpY2FsbHksIEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgU1ZNIOKAkyBTZWN1cmUgVmlydHVhbCBNYWNoaW5lcy4gVGhhdCYjMzk7cyB3aGVyZSBJIG5lZWQgdG8gc3RhcnQuIEkga25vdyB0aGVyZSBhcmUgbGlrZWx5IHNldmVyYWwgS2NvbmZpZyBmaWxlcyBpbnZvbHZlZCwgZGVwZW5kaW5nIG9uIHRoZSBhcmNoaXRlY3R1cmUgYW5kIGh5cGVydmlzb3IgYmVpbmcgdXNlZCwgc28gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhlIHJlbGV2YW50IG9wdGlvbnMgYXJlIGRlZmluZWQuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBzZWFyY2ggZm9yIGtleXdvcmRzIHJlbGF0ZWQgdG8gU1ZNLCB2aXJ0dWFsaXphdGlvbiwgYW5kIHNlY3VyaXR5IHdpdGhpbiB0aGUgS2NvbmZpZyBzeXN0ZW0uIEkmIzM5O20gbG9va2luZyBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0aGF0IGVuYWJsZSwgZGlzYWJsZSwgb3IgY29uZmlndXJlIFNWTSBmZWF0dXJlcy4gSG9wZWZ1bGx5LCB0aGUgbmFtaW5nIGNvbnZlbnRpb25zIGFyZSBzZW5zaWJsZSBhbmQgdGhlIGRvY3VtZW50YXRpb24sIGlmIGFueSwgaXMgY2xlYXIuIEl0JiMzOTtzIGEgZnVuZGFtZW50YWwgc3RlcCB0byBlbnN1cmUgdGhlIGNvcnJlY3QgZmVhdHVyZXMgYXJlIGVuYWJsZWQgZm9yIHRoZSBjdXJyZW50IHN5c3RlbSBjb25maWd1cmF0aW9uLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBLVk1fQU1EJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL0tjb25maWc9MTM0PWNvbmZpZyBLVk1fSU5URUxfVERYXG4tLVxuYXJjaC94ODYva3ZtL0tjb25maWctMTQ1LVxuYXJjaC94ODYva3ZtL0tjb25maWc6MTQ2OmNvbmZpZyBLVk1fQU1EXG5hcmNoL3g4Ni9rdm0vS2NvbmZpZy0xNDctXHR0cmlzdGF0ZSBcJiMzNDtLVk0gZm9yIEFNRCBwcm9jZXNzb3JzIHN1cHBvcnRcJiMzNDtcbi0tXG5hcmNoL3g4Ni9rdm0vS2NvbmZpZy0xNTUtXG5hcmNoL3g4Ni9rdm0vS2NvbmZpZzoxNTY6Y29uZmlnIEtWTV9BTURfU0VWXG5hcmNoL3g4Ni9rdm0vS2NvbmZpZy0xNTctXHRib29sIFwmIzM0O0FNRCBTZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9uIChTRVYpIHN1cHBvcnRcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MTU3CgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogMjUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqQW5hbHl6aW5nIHRoZSBLVk1fQU1EIENvbmZpZ3VyYXRpb24qKgoKUmlnaHQsIHNvIHdlJiMzOTtyZSBsb29raW5nIGF0IGEgYEtWTV9BTURgIGNvbmZpZ3VyYXRpb24uIE15IGZpcnN0IGluc3RpbmN0LCBhcyBhbHdheXMsIGlzIHRvIHVuZGVyc3RhbmQgaXRzIGRlcGVuZGVuY2llcy4gSSB3YW50IHRvIGtub3cgd2hhdCBvdGhlciBjb21wb25lbnRzIG9yIHNldHRpbmdzIHRoaXMgcmVsaWVzIG9uLiBUaGlzIGlzbiYjMzk7dCBqdXN0IGFib3V0IHNpbXBsZSBkZXBlbmRlbmNpZXM7IGl0JiMzOTtzIGFib3V0IHRoZSBiaWdnZXIgcGljdHVyZS4gQXJlIHRoZXJlIGFueSBzdWJ0bGUgaW1wbGljYXRpb25zIG9yIGludGVyYWN0aW9ucyB3aXRoIG90aGVyIGZlYXR1cmVzIEkgbmVlZCB0byBiZSBhd2FyZSBvZj8gQXJlIHRoZXJlIHBvdGVudGlhbCBjb25mbGljdHMgd2l0aCBvdGhlciBtb2R1bGVzPyBBIGRlZXAgZGl2ZSBpbnRvIGRlcGVuZGVuY2llcyBpcyBjcnVjaWFsIGZvciBwcmVkaWN0aW5nIGJlaGF2aW91ciwgZGVidWdnaW5nIGlzc3VlcywgYW5kIHVuZGVyc3RhbmRpbmcgdGhlIG92ZXJhbGwgc3lzdGVtIGFyY2hpdGVjdHVyZS4gTGV0JiMzOTtzIHNlZSB3aGF0IHdlIGNhbiBkaWcgdXAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL0tjb25maWcmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxNDAsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMjAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDE0MDpcdFx0aGVscFxuIDE0MTpcdFx0ICBQcm92aWRlcyBzdXBwb3J0IGZvciBsYXVuY2hpbmcgSW50ZWwgVHJ1c3QgRG9tYWluIEV4dGVuc2lvbnMgKFREWClcbiAxNDI6XHRcdCAgY29uZmlkZW50aWFsIFZNcyBvbiBJbnRlbCBwcm9jZXNzb3JzLlxuIDE0MzpcdFxuIDE0NDpcdFx0ICBJZiB1bnN1cmUsIHNheSBOLlxuIDE0NTpcdFxuIDE0NjpcdGNvbmZpZyBLVk1fQU1EXG4gMTQ3Olx0XHR0cmlzdGF0ZSBcJiMzNDtLVk0gZm9yIEFNRCBwcm9jZXNzb3JzIHN1cHBvcnRcJiMzNDtcbiAxNDg6XHRcdGRlcGVuZHMgb24gS1ZNIFx1MDAyNlx1MDAyNiAoQ1BVX1NVUF9BTUQgfHwgQ1BVX1NVUF9IWUdPTilcbiAxNDk6XHRcdGhlbHBcbiAxNTA6XHRcdCAgUHJvdmlkZXMgc3VwcG9ydCBmb3IgS1ZNIG9uIEFNRCBwcm9jZXNzb3JzIGVxdWlwcGVkIHdpdGggdGhlIEFNRC1WXG4gMTUxOlx0XHQgIChTVk0pIGV4dGVuc2lvbnMuXG4gMTUyOlx0XG4gMTUzOlx0XHQgIFRvIGNvbXBpbGUgdGhpcyBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZVxuIDE1NDpcdFx0ICB3aWxsIGJlIGNhbGxlZCBrdm0tYW1kLlxuIDE1NTpcdFxuIDE1NjpcdGNvbmZpZyBLVk1fQU1EX1NFVlxuIDE1NzpcdFx0Ym9vbCBcJiMzNDtBTUQgU2VjdXJlIEVuY3J5cHRlZCBWaXJ0dWFsaXphdGlvbiAoU0VWKSBzdXBwb3J0XCYjMzQ7XG4gMTU4Olx0XHRkZWZhdWx0IHlcbiAxNTk6XHRcdGRlcGVuZHMgb24gS1ZNX0FNRCBcdTAwMjZcdTAwMjYgWDg2XzY0XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ2NjUKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiA1MAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aGF0LgoKKipBbmFseXppbmcgS1ZNX0FNRCBEZXBlbmRlbmNpZXMqKgoKUmlnaHQsIHNvIEkmIzM5O20gbG9va2luZyBhdCBgS1ZNX0FNRGAuIEl0JiMzOTtzIHByZXR0eSBzdHJhaWdodGZvcndhcmQsIGl0IGRlcGVuZHMgb24gYEtWTWAsIHdoaWNoIGlzIGV4cGVjdGVkLiBCdXQgdGhlbiB0aGVyZSYjMzk7cyB0aGlzIGNvbmRpdGlvbmFsIGRlcGVuZGVuY3k6IGAoQ1BVX1NVUF9BTUQgfHwgQ1BVX1NVUF9IWUdPTilgLiAgQ2xlYXJseSwgYEtWTV9BTURgIG5lZWRzIGVpdGhlciBBTUQgb3IgSHlnb24gQ1BVIHN1cHBvcnQgdG8gZnVuY3Rpb24gY29ycmVjdGx5LiBNYWtlcyBwZXJmZWN0IHNlbnNlLiBNeSBuZXh0IHN0ZXA/IEkgbmVlZCB0byBkaWcgaW50byBgQ1BVX1NVUF9BTURgIGFuZCBgQ1BVX1NVUF9IWUdPTmAgYW5kIGZpZ3VyZSBvdXQgZXhhY3RseSB3aGF0IHRob3NlIGFyZSBkZWZpbmVkIGFzLCBpZiB0aGV5IGFyZSBib3RoIGRlZmluZWQsIGFuZCB3aGF0IHRob3NlIGRlZmluaXRpb25zIG1lYW4uIEl0JiMzOTtzIHRpbWUgdG8gZm9sbG93IHRoZSB0cmFpbC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgQ1BVX1NVUF9BTUQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDthcmNoL3g4Ni9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDkyMQoJCQkJCQkJb3V0cHV0OiAzNgoJCQkJCQkJdGhvdWdodHM6IDE2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHRha2Ugb24gdGhlIHRob3VnaHQgcHJvY2VzczoKCioqRGl2aW5nIGludG8gdGhlIHg4NiBBcmNoaXRlY3R1cmUgQ29uZmlndXJhdGlvbioqCgpPa2F5LCB0aW1lIHRvIGdldCBteSBoYW5kcyBkaXJ0eS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgc29tZXRoaW5nIHJlbGF0ZWQgdG8gdGhlIHg4NiBhcmNoaXRlY3R1cmUgd2l0aGluIHRoaXMga2VybmVsIGJ1aWxkLiBXaGVyZSB3b3VsZCB0aGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbnMgYmUgbG9jYXRlZD8gTGV0JiMzOTtzIHN0YXJ0IHdpdGggYSBjbGFzc2ljOiBJJiMzOTtsbCBjaGVjayBgYXJjaC94ODYvS2NvbmZpZy5jcHVgLiBUaGlzIGZpbGUgaXMgdXN1YWxseSB0aGUgcGxhY2UgdG8gZ28gZm9yIENQVS1zcGVjaWZpYyBjb25maWd1cmF0aW9uIG9wdGlvbnMuIEkmIzM5O20gaG9waW5nIHRvIGZpbmQgdGhlIHJlbGV2YW50IHBpZWNlcyBvZiB0aGUgcHV6emxlIHRoZXJlLiBUaGlzIGlzIGxpa2VseSB3aGVyZSB0aGUgY29yZSBhcmNoaXRlY3R1cmUgZmVhdHVyZXMsIGxpa2UgQ1BVIG1vZGVscywgZmVhdHVyZXMgYW5kIG9wdGltaXphdGlvbnMsIGFyZSBkZWZpbmVkLiBGcm9tIHRoZXJlLCBJIGNhbiBicmFuY2ggb3V0IGFzIG5lZWRlZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIENQVV9TVVBfQU1EJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC94ODYvS2NvbmZpZy5jcHUmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC94ODYvS2NvbmZpZy5jcHU9MzU0PWNvbmZpZyBDUFVfU1VQX0NZUklYXzMyXG4tLVxuYXJjaC94ODYvS2NvbmZpZy5jcHUtMzY3LVxuYXJjaC94ODYvS2NvbmZpZy5jcHU6MzY4OmNvbmZpZyBDUFVfU1VQX0FNRFxuYXJjaC94ODYvS2NvbmZpZy5jcHUtMzY5LVx0ZGVmYXVsdCB5XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUyMTEKCQkJCQkJCW91dHB1dDogNDIKCQkJCQkJCXRob3VnaHRzOiA2NwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBzdW1tYXJ5LCBhcyBJIHNlZSBpdDoKCioqRXhhbWluaW5nIEFNRCBDUFUgU3VwcG9ydCBpbiB0aGUgS2VybmVsIENvbmZpZ3VyYXRpb24qKgoKT2theSwgc28gYENQVV9TVVBfQU1EYCBpcyBzZXQgdG8gJiMzNDt5JiMzNDsgYnkgZGVmYXVsdC4gVGhhdCYjMzk7cyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQuIFRoaXMgbWVhbnMsIGJ5IGltcGxpY2F0aW9uLCB0aGF0IGBLVk1gIGFuZCBgS1ZNX0FNRGAgYXJlIHByb2JhYmx5IHN1ZmZpY2llbnQgZm9yIHRoZSBmdW5kYW1lbnRhbCBBTUQgdmlydHVhbGl6YXRpb24gc3VwcG9ydCwgYXQgbGVhc3QgaW5pdGlhbGx5LiBJJiMzOTttIGdvaW5nIHRvIHByb2NlZWQgYXNzdW1pbmcgdGhhdCYjMzk7cyB0aGUgY2FzZS4KCk5vdywgSSB3YW50IHRvIGNvbmZpcm0gc29tZXRoaW5nIHNwZWNpZmljIGFib3V0IHRoZSBpbXBsZW1lbnRhdGlvbi4gSSBuZWVkIHRvIHNlZSBob3cgdGhlIHJlZnJlc2ggbWVjaGFuaXNtIGZ1bmN0aW9ucy4gSSYjMzk7bSBnb2luZyB0byBjaGVjayBpZiB0aGUgYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWAgZnVuY3Rpb24gaXMgcmVhY2hhYmxlLiBJIHJlY2FsbCB0aGF0IGl0JiMzOTtzIGNhbGxlZCBmcm9tIGBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsYCwgc28gSSYjMzk7bGwgdmVyaWZ5IHRoZSBjYWxsIHBhdGggYW5kIGVuc3VyZSB0aGF0IHRoZSBjb250cm9sIGZsb3cgaXMgYXMgZXhwZWN0ZWQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2F2aWNfcmVmcmVzaF9hcGljdl9leGVjX2N0cmwmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDthcmNoL3g4Ni9rdm0vc3ZtLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDthcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0xMTUzPXZvaWQgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTc2LVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MTE3Nzp2b2lkIGF2aWNfcmVmcmVzaF9hcGljdl9leGVjX2N0cmwoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE3OC17XG4tLVxuYXJjaC94ODYva3ZtL3N2bS9zdm0uYz01MzI1PXN0cnVjdCBrdm1feDg2X29wcyBzdm1feDg2X29wcyBfX2luaXRkYXRhID0ge1xuLS1cbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmMtNTQwNi1cdC5zZXRfdmlydHVhbF9hcGljX21vZGUgPSBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUsXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5jOjU0MDc6XHQucmVmcmVzaF9hcGljdl9leGVjX2N0cmwgPSBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsLFxuYXJjaC94ODYva3ZtL3N2bS9zdm0uYy01NDA4LVx0LmFwaWN2X3Bvc3Rfc3RhdGVfcmVzdG9yZSA9IGF2aWNfYXBpY3ZfcG9zdF9zdGF0ZV9yZXN0b3JlLFxuLS1cbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmg9OTU3PXZvaWQgYXZpY19hcGljdl9wb3N0X3N0YXRlX3Jlc3RvcmUoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KTtcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmg6OTU4OnZvaWQgYXZpY19yZWZyZXNoX2FwaWN2X2V4ZWNfY3RybChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpO1xuYXJjaC94ODYva3ZtL3N2bS9zdm0uaC05NTktaW50IGF2aWNfcGlfdXBkYXRlX2lydGUoc3RydWN0IGt2bV9rZXJuZWxfaXJxZmQgKmlycWZkLCBzdHJ1Y3Qga3ZtICprdm0sXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU5NzEKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAyOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6CgoqKkRpdmluZyBpbnRvIHRoZSBLVk0geDg2IE9wcyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgc29tZXRoaW5nIHRoYXQmIzM5O3MgY2xlYXJseSBpbnRlcnR3aW5lZCB3aXRoIHRoZSBga3ZtX3g4Nl9vcHNgIHN0cnVjdHVyZS4gVGhpcyBsaWtlbHkgbWVhbnMgaXQmIzM5O3MgYSBjcml0aWNhbCBjb21wb25lbnQgZm9yIGhhbmRsaW5nIHNwZWNpZmljIHg4NiB2aXJ0dWFsaXphdGlvbiBvcGVyYXRpb25zIHdpdGhpbiBLVk0uIE15IG1lbnRhbCBjaGVja2xpc3Qga2lja3MgaW46IEkgbmVlZCB0byBxdWlja2x5IGdyYXNwIHRoZSBjb250ZXh0LiBUaGUgc3BlY2lmaWMgZnVuY3Rpb24gb2YgaW50ZXJlc3QgaXMgYGF2aWNfaW5pdF92bWNiYC4gU2luY2UgaXQgaW52b2x2ZXMgdGhlIEFkdmFuY2VkIFZpcnR1YWwgSW50ZXJydXB0IENvbnRyb2xsZXIgKEFWSUMpLCB0aGlzIHBvaW50cyB0b3dhcmRzIGhvdyB3ZSYjMzk7cmUgc2V0dGluZyB1cCB0aGUgVmlydHVhbCBNYWNoaW5lIENvbnRyb2wgQmxvY2sgKFZNQ0IpIHN0cnVjdHVyZSBmb3IgaGFuZGxpbmcgaW50ZXJydXB0cyB3aXRoaW4gbmVzdGVkIHZpcnR1YWxpemF0aW9uIGNvbnRleHRzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIGludGVycnVwdCBpbmplY3Rpb24gd29ya3MuIEkgYW0gcHJvYmFibHkgZXhhbWluaW5nIHRoZSBsb2dpYyB0aGF0IGdvdmVybnMgdGhlIHNldHVwLCBpbmplY3Rpb24gYW5kIGRlbGl2ZXJ5LiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhpcyBmdW5jdGlvbiBpcyBpbnRlZ3JhdGVkIGludG8gdGhlIGxhcmdlciBpbnRlcnJ1cHQgZGVsaXZlcnkgc2NoZW1lIGZvciBuZXN0ZWQgdmlydHVhbGl6YXRpb24gd2l0aCBBVklDLCBwYXJ0aWN1bGFybHkgaG93IGl0IGludGVyYWN0cyB3aXRoIHRoZSBoeXBlcnZpc29yJiMzOTtzIGludGVycnVwdCBoYW5kbGluZyBhbmQgZ3Vlc3QmIzM5O3MgaW50ZXJydXB0IG1hbmFnZW1lbnQuIEkgYW0gY29uc2lkZXJpbmcgdGhlIGludHJpY2FjaWVzIG9mIFZNWCBvcGVyYXRpb24uIExldCYjMzk7cyBkaWcgaW4gYW5kIHNlZSB3aGF0JiMzOTtzIGFjdHVhbGx5IGdvaW5nIG9uIGluIGBhdmljX2luaXRfdm1jYmAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzMxIDA1OjQ1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2F2aWNfaW5pdF92bWNiJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL3N2bS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MzYzPXN0YXRpYyBwaHlzX2FkZHJfdCBhdmljX2dldF9iYWNraW5nX3BhZ2VfYWRkcmVzcyhzdHJ1Y3QgdmNwdV9zdm0gKnN2bSlcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zNjctXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzozNjg6dm9pZCBhdmljX2luaXRfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSwgc3RydWN0IHZtY2IgKnZtY2IpXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zNjkte1xuLS1cbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmM9MTEyMT1zdGF0aWMgdm9pZCBpbml0X3ZtY2Ioc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBib29sIGluaXRfZXZlbnQpXG4tLVxuYXJjaC94ODYva3ZtL3N2bS9zdm0uYy0xMjQ5LVx0aWYgKGVuYWJsZV9hcGljdiBcdTAwMjZcdTAwMjYgaXJxY2hpcF9pbl9rZXJuZWwodmNwdS1cdTAwM2Vrdm0pKVxuYXJjaC94ODYva3ZtL3N2bS9zdm0uYzoxMjUwOlx0XHRhdmljX2luaXRfdm1jYihzdm0sIHZtY2IpO1xuYXJjaC94ODYva3ZtL3N2bS9zdm0uYy0xMjUxLVxuLS1cbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmg9OTUwPWludCBhdmljX3ZtX2luaXQoc3RydWN0IGt2bSAqa3ZtKTtcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmg6OTUxOnZvaWQgYXZpY19pbml0X3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0sIHN0cnVjdCB2bWNiICp2bWNiKTtcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmgtOTUyLWludCBhdmljX2luY29tcGxldGVfaXBpX2ludGVyY2VwdGlvbihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE5LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA2Njk0CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogMTIzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQXZpYyBWTUNCIEluaXRpYWxpemF0aW9uIGFuZCBEZWFjdGl2YXRpb24qKgoKT2theSwgc28gYGF2aWNfaW5pdF92bWNiYCBpcyBjYWxsZWQgZnJvbSBgaW5pdF92bWNiYC4gVGhhdCYjMzk7cyBhIGRpcmVjdCBjb25uZWN0aW9uIGFuZCBzb21ldGhpbmcgSSBjYW4gZGVmaW5pdGVseSBnZXQgbXkgaGFuZHMgb24gYW5kIHRlc3QuIFRoZSBjb3JlIG9mIHRoaXMgcGF0Y2ggc2VlbXMgdG8gYmUgcmVtb3ZpbmcgYSBjaGVjayB3aXRoaW4gYGF2aWNfZGVhY3RpdmF0ZV92bWNiYC4gTm93LCBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGl0c2VsZiBpcyBjYWxsZWQgYnkgYm90aCBgYXZpY19pbml0X3ZtY2JgIGFuZCBgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYC4gR2l2ZW4gdGhhdCwgbXkgcHJpbWFyeSBmb2N1cyBuZWVkcyB0byBiZSBvbiB1bmRlcnN0YW5kaW5nIHRoZSBpbXBsaWNhdGlvbnMgZm9yIHRob3NlIHR3byBmdW5jdGlvbnMsIHNwZWNpZmljYWxseSBgYXZpY19pbml0X3ZtY2JgIGFuZCBgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYC4gVGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb25zIGFyZSBgS1ZNYCBhbmQgYEtWTV9BTURgLCBJIG5lZWQgdG8ga2VlcCB0aG9zZSBpbiBtaW5kIGFzIHRoZXkgbGlrZWx5IGluZmx1ZW5jZSB0aGUgYmVoYXZpb3IuCgpCZWZvcmUgSSBnbyBmdXJ0aGVyLCBJIHNob3VsZCB2ZXJpZnkgdGhhdCB0aGVyZSBhcmVuJiMzOTt0IGFueSBvdGhlciBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcy4gSSYjMzk7bGwgdGFrZSBhIHF1aWNrIGxvb2sgYXJvdW5kIHRvIG1ha2Ugc3VyZSBJIGhhdmVuJiMzOTt0IG1pc3NlZCBhbnl0aGluZyBvYnZpb3VzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDthdmljX2RlYWN0aXZhdGVfdm1jYiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2FyY2gveDg2L2t2bS9zdm0vJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2FyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTE3ND1zdGF0aWMgdm9pZCBhdmljX2FjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pXG4tLVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMjMyLVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MjMzOnN0YXRpYyB2b2lkIGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN0cnVjdCB2Y3B1X3N2bSAqc3ZtKVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMjM0LXtcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0zNjg9dm9pZCBhdmljX2luaXRfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSwgc3RydWN0IHZtY2IgKnZtY2IpXG4tLVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMzc5LVx0ZWxzZVxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MzgwOlx0XHRhdmljX2RlYWN0aXZhdGVfdm1jYihzdm0pO1xuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMzgxLX1cbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0xMTUzPXZvaWQgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcbi0tXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTcxLVx0fSBlbHNlIHtcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jOjExNzI6XHRcdGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN2bSk7XG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTczLVx0fVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIxLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8zMSAwNTo0NjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA3NDUzCgkJCQkJCQlvdXRwdXQ6IDEyNwoJCQkJCQkJdGhvdWdodHM6IDk0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQVZJQyBEZWFjdGl2YXRpb24gTW9kaWZpY2F0aW9uKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpdCYjMzk7cyBoaXR0aW5nIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAuIE15IGluaXRpYWwgZm9jdXMsIGFzIGFsd2F5cywgaXMgb24gdGhlIGNvcmUgZnVuY3Rpb25hbGl0eSwgYW5kIHRoaXMgaXMgZGVmaW5pdGVseSB0aWVkIHRvIGNyaXRpY2FsIEtWTS1TVk0gbG9naWMuIFNwZWNpZmljYWxseSwgdGhpcyBmdW5jdGlvbiBpcyB1c2VkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIGFuZCB0aGUgcmVmcmVzaCBvZiB0aGUgQVBJQyBtb2RlLCB3aGljaCBpcyByaWdodCBpbiB0aGUgaGVhcnQgb2YgdGhlIHZpcnR1YWxpemVkIEFQSUMgaGFuZGxpbmcuIFRoYXQgbWVhbnMgYW55IGNoYW5nZSBoZXJlIGhhcyB0aGUgcG90ZW50aWFsIHRvIGltcGFjdCB0aGUgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZSBvZiBvdXIgbmVzdGVkIHZpcnR1YWxpemF0aW9uLCBvciBldmVuIG1vcmUgY3JpdGljYWxseSB0aGUgd2hvbGUgVk0uCgpUaGUgcHJpbWFyeSBjaGFuZ2Ugc2VlbXMgdG8gYmUgd2l0aGluIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAuIFRoZSByZWxhdGVkIHN5bWJvbHMgYmVpbmcgZmxhZ2dlZCBhcmUgYGF2aWNfaW5pdF92bWNiYCBhbmQgYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWAgd2hpY2ggbWFrZXMgc2Vuc2UsIGdpdmVuIHRoZSBjbG9zZSByZWxhdGlvbnNoaXAgdGhleSBzaGFyZSB3aXRoIHRoZSBmdW5jdGlvbiBpbiBmb2N1cy4KCkl0IGxvb2tzIGxpa2UgdGhlIGNvbmZpZ3VyYXRpb25zIGludm9sdmVkIGFyZSBgS1ZNYCBhbmQgYEtWTV9BTURgLCBzbyB0aGlzIGlzIHRhcmdldGVkIGF0IEFNRCBoYXJkd2FyZSBzcGVjaWZpY2FsbHksIHdoaWNoIEkmIzM5O2QgZXhwZWN0LiBUaGUgc3RhdGVkIHJlYXNvbmluZyBpcyB0aGUgcmVtb3ZhbCBvZiBhIHNwZWNpZmljIGNoZWNrLiBUaGF0JiMzOTtzIHRoZSBjcnV4IG9mIHRoaXMuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgY29uZGl0aW9uIHdhcyBiZWluZyBjaGVja2VkLCB3aHkgaXQgd2FzIHJlbW92ZWQsIGFuZCB3aGF0IHRoZSBwb3RlbnRpYWwgaW1wbGljYXRpb25zIGFyZSBmb3IgdGhlc2UgdHdvIGtleSBmdW5jdGlvbnMuIFdoYXQgYXJlIHRoZSBzcGVjaWZpYyBwZXJmb3JtYW5jZSBpbXBsaWNhdGlvbnMgZm9yIG5lc3RlZCB2aXJ0dWFsaXphdGlvbiB3aXRoIHRoaXMgY2hhbmdlPyBJcyB0aGlzIGEgcG90ZW50aWFsIHNlY3VyaXR5IGZpeCwgb3IgYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24/IEkgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIGNvZGUgYW5kIHRoZSBjb21taXQgbWVzc2FnZSB0byBmdWxseSBncmFzcCB0aGUgcmF0aW9uYWxlIGFuZCB0aGUgdHJhZGUtb2ZmcyBpbnZvbHZlZC4gTGV0JiMzOTtzIHNlZSBpZiB0aGUgY29tbWl0IG1lc3NhZ2Ugc2hlZHMgc29tZSBsaWdodCBvciBpZiBJIG5lZWQgdG8gc3RhcnQgdHJhY2luZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMzEgMDU6NDY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0tWTSYjMzQ7LAogICAgJiMzNDtLVk1fQU1EJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YXZpY19pbml0X3ZtY2ImIzM0OywKICAgICYjMzQ7YXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgaW4gS1ZNIFNWTSBjb2RlLCB3aGljaCBpcyBjYWxsZWQgZHVyaW5nIFZNQ0IgaW5pdGlhbGl6YXRpb24gKGBhdmljX2luaXRfdm1jYmApIGFuZCBBUElDIG1vZGUgcmVmcmVzaCAoYGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZWApLiBUaGlzIGlzIGNvcmUgS1ZNIGxvZ2ljIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtLVk0mIzM0OywKICAgICYjMzQ7S1ZNX0FNRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2F2aWNfaW5pdF92bWNiJiMzNDssCiAgICAmIzM0O2F2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGluIEtWTSBTVk0gY29kZSwgd2hpY2ggaXMgY2FsbGVkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIChgYXZpY19pbml0X3ZtY2JgKSBhbmQgQVBJQyBtb2RlIHJlZnJlc2ggKGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgKS4gVGhpcyBpcyBjb3JlIEtWTSBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDA1OjQ1OjI5LjIxNzcwNzE5M1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM5MjM2NDk1NTQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIktWTVwiLFxuICAgIFwiS1ZNX0FNRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImF2aWNfaW5pdF92bWNiXCIsXG4gICAgXCJhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGluIEtWTSBTVk0gY29kZSwgd2hpY2ggaXMgY2FsbGVkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIChgYXZpY19pbml0X3ZtY2JgKSBhbmQgQVBJQyBtb2RlIHJlZnJlc2ggKGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgKS4gVGhpcyBpcyBjb3JlIEtWTSBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6MjkuMjE3NzE1MTQzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMTA0MTkxMzcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAzZThjNjI2NWZiMGZmMDA0MTA4MjVjMDU2YzVjZGRkN2EzMjYxYTJiXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBGcmkgSnVsIDMxIDA1OjQ1OjI4IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS9zdm0vYXZpYy5jIGIvYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcXG5pbmRleCA1OGU0OTNhODBjYjBlLi4xNmUwOWE4ZmU4NWUxIDEwMDY0NFxcbi0tLSBhL2FyY2gveDg2L2t2bS9zdm0vYXZpYy5jXFxuKysrIGIvYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcXG5AQCAtMjQwLDE0ICsyNDAsNiBAQCBzdGF0aWMgdm9pZCBhdmljX2RlYWN0aXZhdGVfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSlcXG4gXFx0aWYgKCFpc19zZXZfZXNfZ3Vlc3QoXFx1MDAyNnN2bS1cXHUwMDNldmNwdSkpXFxuIFxcdFxcdHN2bV9zZXRfaW50ZXJjZXB0KHN2bSwgSU5URVJDRVBUX0NSOF9XUklURSk7XFxuIFxcbi1cXHQvKlxcbi1cXHQgKiBJZiBydW5uaW5nIG5lc3RlZCBhbmQgdGhlIGd1ZXN0IHVzZXMgaXRzIG93biBNU1IgYml0bWFwLCB0aGVyZVxcbi1cXHQgKiBpcyBubyBuZWVkIHRvIHVwZGF0ZSBMMCdzIG1zciBiaXRtYXBcXG4tXFx0ICovXFxuLVxcdGlmIChpc19ndWVzdF9tb2RlKFxcdTAwMjZzdm0tXFx1MDAzZXZjcHUpIFxcdTAwMjZcXHUwMDI2XFxuLVxcdCAgICB2bWNiMTJfaXNfaW50ZXJjZXB0KFxcdTAwMjZzdm0tXFx1MDAzZW5lc3RlZC5jdGwsIElOVEVSQ0VQVF9NU1JfUFJPVCkpXFxuLVxcdFxcdHJldHVybjtcXG4tXFxuIFxcdC8qIEVuYWJsaW5nIE1TUiBpbnRlcmNlcHQgZm9yIHgyQVBJQyByZWdpc3RlcnMgKi9cXG4gXFx0YXZpY19zZXRfeDJhcGljX21zcl9pbnRlcmNlcHRpb24oc3ZtLCB0cnVlKTtcXG4gfVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NToyOS41Mjg5NDE2OFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjM4OTI1MjUyMzYwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIktWTVwiLFxuICAgIFwiS1ZNX0FNRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImF2aWNfaW5pdF92bWNiXCIsXG4gICAgXCJhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGluIEtWTSBTVk0gY29kZSwgd2hpY2ggaXMgY2FsbGVkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIChgYXZpY19pbml0X3ZtY2JgKSBhbmQgQVBJQyBtb2RlIHJlZnJlc2ggKGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgKS4gVGhpcyBpcyBjb3JlIEtWTSBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgM2U4YzYyNjVmYjBmZjAwNDEwODI1YzA1NmM1Y2RkZDdhMzI2MWEyYlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDMxIDA1OjQ1OjI4IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvYXJjaC94ODYva3ZtL3N2bS9hdmljLmMgYi9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuY1xuaW5kZXggNThlNDkzYTgwY2IwZS4uMTZlMDlhOGZlODVlMSAxMDA2NDRcbi0tLSBhL2FyY2gveDg2L2t2bS9zdm0vYXZpYy5jXG4rKysgYi9hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuY1xuQEAgLTI0MCwxNCArMjQwLDYgQEAgc3RhdGljIHZvaWQgYXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pXG4gXHRpZiAoIWlzX3Nldl9lc19ndWVzdChcdTAwMjZzdm0tXHUwMDNldmNwdSkpXG4gXHRcdHN2bV9zZXRfaW50ZXJjZXB0KHN2bSwgSU5URVJDRVBUX0NSOF9XUklURSk7XG4gXG4tXHQvKlxuLVx0ICogSWYgcnVubmluZyBuZXN0ZWQgYW5kIHRoZSBndWVzdCB1c2VzIGl0cyBvd24gTVNSIGJpdG1hcCwgdGhlcmVcbi1cdCAqIGlzIG5vIG5lZWQgdG8gdXBkYXRlIEwwJ3MgbXNyIGJpdG1hcFxuLVx0ICovXG4tXHRpZiAoaXNfZ3Vlc3RfbW9kZShcdTAwMjZzdm0tXHUwMDNldmNwdSkgXHUwMDI2XHUwMDI2XG4tXHQgICAgdm1jYjEyX2lzX2ludGVyY2VwdChcdTAwMjZzdm0tXHUwMDNlbmVzdGVkLmN0bCwgSU5URVJDRVBUX01TUl9QUk9UKSlcbi1cdFx0cmV0dXJuO1xuLVxuIFx0LyogRW5hYmxpbmcgTVNSIGludGVyY2VwdCBmb3IgeDJBUElDIHJlZ2lzdGVycyAqL1xuIFx0YXZpY19zZXRfeDJhcGljX21zcl9pbnRlcmNlcHRpb24oc3ZtLCB0cnVlKTtcbiB9XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NToyOS41Mjg5NDMyWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTQxOTc1ODU0NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEtWTS9TVk0gQVZJQyBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBhcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuY2AuIEl0IHNlZW1zIHRvIGJlIHJlbW92aW5nIGEgc3BlY2lmaWMgY2hlY2sgd2l0aGluIHRoZSBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGZ1bmN0aW9uLiBMZXQncyBkaWcgaW4uIEl0J3MgdGFraW5nIG91dCB0aGlzIGNvbmRpdGlvbmFsIGJsb2NrOlxuXG5gYGBjXG4tXHQvKlxuLVx0ICogSWYgcnVubmluZyBuZXN0ZWQgYW5kIHRoZSBndWVzdCB1c2VzIGl0cyBvd24gTVNSIGJpdG1hcCwgdGhlcmVcbi1cdCAqIGlzIG5vIG5lZWQgdG8gdXBkYXRlIEwwJ3MgbXNyIGJpdG1hcFxuLVx0ICovXG4tXHRpZiAoaXNfZ3Vlc3RfbW9kZShcdTAwMjZzdm0tXHUwMDNldmNwdSkgXHUwMDI2XHUwMDI2XG4tXHQgICAgdm1jYjEyX2lzX2ludGVyY2VwdChcdTAwMjZzdm0tXHUwMDNlbmVzdGVkLmN0bCwgSU5URVJDRVBUX01TUl9QUk9UKSlcbi1cdFx0cmV0dXJuO1xuYGBgXG5cblJpZ2h0LCB0aGlzIGlzIHJlbGF0ZWQgdG8gbmVzdGVkIHZpcnR1YWxpemF0aW9uIG9uIEFNRCBwbGF0Zm9ybXMsIHNwZWNpZmljYWxseSB0aGUgaGFuZGxpbmcgb2YgTVNSIGJpdG1hcHMuIFRoZSBsb2dpYyBoZXJlIHdhcyBkZXNpZ25lZCB0byBhdm9pZCByZWR1bmRhbnQgdXBkYXRlcyB0byB0aGUgTDAgKGhvc3QpIE1TUiBiaXRtYXAgd2hlbiBuZXN0ZWQgZ3Vlc3RzIChMMSkgYXJlIG1hbmFnaW5nIHRoZWlyIG93bi4gVGhlIHJhdGlvbmFsZSBzb3VuZHMgcmVhc29uYWJsZSDigJMgaWYgdGhlIEwxIGd1ZXN0IGlzIGludGVyY2VwdGluZyBhbmQgaGFuZGxpbmcgaXRzIG93biBNU1IgYWNjZXNzZXMsIHdoeSBib3RoZXIgTDAgd2l0aCB0aGF0IG92ZXJoZWFkPyBCdXQsIHRoZXJlIGlzIGEgcmVhc29uIGZvciByZW1vdmluZyBpdC4gSSB3b3VsZCBuZWVkIHRvIGZpbmQgb3V0ICp3aHkqIHRoaXMgaXMgYmVpbmcgcmVtb3ZlZC4gV2hhdCBpcyB0aGUgaW1wYWN0PyBXaGF0IGlzIHRoZSByYXRpb25hbGUgYmVoaW5kIHJlbW92aW5nIHRoaXMgY2hlY2s/IElzIHRoZXJlIGEgcGVyZm9ybWFuY2UgcHJvYmxlbSB0aGlzIGlzIHJlc29sdmluZz8gSXMgdGhpcyBhIGJ1ZyBmaXg/IE9yIGlzIHRoaXMgY2hhbmdlIHJlbGF0ZWQgdG8gYSBuZXcgZmVhdHVyZT8gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyBvZiByZW1vdmluZyB0aGlzIG9wdGltaXphdGlvbiwgcGFydGljdWxhcmx5IGluIGEgbmVzdGVkIHZpcnR1YWxpemF0aW9uIGNvbnRleHQuIFdoYXQgYXJlIHRoZSBwb3RlbnRpYWwgY29uc2VxdWVuY2VzIG9mIGFsd2F5cyB1cGRhdGluZyB0aGUgTDAgTVNSIGJpdG1hcCwgZXZlbiB3aGVuIHRoZSBMMSBndWVzdCBpcyBtYW5hZ2luZyBpdD8gVGhlIHBhdGNoIGRlc2NyaXB0aW9uIHNob3VsZCBwcm92aWRlIGNsdWVzLCBhbmQgdGhlIHJlbGV2YW50IG1haWxpbmcgbGlzdCBkaXNjdXNzaW9ucyBvciBidWcgcmVwb3J0cyB3b3VsZCBiZSB2ZXJ5IGhlbHBmdWwuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIxNTQsIk91dHB1dFRva2VucyI6NDEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTozNC45NDg3MTEwNjZaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDczMDc5OTksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYXZpY19kZWFjdGl2YXRlX3ZtY2JcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MTc0PXN0YXRpYyB2b2lkIGF2aWNfYWN0aXZhdGVfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSlcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTIzMi1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzoyMzM6c3RhdGljIHZvaWQgYXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMjM0LXtcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTM2OD12b2lkIGF2aWNfaW5pdF92bWNiKHN0cnVjdCB2Y3B1X3N2bSAqc3ZtLCBzdHJ1Y3Qgdm1jYiAqdm1jYilcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTM3OS1cXHRlbHNlXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MzgwOlxcdFxcdGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN2bSk7XFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMzgxLX1cXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTExNTM9dm9pZCBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxcbi0tXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE3MS1cXHR9IGVsc2Uge1xcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jOjExNzI6XFx0XFx0YXZpY19kZWFjdGl2YXRlX3ZtY2Ioc3ZtKTtcXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTczLVxcdH1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6MzQuOTk2MDI1MTk1WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzk4MTIyNjA0OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBLVk0gU1ZNIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyB0YWtpbmcgb3V0IGEgY2hlY2sgd2l0aGluIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAuIEludGVyZXN0aW5nLiBUaGF0IGZ1bmN0aW9uIGdldHMgY2FsbGVkIGZyb20gYm90aCBgYXZpY19pbml0X3ZtY2JgIGFuZCBgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYC4gVGhpcyBpcyBkZWZpbml0ZWx5IEtWTSBTVk0gY29kZSwgd2hpY2ggbWVhbnMgaXQncyBmdXp6YWJsZSAtIGFsd2F5cyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQgZm9yIGludmVzdGlnYXRpb24uIE15IGZvY3VzIGlzIGdvaW5nIHRvIGJlIG9uIGBhdmljX2luaXRfdm1jYmAgYW5kIGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgLCBzaW5jZSBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGlzIHN0YXRpYyBhbmQgSSBjYW4gdHJhY2UgdGhvc2UgY2FsbHMuIFRpbWUgdG8gZGl2ZSBpbnRvIHRoZSBjb2RlLiBJJ2xsIHN0YXJ0IGJ5IGNoZWNraW5nIG91dCBgYXJjaC94ODYva3ZtL3N2bS9hdmljLmNgIGFuZCBkaWdnaW5nIGludG8gdGhvc2UgdHdvIGtleSBmdW5jdGlvbnMuIExldCdzIHNlZSB3aGF0IHZ1bG5lcmFiaWxpdGllcyBtaWdodCBiZSBleHBvc2VkIGJ5IHRoaXMgY2hhbmdlLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMTIyLCJPdXRwdXRUb2tlbnMiOjQ0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTM2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDA1OjQ1OjM4Ljk3NzI1NDAyM1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo3NDYzMjgzOSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9hdmljLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MTEyMD12b2lkIGF2aWNfdmNwdV9wdXQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KVxcbi0tXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE1Mi1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzoxMTUzOnZvaWQgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTU0LXtcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTExNzc9dm9pZCBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTExODQtXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MTE4NTpcXHRhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGUodmNwdSk7XFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE4Ni1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6MzkuMDUxODkzNzUyWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mjc5MzE2MDYwNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2Vzcywgc3VtbWFyaXplZCBhcyBpZiBJIHdlcmUgY29uc2lkZXJpbmcgdGhpcyBteXNlbGY6XG5cbioqS2NvbmZpZyBhbmQgU1ZNIC0gTGV0J3MgRGlnIEluKipcblxuT2theSwgZmlyc3QgdGhpbmdzIGZpcnN0LCBJIG5lZWQgdG8gY2hlY2sgdGhlIEtjb25maWcgZmlsZXMuIFNwZWNpZmljYWxseSwgSSdtIHRoaW5raW5nIGFib3V0IFNWTSDigJMgU2VjdXJlIFZpcnR1YWwgTWFjaGluZXMuIFRoYXQncyB3aGVyZSBJIG5lZWQgdG8gc3RhcnQuIEkga25vdyB0aGVyZSBhcmUgbGlrZWx5IHNldmVyYWwgS2NvbmZpZyBmaWxlcyBpbnZvbHZlZCwgZGVwZW5kaW5nIG9uIHRoZSBhcmNoaXRlY3R1cmUgYW5kIGh5cGVydmlzb3IgYmVpbmcgdXNlZCwgc28gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhlIHJlbGV2YW50IG9wdGlvbnMgYXJlIGRlZmluZWQuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBzZWFyY2ggZm9yIGtleXdvcmRzIHJlbGF0ZWQgdG8gU1ZNLCB2aXJ0dWFsaXphdGlvbiwgYW5kIHNlY3VyaXR5IHdpdGhpbiB0aGUgS2NvbmZpZyBzeXN0ZW0uIEknbSBsb29raW5nIGZvciB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHRoYXQgZW5hYmxlLCBkaXNhYmxlLCBvciBjb25maWd1cmUgU1ZNIGZlYXR1cmVzLiBIb3BlZnVsbHksIHRoZSBuYW1pbmcgY29udmVudGlvbnMgYXJlIHNlbnNpYmxlIGFuZCB0aGUgZG9jdW1lbnRhdGlvbiwgaWYgYW55LCBpcyBjbGVhci4gSXQncyBhIGZ1bmRhbWVudGFsIHN0ZXAgdG8gZW5zdXJlIHRoZSBjb3JyZWN0IGZlYXR1cmVzIGFyZSBlbmFibGVkIGZvciB0aGUgY3VycmVudCBzeXN0ZW0gY29uZmlndXJhdGlvbi5cblxuXG4iLCJJbnB1dFRva2VucyI6Mzc1MCwiT3V0cHV0VG9rZW5zIjozNiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NDEuODQ1MDU3NDQ5WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUzNzMzNTgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBLVk1fQU1EXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImFyY2gveDg2L2t2bS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gveDg2L2t2bS9LY29uZmlnPTEzND1jb25maWcgS1ZNX0lOVEVMX1REWFxcbi0tXFxuYXJjaC94ODYva3ZtL0tjb25maWctMTQ1LVxcbmFyY2gveDg2L2t2bS9LY29uZmlnOjE0Njpjb25maWcgS1ZNX0FNRFxcbmFyY2gveDg2L2t2bS9LY29uZmlnLTE0Ny1cXHR0cmlzdGF0ZSBcXFwiS1ZNIGZvciBBTUQgcHJvY2Vzc29ycyBzdXBwb3J0XFxcIlxcbi0tXFxuYXJjaC94ODYva3ZtL0tjb25maWctMTU1LVxcbmFyY2gveDg2L2t2bS9LY29uZmlnOjE1Njpjb25maWcgS1ZNX0FNRF9TRVZcXG5hcmNoL3g4Ni9rdm0vS2NvbmZpZy0xNTctXFx0Ym9vbCBcXFwiQU1EIFNlY3VyZSBFbmNyeXB0ZWQgVmlydHVhbGl6YXRpb24gKFNFVikgc3VwcG9ydFxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NDEuODk4Nzk2MzI5WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzI3NTg2OTcwMywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6XG5cbioqQW5hbHl6aW5nIHRoZSBLVk1fQU1EIENvbmZpZ3VyYXRpb24qKlxuXG5SaWdodCwgc28gd2UncmUgbG9va2luZyBhdCBhIGBLVk1fQU1EYCBjb25maWd1cmF0aW9uLiBNeSBmaXJzdCBpbnN0aW5jdCwgYXMgYWx3YXlzLCBpcyB0byB1bmRlcnN0YW5kIGl0cyBkZXBlbmRlbmNpZXMuIEkgd2FudCB0byBrbm93IHdoYXQgb3RoZXIgY29tcG9uZW50cyBvciBzZXR0aW5ncyB0aGlzIHJlbGllcyBvbi4gVGhpcyBpc24ndCBqdXN0IGFib3V0IHNpbXBsZSBkZXBlbmRlbmNpZXM7IGl0J3MgYWJvdXQgdGhlIGJpZ2dlciBwaWN0dXJlLiBBcmUgdGhlcmUgYW55IHN1YnRsZSBpbXBsaWNhdGlvbnMgb3IgaW50ZXJhY3Rpb25zIHdpdGggb3RoZXIgZmVhdHVyZXMgSSBuZWVkIHRvIGJlIGF3YXJlIG9mPyBBcmUgdGhlcmUgcG90ZW50aWFsIGNvbmZsaWN0cyB3aXRoIG90aGVyIG1vZHVsZXM/IEEgZGVlcCBkaXZlIGludG8gZGVwZW5kZW5jaWVzIGlzIGNydWNpYWwgZm9yIHByZWRpY3RpbmcgYmVoYXZpb3VyLCBkZWJ1Z2dpbmcgaXNzdWVzLCBhbmQgdW5kZXJzdGFuZGluZyB0aGUgb3ZlcmFsbCBzeXN0ZW0gYXJjaGl0ZWN0dXJlLiBMZXQncyBzZWUgd2hhdCB3ZSBjYW4gZGlnIHVwLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MTU3LCJPdXRwdXRUb2tlbnMiOjM5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NDUuMTc0NjY4MjgyWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjgxMTAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImFyY2gveDg2L2t2bS9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDE0MCxcbiAgXCJMaW5lQ291bnRcIjogMjBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDE0MDpcXHRcXHRoZWxwXFxuIDE0MTpcXHRcXHQgIFByb3ZpZGVzIHN1cHBvcnQgZm9yIGxhdW5jaGluZyBJbnRlbCBUcnVzdCBEb21haW4gRXh0ZW5zaW9ucyAoVERYKVxcbiAxNDI6XFx0XFx0ICBjb25maWRlbnRpYWwgVk1zIG9uIEludGVsIHByb2Nlc3NvcnMuXFxuIDE0MzpcXHRcXG4gMTQ0OlxcdFxcdCAgSWYgdW5zdXJlLCBzYXkgTi5cXG4gMTQ1OlxcdFxcbiAxNDY6XFx0Y29uZmlnIEtWTV9BTURcXG4gMTQ3OlxcdFxcdHRyaXN0YXRlIFxcXCJLVk0gZm9yIEFNRCBwcm9jZXNzb3JzIHN1cHBvcnRcXFwiXFxuIDE0ODpcXHRcXHRkZXBlbmRzIG9uIEtWTSBcXHUwMDI2XFx1MDAyNiAoQ1BVX1NVUF9BTUQgfHwgQ1BVX1NVUF9IWUdPTilcXG4gMTQ5OlxcdFxcdGhlbHBcXG4gMTUwOlxcdFxcdCAgUHJvdmlkZXMgc3VwcG9ydCBmb3IgS1ZNIG9uIEFNRCBwcm9jZXNzb3JzIGVxdWlwcGVkIHdpdGggdGhlIEFNRC1WXFxuIDE1MTpcXHRcXHQgIChTVk0pIGV4dGVuc2lvbnMuXFxuIDE1MjpcXHRcXG4gMTUzOlxcdFxcdCAgVG8gY29tcGlsZSB0aGlzIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlXFxuIDE1NDpcXHRcXHQgIHdpbGwgYmUgY2FsbGVkIGt2bS1hbWQuXFxuIDE1NTpcXHRcXG4gMTU2OlxcdGNvbmZpZyBLVk1fQU1EX1NFVlxcbiAxNTc6XFx0XFx0Ym9vbCBcXFwiQU1EIFNlY3VyZSBFbmNyeXB0ZWQgVmlydHVhbGl6YXRpb24gKFNFVikgc3VwcG9ydFxcXCJcXG4gMTU4OlxcdFxcdGRlZmF1bHQgeVxcbiAxNTk6XFx0XFx0ZGVwZW5kcyBvbiBLVk1fQU1EIFxcdTAwMjZcXHUwMDI2IFg4Nl82NFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTo0NS4xNzQ3NTExNzJaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzM4ODc0MDM1MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQuXG5cbioqQW5hbHl6aW5nIEtWTV9BTUQgRGVwZW5kZW5jaWVzKipcblxuUmlnaHQsIHNvIEknbSBsb29raW5nIGF0IGBLVk1fQU1EYC4gSXQncyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkLCBpdCBkZXBlbmRzIG9uIGBLVk1gLCB3aGljaCBpcyBleHBlY3RlZC4gQnV0IHRoZW4gdGhlcmUncyB0aGlzIGNvbmRpdGlvbmFsIGRlcGVuZGVuY3k6IGAoQ1BVX1NVUF9BTUQgfHwgQ1BVX1NVUF9IWUdPTilgLiAgQ2xlYXJseSwgYEtWTV9BTURgIG5lZWRzIGVpdGhlciBBTUQgb3IgSHlnb24gQ1BVIHN1cHBvcnQgdG8gZnVuY3Rpb24gY29ycmVjdGx5LiBNYWtlcyBwZXJmZWN0IHNlbnNlLiBNeSBuZXh0IHN0ZXA/IEkgbmVlZCB0byBkaWcgaW50byBgQ1BVX1NVUF9BTURgIGFuZCBgQ1BVX1NVUF9IWUdPTmAgYW5kIGZpZ3VyZSBvdXQgZXhhY3RseSB3aGF0IHRob3NlIGFyZSBkZWZpbmVkIGFzLCBpZiB0aGV5IGFyZSBib3RoIGRlZmluZWQsIGFuZCB3aGF0IHRob3NlIGRlZmluaXRpb25zIG1lYW4uIEl0J3MgdGltZSB0byBmb2xsb3cgdGhlIHRyYWlsLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NjY1LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTAsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTo0OC41NjM0OTQ2ODRaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUxMzAyNzE5LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQ1BVX1NVUF9BTURcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC94ODYvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NDguNjE0ODA2NjgzWiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMxOTY2Mzg4NjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0YWtlIG9uIHRoZSB0aG91Z2h0IHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gdGhlIHg4NiBBcmNoaXRlY3R1cmUgQ29uZmlndXJhdGlvbioqXG5cbk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBzb21ldGhpbmcgcmVsYXRlZCB0byB0aGUgeDg2IGFyY2hpdGVjdHVyZSB3aXRoaW4gdGhpcyBrZXJuZWwgYnVpbGQuIFdoZXJlIHdvdWxkIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucyBiZSBsb2NhdGVkPyBMZXQncyBzdGFydCB3aXRoIGEgY2xhc3NpYzogSSdsbCBjaGVjayBgYXJjaC94ODYvS2NvbmZpZy5jcHVgLiBUaGlzIGZpbGUgaXMgdXN1YWxseSB0aGUgcGxhY2UgdG8gZ28gZm9yIENQVS1zcGVjaWZpYyBjb25maWd1cmF0aW9uIG9wdGlvbnMuIEknbSBob3BpbmcgdG8gZmluZCB0aGUgcmVsZXZhbnQgcGllY2VzIG9mIHRoZSBwdXp6bGUgdGhlcmUuIFRoaXMgaXMgbGlrZWx5IHdoZXJlIHRoZSBjb3JlIGFyY2hpdGVjdHVyZSBmZWF0dXJlcywgbGlrZSBDUFUgbW9kZWxzLCBmZWF0dXJlcyBhbmQgb3B0aW1pemF0aW9ucywgYXJlIGRlZmluZWQuIEZyb20gdGhlcmUsIEkgY2FuIGJyYW5jaCBvdXQgYXMgbmVlZGVkLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0OTIxLCJPdXRwdXRUb2tlbnMiOjM2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NTEuODExNDQ4MTU3WiIsIlNlcSI6MTQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NjY1NzM2MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQ1BVX1NVUF9BTURcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC94ODYvS2NvbmZpZy5jcHVcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC94ODYvS2NvbmZpZy5jcHU9MzU0PWNvbmZpZyBDUFVfU1VQX0NZUklYXzMyXFxuLS1cXG5hcmNoL3g4Ni9LY29uZmlnLmNwdS0zNjctXFxuYXJjaC94ODYvS2NvbmZpZy5jcHU6MzY4OmNvbmZpZyBDUFVfU1VQX0FNRFxcbmFyY2gveDg2L0tjb25maWcuY3B1LTM2OS1cXHRkZWZhdWx0IHlcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDU6NTEuODU4MTMwMjM3WiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM1ODY4MDIzNTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBzdW1tYXJ5LCBhcyBJIHNlZSBpdDpcblxuKipFeGFtaW5pbmcgQU1EIENQVSBTdXBwb3J0IGluIHRoZSBLZXJuZWwgQ29uZmlndXJhdGlvbioqXG5cbk9rYXksIHNvIGBDUFVfU1VQX0FNRGAgaXMgc2V0IHRvIFwieVwiIGJ5IGRlZmF1bHQuIFRoYXQncyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQuIFRoaXMgbWVhbnMsIGJ5IGltcGxpY2F0aW9uLCB0aGF0IGBLVk1gIGFuZCBgS1ZNX0FNRGAgYXJlIHByb2JhYmx5IHN1ZmZpY2llbnQgZm9yIHRoZSBmdW5kYW1lbnRhbCBBTUQgdmlydHVhbGl6YXRpb24gc3VwcG9ydCwgYXQgbGVhc3QgaW5pdGlhbGx5LiBJJ20gZ29pbmcgdG8gcHJvY2VlZCBhc3N1bWluZyB0aGF0J3MgdGhlIGNhc2UuXG5cbk5vdywgSSB3YW50IHRvIGNvbmZpcm0gc29tZXRoaW5nIHNwZWNpZmljIGFib3V0IHRoZSBpbXBsZW1lbnRhdGlvbi4gSSBuZWVkIHRvIHNlZSBob3cgdGhlIHJlZnJlc2ggbWVjaGFuaXNtIGZ1bmN0aW9ucy4gSSdtIGdvaW5nIHRvIGNoZWNrIGlmIHRoZSBgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYCBmdW5jdGlvbiBpcyByZWFjaGFibGUuIEkgcmVjYWxsIHRoYXQgaXQncyBjYWxsZWQgZnJvbSBgYXZpY19yZWZyZXNoX2FwaWN2X2V4ZWNfY3RybGAsIHNvIEknbGwgdmVyaWZ5IHRoZSBjYWxsIHBhdGggYW5kIGVuc3VyZSB0aGF0IHRoZSBjb250cm9sIGZsb3cgaXMgYXMgZXhwZWN0ZWQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUyMTEsIk91dHB1dFRva2VucyI6NDIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTo1NS40NDQ5MzU5NzhaIiwiU2VxIjoxNiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ0MjU1MzYwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImF2aWNfcmVmcmVzaF9hcGljdl9leGVjX2N0cmxcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiYXJjaC94ODYva3ZtL3N2bS9hdmljLmM9MTE1Mz12b2lkIGF2aWNfcmVmcmVzaF92aXJ0dWFsX2FwaWNfbW9kZShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTc2LVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jOjExNzc6dm9pZCBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0xMTc4LXtcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmM9NTMyNT1zdHJ1Y3Qga3ZtX3g4Nl9vcHMgc3ZtX3g4Nl9vcHMgX19pbml0ZGF0YSA9IHtcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmMtNTQwNi1cXHQuc2V0X3ZpcnR1YWxfYXBpY19tb2RlID0gYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlLFxcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmM6NTQwNzpcXHQucmVmcmVzaF9hcGljdl9leGVjX2N0cmwgPSBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsLFxcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmMtNTQwOC1cXHQuYXBpY3ZfcG9zdF9zdGF0ZV9yZXN0b3JlID0gYXZpY19hcGljdl9wb3N0X3N0YXRlX3Jlc3RvcmUsXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5oPTk1Nz12b2lkIGF2aWNfYXBpY3ZfcG9zdF9zdGF0ZV9yZXN0b3JlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSk7XFxuYXJjaC94ODYva3ZtL3N2bS9zdm0uaDo5NTg6dm9pZCBhdmljX3JlZnJlc2hfYXBpY3ZfZXhlY19jdHJsKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSk7XFxuYXJjaC94ODYva3ZtL3N2bS9zdm0uaC05NTktaW50IGF2aWNfcGlfdXBkYXRlX2lydGUoc3RydWN0IGt2bV9rZXJuZWxfaXJxZmQgKmlycWZkLCBzdHJ1Y3Qga3ZtICprdm0sXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDA1OjQ1OjU1LjQ4OTE5NTI3N1oiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNjYxMTkxODUwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkRpdmluZyBpbnRvIHRoZSBLVk0geDg2IE9wcyoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHNvbWV0aGluZyB0aGF0J3MgY2xlYXJseSBpbnRlcnR3aW5lZCB3aXRoIHRoZSBga3ZtX3g4Nl9vcHNgIHN0cnVjdHVyZS4gVGhpcyBsaWtlbHkgbWVhbnMgaXQncyBhIGNyaXRpY2FsIGNvbXBvbmVudCBmb3IgaGFuZGxpbmcgc3BlY2lmaWMgeDg2IHZpcnR1YWxpemF0aW9uIG9wZXJhdGlvbnMgd2l0aGluIEtWTS4gTXkgbWVudGFsIGNoZWNrbGlzdCBraWNrcyBpbjogSSBuZWVkIHRvIHF1aWNrbHkgZ3Jhc3AgdGhlIGNvbnRleHQuIFRoZSBzcGVjaWZpYyBmdW5jdGlvbiBvZiBpbnRlcmVzdCBpcyBgYXZpY19pbml0X3ZtY2JgLiBTaW5jZSBpdCBpbnZvbHZlcyB0aGUgQWR2YW5jZWQgVmlydHVhbCBJbnRlcnJ1cHQgQ29udHJvbGxlciAoQVZJQyksIHRoaXMgcG9pbnRzIHRvd2FyZHMgaG93IHdlJ3JlIHNldHRpbmcgdXAgdGhlIFZpcnR1YWwgTWFjaGluZSBDb250cm9sIEJsb2NrIChWTUNCKSBzdHJ1Y3R1cmUgZm9yIGhhbmRsaW5nIGludGVycnVwdHMgd2l0aGluIG5lc3RlZCB2aXJ0dWFsaXphdGlvbiBjb250ZXh0cy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBpbnRlcnJ1cHQgaW5qZWN0aW9uIHdvcmtzLiBJIGFtIHByb2JhYmx5IGV4YW1pbmluZyB0aGUgbG9naWMgdGhhdCBnb3Zlcm5zIHRoZSBzZXR1cCwgaW5qZWN0aW9uIGFuZCBkZWxpdmVyeS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoaXMgZnVuY3Rpb24gaXMgaW50ZWdyYXRlZCBpbnRvIHRoZSBsYXJnZXIgaW50ZXJydXB0IGRlbGl2ZXJ5IHNjaGVtZSBmb3IgbmVzdGVkIHZpcnR1YWxpemF0aW9uIHdpdGggQVZJQywgcGFydGljdWxhcmx5IGhvdyBpdCBpbnRlcmFjdHMgd2l0aCB0aGUgaHlwZXJ2aXNvcidzIGludGVycnVwdCBoYW5kbGluZyBhbmQgZ3Vlc3QncyBpbnRlcnJ1cHQgbWFuYWdlbWVudC4gSSBhbSBjb25zaWRlcmluZyB0aGUgaW50cmljYWNpZXMgb2YgVk1YIG9wZXJhdGlvbi4gTGV0J3MgZGlnIGluIGFuZCBzZWUgd2hhdCdzIGFjdHVhbGx5IGdvaW5nIG9uIGluIGBhdmljX2luaXRfdm1jYmAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjU5NzEsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyOCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTo1OS4xNTAzODk1NDdaIiwiU2VxIjoxOCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQzNTQwMzkwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImF2aWNfaW5pdF92bWNiXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImFyY2gveDg2L2t2bS9zdm0vXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTM2Mz1zdGF0aWMgcGh5c19hZGRyX3QgYXZpY19nZXRfYmFja2luZ19wYWdlX2FkZHJlc3Moc3RydWN0IHZjcHVfc3ZtICpzdm0pXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zNjctXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MzY4OnZvaWQgYXZpY19pbml0X3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0sIHN0cnVjdCB2bWNiICp2bWNiKVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTM2OS17XFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5jPTExMjE9c3RhdGljIHZvaWQgaW5pdF92bWNiKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgYm9vbCBpbml0X2V2ZW50KVxcbi0tXFxuYXJjaC94ODYva3ZtL3N2bS9zdm0uYy0xMjQ5LVxcdGlmIChlbmFibGVfYXBpY3YgXFx1MDAyNlxcdTAwMjYgaXJxY2hpcF9pbl9rZXJuZWwodmNwdS1cXHUwMDNla3ZtKSlcXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5jOjEyNTA6XFx0XFx0YXZpY19pbml0X3ZtY2Ioc3ZtLCB2bWNiKTtcXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5jLTEyNTEtXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL3N2bS5oPTk1MD1pbnQgYXZpY192bV9pbml0KHN0cnVjdCBrdm0gKmt2bSk7XFxuYXJjaC94ODYva3ZtL3N2bS9zdm0uaDo5NTE6dm9pZCBhdmljX2luaXRfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSwgc3RydWN0IHZtY2IgKnZtY2IpO1xcbmFyY2gveDg2L2t2bS9zdm0vc3ZtLmgtOTUyLWludCBhdmljX2luY29tcGxldGVfaXBpX2ludGVyY2VwdGlvbihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NTo1OS4xOTM5MzU1MzZaIiwiU2VxIjoxOSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDA1MzE3NzYzNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEF2aWMgVk1DQiBJbml0aWFsaXphdGlvbiBhbmQgRGVhY3RpdmF0aW9uKipcblxuT2theSwgc28gYGF2aWNfaW5pdF92bWNiYCBpcyBjYWxsZWQgZnJvbSBgaW5pdF92bWNiYC4gVGhhdCdzIGEgZGlyZWN0IGNvbm5lY3Rpb24gYW5kIHNvbWV0aGluZyBJIGNhbiBkZWZpbml0ZWx5IGdldCBteSBoYW5kcyBvbiBhbmQgdGVzdC4gVGhlIGNvcmUgb2YgdGhpcyBwYXRjaCBzZWVtcyB0byBiZSByZW1vdmluZyBhIGNoZWNrIHdpdGhpbiBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgLiBOb3csIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAgaXRzZWxmIGlzIGNhbGxlZCBieSBib3RoIGBhdmljX2luaXRfdm1jYmAgYW5kIGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgLiBHaXZlbiB0aGF0LCBteSBwcmltYXJ5IGZvY3VzIG5lZWRzIHRvIGJlIG9uIHVuZGVyc3RhbmRpbmcgdGhlIGltcGxpY2F0aW9ucyBmb3IgdGhvc2UgdHdvIGZ1bmN0aW9ucywgc3BlY2lmaWNhbGx5IGBhdmljX2luaXRfdm1jYmAgYW5kIGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgLiBUaGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbnMgYXJlIGBLVk1gIGFuZCBgS1ZNX0FNRGAsIEkgbmVlZCB0byBrZWVwIHRob3NlIGluIG1pbmQgYXMgdGhleSBsaWtlbHkgaW5mbHVlbmNlIHRoZSBiZWhhdmlvci5cblxuQmVmb3JlIEkgZ28gZnVydGhlciwgSSBzaG91bGQgdmVyaWZ5IHRoYXQgdGhlcmUgYXJlbid0IGFueSBvdGhlciBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcy4gSSdsbCB0YWtlIGEgcXVpY2sgbG9vayBhcm91bmQgdG8gbWFrZSBzdXJlIEkgaGF2ZW4ndCBtaXNzZWQgYW55dGhpbmcgb2J2aW91cy5cblxuXG4iLCJJbnB1dFRva2VucyI6NjY5NCwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEyMywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0zMVQwNTo0NjowMy4yNDcxMTU3NTNaIiwiU2VxIjoyMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ0ODE2OTQwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImF2aWNfZGVhY3RpdmF0ZV92bWNiXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImFyY2gveDg2L2t2bS9zdm0vXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gveDg2L2t2bS9zdm0vYXZpYy5jPTE3ND1zdGF0aWMgdm9pZCBhdmljX2FjdGl2YXRlX3ZtY2Ioc3RydWN0IHZjcHVfc3ZtICpzdm0pXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0yMzItXFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmM6MjMzOnN0YXRpYyB2b2lkIGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN0cnVjdCB2Y3B1X3N2bSAqc3ZtKVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTIzNC17XFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0zNjg9dm9pZCBhdmljX2luaXRfdm1jYihzdHJ1Y3QgdmNwdV9zdm0gKnN2bSwgc3RydWN0IHZtY2IgKnZtY2IpXFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYy0zNzktXFx0ZWxzZVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jOjM4MDpcXHRcXHRhdmljX2RlYWN0aXZhdGVfdm1jYihzdm0pO1xcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTM4MS19XFxuLS1cXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYz0xMTUzPXZvaWQgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSlcXG4tLVxcbmFyY2gveDg2L2t2bS9zdm0vYXZpYy5jLTExNzEtXFx0fSBlbHNlIHtcXG5hcmNoL3g4Ni9rdm0vc3ZtL2F2aWMuYzoxMTcyOlxcdFxcdGF2aWNfZGVhY3RpdmF0ZV92bWNiKHN2bSk7XFxuYXJjaC94ODYva3ZtL3N2bS9hdmljLmMtMTE3My1cXHR9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTMxVDA1OjQ2OjAzLjI5MTkzNzIyM1oiLCJTZXEiOjIxLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1MDc2OTQ2NzU4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgQVZJQyBEZWFjdGl2YXRpb24gTW9kaWZpY2F0aW9uKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgaXQncyBoaXR0aW5nIGBhdmljX2RlYWN0aXZhdGVfdm1jYmAuIE15IGluaXRpYWwgZm9jdXMsIGFzIGFsd2F5cywgaXMgb24gdGhlIGNvcmUgZnVuY3Rpb25hbGl0eSwgYW5kIHRoaXMgaXMgZGVmaW5pdGVseSB0aWVkIHRvIGNyaXRpY2FsIEtWTS1TVk0gbG9naWMuIFNwZWNpZmljYWxseSwgdGhpcyBmdW5jdGlvbiBpcyB1c2VkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIGFuZCB0aGUgcmVmcmVzaCBvZiB0aGUgQVBJQyBtb2RlLCB3aGljaCBpcyByaWdodCBpbiB0aGUgaGVhcnQgb2YgdGhlIHZpcnR1YWxpemVkIEFQSUMgaGFuZGxpbmcuIFRoYXQgbWVhbnMgYW55IGNoYW5nZSBoZXJlIGhhcyB0aGUgcG90ZW50aWFsIHRvIGltcGFjdCB0aGUgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZSBvZiBvdXIgbmVzdGVkIHZpcnR1YWxpemF0aW9uLCBvciBldmVuIG1vcmUgY3JpdGljYWxseSB0aGUgd2hvbGUgVk0uXG5cblRoZSBwcmltYXJ5IGNoYW5nZSBzZWVtcyB0byBiZSB3aXRoaW4gYGF2aWNfZGVhY3RpdmF0ZV92bWNiYC4gVGhlIHJlbGF0ZWQgc3ltYm9scyBiZWluZyBmbGFnZ2VkIGFyZSBgYXZpY19pbml0X3ZtY2JgIGFuZCBgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYCB3aGljaCBtYWtlcyBzZW5zZSwgZ2l2ZW4gdGhlIGNsb3NlIHJlbGF0aW9uc2hpcCB0aGV5IHNoYXJlIHdpdGggdGhlIGZ1bmN0aW9uIGluIGZvY3VzLlxuXG5JdCBsb29rcyBsaWtlIHRoZSBjb25maWd1cmF0aW9ucyBpbnZvbHZlZCBhcmUgYEtWTWAgYW5kIGBLVk1fQU1EYCwgc28gdGhpcyBpcyB0YXJnZXRlZCBhdCBBTUQgaGFyZHdhcmUgc3BlY2lmaWNhbGx5LCB3aGljaCBJJ2QgZXhwZWN0LiBUaGUgc3RhdGVkIHJlYXNvbmluZyBpcyB0aGUgcmVtb3ZhbCBvZiBhIHNwZWNpZmljIGNoZWNrLiBUaGF0J3MgdGhlIGNydXggb2YgdGhpcy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCBjb25kaXRpb24gd2FzIGJlaW5nIGNoZWNrZWQsIHdoeSBpdCB3YXMgcmVtb3ZlZCwgYW5kIHdoYXQgdGhlIHBvdGVudGlhbCBpbXBsaWNhdGlvbnMgYXJlIGZvciB0aGVzZSB0d28ga2V5IGZ1bmN0aW9ucy4gV2hhdCBhcmUgdGhlIHNwZWNpZmljIHBlcmZvcm1hbmNlIGltcGxpY2F0aW9ucyBmb3IgbmVzdGVkIHZpcnR1YWxpemF0aW9uIHdpdGggdGhpcyBjaGFuZ2U/IElzIHRoaXMgYSBwb3RlbnRpYWwgc2VjdXJpdHkgZml4LCBvciBhIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbj8gSSBuZWVkIHRvIGRpZyBkZWVwZXIgaW50byB0aGUgY29kZSBhbmQgdGhlIGNvbW1pdCBtZXNzYWdlIHRvIGZ1bGx5IGdyYXNwIHRoZSByYXRpb25hbGUgYW5kIHRoZSB0cmFkZS1vZmZzIGludm9sdmVkLiBMZXQncyBzZWUgaWYgdGhlIGNvbW1pdCBtZXNzYWdlIHNoZWRzIHNvbWUgbGlnaHQgb3IgaWYgSSBuZWVkIHRvIHN0YXJ0IHRyYWNpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjc0NTMsIk91dHB1dFRva2VucyI6MTI3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6OTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMzFUMDU6NDY6MDguMzY4ODg2MzgxWiIsIlNlcSI6MjIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODUzMDQ0NzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIktWTVwiLFxuICAgIFwiS1ZNX0FNRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImF2aWNfaW5pdF92bWNiXCIsXG4gICAgXCJhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBgYXZpY19kZWFjdGl2YXRlX3ZtY2JgIGluIEtWTSBTVk0gY29kZSwgd2hpY2ggaXMgY2FsbGVkIGR1cmluZyBWTUNCIGluaXRpYWxpemF0aW9uIChgYXZpY19pbml0X3ZtY2JgKSBhbmQgQVBJQyBtb2RlIHJlZnJlc2ggKGBhdmljX3JlZnJlc2hfdmlydHVhbF9hcGljX21vZGVgKS4gVGhpcyBpcyBjb3JlIEtWTSBsb2dpYyBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJLVk1cIixcbiAgICBcIktWTV9BTURcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJhdmljX2luaXRfdm1jYlwiLFxuICAgIFwiYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgYGF2aWNfZGVhY3RpdmF0ZV92bWNiYCBpbiBLVk0gU1ZNIGNvZGUsIHdoaWNoIGlzIGNhbGxlZCBkdXJpbmcgVk1DQiBpbml0aWFsaXphdGlvbiAoYGF2aWNfaW5pdF92bWNiYCkgYW5kIEFQSUMgbW9kZSByZWZyZXNoIChgYXZpY19yZWZyZXNoX3ZpcnR1YWxfYXBpY19tb2RlYCkuIFRoaXMgaXMgY29yZSBLVk0gbG9naWMgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowbg4sl[1] Phase: Succeeded StartedAt: 2026-07-31 05:46:19 +0000 UTC FinishedAt: 2026-07-31 05:46:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-31 05:46:19 +0000 UTC FinishedAt: 2026-07-31 05:46:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2] Phase: Succeeded StartedAt: 2026-07-31 05:46:19 +0000 UTC FinishedAt: 2026-07-31 06:56:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-31 05:46:19 +0000 UTC FinishedAt: 2026-07-31 06:56:36 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-31 05:46:19 +0000 UTC FinishedAt: 2026-07-31 05:46:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-31 05:46:19 +0000 UTC FinishedAt: 2026-07-31 05:46:24 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},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-workflowbg4sl/series-workflowbg4sl-convert-artifact-3757267503/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-31 05:46:30 +0000 UTC FinishedAt: 2026-07-31 06:02:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-31 05:46:30 +0000 UTC FinishedAt: 2026-07-31 06:02:58 +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:*ff97fa3f-0662-40e1-8824-44bf4091595e,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-workflowbg4sl/series-workflowbg4sl-convert-artifact-3757267503/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": "2dc91afa-51f3-423e-b2e7-0c3a390f461a", "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-workflowbg4sl/series-workflowbg4sl-build-action-2183192565/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-31 05:46:30 +0000 UTC FinishedAt: 2026-07-31 06:02:48 +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:*ff97fa3f-0662-40e1-8824-44bf4091595e,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-workflowbg4sl/series-workflowbg4sl-convert-artifact-3757267503/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": "2dc91afa-51f3-423e-b2e7-0c3a390f461a", "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-workflowbg4sl/series-workflowbg4sl-build-action-2183192565/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-31 06:02:58 +0000 UTC FinishedAt: 2026-07-31 06:02:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-31 06:02:58 +0000 UTC FinishedAt: 2026-07-31 06:02:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-31 06:02:58 +0000 UTC FinishedAt: 2026-07-31 06:03:08 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-31 06:02:58 +0000 UTC FinishedAt: 2026-07-31 06:03:02 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},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-workflowbg4sl/series-workflowbg4sl-convert-artifact-1830795134/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-31 06:03:08 +0000 UTC FinishedAt: 2026-07-31 06:05:09 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-31 06:03:08 +0000 UTC FinishedAt: 2026-07-31 06:04:59 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*2dc91afa-51f3-423e-b2e7-0c3a390f461a,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-workflowbg4sl/series-workflowbg4sl-build-action-2183192565/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-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-31 06:05:09 +0000 UTC FinishedAt: 2026-07-31 06:05:09 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-31 06:05:09 +0000 UTC FinishedAt: 2026-07-31 06:05:09 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-31 06:05:09 +0000 UTC FinishedAt: 2026-07-31 06:21:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-31 06:05:09 +0000 UTC FinishedAt: 2026-07-31 06:21:15 +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:*ff97fa3f-0662-40e1-8824-44bf4091595e,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-workflowbg4sl/series-workflowbg4sl-convert-artifact-1830795134/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": "e5e81533-3633-4553-b52f-31006bdc5bf6", "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-workflowbg4sl/series-workflowbg4sl-build-action-630621138/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-31 06:05:09 +0000 UTC FinishedAt: 2026-07-31 06:21:05 +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:*ff97fa3f-0662-40e1-8824-44bf4091595e,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-workflowbg4sl/series-workflowbg4sl-convert-artifact-1830795134/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": "e5e81533-3633-4553-b52f-31006bdc5bf6", "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-workflowbg4sl/series-workflowbg4sl-build-action-630621138/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-31 06:21:15 +0000 UTC FinishedAt: 2026-07-31 06:21:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-31 06:21:15 +0000 UTC FinishedAt: 2026-07-31 06:21:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-31 06:21:15 +0000 UTC FinishedAt: 2026-07-31 06:23:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-31 06:21:15 +0000 UTC FinishedAt: 2026-07-31 06:23:03 +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:*e5e81533-3633-4553-b52f-31006bdc5bf6,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-workflowbg4sl/series-workflowbg4sl-build-action-630621138/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-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-31 06:23:13 +0000 UTC FinishedAt: 2026-07-31 06:56:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-31 06:23:13 +0000 UTC FinishedAt: 2026-07-31 06:56:36 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"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:*2dc91afa-51f3-423e-b2e7-0c3a390f461a,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*e5e81533-3633-4553-b52f-31006bdc5bf6,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-workflowbg4sl/series-workflowbg4sl-build-action-2183192565/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-workflowbg4sl/series-workflowbg4sl-build-action-630621138/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-31 06:23:13 +0000 UTC FinishedAt: 2026-07-31 06:23:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-31 06:23:13 +0000 UTC FinishedAt: 2026-07-31 06:23:17 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"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-workflowbg4sl/series-workflowbg4sl-convert-artifact-1990087555/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-31 06:23:13 +0000 UTC FinishedAt: 2026-07-31 06:23:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-31 06:23:13 +0000 UTC FinishedAt: 2026-07-31 06:23:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-31 06:23:13 +0000 UTC FinishedAt: 2026-07-31 06:23:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-31 06:23:23 +0000 UTC FinishedAt: 2026-07-31 06:56:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbg4sl[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-kasan-gce-root-corpus.db"],"focus":["kvm"],"focus_symbols":["avic_init_vmcb","avic_refresh_virtual_apic_mode"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"a204badd8432f93b7e862e7dac6db0fe3d65f370","config_name":"upstream-apparmor-kasan.config","enable_configs":["KVM","KVM_AMD"],"series_id":"d083e8b5-ee5d-4aaa-9bf9-36aab69ec667","tree_name":"kvm-next","tree_url":"https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-31 06:23:23 +0000 UTC FinishedAt: 2026-07-31 06:56:26 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*2dc91afa-51f3-423e-b2e7-0c3a390f461a,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*e5e81533-3633-4553-b52f-31006bdc5bf6,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-workflowbg4sl/series-workflowbg4sl-build-action-2183192565/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-workflowbg4sl/series-workflowbg4sl-build-action-630621138/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-workflowbg4sl/series-workflowbg4sl-convert-artifact-1990087555/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,}