Name: series-workflowtcw8g Phase: Succeeded StartedAt: 2026-07-03 08:36:49 +0000 UTC FinishedAt: 2026-07-03 11:03:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[0] Phase: Succeeded StartedAt: 2026-07-03 08:36:49 +0000 UTC FinishedAt: 2026-07-03 08:58:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[0].run-triage Phase: Succeeded StartedAt: 2026-07-03 08:36:49 +0000 UTC FinishedAt: 2026-07-03 08:58:17 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "6fb33632323a396c9dc2bb9bea483e013e547d57", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "USB_NET_AQC111" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "6fb33632323a396c9dc2bb9bea483e013e547d57", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "USB_NET_AQC111" ], "series_id": "943f3a2d-26f6-40f1-887c-694a5a1dcd79" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "aqc111_set_mac_addr" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VTQl9ORVRfQVFDMTExJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YXFjMTExX3NldF9tYWNfYWRkciYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBhcWMxMTFfc2V0X21hY19hZGRyYCAod2hpY2ggaW1wbGVtZW50cyBgbmRvX3NldF9tYWNfYWRkcmVzc2ApIHRvIHJldHVybiAwIG9uIHN1Y2Nlc3MgaW5zdGVhZCBvZiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVkIGJ5IGB1c2JfY29udHJvbF9tc2dgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgVVNCIG5ldHdvcmsgZHJpdmVyLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMDJiYjM2ZWM1NDc5ZTc2MmY2NTExNzY1MDVmMWQ4YWJiNWRhNmZmOVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDMgMDg6NTc6MjAgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jIGIvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jXG5pbmRleCBkZDUzZjQxM2MzOGY2MC4uZGE1Yjc0NjM3ZWUyNzcgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC91c2IvYXFjMTExLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuY1xuQEAgLTQ3MSw4ICYjNDM7NDcxLDEyIEBAIHN0YXRpYyBpbnQgYXFjMTExX3NldF9tYWNfYWRkcihzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCB2b2lkICpwKVxuIFx0XHRyZXR1cm4gcmV0O1xuIFxuIFx0LyogU2V0IHRoZSBNQUMgYWRkcmVzcyAqL1xuLVx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXG4tXHRcdFx0XHRFVEhfQUxFTiwgbmV0LVx1MDAzZWRldl9hZGRyKTtcbiYjNDM7XHRyZXQgPSBhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX05PREVfSUQsIEVUSF9BTEVOLFxuJiM0MztcdFx0XHQgICAgICAgIEVUSF9BTEVOLCBuZXQtXHUwMDNlZGV2X2FkZHIpO1xuJiM0MztcdGlmIChyZXQgXHUwMDNjIDApXG4mIzQzO1x0XHRyZXR1cm4gcmV0O1xuJiM0MztcbiYjNDM7XHRyZXR1cm4gMDtcbiB9XG4gXG4gc3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9raWxsX3ZpZChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VTQl9ORVRfQVFDMTExJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YXFjMTExX3NldF9tYWNfYWRkciYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBhcWMxMTFfc2V0X21hY19hZGRyYCAod2hpY2ggaW1wbGVtZW50cyBgbmRvX3NldF9tYWNfYWRkcmVzc2ApIHRvIHJldHVybiAwIG9uIHN1Y2Nlc3MgaW5zdGVhZCBvZiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVkIGJ5IGB1c2JfY29udHJvbF9tc2dgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgVVNCIG5ldHdvcmsgZHJpdmVyLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwMmJiMzZlYzU0NzllNzYyZjY1MTE3NjUwNWYxZDhhYmI1ZGE2ZmY5CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIEZyaSBKdWwgMyAwODo1NzoyMCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYyBiL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYwppbmRleCBkZDUzZjQxM2MzOGY2MC4uZGE1Yjc0NjM3ZWUyNzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC91c2IvYXFjMTExLmMKQEAgLTQ3MSw4ICYjNDM7NDcxLDEyIEBAIHN0YXRpYyBpbnQgYXFjMTExX3NldF9tYWNfYWRkcihzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCB2b2lkICpwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogU2V0IHRoZSBNQUMgYWRkcmVzcyAqLwotCXJldHVybiBhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX05PREVfSUQsIEVUSF9BTEVOLAotCQkJCUVUSF9BTEVOLCBuZXQtJmd0O2Rldl9hZGRyKTsKJiM0MzsJcmV0ID0gYXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9OT0RFX0lELCBFVEhfQUxFTiwKJiM0MzsJCQkgICAgICAgIEVUSF9BTEVOLCBuZXQtJmd0O2Rldl9hZGRyKTsKJiM0MzsJaWYgKHJldCAmbHQ7IDApCiYjNDM7CQlyZXR1cm4gcmV0OwomIzQzOwomIzQzOwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9raWxsX3ZpZChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTMyCgkJCQkJCQlvdXRwdXQ6IDQyCgkJCQkJCQl0aG91Z2h0czogMjQ1CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jYC4gSXQmIzM5O3MgdG91Y2hpbmcgYGFxYzExMV9zZXRfbWFjX2FkZHJgLCB3aGljaCBpcyBhbHdheXMgYSBjcml0aWNhbCBhcmVhLiBUaGUgY29yZSBvZiB0aGUgY2hhbmdlIGlzIHN0cmFpZ2h0Zm9yd2FyZDogdGhleSYjMzk7dmUgYWRkZWQgYW4gZXhwbGljaXQgZXJyb3IgY2hlY2sgYWZ0ZXIgY2FsbGluZyBgYXFjMTExX3dyaXRlX2NtZGAuIFByZXZpb3VzbHksIHRoZSBmdW5jdGlvbiBqdXN0IHJldHVybmVkIHdoYXRldmVyIGBhcWMxMTFfd3JpdGVfY21kYCByZXR1cm5lZCwgd2hpY2ggY291bGQgaGF2ZSBiZWVuIHBvc2l0aXZlIG9uIHN1Y2Nlc3MgKHdoaWNoIGltbWVkaWF0ZWx5IHN0cmlrZXMgbWUgYXMgdW51c3VhbCkuIE5vdywgaWYgYGFxYzExMV93cml0ZV9jbWRgIHJldHVybnMgYSB2YWx1ZSBsZXNzIHRoYW4gemVybyAoaW5kaWNhdGluZyBhbiBlcnJvciksIHRoZSBmdW5jdGlvbiBwcm9wYWdhdGVzIHRoZSBuZWdhdGl2ZSByZXR1cm4gY29kZS4gT3RoZXJ3aXNlLCBpdCBub3cgZXhwbGljaXRseSByZXR1cm5zIDAsIHNpZ25pZnlpbmcgc3VjY2Vzcy4KCldhaXQgYSBzZWNvbmQuIFRoZSBjb21taXQgdGV4dCBkb2VzbiYjMzk7dCBtZW50aW9uIHRoZSBvcmlnaW5hbCBiZWhhdmlvci4gV2FzIGBhcWMxMTFfd3JpdGVfY21kYCByZWFsbHkgcmV0dXJuaW5nIHBvc2l0aXZlIHZhbHVlcyBvbiBzdWNjZXNzPyBUaGF0JiMzOTtzIG5vdCB0aGUgdXN1YWwgY29udmVudGlvbiBmb3IgdGhlc2Ugc29ydHMgb2YgZHJpdmVyIGZ1bmN0aW9ucy4gSSYjMzk7bGwgbmVlZCB0byBkb3VibGUgY2hlY2sgaG93IGBhcWMxMTFfd3JpdGVfY21kYCBpcyBkZWZpbmVkLiBJJiMzOTtsbCBvcGVuIHVwIHRoYXQgZnVuY3Rpb24gdG8gdmVyaWZ5IHRoZSByYW5nZSBvZiB2YWx1ZXMgaXQgY2FuIHJldHVybi4gSXQmIzM5O3MgcG9zc2libGUgSSYjMzk7bSBtaXNzaW5nIHNvbWV0aGluZywgb3IgdGhlcmUmIzM5O3MgYSBjb252ZW50aW9uIEkmIzM5O20gbm90IGZhbWlsaWFyIHdpdGggaW4gdGhpcyBwYXJ0aWN1bGFyIGNvZGViYXNlLCBidXQgbXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgdGhlIG9yaWdpbmFsIGNvZGUgd2FzIHByb2JhYmx5IGluY29ycmVjdCBieSBub3QgaGFuZGxpbmcgYSBwb3NzaWJsZSBlcnJvciBpbmRpY2F0ZWQgYnkgYSBuZWdhdGl2ZSByZXR1cm4gdmFsdWUuIFRoZSBwYXRjaCBpcyBwcm9iYWJseSBmaXhpbmcgYSBzdWJ0bGUgYnVnIHdoZXJlIHBvc2l0aXZlIHJldHVybiB2YWx1ZXMgd2VyZSBpbnRlcnByZXRlZCBhcyBlcnJvcnMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDMgMDg6NTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YXFjMTExX3dyaXRlX2NtZCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC91c2IvYXFjMTExLmM9NzI9c3RhdGljIGludCBhcWMxMTFfcmVhZDE2X2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04Mi1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4MzpzdGF0aWMgaW50IF9fYXFjMTExX3dyaXRlX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTggcmVxdHlwZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04NC1cdFx0XHQgICAgICB1MTYgdmFsdWUsIHUxNiBpbmRleCwgdTE2IHNpemUsIGNvbnN0IHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTExMy1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMTQ6c3RhdGljIGludCBhcWMxMTFfd3JpdGVfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTUtXHRcdFx0XHQgdTE2IGluZGV4LCB1MTYgc2l6ZSwgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTE4LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjExOTpcdHJldCA9IF9fYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgVVNCX0RJUl9PVVQgfCBVU0JfVFlQRV9WRU5ET1IgfFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEyMC1cdFx0XHRcdCBVU0JfUkVDSVBfREVWSUNFLCB2YWx1ZSwgaW5kZXgsIHNpemUsIGRhdGEpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMjQtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTI1OnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEyNi1cdFx0XHQgICAgdTE2IGluZGV4LCB1MTYgc2l6ZSwgY29uc3Qgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTMyLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzMzpcdHJldCA9IF9fYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgVVNCX0RJUl9PVVQgfCBVU0JfVFlQRV9WRU5ET1IgfFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzNC1cdFx0XHRcdCBVU0JfUkVDSVBfREVWSUNFLCB2YWx1ZSwgaW5kZXgsIHNpemUsIGRhdGEpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz0xNDE9c3RhdGljIGludCBhcWMxMTFfd3JpdGUxNl9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDctXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTQ4Olx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YodG1wKSwgXHUwMDI2dG1wKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDktfVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz0xNTE9c3RhdGljIGludCBhcWMxMTFfd3JpdGUxNl9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTU3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE1ODpcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1OS19XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTE2MT1zdGF0aWMgaW50IGFxYzExMV93cml0ZTMyX2NtZF9ub3BtKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2Ny1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNjg6XHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2OS19XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTE3MT1zdGF0aWMgaW50IGFxYzExMV93cml0ZTMyX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNzctXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTc4Olx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWQoZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKHRtcCksIFx1MDAyNnRtcCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTc5LX1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xODAtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTgxOnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlX2NtZF9hc3luYyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE4Mi1cdFx0XHRcdCAgdTE2IGluZGV4LCB1MTYgc2l6ZSwgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTg5PXN0YXRpYyBpbnQgYXFjMTExX3dyaXRlMTZfY21kX2FzeW5jKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5NS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxOTY6XHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9hc3luYyhkZXYsIGNtZCwgdmFsdWUsIGluZGV4LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5Ny1cdFx0XHRcdCAgICAgIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00MjI9c3RhdGljIGludCBhcWMxMTFfY2hhbmdlX210dShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCBpbnQgbmV3X210dSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDQzLVx0XHQvKiBSWCBidWxrIGNvbmZpZ3VyYXRpb24gKi9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0NDQ6XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhfQlVMS0lOX1FDVFJMLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ0NS1cdFx0XHRcdCA1LCA1LCBidWYpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00NjQ9c3RhdGljIGludCBhcWMxMTFfc2V0X21hY19hZGRyKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIHZvaWQgKnApXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ3My1cdC8qIFNldCB0aGUgTUFDIGFkZHJlc3MgKi9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0NzQ6XHRyZXQgPSBhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX05PREVfSUQsIEVUSF9BTEVOLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ3NS1cdFx0XHQgICAgICAgIEVUSF9BTEVOLCBuZXQtXHUwMDNlZGV2X2FkZHIpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00ODI9c3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9raWxsX3ZpZChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTQtXHRyZWc4ID0gKHZpZCAvIDE2KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0OTU6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQUREUkVTUywgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDk2LVx0LyogRGF0YSAqL1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5Ny1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1JEO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ5ODpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTktXHRhcWMxMTFfcmVhZDE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0RBVEEwLCAyLCBcdTAwMjZyZWcxNik7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwMi1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1dFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUwMzpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MDQtXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTUwOD1zdGF0aWMgaW50IGFxYzExMV92bGFuX3J4X2FkZF92aWQoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgX19iZTE2IHByb3RvLCB1MTYgdmlkKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MTktXHRyZWc4ID0gKHZpZCAvIDE2KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MjA6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQUREUkVTUywgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTIxLVx0LyogRGF0YSAqL1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyMi1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1JEO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyMzpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjQtXHRhcWMxMTFfcmVhZDE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0RBVEEwLCAyLCBcdTAwMjZyZWcxNik7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyNy1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1dFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyODpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjktXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTUzMz1zdGF0aWMgdm9pZCBhcWMxMTFfc2V0X3J4X21vZGUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldClcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTU3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU1ODpcdFx0YXFjMTExX3dyaXRlX2NtZF9hc3luYyhkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTU5LVx0XHRcdFx0ICAgICAgIFNGUl9NVUxUSV9GSUxURVJfQVJSWSxcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9NTcwPXN0YXRpYyBpbnQgYXFjMTExX3NldF9mZWF0dXJlcyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01ODEtXHRcdHJlZzggXj0gU0ZSX1RYQ09FX1RDUCB8IFNGUl9UWENPRV9VRFA7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTgyOlx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01ODMtXHRcdFx0XHQgMSwgMSwgXHUwMDI2cmVnOCk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU4OC1cdFx0cmVnOCBePSBTRlJfVFhDT0VfVENQVjYgfCBTRlJfVFhDT0VfVURQVjY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTg5Olx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01OTAtXHRcdFx0XHQgMSwgMSwgXHUwMDI2cmVnOCk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MDU6XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhDT0VfQ1RMLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNi1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE0LVx0XHRcdFx0cmVnOCA9IGk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjE1Olx0XHRcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE2LVx0XHRcdFx0XHRcdCBTRlJfVkxBTl9JRF9BRERSRVNTLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjItXHRcdFx0XHRyZWc4ID0gU0ZSX1ZMQU5fQ09OVFJPTF9XRTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MjM6XHRcdFx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjQtXHRcdFx0XHRcdFx0IFNGUl9WTEFOX0lEX0NPTlRST0wsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyOS1cdFx0XHRyZWc4IHw9IFNGUl9WTEFOX0NPTlRST0xfVkZFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYzMDpcdFx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzEtXHRcdFx0XHRcdCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjM1LVx0XHRcdHJlZzggXHUwMDI2PSB+U0ZSX1ZMQU5fQ09OVFJPTF9WRkU7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjM2Olx0XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYzNy1cdFx0XHRcdFx0IFNGUl9WTEFOX0lEX0NPTlRST0wsIDEsIDEsIFx1MDAyNnJlZzgpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz04MDU9c3RhdGljIHZvaWQgYXFjMTExX2NvbmZpZ3VyZV9yeChzdHJ1Y3QgdXNibmV0ICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0MC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4NDE6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0lOVEVSX1BBQ0tFVF9HQVBfMCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04NDItXHRcdFx0IDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0My1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4NDQ6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYX1BBVVNFX1JFU0VORF9ULCAzLCAzLCBidWYpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0NS1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODY3LVx0LyogUlggYnVsayBjb25maWd1cmF0aW9uICovXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODY4Olx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9SWF9CVUxLSU5fUUNUUkwsIDUsIDUsIGJ1Zik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODY5LVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz04ODU9c3RhdGljIHZvaWQgYXFjMTExX2NvbmZpZ3VyZV9jc3VtX29mZmxvYWQoc3RydWN0IHVzYm5ldCAqZGV2KVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04OTItXHR9XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODkzOlx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9SWENPRV9DVEwsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg5NC1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTAxLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkwMjpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVFhDT0VfQ1RMLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MDMtfVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz05MDU9c3RhdGljIGludCBhcWMxMTFfbGlua19yZXNldChzdHJ1Y3QgdXNibmV0ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkxOC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo5MTk6XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkyMC1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTIyLVx0XHRyZWc4ID0gMHgwO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkyMzpcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTVJYX0RNQV9DT05UUk9MLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkyNC1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MjUtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6OTI2Olx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNVFhfRE1BX0NPTlRST0wsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTI3LVx0XHRcdFx0IDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkyOC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo5Mjk6XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfQVJDX0NUUkwsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkzMC1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTM1LVx0XHRyZWc4ID0gU0ZSX1JYX1BBVEhfUkVBRFk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6OTM2Olx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0VUSF9NQUNfUEFUSCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MzctXHRcdFx0XHQgMSwgMSwgXHUwMDI2cmVnOCk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkzOS1cdFx0cmVnOCA9IFNGUl9CVUxLX09VVF9FRkZfRU47XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6OTQwOlx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JVTEtfT1VUX0NUUkwsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTQxLVx0XHRcdFx0IDEsIDEsIFx1MDAyNnJlZzgpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05ODItXHRcdHJlZzggPSBTRlJfQlVMS19PVVRfRkxVU0hfRU4gfCBTRlJfQlVMS19PVVRfRUZGX0VOO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjk4MzpcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CVUxLX09VVF9DVFJMLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTk4NC1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05ODUtXHRcdHJlZzggPSBTRlJfQlVMS19PVVRfRUZGX0VOO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjk4NjpcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CVUxLX09VVF9DVFJMLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTk4Ny1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9OTk0PXN0YXRpYyBpbnQgYXFjMTExX3Jlc2V0KHN0cnVjdCB1c2JuZXQgKmRldilcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTAxMy1cdC8qIFNldCB0aGUgTUFDIGFkZHJlc3MgKi9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMDE0Olx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9OT0RFX0lELCBFVEhfQUxFTixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMDE1LVx0XHRcdCBFVEhfQUxFTiwgZGV2LVx1MDAzZW5ldC1cdTAwM2VkZXZfYWRkcik7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMTctXHRyZWc4ID0gMHhGRjtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMDE4Olx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTV9JTlRfTUFTSywgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTAxOS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMDIwLVx0cmVnOCA9IDB4MDtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMDIxOlx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9TV1BfQ1RSTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTAyMi1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTAyNi1cdFx0ICBTRlJfTU9OSVRPUl9NT0RFX1JXX0ZMQUcpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEwMjc6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX01PTklUT1JfTU9ERSwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTAyOC1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTMyNj1zdGF0aWMgaW50IGFxYzExMV9zdXNwZW5kKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLCBwbV9tZXNzYWdlX3QgbWVzc2FnZSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM0OC1cdHJlZzggPSBTRlJfQlVMS19PVVRfRUZGX0VOO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzNDk6XHRhcWMxMTFfd3JpdGVfY21kX25vcG0oZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfQlVMS19PVVRfQ1RSTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzUwLVx0XHRcdCAgICAgIDEsIDEsIFx1MDAyNnJlZzgpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzU3LVx0cmVnOCA9IDB4MDA7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM1ODpcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9FVEhfTUFDX1BBVEgsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM1OS1cdFx0XHQgICAgICAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM3My1cdFx0cmVnOCA9IDB4MDA7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM3NDpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNX0lOVF9NQVNLLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzNzUtXHRcdFx0XHQgICAgICAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzc2LVx0XHRyZWc4ID0gU0ZSX0JNUlhfRE1BX0VOO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzNzc6XHRcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTVJYX0RNQV9DT05UUk9MLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzNzgtXHRcdFx0XHQgICAgICAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzc5LVx0XHRyZWc4ID0gU0ZSX1JYX1BBVEhfUkVBRFk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM4MDpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0VUSF9NQUNfUEFUSCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzgxLVx0XHRcdFx0ICAgICAgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4Mi1cdFx0cmVnOCA9IDB4MDc7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM4MzpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RQ1RSTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzg0LVx0XHRcdFx0ICAgICAgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4NS1cdFx0cmVnOCA9IDB4MDA7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM4NjpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzg3LVx0XHRcdFx0ICAgICAgU0ZSX1JYX0JVTEtJTl9RVElNUl9MT1csIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzODg6XHRcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4OS1cdFx0XHRcdCAgICAgIFNGUl9SWF9CVUxLSU5fUVRJTVJfSElHSCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM5MC1cdFx0cmVnOCA9IDB4RkY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM5MTpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RU0laRSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzkyLVx0XHRcdFx0ICAgICAgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM5MzpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RSUZHLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzOTQtXHRcdFx0XHQgICAgICAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQwMS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDAyOlx0XHRhcWMxMTFfd3JpdGVfY21kX25vcG0oZGV2LCBBUV9XT0xfQ0ZHLCAwLCAwLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0MDMtXHRcdFx0XHQgICAgICBXT0xfQ0ZHX1NJWkUsIFx1MDAyNndvbF9jZmcpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz0xNDIyPXN0YXRpYyBpbnQgYXFjMTExX3Jlc3VtZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50Zilcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQzNi1cdHJlZzggPSAweEZGO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE0Mzc6XHRhcWMxMTFfd3JpdGVfY21kX25vcG0oZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfQk1fSU5UX01BU0ssXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQzOC1cdFx0XHQgICAgICAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQ1NS1cdHJlZzggPSBTRlJfUlhfUEFUSF9SRUFEWTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDU2Olx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0VUSF9NQUNfUEFUSCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDU3LVx0XHRcdCAgICAgIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0NTgtXHRyZWc4ID0gMHgwO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE0NTk6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNUlhfRE1BX0NPTlRST0wsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0NjAtXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDMgMDg6NTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogOTU3NAoJCQkJCQkJb3V0cHV0OiA0NAoJCQkJCQkJdGhvdWdodHM6IDI1NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIE1BQyBBZGRyZXNzIFNldCBGdW5jdGlvbioqCgpPa2F5LCBzbyB0aGUgcGF0Y2ggaXMgZm9jdXNlZCBvbiBgYXFjMTExX3NldF9tYWNfYWRkcmAuIExldCBtZSB3YWxrIHRocm91Z2ggdGhpcy4gYGFxYzExMV93cml0ZV9jbWRgIGlzIHRoZSBrZXkuIEl0IGNhbGxzIGBfX2FxYzExMV93cml0ZV9jbWRgLCB3aGljaCB1bHRpbWF0ZWx5IGNhbGxzIGB1c2JfY29udHJvbF9tc2dgLiBSaWdodCwgYW5kIGB1c2JfY29udHJvbF9tc2dgIGdpdmVzIGJhY2sgZWl0aGVyIHRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlLiBUaGlzIG1lYW5zIGBhcWMxMTFfd3JpdGVfY21kYCAqY291bGQqIGJlIHJldHVybmluZyBhIHBvc2l0aXZlIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBieXRlIGNvdW50IG9uIHN1Y2Nlc3MuIEJlZm9yZSB0aGUgcGF0Y2gsIGBhcWMxMTFfc2V0X21hY19hZGRyYCB3YXMgcGFzc2luZyB0aGF0IHBvc2l0aXZlIHJldHVybiB2YWx1ZSBkaXJlY3RseSBiYWNrIHVwIHRoZSBzdGFjay4KClRoZSBjaGFuZ2UgdGhleSYjMzk7dmUgbWFkZSBpcyBub3cgcmV0dXJuaW5nIDAgaWYgdGhlIG9yaWdpbmFsIGByZXRgIGZyb20gYGFxYzExMV93cml0ZV9jbWRgIHdhcyBwb3NpdGl2ZSAob3IgemVybywgd2hpY2ggaXMgbGlrZWx5IHN1Y2Nlc3MpLiBBbmQgaXQgcmV0dXJucyBgcmV0YCBpdHNlbGYgaWYgaXQmIzM5O3MgbmVnYXRpdmUgKHRoZSBlcnJvciBjb2RlKS4gVGhpcyBsb29rcyBsaWtlIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZm9yIHN1cmUuIE15IGltbWVkaWF0ZSBjb25jZXJuIGlzIHRoYXQgYG5kb19zZXRfbWFjX2FkZHJlc3NgLCB3aGljaCBgYXFjMTExX3NldF9tYWNfYWRkcmAgaXMgKnByb2JhYmx5KiBhc3NpZ25lZCB0bywgZXhwZWN0cyBhIDAgb24gc3VjY2Vzcy4gUmV0dXJuaW5nIGEgcG9zaXRpdmUgYnl0ZSBjb3VudCBmcm9tIGEgc3VjY2Vzc2Z1bCBNQUMgYWRkcmVzcyBzZXQgd291bGQgZGVmaW5pdGVseSB0cmlwIHVwIHRoZSBjYWxsZXIsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gaW5jb3JyZWN0IGJlaGF2aW9yIGRvd24gdGhlIGxpbmUsIG1heWJlIGV2ZW4gaW4gc29tZXRoaW5nIGxpa2UgYGRldl9zZXRfbWFjX2FkZHJlc3NgLgoKSSBzaG91bGQgcHJvYmFibHkgY29uZmlybSBieSBsb29raW5nIGRpcmVjdGx5IGF0IGBhcWMxMTFfc2V0X21hY19hZGRyYCB3aXRoaW4gYGRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuY2AgdG8gYmUgY29tcGxldGVseSBzdXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2FxYzExMV9zZXRfbWFjX2FkZHImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC91c2IvYXFjMTExLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTQyMj1zdGF0aWMgaW50IGFxYzExMV9jaGFuZ2VfbXR1KHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIGludCBuZXdfbXR1KVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NjMtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDY0OnN0YXRpYyBpbnQgYXFjMTExX3NldF9tYWNfYWRkcihzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCB2b2lkICpwKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ2NS17XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTY0ND1zdGF0aWMgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2Vfb3BzIGFxYzExMV9uZXRkZXZfb3BzID0ge1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NTAtXHQubmRvX2NoYW5nZV9tdHVcdFx0PSBhcWMxMTFfY2hhbmdlX210dSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NTE6XHQubmRvX3NldF9tYWNfYWRkcmVzc1x0PSBhcWMxMTFfc2V0X21hY19hZGRyLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY1Mi1cdC5uZG9fdmFsaWRhdGVfYWRkclx0PSBldGhfdmFsaWRhdGVfYWRkcixcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxMDUyNAoJCQkJCQkJb3V0cHV0OiAzMwoJCQkJCQkJdGhvdWdodHM6IDc3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgYG5kb19zZXRfbWFjX2FkZHJlc3NgIEFzc2lnbm1lbnQqKgoKT2theSwgc28gSSBzZWUgdGhpcyB0YXNrIGlzIGZvY3VzZWQgb24gYC5uZG9fc2V0X21hY19hZGRyZXNzYC4gUmlnaHQsIGEgcHJldHR5IHN0YW5kYXJkIG5ldHdvcmsgZHJpdmVyIGZ1bmN0aW9uLiBUaGlzIGxvb2tzIGxpa2UgYSBmdW5jdGlvbmFsIGNoYW5nZSwgbm90IGp1c3QgYSBidWcgZml4LCBtZWFuaW5nIGl0JiMzOTtzIHdvcnRoIGEgY2xvc2VyIGxvb2sgZm9yIGludGVyZXN0aW5nIGJlaGF2aW9yLiBUaGUgY3J1Y2lhbCBxdWVzdGlvbiBpcywgY2FuIHdlIGFjdHVhbGx5IHJlYWNoIHRoaXMgZnVuY3Rpb24/IEhtbSwgaXQmIzM5O3MgY29ubmVjdGVkIHRvIGEgVVNCIG5ldHdvcmsgZHJpdmVyLiBUaGF0JiMzOTtzIGdvb2QgbmV3czsgVVNCIGlzIG9mdGVuIGFjY2Vzc2libGUgdGhyb3VnaCBlbXVsYXRpb24sIHNwZWNpZmljYWxseSBzb21ldGhpbmcgbGlrZSBhIGBkdW1teV9oY2RgIHNldHVwLiBXZSBjYW4gZnV6eiBpdCEgTm93LCB3aGF0IGNvbmZpZ3MgZG8gd2UgbmVlZCB0byB0cmlnZ2VyIHRoZSB0YXJnZXQ/IExldCBtZSBjaGVjayB0aGUgS2NvbmZpZyBmb3IgdGhlIGBhcWMxMTFgIGRyaXZlciwgdGhhdCBzaG91bGQgZ2l2ZSB1cyBzb21lIGNsdWVzIGFib3V0IGRlcGVuZGVuY2llcyBhbmQgYnVpbGQgb3B0aW9ucy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2FxYzExMSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxMDgxMgoJCQkJCQkJb3V0cHV0OiAzMQoJCQkJCQkJdGhvdWdodHM6IDM0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHVuZGVyc3RhbmRpbmcsIGZvcm1hdHRlZCBhcyByZXF1ZXN0ZWQ6CgoqKkludmVzdGlnYXRpbmcgdGhlIEFRQzExMSBEcml2ZXIgQnVpbGQgQ29uZmlndXJhdGlvbioqCgpSaWdodCwgc28gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgaG93IHRoZSBgYXFjMTExLm9gIGRyaXZlciBpcyBoYW5kbGVkIGluIHRoZSBidWlsZCBwcm9jZXNzLiBNeSBmaXJzdCBpbnN0aW5jdCwgZ2l2ZW4gbXkgZXhwZXJpZW5jZSwgaXMgdG8ganVtcCBzdHJhaWdodCBpbnRvIHRoZSBsaWtlbHkgY29uZmlndXJhdGlvbiBmaWxlcyB3aXRoaW4gdGhlIGtlcm5lbCBzb3VyY2UuIEkmIzM5O20gdGhpbmtpbmcsIG1vc3QgbGlrZWx5LCB0aGUgTWFrZWZpbGUgd2lsbCBkZWZpbmUgdGhlIGJ1aWxkIHJ1bGVzIGFuZCBkZXBlbmRlbmNpZXMsIGFuZCB0aGUgS2NvbmZpZyBmaWxlIHdpbGwgY29udHJvbCB0aGUgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9mIHRoZSBkcml2ZXIgdGhyb3VnaCBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBUaGVyZWZvcmUsIEkgd2lsbCBiZWdpbiBieSBleGFtaW5pbmcgdGhlIGBkcml2ZXJzL25ldC91c2IvTWFrZWZpbGVgIGFuZCBgZHJpdmVycy9uZXQvdXNiL0tjb25maWdgIGZpbGVzLiBUaGF0IHNob3VsZCBnaXZlIG1lIGEgZ29vZCBoYW5kbGUgb24gaG93IHRoZSBBUUMxMTEgZHJpdmVyIGlzIGludGVncmF0ZWQgaW50byB0aGUgYnVpbGQgc3lzdGVtLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDthcWMxMTEmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC91c2IvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA4OTUgbGluZXMuXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXG5cbmRyaXZlcnMvbmV0L3VzYi9NYWtlZmlsZT00Mj1vYmotJChDT05GSUdfVVNCX05FVF9DSDkyMDApXHQmIzQzOz0gY2g5MjAwLm9cbmRyaXZlcnMvbmV0L3VzYi9NYWtlZmlsZTo0MzpvYmotJChDT05GSUdfVVNCX05FVF9BUUMxMTEpXHQmIzQzOz0gYXFjMTExLm9cbmRyaXZlcnMvbmV0L3VzYi9NYWtlZmlsZS00NC1vYmotJChDT05GSUdfVVNCX1JUTDgxNTNfRUNNKVx0JiM0Mzs9IHI4MTUzX2VjbS5vXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIxOiNpbmNsdWRlIFwmIzM0O2FxYzExMS5oXCYjMzQ7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjItXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjM6c3RhdGljIGludCBhcWMxMTFfcmVhZF9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTI0LVx0XHRcdFx0dTE2IGluZGV4LCB1MTYgc2l6ZSwgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDEtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDI6c3RhdGljIGludCBhcWMxMTFfcmVhZF9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00My1cdFx0XHQgICB1MTYgaW5kZXgsIHUxNiBzaXplLCB2b2lkICpkYXRhKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MTpzdGF0aWMgaW50IGFxYzExMV9yZWFkMTZfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02Mi1cdFx0XHRcdCAgdTE2IGluZGV4LCB1MTYgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY1LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY2Olx0cmV0ID0gYXFjMTExX3JlYWRfY21kX25vcG0oZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKCpkYXRhKSwgZGF0YSk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjctXHRsZTE2X3RvX2NwdXMoZGF0YSk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTcxLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjcyOnN0YXRpYyBpbnQgYXFjMTExX3JlYWQxNl9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03My1cdFx0XHQgICAgIHUxNiBpbmRleCwgdTE2ICpkYXRhKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03Ni1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NzpcdHJldCA9IGFxYzExMV9yZWFkX2NtZChkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YoKmRhdGEpLCBkYXRhKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03OC1cdGxlMTZfdG9fY3B1cyhkYXRhKTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODItXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODM6c3RhdGljIGludCBfX2FxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHU4IHJlcXR5cGUsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODQtXHRcdFx0ICAgICAgdTE2IHZhbHVlLCB1MTYgaW5kZXgsIHUxNiBzaXplLCBjb25zdCB2b2lkICpkYXRhKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTMtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTE0OnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlX2NtZF9ub3BtKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTE1LVx0XHRcdFx0IHUxNiBpbmRleCwgdTE2IHNpemUsIHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTExOC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMTk6XHRyZXQgPSBfX2FxYzExMV93cml0ZV9jbWQoZGV2LCBjbWQsIFVTQl9ESVJfT1VUIHwgVVNCX1RZUEVfVkVORE9SIHxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMjAtXHRcdFx0XHQgVVNCX1JFQ0lQX0RFVklDRSwgdmFsdWUsIGluZGV4LCBzaXplLCBkYXRhKTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTI0LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEyNTpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMjYtXHRcdFx0ICAgIHUxNiBpbmRleCwgdTE2IHNpemUsIGNvbnN0IHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzMi1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMzM6XHRyZXQgPSBfX2FxYzExMV93cml0ZV9jbWQoZGV2LCBjbWQsIFVTQl9ESVJfT1VUIHwgVVNCX1RZUEVfVkVORE9SIHxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzQtXHRcdFx0XHQgVVNCX1JFQ0lQX0RFVklDRSwgdmFsdWUsIGluZGV4LCBzaXplLCBkYXRhKTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE0MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTE2X2NtZF9ub3BtKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQyLVx0XHRcdFx0ICAgdTE2IGluZGV4LCB1MTYgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0Ny1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDg6XHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0OS19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTUwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE1MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTE2X2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1Mi1cdFx0XHQgICAgICB1MTYgaW5kZXgsIHUxNiAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTU3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE1ODpcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1OS19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTYwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE2MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTMyX2NtZF9ub3BtKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTYyLVx0XHRcdFx0ICAgdTE2IGluZGV4LCB1MzIgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2Ny1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNjg6XHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2OS19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTcwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE3MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTMyX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE3Mi1cdFx0XHQgICAgICB1MTYgaW5kZXgsIHUzMiAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTc3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE3ODpcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE3OS19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTgwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE4MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWRfYXN5bmMoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xODItXHRcdFx0XHQgIHUxNiBpbmRleCwgdTE2IHNpemUsIHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE4OC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxODk6c3RhdGljIGludCBhcWMxMTFfd3JpdGUxNl9jbWRfYXN5bmMoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xOTAtXHRcdFx0XHQgICAgdTE2IGluZGV4LCB1MTYgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5NS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxOTY6XHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9hc3luYyhkZXYsIGNtZCwgdmFsdWUsIGluZGV4LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5Ny1cdFx0XHRcdCAgICAgIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xOTktXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjAwOnN0YXRpYyB2b2lkIGFxYzExMV9nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIwMS1cdFx0XHQgICAgICAgc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyAqaW5mbylcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjAzLVx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMDQ6XHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVx1MDAzZWRyaXZlcl9wcml2O1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIwNS1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjA4LVx0c25wcmludGYoaW5mby1cdTAwM2Vmd192ZXJzaW9uLCBzaXplb2YoaW5mby1cdTAwM2Vmd192ZXJzaW9uKSwgXCYjMzQ7JXUuJXUuJXVcJiMzNDssXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjA5Olx0XHQgYXFjMTExX2RhdGEtXHUwMDNlZndfdmVyLm1ham9yLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIxMDpcdFx0IGFxYzExMV9kYXRhLVx1MDAzZWZ3X3Zlci5taW5vcixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMTE6XHRcdCBhcWMxMTFfZGF0YS1cdTAwM2Vmd192ZXIucmV2KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTItfVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIxMy1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMTQ6c3RhdGljIHZvaWQgYXFjMTExX2dldF93b2woc3RydWN0IG5ldF9kZXZpY2UgKm5ldCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTUtXHRcdFx0ICAgc3RydWN0IGV0aHRvb2xfd29saW5mbyAqd29saW5mbylcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjE3LVx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMTg6XHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVx1MDAzZWRyaXZlcl9wcml2O1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIxOS1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjIyLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIyMzpcdGlmIChhcWMxMTFfZGF0YS1cdTAwM2V3b2xfZmxhZ3MgXHUwMDI2IEFRX1dPTF9GTEFHX01QKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIyNC1cdFx0d29saW5mby1cdTAwM2V3b2xvcHRzIHw9IFdBS0VfTUFHSUM7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIyNi1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMjc6c3RhdGljIGludCBhcWMxMTFfc2V0X3dvbChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIyOC1cdFx0XHQgIHN0cnVjdCBldGh0b29sX3dvbGluZm8gKndvbGluZm8pXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIzMC1cdHN0cnVjdCB1c2JuZXQgKmRldiA9IG5ldGRldl9wcml2KG5ldCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjMxOlx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi1cdTAwM2Vkcml2ZXJfcHJpdjtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMzItXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIzNS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMzY6XHRhcWMxMTFfZGF0YS1cdTAwM2V3b2xfZmxhZ3MgPSAwO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIzNy1cdGlmICh3b2xpbmZvLVx1MDAzZXdvbG9wdHMgXHUwMDI2IFdBS0VfTUFHSUMpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjM4Olx0XHRhcWMxMTFfZGF0YS1cdTAwM2V3b2xfZmxhZ3MgfD0gQVFfV09MX0ZMQUdfTVA7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjM5LVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNDItXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjQzOnN0YXRpYyB2b2lkIGFxYzExMV9zcGVlZF90b19saW5rX21vZGUodTMyIHNwZWVkLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTI0NC1cdFx0XHRcdCAgICAgIHN0cnVjdCBldGh0b29sX2xpbmtfa3NldHRpbmdzICplbGspXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTI2NS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyNjY6c3RhdGljIGludCBhcWMxMTFfZ2V0X2xpbmtfa3NldHRpbmdzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjY3LVx0XHRcdFx0ICAgICBzdHJ1Y3QgZXRodG9vbF9saW5rX2tzZXR0aW5ncyAqZWxrKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNjktXHRzdHJ1Y3QgdXNibmV0ICpkZXYgPSBuZXRkZXZfcHJpdihuZXQpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjI3MDpcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXHUwMDNlZHJpdmVyX3ByaXY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjcxLVx0ZW51bSB1c2JfZGV2aWNlX3NwZWVkIHVzYl9zcGVlZCA9IGRldi1cdTAwM2V1ZGV2LVx1MDAzZXNwZWVkO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yOTItXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjkzOlx0aWYgKGFxYzExMV9kYXRhLVx1MDAzZWF1dG9uZWcpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjk0LVx0XHRsaW5rbW9kZV9jb3B5KGVsay1cdTAwM2VsaW5rX21vZGVzLmFkdmVydGlzaW5nLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yOTYtXHRlbHNlXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Mjk3Olx0XHRhcWMxMTFfc3BlZWRfdG9fbGlua19tb2RlKGFxYzExMV9kYXRhLVx1MDAzZWFkdmVydGlzZWRfc3BlZWQsIGVsayk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjk4LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjI5OTpcdGVsay1cdTAwM2ViYXNlLmF1dG9uZWcgPSBhcWMxMTFfZGF0YS1cdTAwM2VhdXRvbmVnO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTMwMC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMDE6XHRzd2l0Y2ggKGFxYzExMV9kYXRhLVx1MDAzZWxpbmtfc3BlZWQpIHtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMDItXHRjYXNlIEFRX0lOVF9TUEVFRF81Rzpcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzIwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjMyMTpzdGF0aWMgdm9pZCBhcWMxMTFfc2V0X3BoeV9zcGVlZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGF1dG9uZWcsIHUxNiBzcGVlZClcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMjIte1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjMyMzpcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXHUwMDNlZHJpdmVyX3ByaXY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzI0LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjMyNTpcdGFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcgXHUwMDI2PSB+QVFfQURWX01BU0s7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI2Olx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyB8PSBBUV9QQVVTRTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMjc6XHRhcWMxMTFfZGF0YS1cdTAwM2VwaHlfY2ZnIHw9IEFRX0FTWU1fUEFVU0U7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI4Olx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyB8PSBBUV9ET1dOU0hJRlQ7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI5Olx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyBcdTAwMjY9IH5BUV9EU0hfUkVUUklFU19NQVNLO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjMzMDpcdGFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcgfD0gKDMgXHUwMDNjXHUwMDNjIEFRX0RTSF9SRVRSSUVTX1NISUZUKSBcdTAwMjZcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMzEtXHRcdFx0XHRBUV9EU0hfUkVUUklFU19NQVNLO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMzUtXHRcdGNhc2UgU1BFRURfNTAwMDpcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMzY6XHRcdFx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyB8PSBBUV9BRFZfNUc7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzM3LVx0XHRcdGZhbGx0aHJvdWdoO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTMzOC1cdFx0Y2FzZSBTUEVFRF8yNTAwOlxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjMzOTpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl8yRzU7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzQwLVx0XHRcdGZhbGx0aHJvdWdoO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM0MS1cdFx0Y2FzZSBTUEVFRF8xMDAwOlxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM0MjpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl8xRztcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNDMtXHRcdFx0ZmFsbHRocm91Z2g7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzQ0LVx0XHRjYXNlIFNQRUVEXzEwMDpcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNDU6XHRcdFx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyB8PSBBUV9BRFZfMTAwTTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNDYtXHRcdFx0LyogZmFsbC10aHJvdWdoICovXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM1MC1cdFx0Y2FzZSBTUEVFRF81MDAwOlxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM1MTpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl81RztcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTItXHRcdFx0YnJlYWs7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzUzLVx0XHRjYXNlIFNQRUVEXzI1MDA6XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzU0Olx0XHRcdGFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzJHNTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTUtXHRcdFx0YnJlYWs7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzU2LVx0XHRjYXNlIFNQRUVEXzEwMDA6XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzU3Olx0XHRcdGFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzFHO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM1OC1cdFx0XHRicmVhaztcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTktXHRcdGNhc2UgU1BFRURfMTAwOlxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM2MDpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl8xMDBNO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM2MS1cdFx0XHRicmVhaztcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzY0LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM2NTpcdGFxYzExMV93cml0ZTMyX2NtZChkZXYsIEFRX1BIWV9PUFMsIDAsIDAsIFx1MDAyNmFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM2Ni19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzY3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM2ODpzdGF0aWMgaW50IGFxYzExMV9zZXRfbGlua19rc2V0dGluZ3Moc3RydWN0IG5ldF9kZXZpY2UgKm5ldCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNjktXHRcdFx0XHQgICAgIGNvbnN0IHN0cnVjdCBldGh0b29sX2xpbmtfa3NldHRpbmdzICplbGspXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM3MS1cdHN0cnVjdCB1c2JuZXQgKmRldiA9IG5ldGRldl9wcml2KG5ldCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzcyOlx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi1cdTAwM2Vkcml2ZXJfcHJpdjtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNzMtXHRlbnVtIHVzYl9kZXZpY2Vfc3BlZWQgdXNiX3NwZWVkID0gZGV2LVx1MDAzZXVkZXYtXHUwMDNlc3BlZWQ7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM3Ny1cdGlmIChhdXRvbmVnID09IEFVVE9ORUdfRU5BQkxFKSB7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Mzc4Olx0XHRpZiAoYXFjMTExX2RhdGEtXHUwMDNlYXV0b25lZyAhPSBBVVRPTkVHX0VOQUJMRSkge1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM3OTpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VhdXRvbmVnID0gQVVUT05FR19FTkFCTEU7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzgwOlx0XHRcdGFxYzExMV9kYXRhLVx1MDAzZWFkdmVydGlzZWRfc3BlZWQgPVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM4MS1cdFx0XHRcdFx0KHVzYl9zcGVlZCA9PSBVU0JfU1BFRURfU1VQRVIpID9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zODItXHRcdFx0XHRcdCBTUEVFRF81MDAwIDogU1BFRURfMTAwMDtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozODM6XHRcdFx0YXFjMTExX3NldF9waHlfc3BlZWQoZGV2LCBhcWMxMTFfZGF0YS1cdTAwM2VhdXRvbmVnLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM4NDpcdFx0XHRcdFx0ICAgICBhcWMxMTFfZGF0YS1cdTAwM2VhZHZlcnRpc2VkX3NwZWVkKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zODUtXHRcdH1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzk5LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQwMDpcdFx0YXFjMTExX2RhdGEtXHUwMDNlYXV0b25lZyA9IEFVVE9ORUdfRElTQUJMRTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MDEtXHRcdGlmIChzcGVlZCAhPSBTUEVFRF9VTktOT1dOKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQwMjpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VhZHZlcnRpc2VkX3NwZWVkID0gc3BlZWQ7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDAzLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQwNDpcdFx0YXFjMTExX3NldF9waHlfc3BlZWQoZGV2LCBhcWMxMTFfZGF0YS1cdTAwM2VhdXRvbmVnLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQwNTpcdFx0XHRcdCAgICAgYXFjMTExX2RhdGEtXHUwMDNlYWR2ZXJ0aXNlZF9zcGVlZCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDA2LVx0fVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MTAtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDExOnN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9vcHMgYXFjMTExX2V0aHRvb2xfb3BzID0ge1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQxMjpcdC5nZXRfZHJ2aW5mbyA9IGFxYzExMV9nZXRfZHJ2aW5mbyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MTM6XHQuZ2V0X3dvbCA9IGFxYzExMV9nZXRfd29sLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQxNDpcdC5zZXRfd29sID0gYXFjMTExX3NldF93b2wsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDE1LVx0LmdldF9tc2dsZXZlbCA9IHVzYm5ldF9nZXRfbXNnbGV2ZWwsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQxNy1cdC5nZXRfbGluayA9IGV0aHRvb2xfb3BfZ2V0X2xpbmssXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDE4Olx0LmdldF9saW5rX2tzZXR0aW5ncyA9IGFxYzExMV9nZXRfbGlua19rc2V0dGluZ3MsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDE5Olx0LnNldF9saW5rX2tzZXR0aW5ncyA9IGFxYzExMV9zZXRfbGlua19rc2V0dGluZ3NcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MjAtfTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MjEtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDIyOnN0YXRpYyBpbnQgYXFjMTExX2NoYW5nZV9tdHUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgaW50IG5ld19tdHUpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDIzLXtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDMwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQzMTpcdGFxYzExMV9yZWFkMTZfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX01FRElVTV9TVEFUVVNfTU9ERSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MzItXHRcdFx0ICAyLCBcdTAwMjZyZWcxNik7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQzNy1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0Mzg6XHRhcWMxMTFfd3JpdGUxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTUVESVVNX1NUQVRVU19NT0RFLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQzOS1cdFx0XHQgICAyLCBcdTAwMjZyZWcxNik7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ0My1cdFx0LyogUlggYnVsayBjb25maWd1cmF0aW9uICovXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDQ0Olx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RQ1RSTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NDUtXHRcdFx0XHQgNSwgNSwgYnVmKTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDU3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ1ODpcdGFxYzExMV93cml0ZTE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9QQVVTRV9XQVRFUkxWTF9MT1csXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDU5LVx0XHRcdCAgIDIsIFx1MDAyNnJlZzE2KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDYzLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ2NDpzdGF0aWMgaW50IGFxYzExMV9zZXRfbWFjX2FkZHIoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgdm9pZCAqcClcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NjUte1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NzMtXHQvKiBTZXQgdGhlIE1BQyBhZGRyZXNzICovXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDc0Olx0cmV0ID0gYXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9OT0RFX0lELCBFVEhfQUxFTixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NzUtXHRcdFx0ICAgICAgICBFVEhfQUxFTiwgbmV0LVx1MDAzZWRldl9hZGRyKTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDgxLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ4MjpzdGF0aWMgaW50IGFxYzExMV92bGFuX3J4X2tpbGxfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDgzLVx0XHRcdFx0ICAgX19iZTE2IHByb3RvLCB1MTYgdmlkKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00ODktXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDkwOlx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDkxLVx0dmxhbl9jdHJsID0gcmVnODtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDk0LVx0cmVnOCA9ICh2aWQgLyAxNik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDk1Olx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0FERFJFU1MsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5Ni1cdC8qIERhdGEgKi9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTctXHRyZWc4ID0gdmxhbl9jdHJsIHwgU0ZSX1ZMQU5fQ09OVFJPTF9SRDtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0OTg6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDk5Olx0YXFjMTExX3JlYWQxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXHUwMDI2cmVnMTYpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwMC1cdHJlZzE2IFx1MDAyNj0gfigxIFx1MDAzY1x1MDAzYyAodmlkICUgMTYpKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MDE6XHRhcWMxMTFfd3JpdGUxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXHUwMDI2cmVnMTYpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwMi1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1dFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUwMzpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MDQtXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwNy1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MDg6c3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9hZGRfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIF9fYmUxNiBwcm90bywgdTE2IHZpZClcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MDkte1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MTQtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTE1Olx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTE2LVx0dmxhbl9jdHJsID0gcmVnODtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTE5LVx0cmVnOCA9ICh2aWQgLyAxNik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTIwOlx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0FERFJFU1MsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyMS1cdC8qIERhdGEgKi9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjItXHRyZWc4ID0gdmxhbl9jdHJsIHwgU0ZSX1ZMQU5fQ09OVFJPTF9SRDtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MjM6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTI0Olx0YXFjMTExX3JlYWQxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXHUwMDI2cmVnMTYpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyNS1cdHJlZzE2IHw9ICgxIFx1MDAzY1x1MDAzYyAodmlkICUgMTYpKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MjY6XHRhcWMxMTFfd3JpdGUxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXHUwMDI2cmVnMTYpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyNy1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1dFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyODpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjktXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUzMi1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MzM6c3RhdGljIHZvaWQgYXFjMTExX3NldF9yeF9tb2RlKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTM0LXtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MzUtXHRzdHJ1Y3QgdXNibmV0ICpkZXYgPSBuZXRkZXZfcHJpdihuZXQpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUzNjpcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXHUwMDNlZHJpdmVyX3ByaXY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTM3LVx0aW50IG1jX2NvdW50ID0gMDtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU0MTpcdGFxYzExMV9kYXRhLVx1MDAzZXJ4Y3RsIFx1MDAyNj0gfihTRlJfUlhfQ1RMX1BSTyB8IFNGUl9SWF9DVExfQU1BTEwgfFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU0Mi1cdFx0XHRcdFNGUl9SWF9DVExfQU0pO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NDQtXHRpZiAobmV0LVx1MDAzZWZsYWdzIFx1MDAyNiBJRkZfUFJPTUlTQykge1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU0NTpcdFx0YXFjMTExX2RhdGEtXHUwMDNlcnhjdGwgfD0gU0ZSX1JYX0NUTF9QUk87XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQ2LVx0fSBlbHNlIGlmICgobmV0LVx1MDAzZWZsYWdzIFx1MDAyNiBJRkZfQUxMTVVMVEkpIHx8IG1jX2NvdW50IFx1MDAzZSBBUV9NQVhfTUNBU1QpIHtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1NDc6XHRcdGFxYzExMV9kYXRhLVx1MDAzZXJ4Y3RsIHw9IFNGUl9SWF9DVExfQU1BTEw7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQ4LVx0fSBlbHNlIGlmICghbmV0ZGV2X21jX2VtcHR5KG5ldCkpIHtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTU3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU1ODpcdFx0YXFjMTExX3dyaXRlX2NtZF9hc3luYyhkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTU5LVx0XHRcdFx0ICAgICAgIFNGUl9NVUxUSV9GSUxURVJfQVJSWSxcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTYyLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU2MzpcdFx0YXFjMTExX2RhdGEtXHUwMDNlcnhjdGwgfD0gU0ZSX1JYX0NUTF9BTTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjQtXHR9XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTY1LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU2NjpcdGFxYzExMV93cml0ZTE2X2NtZF9hc3luYyhkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9SWF9DVEwsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTY3Olx0XHRcdFx0IDIsIFx1MDAyNmFxYzExMV9kYXRhLVx1MDAzZXJ4Y3RsKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjgtfVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU2OS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1NzA6c3RhdGljIGludCBhcWMxMTFfc2V0X2ZlYXR1cmVzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTcxLVx0XHRcdCAgICAgICBuZXRkZXZfZmVhdHVyZXNfdCBmZWF0dXJlcylcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTczLVx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1NzQ6XHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVx1MDAzZWRyaXZlcl9wcml2O1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU3NS1cdG5ldGRldl9mZWF0dXJlc190IGNoYW5nZWQgPSBuZXQtXHUwMDNlZmVhdHVyZXMgXiBmZWF0dXJlcztcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTc5LVx0aWYgKGNoYW5nZWQgXHUwMDI2IE5FVElGX0ZfSVBfQ1NVTSkge1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU4MDpcdFx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgxLVx0XHRyZWc4IF49IFNGUl9UWENPRV9UQ1AgfCBTRlJfVFhDT0VfVURQO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU4MjpcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgzLVx0XHRcdFx0IDEsIDEsIFx1MDAyNnJlZzgpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01ODYtXHRpZiAoY2hhbmdlZCBcdTAwMjYgTkVUSUZfRl9JUFY2X0NTVU0pIHtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1ODc6XHRcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU4OC1cdFx0cmVnOCBePSBTRlJfVFhDT0VfVENQVjYgfCBTRlJfVFhDT0VfVURQVjY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTg5Olx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01OTAtXHRcdFx0XHQgMSwgMSwgXHUwMDI2cmVnOCk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU5My1cdGlmIChjaGFuZ2VkIFx1MDAyNiBORVRJRl9GX1JYQ1NVTSkge1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU5NDpcdFx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYQ09FX0NUTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTk1LVx0XHRpZiAoZmVhdHVyZXMgXHUwMDI2IE5FVElGX0ZfUlhDU1VNKSB7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTk2Olx0XHRcdGFxYzExMV9kYXRhLVx1MDAzZXJ4X2NoZWNrc3VtID0gMTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01OTctXHRcdFx0cmVnOCBcdTAwMjY9IH4oU0ZSX1JYQ09FX0lQIHwgU0ZSX1JYQ09FX1RDUCB8IFNGUl9SWENPRV9VRFAgfFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01OTktXHRcdH0gZWxzZSB7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjAwOlx0XHRcdGFxYzExMV9kYXRhLVx1MDAzZXJ4X2NoZWNrc3VtID0gMDtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MDEtXHRcdFx0cmVnOCB8PSBTRlJfUlhDT0VfSVAgfCBTRlJfUlhDT0VfVENQIHwgU0ZSX1JYQ09FX1VEUCB8XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MDU6XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhDT0VfQ1RMLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNi1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE0LVx0XHRcdFx0cmVnOCA9IGk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjE1Olx0XHRcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE2LVx0XHRcdFx0XHRcdCBTRlJfVkxBTl9JRF9BRERSRVNTLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MTgtXHRcdFx0XHQvKiBEYXRhICovXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjE5Olx0XHRcdFx0YXFjMTExX3dyaXRlMTZfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjAtXHRcdFx0XHRcdFx0ICAgU0ZSX1ZMQU5fSURfREFUQTAsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyMi1cdFx0XHRcdHJlZzggPSBTRlJfVkxBTl9DT05UUk9MX1dFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYyMzpcdFx0XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyNC1cdFx0XHRcdFx0XHQgU0ZSX1ZMQU5fSURfQ09OVFJPTCxcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjI2LVx0XHRcdH1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2Mjc6XHRcdFx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjgtXHRcdFx0XHRcdDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyOS1cdFx0XHRyZWc4IHw9IFNGUl9WTEFOX0NPTlRST0xfVkZFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYzMDpcdFx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzEtXHRcdFx0XHRcdCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzItXHRcdH0gZWxzZSB7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjMzOlx0XHRcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0NPTlRST0wsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjM0LVx0XHRcdFx0XHQxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzUtXHRcdFx0cmVnOCBcdTAwMjY9IH5TRlJfVkxBTl9DT05UUk9MX1ZGRTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MzY6XHRcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjM3LVx0XHRcdFx0XHQgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY0My1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NDQ6c3RhdGljIGNvbnN0IHN0cnVjdCBuZXRfZGV2aWNlX29wcyBhcWMxMTFfbmV0ZGV2X29wcyA9IHtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NDUtXHQubmRvX29wZW5cdFx0PSB1c2JuZXRfb3Blbixcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjQ5LVx0Lm5kb19nZXRfc3RhdHM2NFx0PSBkZXZfZ2V0X3RzdGF0czY0LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1MDpcdC5uZG9fY2hhbmdlX210dVx0XHQ9IGFxYzExMV9jaGFuZ2VfbXR1LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1MTpcdC5uZG9fc2V0X21hY19hZGRyZXNzXHQ9IGFxYzExMV9zZXRfbWFjX2FkZHIsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjUyLVx0Lm5kb192YWxpZGF0ZV9hZGRyXHQ9IGV0aF92YWxpZGF0ZV9hZGRyLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1MzpcdC5uZG9fdmxhbl9yeF9hZGRfdmlkXHQ9IGFxYzExMV92bGFuX3J4X2FkZF92aWQsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjU0Olx0Lm5kb192bGFuX3J4X2tpbGxfdmlkXHQ9IGFxYzExMV92bGFuX3J4X2tpbGxfdmlkLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1NTpcdC5uZG9fc2V0X3J4X21vZGVcdD0gYXFjMTExX3NldF9yeF9tb2RlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1NjpcdC5uZG9fc2V0X2ZlYXR1cmVzXHQ9IGFxYzExMV9zZXRfZmVhdHVyZXMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjU3LX07XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjU4LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1OTpzdGF0aWMgaW50IGFxYzExMV9yZWFkX3Blcm1fbWFjKHN0cnVjdCB1c2JuZXQgKmRldilcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NjAte1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NjMtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjY0Olx0cmV0ID0gYXFjMTExX3JlYWRfY21kKGRldiwgQVFfRkxBU0hfUEFSQU1FVEVSUywgMCwgMCwgRVRIX0FMRU4sIGJ1Zik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjY1LVx0aWYgKHJldCBcdTAwM2MgMClcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjc0LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY3NTpzdGF0aWMgdm9pZCBhcWMxMTFfcmVhZF9md192ZXJzaW9uKHN0cnVjdCB1c2JuZXQgKmRldixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NzY6XHRcdFx0XHQgICBzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY3Ny17XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Njc4Olx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgQVFfRldfVkVSX01BSk9SLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY3OTpcdFx0XHQxLCAxLCBcdTAwMjZhcWMxMTFfZGF0YS1cdTAwM2Vmd192ZXIubWFqb3IpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4MDpcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIEFRX0ZXX1ZFUl9NSU5PUixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2ODE6XHRcdFx0MSwgMSwgXHUwMDI2YXFjMTExX2RhdGEtXHUwMDNlZndfdmVyLm1pbm9yKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2ODI6XHRhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBBUV9GV19WRVJfUkVWLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4MzpcdFx0XHQxLCAxLCBcdTAwMjZhcWMxMTFfZGF0YS1cdTAwM2Vmd192ZXIucmV2KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02ODQtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Njg1Olx0aWYgKGFxYzExMV9kYXRhLVx1MDAzZWZ3X3Zlci5tYWpvciBcdTAwMjYgMHg4MClcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2ODY6XHRcdGFxYzExMV9kYXRhLVx1MDAzZWZ3X3Zlci5tYWpvciBcdTAwMjY9IH4weDgwO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY4Ny19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjg4LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4OTpzdGF0aWMgaW50IGFxYzExMV9iaW5kKHN0cnVjdCB1c2JuZXQgKmRldiwgc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjkwLXtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjkyLVx0ZW51bSB1c2JfZGV2aWNlX3NwZWVkIHVzYl9zcGVlZCA9IHVkZXYtXHUwMDNlc3BlZWQ7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjkzOlx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02OTQtXHRpbnQgcmV0O1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MDktXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzEwOlx0YXFjMTExX2RhdGEgPSBremFsbG9jX29iaigqYXFjMTExX2RhdGEpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjcxMTpcdGlmICghYXFjMTExX2RhdGEpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzEyLVx0XHRyZXR1cm4gLUVOT01FTTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MTMtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzE0Olx0Lyogc3RvcmUgYXFjMTExX2RhdGEgcG9pbnRlciBpbiBkZXZpY2UgZGF0YSBmaWVsZCAqL1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjcxNTpcdGRldi1cdTAwM2Vkcml2ZXJfcHJpdiA9IGFxYzExMV9kYXRhO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTcxNi1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MTctXHQvKiBJbml0IHRoZSBNQUMgYWRkcmVzcyAqL1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjcxODpcdHJldCA9IGFxYzExMV9yZWFkX3Blcm1fbWFjKGRldik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzE5LVx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzMyLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjczMzpcdGRldi1cdTAwM2VuZXQtXHUwMDNlbmV0ZGV2X29wcyA9IFx1MDAyNmFxYzExMV9uZXRkZXZfb3BzO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjczNDpcdGRldi1cdTAwM2VuZXQtXHUwMDNlZXRodG9vbF9vcHMgPSBcdTAwMjZhcWMxMTFfZXRodG9vbF9vcHM7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzM1LVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NDQtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzQ1Olx0YXFjMTExX3JlYWRfZndfdmVyc2lvbihkZXYsIGFxYzExMV9kYXRhKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NDY6XHRhcWMxMTFfZGF0YS1cdTAwM2VhdXRvbmVnID0gQVVUT05FR19FTkFCTEU7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzQ3Olx0YXFjMTExX2RhdGEtXHUwMDNlYWR2ZXJ0aXNlZF9zcGVlZCA9ICh1c2Jfc3BlZWQgPT0gVVNCX1NQRUVEX1NVUEVSKSA/XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzQ4LVx0XHRcdFx0XHQgU1BFRURfNTAwMCA6IFNQRUVEXzEwMDA7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc1Mi1vdXQ6XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzUzOlx0a2ZyZWUoYXFjMTExX2RhdGEpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc1NC1cdHJldHVybiByZXQ7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc1Ni1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NTc6c3RhdGljIHZvaWQgYXFjMTExX3VuYmluZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc1OC17XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzU5Olx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi1cdTAwM2Vkcml2ZXJfcHJpdjtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NjAtXHR1MTYgcmVnMTY7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc2My1cdHJlZzE2ID0gU0ZSX1BIWVBXUl9SU1RDVExfQlo7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzY0Olx0YXFjMTExX3dyaXRlMTZfY21kX25vcG0oZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUEhZUFdSX1JTVENUTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NjUtXHRcdFx0XHQyLCBcdTAwMjZyZWcxNik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzY2LVx0cmVnMTYgPSAwO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc2NzpcdGFxYzExMV93cml0ZTE2X2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1BIWVBXUl9SU1RDVEwsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzY4LVx0XHRcdFx0MiwgXHUwMDI2cmVnMTYpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NzAtXHQvKiBQb3dlciBkb3duIGV0aGVybmV0IFBIWSAqL1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc3MTpcdGFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcgXHUwMDI2PSB+QVFfQURWX01BU0s7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzcyOlx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyB8PSBBUV9MT1dfUE9XRVI7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzczOlx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyBcdTAwMjY9IH5BUV9QSFlfUE9XRVJfRU47XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Nzc0Olx0YXFjMTExX3dyaXRlMzJfY21kX25vcG0oZGV2LCBBUV9QSFlfT1BTLCAwLCAwLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc3NTpcdFx0XHRcdFx1MDAyNmFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc3Ni1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3Nzc6XHRrZnJlZShhcWMxMTFfZGF0YSk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzc4LX1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NzktXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzgwOnN0YXRpYyB2b2lkIGFxYzExMV9zdGF0dXMoc3RydWN0IHVzYm5ldCAqZGV2LCBzdHJ1Y3QgdXJiICp1cmIpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzgxLXtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3ODI6XHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVx1MDAzZWRyaXZlcl9wcml2O1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc4My1cdHU2NCAqZXZlbnRfZGF0YSA9IE5VTEw7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc5Ni1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3OTc6XHRhcWMxMTFfZGF0YS1cdTAwM2VsaW5rX3NwZWVkID0gKCpldmVudF9kYXRhIFx1MDAyNiBBUV9TUEVFRF9NQVNLKSBcdTAwM2VcdTAwM2VcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03OTgtXHRcdFx0XHQgIEFRX1NQRUVEX1NISUZUO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc5OTpcdGFxYzExMV9kYXRhLVx1MDAzZWxpbmsgPSBsaW5rO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTgwMC1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODA0LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjgwNTpzdGF0aWMgdm9pZCBhcWMxMTFfY29uZmlndXJlX3J4KHN0cnVjdCB1c2JuZXQgKmRldixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4MDY6XHRcdFx0XHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTgwNy17XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTgxNy1cdGJ1ZlsyXSA9IDB4MDc7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODE4Olx0c3dpdGNoIChhcWMxMTFfZGF0YS1cdTAwM2VsaW5rX3NwZWVkKSB7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODE5LVx0Y2FzZSBBUV9JTlRfU1BFRURfNUc6XG5cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDMgMDg6NTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjUwMjMKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiA0MwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aGF0IHRob3VnaHQgcHJvY2VzcywgYXNzdW1pbmcgSSYjMzk7bSBkZWVwIGluIHRoZSB3ZWVkcyB3aXRoIG5ldHdvcmsgZHJpdmVyIGNvbmZpZ3VyYXRpb246CgoqKk5hdmlnYXRpbmcgdGhlIEtjb25maWcgTWF6ZTogQVVTQl9ORVRfQVFDMTExIEFuYWx5c2lzKioKClJpZ2h0LCBzbyB0aGUgc3lzdGVtIGlzIHRlbGxpbmcgbWUgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9uIGlzIGBDT05GSUdfVVNCX05FVF9BUUMxMTFgLiBNeSBicmFpbiBpbW1lZGlhdGVseSBjbGlja3Mgb3ZlciB0byB0aGUgS2NvbmZpZyBmaWxlcy4gVGhpcyBpbXBsaWVzIHdlJiMzOTtyZSBkZWFsaW5nIHdpdGggYSBVU0IgbmV0d29yayBhZGFwdGVyLCBzcGVjaWZpY2FsbHkgb25lIGxldmVyYWdpbmcgdGhlIEFRQzExMSBjaGlwc2V0LgoKTXkgbmV4dCBtb3ZlIGlzIGF1dG9tYXRpYyDigJMgSSBuZWVkIHRvIGRpZyBpbnRvIHRoZSBgZHJpdmVycy9uZXQvdXNiL0tjb25maWdgIGZpbGUuIFRoYXQmIzM5O3MgdGhlIGxvZ2ljYWwgcGxhY2Ugd2hlcmUgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgVVNCIG5ldHdvcmsgZHJpdmVycyBhcmUgZGVmaW5lZC4gSSBoYXZlIHRvIHZlcmlmeSB0aGUgb3B0aW9uJiMzOTtzIHByZXNlbmNlIHRoZXJlLCBhbmQgbWF5YmUgZ2V0IGEgaGludCBvbiB3aGF0IGl0IGNvbnRyb2xzLiBJJiMzOTtsbCBuZWVkIHRvIGNvbmZpcm0gdGhlIHN5bWJvbCBgVVNCX05FVF9BUUMxMTFgIGlzIGFjdHVhbGx5IGRlZmluZWQsIHdoaWNoIHdvdWxkIHRlbGwgbWUgaWYgdGhlIGRyaXZlciBmb3IgdGhlIEFRQzExMSBpcyBpbnRlbmRlZCB0byBiZSBidWlsdCBhcyBhIGxvYWRhYmxlIG1vZHVsZSBvciBidWlsdCBpbnRvIHRoZSBrZXJuZWwuIEkgd2lsbCBhbHNvIGJlIGxvb2tpbmcgZm9yIGFueSBkZXBlbmRlbmNpZXMgYW5kIGRlcGVuZGVuY2llcyBvbiBvdGhlciBrZXJuZWwgc3Vic3lzdGVtcy4gSSBtYXkgYWxzbyBuZWVkIHRvIGNoZWNrIHRoZSBkZXBlbmRlbmNpZXMgb24gb3RoZXIgc3ltYm9scyB0byBlbnN1cmUgYWxsIHJlcXVpcmVkIGNvbXBvbmVudHMgYXJlIGVuYWJsZWQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O1VTQl9ORVRfQVFDMTExJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWc9NjE0PWNvbmZpZyBVU0JfTkVUX0NIOTIwMFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNC1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjYyNTpjb25maWcgVVNCX05FVF9BUUMxMTFcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNi1cdHRyaXN0YXRlIFwmIzM0O0FxdWFudGlhIEFRdGlvbiBVU0IgdG8gNS8yLjVHYkUgQ29udHJvbGxlcnMgc3VwcG9ydFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNTQ3NQoJCQkJCQkJb3V0cHV0OiAzOAoJCQkJCQkJdGhvdWdodHM6IDIzMQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIEFRQzExMSBFdGhlcm5ldCBEcml2ZXIgQ29uZmlndXJhdGlvbioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhlIGBVU0JfTkVUX0FRQzExMWAgY29uZmlnIOKAkyB0aGF0JiMzOTtzIHRoZSBzdGFydGluZyBwb2ludC4gTXkgZm9jdXMgbmVlZHMgdG8gYmUgb24gdGhlIGBhcWMxMTFfc2V0X21hY19hZGRyYCBmdW5jdGlvbjsgdGhhdCYjMzk7cyB0aGUgb25lIHRoZSBwYXRjaCBzZWVtcyB0byB0b3VjaC4gTGV0JiMzOTtzIHNlZS4uLiBhcmUgdGhlcmUgYW55IG90aGVyIGZ1bmN0aW9ucyBpbiB0aGUgZHJpdmVyIHRvIGNvbnNpZGVyPyBSaWdodCwgdGhlcmUmIzM5O3MgYGFxYzExMV9iaW5kYCwgYGFxYzExMV9yZXNldGAsIGFuZCBgYXFjMTExX2NoYW5nZV9tdHVgLCBidXQgdGhlIHBhdGNoIGlzICpvbmx5KiBhYm91dCBgYXFjMTExX3NldF9tYWNfYWRkcmAuCgpOb3csIEkgbmVlZCB0byB2ZXJpZnkgdGhhdCBgYXFjMTExX3NldF9tYWNfYWRkcmAgaXMgYWN0dWFsbHkgYWNjZXNzaWJsZS4gQWxyaWdodCwgaXQmIzM5O3MgYXNzaWduZWQgdG8gYG5kb19zZXRfbWFjX2FkZHJlc3NgLCB3aGljaCBpcyBnb29kLiBUaGF0IGxpbmtzIGl0IHVwIHRvIGBkZXZfc2V0X21hY19hZGRyZXNzYC4gT2theSwgYW5kICp0aGF0KiBjYW4gYmUgcmVhY2hlZCB0aHJvdWdoIGBkZXZfaW9jdGxgIChzcGVjaWZpY2FsbHkgdGhlIGBTSU9DU0lGSFdBRERSYCBjb21tYW5kKSBvciBldmVuIG5ldGxpbmsgKHRoZSBgUlRNX05FV0xJTktgIG1lc3NhZ2UpLiBQZXJmZWN0LiBUaGF0IG1lYW5zIGl0JiMzOTtzIGRlZmluaXRlbHkgcmVhY2hhYmxlIGFuZCBjYW4gYmUgdGVzdGVkLCBldmVuIHdpdGggYGR1bW15X2hjZGAgdG8gc2ltdWxhdGUgdGhlIFVTQiBob3N0IHNpZGUuCgpMZXQmIzM5O3MgcXVpY2tseSBlbnN1cmUgdGhhdCB0aGVyZSBhcmVuJiMzOTt0IGFueSBvdGhlciBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcyBiZXlvbmQgdGhlIG9idmlvdXMgb25lOiBgVVNCX05FVF9BUUMxMTFgIGRlcGVuZHMgb24gYFVTQl9VU0JORVRgLiBBbGwgc2VlbXMgdG8gYmUgaW4gb3JkZXIgZnJvbSB3aGF0IEkgY2FuIHNlZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDMgMDg6NTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIFVTQl9ORVRfQVFDMTExJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWc9NjE0PWNvbmZpZyBVU0JfTkVUX0NIOTIwMFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNC1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjYyNTpjb25maWcgVVNCX05FVF9BUUMxMTFcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNi1cdHRyaXN0YXRlIFwmIzM0O0FxdWFudGlhIEFRdGlvbiBVU0IgdG8gNS8yLjVHYkUgQ29udHJvbGxlcnMgc3VwcG9ydFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNjE5MAoJCQkJCQkJb3V0cHV0OiAzNgoJCQkJCQkJdGhvdWdodHM6IDIwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHRha2Ugb24gdGhlIEtjb25maWcgZW50cnkgZm9yIGBVU0JfTkVUX0FRQzExMWAuCgoqKkFuYWx5emluZyB0aGUgVVNCX05FVF9BUUMxMTEgS2NvbmZpZyBFbnRyeSoqCgpPa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbnRvIHRoaXMgYFVTQl9ORVRfQVFDMTExYCBLY29uZmlnIGVudHJ5LiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gdW5kZXJzdGFuZGluZyBpdHMgZGVwZW5kZW5jaWVzLCBkZWZhdWx0IHNldHRpbmdzLCBhbmQgYW55IHJlbGV2YW50IGRlc2NyaXB0aW9ucyBvciBoZWxwIHRleHQuIEkgd2FudCB0byBxdWlja2x5IGFzY2VydGFpbiB3aGF0IGNvbmRpdGlvbnMgbXVzdCBiZSBtZXQgZm9yIHRoaXMgZHJpdmVyIHRvIGV2ZW4gYmUgY29uc2lkZXJlZCwgYW5kIHdoYXQgdGhlIGJhc2VsaW5lIGNvbmZpZ3VyYXRpb24gd2lsbCBsb29rIGxpa2UgaWYgaXQmIzM5O3Mgc2VsZWN0ZWQuIEkmIzM5O2xsIGJlIGxvb2tpbmcgZm9yIGhpbnRzIGFib3V0IHRoZSBoYXJkd2FyZSByZXF1aXJlbWVudHMg4oCTIGlzIHRoaXMgdGllZCB0byBhIHNwZWNpZmljIFVTQiBjb250cm9sbGVyLCBvciBjaGlwc2V0PyBBcmUgdGhlcmUgYW55IG1vZHVsZSBkZXBlbmRlbmNpZXMgSSBuZWVkIHRvIGJlIGF3YXJlIG9mPyBBcmUgdGhlcmUgY29uZmxpY3Rpbmcgb3B0aW9ucyBJIG5lZWQgdG8gbG9vayBvdXQgZm9yLCBvciB3aWxsIHRoZXJlIGJlIGFueSBwb3RlbnRpYWwgaW50ZXJhY3Rpb25zIHdpdGggb3RoZXIgbmV0d29ya2luZyBzdGFja3M/CgpJJiMzOTttIG1lbnRhbGx5IG1hcHBpbmcgdGhlIHBsYWNlbWVudCBvZiB0aGlzIGVudHJ5IHdpdGhpbiB0aGUgYnJvYWRlciBLY29uZmlnIGhpZXJhcmNoeS4gSXMgaXQgdW5kZXIgYSBnZW5lcmFsICYjMzQ7VVNCIE5ldHdvcmtpbmcmIzM0OyBzZWN0aW9uLCBvciBzb21ldGhpbmcgbW9yZSBzcGVjaWZpYz8gVGhlIGhpZXJhcmNoeSBsb2NhdGlvbiBwcm92aWRlcyB2aXRhbCBjb250ZXh0LgoKT25jZSBJIGhhdmUgYSBoaWdoLWxldmVsIHBpY3R1cmUsIEkmIzM5O2xsIHBheSBjbG9zZSBhdHRlbnRpb24gdG8gdGhlIGBzZWxlY3RgIHN0YXRlbWVudHMgYW5kIGhvdyB0aGV5IG1pZ2h0IGFmZmVjdCBvdGhlciBjb25maWd1cmF0aW9ucy4gQW5kLCBvZiBjb3Vyc2UsIEkmIzM5O20gY2hlY2tpbmcgZm9yIGFueSBgZGVwZW5kcyBvbmAgc3RhdGVtZW50cyBvciBgZGVmYXVsdGAgdmFsdWUgYXNzaWdubWVudHMuIEFyZSB0aGVzZSBzaW1wbGUgYm9vbGVhbiB2YWx1ZXMgb3IgbW9yZSBjb21wbGV4IGV4cHJlc3Npb25zPyBVbHRpbWF0ZWx5LCBJIHdhbnQgdG8gYmUgYWJsZSB0byBwcmVkaWN0IHRoZSBiZWhhdmlvciBvZiB0aGUgY29uZmlndXJhdGlvbiBzeXN0ZW0gd2l0aCB0aGlzIG9wdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDMgMDg6NTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC91c2IvS2NvbmZpZyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDYyMCwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAyMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgNjIwOlx0XHQgIENIOTIwMCBjaGlwc2V0LlxuIDYyMTpcdFxuIDYyMjpcdFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGVcbiA2MjM6XHRcdCAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGNoOTIwMC5cbiA2MjQ6XHRcbiA2MjU6XHRjb25maWcgVVNCX05FVF9BUUMxMTFcbiA2MjY6XHRcdHRyaXN0YXRlIFwmIzM0O0FxdWFudGlhIEFRdGlvbiBVU0IgdG8gNS8yLjVHYkUgQ29udHJvbGxlcnMgc3VwcG9ydFwmIzM0O1xuIDYyNzpcdFx0ZGVwZW5kcyBvbiBVU0JfVVNCTkVUXG4gNjI4Olx0XHRzZWxlY3QgQ1JDMzJcbiA2Mjk6XHRcdGhlbHBcbiA2MzA6XHRcdCAgVGhpcyBvcHRpb24gYWRkcyBzdXBwb3J0IGZvciBBcXVhbnRpYSBBUXRpb24gVVNCXG4gNjMxOlx0XHQgIEV0aGVybmV0IGFkYXB0ZXJzIGJhc2VkIG9uIEFRQzExMVUvQVFDMTEyIGNoaXBzLlxuIDYzMjpcdFxuIDYzMzpcdFx0ICBUaGlzIGRyaXZlciBzaG91bGQgd29yayB3aXRoIGF0IGxlYXN0IHRoZSBmb2xsb3dpbmcgZGV2aWNlczpcbiA2MzQ6XHRcdCAgKiBBcXVhbnRpYSBBUXRpb24gVVNCIHRvIDVHYkVcbiA2MzU6XHRcbiA2MzY6XHRjb25maWcgVVNCX1JUTDgxNTNfRUNNXG4gNjM3Olx0XHR0cmlzdGF0ZVxuIDYzODpcdFx0ZGVwZW5kcyBvbiBVU0JfTkVUX0NEQ0VUSEVSIFx1MDAyNlx1MDAyNiAoVVNCX1JUTDgxNTIgfHwgVVNCX1JUTDgxNTI9bilcbiA2Mzk6XHRcdGRlZmF1bHQgeVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE3LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNjg4MAoJCQkJCQkJb3V0cHV0OiAxMjAKCQkJCQkJCXRob3VnaHRzOiAyMTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHlzaXMgb2YgYSBQb3RlbnRpYWwgRnV6emluZyBUYXJnZXQqKgoKT2theSwgc28gSSYjMzk7dmUgZ290IHRoaXMgcGF0Y2ggdGFyZ2V0aW5nIHRoZSBgYXFjMTExX3NldF9tYWNfYWRkcmAgZnVuY3Rpb24sIHdoaWNoLCBhcyBJIHVuZGVyc3RhbmQgaXQsIGlzIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIHRoZSBNQUMgYWRkcmVzcyBvbiBhIHNwZWNpZmljIFVTQiBuZXR3b3JrIGFkYXB0ZXIsIHRoZSBBUUMxMTEuIFRoZSBjb25maWd1cmF0aW9uIGlzIGBVU0JfTkVUX0FRQzExMWAsIG1lYW5pbmcgdGhhdCBkcml2ZXIgaXMgZW5hYmxlZCBieSB0aGF0IGNvbmZpZ3VyYXRpb24gb3B0aW9uLgoKVGhlIGNvcmUgb2YgdGhlIGlzc3VlIGlzIHRoaXM6IHRoZSBwYXRjaCBpcyBjaGFuZ2luZyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBhcWMxMTFfc2V0X21hY19hZGRyYC4gQ3VycmVudGx5LCBpdCByZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgYnkgYHVzYl9jb250cm9sX21zZ2AgdXBvbiBzdWNjZXNzLCB3aGljaCBpc24mIzM5O3Qgc3RhbmRhcmQgcHJhY3RpY2UgZm9yIGBuZG9fc2V0X21hY19hZGRyZXNzYC4gVGhlIHBhdGNoIGNoYW5nZXMgdGhpcyB0byB0aGUgbW9yZSBleHBlY3RlZCByZXR1cm4gb2YgMCBmb3Igc3VjY2Vzcy4KCk15IGV4cGVydCBvcGluaW9uIGlzLCBhbmQgdGhpcyBpcyB3aGVyZSBJJiMzOTttIGxlYW5pbmcgdG93YXJkcyBmdXp6aW5nLCB0aGF0IHRoaXMgaXMgYSAqZnVuY3Rpb25hbCBjaGFuZ2UqIHdpdGhpbiBhIHBvdGVudGlhbGx5ICpyZWFjaGFibGUqIFVTQiBuZXR3b3JrIGRyaXZlci4gVGhlIGZhY3QgdGhhdCBpdCYjMzk7cyBhICpmdW5jdGlvbmFsIGNoYW5nZSogaXMgY3J1Y2lhbCDigJMgY2hhbmdlcyBpbiBiZWhhdmlvciBhcmUgb2Z0ZW4gbW9yZSBzdXNjZXB0aWJsZSB0byBjYXVzaW5nIHVuZXhwZWN0ZWQgcHJvYmxlbXMsIGxpa2UgbWVtb3J5IGNvcnJ1cHRpb24gb3Igb3RoZXIgc3VidGxlIGJ1Z3MuIFRoZSBmYWN0IHRoYXQgdGhlIGRyaXZlciBpcyByZWFjaGFibGUgKG1lYW5pbmcgaXQmIzM5O3MgKnVzYWJsZSopIGlzIGFub3RoZXIgaHVnZSBwbHVzLgoKVGhlcmVmb3JlLCBJJiMzOTttIHJlY29tbWVuZGluZyB0aGlzIHBhdGNoIGZvciBmdXp6aW5nLiBTcGVjaWZpY2FsbHksIEkmIzM5O2QgZm9jdXMgZnV6emluZyBvbiB0aGUgYGFxYzExMV9zZXRfbWFjX2FkZHJgIGZ1bmN0aW9uIGl0c2VsZi4gVGhlIGtleSBjb25maWd1cmF0aW9uIGl0ZW0gdGhhdCBuZWVkcyB0byBiZSBlbmFibGVkIGZvciB0aGlzIGlzIGBVU0JfTkVUX0FRQzExMWAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtVU0JfTkVUX0FRQzExMSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2FxYzExMV9zZXRfbWFjX2FkZHImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgdGhlIHJldHVybiB2YWx1ZSBvZiBgYXFjMTExX3NldF9tYWNfYWRkcmAgKHdoaWNoIGltcGxlbWVudHMgYG5kb19zZXRfbWFjX2FkZHJlc3NgKSB0byByZXR1cm4gMCBvbiBzdWNjZXNzIGluc3RlYWQgb2YgdGhlIG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBieSBgdXNiX2NvbnRyb2xfbXNnYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIFVTQiBuZXR3b3JrIGRyaXZlci4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VVNCX05FVF9BUUMxMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDthcWMxMTFfc2V0X21hY19hZGRyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIHRoZSByZXR1cm4gdmFsdWUgb2YgYGFxYzExMV9zZXRfbWFjX2FkZHJgICh3aGljaCBpbXBsZW1lbnRzIGBuZG9fc2V0X21hY19hZGRyZXNzYCkgdG8gcmV0dXJuIDAgb24gc3VjY2VzcyBpbnN0ZWFkIG9mIHRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgYnkgYHVzYl9jb250cm9sX21zZ2AuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBVU0IgbmV0d29yayBkcml2ZXIuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1NzoyMi4yOTcxMjQyNzVaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MzQ0NzcwNzA2MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJVU0JfTkVUX0FRQzExMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImFxYzExMV9zZXRfbWFjX2FkZHJcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBhcWMxMTFfc2V0X21hY19hZGRyYCAod2hpY2ggaW1wbGVtZW50cyBgbmRvX3NldF9tYWNfYWRkcmVzc2ApIHRvIHJldHVybiAwIG9uIHN1Y2Nlc3MgaW5zdGVhZCBvZiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVkIGJ5IGB1c2JfY29udHJvbF9tc2dgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgVVNCIG5ldHdvcmsgZHJpdmVyLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1NzoyMi4yOTcxMjk4MTVaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ4NDUxODY2MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDAyYmIzNmVjNTQ3OWU3NjJmNjUxMTc2NTA1ZjFkOGFiYjVkYTZmZjlcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIEZyaSBKdWwgMyAwODo1NzoyMCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvYXFjMTExLmMgYi9kcml2ZXJzL25ldC91c2IvYXFjMTExLmNcXG5pbmRleCBkZDUzZjQxM2MzOGY2MC4uZGE1Yjc0NjM3ZWUyNzcgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jXFxuKysrIGIvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jXFxuQEAgLTQ3MSw4ICs0NzEsMTIgQEAgc3RhdGljIGludCBhcWMxMTFfc2V0X21hY19hZGRyKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIHZvaWQgKnApXFxuIFxcdFxcdHJldHVybiByZXQ7XFxuIFxcbiBcXHQvKiBTZXQgdGhlIE1BQyBhZGRyZXNzICovXFxuLVxcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX05PREVfSUQsIEVUSF9BTEVOLFxcbi1cXHRcXHRcXHRcXHRFVEhfQUxFTiwgbmV0LVxcdTAwM2VkZXZfYWRkcik7XFxuK1xcdHJldCA9IGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXFxuK1xcdFxcdFxcdCAgICAgICAgRVRIX0FMRU4sIG5ldC1cXHUwMDNlZGV2X2FkZHIpO1xcbitcXHRpZiAocmV0IFxcdTAwM2MgMClcXG4rXFx0XFx0cmV0dXJuIHJldDtcXG4rXFxuK1xcdHJldHVybiAwO1xcbiB9XFxuIFxcbiBzdGF0aWMgaW50IGFxYzExMV92bGFuX3J4X2tpbGxfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU3OjIyLjc4MjQ3NzczOFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDI5NjIzNDM5MTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVVNCX05FVF9BUUMxMTFcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJhcWMxMTFfc2V0X21hY19hZGRyXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgdGhlIHJldHVybiB2YWx1ZSBvZiBgYXFjMTExX3NldF9tYWNfYWRkcmAgKHdoaWNoIGltcGxlbWVudHMgYG5kb19zZXRfbWFjX2FkZHJlc3NgKSB0byByZXR1cm4gMCBvbiBzdWNjZXNzIGluc3RlYWQgb2YgdGhlIG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBieSBgdXNiX2NvbnRyb2xfbXNnYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIFVTQiBuZXR3b3JrIGRyaXZlci5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAwMmJiMzZlYzU0NzllNzYyZjY1MTE3NjUwNWYxZDhhYmI1ZGE2ZmY5XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMyAwODo1NzoyMCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYyBiL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuY1xuaW5kZXggZGQ1M2Y0MTNjMzhmNjAuLmRhNWI3NDYzN2VlMjc3IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jXG4rKysgYi9kcml2ZXJzL25ldC91c2IvYXFjMTExLmNcbkBAIC00NzEsOCArNDcxLDEyIEBAIHN0YXRpYyBpbnQgYXFjMTExX3NldF9tYWNfYWRkcihzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCB2b2lkICpwKVxuIFx0XHRyZXR1cm4gcmV0O1xuIFxuIFx0LyogU2V0IHRoZSBNQUMgYWRkcmVzcyAqL1xuLVx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXG4tXHRcdFx0XHRFVEhfQUxFTiwgbmV0LVx1MDAzZWRldl9hZGRyKTtcbitcdHJldCA9IGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXG4rXHRcdFx0ICAgICAgICBFVEhfQUxFTiwgbmV0LVx1MDAzZWRldl9hZGRyKTtcbitcdGlmIChyZXQgXHUwMDNjIDApXG4rXHRcdHJldHVybiByZXQ7XG4rXG4rXHRyZXR1cm4gMDtcbiB9XG4gXG4gc3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9raWxsX3ZpZChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDNUMDg6NTc6MjIuNzgyNDc5MTY4WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDg2MDU1MTQyNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBOZXR3b3JrIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBkcml2ZXJzL25ldC91c2IvYXFjMTExLmNgLiBJdCdzIHRvdWNoaW5nIGBhcWMxMTFfc2V0X21hY19hZGRyYCwgd2hpY2ggaXMgYWx3YXlzIGEgY3JpdGljYWwgYXJlYS4gVGhlIGNvcmUgb2YgdGhlIGNoYW5nZSBpcyBzdHJhaWdodGZvcndhcmQ6IHRoZXkndmUgYWRkZWQgYW4gZXhwbGljaXQgZXJyb3IgY2hlY2sgYWZ0ZXIgY2FsbGluZyBgYXFjMTExX3dyaXRlX2NtZGAuIFByZXZpb3VzbHksIHRoZSBmdW5jdGlvbiBqdXN0IHJldHVybmVkIHdoYXRldmVyIGBhcWMxMTFfd3JpdGVfY21kYCByZXR1cm5lZCwgd2hpY2ggY291bGQgaGF2ZSBiZWVuIHBvc2l0aXZlIG9uIHN1Y2Nlc3MgKHdoaWNoIGltbWVkaWF0ZWx5IHN0cmlrZXMgbWUgYXMgdW51c3VhbCkuIE5vdywgaWYgYGFxYzExMV93cml0ZV9jbWRgIHJldHVybnMgYSB2YWx1ZSBsZXNzIHRoYW4gemVybyAoaW5kaWNhdGluZyBhbiBlcnJvciksIHRoZSBmdW5jdGlvbiBwcm9wYWdhdGVzIHRoZSBuZWdhdGl2ZSByZXR1cm4gY29kZS4gT3RoZXJ3aXNlLCBpdCBub3cgZXhwbGljaXRseSByZXR1cm5zIDAsIHNpZ25pZnlpbmcgc3VjY2Vzcy5cblxuV2FpdCBhIHNlY29uZC4gVGhlIGNvbW1pdCB0ZXh0IGRvZXNuJ3QgbWVudGlvbiB0aGUgb3JpZ2luYWwgYmVoYXZpb3IuIFdhcyBgYXFjMTExX3dyaXRlX2NtZGAgcmVhbGx5IHJldHVybmluZyBwb3NpdGl2ZSB2YWx1ZXMgb24gc3VjY2Vzcz8gVGhhdCdzIG5vdCB0aGUgdXN1YWwgY29udmVudGlvbiBmb3IgdGhlc2Ugc29ydHMgb2YgZHJpdmVyIGZ1bmN0aW9ucy4gSSdsbCBuZWVkIHRvIGRvdWJsZSBjaGVjayBob3cgYGFxYzExMV93cml0ZV9jbWRgIGlzIGRlZmluZWQuIEknbGwgb3BlbiB1cCB0aGF0IGZ1bmN0aW9uIHRvIHZlcmlmeSB0aGUgcmFuZ2Ugb2YgdmFsdWVzIGl0IGNhbiByZXR1cm4uIEl0J3MgcG9zc2libGUgSSdtIG1pc3Npbmcgc29tZXRoaW5nLCBvciB0aGVyZSdzIGEgY29udmVudGlvbiBJJ20gbm90IGZhbWlsaWFyIHdpdGggaW4gdGhpcyBwYXJ0aWN1bGFyIGNvZGViYXNlLCBidXQgbXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgdGhlIG9yaWdpbmFsIGNvZGUgd2FzIHByb2JhYmx5IGluY29ycmVjdCBieSBub3QgaGFuZGxpbmcgYSBwb3NzaWJsZSBlcnJvciBpbmRpY2F0ZWQgYnkgYSBuZWdhdGl2ZSByZXR1cm4gdmFsdWUuIFRoZSBwYXRjaCBpcyBwcm9iYWJseSBmaXhpbmcgYSBzdWJ0bGUgYnVnIHdoZXJlIHBvc2l0aXZlIHJldHVybiB2YWx1ZXMgd2VyZSBpbnRlcnByZXRlZCBhcyBlcnJvcnMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5MzIsIk91dHB1dFRva2VucyI6NDIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNDUsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1NzoyNy42NDMwMzM5ODJaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjY4OTg5ODUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYXFjMTExX3dyaXRlX2NtZFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC91c2IvYXFjMTExLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTcyPXN0YXRpYyBpbnQgYXFjMTExX3JlYWQxNl9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04Mi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODM6c3RhdGljIGludCBfX2FxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHU4IHJlcXR5cGUsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0LVxcdFxcdFxcdCAgICAgIHUxNiB2YWx1ZSwgdTE2IGluZGV4LCB1MTYgc2l6ZSwgY29uc3Qgdm9pZCAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTMtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjExNDpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTUtXFx0XFx0XFx0XFx0IHUxNiBpbmRleCwgdTE2IHNpemUsIHZvaWQgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTE4LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMTk6XFx0cmV0ID0gX19hcWMxMTFfd3JpdGVfY21kKGRldiwgY21kLCBVU0JfRElSX09VVCB8IFVTQl9UWVBFX1ZFTkRPUiB8XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEyMC1cXHRcXHRcXHRcXHQgVVNCX1JFQ0lQX0RFVklDRSwgdmFsdWUsIGluZGV4LCBzaXplLCBkYXRhKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMjQtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEyNTpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTI2LVxcdFxcdFxcdCAgICB1MTYgaW5kZXgsIHUxNiBzaXplLCBjb25zdCB2b2lkICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzMi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTMzOlxcdHJldCA9IF9fYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgVVNCX0RJUl9PVVQgfCBVU0JfVFlQRV9WRU5ET1IgfFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzQtXFx0XFx0XFx0XFx0IFVTQl9SRUNJUF9ERVZJQ0UsIHZhbHVlLCBpbmRleCwgc2l6ZSwgZGF0YSk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTQxPXN0YXRpYyBpbnQgYXFjMTExX3dyaXRlMTZfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDctXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE0ODpcXHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcXHUwMDI2dG1wKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQ5LX1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz0xNTE9c3RhdGljIGludCBhcWMxMTFfd3JpdGUxNl9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNTctXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE1ODpcXHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1OS19XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTYxPXN0YXRpYyBpbnQgYXFjMTExX3dyaXRlMzJfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNjctXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE2ODpcXHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcXHUwMDI2dG1wKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTY5LX1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz0xNzE9c3RhdGljIGludCBhcWMxMTFfd3JpdGUzMl9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNzctXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE3ODpcXHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE3OS19XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE4MC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTgxOnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlX2NtZF9hc3luYyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xODItXFx0XFx0XFx0XFx0ICB1MTYgaW5kZXgsIHUxNiBzaXplLCB2b2lkICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTE4OT1zdGF0aWMgaW50IGFxYzExMV93cml0ZTE2X2NtZF9hc3luYyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5NS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTk2OlxcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kX2FzeW5jKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5Ny1cXHRcXHRcXHRcXHQgICAgICBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9NDIyPXN0YXRpYyBpbnQgYXFjMTExX2NoYW5nZV9tdHUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgaW50IG5ld19tdHUpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDQzLVxcdFxcdC8qIFJYIGJ1bGsgY29uZmlndXJhdGlvbiAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0NDQ6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9SWF9CVUxLSU5fUUNUUkwsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ0NS1cXHRcXHRcXHRcXHQgNSwgNSwgYnVmKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00NjQ9c3RhdGljIGludCBhcWMxMTFfc2V0X21hY19hZGRyKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIHZvaWQgKnApXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDczLVxcdC8qIFNldCB0aGUgTUFDIGFkZHJlc3MgKi9cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDc0OlxcdHJldCA9IGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ3NS1cXHRcXHRcXHQgICAgICAgIEVUSF9BTEVOLCBuZXQtXFx1MDAzZWRldl9hZGRyKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00ODI9c3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9raWxsX3ZpZChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5NC1cXHRyZWc4ID0gKHZpZCAvIDE2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDk1OlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9BRERSRVNTLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5Ni1cXHQvKiBEYXRhICovXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5Ny1cXHRyZWc4ID0gdmxhbl9jdHJsIHwgU0ZSX1ZMQU5fQ09OVFJPTF9SRDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDk4OlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5OS1cXHRhcWMxMTFfcmVhZDE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0RBVEEwLCAyLCBcXHUwMDI2cmVnMTYpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwMi1cXHRyZWc4ID0gdmxhbl9jdHJsIHwgU0ZSX1ZMQU5fQ09OVFJPTF9XRTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTAzOlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwNC1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz01MDg9c3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9hZGRfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIF9fYmUxNiBwcm90bywgdTE2IHZpZClcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MTktXFx0cmVnOCA9ICh2aWQgLyAxNik7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyMDpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQUREUkVTUywgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjEtXFx0LyogRGF0YSAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjItXFx0cmVnOCA9IHZsYW5fY3RybCB8IFNGUl9WTEFOX0NPTlRST0xfUkQ7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyMzpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjQtXFx0YXFjMTExX3JlYWQxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXFx1MDAyNnJlZzE2KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjctXFx0cmVnOCA9IHZsYW5fY3RybCB8IFNGUl9WTEFOX0NPTlRST0xfV0U7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyODpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjktXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9NTMzPXN0YXRpYyB2b2lkIGFxYzExMV9zZXRfcnhfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU1Ny1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTU4OlxcdFxcdGFxYzExMV93cml0ZV9jbWRfYXN5bmMoZGV2LCBBUV9BQ0NFU1NfTUFDLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NTktXFx0XFx0XFx0XFx0ICAgICAgIFNGUl9NVUxUSV9GSUxURVJfQVJSWSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz01NzA9c3RhdGljIGludCBhcWMxMTFfc2V0X2ZlYXR1cmVzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgxLVxcdFxcdHJlZzggXj0gU0ZSX1RYQ09FX1RDUCB8IFNGUl9UWENPRV9VRFA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU4MjpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgzLVxcdFxcdFxcdFxcdCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTg4LVxcdFxcdHJlZzggXj0gU0ZSX1RYQ09FX1RDUFY2IHwgU0ZSX1RYQ09FX1VEUFY2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1ODk6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU5MC1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjA1OlxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhDT0VfQ1RMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MDYtXFx0XFx0XFx0XFx0IDEsIDEsIFxcdTAwMjZyZWc4KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MTQtXFx0XFx0XFx0XFx0cmVnOCA9IGk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYxNTpcXHRcXHRcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE2LVxcdFxcdFxcdFxcdFxcdFxcdCBTRlJfVkxBTl9JRF9BRERSRVNTLFxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyMi1cXHRcXHRcXHRcXHRyZWc4ID0gU0ZSX1ZMQU5fQ09OVFJPTF9XRTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjIzOlxcdFxcdFxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjQtXFx0XFx0XFx0XFx0XFx0XFx0IFNGUl9WTEFOX0lEX0NPTlRST0wsXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjI5LVxcdFxcdFxcdHJlZzggfD0gU0ZSX1ZMQU5fQ09OVFJPTF9WRkU7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYzMDpcXHRcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjMxLVxcdFxcdFxcdFxcdFxcdCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjM1LVxcdFxcdFxcdHJlZzggXFx1MDAyNj0gflNGUl9WTEFOX0NPTlRST0xfVkZFO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MzY6XFx0XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYzNy1cXHRcXHRcXHRcXHRcXHQgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTgwNT1zdGF0aWMgdm9pZCBhcWMxMTFfY29uZmlndXJlX3J4KHN0cnVjdCB1c2JuZXQgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04NDAtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjg0MTpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0lOVEVSX1BBQ0tFVF9HQVBfMCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODQyLVxcdFxcdFxcdCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0My1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODQ0OlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVFhfUEFVU0VfUkVTRU5EX1QsIDMsIDMsIGJ1Zik7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0NS1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04NjctXFx0LyogUlggYnVsayBjb25maWd1cmF0aW9uICovXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjg2ODpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RQ1RSTCwgNSwgNSwgYnVmKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODY5LVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTg4NT1zdGF0aWMgdm9pZCBhcWMxMTFfY29uZmlndXJlX2NzdW1fb2ZmbG9hZChzdHJ1Y3QgdXNibmV0ICpkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODkyLVxcdH1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODkzOlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhDT0VfQ1RMLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg5NC1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MDEtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkwMjpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MDMtfVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTkwNT1zdGF0aWMgaW50IGFxYzExMV9saW5rX3Jlc2V0KHN0cnVjdCB1c2JuZXQgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MTgtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkxOTpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTIwLVxcdFxcdFxcdFxcdCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTIyLVxcdFxcdHJlZzggPSAweDA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkyMzpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNUlhfRE1BX0NPTlRST0wsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkyNC1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MjUtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkyNjpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNVFhfRE1BX0NPTlRST0wsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkyNy1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MjgtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkyOTpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0FSQ19DVFJMLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkzMC1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MzUtXFx0XFx0cmVnOCA9IFNGUl9SWF9QQVRIX1JFQURZO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo5MzY6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9FVEhfTUFDX1BBVEgsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkzNy1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkzOS1cXHRcXHRyZWc4ID0gU0ZSX0JVTEtfT1VUX0VGRl9FTjtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6OTQwOlxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfQlVMS19PVVRfQ1RSTCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTQxLVxcdFxcdFxcdFxcdCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTgyLVxcdFxcdHJlZzggPSBTRlJfQlVMS19PVVRfRkxVU0hfRU4gfCBTRlJfQlVMS19PVVRfRUZGX0VOO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo5ODM6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CVUxLX09VVF9DVFJMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05ODQtXFx0XFx0XFx0XFx0IDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTg1LVxcdFxcdHJlZzggPSBTRlJfQlVMS19PVVRfRUZGX0VOO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo5ODY6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CVUxLX09VVF9DVFJMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05ODctXFx0XFx0XFx0XFx0IDEsIDEsIFxcdTAwMjZyZWc4KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz05OTQ9c3RhdGljIGludCBhcWMxMTFfcmVzZXQoc3RydWN0IHVzYm5ldCAqZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMTMtXFx0LyogU2V0IHRoZSBNQUMgYWRkcmVzcyAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMDE0OlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMTUtXFx0XFx0XFx0IEVUSF9BTEVOLCBkZXYtXFx1MDAzZW5ldC1cXHUwMDNlZGV2X2FkZHIpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMTctXFx0cmVnOCA9IDB4RkY7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEwMTg6XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTV9JTlRfTUFTSywgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMDE5LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMDIwLVxcdHJlZzggPSAweDA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEwMjE6XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9TV1BfQ1RSTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMDIyLVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMjYtXFx0XFx0ICBTRlJfTU9OSVRPUl9NT0RFX1JXX0ZMQUcpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMDI3OlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTU9OSVRPUl9NT0RFLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMjgtXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTMyNj1zdGF0aWMgaW50IGFxYzExMV9zdXNwZW5kKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLCBwbV9tZXNzYWdlX3QgbWVzc2FnZSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzQ4LVxcdHJlZzggPSBTRlJfQlVMS19PVVRfRUZGX0VOO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMzQ5OlxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CVUxLX09VVF9DVFJMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzUwLVxcdFxcdFxcdCAgICAgIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzU3LVxcdHJlZzggPSAweDAwO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMzU4OlxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9FVEhfTUFDX1BBVEgsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzNTktXFx0XFx0XFx0ICAgICAgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzNzMtXFx0XFx0cmVnOCA9IDB4MDA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzNzQ6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNX0lOVF9NQVNLLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzc1LVxcdFxcdFxcdFxcdCAgICAgIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM3Ni1cXHRcXHRyZWc4ID0gU0ZSX0JNUlhfRE1BX0VOO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMzc3OlxcdFxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTVJYX0RNQV9DT05UUk9MLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzc4LVxcdFxcdFxcdFxcdCAgICAgIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM3OS1cXHRcXHRyZWc4ID0gU0ZSX1JYX1BBVEhfUkVBRFk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzODA6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0VUSF9NQUNfUEFUSCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4MS1cXHRcXHRcXHRcXHQgICAgICAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzODItXFx0XFx0cmVnOCA9IDB4MDc7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzODM6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RQ1RSTCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4NC1cXHRcXHRcXHRcXHQgICAgICAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzODUtXFx0XFx0cmVnOCA9IDB4MDA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzODY6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4Ny1cXHRcXHRcXHRcXHQgICAgICBTRlJfUlhfQlVMS0lOX1FUSU1SX0xPVywgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMzg4OlxcdFxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzODktXFx0XFx0XFx0XFx0ICAgICAgU0ZSX1JYX0JVTEtJTl9RVElNUl9ISUdILCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzOTAtXFx0XFx0cmVnOCA9IDB4RkY7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzOTE6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RU0laRSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM5Mi1cXHRcXHRcXHRcXHQgICAgICAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzOTM6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RSUZHLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzk0LVxcdFxcdFxcdFxcdCAgICAgIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDAxLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDAyOlxcdFxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX1dPTF9DRkcsIDAsIDAsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0MDMtXFx0XFx0XFx0XFx0ICAgICAgV09MX0NGR19TSVpFLCBcXHUwMDI2d29sX2NmZyk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTQyMj1zdGF0aWMgaW50IGFxYzExMV9yZXN1bWUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQzNi1cXHRyZWc4ID0gMHhGRjtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTQzNzpcXHRhcWMxMTFfd3JpdGVfY21kX25vcG0oZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfQk1fSU5UX01BU0ssXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0MzgtXFx0XFx0XFx0ICAgICAgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0NTUtXFx0cmVnOCA9IFNGUl9SWF9QQVRIX1JFQURZO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDU2OlxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9FVEhfTUFDX1BBVEgsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0NTctXFx0XFx0XFx0ICAgICAgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDU4LVxcdHJlZzggPSAweDA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE0NTk6XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTVJYX0RNQV9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0NjAtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU3OjI3LjcwOTkzOTg4N1oiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUyNDg1MzM5OTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBNQUMgQWRkcmVzcyBTZXQgRnVuY3Rpb24qKlxuXG5Pa2F5LCBzbyB0aGUgcGF0Y2ggaXMgZm9jdXNlZCBvbiBgYXFjMTExX3NldF9tYWNfYWRkcmAuIExldCBtZSB3YWxrIHRocm91Z2ggdGhpcy4gYGFxYzExMV93cml0ZV9jbWRgIGlzIHRoZSBrZXkuIEl0IGNhbGxzIGBfX2FxYzExMV93cml0ZV9jbWRgLCB3aGljaCB1bHRpbWF0ZWx5IGNhbGxzIGB1c2JfY29udHJvbF9tc2dgLiBSaWdodCwgYW5kIGB1c2JfY29udHJvbF9tc2dgIGdpdmVzIGJhY2sgZWl0aGVyIHRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlLiBUaGlzIG1lYW5zIGBhcWMxMTFfd3JpdGVfY21kYCAqY291bGQqIGJlIHJldHVybmluZyBhIHBvc2l0aXZlIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBieXRlIGNvdW50IG9uIHN1Y2Nlc3MuIEJlZm9yZSB0aGUgcGF0Y2gsIGBhcWMxMTFfc2V0X21hY19hZGRyYCB3YXMgcGFzc2luZyB0aGF0IHBvc2l0aXZlIHJldHVybiB2YWx1ZSBkaXJlY3RseSBiYWNrIHVwIHRoZSBzdGFjay5cblxuVGhlIGNoYW5nZSB0aGV5J3ZlIG1hZGUgaXMgbm93IHJldHVybmluZyAwIGlmIHRoZSBvcmlnaW5hbCBgcmV0YCBmcm9tIGBhcWMxMTFfd3JpdGVfY21kYCB3YXMgcG9zaXRpdmUgKG9yIHplcm8sIHdoaWNoIGlzIGxpa2VseSBzdWNjZXNzKS4gQW5kIGl0IHJldHVybnMgYHJldGAgaXRzZWxmIGlmIGl0J3MgbmVnYXRpdmUgKHRoZSBlcnJvciBjb2RlKS4gVGhpcyBsb29rcyBsaWtlIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZm9yIHN1cmUuIE15IGltbWVkaWF0ZSBjb25jZXJuIGlzIHRoYXQgYG5kb19zZXRfbWFjX2FkZHJlc3NgLCB3aGljaCBgYXFjMTExX3NldF9tYWNfYWRkcmAgaXMgKnByb2JhYmx5KiBhc3NpZ25lZCB0bywgZXhwZWN0cyBhIDAgb24gc3VjY2Vzcy4gUmV0dXJuaW5nIGEgcG9zaXRpdmUgYnl0ZSBjb3VudCBmcm9tIGEgc3VjY2Vzc2Z1bCBNQUMgYWRkcmVzcyBzZXQgd291bGQgZGVmaW5pdGVseSB0cmlwIHVwIHRoZSBjYWxsZXIsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gaW5jb3JyZWN0IGJlaGF2aW9yIGRvd24gdGhlIGxpbmUsIG1heWJlIGV2ZW4gaW4gc29tZXRoaW5nIGxpa2UgYGRldl9zZXRfbWFjX2FkZHJlc3NgLlxuXG5JIHNob3VsZCBwcm9iYWJseSBjb25maXJtIGJ5IGxvb2tpbmcgZGlyZWN0bHkgYXQgYGFxYzExMV9zZXRfbWFjX2FkZHJgIHdpdGhpbiBgZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jYCB0byBiZSBjb21wbGV0ZWx5IHN1cmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjk1NzQsIk91dHB1dFRva2VucyI6NDQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNTYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDNUMDg6NTc6MzIuOTU4NDc1NjgxWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY2MDMwMDU1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImFxYzExMV9zZXRfbWFjX2FkZHJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00MjI9c3RhdGljIGludCBhcWMxMTFfY2hhbmdlX210dShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCBpbnQgbmV3X210dSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NjMtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ2NDpzdGF0aWMgaW50IGFxYzExMV9zZXRfbWFjX2FkZHIoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgdm9pZCAqcClcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDY1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz02NDQ9c3RhdGljIGNvbnN0IHN0cnVjdCBuZXRfZGV2aWNlX29wcyBhcWMxMTFfbmV0ZGV2X29wcyA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NTAtXFx0Lm5kb19jaGFuZ2VfbXR1XFx0XFx0PSBhcWMxMTFfY2hhbmdlX210dSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjUxOlxcdC5uZG9fc2V0X21hY19hZGRyZXNzXFx0PSBhcWMxMTFfc2V0X21hY19hZGRyLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NTItXFx0Lm5kb192YWxpZGF0ZV9hZGRyXFx0PSBldGhfdmFsaWRhdGVfYWRkcixcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDNUMDg6NTc6MzMuMDI0NTEyNjA2WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6ODE0NjA5MTAxMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIGBuZG9fc2V0X21hY19hZGRyZXNzYCBBc3NpZ25tZW50KipcblxuT2theSwgc28gSSBzZWUgdGhpcyB0YXNrIGlzIGZvY3VzZWQgb24gYC5uZG9fc2V0X21hY19hZGRyZXNzYC4gUmlnaHQsIGEgcHJldHR5IHN0YW5kYXJkIG5ldHdvcmsgZHJpdmVyIGZ1bmN0aW9uLiBUaGlzIGxvb2tzIGxpa2UgYSBmdW5jdGlvbmFsIGNoYW5nZSwgbm90IGp1c3QgYSBidWcgZml4LCBtZWFuaW5nIGl0J3Mgd29ydGggYSBjbG9zZXIgbG9vayBmb3IgaW50ZXJlc3RpbmcgYmVoYXZpb3IuIFRoZSBjcnVjaWFsIHF1ZXN0aW9uIGlzLCBjYW4gd2UgYWN0dWFsbHkgcmVhY2ggdGhpcyBmdW5jdGlvbj8gSG1tLCBpdCdzIGNvbm5lY3RlZCB0byBhIFVTQiBuZXR3b3JrIGRyaXZlci4gVGhhdCdzIGdvb2QgbmV3czsgVVNCIGlzIG9mdGVuIGFjY2Vzc2libGUgdGhyb3VnaCBlbXVsYXRpb24sIHNwZWNpZmljYWxseSBzb21ldGhpbmcgbGlrZSBhIGBkdW1teV9oY2RgIHNldHVwLiBXZSBjYW4gZnV6eiBpdCEgTm93LCB3aGF0IGNvbmZpZ3MgZG8gd2UgbmVlZCB0byB0cmlnZ2VyIHRoZSB0YXJnZXQ/IExldCBtZSBjaGVjayB0aGUgS2NvbmZpZyBmb3IgdGhlIGBhcWMxMTFgIGRyaXZlciwgdGhhdCBzaG91bGQgZ2l2ZSB1cyBzb21lIGNsdWVzIGFib3V0IGRlcGVuZGVuY2llcyBhbmQgYnVpbGQgb3B0aW9ucy5cblxuXG4iLCJJbnB1dFRva2VucyI6MTA1MjQsIk91dHB1dFRva2VucyI6MzMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1Nzo0MS4xNzA2MDU4MzZaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjQyMjA5NDUsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImFxYzExMVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC91c2IvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDNUMDg6NTc6NDEuMjM0ODM0OTYxWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzY3NTIwNjQ1NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHVuZGVyc3RhbmRpbmcsIGZvcm1hdHRlZCBhcyByZXF1ZXN0ZWQ6XG5cbioqSW52ZXN0aWdhdGluZyB0aGUgQVFDMTExIERyaXZlciBCdWlsZCBDb25maWd1cmF0aW9uKipcblxuUmlnaHQsIHNvIEkgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0aGUgYGFxYzExMS5vYCBkcml2ZXIgaXMgaGFuZGxlZCBpbiB0aGUgYnVpbGQgcHJvY2Vzcy4gTXkgZmlyc3QgaW5zdGluY3QsIGdpdmVuIG15IGV4cGVyaWVuY2UsIGlzIHRvIGp1bXAgc3RyYWlnaHQgaW50byB0aGUgbGlrZWx5IGNvbmZpZ3VyYXRpb24gZmlsZXMgd2l0aGluIHRoZSBrZXJuZWwgc291cmNlLiBJJ20gdGhpbmtpbmcsIG1vc3QgbGlrZWx5LCB0aGUgTWFrZWZpbGUgd2lsbCBkZWZpbmUgdGhlIGJ1aWxkIHJ1bGVzIGFuZCBkZXBlbmRlbmNpZXMsIGFuZCB0aGUgS2NvbmZpZyBmaWxlIHdpbGwgY29udHJvbCB0aGUgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9mIHRoZSBkcml2ZXIgdGhyb3VnaCBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBUaGVyZWZvcmUsIEkgd2lsbCBiZWdpbiBieSBleGFtaW5pbmcgdGhlIGBkcml2ZXJzL25ldC91c2IvTWFrZWZpbGVgIGFuZCBgZHJpdmVycy9uZXQvdXNiL0tjb25maWdgIGZpbGVzLiBUaGF0IHNob3VsZCBnaXZlIG1lIGEgZ29vZCBoYW5kbGUgb24gaG93IHRoZSBBUUMxMTEgZHJpdmVyIGlzIGludGVncmF0ZWQgaW50byB0aGUgYnVpbGQgc3lzdGVtLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMDgxMiwiT3V0cHV0VG9rZW5zIjozMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU3OjQ0LjkxMDA0NDcwN1oiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTg1MTcwMDYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYXFjMTExXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3VzYi9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA4OTUgbGluZXMuXFxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxcblxcbmRyaXZlcnMvbmV0L3VzYi9NYWtlZmlsZT00Mj1vYmotJChDT05GSUdfVVNCX05FVF9DSDkyMDApXFx0Kz0gY2g5MjAwLm9cXG5kcml2ZXJzL25ldC91c2IvTWFrZWZpbGU6NDM6b2JqLSQoQ09ORklHX1VTQl9ORVRfQVFDMTExKVxcdCs9IGFxYzExMS5vXFxuZHJpdmVycy9uZXQvdXNiL01ha2VmaWxlLTQ0LW9iai0kKENPTkZJR19VU0JfUlRMODE1M19FQ00pXFx0Kz0gcjgxNTNfZWNtLm9cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjE6I2luY2x1ZGUgXFxcImFxYzExMS5oXFxcIlxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjM6c3RhdGljIGludCBhcWMxMTFfcmVhZF9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNC1cXHRcXHRcXHRcXHR1MTYgaW5kZXgsIHUxNiBzaXplLCB2b2lkICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQxLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MjpzdGF0aWMgaW50IGFxYzExMV9yZWFkX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00My1cXHRcXHRcXHQgICB1MTYgaW5kZXgsIHUxNiBzaXplLCB2b2lkICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MTpzdGF0aWMgaW50IGFxYzExMV9yZWFkMTZfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjItXFx0XFx0XFx0XFx0ICB1MTYgaW5kZXgsIHUxNiAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjY6XFx0cmV0ID0gYXFjMTExX3JlYWRfY21kX25vcG0oZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKCpkYXRhKSwgZGF0YSk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY3LVxcdGxlMTZfdG9fY3B1cyhkYXRhKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzI6c3RhdGljIGludCBhcWMxMTFfcmVhZDE2X2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03My1cXHRcXHRcXHQgICAgIHUxNiBpbmRleCwgdTE2ICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc2LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NzpcXHRyZXQgPSBhcWMxMTFfcmVhZF9jbWQoZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKCpkYXRhKSwgZGF0YSk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc4LVxcdGxlMTZfdG9fY3B1cyhkYXRhKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04Mi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODM6c3RhdGljIGludCBfX2FxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHU4IHJlcXR5cGUsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0LVxcdFxcdFxcdCAgICAgIHUxNiB2YWx1ZSwgdTE2IGluZGV4LCB1MTYgc2l6ZSwgY29uc3Qgdm9pZCAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTMtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjExNDpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTUtXFx0XFx0XFx0XFx0IHUxNiBpbmRleCwgdTE2IHNpemUsIHZvaWQgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTE4LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMTk6XFx0cmV0ID0gX19hcWMxMTFfd3JpdGVfY21kKGRldiwgY21kLCBVU0JfRElSX09VVCB8IFVTQl9UWVBFX1ZFTkRPUiB8XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEyMC1cXHRcXHRcXHRcXHQgVVNCX1JFQ0lQX0RFVklDRSwgdmFsdWUsIGluZGV4LCBzaXplLCBkYXRhKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMjQtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEyNTpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTI2LVxcdFxcdFxcdCAgICB1MTYgaW5kZXgsIHUxNiBzaXplLCBjb25zdCB2b2lkICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzMi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTMzOlxcdHJldCA9IF9fYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgVVNCX0RJUl9PVVQgfCBVU0JfVFlQRV9WRU5ET1IgfFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzQtXFx0XFx0XFx0XFx0IFVTQl9SRUNJUF9ERVZJQ0UsIHZhbHVlLCBpbmRleCwgc2l6ZSwgZGF0YSk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQwLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDE6c3RhdGljIGludCBhcWMxMTFfd3JpdGUxNl9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDItXFx0XFx0XFx0XFx0ICAgdTE2IGluZGV4LCB1MTYgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQ3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDg6XFx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0OS19XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1MC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTUxOnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlMTZfY21kKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1Mi1cXHRcXHRcXHQgICAgICB1MTYgaW5kZXgsIHUxNiAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNTctXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE1ODpcXHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1OS19XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2MC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTYxOnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlMzJfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTYyLVxcdFxcdFxcdFxcdCAgIHUxNiBpbmRleCwgdTMyICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2Ny1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTY4OlxcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kX25vcG0oZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKHRtcCksIFxcdTAwMjZ0bXApO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNjktfVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNzAtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE3MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTMyX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNzItXFx0XFx0XFx0ICAgICAgdTE2IGluZGV4LCB1MzIgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTc3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNzg6XFx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWQoZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKHRtcCksIFxcdTAwMjZ0bXApO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNzktfVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xODAtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE4MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWRfYXN5bmMoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTgyLVxcdFxcdFxcdFxcdCAgdTE2IGluZGV4LCB1MTYgc2l6ZSwgdm9pZCAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xODgtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE4OTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTE2X2NtZF9hc3luYyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xOTAtXFx0XFx0XFx0XFx0ICAgIHUxNiBpbmRleCwgdTE2ICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5NS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTk2OlxcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kX2FzeW5jKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5Ny1cXHRcXHRcXHRcXHQgICAgICBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTk5LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMDA6c3RhdGljIHZvaWQgYXFjMTExX2dldF9kcnZpbmZvKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIwMS1cXHRcXHRcXHQgICAgICAgc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyAqaW5mbylcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMDMtXFx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjA0OlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMDUtXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjA4LVxcdHNucHJpbnRmKGluZm8tXFx1MDAzZWZ3X3ZlcnNpb24sIHNpemVvZihpbmZvLVxcdTAwM2Vmd192ZXJzaW9uKSwgXFxcIiV1LiV1LiV1XFxcIixcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjA5OlxcdFxcdCBhcWMxMTFfZGF0YS1cXHUwMDNlZndfdmVyLm1ham9yLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMTA6XFx0XFx0IGFxYzExMV9kYXRhLVxcdTAwM2Vmd192ZXIubWlub3IsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIxMTpcXHRcXHQgYXFjMTExX2RhdGEtXFx1MDAzZWZ3X3Zlci5yZXYpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTItfVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTMtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIxNDpzdGF0aWMgdm9pZCBhcWMxMTFfZ2V0X3dvbChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTUtXFx0XFx0XFx0ICAgc3RydWN0IGV0aHRvb2xfd29saW5mbyAqd29saW5mbylcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTctXFx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjE4OlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTktXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjIyLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMjM6XFx0aWYgKGFxYzExMV9kYXRhLVxcdTAwM2V3b2xfZmxhZ3MgXFx1MDAyNiBBUV9XT0xfRkxBR19NUClcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjI0LVxcdFxcdHdvbGluZm8tXFx1MDAzZXdvbG9wdHMgfD0gV0FLRV9NQUdJQztcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMjYtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIyNzpzdGF0aWMgaW50IGFxYzExMV9zZXRfd29sKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIyOC1cXHRcXHRcXHQgIHN0cnVjdCBldGh0b29sX3dvbGluZm8gKndvbGluZm8pXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjMwLVxcdHN0cnVjdCB1c2JuZXQgKmRldiA9IG5ldGRldl9wcml2KG5ldCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIzMTpcXHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVxcdTAwM2Vkcml2ZXJfcHJpdjtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjMyLVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIzNS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjM2OlxcdGFxYzExMV9kYXRhLVxcdTAwM2V3b2xfZmxhZ3MgPSAwO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMzctXFx0aWYgKHdvbGluZm8tXFx1MDAzZXdvbG9wdHMgXFx1MDAyNiBXQUtFX01BR0lDKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMzg6XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXdvbF9mbGFncyB8PSBBUV9XT0xfRkxBR19NUDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjM5LVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTI0Mi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjQzOnN0YXRpYyB2b2lkIGFxYzExMV9zcGVlZF90b19saW5rX21vZGUodTMyIHNwZWVkLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNDQtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGV0aHRvb2xfbGlua19rc2V0dGluZ3MgKmVsaylcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNjUtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjI2NjpzdGF0aWMgaW50IGFxYzExMV9nZXRfbGlua19rc2V0dGluZ3Moc3RydWN0IG5ldF9kZXZpY2UgKm5ldCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjY3LVxcdFxcdFxcdFxcdCAgICAgc3RydWN0IGV0aHRvb2xfbGlua19rc2V0dGluZ3MgKmVsaylcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNjktXFx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjcwOlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNzEtXFx0ZW51bSB1c2JfZGV2aWNlX3NwZWVkIHVzYl9zcGVlZCA9IGRldi1cXHUwMDNldWRldi1cXHUwMDNlc3BlZWQ7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjkyLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyOTM6XFx0aWYgKGFxYzExMV9kYXRhLVxcdTAwM2VhdXRvbmVnKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yOTQtXFx0XFx0bGlua21vZGVfY29weShlbGstXFx1MDAzZWxpbmtfbW9kZXMuYWR2ZXJ0aXNpbmcsXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjk2LVxcdGVsc2VcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Mjk3OlxcdFxcdGFxYzExMV9zcGVlZF90b19saW5rX21vZGUoYXFjMTExX2RhdGEtXFx1MDAzZWFkdmVydGlzZWRfc3BlZWQsIGVsayk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTI5OC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Mjk5OlxcdGVsay1cXHUwMDNlYmFzZS5hdXRvbmVnID0gYXFjMTExX2RhdGEtXFx1MDAzZWF1dG9uZWc7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTMwMC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzAxOlxcdHN3aXRjaCAoYXFjMTExX2RhdGEtXFx1MDAzZWxpbmtfc3BlZWQpIHtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzAyLVxcdGNhc2UgQVFfSU5UX1NQRUVEXzVHOlxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTMyMC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzIxOnN0YXRpYyB2b2lkIGFxYzExMV9zZXRfcGh5X3NwZWVkKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggYXV0b25lZywgdTE2IHNwZWVkKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMjIte1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMjM6XFx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi1cXHUwMDNlZHJpdmVyX3ByaXY7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTMyNC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI1OlxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIFxcdTAwMjY9IH5BUV9BRFZfTUFTSztcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI2OlxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX1BBVVNFO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMjc6XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfQVNZTV9QQVVTRTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI4OlxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX0RPV05TSElGVDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI5OlxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIFxcdTAwMjY9IH5BUV9EU0hfUkVUUklFU19NQVNLO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMzA6XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gKDMgXFx1MDAzY1xcdTAwM2MgQVFfRFNIX1JFVFJJRVNfU0hJRlQpIFxcdTAwMjZcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzMxLVxcdFxcdFxcdFxcdEFRX0RTSF9SRVRSSUVTX01BU0s7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzM1LVxcdFxcdGNhc2UgU1BFRURfNTAwMDpcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzM2OlxcdFxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl81RztcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzM3LVxcdFxcdFxcdGZhbGx0aHJvdWdoO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMzgtXFx0XFx0Y2FzZSBTUEVFRF8yNTAwOlxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMzk6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzJHNTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzQwLVxcdFxcdFxcdGZhbGx0aHJvdWdoO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNDEtXFx0XFx0Y2FzZSBTUEVFRF8xMDAwOlxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNDI6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzFHO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNDMtXFx0XFx0XFx0ZmFsbHRocm91Z2g7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM0NC1cXHRcXHRjYXNlIFNQRUVEXzEwMDpcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzQ1OlxcdFxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl8xMDBNO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNDYtXFx0XFx0XFx0LyogZmFsbC10aHJvdWdoICovXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzUwLVxcdFxcdGNhc2UgU1BFRURfNTAwMDpcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzUxOlxcdFxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl81RztcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzUyLVxcdFxcdFxcdGJyZWFrO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTMtXFx0XFx0Y2FzZSBTUEVFRF8yNTAwOlxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNTQ6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzJHNTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzU1LVxcdFxcdFxcdGJyZWFrO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTYtXFx0XFx0Y2FzZSBTUEVFRF8xMDAwOlxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNTc6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzFHO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTgtXFx0XFx0XFx0YnJlYWs7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM1OS1cXHRcXHRjYXNlIFNQRUVEXzEwMDpcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzYwOlxcdFxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl8xMDBNO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNjEtXFx0XFx0XFx0YnJlYWs7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzY0LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNjU6XFx0YXFjMTExX3dyaXRlMzJfY21kKGRldiwgQVFfUEhZX09QUywgMCwgMCwgXFx1MDAyNmFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzY2LX1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzY3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNjg6c3RhdGljIGludCBhcWMxMTFfc2V0X2xpbmtfa3NldHRpbmdzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM2OS1cXHRcXHRcXHRcXHQgICAgIGNvbnN0IHN0cnVjdCBldGh0b29sX2xpbmtfa3NldHRpbmdzICplbGspXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzcxLVxcdHN0cnVjdCB1c2JuZXQgKmRldiA9IG5ldGRldl9wcml2KG5ldCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM3MjpcXHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVxcdTAwM2Vkcml2ZXJfcHJpdjtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzczLVxcdGVudW0gdXNiX2RldmljZV9zcGVlZCB1c2Jfc3BlZWQgPSBkZXYtXFx1MDAzZXVkZXYtXFx1MDAzZXNwZWVkO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM3Ny1cXHRpZiAoYXV0b25lZyA9PSBBVVRPTkVHX0VOQUJMRSkge1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNzg6XFx0XFx0aWYgKGFxYzExMV9kYXRhLVxcdTAwM2VhdXRvbmVnICE9IEFVVE9ORUdfRU5BQkxFKSB7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM3OTpcXHRcXHRcXHRhcWMxMTFfZGF0YS1cXHUwMDNlYXV0b25lZyA9IEFVVE9ORUdfRU5BQkxFO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozODA6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZWFkdmVydGlzZWRfc3BlZWQgPVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zODEtXFx0XFx0XFx0XFx0XFx0KHVzYl9zcGVlZCA9PSBVU0JfU1BFRURfU1VQRVIpID9cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzgyLVxcdFxcdFxcdFxcdFxcdCBTUEVFRF81MDAwIDogU1BFRURfMTAwMDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzgzOlxcdFxcdFxcdGFxYzExMV9zZXRfcGh5X3NwZWVkKGRldiwgYXFjMTExX2RhdGEtXFx1MDAzZWF1dG9uZWcsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM4NDpcXHRcXHRcXHRcXHRcXHQgICAgIGFxYzExMV9kYXRhLVxcdTAwM2VhZHZlcnRpc2VkX3NwZWVkKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzg1LVxcdFxcdH1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zOTktXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQwMDpcXHRcXHRhcWMxMTFfZGF0YS1cXHUwMDNlYXV0b25lZyA9IEFVVE9ORUdfRElTQUJMRTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDAxLVxcdFxcdGlmIChzcGVlZCAhPSBTUEVFRF9VTktOT1dOKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MDI6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZWFkdmVydGlzZWRfc3BlZWQgPSBzcGVlZDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDAzLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MDQ6XFx0XFx0YXFjMTExX3NldF9waHlfc3BlZWQoZGV2LCBhcWMxMTFfZGF0YS1cXHUwMDNlYXV0b25lZyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDA1OlxcdFxcdFxcdFxcdCAgICAgYXFjMTExX2RhdGEtXFx1MDAzZWFkdmVydGlzZWRfc3BlZWQpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MDYtXFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQxMC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDExOnN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9vcHMgYXFjMTExX2V0aHRvb2xfb3BzID0ge1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MTI6XFx0LmdldF9kcnZpbmZvID0gYXFjMTExX2dldF9kcnZpbmZvLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MTM6XFx0LmdldF93b2wgPSBhcWMxMTFfZ2V0X3dvbCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDE0OlxcdC5zZXRfd29sID0gYXFjMTExX3NldF93b2wsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQxNS1cXHQuZ2V0X21zZ2xldmVsID0gdXNibmV0X2dldF9tc2dsZXZlbCxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MTctXFx0LmdldF9saW5rID0gZXRodG9vbF9vcF9nZXRfbGluayxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDE4OlxcdC5nZXRfbGlua19rc2V0dGluZ3MgPSBhcWMxMTFfZ2V0X2xpbmtfa3NldHRpbmdzLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MTk6XFx0LnNldF9saW5rX2tzZXR0aW5ncyA9IGFxYzExMV9zZXRfbGlua19rc2V0dGluZ3NcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDIwLX07XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQyMS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDIyOnN0YXRpYyBpbnQgYXFjMTExX2NoYW5nZV9tdHUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgaW50IG5ld19tdHUpXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQyMy17XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDMwLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MzE6XFx0YXFjMTExX3JlYWQxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTUVESVVNX1NUQVRVU19NT0RFLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MzItXFx0XFx0XFx0ICAyLCBcXHUwMDI2cmVnMTYpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQzNy1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDM4OlxcdGFxYzExMV93cml0ZTE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9NRURJVU1fU1RBVFVTX01PREUsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQzOS1cXHRcXHRcXHQgICAyLCBcXHUwMDI2cmVnMTYpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ0My1cXHRcXHQvKiBSWCBidWxrIGNvbmZpZ3VyYXRpb24gKi9cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDQ0OlxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhfQlVMS0lOX1FDVFJMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NDUtXFx0XFx0XFx0XFx0IDUsIDUsIGJ1Zik7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDU3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0NTg6XFx0YXFjMTExX3dyaXRlMTZfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1BBVVNFX1dBVEVSTFZMX0xPVyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDU5LVxcdFxcdFxcdCAgIDIsIFxcdTAwMjZyZWcxNik7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDYzLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0NjQ6c3RhdGljIGludCBhcWMxMTFfc2V0X21hY19hZGRyKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIHZvaWQgKnApXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ2NS17XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDczLVxcdC8qIFNldCB0aGUgTUFDIGFkZHJlc3MgKi9cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDc0OlxcdHJldCA9IGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ3NS1cXHRcXHRcXHQgICAgICAgIEVUSF9BTEVOLCBuZXQtXFx1MDAzZWRldl9hZGRyKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00ODEtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ4MjpzdGF0aWMgaW50IGFxYzExMV92bGFuX3J4X2tpbGxfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ4My1cXHRcXHRcXHRcXHQgICBfX2JlMTYgcHJvdG8sIHUxNiB2aWQpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDg5LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0OTA6XFx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTEtXFx0dmxhbl9jdHJsID0gcmVnODtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTQtXFx0cmVnOCA9ICh2aWQgLyAxNik7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ5NTpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQUREUkVTUywgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTYtXFx0LyogRGF0YSAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTctXFx0cmVnOCA9IHZsYW5fY3RybCB8IFNGUl9WTEFOX0NPTlRST0xfUkQ7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ5ODpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0OTk6XFx0YXFjMTExX3JlYWQxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXFx1MDAyNnJlZzE2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTAwLVxcdHJlZzE2IFxcdTAwMjY9IH4oMSBcXHUwMDNjXFx1MDAzYyAodmlkICUgMTYpKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTAxOlxcdGFxYzExMV93cml0ZTE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0RBVEEwLCAyLCBcXHUwMDI2cmVnMTYpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MDItXFx0cmVnOCA9IHZsYW5fY3RybCB8IFNGUl9WTEFOX0NPTlRST0xfV0U7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUwMzpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MDQtXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTA3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MDg6c3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9hZGRfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIF9fYmUxNiBwcm90bywgdTE2IHZpZClcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTA5LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MTQtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUxNTpcXHRhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUxNi1cXHR2bGFuX2N0cmwgPSByZWc4O1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUxOS1cXHRyZWc4ID0gKHZpZCAvIDE2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTIwOlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9BRERSRVNTLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyMS1cXHQvKiBEYXRhICovXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyMi1cXHRyZWc4ID0gdmxhbl9jdHJsIHwgU0ZSX1ZMQU5fQ09OVFJPTF9SRDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTIzOlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyNDpcXHRhcWMxMTFfcmVhZDE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0RBVEEwLCAyLCBcXHUwMDI2cmVnMTYpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjUtXFx0cmVnMTYgfD0gKDEgXFx1MDAzY1xcdTAwM2MgKHZpZCAlIDE2KSk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyNjpcXHRhcWMxMTFfd3JpdGUxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXFx1MDAyNnJlZzE2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTI3LVxcdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1dFO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1Mjg6XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0NPTlRST0wsIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTI5LVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUzMi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTMzOnN0YXRpYyB2b2lkIGFxYzExMV9zZXRfcnhfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0KVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MzQte1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MzUtXFx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTM2OlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MzctXFx0aW50IG1jX2NvdW50ID0gMDtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NDAtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU0MTpcXHRhcWMxMTFfZGF0YS1cXHUwMDNlcnhjdGwgXFx1MDAyNj0gfihTRlJfUlhfQ1RMX1BSTyB8IFNGUl9SWF9DVExfQU1BTEwgfFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NDItXFx0XFx0XFx0XFx0U0ZSX1JYX0NUTF9BTSk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQ0LVxcdGlmIChuZXQtXFx1MDAzZWZsYWdzIFxcdTAwMjYgSUZGX1BST01JU0MpIHtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTQ1OlxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VyeGN0bCB8PSBTRlJfUlhfQ1RMX1BSTztcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQ2LVxcdH0gZWxzZSBpZiAoKG5ldC1cXHUwMDNlZmxhZ3MgXFx1MDAyNiBJRkZfQUxMTVVMVEkpIHx8IG1jX2NvdW50IFxcdTAwM2UgQVFfTUFYX01DQVNUKSB7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU0NzpcXHRcXHRhcWMxMTFfZGF0YS1cXHUwMDNlcnhjdGwgfD0gU0ZSX1JYX0NUTF9BTUFMTDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQ4LVxcdH0gZWxzZSBpZiAoIW5ldGRldl9tY19lbXB0eShuZXQpKSB7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTU3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1NTg6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9hc3luYyhkZXYsIEFRX0FDQ0VTU19NQUMsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU1OS1cXHRcXHRcXHRcXHQgICAgICAgU0ZSX01VTFRJX0ZJTFRFUl9BUlJZLFxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU2Mi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTYzOlxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VyeGN0bCB8PSBTRlJfUlhfQ1RMX0FNO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjQtXFx0fVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjUtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU2NjpcXHRhcWMxMTFfd3JpdGUxNl9jbWRfYXN5bmMoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhfQ1RMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1Njc6XFx0XFx0XFx0XFx0IDIsIFxcdTAwMjZhcWMxMTFfZGF0YS1cXHUwMDNlcnhjdGwpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjgtfVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjktXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU3MDpzdGF0aWMgaW50IGFxYzExMV9zZXRfZmVhdHVyZXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTcxLVxcdFxcdFxcdCAgICAgICBuZXRkZXZfZmVhdHVyZXNfdCBmZWF0dXJlcylcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NzMtXFx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTc0OlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NzUtXFx0bmV0ZGV2X2ZlYXR1cmVzX3QgY2hhbmdlZCA9IG5ldC1cXHUwMDNlZmVhdHVyZXMgXiBmZWF0dXJlcztcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NzktXFx0aWYgKGNoYW5nZWQgXFx1MDAyNiBORVRJRl9GX0lQX0NTVU0pIHtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTgwOlxcdFxcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgxLVxcdFxcdHJlZzggXj0gU0ZSX1RYQ09FX1RDUCB8IFNGUl9UWENPRV9VRFA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU4MjpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgzLVxcdFxcdFxcdFxcdCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTg2LVxcdGlmIChjaGFuZ2VkIFxcdTAwMjYgTkVUSUZfRl9JUFY2X0NTVU0pIHtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTg3OlxcdFxcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTg4LVxcdFxcdHJlZzggXj0gU0ZSX1RYQ09FX1RDUFY2IHwgU0ZSX1RYQ09FX1VEUFY2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1ODk6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU5MC1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU5My1cXHRpZiAoY2hhbmdlZCBcXHUwMDI2IE5FVElGX0ZfUlhDU1VNKSB7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU5NDpcXHRcXHRhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhDT0VfQ1RMLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU5NS1cXHRcXHRpZiAoZmVhdHVyZXMgXFx1MDAyNiBORVRJRl9GX1JYQ1NVTSkge1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1OTY6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXJ4X2NoZWNrc3VtID0gMTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTk3LVxcdFxcdFxcdHJlZzggXFx1MDAyNj0gfihTRlJfUlhDT0VfSVAgfCBTRlJfUlhDT0VfVENQIHwgU0ZSX1JYQ09FX1VEUCB8XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTk5LVxcdFxcdH0gZWxzZSB7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYwMDpcXHRcXHRcXHRhcWMxMTFfZGF0YS1cXHUwMDNlcnhfY2hlY2tzdW0gPSAwO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MDEtXFx0XFx0XFx0cmVnOCB8PSBTRlJfUlhDT0VfSVAgfCBTRlJfUlhDT0VfVENQIHwgU0ZSX1JYQ09FX1VEUCB8XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjA0LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MDU6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9SWENPRV9DVEwsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNi1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYxNC1cXHRcXHRcXHRcXHRyZWc4ID0gaTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjE1OlxcdFxcdFxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MTYtXFx0XFx0XFx0XFx0XFx0XFx0IFNGUl9WTEFOX0lEX0FERFJFU1MsXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE4LVxcdFxcdFxcdFxcdC8qIERhdGEgKi9cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjE5OlxcdFxcdFxcdFxcdGFxYzExMV93cml0ZTE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyMC1cXHRcXHRcXHRcXHRcXHRcXHQgICBTRlJfVkxBTl9JRF9EQVRBMCxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjItXFx0XFx0XFx0XFx0cmVnOCA9IFNGUl9WTEFOX0NPTlRST0xfV0U7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYyMzpcXHRcXHRcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjI0LVxcdFxcdFxcdFxcdFxcdFxcdCBTRlJfVkxBTl9JRF9DT05UUk9MLFxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyNi1cXHRcXHRcXHR9XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYyNzpcXHRcXHRcXHRhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjgtXFx0XFx0XFx0XFx0XFx0MSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjktXFx0XFx0XFx0cmVnOCB8PSBTRlJfVkxBTl9DT05UUk9MX1ZGRTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjMwOlxcdFxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzEtXFx0XFx0XFx0XFx0XFx0IFNGUl9WTEFOX0lEX0NPTlRST0wsIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjMyLVxcdFxcdH0gZWxzZSB7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYzMzpcXHRcXHRcXHRhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzQtXFx0XFx0XFx0XFx0XFx0MSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzUtXFx0XFx0XFx0cmVnOCBcXHUwMDI2PSB+U0ZSX1ZMQU5fQ09OVFJPTF9WRkU7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYzNjpcXHRcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjM3LVxcdFxcdFxcdFxcdFxcdCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjQzLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NDQ6c3RhdGljIGNvbnN0IHN0cnVjdCBuZXRfZGV2aWNlX29wcyBhcWMxMTFfbmV0ZGV2X29wcyA9IHtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjQ1LVxcdC5uZG9fb3BlblxcdFxcdD0gdXNibmV0X29wZW4sXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjQ5LVxcdC5uZG9fZ2V0X3N0YXRzNjRcXHQ9IGRldl9nZXRfdHN0YXRzNjQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1MDpcXHQubmRvX2NoYW5nZV9tdHVcXHRcXHQ9IGFxYzExMV9jaGFuZ2VfbXR1LFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NTE6XFx0Lm5kb19zZXRfbWFjX2FkZHJlc3NcXHQ9IGFxYzExMV9zZXRfbWFjX2FkZHIsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY1Mi1cXHQubmRvX3ZhbGlkYXRlX2FkZHJcXHQ9IGV0aF92YWxpZGF0ZV9hZGRyLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NTM6XFx0Lm5kb192bGFuX3J4X2FkZF92aWRcXHQ9IGFxYzExMV92bGFuX3J4X2FkZF92aWQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1NDpcXHQubmRvX3ZsYW5fcnhfa2lsbF92aWRcXHQ9IGFxYzExMV92bGFuX3J4X2tpbGxfdmlkLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NTU6XFx0Lm5kb19zZXRfcnhfbW9kZVxcdD0gYXFjMTExX3NldF9yeF9tb2RlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NTY6XFx0Lm5kb19zZXRfZmVhdHVyZXNcXHQ9IGFxYzExMV9zZXRfZmVhdHVyZXMsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY1Ny19O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NTgtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1OTpzdGF0aWMgaW50IGFxYzExMV9yZWFkX3Blcm1fbWFjKHN0cnVjdCB1c2JuZXQgKmRldilcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjYwLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NjMtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY2NDpcXHRyZXQgPSBhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9GTEFTSF9QQVJBTUVURVJTLCAwLCAwLCBFVEhfQUxFTiwgYnVmKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjY1LVxcdGlmIChyZXQgXFx1MDAzYyAwKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY3NC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Njc1OnN0YXRpYyB2b2lkIGFxYzExMV9yZWFkX2Z3X3ZlcnNpb24oc3RydWN0IHVzYm5ldCAqZGV2LFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NzY6XFx0XFx0XFx0XFx0ICAgc3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSlcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjc3LXtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Njc4OlxcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIEFRX0ZXX1ZFUl9NQUpPUixcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Njc5OlxcdFxcdFxcdDEsIDEsIFxcdTAwMjZhcWMxMTFfZGF0YS1cXHUwMDNlZndfdmVyLm1ham9yKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjgwOlxcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIEFRX0ZXX1ZFUl9NSU5PUixcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjgxOlxcdFxcdFxcdDEsIDEsIFxcdTAwMjZhcWMxMTFfZGF0YS1cXHUwMDNlZndfdmVyLm1pbm9yKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjgyOlxcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIEFRX0ZXX1ZFUl9SRVYsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4MzpcXHRcXHRcXHQxLCAxLCBcXHUwMDI2YXFjMTExX2RhdGEtXFx1MDAzZWZ3X3Zlci5yZXYpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02ODQtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4NTpcXHRpZiAoYXFjMTExX2RhdGEtXFx1MDAzZWZ3X3Zlci5tYWpvciBcXHUwMDI2IDB4ODApXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4NjpcXHRcXHRhcWMxMTFfZGF0YS1cXHUwMDNlZndfdmVyLm1ham9yIFxcdTAwMjY9IH4weDgwO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02ODctfVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02ODgtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4OTpzdGF0aWMgaW50IGFxYzExMV9iaW5kKHN0cnVjdCB1c2JuZXQgKmRldiwgc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY5MC17XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjkyLVxcdGVudW0gdXNiX2RldmljZV9zcGVlZCB1c2Jfc3BlZWQgPSB1ZGV2LVxcdTAwM2VzcGVlZDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjkzOlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGE7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY5NC1cXHRpbnQgcmV0O1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTcwOS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzEwOlxcdGFxYzExMV9kYXRhID0ga3phbGxvY19vYmooKmFxYzExMV9kYXRhKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzExOlxcdGlmICghYXFjMTExX2RhdGEpXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTcxMi1cXHRcXHRyZXR1cm4gLUVOT01FTTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzEzLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3MTQ6XFx0Lyogc3RvcmUgYXFjMTExX2RhdGEgcG9pbnRlciBpbiBkZXZpY2UgZGF0YSBmaWVsZCAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3MTU6XFx0ZGV2LVxcdTAwM2Vkcml2ZXJfcHJpdiA9IGFxYzExMV9kYXRhO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MTYtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTcxNy1cXHQvKiBJbml0IHRoZSBNQUMgYWRkcmVzcyAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3MTg6XFx0cmV0ID0gYXFjMTExX3JlYWRfcGVybV9tYWMoZGV2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzE5LVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzMyLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3MzM6XFx0ZGV2LVxcdTAwM2VuZXQtXFx1MDAzZW5ldGRldl9vcHMgPSBcXHUwMDI2YXFjMTExX25ldGRldl9vcHM7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjczNDpcXHRkZXYtXFx1MDAzZW5ldC1cXHUwMDNlZXRodG9vbF9vcHMgPSBcXHUwMDI2YXFjMTExX2V0aHRvb2xfb3BzO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MzUtXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzQ0LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NDU6XFx0YXFjMTExX3JlYWRfZndfdmVyc2lvbihkZXYsIGFxYzExMV9kYXRhKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzQ2OlxcdGFxYzExMV9kYXRhLVxcdTAwM2VhdXRvbmVnID0gQVVUT05FR19FTkFCTEU7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc0NzpcXHRhcWMxMTFfZGF0YS1cXHUwMDNlYWR2ZXJ0aXNlZF9zcGVlZCA9ICh1c2Jfc3BlZWQgPT0gVVNCX1NQRUVEX1NVUEVSKSA/XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc0OC1cXHRcXHRcXHRcXHRcXHQgU1BFRURfNTAwMCA6IFNQRUVEXzEwMDA7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzUyLW91dDpcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzUzOlxcdGtmcmVlKGFxYzExMV9kYXRhKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzU0LVxcdHJldHVybiByZXQ7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzU2LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NTc6c3RhdGljIHZvaWQgYXFjMTExX3VuYmluZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NTgte1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NTk6XFx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi1cXHUwMDNlZHJpdmVyX3ByaXY7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc2MC1cXHR1MTYgcmVnMTY7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzYzLVxcdHJlZzE2ID0gU0ZSX1BIWVBXUl9SU1RDVExfQlo7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc2NDpcXHRhcWMxMTFfd3JpdGUxNl9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9QSFlQV1JfUlNUQ1RMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NjUtXFx0XFx0XFx0XFx0MiwgXFx1MDAyNnJlZzE2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzY2LVxcdHJlZzE2ID0gMDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzY3OlxcdGFxYzExMV93cml0ZTE2X2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1BIWVBXUl9SU1RDVEwsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc2OC1cXHRcXHRcXHRcXHQyLCBcXHUwMDI2cmVnMTYpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc3MC1cXHQvKiBQb3dlciBkb3duIGV0aGVybmV0IFBIWSAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NzE6XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgXFx1MDAyNj0gfkFRX0FEVl9NQVNLO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NzI6XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfTE9XX1BPV0VSO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NzM6XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgXFx1MDAyNj0gfkFRX1BIWV9QT1dFUl9FTjtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Nzc0OlxcdGFxYzExMV93cml0ZTMyX2NtZF9ub3BtKGRldiwgQVFfUEhZX09QUywgMCwgMCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Nzc1OlxcdFxcdFxcdFxcdFxcdTAwMjZhcWMxMTFfZGF0YS1cXHUwMDNlcGh5X2NmZyk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc3Ni1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Nzc3OlxcdGtmcmVlKGFxYzExMV9kYXRhKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzc4LX1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzc5LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3ODA6c3RhdGljIHZvaWQgYXFjMTExX3N0YXR1cyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1cmIgKnVyYilcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzgxLXtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzgyOlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03ODMtXFx0dTY0ICpldmVudF9kYXRhID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03OTYtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc5NzpcXHRhcWMxMTFfZGF0YS1cXHUwMDNlbGlua19zcGVlZCA9ICgqZXZlbnRfZGF0YSBcXHUwMDI2IEFRX1NQRUVEX01BU0spIFxcdTAwM2VcXHUwMDNlXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc5OC1cXHRcXHRcXHRcXHQgIEFRX1NQRUVEX1NISUZUO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3OTk6XFx0YXFjMTExX2RhdGEtXFx1MDAzZWxpbmsgPSBsaW5rO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04MDAtXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODA0LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4MDU6c3RhdGljIHZvaWQgYXFjMTExX2NvbmZpZ3VyZV9yeChzdHJ1Y3QgdXNibmV0ICpkZXYsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjgwNjpcXHRcXHRcXHRcXHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04MDcte1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTgxNy1cXHRidWZbMl0gPSAweDA3O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4MTg6XFx0c3dpdGNoIChhcWMxMTFfZGF0YS1cXHUwMDNlbGlua19zcGVlZCkge1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04MTktXFx0Y2FzZSBBUV9JTlRfU1BFRURfNUc6XFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU3OjQ0Ljk2ODU2OTY2M1oiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NDEyNzUxNDcyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIGFzc3VtaW5nIEknbSBkZWVwIGluIHRoZSB3ZWVkcyB3aXRoIG5ldHdvcmsgZHJpdmVyIGNvbmZpZ3VyYXRpb246XG5cbioqTmF2aWdhdGluZyB0aGUgS2NvbmZpZyBNYXplOiBBVVNCX05FVF9BUUMxMTEgQW5hbHlzaXMqKlxuXG5SaWdodCwgc28gdGhlIHN5c3RlbSBpcyB0ZWxsaW5nIG1lIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyBgQ09ORklHX1VTQl9ORVRfQVFDMTExYC4gTXkgYnJhaW4gaW1tZWRpYXRlbHkgY2xpY2tzIG92ZXIgdG8gdGhlIEtjb25maWcgZmlsZXMuIFRoaXMgaW1wbGllcyB3ZSdyZSBkZWFsaW5nIHdpdGggYSBVU0IgbmV0d29yayBhZGFwdGVyLCBzcGVjaWZpY2FsbHkgb25lIGxldmVyYWdpbmcgdGhlIEFRQzExMSBjaGlwc2V0LlxuXG5NeSBuZXh0IG1vdmUgaXMgYXV0b21hdGljIOKAkyBJIG5lZWQgdG8gZGlnIGludG8gdGhlIGBkcml2ZXJzL25ldC91c2IvS2NvbmZpZ2AgZmlsZS4gVGhhdCdzIHRoZSBsb2dpY2FsIHBsYWNlIHdoZXJlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFVTQiBuZXR3b3JrIGRyaXZlcnMgYXJlIGRlZmluZWQuIEkgaGF2ZSB0byB2ZXJpZnkgdGhlIG9wdGlvbidzIHByZXNlbmNlIHRoZXJlLCBhbmQgbWF5YmUgZ2V0IGEgaGludCBvbiB3aGF0IGl0IGNvbnRyb2xzLiBJJ2xsIG5lZWQgdG8gY29uZmlybSB0aGUgc3ltYm9sIGBVU0JfTkVUX0FRQzExMWAgaXMgYWN0dWFsbHkgZGVmaW5lZCwgd2hpY2ggd291bGQgdGVsbCBtZSBpZiB0aGUgZHJpdmVyIGZvciB0aGUgQVFDMTExIGlzIGludGVuZGVkIHRvIGJlIGJ1aWx0IGFzIGEgbG9hZGFibGUgbW9kdWxlIG9yIGJ1aWx0IGludG8gdGhlIGtlcm5lbC4gSSB3aWxsIGFsc28gYmUgbG9va2luZyBmb3IgYW55IGRlcGVuZGVuY2llcyBhbmQgZGVwZW5kZW5jaWVzIG9uIG90aGVyIGtlcm5lbCBzdWJzeXN0ZW1zLiBJIG1heSBhbHNvIG5lZWQgdG8gY2hlY2sgdGhlIGRlcGVuZGVuY2llcyBvbiBvdGhlciBzeW1ib2xzIHRvIGVuc3VyZSBhbGwgcmVxdWlyZWQgY29tcG9uZW50cyBhcmUgZW5hYmxlZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjUwMjMsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo0MywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1Nzo1MC4zODEzMjI5NjRaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYxNjU1NTQ1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIlVTQl9ORVRfQVFDMTExXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnPTYxND1jb25maWcgVVNCX05FVF9DSDkyMDBcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNC1cXG5kcml2ZXJzL25ldC91c2IvS2NvbmZpZzo2MjU6Y29uZmlnIFVTQl9ORVRfQVFDMTExXFxuZHJpdmVycy9uZXQvdXNiL0tjb25maWctNjI2LVxcdHRyaXN0YXRlIFxcXCJBcXVhbnRpYSBBUXRpb24gVVNCIHRvIDUvMi41R2JFIENvbnRyb2xsZXJzIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU3OjUwLjQ0Mjk4NzkyOVoiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NjU1MzM1MzgzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgQVFDMTExIEV0aGVybmV0IERyaXZlciBDb25maWd1cmF0aW9uKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhlIGBVU0JfTkVUX0FRQzExMWAgY29uZmlnIOKAkyB0aGF0J3MgdGhlIHN0YXJ0aW5nIHBvaW50LiBNeSBmb2N1cyBuZWVkcyB0byBiZSBvbiB0aGUgYGFxYzExMV9zZXRfbWFjX2FkZHJgIGZ1bmN0aW9uOyB0aGF0J3MgdGhlIG9uZSB0aGUgcGF0Y2ggc2VlbXMgdG8gdG91Y2guIExldCdzIHNlZS4uLiBhcmUgdGhlcmUgYW55IG90aGVyIGZ1bmN0aW9ucyBpbiB0aGUgZHJpdmVyIHRvIGNvbnNpZGVyPyBSaWdodCwgdGhlcmUncyBgYXFjMTExX2JpbmRgLCBgYXFjMTExX3Jlc2V0YCwgYW5kIGBhcWMxMTFfY2hhbmdlX210dWAsIGJ1dCB0aGUgcGF0Y2ggaXMgKm9ubHkqIGFib3V0IGBhcWMxMTFfc2V0X21hY19hZGRyYC5cblxuTm93LCBJIG5lZWQgdG8gdmVyaWZ5IHRoYXQgYGFxYzExMV9zZXRfbWFjX2FkZHJgIGlzIGFjdHVhbGx5IGFjY2Vzc2libGUuIEFscmlnaHQsIGl0J3MgYXNzaWduZWQgdG8gYG5kb19zZXRfbWFjX2FkZHJlc3NgLCB3aGljaCBpcyBnb29kLiBUaGF0IGxpbmtzIGl0IHVwIHRvIGBkZXZfc2V0X21hY19hZGRyZXNzYC4gT2theSwgYW5kICp0aGF0KiBjYW4gYmUgcmVhY2hlZCB0aHJvdWdoIGBkZXZfaW9jdGxgIChzcGVjaWZpY2FsbHkgdGhlIGBTSU9DU0lGSFdBRERSYCBjb21tYW5kKSBvciBldmVuIG5ldGxpbmsgKHRoZSBgUlRNX05FV0xJTktgIG1lc3NhZ2UpLiBQZXJmZWN0LiBUaGF0IG1lYW5zIGl0J3MgZGVmaW5pdGVseSByZWFjaGFibGUgYW5kIGNhbiBiZSB0ZXN0ZWQsIGV2ZW4gd2l0aCBgZHVtbXlfaGNkYCB0byBzaW11bGF0ZSB0aGUgVVNCIGhvc3Qgc2lkZS5cblxuTGV0J3MgcXVpY2tseSBlbnN1cmUgdGhhdCB0aGVyZSBhcmVuJ3QgYW55IG90aGVyIGNvbmZpZ3VyYXRpb24gZGVwZW5kZW5jaWVzIGJleW9uZCB0aGUgb2J2aW91cyBvbmU6IGBVU0JfTkVUX0FRQzExMWAgZGVwZW5kcyBvbiBgVVNCX1VTQk5FVGAuIEFsbCBzZWVtcyB0byBiZSBpbiBvcmRlciBmcm9tIHdoYXQgSSBjYW4gc2VlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTQ3NSwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIzMSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1Nzo1Ni4wOTgzMjUzMjJaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY0MTI5NTg1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBVU0JfTkVUX0FRQzExMVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC91c2IvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC91c2IvS2NvbmZpZz02MTQ9Y29uZmlnIFVTQl9ORVRfQ0g5MjAwXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvS2NvbmZpZy02MjQtXFxuZHJpdmVycy9uZXQvdXNiL0tjb25maWc6NjI1OmNvbmZpZyBVU0JfTkVUX0FRQzExMVxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNi1cXHR0cmlzdGF0ZSBcXFwiQXF1YW50aWEgQVF0aW9uIFVTQiB0byA1LzIuNUdiRSBDb250cm9sbGVycyBzdXBwb3J0XFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1Nzo1Ni4xNjI0NjEwMTdaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzk4NjA3OTU0MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRha2Ugb24gdGhlIEtjb25maWcgZW50cnkgZm9yIGBVU0JfTkVUX0FRQzExMWAuXG5cbioqQW5hbHl6aW5nIHRoZSBVU0JfTkVUX0FRQzExMSBLY29uZmlnIEVudHJ5KipcblxuT2theSwgbGV0J3MgZGl2ZSBpbnRvIHRoaXMgYFVTQl9ORVRfQVFDMTExYCBLY29uZmlnIGVudHJ5LiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gdW5kZXJzdGFuZGluZyBpdHMgZGVwZW5kZW5jaWVzLCBkZWZhdWx0IHNldHRpbmdzLCBhbmQgYW55IHJlbGV2YW50IGRlc2NyaXB0aW9ucyBvciBoZWxwIHRleHQuIEkgd2FudCB0byBxdWlja2x5IGFzY2VydGFpbiB3aGF0IGNvbmRpdGlvbnMgbXVzdCBiZSBtZXQgZm9yIHRoaXMgZHJpdmVyIHRvIGV2ZW4gYmUgY29uc2lkZXJlZCwgYW5kIHdoYXQgdGhlIGJhc2VsaW5lIGNvbmZpZ3VyYXRpb24gd2lsbCBsb29rIGxpa2UgaWYgaXQncyBzZWxlY3RlZC4gSSdsbCBiZSBsb29raW5nIGZvciBoaW50cyBhYm91dCB0aGUgaGFyZHdhcmUgcmVxdWlyZW1lbnRzIOKAkyBpcyB0aGlzIHRpZWQgdG8gYSBzcGVjaWZpYyBVU0IgY29udHJvbGxlciwgb3IgY2hpcHNldD8gQXJlIHRoZXJlIGFueSBtb2R1bGUgZGVwZW5kZW5jaWVzIEkgbmVlZCB0byBiZSBhd2FyZSBvZj8gQXJlIHRoZXJlIGNvbmZsaWN0aW5nIG9wdGlvbnMgSSBuZWVkIHRvIGxvb2sgb3V0IGZvciwgb3Igd2lsbCB0aGVyZSBiZSBhbnkgcG90ZW50aWFsIGludGVyYWN0aW9ucyB3aXRoIG90aGVyIG5ldHdvcmtpbmcgc3RhY2tzP1xuXG5JJ20gbWVudGFsbHkgbWFwcGluZyB0aGUgcGxhY2VtZW50IG9mIHRoaXMgZW50cnkgd2l0aGluIHRoZSBicm9hZGVyIEtjb25maWcgaGllcmFyY2h5LiBJcyBpdCB1bmRlciBhIGdlbmVyYWwgXCJVU0IgTmV0d29ya2luZ1wiIHNlY3Rpb24sIG9yIHNvbWV0aGluZyBtb3JlIHNwZWNpZmljPyBUaGUgaGllcmFyY2h5IGxvY2F0aW9uIHByb3ZpZGVzIHZpdGFsIGNvbnRleHQuXG5cbk9uY2UgSSBoYXZlIGEgaGlnaC1sZXZlbCBwaWN0dXJlLCBJJ2xsIHBheSBjbG9zZSBhdHRlbnRpb24gdG8gdGhlIGBzZWxlY3RgIHN0YXRlbWVudHMgYW5kIGhvdyB0aGV5IG1pZ2h0IGFmZmVjdCBvdGhlciBjb25maWd1cmF0aW9ucy4gQW5kLCBvZiBjb3Vyc2UsIEknbSBjaGVja2luZyBmb3IgYW55IGBkZXBlbmRzIG9uYCBzdGF0ZW1lbnRzIG9yIGBkZWZhdWx0YCB2YWx1ZSBhc3NpZ25tZW50cy4gQXJlIHRoZXNlIHNpbXBsZSBib29sZWFuIHZhbHVlcyBvciBtb3JlIGNvbXBsZXggZXhwcmVzc2lvbnM/IFVsdGltYXRlbHksIEkgd2FudCB0byBiZSBhYmxlIHRvIHByZWRpY3QgdGhlIGJlaGF2aW9yIG9mIHRoZSBjb25maWd1cmF0aW9uIHN5c3RlbSB3aXRoIHRoaXMgb3B0aW9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNjE5MCwiT3V0cHV0VG9rZW5zIjozNiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIwLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU4OjAwLjE0ODU0Mzc1OVoiLCJTZXEiOjE2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MjA5MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC91c2IvS2NvbmZpZ1wiLFxuICBcIkZpcnN0TGluZVwiOiA2MjAsXG4gIFwiTGluZUNvdW50XCI6IDIwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiA2MjA6XFx0XFx0ICBDSDkyMDAgY2hpcHNldC5cXG4gNjIxOlxcdFxcbiA2MjI6XFx0XFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGVcXG4gNjIzOlxcdFxcdCAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGNoOTIwMC5cXG4gNjI0OlxcdFxcbiA2MjU6XFx0Y29uZmlnIFVTQl9ORVRfQVFDMTExXFxuIDYyNjpcXHRcXHR0cmlzdGF0ZSBcXFwiQXF1YW50aWEgQVF0aW9uIFVTQiB0byA1LzIuNUdiRSBDb250cm9sbGVycyBzdXBwb3J0XFxcIlxcbiA2Mjc6XFx0XFx0ZGVwZW5kcyBvbiBVU0JfVVNCTkVUXFxuIDYyODpcXHRcXHRzZWxlY3QgQ1JDMzJcXG4gNjI5OlxcdFxcdGhlbHBcXG4gNjMwOlxcdFxcdCAgVGhpcyBvcHRpb24gYWRkcyBzdXBwb3J0IGZvciBBcXVhbnRpYSBBUXRpb24gVVNCXFxuIDYzMTpcXHRcXHQgIEV0aGVybmV0IGFkYXB0ZXJzIGJhc2VkIG9uIEFRQzExMVUvQVFDMTEyIGNoaXBzLlxcbiA2MzI6XFx0XFxuIDYzMzpcXHRcXHQgIFRoaXMgZHJpdmVyIHNob3VsZCB3b3JrIHdpdGggYXQgbGVhc3QgdGhlIGZvbGxvd2luZyBkZXZpY2VzOlxcbiA2MzQ6XFx0XFx0ICAqIEFxdWFudGlhIEFRdGlvbiBVU0IgdG8gNUdiRVxcbiA2MzU6XFx0XFxuIDYzNjpcXHRjb25maWcgVVNCX1JUTDgxNTNfRUNNXFxuIDYzNzpcXHRcXHR0cmlzdGF0ZVxcbiA2Mzg6XFx0XFx0ZGVwZW5kcyBvbiBVU0JfTkVUX0NEQ0VUSEVSIFxcdTAwMjZcXHUwMDI2IChVU0JfUlRMODE1MiB8fCBVU0JfUlRMODE1Mj1uKVxcbiA2Mzk6XFx0XFx0ZGVmYXVsdCB5XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU4OjAwLjE0ODYyNzIwOVoiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NTA0MzI5MTA0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5c2lzIG9mIGEgUG90ZW50aWFsIEZ1enppbmcgVGFyZ2V0KipcblxuT2theSwgc28gSSd2ZSBnb3QgdGhpcyBwYXRjaCB0YXJnZXRpbmcgdGhlIGBhcWMxMTFfc2V0X21hY19hZGRyYCBmdW5jdGlvbiwgd2hpY2gsIGFzIEkgdW5kZXJzdGFuZCBpdCwgaXMgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgdGhlIE1BQyBhZGRyZXNzIG9uIGEgc3BlY2lmaWMgVVNCIG5ldHdvcmsgYWRhcHRlciwgdGhlIEFRQzExMS4gVGhlIGNvbmZpZ3VyYXRpb24gaXMgYFVTQl9ORVRfQVFDMTExYCwgbWVhbmluZyB0aGF0IGRyaXZlciBpcyBlbmFibGVkIGJ5IHRoYXQgY29uZmlndXJhdGlvbiBvcHRpb24uXG5cblRoZSBjb3JlIG9mIHRoZSBpc3N1ZSBpcyB0aGlzOiB0aGUgcGF0Y2ggaXMgY2hhbmdpbmcgdGhlIHJldHVybiB2YWx1ZSBvZiBgYXFjMTExX3NldF9tYWNfYWRkcmAuIEN1cnJlbnRseSwgaXQgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVkIGJ5IGB1c2JfY29udHJvbF9tc2dgIHVwb24gc3VjY2Vzcywgd2hpY2ggaXNuJ3Qgc3RhbmRhcmQgcHJhY3RpY2UgZm9yIGBuZG9fc2V0X21hY19hZGRyZXNzYC4gVGhlIHBhdGNoIGNoYW5nZXMgdGhpcyB0byB0aGUgbW9yZSBleHBlY3RlZCByZXR1cm4gb2YgMCBmb3Igc3VjY2Vzcy5cblxuTXkgZXhwZXJ0IG9waW5pb24gaXMsIGFuZCB0aGlzIGlzIHdoZXJlIEknbSBsZWFuaW5nIHRvd2FyZHMgZnV6emluZywgdGhhdCB0aGlzIGlzIGEgKmZ1bmN0aW9uYWwgY2hhbmdlKiB3aXRoaW4gYSBwb3RlbnRpYWxseSAqcmVhY2hhYmxlKiBVU0IgbmV0d29yayBkcml2ZXIuIFRoZSBmYWN0IHRoYXQgaXQncyBhICpmdW5jdGlvbmFsIGNoYW5nZSogaXMgY3J1Y2lhbCDigJMgY2hhbmdlcyBpbiBiZWhhdmlvciBhcmUgb2Z0ZW4gbW9yZSBzdXNjZXB0aWJsZSB0byBjYXVzaW5nIHVuZXhwZWN0ZWQgcHJvYmxlbXMsIGxpa2UgbWVtb3J5IGNvcnJ1cHRpb24gb3Igb3RoZXIgc3VidGxlIGJ1Z3MuIFRoZSBmYWN0IHRoYXQgdGhlIGRyaXZlciBpcyByZWFjaGFibGUgKG1lYW5pbmcgaXQncyAqdXNhYmxlKikgaXMgYW5vdGhlciBodWdlIHBsdXMuXG5cblRoZXJlZm9yZSwgSSdtIHJlY29tbWVuZGluZyB0aGlzIHBhdGNoIGZvciBmdXp6aW5nLiBTcGVjaWZpY2FsbHksIEknZCBmb2N1cyBmdXp6aW5nIG9uIHRoZSBgYXFjMTExX3NldF9tYWNfYWRkcmAgZnVuY3Rpb24gaXRzZWxmLiBUaGUga2V5IGNvbmZpZ3VyYXRpb24gaXRlbSB0aGF0IG5lZWRzIHRvIGJlIGVuYWJsZWQgZm9yIHRoaXMgaXMgYFVTQl9ORVRfQVFDMTExYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjY4ODAsIk91dHB1dFRva2VucyI6MTIwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjE5LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDNUMDg6NTg6MDUuNjUyOTYwMTAzWiIsIlNlcSI6MTgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTE4NTQ4NjMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlVTQl9ORVRfQVFDMTExXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYXFjMTExX3NldF9tYWNfYWRkclwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIHRoZSByZXR1cm4gdmFsdWUgb2YgYGFxYzExMV9zZXRfbWFjX2FkZHJgICh3aGljaCBpbXBsZW1lbnRzIGBuZG9fc2V0X21hY19hZGRyZXNzYCkgdG8gcmV0dXJuIDAgb24gc3VjY2VzcyBpbnN0ZWFkIG9mIHRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgYnkgYHVzYl9jb250cm9sX21zZ2AuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBVU0IgbmV0d29yayBkcml2ZXIuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVVNCX05FVF9BUUMxMTFcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJhcWMxMTFfc2V0X21hY19hZGRyXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgdGhlIHJldHVybiB2YWx1ZSBvZiBgYXFjMTExX3NldF9tYWNfYWRkcmAgKHdoaWNoIGltcGxlbWVudHMgYG5kb19zZXRfbWFjX2FkZHJlc3NgKSB0byByZXR1cm4gMCBvbiBzdWNjZXNzIGluc3RlYWQgb2YgdGhlIG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBieSBgdXNiX2NvbnRyb2xfbXNnYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIFVTQiBuZXR3b3JrIGRyaXZlci5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },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-workflowtcw8g[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-03 08:36:49 +0000 UTC FinishedAt: 2026-07-03 08:58:07 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "6fb33632323a396c9dc2bb9bea483e013e547d57", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "USB_NET_AQC111" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "6fb33632323a396c9dc2bb9bea483e013e547d57", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "USB_NET_AQC111" ], "series_id": "943f3a2d-26f6-40f1-887c-694a5a1dcd79" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "aqc111_set_mac_addr" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VTQl9ORVRfQVFDMTExJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YXFjMTExX3NldF9tYWNfYWRkciYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBhcWMxMTFfc2V0X21hY19hZGRyYCAod2hpY2ggaW1wbGVtZW50cyBgbmRvX3NldF9tYWNfYWRkcmVzc2ApIHRvIHJldHVybiAwIG9uIHN1Y2Nlc3MgaW5zdGVhZCBvZiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVkIGJ5IGB1c2JfY29udHJvbF9tc2dgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgVVNCIG5ldHdvcmsgZHJpdmVyLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMDJiYjM2ZWM1NDc5ZTc2MmY2NTExNzY1MDVmMWQ4YWJiNWRhNmZmOVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDMgMDg6NTc6MjAgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jIGIvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jXG5pbmRleCBkZDUzZjQxM2MzOGY2MC4uZGE1Yjc0NjM3ZWUyNzcgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC91c2IvYXFjMTExLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuY1xuQEAgLTQ3MSw4ICYjNDM7NDcxLDEyIEBAIHN0YXRpYyBpbnQgYXFjMTExX3NldF9tYWNfYWRkcihzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCB2b2lkICpwKVxuIFx0XHRyZXR1cm4gcmV0O1xuIFxuIFx0LyogU2V0IHRoZSBNQUMgYWRkcmVzcyAqL1xuLVx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXG4tXHRcdFx0XHRFVEhfQUxFTiwgbmV0LVx1MDAzZWRldl9hZGRyKTtcbiYjNDM7XHRyZXQgPSBhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX05PREVfSUQsIEVUSF9BTEVOLFxuJiM0MztcdFx0XHQgICAgICAgIEVUSF9BTEVOLCBuZXQtXHUwMDNlZGV2X2FkZHIpO1xuJiM0MztcdGlmIChyZXQgXHUwMDNjIDApXG4mIzQzO1x0XHRyZXR1cm4gcmV0O1xuJiM0MztcbiYjNDM7XHRyZXR1cm4gMDtcbiB9XG4gXG4gc3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9raWxsX3ZpZChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1VTQl9ORVRfQVFDMTExJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YXFjMTExX3NldF9tYWNfYWRkciYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBhcWMxMTFfc2V0X21hY19hZGRyYCAod2hpY2ggaW1wbGVtZW50cyBgbmRvX3NldF9tYWNfYWRkcmVzc2ApIHRvIHJldHVybiAwIG9uIHN1Y2Nlc3MgaW5zdGVhZCBvZiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVkIGJ5IGB1c2JfY29udHJvbF9tc2dgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgVVNCIG5ldHdvcmsgZHJpdmVyLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwMmJiMzZlYzU0NzllNzYyZjY1MTE3NjUwNWYxZDhhYmI1ZGE2ZmY5CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIEZyaSBKdWwgMyAwODo1NzoyMCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYyBiL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYwppbmRleCBkZDUzZjQxM2MzOGY2MC4uZGE1Yjc0NjM3ZWUyNzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC91c2IvYXFjMTExLmMKQEAgLTQ3MSw4ICYjNDM7NDcxLDEyIEBAIHN0YXRpYyBpbnQgYXFjMTExX3NldF9tYWNfYWRkcihzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCB2b2lkICpwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogU2V0IHRoZSBNQUMgYWRkcmVzcyAqLwotCXJldHVybiBhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX05PREVfSUQsIEVUSF9BTEVOLAotCQkJCUVUSF9BTEVOLCBuZXQtJmd0O2Rldl9hZGRyKTsKJiM0MzsJcmV0ID0gYXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9OT0RFX0lELCBFVEhfQUxFTiwKJiM0MzsJCQkgICAgICAgIEVUSF9BTEVOLCBuZXQtJmd0O2Rldl9hZGRyKTsKJiM0MzsJaWYgKHJldCAmbHQ7IDApCiYjNDM7CQlyZXR1cm4gcmV0OwomIzQzOwomIzQzOwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9raWxsX3ZpZChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTMyCgkJCQkJCQlvdXRwdXQ6IDQyCgkJCQkJCQl0aG91Z2h0czogMjQ1CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jYC4gSXQmIzM5O3MgdG91Y2hpbmcgYGFxYzExMV9zZXRfbWFjX2FkZHJgLCB3aGljaCBpcyBhbHdheXMgYSBjcml0aWNhbCBhcmVhLiBUaGUgY29yZSBvZiB0aGUgY2hhbmdlIGlzIHN0cmFpZ2h0Zm9yd2FyZDogdGhleSYjMzk7dmUgYWRkZWQgYW4gZXhwbGljaXQgZXJyb3IgY2hlY2sgYWZ0ZXIgY2FsbGluZyBgYXFjMTExX3dyaXRlX2NtZGAuIFByZXZpb3VzbHksIHRoZSBmdW5jdGlvbiBqdXN0IHJldHVybmVkIHdoYXRldmVyIGBhcWMxMTFfd3JpdGVfY21kYCByZXR1cm5lZCwgd2hpY2ggY291bGQgaGF2ZSBiZWVuIHBvc2l0aXZlIG9uIHN1Y2Nlc3MgKHdoaWNoIGltbWVkaWF0ZWx5IHN0cmlrZXMgbWUgYXMgdW51c3VhbCkuIE5vdywgaWYgYGFxYzExMV93cml0ZV9jbWRgIHJldHVybnMgYSB2YWx1ZSBsZXNzIHRoYW4gemVybyAoaW5kaWNhdGluZyBhbiBlcnJvciksIHRoZSBmdW5jdGlvbiBwcm9wYWdhdGVzIHRoZSBuZWdhdGl2ZSByZXR1cm4gY29kZS4gT3RoZXJ3aXNlLCBpdCBub3cgZXhwbGljaXRseSByZXR1cm5zIDAsIHNpZ25pZnlpbmcgc3VjY2Vzcy4KCldhaXQgYSBzZWNvbmQuIFRoZSBjb21taXQgdGV4dCBkb2VzbiYjMzk7dCBtZW50aW9uIHRoZSBvcmlnaW5hbCBiZWhhdmlvci4gV2FzIGBhcWMxMTFfd3JpdGVfY21kYCByZWFsbHkgcmV0dXJuaW5nIHBvc2l0aXZlIHZhbHVlcyBvbiBzdWNjZXNzPyBUaGF0JiMzOTtzIG5vdCB0aGUgdXN1YWwgY29udmVudGlvbiBmb3IgdGhlc2Ugc29ydHMgb2YgZHJpdmVyIGZ1bmN0aW9ucy4gSSYjMzk7bGwgbmVlZCB0byBkb3VibGUgY2hlY2sgaG93IGBhcWMxMTFfd3JpdGVfY21kYCBpcyBkZWZpbmVkLiBJJiMzOTtsbCBvcGVuIHVwIHRoYXQgZnVuY3Rpb24gdG8gdmVyaWZ5IHRoZSByYW5nZSBvZiB2YWx1ZXMgaXQgY2FuIHJldHVybi4gSXQmIzM5O3MgcG9zc2libGUgSSYjMzk7bSBtaXNzaW5nIHNvbWV0aGluZywgb3IgdGhlcmUmIzM5O3MgYSBjb252ZW50aW9uIEkmIzM5O20gbm90IGZhbWlsaWFyIHdpdGggaW4gdGhpcyBwYXJ0aWN1bGFyIGNvZGViYXNlLCBidXQgbXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgdGhlIG9yaWdpbmFsIGNvZGUgd2FzIHByb2JhYmx5IGluY29ycmVjdCBieSBub3QgaGFuZGxpbmcgYSBwb3NzaWJsZSBlcnJvciBpbmRpY2F0ZWQgYnkgYSBuZWdhdGl2ZSByZXR1cm4gdmFsdWUuIFRoZSBwYXRjaCBpcyBwcm9iYWJseSBmaXhpbmcgYSBzdWJ0bGUgYnVnIHdoZXJlIHBvc2l0aXZlIHJldHVybiB2YWx1ZXMgd2VyZSBpbnRlcnByZXRlZCBhcyBlcnJvcnMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDMgMDg6NTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YXFjMTExX3dyaXRlX2NtZCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC91c2IvYXFjMTExLmM9NzI9c3RhdGljIGludCBhcWMxMTFfcmVhZDE2X2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04Mi1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4MzpzdGF0aWMgaW50IF9fYXFjMTExX3dyaXRlX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTggcmVxdHlwZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04NC1cdFx0XHQgICAgICB1MTYgdmFsdWUsIHUxNiBpbmRleCwgdTE2IHNpemUsIGNvbnN0IHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTExMy1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMTQ6c3RhdGljIGludCBhcWMxMTFfd3JpdGVfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTUtXHRcdFx0XHQgdTE2IGluZGV4LCB1MTYgc2l6ZSwgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTE4LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjExOTpcdHJldCA9IF9fYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgVVNCX0RJUl9PVVQgfCBVU0JfVFlQRV9WRU5ET1IgfFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEyMC1cdFx0XHRcdCBVU0JfUkVDSVBfREVWSUNFLCB2YWx1ZSwgaW5kZXgsIHNpemUsIGRhdGEpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMjQtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTI1OnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEyNi1cdFx0XHQgICAgdTE2IGluZGV4LCB1MTYgc2l6ZSwgY29uc3Qgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTMyLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzMzpcdHJldCA9IF9fYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgVVNCX0RJUl9PVVQgfCBVU0JfVFlQRV9WRU5ET1IgfFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzNC1cdFx0XHRcdCBVU0JfUkVDSVBfREVWSUNFLCB2YWx1ZSwgaW5kZXgsIHNpemUsIGRhdGEpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz0xNDE9c3RhdGljIGludCBhcWMxMTFfd3JpdGUxNl9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDctXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTQ4Olx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YodG1wKSwgXHUwMDI2dG1wKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDktfVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz0xNTE9c3RhdGljIGludCBhcWMxMTFfd3JpdGUxNl9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTU3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE1ODpcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1OS19XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTE2MT1zdGF0aWMgaW50IGFxYzExMV93cml0ZTMyX2NtZF9ub3BtKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2Ny1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNjg6XHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2OS19XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTE3MT1zdGF0aWMgaW50IGFxYzExMV93cml0ZTMyX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNzctXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTc4Olx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWQoZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKHRtcCksIFx1MDAyNnRtcCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTc5LX1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xODAtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTgxOnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlX2NtZF9hc3luYyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE4Mi1cdFx0XHRcdCAgdTE2IGluZGV4LCB1MTYgc2l6ZSwgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTg5PXN0YXRpYyBpbnQgYXFjMTExX3dyaXRlMTZfY21kX2FzeW5jKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5NS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxOTY6XHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9hc3luYyhkZXYsIGNtZCwgdmFsdWUsIGluZGV4LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5Ny1cdFx0XHRcdCAgICAgIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00MjI9c3RhdGljIGludCBhcWMxMTFfY2hhbmdlX210dShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCBpbnQgbmV3X210dSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDQzLVx0XHQvKiBSWCBidWxrIGNvbmZpZ3VyYXRpb24gKi9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0NDQ6XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhfQlVMS0lOX1FDVFJMLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ0NS1cdFx0XHRcdCA1LCA1LCBidWYpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00NjQ9c3RhdGljIGludCBhcWMxMTFfc2V0X21hY19hZGRyKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIHZvaWQgKnApXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ3My1cdC8qIFNldCB0aGUgTUFDIGFkZHJlc3MgKi9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0NzQ6XHRyZXQgPSBhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX05PREVfSUQsIEVUSF9BTEVOLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ3NS1cdFx0XHQgICAgICAgIEVUSF9BTEVOLCBuZXQtXHUwMDNlZGV2X2FkZHIpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00ODI9c3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9raWxsX3ZpZChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTQtXHRyZWc4ID0gKHZpZCAvIDE2KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0OTU6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQUREUkVTUywgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDk2LVx0LyogRGF0YSAqL1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5Ny1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1JEO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ5ODpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTktXHRhcWMxMTFfcmVhZDE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0RBVEEwLCAyLCBcdTAwMjZyZWcxNik7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwMi1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1dFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUwMzpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MDQtXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTUwOD1zdGF0aWMgaW50IGFxYzExMV92bGFuX3J4X2FkZF92aWQoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgX19iZTE2IHByb3RvLCB1MTYgdmlkKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MTktXHRyZWc4ID0gKHZpZCAvIDE2KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MjA6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQUREUkVTUywgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTIxLVx0LyogRGF0YSAqL1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyMi1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1JEO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyMzpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjQtXHRhcWMxMTFfcmVhZDE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0RBVEEwLCAyLCBcdTAwMjZyZWcxNik7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyNy1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1dFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyODpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjktXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTUzMz1zdGF0aWMgdm9pZCBhcWMxMTFfc2V0X3J4X21vZGUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldClcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTU3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU1ODpcdFx0YXFjMTExX3dyaXRlX2NtZF9hc3luYyhkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTU5LVx0XHRcdFx0ICAgICAgIFNGUl9NVUxUSV9GSUxURVJfQVJSWSxcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9NTcwPXN0YXRpYyBpbnQgYXFjMTExX3NldF9mZWF0dXJlcyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01ODEtXHRcdHJlZzggXj0gU0ZSX1RYQ09FX1RDUCB8IFNGUl9UWENPRV9VRFA7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTgyOlx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01ODMtXHRcdFx0XHQgMSwgMSwgXHUwMDI2cmVnOCk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU4OC1cdFx0cmVnOCBePSBTRlJfVFhDT0VfVENQVjYgfCBTRlJfVFhDT0VfVURQVjY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTg5Olx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01OTAtXHRcdFx0XHQgMSwgMSwgXHUwMDI2cmVnOCk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MDU6XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhDT0VfQ1RMLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNi1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE0LVx0XHRcdFx0cmVnOCA9IGk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjE1Olx0XHRcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE2LVx0XHRcdFx0XHRcdCBTRlJfVkxBTl9JRF9BRERSRVNTLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjItXHRcdFx0XHRyZWc4ID0gU0ZSX1ZMQU5fQ09OVFJPTF9XRTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MjM6XHRcdFx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjQtXHRcdFx0XHRcdFx0IFNGUl9WTEFOX0lEX0NPTlRST0wsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyOS1cdFx0XHRyZWc4IHw9IFNGUl9WTEFOX0NPTlRST0xfVkZFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYzMDpcdFx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzEtXHRcdFx0XHRcdCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjM1LVx0XHRcdHJlZzggXHUwMDI2PSB+U0ZSX1ZMQU5fQ09OVFJPTF9WRkU7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjM2Olx0XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYzNy1cdFx0XHRcdFx0IFNGUl9WTEFOX0lEX0NPTlRST0wsIDEsIDEsIFx1MDAyNnJlZzgpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz04MDU9c3RhdGljIHZvaWQgYXFjMTExX2NvbmZpZ3VyZV9yeChzdHJ1Y3QgdXNibmV0ICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0MC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4NDE6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0lOVEVSX1BBQ0tFVF9HQVBfMCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04NDItXHRcdFx0IDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0My1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4NDQ6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYX1BBVVNFX1JFU0VORF9ULCAzLCAzLCBidWYpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0NS1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODY3LVx0LyogUlggYnVsayBjb25maWd1cmF0aW9uICovXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODY4Olx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9SWF9CVUxLSU5fUUNUUkwsIDUsIDUsIGJ1Zik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODY5LVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz04ODU9c3RhdGljIHZvaWQgYXFjMTExX2NvbmZpZ3VyZV9jc3VtX29mZmxvYWQoc3RydWN0IHVzYm5ldCAqZGV2KVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04OTItXHR9XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODkzOlx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9SWENPRV9DVEwsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg5NC1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTAxLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkwMjpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVFhDT0VfQ1RMLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MDMtfVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz05MDU9c3RhdGljIGludCBhcWMxMTFfbGlua19yZXNldChzdHJ1Y3QgdXNibmV0ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkxOC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo5MTk6XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkyMC1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTIyLVx0XHRyZWc4ID0gMHgwO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkyMzpcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTVJYX0RNQV9DT05UUk9MLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkyNC1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MjUtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6OTI2Olx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNVFhfRE1BX0NPTlRST0wsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTI3LVx0XHRcdFx0IDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkyOC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo5Mjk6XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfQVJDX0NUUkwsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkzMC1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTM1LVx0XHRyZWc4ID0gU0ZSX1JYX1BBVEhfUkVBRFk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6OTM2Olx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0VUSF9NQUNfUEFUSCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MzctXHRcdFx0XHQgMSwgMSwgXHUwMDI2cmVnOCk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkzOS1cdFx0cmVnOCA9IFNGUl9CVUxLX09VVF9FRkZfRU47XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6OTQwOlx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JVTEtfT1VUX0NUUkwsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTQxLVx0XHRcdFx0IDEsIDEsIFx1MDAyNnJlZzgpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05ODItXHRcdHJlZzggPSBTRlJfQlVMS19PVVRfRkxVU0hfRU4gfCBTRlJfQlVMS19PVVRfRUZGX0VOO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjk4MzpcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CVUxLX09VVF9DVFJMLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTk4NC1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05ODUtXHRcdHJlZzggPSBTRlJfQlVMS19PVVRfRUZGX0VOO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjk4NjpcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CVUxLX09VVF9DVFJMLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTk4Ny1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9OTk0PXN0YXRpYyBpbnQgYXFjMTExX3Jlc2V0KHN0cnVjdCB1c2JuZXQgKmRldilcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTAxMy1cdC8qIFNldCB0aGUgTUFDIGFkZHJlc3MgKi9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMDE0Olx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9OT0RFX0lELCBFVEhfQUxFTixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMDE1LVx0XHRcdCBFVEhfQUxFTiwgZGV2LVx1MDAzZW5ldC1cdTAwM2VkZXZfYWRkcik7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMTctXHRyZWc4ID0gMHhGRjtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMDE4Olx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTV9JTlRfTUFTSywgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTAxOS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMDIwLVx0cmVnOCA9IDB4MDtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMDIxOlx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9TV1BfQ1RSTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTAyMi1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTAyNi1cdFx0ICBTRlJfTU9OSVRPUl9NT0RFX1JXX0ZMQUcpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEwMjc6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX01PTklUT1JfTU9ERSwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTAyOC1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTMyNj1zdGF0aWMgaW50IGFxYzExMV9zdXNwZW5kKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLCBwbV9tZXNzYWdlX3QgbWVzc2FnZSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM0OC1cdHJlZzggPSBTRlJfQlVMS19PVVRfRUZGX0VOO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzNDk6XHRhcWMxMTFfd3JpdGVfY21kX25vcG0oZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfQlVMS19PVVRfQ1RSTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzUwLVx0XHRcdCAgICAgIDEsIDEsIFx1MDAyNnJlZzgpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzU3LVx0cmVnOCA9IDB4MDA7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM1ODpcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9FVEhfTUFDX1BBVEgsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM1OS1cdFx0XHQgICAgICAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM3My1cdFx0cmVnOCA9IDB4MDA7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM3NDpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNX0lOVF9NQVNLLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzNzUtXHRcdFx0XHQgICAgICAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzc2LVx0XHRyZWc4ID0gU0ZSX0JNUlhfRE1BX0VOO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzNzc6XHRcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTVJYX0RNQV9DT05UUk9MLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzNzgtXHRcdFx0XHQgICAgICAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzc5LVx0XHRyZWc4ID0gU0ZSX1JYX1BBVEhfUkVBRFk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM4MDpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0VUSF9NQUNfUEFUSCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzgxLVx0XHRcdFx0ICAgICAgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4Mi1cdFx0cmVnOCA9IDB4MDc7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM4MzpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RQ1RSTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzg0LVx0XHRcdFx0ICAgICAgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4NS1cdFx0cmVnOCA9IDB4MDA7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM4NjpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzg3LVx0XHRcdFx0ICAgICAgU0ZSX1JYX0JVTEtJTl9RVElNUl9MT1csIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzODg6XHRcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4OS1cdFx0XHRcdCAgICAgIFNGUl9SWF9CVUxLSU5fUVRJTVJfSElHSCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM5MC1cdFx0cmVnOCA9IDB4RkY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM5MTpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RU0laRSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzkyLVx0XHRcdFx0ICAgICAgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTM5MzpcdFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RSUZHLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzOTQtXHRcdFx0XHQgICAgICAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQwMS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDAyOlx0XHRhcWMxMTFfd3JpdGVfY21kX25vcG0oZGV2LCBBUV9XT0xfQ0ZHLCAwLCAwLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0MDMtXHRcdFx0XHQgICAgICBXT0xfQ0ZHX1NJWkUsIFx1MDAyNndvbF9jZmcpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz0xNDIyPXN0YXRpYyBpbnQgYXFjMTExX3Jlc3VtZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50Zilcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQzNi1cdHJlZzggPSAweEZGO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE0Mzc6XHRhcWMxMTFfd3JpdGVfY21kX25vcG0oZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfQk1fSU5UX01BU0ssXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQzOC1cdFx0XHQgICAgICAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQ1NS1cdHJlZzggPSBTRlJfUlhfUEFUSF9SRUFEWTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDU2Olx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0VUSF9NQUNfUEFUSCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDU3LVx0XHRcdCAgICAgIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0NTgtXHRyZWc4ID0gMHgwO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE0NTk6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNUlhfRE1BX0NPTlRST0wsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0NjAtXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDMgMDg6NTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogOTU3NAoJCQkJCQkJb3V0cHV0OiA0NAoJCQkJCQkJdGhvdWdodHM6IDI1NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIE1BQyBBZGRyZXNzIFNldCBGdW5jdGlvbioqCgpPa2F5LCBzbyB0aGUgcGF0Y2ggaXMgZm9jdXNlZCBvbiBgYXFjMTExX3NldF9tYWNfYWRkcmAuIExldCBtZSB3YWxrIHRocm91Z2ggdGhpcy4gYGFxYzExMV93cml0ZV9jbWRgIGlzIHRoZSBrZXkuIEl0IGNhbGxzIGBfX2FxYzExMV93cml0ZV9jbWRgLCB3aGljaCB1bHRpbWF0ZWx5IGNhbGxzIGB1c2JfY29udHJvbF9tc2dgLiBSaWdodCwgYW5kIGB1c2JfY29udHJvbF9tc2dgIGdpdmVzIGJhY2sgZWl0aGVyIHRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlLiBUaGlzIG1lYW5zIGBhcWMxMTFfd3JpdGVfY21kYCAqY291bGQqIGJlIHJldHVybmluZyBhIHBvc2l0aXZlIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBieXRlIGNvdW50IG9uIHN1Y2Nlc3MuIEJlZm9yZSB0aGUgcGF0Y2gsIGBhcWMxMTFfc2V0X21hY19hZGRyYCB3YXMgcGFzc2luZyB0aGF0IHBvc2l0aXZlIHJldHVybiB2YWx1ZSBkaXJlY3RseSBiYWNrIHVwIHRoZSBzdGFjay4KClRoZSBjaGFuZ2UgdGhleSYjMzk7dmUgbWFkZSBpcyBub3cgcmV0dXJuaW5nIDAgaWYgdGhlIG9yaWdpbmFsIGByZXRgIGZyb20gYGFxYzExMV93cml0ZV9jbWRgIHdhcyBwb3NpdGl2ZSAob3IgemVybywgd2hpY2ggaXMgbGlrZWx5IHN1Y2Nlc3MpLiBBbmQgaXQgcmV0dXJucyBgcmV0YCBpdHNlbGYgaWYgaXQmIzM5O3MgbmVnYXRpdmUgKHRoZSBlcnJvciBjb2RlKS4gVGhpcyBsb29rcyBsaWtlIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZm9yIHN1cmUuIE15IGltbWVkaWF0ZSBjb25jZXJuIGlzIHRoYXQgYG5kb19zZXRfbWFjX2FkZHJlc3NgLCB3aGljaCBgYXFjMTExX3NldF9tYWNfYWRkcmAgaXMgKnByb2JhYmx5KiBhc3NpZ25lZCB0bywgZXhwZWN0cyBhIDAgb24gc3VjY2Vzcy4gUmV0dXJuaW5nIGEgcG9zaXRpdmUgYnl0ZSBjb3VudCBmcm9tIGEgc3VjY2Vzc2Z1bCBNQUMgYWRkcmVzcyBzZXQgd291bGQgZGVmaW5pdGVseSB0cmlwIHVwIHRoZSBjYWxsZXIsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gaW5jb3JyZWN0IGJlaGF2aW9yIGRvd24gdGhlIGxpbmUsIG1heWJlIGV2ZW4gaW4gc29tZXRoaW5nIGxpa2UgYGRldl9zZXRfbWFjX2FkZHJlc3NgLgoKSSBzaG91bGQgcHJvYmFibHkgY29uZmlybSBieSBsb29raW5nIGRpcmVjdGx5IGF0IGBhcWMxMTFfc2V0X21hY19hZGRyYCB3aXRoaW4gYGRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuY2AgdG8gYmUgY29tcGxldGVseSBzdXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2FxYzExMV9zZXRfbWFjX2FkZHImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC91c2IvYXFjMTExLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTQyMj1zdGF0aWMgaW50IGFxYzExMV9jaGFuZ2VfbXR1KHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIGludCBuZXdfbXR1KVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NjMtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDY0OnN0YXRpYyBpbnQgYXFjMTExX3NldF9tYWNfYWRkcihzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCB2b2lkICpwKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ2NS17XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTY0ND1zdGF0aWMgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2Vfb3BzIGFxYzExMV9uZXRkZXZfb3BzID0ge1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NTAtXHQubmRvX2NoYW5nZV9tdHVcdFx0PSBhcWMxMTFfY2hhbmdlX210dSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NTE6XHQubmRvX3NldF9tYWNfYWRkcmVzc1x0PSBhcWMxMTFfc2V0X21hY19hZGRyLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY1Mi1cdC5uZG9fdmFsaWRhdGVfYWRkclx0PSBldGhfdmFsaWRhdGVfYWRkcixcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxMDUyNAoJCQkJCQkJb3V0cHV0OiAzMwoJCQkJCQkJdGhvdWdodHM6IDc3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgYG5kb19zZXRfbWFjX2FkZHJlc3NgIEFzc2lnbm1lbnQqKgoKT2theSwgc28gSSBzZWUgdGhpcyB0YXNrIGlzIGZvY3VzZWQgb24gYC5uZG9fc2V0X21hY19hZGRyZXNzYC4gUmlnaHQsIGEgcHJldHR5IHN0YW5kYXJkIG5ldHdvcmsgZHJpdmVyIGZ1bmN0aW9uLiBUaGlzIGxvb2tzIGxpa2UgYSBmdW5jdGlvbmFsIGNoYW5nZSwgbm90IGp1c3QgYSBidWcgZml4LCBtZWFuaW5nIGl0JiMzOTtzIHdvcnRoIGEgY2xvc2VyIGxvb2sgZm9yIGludGVyZXN0aW5nIGJlaGF2aW9yLiBUaGUgY3J1Y2lhbCBxdWVzdGlvbiBpcywgY2FuIHdlIGFjdHVhbGx5IHJlYWNoIHRoaXMgZnVuY3Rpb24/IEhtbSwgaXQmIzM5O3MgY29ubmVjdGVkIHRvIGEgVVNCIG5ldHdvcmsgZHJpdmVyLiBUaGF0JiMzOTtzIGdvb2QgbmV3czsgVVNCIGlzIG9mdGVuIGFjY2Vzc2libGUgdGhyb3VnaCBlbXVsYXRpb24sIHNwZWNpZmljYWxseSBzb21ldGhpbmcgbGlrZSBhIGBkdW1teV9oY2RgIHNldHVwLiBXZSBjYW4gZnV6eiBpdCEgTm93LCB3aGF0IGNvbmZpZ3MgZG8gd2UgbmVlZCB0byB0cmlnZ2VyIHRoZSB0YXJnZXQ/IExldCBtZSBjaGVjayB0aGUgS2NvbmZpZyBmb3IgdGhlIGBhcWMxMTFgIGRyaXZlciwgdGhhdCBzaG91bGQgZ2l2ZSB1cyBzb21lIGNsdWVzIGFib3V0IGRlcGVuZGVuY2llcyBhbmQgYnVpbGQgb3B0aW9ucy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2FxYzExMSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3VzYi9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxMDgxMgoJCQkJCQkJb3V0cHV0OiAzMQoJCQkJCQkJdGhvdWdodHM6IDM0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHVuZGVyc3RhbmRpbmcsIGZvcm1hdHRlZCBhcyByZXF1ZXN0ZWQ6CgoqKkludmVzdGlnYXRpbmcgdGhlIEFRQzExMSBEcml2ZXIgQnVpbGQgQ29uZmlndXJhdGlvbioqCgpSaWdodCwgc28gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgaG93IHRoZSBgYXFjMTExLm9gIGRyaXZlciBpcyBoYW5kbGVkIGluIHRoZSBidWlsZCBwcm9jZXNzLiBNeSBmaXJzdCBpbnN0aW5jdCwgZ2l2ZW4gbXkgZXhwZXJpZW5jZSwgaXMgdG8ganVtcCBzdHJhaWdodCBpbnRvIHRoZSBsaWtlbHkgY29uZmlndXJhdGlvbiBmaWxlcyB3aXRoaW4gdGhlIGtlcm5lbCBzb3VyY2UuIEkmIzM5O20gdGhpbmtpbmcsIG1vc3QgbGlrZWx5LCB0aGUgTWFrZWZpbGUgd2lsbCBkZWZpbmUgdGhlIGJ1aWxkIHJ1bGVzIGFuZCBkZXBlbmRlbmNpZXMsIGFuZCB0aGUgS2NvbmZpZyBmaWxlIHdpbGwgY29udHJvbCB0aGUgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9mIHRoZSBkcml2ZXIgdGhyb3VnaCBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBUaGVyZWZvcmUsIEkgd2lsbCBiZWdpbiBieSBleGFtaW5pbmcgdGhlIGBkcml2ZXJzL25ldC91c2IvTWFrZWZpbGVgIGFuZCBgZHJpdmVycy9uZXQvdXNiL0tjb25maWdgIGZpbGVzLiBUaGF0IHNob3VsZCBnaXZlIG1lIGEgZ29vZCBoYW5kbGUgb24gaG93IHRoZSBBUUMxMTEgZHJpdmVyIGlzIGludGVncmF0ZWQgaW50byB0aGUgYnVpbGQgc3lzdGVtLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDthcWMxMTEmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC91c2IvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA4OTUgbGluZXMuXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXG5cbmRyaXZlcnMvbmV0L3VzYi9NYWtlZmlsZT00Mj1vYmotJChDT05GSUdfVVNCX05FVF9DSDkyMDApXHQmIzQzOz0gY2g5MjAwLm9cbmRyaXZlcnMvbmV0L3VzYi9NYWtlZmlsZTo0MzpvYmotJChDT05GSUdfVVNCX05FVF9BUUMxMTEpXHQmIzQzOz0gYXFjMTExLm9cbmRyaXZlcnMvbmV0L3VzYi9NYWtlZmlsZS00NC1vYmotJChDT05GSUdfVVNCX1JUTDgxNTNfRUNNKVx0JiM0Mzs9IHI4MTUzX2VjbS5vXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIxOiNpbmNsdWRlIFwmIzM0O2FxYzExMS5oXCYjMzQ7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjItXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjM6c3RhdGljIGludCBhcWMxMTFfcmVhZF9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTI0LVx0XHRcdFx0dTE2IGluZGV4LCB1MTYgc2l6ZSwgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDEtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDI6c3RhdGljIGludCBhcWMxMTFfcmVhZF9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00My1cdFx0XHQgICB1MTYgaW5kZXgsIHUxNiBzaXplLCB2b2lkICpkYXRhKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MTpzdGF0aWMgaW50IGFxYzExMV9yZWFkMTZfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02Mi1cdFx0XHRcdCAgdTE2IGluZGV4LCB1MTYgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY1LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY2Olx0cmV0ID0gYXFjMTExX3JlYWRfY21kX25vcG0oZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKCpkYXRhKSwgZGF0YSk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjctXHRsZTE2X3RvX2NwdXMoZGF0YSk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTcxLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjcyOnN0YXRpYyBpbnQgYXFjMTExX3JlYWQxNl9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03My1cdFx0XHQgICAgIHUxNiBpbmRleCwgdTE2ICpkYXRhKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03Ni1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NzpcdHJldCA9IGFxYzExMV9yZWFkX2NtZChkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YoKmRhdGEpLCBkYXRhKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03OC1cdGxlMTZfdG9fY3B1cyhkYXRhKTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODItXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODM6c3RhdGljIGludCBfX2FxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHU4IHJlcXR5cGUsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODQtXHRcdFx0ICAgICAgdTE2IHZhbHVlLCB1MTYgaW5kZXgsIHUxNiBzaXplLCBjb25zdCB2b2lkICpkYXRhKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTMtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTE0OnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlX2NtZF9ub3BtKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTE1LVx0XHRcdFx0IHUxNiBpbmRleCwgdTE2IHNpemUsIHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTExOC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMTk6XHRyZXQgPSBfX2FxYzExMV93cml0ZV9jbWQoZGV2LCBjbWQsIFVTQl9ESVJfT1VUIHwgVVNCX1RZUEVfVkVORE9SIHxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMjAtXHRcdFx0XHQgVVNCX1JFQ0lQX0RFVklDRSwgdmFsdWUsIGluZGV4LCBzaXplLCBkYXRhKTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTI0LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEyNTpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMjYtXHRcdFx0ICAgIHUxNiBpbmRleCwgdTE2IHNpemUsIGNvbnN0IHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzMi1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMzM6XHRyZXQgPSBfX2FxYzExMV93cml0ZV9jbWQoZGV2LCBjbWQsIFVTQl9ESVJfT1VUIHwgVVNCX1RZUEVfVkVORE9SIHxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzQtXHRcdFx0XHQgVVNCX1JFQ0lQX0RFVklDRSwgdmFsdWUsIGluZGV4LCBzaXplLCBkYXRhKTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE0MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTE2X2NtZF9ub3BtKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQyLVx0XHRcdFx0ICAgdTE2IGluZGV4LCB1MTYgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0Ny1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDg6XHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0OS19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTUwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE1MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTE2X2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1Mi1cdFx0XHQgICAgICB1MTYgaW5kZXgsIHUxNiAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTU3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE1ODpcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1OS19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTYwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE2MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTMyX2NtZF9ub3BtKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTYyLVx0XHRcdFx0ICAgdTE2IGluZGV4LCB1MzIgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2Ny1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNjg6XHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2OS19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTcwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE3MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTMyX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE3Mi1cdFx0XHQgICAgICB1MTYgaW5kZXgsIHUzMiAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTc3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE3ODpcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE3OS19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTgwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE4MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWRfYXN5bmMoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xODItXHRcdFx0XHQgIHUxNiBpbmRleCwgdTE2IHNpemUsIHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE4OC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxODk6c3RhdGljIGludCBhcWMxMTFfd3JpdGUxNl9jbWRfYXN5bmMoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xOTAtXHRcdFx0XHQgICAgdTE2IGluZGV4LCB1MTYgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5NS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxOTY6XHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9hc3luYyhkZXYsIGNtZCwgdmFsdWUsIGluZGV4LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5Ny1cdFx0XHRcdCAgICAgIHNpemVvZih0bXApLCBcdTAwMjZ0bXApO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xOTktXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjAwOnN0YXRpYyB2b2lkIGFxYzExMV9nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIwMS1cdFx0XHQgICAgICAgc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyAqaW5mbylcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjAzLVx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMDQ6XHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVx1MDAzZWRyaXZlcl9wcml2O1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIwNS1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjA4LVx0c25wcmludGYoaW5mby1cdTAwM2Vmd192ZXJzaW9uLCBzaXplb2YoaW5mby1cdTAwM2Vmd192ZXJzaW9uKSwgXCYjMzQ7JXUuJXUuJXVcJiMzNDssXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjA5Olx0XHQgYXFjMTExX2RhdGEtXHUwMDNlZndfdmVyLm1ham9yLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIxMDpcdFx0IGFxYzExMV9kYXRhLVx1MDAzZWZ3X3Zlci5taW5vcixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMTE6XHRcdCBhcWMxMTFfZGF0YS1cdTAwM2Vmd192ZXIucmV2KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTItfVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIxMy1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMTQ6c3RhdGljIHZvaWQgYXFjMTExX2dldF93b2woc3RydWN0IG5ldF9kZXZpY2UgKm5ldCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTUtXHRcdFx0ICAgc3RydWN0IGV0aHRvb2xfd29saW5mbyAqd29saW5mbylcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjE3LVx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMTg6XHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVx1MDAzZWRyaXZlcl9wcml2O1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIxOS1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjIyLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIyMzpcdGlmIChhcWMxMTFfZGF0YS1cdTAwM2V3b2xfZmxhZ3MgXHUwMDI2IEFRX1dPTF9GTEFHX01QKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIyNC1cdFx0d29saW5mby1cdTAwM2V3b2xvcHRzIHw9IFdBS0VfTUFHSUM7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIyNi1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMjc6c3RhdGljIGludCBhcWMxMTFfc2V0X3dvbChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIyOC1cdFx0XHQgIHN0cnVjdCBldGh0b29sX3dvbGluZm8gKndvbGluZm8pXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIzMC1cdHN0cnVjdCB1c2JuZXQgKmRldiA9IG5ldGRldl9wcml2KG5ldCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjMxOlx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi1cdTAwM2Vkcml2ZXJfcHJpdjtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMzItXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIzNS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMzY6XHRhcWMxMTFfZGF0YS1cdTAwM2V3b2xfZmxhZ3MgPSAwO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIzNy1cdGlmICh3b2xpbmZvLVx1MDAzZXdvbG9wdHMgXHUwMDI2IFdBS0VfTUFHSUMpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjM4Olx0XHRhcWMxMTFfZGF0YS1cdTAwM2V3b2xfZmxhZ3MgfD0gQVFfV09MX0ZMQUdfTVA7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjM5LVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNDItXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjQzOnN0YXRpYyB2b2lkIGFxYzExMV9zcGVlZF90b19saW5rX21vZGUodTMyIHNwZWVkLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTI0NC1cdFx0XHRcdCAgICAgIHN0cnVjdCBldGh0b29sX2xpbmtfa3NldHRpbmdzICplbGspXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTI2NS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyNjY6c3RhdGljIGludCBhcWMxMTFfZ2V0X2xpbmtfa3NldHRpbmdzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjY3LVx0XHRcdFx0ICAgICBzdHJ1Y3QgZXRodG9vbF9saW5rX2tzZXR0aW5ncyAqZWxrKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNjktXHRzdHJ1Y3QgdXNibmV0ICpkZXYgPSBuZXRkZXZfcHJpdihuZXQpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjI3MDpcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXHUwMDNlZHJpdmVyX3ByaXY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjcxLVx0ZW51bSB1c2JfZGV2aWNlX3NwZWVkIHVzYl9zcGVlZCA9IGRldi1cdTAwM2V1ZGV2LVx1MDAzZXNwZWVkO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yOTItXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjkzOlx0aWYgKGFxYzExMV9kYXRhLVx1MDAzZWF1dG9uZWcpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjk0LVx0XHRsaW5rbW9kZV9jb3B5KGVsay1cdTAwM2VsaW5rX21vZGVzLmFkdmVydGlzaW5nLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yOTYtXHRlbHNlXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Mjk3Olx0XHRhcWMxMTFfc3BlZWRfdG9fbGlua19tb2RlKGFxYzExMV9kYXRhLVx1MDAzZWFkdmVydGlzZWRfc3BlZWQsIGVsayk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjk4LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjI5OTpcdGVsay1cdTAwM2ViYXNlLmF1dG9uZWcgPSBhcWMxMTFfZGF0YS1cdTAwM2VhdXRvbmVnO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTMwMC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMDE6XHRzd2l0Y2ggKGFxYzExMV9kYXRhLVx1MDAzZWxpbmtfc3BlZWQpIHtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMDItXHRjYXNlIEFRX0lOVF9TUEVFRF81Rzpcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzIwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjMyMTpzdGF0aWMgdm9pZCBhcWMxMTFfc2V0X3BoeV9zcGVlZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGF1dG9uZWcsIHUxNiBzcGVlZClcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMjIte1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjMyMzpcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXHUwMDNlZHJpdmVyX3ByaXY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzI0LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjMyNTpcdGFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcgXHUwMDI2PSB+QVFfQURWX01BU0s7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI2Olx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyB8PSBBUV9QQVVTRTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMjc6XHRhcWMxMTFfZGF0YS1cdTAwM2VwaHlfY2ZnIHw9IEFRX0FTWU1fUEFVU0U7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI4Olx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyB8PSBBUV9ET1dOU0hJRlQ7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI5Olx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyBcdTAwMjY9IH5BUV9EU0hfUkVUUklFU19NQVNLO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjMzMDpcdGFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcgfD0gKDMgXHUwMDNjXHUwMDNjIEFRX0RTSF9SRVRSSUVTX1NISUZUKSBcdTAwMjZcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMzEtXHRcdFx0XHRBUV9EU0hfUkVUUklFU19NQVNLO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMzUtXHRcdGNhc2UgU1BFRURfNTAwMDpcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMzY6XHRcdFx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyB8PSBBUV9BRFZfNUc7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzM3LVx0XHRcdGZhbGx0aHJvdWdoO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTMzOC1cdFx0Y2FzZSBTUEVFRF8yNTAwOlxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjMzOTpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl8yRzU7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzQwLVx0XHRcdGZhbGx0aHJvdWdoO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM0MS1cdFx0Y2FzZSBTUEVFRF8xMDAwOlxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM0MjpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl8xRztcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNDMtXHRcdFx0ZmFsbHRocm91Z2g7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzQ0LVx0XHRjYXNlIFNQRUVEXzEwMDpcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNDU6XHRcdFx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyB8PSBBUV9BRFZfMTAwTTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNDYtXHRcdFx0LyogZmFsbC10aHJvdWdoICovXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM1MC1cdFx0Y2FzZSBTUEVFRF81MDAwOlxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM1MTpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl81RztcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTItXHRcdFx0YnJlYWs7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzUzLVx0XHRjYXNlIFNQRUVEXzI1MDA6XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzU0Olx0XHRcdGFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzJHNTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTUtXHRcdFx0YnJlYWs7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzU2LVx0XHRjYXNlIFNQRUVEXzEwMDA6XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzU3Olx0XHRcdGFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzFHO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM1OC1cdFx0XHRicmVhaztcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTktXHRcdGNhc2UgU1BFRURfMTAwOlxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM2MDpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl8xMDBNO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM2MS1cdFx0XHRicmVhaztcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzY0LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM2NTpcdGFxYzExMV93cml0ZTMyX2NtZChkZXYsIEFRX1BIWV9PUFMsIDAsIDAsIFx1MDAyNmFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM2Ni19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzY3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM2ODpzdGF0aWMgaW50IGFxYzExMV9zZXRfbGlua19rc2V0dGluZ3Moc3RydWN0IG5ldF9kZXZpY2UgKm5ldCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNjktXHRcdFx0XHQgICAgIGNvbnN0IHN0cnVjdCBldGh0b29sX2xpbmtfa3NldHRpbmdzICplbGspXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM3MS1cdHN0cnVjdCB1c2JuZXQgKmRldiA9IG5ldGRldl9wcml2KG5ldCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzcyOlx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi1cdTAwM2Vkcml2ZXJfcHJpdjtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNzMtXHRlbnVtIHVzYl9kZXZpY2Vfc3BlZWQgdXNiX3NwZWVkID0gZGV2LVx1MDAzZXVkZXYtXHUwMDNlc3BlZWQ7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM3Ny1cdGlmIChhdXRvbmVnID09IEFVVE9ORUdfRU5BQkxFKSB7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Mzc4Olx0XHRpZiAoYXFjMTExX2RhdGEtXHUwMDNlYXV0b25lZyAhPSBBVVRPTkVHX0VOQUJMRSkge1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM3OTpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VhdXRvbmVnID0gQVVUT05FR19FTkFCTEU7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzgwOlx0XHRcdGFxYzExMV9kYXRhLVx1MDAzZWFkdmVydGlzZWRfc3BlZWQgPVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM4MS1cdFx0XHRcdFx0KHVzYl9zcGVlZCA9PSBVU0JfU1BFRURfU1VQRVIpID9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zODItXHRcdFx0XHRcdCBTUEVFRF81MDAwIDogU1BFRURfMTAwMDtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozODM6XHRcdFx0YXFjMTExX3NldF9waHlfc3BlZWQoZGV2LCBhcWMxMTFfZGF0YS1cdTAwM2VhdXRvbmVnLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM4NDpcdFx0XHRcdFx0ICAgICBhcWMxMTFfZGF0YS1cdTAwM2VhZHZlcnRpc2VkX3NwZWVkKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zODUtXHRcdH1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzk5LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQwMDpcdFx0YXFjMTExX2RhdGEtXHUwMDNlYXV0b25lZyA9IEFVVE9ORUdfRElTQUJMRTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MDEtXHRcdGlmIChzcGVlZCAhPSBTUEVFRF9VTktOT1dOKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQwMjpcdFx0XHRhcWMxMTFfZGF0YS1cdTAwM2VhZHZlcnRpc2VkX3NwZWVkID0gc3BlZWQ7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDAzLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQwNDpcdFx0YXFjMTExX3NldF9waHlfc3BlZWQoZGV2LCBhcWMxMTFfZGF0YS1cdTAwM2VhdXRvbmVnLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQwNTpcdFx0XHRcdCAgICAgYXFjMTExX2RhdGEtXHUwMDNlYWR2ZXJ0aXNlZF9zcGVlZCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDA2LVx0fVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MTAtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDExOnN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9vcHMgYXFjMTExX2V0aHRvb2xfb3BzID0ge1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQxMjpcdC5nZXRfZHJ2aW5mbyA9IGFxYzExMV9nZXRfZHJ2aW5mbyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MTM6XHQuZ2V0X3dvbCA9IGFxYzExMV9nZXRfd29sLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQxNDpcdC5zZXRfd29sID0gYXFjMTExX3NldF93b2wsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDE1LVx0LmdldF9tc2dsZXZlbCA9IHVzYm5ldF9nZXRfbXNnbGV2ZWwsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQxNy1cdC5nZXRfbGluayA9IGV0aHRvb2xfb3BfZ2V0X2xpbmssXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDE4Olx0LmdldF9saW5rX2tzZXR0aW5ncyA9IGFxYzExMV9nZXRfbGlua19rc2V0dGluZ3MsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDE5Olx0LnNldF9saW5rX2tzZXR0aW5ncyA9IGFxYzExMV9zZXRfbGlua19rc2V0dGluZ3NcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MjAtfTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MjEtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDIyOnN0YXRpYyBpbnQgYXFjMTExX2NoYW5nZV9tdHUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgaW50IG5ld19tdHUpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDIzLXtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDMwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQzMTpcdGFxYzExMV9yZWFkMTZfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX01FRElVTV9TVEFUVVNfTU9ERSxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MzItXHRcdFx0ICAyLCBcdTAwMjZyZWcxNik7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQzNy1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0Mzg6XHRhcWMxMTFfd3JpdGUxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTUVESVVNX1NUQVRVU19NT0RFLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQzOS1cdFx0XHQgICAyLCBcdTAwMjZyZWcxNik7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ0My1cdFx0LyogUlggYnVsayBjb25maWd1cmF0aW9uICovXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDQ0Olx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RQ1RSTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NDUtXHRcdFx0XHQgNSwgNSwgYnVmKTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDU3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ1ODpcdGFxYzExMV93cml0ZTE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9QQVVTRV9XQVRFUkxWTF9MT1csXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDU5LVx0XHRcdCAgIDIsIFx1MDAyNnJlZzE2KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDYzLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ2NDpzdGF0aWMgaW50IGFxYzExMV9zZXRfbWFjX2FkZHIoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgdm9pZCAqcClcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NjUte1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NzMtXHQvKiBTZXQgdGhlIE1BQyBhZGRyZXNzICovXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDc0Olx0cmV0ID0gYXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9OT0RFX0lELCBFVEhfQUxFTixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NzUtXHRcdFx0ICAgICAgICBFVEhfQUxFTiwgbmV0LVx1MDAzZWRldl9hZGRyKTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDgxLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ4MjpzdGF0aWMgaW50IGFxYzExMV92bGFuX3J4X2tpbGxfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDgzLVx0XHRcdFx0ICAgX19iZTE2IHByb3RvLCB1MTYgdmlkKVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00ODktXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDkwOlx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDkxLVx0dmxhbl9jdHJsID0gcmVnODtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDk0LVx0cmVnOCA9ICh2aWQgLyAxNik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDk1Olx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0FERFJFU1MsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5Ni1cdC8qIERhdGEgKi9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTctXHRyZWc4ID0gdmxhbl9jdHJsIHwgU0ZSX1ZMQU5fQ09OVFJPTF9SRDtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0OTg6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDk5Olx0YXFjMTExX3JlYWQxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXHUwMDI2cmVnMTYpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwMC1cdHJlZzE2IFx1MDAyNj0gfigxIFx1MDAzY1x1MDAzYyAodmlkICUgMTYpKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MDE6XHRhcWMxMTFfd3JpdGUxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXHUwMDI2cmVnMTYpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwMi1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1dFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUwMzpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MDQtXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwNy1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MDg6c3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9hZGRfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIF9fYmUxNiBwcm90bywgdTE2IHZpZClcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MDkte1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MTQtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTE1Olx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTE2LVx0dmxhbl9jdHJsID0gcmVnODtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTE5LVx0cmVnOCA9ICh2aWQgLyAxNik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTIwOlx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0FERFJFU1MsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyMS1cdC8qIERhdGEgKi9cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjItXHRyZWc4ID0gdmxhbl9jdHJsIHwgU0ZSX1ZMQU5fQ09OVFJPTF9SRDtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MjM6XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTI0Olx0YXFjMTExX3JlYWQxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXHUwMDI2cmVnMTYpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyNS1cdHJlZzE2IHw9ICgxIFx1MDAzY1x1MDAzYyAodmlkICUgMTYpKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MjY6XHRhcWMxMTFfd3JpdGUxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXHUwMDI2cmVnMTYpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyNy1cdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1dFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyODpcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjktXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUzMi1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MzM6c3RhdGljIHZvaWQgYXFjMTExX3NldF9yeF9tb2RlKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTM0LXtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MzUtXHRzdHJ1Y3QgdXNibmV0ICpkZXYgPSBuZXRkZXZfcHJpdihuZXQpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUzNjpcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXHUwMDNlZHJpdmVyX3ByaXY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTM3LVx0aW50IG1jX2NvdW50ID0gMDtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQwLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU0MTpcdGFxYzExMV9kYXRhLVx1MDAzZXJ4Y3RsIFx1MDAyNj0gfihTRlJfUlhfQ1RMX1BSTyB8IFNGUl9SWF9DVExfQU1BTEwgfFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU0Mi1cdFx0XHRcdFNGUl9SWF9DVExfQU0pO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NDQtXHRpZiAobmV0LVx1MDAzZWZsYWdzIFx1MDAyNiBJRkZfUFJPTUlTQykge1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU0NTpcdFx0YXFjMTExX2RhdGEtXHUwMDNlcnhjdGwgfD0gU0ZSX1JYX0NUTF9QUk87XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQ2LVx0fSBlbHNlIGlmICgobmV0LVx1MDAzZWZsYWdzIFx1MDAyNiBJRkZfQUxMTVVMVEkpIHx8IG1jX2NvdW50IFx1MDAzZSBBUV9NQVhfTUNBU1QpIHtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1NDc6XHRcdGFxYzExMV9kYXRhLVx1MDAzZXJ4Y3RsIHw9IFNGUl9SWF9DVExfQU1BTEw7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQ4LVx0fSBlbHNlIGlmICghbmV0ZGV2X21jX2VtcHR5KG5ldCkpIHtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTU3LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU1ODpcdFx0YXFjMTExX3dyaXRlX2NtZF9hc3luYyhkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTU5LVx0XHRcdFx0ICAgICAgIFNGUl9NVUxUSV9GSUxURVJfQVJSWSxcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTYyLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU2MzpcdFx0YXFjMTExX2RhdGEtXHUwMDNlcnhjdGwgfD0gU0ZSX1JYX0NUTF9BTTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjQtXHR9XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTY1LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU2NjpcdGFxYzExMV93cml0ZTE2X2NtZF9hc3luYyhkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9SWF9DVEwsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTY3Olx0XHRcdFx0IDIsIFx1MDAyNmFxYzExMV9kYXRhLVx1MDAzZXJ4Y3RsKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjgtfVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU2OS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1NzA6c3RhdGljIGludCBhcWMxMTFfc2V0X2ZlYXR1cmVzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTcxLVx0XHRcdCAgICAgICBuZXRkZXZfZmVhdHVyZXNfdCBmZWF0dXJlcylcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTczLVx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1NzQ6XHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVx1MDAzZWRyaXZlcl9wcml2O1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU3NS1cdG5ldGRldl9mZWF0dXJlc190IGNoYW5nZWQgPSBuZXQtXHUwMDNlZmVhdHVyZXMgXiBmZWF0dXJlcztcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTc5LVx0aWYgKGNoYW5nZWQgXHUwMDI2IE5FVElGX0ZfSVBfQ1NVTSkge1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU4MDpcdFx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgxLVx0XHRyZWc4IF49IFNGUl9UWENPRV9UQ1AgfCBTRlJfVFhDT0VfVURQO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU4MjpcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgzLVx0XHRcdFx0IDEsIDEsIFx1MDAyNnJlZzgpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01ODYtXHRpZiAoY2hhbmdlZCBcdTAwMjYgTkVUSUZfRl9JUFY2X0NTVU0pIHtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1ODc6XHRcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsIDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU4OC1cdFx0cmVnOCBePSBTRlJfVFhDT0VfVENQVjYgfCBTRlJfVFhDT0VfVURQVjY7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTg5Olx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01OTAtXHRcdFx0XHQgMSwgMSwgXHUwMDI2cmVnOCk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU5My1cdGlmIChjaGFuZ2VkIFx1MDAyNiBORVRJRl9GX1JYQ1NVTSkge1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU5NDpcdFx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYQ09FX0NUTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTk1LVx0XHRpZiAoZmVhdHVyZXMgXHUwMDI2IE5FVElGX0ZfUlhDU1VNKSB7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTk2Olx0XHRcdGFxYzExMV9kYXRhLVx1MDAzZXJ4X2NoZWNrc3VtID0gMTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01OTctXHRcdFx0cmVnOCBcdTAwMjY9IH4oU0ZSX1JYQ09FX0lQIHwgU0ZSX1JYQ09FX1RDUCB8IFNGUl9SWENPRV9VRFAgfFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01OTktXHRcdH0gZWxzZSB7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjAwOlx0XHRcdGFxYzExMV9kYXRhLVx1MDAzZXJ4X2NoZWNrc3VtID0gMDtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MDEtXHRcdFx0cmVnOCB8PSBTRlJfUlhDT0VfSVAgfCBTRlJfUlhDT0VfVENQIHwgU0ZSX1JYQ09FX1VEUCB8XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNC1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MDU6XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhDT0VfQ1RMLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNi1cdFx0XHRcdCAxLCAxLCBcdTAwMjZyZWc4KTtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE0LVx0XHRcdFx0cmVnOCA9IGk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjE1Olx0XHRcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE2LVx0XHRcdFx0XHRcdCBTRlJfVkxBTl9JRF9BRERSRVNTLFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MTgtXHRcdFx0XHQvKiBEYXRhICovXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjE5Olx0XHRcdFx0YXFjMTExX3dyaXRlMTZfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjAtXHRcdFx0XHRcdFx0ICAgU0ZSX1ZMQU5fSURfREFUQTAsXG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyMi1cdFx0XHRcdHJlZzggPSBTRlJfVkxBTl9DT05UUk9MX1dFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYyMzpcdFx0XHRcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyNC1cdFx0XHRcdFx0XHQgU0ZSX1ZMQU5fSURfQ09OVFJPTCxcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjI2LVx0XHRcdH1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2Mjc6XHRcdFx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjgtXHRcdFx0XHRcdDEsIDEsIFx1MDAyNnJlZzgpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyOS1cdFx0XHRyZWc4IHw9IFNGUl9WTEFOX0NPTlRST0xfVkZFO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYzMDpcdFx0XHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzEtXHRcdFx0XHRcdCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzItXHRcdH0gZWxzZSB7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjMzOlx0XHRcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0NPTlRST0wsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjM0LVx0XHRcdFx0XHQxLCAxLCBcdTAwMjZyZWc4KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzUtXHRcdFx0cmVnOCBcdTAwMjY9IH5TRlJfVkxBTl9DT05UUk9MX1ZGRTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MzY6XHRcdFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjM3LVx0XHRcdFx0XHQgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXHUwMDI2cmVnOCk7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY0My1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NDQ6c3RhdGljIGNvbnN0IHN0cnVjdCBuZXRfZGV2aWNlX29wcyBhcWMxMTFfbmV0ZGV2X29wcyA9IHtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NDUtXHQubmRvX29wZW5cdFx0PSB1c2JuZXRfb3Blbixcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjQ5LVx0Lm5kb19nZXRfc3RhdHM2NFx0PSBkZXZfZ2V0X3RzdGF0czY0LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1MDpcdC5uZG9fY2hhbmdlX210dVx0XHQ9IGFxYzExMV9jaGFuZ2VfbXR1LFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1MTpcdC5uZG9fc2V0X21hY19hZGRyZXNzXHQ9IGFxYzExMV9zZXRfbWFjX2FkZHIsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjUyLVx0Lm5kb192YWxpZGF0ZV9hZGRyXHQ9IGV0aF92YWxpZGF0ZV9hZGRyLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1MzpcdC5uZG9fdmxhbl9yeF9hZGRfdmlkXHQ9IGFxYzExMV92bGFuX3J4X2FkZF92aWQsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjU0Olx0Lm5kb192bGFuX3J4X2tpbGxfdmlkXHQ9IGFxYzExMV92bGFuX3J4X2tpbGxfdmlkLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1NTpcdC5uZG9fc2V0X3J4X21vZGVcdD0gYXFjMTExX3NldF9yeF9tb2RlLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1NjpcdC5uZG9fc2V0X2ZlYXR1cmVzXHQ9IGFxYzExMV9zZXRfZmVhdHVyZXMsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjU3LX07XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjU4LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1OTpzdGF0aWMgaW50IGFxYzExMV9yZWFkX3Blcm1fbWFjKHN0cnVjdCB1c2JuZXQgKmRldilcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NjAte1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NjMtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjY0Olx0cmV0ID0gYXFjMTExX3JlYWRfY21kKGRldiwgQVFfRkxBU0hfUEFSQU1FVEVSUywgMCwgMCwgRVRIX0FMRU4sIGJ1Zik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjY1LVx0aWYgKHJldCBcdTAwM2MgMClcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjc0LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY3NTpzdGF0aWMgdm9pZCBhcWMxMTFfcmVhZF9md192ZXJzaW9uKHN0cnVjdCB1c2JuZXQgKmRldixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NzY6XHRcdFx0XHQgICBzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY3Ny17XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Njc4Olx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgQVFfRldfVkVSX01BSk9SLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY3OTpcdFx0XHQxLCAxLCBcdTAwMjZhcWMxMTFfZGF0YS1cdTAwM2Vmd192ZXIubWFqb3IpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4MDpcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIEFRX0ZXX1ZFUl9NSU5PUixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2ODE6XHRcdFx0MSwgMSwgXHUwMDI2YXFjMTExX2RhdGEtXHUwMDNlZndfdmVyLm1pbm9yKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2ODI6XHRhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBBUV9GV19WRVJfUkVWLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4MzpcdFx0XHQxLCAxLCBcdTAwMjZhcWMxMTFfZGF0YS1cdTAwM2Vmd192ZXIucmV2KTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02ODQtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Njg1Olx0aWYgKGFxYzExMV9kYXRhLVx1MDAzZWZ3X3Zlci5tYWpvciBcdTAwMjYgMHg4MClcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2ODY6XHRcdGFxYzExMV9kYXRhLVx1MDAzZWZ3X3Zlci5tYWpvciBcdTAwMjY9IH4weDgwO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY4Ny19XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjg4LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4OTpzdGF0aWMgaW50IGFxYzExMV9iaW5kKHN0cnVjdCB1c2JuZXQgKmRldiwgc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjkwLXtcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjkyLVx0ZW51bSB1c2JfZGV2aWNlX3NwZWVkIHVzYl9zcGVlZCA9IHVkZXYtXHUwMDNlc3BlZWQ7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjkzOlx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02OTQtXHRpbnQgcmV0O1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MDktXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzEwOlx0YXFjMTExX2RhdGEgPSBremFsbG9jX29iaigqYXFjMTExX2RhdGEpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjcxMTpcdGlmICghYXFjMTExX2RhdGEpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzEyLVx0XHRyZXR1cm4gLUVOT01FTTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MTMtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzE0Olx0Lyogc3RvcmUgYXFjMTExX2RhdGEgcG9pbnRlciBpbiBkZXZpY2UgZGF0YSBmaWVsZCAqL1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjcxNTpcdGRldi1cdTAwM2Vkcml2ZXJfcHJpdiA9IGFxYzExMV9kYXRhO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTcxNi1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MTctXHQvKiBJbml0IHRoZSBNQUMgYWRkcmVzcyAqL1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjcxODpcdHJldCA9IGFxYzExMV9yZWFkX3Blcm1fbWFjKGRldik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzE5LVx0aWYgKHJldClcbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzMyLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjczMzpcdGRldi1cdTAwM2VuZXQtXHUwMDNlbmV0ZGV2X29wcyA9IFx1MDAyNmFxYzExMV9uZXRkZXZfb3BzO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjczNDpcdGRldi1cdTAwM2VuZXQtXHUwMDNlZXRodG9vbF9vcHMgPSBcdTAwMjZhcWMxMTFfZXRodG9vbF9vcHM7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzM1LVxuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NDQtXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzQ1Olx0YXFjMTExX3JlYWRfZndfdmVyc2lvbihkZXYsIGFxYzExMV9kYXRhKTtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NDY6XHRhcWMxMTFfZGF0YS1cdTAwM2VhdXRvbmVnID0gQVVUT05FR19FTkFCTEU7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzQ3Olx0YXFjMTExX2RhdGEtXHUwMDNlYWR2ZXJ0aXNlZF9zcGVlZCA9ICh1c2Jfc3BlZWQgPT0gVVNCX1NQRUVEX1NVUEVSKSA/XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzQ4LVx0XHRcdFx0XHQgU1BFRURfNTAwMCA6IFNQRUVEXzEwMDA7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc1Mi1vdXQ6XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzUzOlx0a2ZyZWUoYXFjMTExX2RhdGEpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc1NC1cdHJldHVybiByZXQ7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc1Ni1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NTc6c3RhdGljIHZvaWQgYXFjMTExX3VuYmluZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc1OC17XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzU5Olx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi1cdTAwM2Vkcml2ZXJfcHJpdjtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NjAtXHR1MTYgcmVnMTY7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc2My1cdHJlZzE2ID0gU0ZSX1BIWVBXUl9SU1RDVExfQlo7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzY0Olx0YXFjMTExX3dyaXRlMTZfY21kX25vcG0oZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUEhZUFdSX1JTVENUTCxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NjUtXHRcdFx0XHQyLCBcdTAwMjZyZWcxNik7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzY2LVx0cmVnMTYgPSAwO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc2NzpcdGFxYzExMV93cml0ZTE2X2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1BIWVBXUl9SU1RDVEwsXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzY4LVx0XHRcdFx0MiwgXHUwMDI2cmVnMTYpO1xuLS1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NzAtXHQvKiBQb3dlciBkb3duIGV0aGVybmV0IFBIWSAqL1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc3MTpcdGFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcgXHUwMDI2PSB+QVFfQURWX01BU0s7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzcyOlx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyB8PSBBUV9MT1dfUE9XRVI7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzczOlx0YXFjMTExX2RhdGEtXHUwMDNlcGh5X2NmZyBcdTAwMjY9IH5BUV9QSFlfUE9XRVJfRU47XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Nzc0Olx0YXFjMTExX3dyaXRlMzJfY21kX25vcG0oZGV2LCBBUV9QSFlfT1BTLCAwLCAwLFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc3NTpcdFx0XHRcdFx1MDAyNmFxYzExMV9kYXRhLVx1MDAzZXBoeV9jZmcpO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc3Ni1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3Nzc6XHRrZnJlZShhcWMxMTFfZGF0YSk7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzc4LX1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NzktXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzgwOnN0YXRpYyB2b2lkIGFxYzExMV9zdGF0dXMoc3RydWN0IHVzYm5ldCAqZGV2LCBzdHJ1Y3QgdXJiICp1cmIpXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzgxLXtcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3ODI6XHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVx1MDAzZWRyaXZlcl9wcml2O1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc4My1cdHU2NCAqZXZlbnRfZGF0YSA9IE5VTEw7XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc5Ni1cbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3OTc6XHRhcWMxMTFfZGF0YS1cdTAwM2VsaW5rX3NwZWVkID0gKCpldmVudF9kYXRhIFx1MDAyNiBBUV9TUEVFRF9NQVNLKSBcdTAwM2VcdTAwM2VcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03OTgtXHRcdFx0XHQgIEFRX1NQRUVEX1NISUZUO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc5OTpcdGFxYzExMV9kYXRhLVx1MDAzZWxpbmsgPSBsaW5rO1xuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTgwMC1cbi0tXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODA0LVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjgwNTpzdGF0aWMgdm9pZCBhcWMxMTFfY29uZmlndXJlX3J4KHN0cnVjdCB1c2JuZXQgKmRldixcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4MDY6XHRcdFx0XHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhKVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTgwNy17XG4tLVxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTgxNy1cdGJ1ZlsyXSA9IDB4MDc7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODE4Olx0c3dpdGNoIChhcWMxMTFfZGF0YS1cdTAwM2VsaW5rX3NwZWVkKSB7XG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODE5LVx0Y2FzZSBBUV9JTlRfU1BFRURfNUc6XG5cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDMgMDg6NTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjUwMjMKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiA0MwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aGF0IHRob3VnaHQgcHJvY2VzcywgYXNzdW1pbmcgSSYjMzk7bSBkZWVwIGluIHRoZSB3ZWVkcyB3aXRoIG5ldHdvcmsgZHJpdmVyIGNvbmZpZ3VyYXRpb246CgoqKk5hdmlnYXRpbmcgdGhlIEtjb25maWcgTWF6ZTogQVVTQl9ORVRfQVFDMTExIEFuYWx5c2lzKioKClJpZ2h0LCBzbyB0aGUgc3lzdGVtIGlzIHRlbGxpbmcgbWUgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9uIGlzIGBDT05GSUdfVVNCX05FVF9BUUMxMTFgLiBNeSBicmFpbiBpbW1lZGlhdGVseSBjbGlja3Mgb3ZlciB0byB0aGUgS2NvbmZpZyBmaWxlcy4gVGhpcyBpbXBsaWVzIHdlJiMzOTtyZSBkZWFsaW5nIHdpdGggYSBVU0IgbmV0d29yayBhZGFwdGVyLCBzcGVjaWZpY2FsbHkgb25lIGxldmVyYWdpbmcgdGhlIEFRQzExMSBjaGlwc2V0LgoKTXkgbmV4dCBtb3ZlIGlzIGF1dG9tYXRpYyDigJMgSSBuZWVkIHRvIGRpZyBpbnRvIHRoZSBgZHJpdmVycy9uZXQvdXNiL0tjb25maWdgIGZpbGUuIFRoYXQmIzM5O3MgdGhlIGxvZ2ljYWwgcGxhY2Ugd2hlcmUgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgVVNCIG5ldHdvcmsgZHJpdmVycyBhcmUgZGVmaW5lZC4gSSBoYXZlIHRvIHZlcmlmeSB0aGUgb3B0aW9uJiMzOTtzIHByZXNlbmNlIHRoZXJlLCBhbmQgbWF5YmUgZ2V0IGEgaGludCBvbiB3aGF0IGl0IGNvbnRyb2xzLiBJJiMzOTtsbCBuZWVkIHRvIGNvbmZpcm0gdGhlIHN5bWJvbCBgVVNCX05FVF9BUUMxMTFgIGlzIGFjdHVhbGx5IGRlZmluZWQsIHdoaWNoIHdvdWxkIHRlbGwgbWUgaWYgdGhlIGRyaXZlciBmb3IgdGhlIEFRQzExMSBpcyBpbnRlbmRlZCB0byBiZSBidWlsdCBhcyBhIGxvYWRhYmxlIG1vZHVsZSBvciBidWlsdCBpbnRvIHRoZSBrZXJuZWwuIEkgd2lsbCBhbHNvIGJlIGxvb2tpbmcgZm9yIGFueSBkZXBlbmRlbmNpZXMgYW5kIGRlcGVuZGVuY2llcyBvbiBvdGhlciBrZXJuZWwgc3Vic3lzdGVtcy4gSSBtYXkgYWxzbyBuZWVkIHRvIGNoZWNrIHRoZSBkZXBlbmRlbmNpZXMgb24gb3RoZXIgc3ltYm9scyB0byBlbnN1cmUgYWxsIHJlcXVpcmVkIGNvbXBvbmVudHMgYXJlIGVuYWJsZWQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O1VTQl9ORVRfQVFDMTExJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWc9NjE0PWNvbmZpZyBVU0JfTkVUX0NIOTIwMFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNC1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjYyNTpjb25maWcgVVNCX05FVF9BUUMxMTFcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNi1cdHRyaXN0YXRlIFwmIzM0O0FxdWFudGlhIEFRdGlvbiBVU0IgdG8gNS8yLjVHYkUgQ29udHJvbGxlcnMgc3VwcG9ydFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNTQ3NQoJCQkJCQkJb3V0cHV0OiAzOAoJCQkJCQkJdGhvdWdodHM6IDIzMQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIEFRQzExMSBFdGhlcm5ldCBEcml2ZXIgQ29uZmlndXJhdGlvbioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhlIGBVU0JfTkVUX0FRQzExMWAgY29uZmlnIOKAkyB0aGF0JiMzOTtzIHRoZSBzdGFydGluZyBwb2ludC4gTXkgZm9jdXMgbmVlZHMgdG8gYmUgb24gdGhlIGBhcWMxMTFfc2V0X21hY19hZGRyYCBmdW5jdGlvbjsgdGhhdCYjMzk7cyB0aGUgb25lIHRoZSBwYXRjaCBzZWVtcyB0byB0b3VjaC4gTGV0JiMzOTtzIHNlZS4uLiBhcmUgdGhlcmUgYW55IG90aGVyIGZ1bmN0aW9ucyBpbiB0aGUgZHJpdmVyIHRvIGNvbnNpZGVyPyBSaWdodCwgdGhlcmUmIzM5O3MgYGFxYzExMV9iaW5kYCwgYGFxYzExMV9yZXNldGAsIGFuZCBgYXFjMTExX2NoYW5nZV9tdHVgLCBidXQgdGhlIHBhdGNoIGlzICpvbmx5KiBhYm91dCBgYXFjMTExX3NldF9tYWNfYWRkcmAuCgpOb3csIEkgbmVlZCB0byB2ZXJpZnkgdGhhdCBgYXFjMTExX3NldF9tYWNfYWRkcmAgaXMgYWN0dWFsbHkgYWNjZXNzaWJsZS4gQWxyaWdodCwgaXQmIzM5O3MgYXNzaWduZWQgdG8gYG5kb19zZXRfbWFjX2FkZHJlc3NgLCB3aGljaCBpcyBnb29kLiBUaGF0IGxpbmtzIGl0IHVwIHRvIGBkZXZfc2V0X21hY19hZGRyZXNzYC4gT2theSwgYW5kICp0aGF0KiBjYW4gYmUgcmVhY2hlZCB0aHJvdWdoIGBkZXZfaW9jdGxgIChzcGVjaWZpY2FsbHkgdGhlIGBTSU9DU0lGSFdBRERSYCBjb21tYW5kKSBvciBldmVuIG5ldGxpbmsgKHRoZSBgUlRNX05FV0xJTktgIG1lc3NhZ2UpLiBQZXJmZWN0LiBUaGF0IG1lYW5zIGl0JiMzOTtzIGRlZmluaXRlbHkgcmVhY2hhYmxlIGFuZCBjYW4gYmUgdGVzdGVkLCBldmVuIHdpdGggYGR1bW15X2hjZGAgdG8gc2ltdWxhdGUgdGhlIFVTQiBob3N0IHNpZGUuCgpMZXQmIzM5O3MgcXVpY2tseSBlbnN1cmUgdGhhdCB0aGVyZSBhcmVuJiMzOTt0IGFueSBvdGhlciBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcyBiZXlvbmQgdGhlIG9idmlvdXMgb25lOiBgVVNCX05FVF9BUUMxMTFgIGRlcGVuZHMgb24gYFVTQl9VU0JORVRgLiBBbGwgc2VlbXMgdG8gYmUgaW4gb3JkZXIgZnJvbSB3aGF0IEkgY2FuIHNlZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDMgMDg6NTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIFVTQl9ORVRfQVFDMTExJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvdXNiL0tjb25maWc9NjE0PWNvbmZpZyBVU0JfTkVUX0NIOTIwMFxuLS1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNC1cbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnOjYyNTpjb25maWcgVVNCX05FVF9BUUMxMTFcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNi1cdHRyaXN0YXRlIFwmIzM0O0FxdWFudGlhIEFRdGlvbiBVU0IgdG8gNS8yLjVHYkUgQ29udHJvbGxlcnMgc3VwcG9ydFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1NzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNjE5MAoJCQkJCQkJb3V0cHV0OiAzNgoJCQkJCQkJdGhvdWdodHM6IDIwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHRha2Ugb24gdGhlIEtjb25maWcgZW50cnkgZm9yIGBVU0JfTkVUX0FRQzExMWAuCgoqKkFuYWx5emluZyB0aGUgVVNCX05FVF9BUUMxMTEgS2NvbmZpZyBFbnRyeSoqCgpPa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbnRvIHRoaXMgYFVTQl9ORVRfQVFDMTExYCBLY29uZmlnIGVudHJ5LiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gdW5kZXJzdGFuZGluZyBpdHMgZGVwZW5kZW5jaWVzLCBkZWZhdWx0IHNldHRpbmdzLCBhbmQgYW55IHJlbGV2YW50IGRlc2NyaXB0aW9ucyBvciBoZWxwIHRleHQuIEkgd2FudCB0byBxdWlja2x5IGFzY2VydGFpbiB3aGF0IGNvbmRpdGlvbnMgbXVzdCBiZSBtZXQgZm9yIHRoaXMgZHJpdmVyIHRvIGV2ZW4gYmUgY29uc2lkZXJlZCwgYW5kIHdoYXQgdGhlIGJhc2VsaW5lIGNvbmZpZ3VyYXRpb24gd2lsbCBsb29rIGxpa2UgaWYgaXQmIzM5O3Mgc2VsZWN0ZWQuIEkmIzM5O2xsIGJlIGxvb2tpbmcgZm9yIGhpbnRzIGFib3V0IHRoZSBoYXJkd2FyZSByZXF1aXJlbWVudHMg4oCTIGlzIHRoaXMgdGllZCB0byBhIHNwZWNpZmljIFVTQiBjb250cm9sbGVyLCBvciBjaGlwc2V0PyBBcmUgdGhlcmUgYW55IG1vZHVsZSBkZXBlbmRlbmNpZXMgSSBuZWVkIHRvIGJlIGF3YXJlIG9mPyBBcmUgdGhlcmUgY29uZmxpY3Rpbmcgb3B0aW9ucyBJIG5lZWQgdG8gbG9vayBvdXQgZm9yLCBvciB3aWxsIHRoZXJlIGJlIGFueSBwb3RlbnRpYWwgaW50ZXJhY3Rpb25zIHdpdGggb3RoZXIgbmV0d29ya2luZyBzdGFja3M/CgpJJiMzOTttIG1lbnRhbGx5IG1hcHBpbmcgdGhlIHBsYWNlbWVudCBvZiB0aGlzIGVudHJ5IHdpdGhpbiB0aGUgYnJvYWRlciBLY29uZmlnIGhpZXJhcmNoeS4gSXMgaXQgdW5kZXIgYSBnZW5lcmFsICYjMzQ7VVNCIE5ldHdvcmtpbmcmIzM0OyBzZWN0aW9uLCBvciBzb21ldGhpbmcgbW9yZSBzcGVjaWZpYz8gVGhlIGhpZXJhcmNoeSBsb2NhdGlvbiBwcm92aWRlcyB2aXRhbCBjb250ZXh0LgoKT25jZSBJIGhhdmUgYSBoaWdoLWxldmVsIHBpY3R1cmUsIEkmIzM5O2xsIHBheSBjbG9zZSBhdHRlbnRpb24gdG8gdGhlIGBzZWxlY3RgIHN0YXRlbWVudHMgYW5kIGhvdyB0aGV5IG1pZ2h0IGFmZmVjdCBvdGhlciBjb25maWd1cmF0aW9ucy4gQW5kLCBvZiBjb3Vyc2UsIEkmIzM5O20gY2hlY2tpbmcgZm9yIGFueSBgZGVwZW5kcyBvbmAgc3RhdGVtZW50cyBvciBgZGVmYXVsdGAgdmFsdWUgYXNzaWdubWVudHMuIEFyZSB0aGVzZSBzaW1wbGUgYm9vbGVhbiB2YWx1ZXMgb3IgbW9yZSBjb21wbGV4IGV4cHJlc3Npb25zPyBVbHRpbWF0ZWx5LCBJIHdhbnQgdG8gYmUgYWJsZSB0byBwcmVkaWN0IHRoZSBiZWhhdmlvciBvZiB0aGUgY29uZmlndXJhdGlvbiBzeXN0ZW0gd2l0aCB0aGlzIG9wdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDMgMDg6NTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC91c2IvS2NvbmZpZyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDYyMCwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAyMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgNjIwOlx0XHQgIENIOTIwMCBjaGlwc2V0LlxuIDYyMTpcdFxuIDYyMjpcdFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGVcbiA2MjM6XHRcdCAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGNoOTIwMC5cbiA2MjQ6XHRcbiA2MjU6XHRjb25maWcgVVNCX05FVF9BUUMxMTFcbiA2MjY6XHRcdHRyaXN0YXRlIFwmIzM0O0FxdWFudGlhIEFRdGlvbiBVU0IgdG8gNS8yLjVHYkUgQ29udHJvbGxlcnMgc3VwcG9ydFwmIzM0O1xuIDYyNzpcdFx0ZGVwZW5kcyBvbiBVU0JfVVNCTkVUXG4gNjI4Olx0XHRzZWxlY3QgQ1JDMzJcbiA2Mjk6XHRcdGhlbHBcbiA2MzA6XHRcdCAgVGhpcyBvcHRpb24gYWRkcyBzdXBwb3J0IGZvciBBcXVhbnRpYSBBUXRpb24gVVNCXG4gNjMxOlx0XHQgIEV0aGVybmV0IGFkYXB0ZXJzIGJhc2VkIG9uIEFRQzExMVUvQVFDMTEyIGNoaXBzLlxuIDYzMjpcdFxuIDYzMzpcdFx0ICBUaGlzIGRyaXZlciBzaG91bGQgd29yayB3aXRoIGF0IGxlYXN0IHRoZSBmb2xsb3dpbmcgZGV2aWNlczpcbiA2MzQ6XHRcdCAgKiBBcXVhbnRpYSBBUXRpb24gVVNCIHRvIDVHYkVcbiA2MzU6XHRcbiA2MzY6XHRjb25maWcgVVNCX1JUTDgxNTNfRUNNXG4gNjM3Olx0XHR0cmlzdGF0ZVxuIDYzODpcdFx0ZGVwZW5kcyBvbiBVU0JfTkVUX0NEQ0VUSEVSIFx1MDAyNlx1MDAyNiAoVVNCX1JUTDgxNTIgfHwgVVNCX1JUTDgxNTI9bilcbiA2Mzk6XHRcdGRlZmF1bHQgeVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE3LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMyAwODo1ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNjg4MAoJCQkJCQkJb3V0cHV0OiAxMjAKCQkJCQkJCXRob3VnaHRzOiAyMTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHlzaXMgb2YgYSBQb3RlbnRpYWwgRnV6emluZyBUYXJnZXQqKgoKT2theSwgc28gSSYjMzk7dmUgZ290IHRoaXMgcGF0Y2ggdGFyZ2V0aW5nIHRoZSBgYXFjMTExX3NldF9tYWNfYWRkcmAgZnVuY3Rpb24sIHdoaWNoLCBhcyBJIHVuZGVyc3RhbmQgaXQsIGlzIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIHRoZSBNQUMgYWRkcmVzcyBvbiBhIHNwZWNpZmljIFVTQiBuZXR3b3JrIGFkYXB0ZXIsIHRoZSBBUUMxMTEuIFRoZSBjb25maWd1cmF0aW9uIGlzIGBVU0JfTkVUX0FRQzExMWAsIG1lYW5pbmcgdGhhdCBkcml2ZXIgaXMgZW5hYmxlZCBieSB0aGF0IGNvbmZpZ3VyYXRpb24gb3B0aW9uLgoKVGhlIGNvcmUgb2YgdGhlIGlzc3VlIGlzIHRoaXM6IHRoZSBwYXRjaCBpcyBjaGFuZ2luZyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBhcWMxMTFfc2V0X21hY19hZGRyYC4gQ3VycmVudGx5LCBpdCByZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgYnkgYHVzYl9jb250cm9sX21zZ2AgdXBvbiBzdWNjZXNzLCB3aGljaCBpc24mIzM5O3Qgc3RhbmRhcmQgcHJhY3RpY2UgZm9yIGBuZG9fc2V0X21hY19hZGRyZXNzYC4gVGhlIHBhdGNoIGNoYW5nZXMgdGhpcyB0byB0aGUgbW9yZSBleHBlY3RlZCByZXR1cm4gb2YgMCBmb3Igc3VjY2Vzcy4KCk15IGV4cGVydCBvcGluaW9uIGlzLCBhbmQgdGhpcyBpcyB3aGVyZSBJJiMzOTttIGxlYW5pbmcgdG93YXJkcyBmdXp6aW5nLCB0aGF0IHRoaXMgaXMgYSAqZnVuY3Rpb25hbCBjaGFuZ2UqIHdpdGhpbiBhIHBvdGVudGlhbGx5ICpyZWFjaGFibGUqIFVTQiBuZXR3b3JrIGRyaXZlci4gVGhlIGZhY3QgdGhhdCBpdCYjMzk7cyBhICpmdW5jdGlvbmFsIGNoYW5nZSogaXMgY3J1Y2lhbCDigJMgY2hhbmdlcyBpbiBiZWhhdmlvciBhcmUgb2Z0ZW4gbW9yZSBzdXNjZXB0aWJsZSB0byBjYXVzaW5nIHVuZXhwZWN0ZWQgcHJvYmxlbXMsIGxpa2UgbWVtb3J5IGNvcnJ1cHRpb24gb3Igb3RoZXIgc3VidGxlIGJ1Z3MuIFRoZSBmYWN0IHRoYXQgdGhlIGRyaXZlciBpcyByZWFjaGFibGUgKG1lYW5pbmcgaXQmIzM5O3MgKnVzYWJsZSopIGlzIGFub3RoZXIgaHVnZSBwbHVzLgoKVGhlcmVmb3JlLCBJJiMzOTttIHJlY29tbWVuZGluZyB0aGlzIHBhdGNoIGZvciBmdXp6aW5nLiBTcGVjaWZpY2FsbHksIEkmIzM5O2QgZm9jdXMgZnV6emluZyBvbiB0aGUgYGFxYzExMV9zZXRfbWFjX2FkZHJgIGZ1bmN0aW9uIGl0c2VsZi4gVGhlIGtleSBjb25maWd1cmF0aW9uIGl0ZW0gdGhhdCBuZWVkcyB0byBiZSBlbmFibGVkIGZvciB0aGlzIGlzIGBVU0JfTkVUX0FRQzExMWAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAzIDA4OjU4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtVU0JfTkVUX0FRQzExMSYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2FxYzExMV9zZXRfbWFjX2FkZHImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgdGhlIHJldHVybiB2YWx1ZSBvZiBgYXFjMTExX3NldF9tYWNfYWRkcmAgKHdoaWNoIGltcGxlbWVudHMgYG5kb19zZXRfbWFjX2FkZHJlc3NgKSB0byByZXR1cm4gMCBvbiBzdWNjZXNzIGluc3RlYWQgb2YgdGhlIG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBieSBgdXNiX2NvbnRyb2xfbXNnYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIFVTQiBuZXR3b3JrIGRyaXZlci4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VVNCX05FVF9BUUMxMTEmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDthcWMxMTFfc2V0X21hY19hZGRyJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIHRoZSByZXR1cm4gdmFsdWUgb2YgYGFxYzExMV9zZXRfbWFjX2FkZHJgICh3aGljaCBpbXBsZW1lbnRzIGBuZG9fc2V0X21hY19hZGRyZXNzYCkgdG8gcmV0dXJuIDAgb24gc3VjY2VzcyBpbnN0ZWFkIG9mIHRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgYnkgYHVzYl9jb250cm9sX21zZ2AuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBVU0IgbmV0d29yayBkcml2ZXIuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1NzoyMi4yOTcxMjQyNzVaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MzQ0NzcwNzA2MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJVU0JfTkVUX0FRQzExMVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImFxYzExMV9zZXRfbWFjX2FkZHJcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBhcWMxMTFfc2V0X21hY19hZGRyYCAod2hpY2ggaW1wbGVtZW50cyBgbmRvX3NldF9tYWNfYWRkcmVzc2ApIHRvIHJldHVybiAwIG9uIHN1Y2Nlc3MgaW5zdGVhZCBvZiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVkIGJ5IGB1c2JfY29udHJvbF9tc2dgLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgVVNCIG5ldHdvcmsgZHJpdmVyLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1NzoyMi4yOTcxMjk4MTVaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ4NDUxODY2MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDAyYmIzNmVjNTQ3OWU3NjJmNjUxMTc2NTA1ZjFkOGFiYjVkYTZmZjlcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIEZyaSBKdWwgMyAwODo1NzoyMCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvYXFjMTExLmMgYi9kcml2ZXJzL25ldC91c2IvYXFjMTExLmNcXG5pbmRleCBkZDUzZjQxM2MzOGY2MC4uZGE1Yjc0NjM3ZWUyNzcgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jXFxuKysrIGIvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jXFxuQEAgLTQ3MSw4ICs0NzEsMTIgQEAgc3RhdGljIGludCBhcWMxMTFfc2V0X21hY19hZGRyKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIHZvaWQgKnApXFxuIFxcdFxcdHJldHVybiByZXQ7XFxuIFxcbiBcXHQvKiBTZXQgdGhlIE1BQyBhZGRyZXNzICovXFxuLVxcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX05PREVfSUQsIEVUSF9BTEVOLFxcbi1cXHRcXHRcXHRcXHRFVEhfQUxFTiwgbmV0LVxcdTAwM2VkZXZfYWRkcik7XFxuK1xcdHJldCA9IGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXFxuK1xcdFxcdFxcdCAgICAgICAgRVRIX0FMRU4sIG5ldC1cXHUwMDNlZGV2X2FkZHIpO1xcbitcXHRpZiAocmV0IFxcdTAwM2MgMClcXG4rXFx0XFx0cmV0dXJuIHJldDtcXG4rXFxuK1xcdHJldHVybiAwO1xcbiB9XFxuIFxcbiBzdGF0aWMgaW50IGFxYzExMV92bGFuX3J4X2tpbGxfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU3OjIyLjc4MjQ3NzczOFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDI5NjIzNDM5MTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVVNCX05FVF9BUUMxMTFcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJhcWMxMTFfc2V0X21hY19hZGRyXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgdGhlIHJldHVybiB2YWx1ZSBvZiBgYXFjMTExX3NldF9tYWNfYWRkcmAgKHdoaWNoIGltcGxlbWVudHMgYG5kb19zZXRfbWFjX2FkZHJlc3NgKSB0byByZXR1cm4gMCBvbiBzdWNjZXNzIGluc3RlYWQgb2YgdGhlIG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBieSBgdXNiX2NvbnRyb2xfbXNnYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIFVTQiBuZXR3b3JrIGRyaXZlci5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAwMmJiMzZlYzU0NzllNzYyZjY1MTE3NjUwNWYxZDhhYmI1ZGE2ZmY5XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMyAwODo1NzoyMCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYyBiL2RyaXZlcnMvbmV0L3VzYi9hcWMxMTEuY1xuaW5kZXggZGQ1M2Y0MTNjMzhmNjAuLmRhNWI3NDYzN2VlMjc3IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jXG4rKysgYi9kcml2ZXJzL25ldC91c2IvYXFjMTExLmNcbkBAIC00NzEsOCArNDcxLDEyIEBAIHN0YXRpYyBpbnQgYXFjMTExX3NldF9tYWNfYWRkcihzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCB2b2lkICpwKVxuIFx0XHRyZXR1cm4gcmV0O1xuIFxuIFx0LyogU2V0IHRoZSBNQUMgYWRkcmVzcyAqL1xuLVx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXG4tXHRcdFx0XHRFVEhfQUxFTiwgbmV0LVx1MDAzZWRldl9hZGRyKTtcbitcdHJldCA9IGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXG4rXHRcdFx0ICAgICAgICBFVEhfQUxFTiwgbmV0LVx1MDAzZWRldl9hZGRyKTtcbitcdGlmIChyZXQgXHUwMDNjIDApXG4rXHRcdHJldHVybiByZXQ7XG4rXG4rXHRyZXR1cm4gMDtcbiB9XG4gXG4gc3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9raWxsX3ZpZChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDNUMDg6NTc6MjIuNzgyNDc5MTY4WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDg2MDU1MTQyNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBOZXR3b3JrIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBkcml2ZXJzL25ldC91c2IvYXFjMTExLmNgLiBJdCdzIHRvdWNoaW5nIGBhcWMxMTFfc2V0X21hY19hZGRyYCwgd2hpY2ggaXMgYWx3YXlzIGEgY3JpdGljYWwgYXJlYS4gVGhlIGNvcmUgb2YgdGhlIGNoYW5nZSBpcyBzdHJhaWdodGZvcndhcmQ6IHRoZXkndmUgYWRkZWQgYW4gZXhwbGljaXQgZXJyb3IgY2hlY2sgYWZ0ZXIgY2FsbGluZyBgYXFjMTExX3dyaXRlX2NtZGAuIFByZXZpb3VzbHksIHRoZSBmdW5jdGlvbiBqdXN0IHJldHVybmVkIHdoYXRldmVyIGBhcWMxMTFfd3JpdGVfY21kYCByZXR1cm5lZCwgd2hpY2ggY291bGQgaGF2ZSBiZWVuIHBvc2l0aXZlIG9uIHN1Y2Nlc3MgKHdoaWNoIGltbWVkaWF0ZWx5IHN0cmlrZXMgbWUgYXMgdW51c3VhbCkuIE5vdywgaWYgYGFxYzExMV93cml0ZV9jbWRgIHJldHVybnMgYSB2YWx1ZSBsZXNzIHRoYW4gemVybyAoaW5kaWNhdGluZyBhbiBlcnJvciksIHRoZSBmdW5jdGlvbiBwcm9wYWdhdGVzIHRoZSBuZWdhdGl2ZSByZXR1cm4gY29kZS4gT3RoZXJ3aXNlLCBpdCBub3cgZXhwbGljaXRseSByZXR1cm5zIDAsIHNpZ25pZnlpbmcgc3VjY2Vzcy5cblxuV2FpdCBhIHNlY29uZC4gVGhlIGNvbW1pdCB0ZXh0IGRvZXNuJ3QgbWVudGlvbiB0aGUgb3JpZ2luYWwgYmVoYXZpb3IuIFdhcyBgYXFjMTExX3dyaXRlX2NtZGAgcmVhbGx5IHJldHVybmluZyBwb3NpdGl2ZSB2YWx1ZXMgb24gc3VjY2Vzcz8gVGhhdCdzIG5vdCB0aGUgdXN1YWwgY29udmVudGlvbiBmb3IgdGhlc2Ugc29ydHMgb2YgZHJpdmVyIGZ1bmN0aW9ucy4gSSdsbCBuZWVkIHRvIGRvdWJsZSBjaGVjayBob3cgYGFxYzExMV93cml0ZV9jbWRgIGlzIGRlZmluZWQuIEknbGwgb3BlbiB1cCB0aGF0IGZ1bmN0aW9uIHRvIHZlcmlmeSB0aGUgcmFuZ2Ugb2YgdmFsdWVzIGl0IGNhbiByZXR1cm4uIEl0J3MgcG9zc2libGUgSSdtIG1pc3Npbmcgc29tZXRoaW5nLCBvciB0aGVyZSdzIGEgY29udmVudGlvbiBJJ20gbm90IGZhbWlsaWFyIHdpdGggaW4gdGhpcyBwYXJ0aWN1bGFyIGNvZGViYXNlLCBidXQgbXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgdGhlIG9yaWdpbmFsIGNvZGUgd2FzIHByb2JhYmx5IGluY29ycmVjdCBieSBub3QgaGFuZGxpbmcgYSBwb3NzaWJsZSBlcnJvciBpbmRpY2F0ZWQgYnkgYSBuZWdhdGl2ZSByZXR1cm4gdmFsdWUuIFRoZSBwYXRjaCBpcyBwcm9iYWJseSBmaXhpbmcgYSBzdWJ0bGUgYnVnIHdoZXJlIHBvc2l0aXZlIHJldHVybiB2YWx1ZXMgd2VyZSBpbnRlcnByZXRlZCBhcyBlcnJvcnMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5MzIsIk91dHB1dFRva2VucyI6NDIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNDUsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1NzoyNy42NDMwMzM5ODJaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjY4OTg5ODUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYXFjMTExX3dyaXRlX2NtZFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC91c2IvYXFjMTExLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTcyPXN0YXRpYyBpbnQgYXFjMTExX3JlYWQxNl9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04Mi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODM6c3RhdGljIGludCBfX2FxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHU4IHJlcXR5cGUsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0LVxcdFxcdFxcdCAgICAgIHUxNiB2YWx1ZSwgdTE2IGluZGV4LCB1MTYgc2l6ZSwgY29uc3Qgdm9pZCAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTMtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjExNDpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTUtXFx0XFx0XFx0XFx0IHUxNiBpbmRleCwgdTE2IHNpemUsIHZvaWQgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTE4LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMTk6XFx0cmV0ID0gX19hcWMxMTFfd3JpdGVfY21kKGRldiwgY21kLCBVU0JfRElSX09VVCB8IFVTQl9UWVBFX1ZFTkRPUiB8XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEyMC1cXHRcXHRcXHRcXHQgVVNCX1JFQ0lQX0RFVklDRSwgdmFsdWUsIGluZGV4LCBzaXplLCBkYXRhKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMjQtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEyNTpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTI2LVxcdFxcdFxcdCAgICB1MTYgaW5kZXgsIHUxNiBzaXplLCBjb25zdCB2b2lkICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzMi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTMzOlxcdHJldCA9IF9fYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgVVNCX0RJUl9PVVQgfCBVU0JfVFlQRV9WRU5ET1IgfFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzQtXFx0XFx0XFx0XFx0IFVTQl9SRUNJUF9ERVZJQ0UsIHZhbHVlLCBpbmRleCwgc2l6ZSwgZGF0YSk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTQxPXN0YXRpYyBpbnQgYXFjMTExX3dyaXRlMTZfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDctXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE0ODpcXHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcXHUwMDI2dG1wKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQ5LX1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz0xNTE9c3RhdGljIGludCBhcWMxMTFfd3JpdGUxNl9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNTctXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE1ODpcXHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1OS19XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTYxPXN0YXRpYyBpbnQgYXFjMTExX3dyaXRlMzJfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNjctXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE2ODpcXHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsIHNpemVvZih0bXApLCBcXHUwMDI2dG1wKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTY5LX1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz0xNzE9c3RhdGljIGludCBhcWMxMTFfd3JpdGUzMl9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNzctXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE3ODpcXHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE3OS19XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE4MC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTgxOnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlX2NtZF9hc3luYyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xODItXFx0XFx0XFx0XFx0ICB1MTYgaW5kZXgsIHUxNiBzaXplLCB2b2lkICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTE4OT1zdGF0aWMgaW50IGFxYzExMV93cml0ZTE2X2NtZF9hc3luYyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5NS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTk2OlxcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kX2FzeW5jKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5Ny1cXHRcXHRcXHRcXHQgICAgICBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9NDIyPXN0YXRpYyBpbnQgYXFjMTExX2NoYW5nZV9tdHUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgaW50IG5ld19tdHUpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDQzLVxcdFxcdC8qIFJYIGJ1bGsgY29uZmlndXJhdGlvbiAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0NDQ6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9SWF9CVUxLSU5fUUNUUkwsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ0NS1cXHRcXHRcXHRcXHQgNSwgNSwgYnVmKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00NjQ9c3RhdGljIGludCBhcWMxMTFfc2V0X21hY19hZGRyKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIHZvaWQgKnApXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDczLVxcdC8qIFNldCB0aGUgTUFDIGFkZHJlc3MgKi9cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDc0OlxcdHJldCA9IGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ3NS1cXHRcXHRcXHQgICAgICAgIEVUSF9BTEVOLCBuZXQtXFx1MDAzZWRldl9hZGRyKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00ODI9c3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9raWxsX3ZpZChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5NC1cXHRyZWc4ID0gKHZpZCAvIDE2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDk1OlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9BRERSRVNTLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5Ni1cXHQvKiBEYXRhICovXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5Ny1cXHRyZWc4ID0gdmxhbl9jdHJsIHwgU0ZSX1ZMQU5fQ09OVFJPTF9SRDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDk4OlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ5OS1cXHRhcWMxMTFfcmVhZDE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0RBVEEwLCAyLCBcXHUwMDI2cmVnMTYpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwMi1cXHRyZWc4ID0gdmxhbl9jdHJsIHwgU0ZSX1ZMQU5fQ09OVFJPTF9XRTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTAzOlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUwNC1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz01MDg9c3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9hZGRfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIF9fYmUxNiBwcm90bywgdTE2IHZpZClcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MTktXFx0cmVnOCA9ICh2aWQgLyAxNik7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyMDpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQUREUkVTUywgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjEtXFx0LyogRGF0YSAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjItXFx0cmVnOCA9IHZsYW5fY3RybCB8IFNGUl9WTEFOX0NPTlRST0xfUkQ7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyMzpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjQtXFx0YXFjMTExX3JlYWQxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXFx1MDAyNnJlZzE2KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjctXFx0cmVnOCA9IHZsYW5fY3RybCB8IFNGUl9WTEFOX0NPTlRST0xfV0U7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyODpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjktXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9NTMzPXN0YXRpYyB2b2lkIGFxYzExMV9zZXRfcnhfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU1Ny1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTU4OlxcdFxcdGFxYzExMV93cml0ZV9jbWRfYXN5bmMoZGV2LCBBUV9BQ0NFU1NfTUFDLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NTktXFx0XFx0XFx0XFx0ICAgICAgIFNGUl9NVUxUSV9GSUxURVJfQVJSWSxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz01NzA9c3RhdGljIGludCBhcWMxMTFfc2V0X2ZlYXR1cmVzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgxLVxcdFxcdHJlZzggXj0gU0ZSX1RYQ09FX1RDUCB8IFNGUl9UWENPRV9VRFA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU4MjpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgzLVxcdFxcdFxcdFxcdCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTg4LVxcdFxcdHJlZzggXj0gU0ZSX1RYQ09FX1RDUFY2IHwgU0ZSX1RYQ09FX1VEUFY2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1ODk6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU5MC1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjA1OlxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhDT0VfQ1RMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MDYtXFx0XFx0XFx0XFx0IDEsIDEsIFxcdTAwMjZyZWc4KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MTQtXFx0XFx0XFx0XFx0cmVnOCA9IGk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYxNTpcXHRcXHRcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE2LVxcdFxcdFxcdFxcdFxcdFxcdCBTRlJfVkxBTl9JRF9BRERSRVNTLFxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyMi1cXHRcXHRcXHRcXHRyZWc4ID0gU0ZSX1ZMQU5fQ09OVFJPTF9XRTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjIzOlxcdFxcdFxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjQtXFx0XFx0XFx0XFx0XFx0XFx0IFNGUl9WTEFOX0lEX0NPTlRST0wsXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjI5LVxcdFxcdFxcdHJlZzggfD0gU0ZSX1ZMQU5fQ09OVFJPTF9WRkU7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYzMDpcXHRcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjMxLVxcdFxcdFxcdFxcdFxcdCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjM1LVxcdFxcdFxcdHJlZzggXFx1MDAyNj0gflNGUl9WTEFOX0NPTlRST0xfVkZFO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MzY6XFx0XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYzNy1cXHRcXHRcXHRcXHRcXHQgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTgwNT1zdGF0aWMgdm9pZCBhcWMxMTFfY29uZmlndXJlX3J4KHN0cnVjdCB1c2JuZXQgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04NDAtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjg0MTpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0lOVEVSX1BBQ0tFVF9HQVBfMCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODQyLVxcdFxcdFxcdCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0My1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODQ0OlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVFhfUEFVU0VfUkVTRU5EX1QsIDMsIDMsIGJ1Zik7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0NS1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04NjctXFx0LyogUlggYnVsayBjb25maWd1cmF0aW9uICovXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjg2ODpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RQ1RSTCwgNSwgNSwgYnVmKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODY5LVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTg4NT1zdGF0aWMgdm9pZCBhcWMxMTFfY29uZmlndXJlX2NzdW1fb2ZmbG9hZChzdHJ1Y3QgdXNibmV0ICpkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODkyLVxcdH1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODkzOlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhDT0VfQ1RMLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg5NC1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MDEtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkwMjpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MDMtfVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jPTkwNT1zdGF0aWMgaW50IGFxYzExMV9saW5rX3Jlc2V0KHN0cnVjdCB1c2JuZXQgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MTgtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkxOTpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTIwLVxcdFxcdFxcdFxcdCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTIyLVxcdFxcdHJlZzggPSAweDA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkyMzpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNUlhfRE1BX0NPTlRST0wsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkyNC1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MjUtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkyNjpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNVFhfRE1BX0NPTlRST0wsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkyNy1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MjgtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjkyOTpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0FSQ19DVFJMLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkzMC1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05MzUtXFx0XFx0cmVnOCA9IFNGUl9SWF9QQVRIX1JFQURZO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo5MzY6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9FVEhfTUFDX1BBVEgsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkzNy1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTkzOS1cXHRcXHRyZWc4ID0gU0ZSX0JVTEtfT1VUX0VGRl9FTjtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6OTQwOlxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfQlVMS19PVVRfQ1RSTCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTQxLVxcdFxcdFxcdFxcdCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTgyLVxcdFxcdHJlZzggPSBTRlJfQlVMS19PVVRfRkxVU0hfRU4gfCBTRlJfQlVMS19PVVRfRUZGX0VOO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo5ODM6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CVUxLX09VVF9DVFJMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05ODQtXFx0XFx0XFx0XFx0IDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtOTg1LVxcdFxcdHJlZzggPSBTRlJfQlVMS19PVVRfRUZGX0VOO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo5ODY6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CVUxLX09VVF9DVFJMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy05ODctXFx0XFx0XFx0XFx0IDEsIDEsIFxcdTAwMjZyZWc4KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz05OTQ9c3RhdGljIGludCBhcWMxMTFfcmVzZXQoc3RydWN0IHVzYm5ldCAqZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMTMtXFx0LyogU2V0IHRoZSBNQUMgYWRkcmVzcyAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMDE0OlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMTUtXFx0XFx0XFx0IEVUSF9BTEVOLCBkZXYtXFx1MDAzZW5ldC1cXHUwMDNlZGV2X2FkZHIpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMTctXFx0cmVnOCA9IDB4RkY7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEwMTg6XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTV9JTlRfTUFTSywgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMDE5LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMDIwLVxcdHJlZzggPSAweDA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEwMjE6XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9TV1BfQ1RSTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMDIyLVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMjYtXFx0XFx0ICBTRlJfTU9OSVRPUl9NT0RFX1JXX0ZMQUcpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMDI3OlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTU9OSVRPUl9NT0RFLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEwMjgtXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTMyNj1zdGF0aWMgaW50IGFxYzExMV9zdXNwZW5kKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLCBwbV9tZXNzYWdlX3QgbWVzc2FnZSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzQ4LVxcdHJlZzggPSBTRlJfQlVMS19PVVRfRUZGX0VOO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMzQ5OlxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CVUxLX09VVF9DVFJMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzUwLVxcdFxcdFxcdCAgICAgIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzU3LVxcdHJlZzggPSAweDAwO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMzU4OlxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9FVEhfTUFDX1BBVEgsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzNTktXFx0XFx0XFx0ICAgICAgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzNzMtXFx0XFx0cmVnOCA9IDB4MDA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzNzQ6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0JNX0lOVF9NQVNLLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzc1LVxcdFxcdFxcdFxcdCAgICAgIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM3Ni1cXHRcXHRyZWc4ID0gU0ZSX0JNUlhfRE1BX0VOO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMzc3OlxcdFxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTVJYX0RNQV9DT05UUk9MLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzc4LVxcdFxcdFxcdFxcdCAgICAgIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM3OS1cXHRcXHRyZWc4ID0gU0ZSX1JYX1BBVEhfUkVBRFk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzODA6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX0VUSF9NQUNfUEFUSCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4MS1cXHRcXHRcXHRcXHQgICAgICAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzODItXFx0XFx0cmVnOCA9IDB4MDc7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzODM6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RQ1RSTCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4NC1cXHRcXHRcXHRcXHQgICAgICAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzODUtXFx0XFx0cmVnOCA9IDB4MDA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzODY6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM4Ny1cXHRcXHRcXHRcXHQgICAgICBTRlJfUlhfQlVMS0lOX1FUSU1SX0xPVywgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMzg4OlxcdFxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzODktXFx0XFx0XFx0XFx0ICAgICAgU0ZSX1JYX0JVTEtJTl9RVElNUl9ISUdILCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzOTAtXFx0XFx0cmVnOCA9IDB4RkY7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzOTE6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RU0laRSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTM5Mi1cXHRcXHRcXHRcXHQgICAgICAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEzOTM6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1JYX0JVTEtJTl9RSUZHLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzk0LVxcdFxcdFxcdFxcdCAgICAgIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDAxLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDAyOlxcdFxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX1dPTF9DRkcsIDAsIDAsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0MDMtXFx0XFx0XFx0XFx0ICAgICAgV09MX0NGR19TSVpFLCBcXHUwMDI2d29sX2NmZyk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM9MTQyMj1zdGF0aWMgaW50IGFxYzExMV9yZXN1bWUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQzNi1cXHRyZWc4ID0gMHhGRjtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTQzNzpcXHRhcWMxMTFfd3JpdGVfY21kX25vcG0oZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfQk1fSU5UX01BU0ssXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0MzgtXFx0XFx0XFx0ICAgICAgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0NTUtXFx0cmVnOCA9IFNGUl9SWF9QQVRIX1JFQURZO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDU2OlxcdGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9FVEhfTUFDX1BBVEgsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0NTctXFx0XFx0XFx0ICAgICAgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDU4LVxcdHJlZzggPSAweDA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE0NTk6XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9CTVJYX0RNQV9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0NjAtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU3OjI3LjcwOTkzOTg4N1oiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUyNDg1MzM5OTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBNQUMgQWRkcmVzcyBTZXQgRnVuY3Rpb24qKlxuXG5Pa2F5LCBzbyB0aGUgcGF0Y2ggaXMgZm9jdXNlZCBvbiBgYXFjMTExX3NldF9tYWNfYWRkcmAuIExldCBtZSB3YWxrIHRocm91Z2ggdGhpcy4gYGFxYzExMV93cml0ZV9jbWRgIGlzIHRoZSBrZXkuIEl0IGNhbGxzIGBfX2FxYzExMV93cml0ZV9jbWRgLCB3aGljaCB1bHRpbWF0ZWx5IGNhbGxzIGB1c2JfY29udHJvbF9tc2dgLiBSaWdodCwgYW5kIGB1c2JfY29udHJvbF9tc2dgIGdpdmVzIGJhY2sgZWl0aGVyIHRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlLiBUaGlzIG1lYW5zIGBhcWMxMTFfd3JpdGVfY21kYCAqY291bGQqIGJlIHJldHVybmluZyBhIHBvc2l0aXZlIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBieXRlIGNvdW50IG9uIHN1Y2Nlc3MuIEJlZm9yZSB0aGUgcGF0Y2gsIGBhcWMxMTFfc2V0X21hY19hZGRyYCB3YXMgcGFzc2luZyB0aGF0IHBvc2l0aXZlIHJldHVybiB2YWx1ZSBkaXJlY3RseSBiYWNrIHVwIHRoZSBzdGFjay5cblxuVGhlIGNoYW5nZSB0aGV5J3ZlIG1hZGUgaXMgbm93IHJldHVybmluZyAwIGlmIHRoZSBvcmlnaW5hbCBgcmV0YCBmcm9tIGBhcWMxMTFfd3JpdGVfY21kYCB3YXMgcG9zaXRpdmUgKG9yIHplcm8sIHdoaWNoIGlzIGxpa2VseSBzdWNjZXNzKS4gQW5kIGl0IHJldHVybnMgYHJldGAgaXRzZWxmIGlmIGl0J3MgbmVnYXRpdmUgKHRoZSBlcnJvciBjb2RlKS4gVGhpcyBsb29rcyBsaWtlIGEgZnVuY3Rpb25hbCBjaGFuZ2UgZm9yIHN1cmUuIE15IGltbWVkaWF0ZSBjb25jZXJuIGlzIHRoYXQgYG5kb19zZXRfbWFjX2FkZHJlc3NgLCB3aGljaCBgYXFjMTExX3NldF9tYWNfYWRkcmAgaXMgKnByb2JhYmx5KiBhc3NpZ25lZCB0bywgZXhwZWN0cyBhIDAgb24gc3VjY2Vzcy4gUmV0dXJuaW5nIGEgcG9zaXRpdmUgYnl0ZSBjb3VudCBmcm9tIGEgc3VjY2Vzc2Z1bCBNQUMgYWRkcmVzcyBzZXQgd291bGQgZGVmaW5pdGVseSB0cmlwIHVwIHRoZSBjYWxsZXIsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gaW5jb3JyZWN0IGJlaGF2aW9yIGRvd24gdGhlIGxpbmUsIG1heWJlIGV2ZW4gaW4gc29tZXRoaW5nIGxpa2UgYGRldl9zZXRfbWFjX2FkZHJlc3NgLlxuXG5JIHNob3VsZCBwcm9iYWJseSBjb25maXJtIGJ5IGxvb2tpbmcgZGlyZWN0bHkgYXQgYGFxYzExMV9zZXRfbWFjX2FkZHJgIHdpdGhpbiBgZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jYCB0byBiZSBjb21wbGV0ZWx5IHN1cmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjk1NzQsIk91dHB1dFRva2VucyI6NDQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNTYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDNUMDg6NTc6MzIuOTU4NDc1NjgxWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY2MDMwMDU1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImFxYzExMV9zZXRfbWFjX2FkZHJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz00MjI9c3RhdGljIGludCBhcWMxMTFfY2hhbmdlX210dShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCBpbnQgbmV3X210dSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NjMtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ2NDpzdGF0aWMgaW50IGFxYzExMV9zZXRfbWFjX2FkZHIoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgdm9pZCAqcClcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDY1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYz02NDQ9c3RhdGljIGNvbnN0IHN0cnVjdCBuZXRfZGV2aWNlX29wcyBhcWMxMTFfbmV0ZGV2X29wcyA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NTAtXFx0Lm5kb19jaGFuZ2VfbXR1XFx0XFx0PSBhcWMxMTFfY2hhbmdlX210dSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjUxOlxcdC5uZG9fc2V0X21hY19hZGRyZXNzXFx0PSBhcWMxMTFfc2V0X21hY19hZGRyLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NTItXFx0Lm5kb192YWxpZGF0ZV9hZGRyXFx0PSBldGhfdmFsaWRhdGVfYWRkcixcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDNUMDg6NTc6MzMuMDI0NTEyNjA2WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6ODE0NjA5MTAxMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIGBuZG9fc2V0X21hY19hZGRyZXNzYCBBc3NpZ25tZW50KipcblxuT2theSwgc28gSSBzZWUgdGhpcyB0YXNrIGlzIGZvY3VzZWQgb24gYC5uZG9fc2V0X21hY19hZGRyZXNzYC4gUmlnaHQsIGEgcHJldHR5IHN0YW5kYXJkIG5ldHdvcmsgZHJpdmVyIGZ1bmN0aW9uLiBUaGlzIGxvb2tzIGxpa2UgYSBmdW5jdGlvbmFsIGNoYW5nZSwgbm90IGp1c3QgYSBidWcgZml4LCBtZWFuaW5nIGl0J3Mgd29ydGggYSBjbG9zZXIgbG9vayBmb3IgaW50ZXJlc3RpbmcgYmVoYXZpb3IuIFRoZSBjcnVjaWFsIHF1ZXN0aW9uIGlzLCBjYW4gd2UgYWN0dWFsbHkgcmVhY2ggdGhpcyBmdW5jdGlvbj8gSG1tLCBpdCdzIGNvbm5lY3RlZCB0byBhIFVTQiBuZXR3b3JrIGRyaXZlci4gVGhhdCdzIGdvb2QgbmV3czsgVVNCIGlzIG9mdGVuIGFjY2Vzc2libGUgdGhyb3VnaCBlbXVsYXRpb24sIHNwZWNpZmljYWxseSBzb21ldGhpbmcgbGlrZSBhIGBkdW1teV9oY2RgIHNldHVwLiBXZSBjYW4gZnV6eiBpdCEgTm93LCB3aGF0IGNvbmZpZ3MgZG8gd2UgbmVlZCB0byB0cmlnZ2VyIHRoZSB0YXJnZXQ/IExldCBtZSBjaGVjayB0aGUgS2NvbmZpZyBmb3IgdGhlIGBhcWMxMTFgIGRyaXZlciwgdGhhdCBzaG91bGQgZ2l2ZSB1cyBzb21lIGNsdWVzIGFib3V0IGRlcGVuZGVuY2llcyBhbmQgYnVpbGQgb3B0aW9ucy5cblxuXG4iLCJJbnB1dFRva2VucyI6MTA1MjQsIk91dHB1dFRva2VucyI6MzMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1Nzo0MS4xNzA2MDU4MzZaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjQyMjA5NDUsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImFxYzExMVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC91c2IvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJlcnJvclwiOiBcIm5vIG1hdGNoZXNcIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDNUMDg6NTc6NDEuMjM0ODM0OTYxWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzY3NTIwNjQ1NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHVuZGVyc3RhbmRpbmcsIGZvcm1hdHRlZCBhcyByZXF1ZXN0ZWQ6XG5cbioqSW52ZXN0aWdhdGluZyB0aGUgQVFDMTExIERyaXZlciBCdWlsZCBDb25maWd1cmF0aW9uKipcblxuUmlnaHQsIHNvIEkgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0aGUgYGFxYzExMS5vYCBkcml2ZXIgaXMgaGFuZGxlZCBpbiB0aGUgYnVpbGQgcHJvY2Vzcy4gTXkgZmlyc3QgaW5zdGluY3QsIGdpdmVuIG15IGV4cGVyaWVuY2UsIGlzIHRvIGp1bXAgc3RyYWlnaHQgaW50byB0aGUgbGlrZWx5IGNvbmZpZ3VyYXRpb24gZmlsZXMgd2l0aGluIHRoZSBrZXJuZWwgc291cmNlLiBJJ20gdGhpbmtpbmcsIG1vc3QgbGlrZWx5LCB0aGUgTWFrZWZpbGUgd2lsbCBkZWZpbmUgdGhlIGJ1aWxkIHJ1bGVzIGFuZCBkZXBlbmRlbmNpZXMsIGFuZCB0aGUgS2NvbmZpZyBmaWxlIHdpbGwgY29udHJvbCB0aGUgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9mIHRoZSBkcml2ZXIgdGhyb3VnaCBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBUaGVyZWZvcmUsIEkgd2lsbCBiZWdpbiBieSBleGFtaW5pbmcgdGhlIGBkcml2ZXJzL25ldC91c2IvTWFrZWZpbGVgIGFuZCBgZHJpdmVycy9uZXQvdXNiL0tjb25maWdgIGZpbGVzLiBUaGF0IHNob3VsZCBnaXZlIG1lIGEgZ29vZCBoYW5kbGUgb24gaG93IHRoZSBBUUMxMTEgZHJpdmVyIGlzIGludGVncmF0ZWQgaW50byB0aGUgYnVpbGQgc3lzdGVtLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMDgxMiwiT3V0cHV0VG9rZW5zIjozMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU3OjQ0LjkxMDA0NDcwN1oiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTg1MTcwMDYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYXFjMTExXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3VzYi9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA4OTUgbGluZXMuXFxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxcblxcbmRyaXZlcnMvbmV0L3VzYi9NYWtlZmlsZT00Mj1vYmotJChDT05GSUdfVVNCX05FVF9DSDkyMDApXFx0Kz0gY2g5MjAwLm9cXG5kcml2ZXJzL25ldC91c2IvTWFrZWZpbGU6NDM6b2JqLSQoQ09ORklHX1VTQl9ORVRfQVFDMTExKVxcdCs9IGFxYzExMS5vXFxuZHJpdmVycy9uZXQvdXNiL01ha2VmaWxlLTQ0LW9iai0kKENPTkZJR19VU0JfUlRMODE1M19FQ00pXFx0Kz0gcjgxNTNfZWNtLm9cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjE6I2luY2x1ZGUgXFxcImFxYzExMS5oXFxcIlxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjM6c3RhdGljIGludCBhcWMxMTFfcmVhZF9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNC1cXHRcXHRcXHRcXHR1MTYgaW5kZXgsIHUxNiBzaXplLCB2b2lkICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQxLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MjpzdGF0aWMgaW50IGFxYzExMV9yZWFkX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00My1cXHRcXHRcXHQgICB1MTYgaW5kZXgsIHUxNiBzaXplLCB2b2lkICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MTpzdGF0aWMgaW50IGFxYzExMV9yZWFkMTZfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjItXFx0XFx0XFx0XFx0ICB1MTYgaW5kZXgsIHUxNiAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjY6XFx0cmV0ID0gYXFjMTExX3JlYWRfY21kX25vcG0oZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKCpkYXRhKSwgZGF0YSk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY3LVxcdGxlMTZfdG9fY3B1cyhkYXRhKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzI6c3RhdGljIGludCBhcWMxMTFfcmVhZDE2X2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03My1cXHRcXHRcXHQgICAgIHUxNiBpbmRleCwgdTE2ICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc2LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NzpcXHRyZXQgPSBhcWMxMTFfcmVhZF9jbWQoZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKCpkYXRhKSwgZGF0YSk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc4LVxcdGxlMTZfdG9fY3B1cyhkYXRhKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04Mi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6ODM6c3RhdGljIGludCBfX2FxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHU4IHJlcXR5cGUsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTg0LVxcdFxcdFxcdCAgICAgIHUxNiB2YWx1ZSwgdTE2IGluZGV4LCB1MTYgc2l6ZSwgY29uc3Qgdm9pZCAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTMtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjExNDpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMTUtXFx0XFx0XFx0XFx0IHUxNiBpbmRleCwgdTE2IHNpemUsIHZvaWQgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTE4LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxMTk6XFx0cmV0ID0gX19hcWMxMTFfd3JpdGVfY21kKGRldiwgY21kLCBVU0JfRElSX09VVCB8IFVTQl9UWVBFX1ZFTkRPUiB8XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEyMC1cXHRcXHRcXHRcXHQgVVNCX1JFQ0lQX0RFVklDRSwgdmFsdWUsIGluZGV4LCBzaXplLCBkYXRhKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMjQtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjEyNTpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWQoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTI2LVxcdFxcdFxcdCAgICB1MTYgaW5kZXgsIHUxNiBzaXplLCBjb25zdCB2b2lkICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTEzMi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTMzOlxcdHJldCA9IF9fYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgVVNCX0RJUl9PVVQgfCBVU0JfVFlQRV9WRU5ET1IgfFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xMzQtXFx0XFx0XFx0XFx0IFVTQl9SRUNJUF9ERVZJQ0UsIHZhbHVlLCBpbmRleCwgc2l6ZSwgZGF0YSk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQwLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDE6c3RhdGljIGludCBhcWMxMTFfd3JpdGUxNl9jbWRfbm9wbShzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNDItXFx0XFx0XFx0XFx0ICAgdTE2IGluZGV4LCB1MTYgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTQ3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNDg6XFx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWRfbm9wbShkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE0OS19XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1MC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTUxOnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlMTZfY21kKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggY21kLCB1MTYgdmFsdWUsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1Mi1cXHRcXHRcXHQgICAgICB1MTYgaW5kZXgsIHUxNiAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNTctXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE1ODpcXHRyZXR1cm4gYXFjMTExX3dyaXRlX2NtZChkZXYsIGNtZCwgdmFsdWUsIGluZGV4LCBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE1OS19XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2MC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTYxOnN0YXRpYyBpbnQgYXFjMTExX3dyaXRlMzJfY21kX25vcG0oc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTYyLVxcdFxcdFxcdFxcdCAgIHUxNiBpbmRleCwgdTMyICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE2Ny1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTY4OlxcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kX25vcG0oZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKHRtcCksIFxcdTAwMjZ0bXApO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNjktfVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNzAtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE3MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTMyX2NtZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNzItXFx0XFx0XFx0ICAgICAgdTE2IGluZGV4LCB1MzIgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTc3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoxNzg6XFx0cmV0dXJuIGFxYzExMV93cml0ZV9jbWQoZGV2LCBjbWQsIHZhbHVlLCBpbmRleCwgc2l6ZW9mKHRtcCksIFxcdTAwMjZ0bXApO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xNzktfVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xODAtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE4MTpzdGF0aWMgaW50IGFxYzExMV93cml0ZV9jbWRfYXN5bmMoc3RydWN0IHVzYm5ldCAqZGV2LCB1OCBjbWQsIHUxNiB2YWx1ZSxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTgyLVxcdFxcdFxcdFxcdCAgdTE2IGluZGV4LCB1MTYgc2l6ZSwgdm9pZCAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xODgtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjE4OTpzdGF0aWMgaW50IGFxYzExMV93cml0ZTE2X2NtZF9hc3luYyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHU4IGNtZCwgdTE2IHZhbHVlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0xOTAtXFx0XFx0XFx0XFx0ICAgIHUxNiBpbmRleCwgdTE2ICpkYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5NS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MTk2OlxcdHJldHVybiBhcWMxMTFfd3JpdGVfY21kX2FzeW5jKGRldiwgY21kLCB2YWx1ZSwgaW5kZXgsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTE5Ny1cXHRcXHRcXHRcXHQgICAgICBzaXplb2YodG1wKSwgXFx1MDAyNnRtcCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMTk5LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMDA6c3RhdGljIHZvaWQgYXFjMTExX2dldF9kcnZpbmZvKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIwMS1cXHRcXHRcXHQgICAgICAgc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyAqaW5mbylcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMDMtXFx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjA0OlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMDUtXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjA4LVxcdHNucHJpbnRmKGluZm8tXFx1MDAzZWZ3X3ZlcnNpb24sIHNpemVvZihpbmZvLVxcdTAwM2Vmd192ZXJzaW9uKSwgXFxcIiV1LiV1LiV1XFxcIixcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjA5OlxcdFxcdCBhcWMxMTFfZGF0YS1cXHUwMDNlZndfdmVyLm1ham9yLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMTA6XFx0XFx0IGFxYzExMV9kYXRhLVxcdTAwM2Vmd192ZXIubWlub3IsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIxMTpcXHRcXHQgYXFjMTExX2RhdGEtXFx1MDAzZWZ3X3Zlci5yZXYpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTItfVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTMtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIxNDpzdGF0aWMgdm9pZCBhcWMxMTFfZ2V0X3dvbChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTUtXFx0XFx0XFx0ICAgc3RydWN0IGV0aHRvb2xfd29saW5mbyAqd29saW5mbylcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTctXFx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjE4OlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMTktXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjIyLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMjM6XFx0aWYgKGFxYzExMV9kYXRhLVxcdTAwM2V3b2xfZmxhZ3MgXFx1MDAyNiBBUV9XT0xfRkxBR19NUClcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjI0LVxcdFxcdHdvbGluZm8tXFx1MDAzZXdvbG9wdHMgfD0gV0FLRV9NQUdJQztcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMjYtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIyNzpzdGF0aWMgaW50IGFxYzExMV9zZXRfd29sKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIyOC1cXHRcXHRcXHQgIHN0cnVjdCBldGh0b29sX3dvbGluZm8gKndvbGluZm8pXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjMwLVxcdHN0cnVjdCB1c2JuZXQgKmRldiA9IG5ldGRldl9wcml2KG5ldCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjIzMTpcXHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVxcdTAwM2Vkcml2ZXJfcHJpdjtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjMyLVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTIzNS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjM2OlxcdGFxYzExMV9kYXRhLVxcdTAwM2V3b2xfZmxhZ3MgPSAwO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yMzctXFx0aWYgKHdvbGluZm8tXFx1MDAzZXdvbG9wdHMgXFx1MDAyNiBXQUtFX01BR0lDKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyMzg6XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXdvbF9mbGFncyB8PSBBUV9XT0xfRkxBR19NUDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjM5LVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTI0Mi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjQzOnN0YXRpYyB2b2lkIGFxYzExMV9zcGVlZF90b19saW5rX21vZGUodTMyIHNwZWVkLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNDQtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGV0aHRvb2xfbGlua19rc2V0dGluZ3MgKmVsaylcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNjUtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjI2NjpzdGF0aWMgaW50IGFxYzExMV9nZXRfbGlua19rc2V0dGluZ3Moc3RydWN0IG5ldF9kZXZpY2UgKm5ldCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjY3LVxcdFxcdFxcdFxcdCAgICAgc3RydWN0IGV0aHRvb2xfbGlua19rc2V0dGluZ3MgKmVsaylcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNjktXFx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MjcwOlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yNzEtXFx0ZW51bSB1c2JfZGV2aWNlX3NwZWVkIHVzYl9zcGVlZCA9IGRldi1cXHUwMDNldWRldi1cXHUwMDNlc3BlZWQ7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjkyLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzoyOTM6XFx0aWYgKGFxYzExMV9kYXRhLVxcdTAwM2VhdXRvbmVnKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0yOTQtXFx0XFx0bGlua21vZGVfY29weShlbGstXFx1MDAzZWxpbmtfbW9kZXMuYWR2ZXJ0aXNpbmcsXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMjk2LVxcdGVsc2VcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Mjk3OlxcdFxcdGFxYzExMV9zcGVlZF90b19saW5rX21vZGUoYXFjMTExX2RhdGEtXFx1MDAzZWFkdmVydGlzZWRfc3BlZWQsIGVsayk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTI5OC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Mjk5OlxcdGVsay1cXHUwMDNlYmFzZS5hdXRvbmVnID0gYXFjMTExX2RhdGEtXFx1MDAzZWF1dG9uZWc7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTMwMC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzAxOlxcdHN3aXRjaCAoYXFjMTExX2RhdGEtXFx1MDAzZWxpbmtfc3BlZWQpIHtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzAyLVxcdGNhc2UgQVFfSU5UX1NQRUVEXzVHOlxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTMyMC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzIxOnN0YXRpYyB2b2lkIGFxYzExMV9zZXRfcGh5X3NwZWVkKHN0cnVjdCB1c2JuZXQgKmRldiwgdTggYXV0b25lZywgdTE2IHNwZWVkKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMjIte1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMjM6XFx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi1cXHUwMDNlZHJpdmVyX3ByaXY7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTMyNC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI1OlxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIFxcdTAwMjY9IH5BUV9BRFZfTUFTSztcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI2OlxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX1BBVVNFO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMjc6XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfQVNZTV9QQVVTRTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI4OlxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX0RPV05TSElGVDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzI5OlxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIFxcdTAwMjY9IH5BUV9EU0hfUkVUUklFU19NQVNLO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMzA6XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gKDMgXFx1MDAzY1xcdTAwM2MgQVFfRFNIX1JFVFJJRVNfU0hJRlQpIFxcdTAwMjZcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzMxLVxcdFxcdFxcdFxcdEFRX0RTSF9SRVRSSUVTX01BU0s7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzM1LVxcdFxcdGNhc2UgU1BFRURfNTAwMDpcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzM2OlxcdFxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl81RztcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzM3LVxcdFxcdFxcdGZhbGx0aHJvdWdoO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zMzgtXFx0XFx0Y2FzZSBTUEVFRF8yNTAwOlxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozMzk6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzJHNTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzQwLVxcdFxcdFxcdGZhbGx0aHJvdWdoO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNDEtXFx0XFx0Y2FzZSBTUEVFRF8xMDAwOlxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNDI6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzFHO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNDMtXFx0XFx0XFx0ZmFsbHRocm91Z2g7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM0NC1cXHRcXHRjYXNlIFNQRUVEXzEwMDpcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzQ1OlxcdFxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl8xMDBNO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNDYtXFx0XFx0XFx0LyogZmFsbC10aHJvdWdoICovXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzUwLVxcdFxcdGNhc2UgU1BFRURfNTAwMDpcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzUxOlxcdFxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl81RztcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzUyLVxcdFxcdFxcdGJyZWFrO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTMtXFx0XFx0Y2FzZSBTUEVFRF8yNTAwOlxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNTQ6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzJHNTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzU1LVxcdFxcdFxcdGJyZWFrO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTYtXFx0XFx0Y2FzZSBTUEVFRF8xMDAwOlxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNTc6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfQURWXzFHO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNTgtXFx0XFx0XFx0YnJlYWs7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM1OS1cXHRcXHRjYXNlIFNQRUVEXzEwMDpcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzYwOlxcdFxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnIHw9IEFRX0FEVl8xMDBNO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zNjEtXFx0XFx0XFx0YnJlYWs7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzY0LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNjU6XFx0YXFjMTExX3dyaXRlMzJfY21kKGRldiwgQVFfUEhZX09QUywgMCwgMCwgXFx1MDAyNmFxYzExMV9kYXRhLVxcdTAwM2VwaHlfY2ZnKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzY2LX1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzY3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNjg6c3RhdGljIGludCBhcWMxMTFfc2V0X2xpbmtfa3NldHRpbmdzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM2OS1cXHRcXHRcXHRcXHQgICAgIGNvbnN0IHN0cnVjdCBldGh0b29sX2xpbmtfa3NldHRpbmdzICplbGspXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzcxLVxcdHN0cnVjdCB1c2JuZXQgKmRldiA9IG5ldGRldl9wcml2KG5ldCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM3MjpcXHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhID0gZGV2LVxcdTAwM2Vkcml2ZXJfcHJpdjtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzczLVxcdGVudW0gdXNiX2RldmljZV9zcGVlZCB1c2Jfc3BlZWQgPSBkZXYtXFx1MDAzZXVkZXYtXFx1MDAzZXNwZWVkO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTM3Ny1cXHRpZiAoYXV0b25lZyA9PSBBVVRPTkVHX0VOQUJMRSkge1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozNzg6XFx0XFx0aWYgKGFxYzExMV9kYXRhLVxcdTAwM2VhdXRvbmVnICE9IEFVVE9ORUdfRU5BQkxFKSB7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM3OTpcXHRcXHRcXHRhcWMxMTFfZGF0YS1cXHUwMDNlYXV0b25lZyA9IEFVVE9ORUdfRU5BQkxFO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzozODA6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZWFkdmVydGlzZWRfc3BlZWQgPVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zODEtXFx0XFx0XFx0XFx0XFx0KHVzYl9zcGVlZCA9PSBVU0JfU1BFRURfU1VQRVIpID9cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzgyLVxcdFxcdFxcdFxcdFxcdCBTUEVFRF81MDAwIDogU1BFRURfMTAwMDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6MzgzOlxcdFxcdFxcdGFxYzExMV9zZXRfcGh5X3NwZWVkKGRldiwgYXFjMTExX2RhdGEtXFx1MDAzZWF1dG9uZWcsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjM4NDpcXHRcXHRcXHRcXHRcXHQgICAgIGFxYzExMV9kYXRhLVxcdTAwM2VhZHZlcnRpc2VkX3NwZWVkKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtMzg1LVxcdFxcdH1cXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy0zOTktXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQwMDpcXHRcXHRhcWMxMTFfZGF0YS1cXHUwMDNlYXV0b25lZyA9IEFVVE9ORUdfRElTQUJMRTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDAxLVxcdFxcdGlmIChzcGVlZCAhPSBTUEVFRF9VTktOT1dOKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MDI6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZWFkdmVydGlzZWRfc3BlZWQgPSBzcGVlZDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDAzLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MDQ6XFx0XFx0YXFjMTExX3NldF9waHlfc3BlZWQoZGV2LCBhcWMxMTFfZGF0YS1cXHUwMDNlYXV0b25lZyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDA1OlxcdFxcdFxcdFxcdCAgICAgYXFjMTExX2RhdGEtXFx1MDAzZWFkdmVydGlzZWRfc3BlZWQpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MDYtXFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQxMC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDExOnN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9vcHMgYXFjMTExX2V0aHRvb2xfb3BzID0ge1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MTI6XFx0LmdldF9kcnZpbmZvID0gYXFjMTExX2dldF9kcnZpbmZvLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MTM6XFx0LmdldF93b2wgPSBhcWMxMTFfZ2V0X3dvbCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDE0OlxcdC5zZXRfd29sID0gYXFjMTExX3NldF93b2wsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQxNS1cXHQuZ2V0X21zZ2xldmVsID0gdXNibmV0X2dldF9tc2dsZXZlbCxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MTctXFx0LmdldF9saW5rID0gZXRodG9vbF9vcF9nZXRfbGluayxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDE4OlxcdC5nZXRfbGlua19rc2V0dGluZ3MgPSBhcWMxMTFfZ2V0X2xpbmtfa3NldHRpbmdzLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MTk6XFx0LnNldF9saW5rX2tzZXR0aW5ncyA9IGFxYzExMV9zZXRfbGlua19rc2V0dGluZ3NcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDIwLX07XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQyMS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDIyOnN0YXRpYyBpbnQgYXFjMTExX2NoYW5nZV9tdHUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCwgaW50IG5ld19tdHUpXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQyMy17XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDMwLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0MzE6XFx0YXFjMTExX3JlYWQxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTUVESVVNX1NUQVRVU19NT0RFLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00MzItXFx0XFx0XFx0ICAyLCBcXHUwMDI2cmVnMTYpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQzNy1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDM4OlxcdGFxYzExMV93cml0ZTE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9NRURJVU1fU1RBVFVTX01PREUsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQzOS1cXHRcXHRcXHQgICAyLCBcXHUwMDI2cmVnMTYpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ0My1cXHRcXHQvKiBSWCBidWxrIGNvbmZpZ3VyYXRpb24gKi9cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDQ0OlxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhfQlVMS0lOX1FDVFJMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00NDUtXFx0XFx0XFx0XFx0IDUsIDUsIGJ1Zik7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDU3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0NTg6XFx0YXFjMTExX3dyaXRlMTZfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1BBVVNFX1dBVEVSTFZMX0xPVyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDU5LVxcdFxcdFxcdCAgIDIsIFxcdTAwMjZyZWcxNik7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDYzLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0NjQ6c3RhdGljIGludCBhcWMxMTFfc2V0X21hY19hZGRyKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIHZvaWQgKnApXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ2NS17XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDczLVxcdC8qIFNldCB0aGUgTUFDIGFkZHJlc3MgKi9cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NDc0OlxcdHJldCA9IGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfTk9ERV9JRCwgRVRIX0FMRU4sXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ3NS1cXHRcXHRcXHQgICAgICAgIEVUSF9BTEVOLCBuZXQtXFx1MDAzZWRldl9hZGRyKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00ODEtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ4MjpzdGF0aWMgaW50IGFxYzExMV92bGFuX3J4X2tpbGxfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTQ4My1cXHRcXHRcXHRcXHQgICBfX2JlMTYgcHJvdG8sIHUxNiB2aWQpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNDg5LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0OTA6XFx0YXFjMTExX3JlYWRfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTEtXFx0dmxhbl9jdHJsID0gcmVnODtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTQtXFx0cmVnOCA9ICh2aWQgLyAxNik7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ5NTpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQUREUkVTUywgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTYtXFx0LyogRGF0YSAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy00OTctXFx0cmVnOCA9IHZsYW5fY3RybCB8IFNGUl9WTEFOX0NPTlRST0xfUkQ7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjQ5ODpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo0OTk6XFx0YXFjMTExX3JlYWQxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXFx1MDAyNnJlZzE2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTAwLVxcdHJlZzE2IFxcdTAwMjY9IH4oMSBcXHUwMDNjXFx1MDAzYyAodmlkICUgMTYpKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTAxOlxcdGFxYzExMV93cml0ZTE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0RBVEEwLCAyLCBcXHUwMDI2cmVnMTYpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MDItXFx0cmVnOCA9IHZsYW5fY3RybCB8IFNGUl9WTEFOX0NPTlRST0xfV0U7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUwMzpcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1ZMQU5fSURfQ09OVFJPTCwgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MDQtXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTA3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1MDg6c3RhdGljIGludCBhcWMxMTFfdmxhbl9yeF9hZGRfdmlkKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQsIF9fYmUxNiBwcm90bywgdTE2IHZpZClcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTA5LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MTQtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUxNTpcXHRhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUxNi1cXHR2bGFuX2N0cmwgPSByZWc4O1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUxOS1cXHRyZWc4ID0gKHZpZCAvIDE2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTIwOlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9BRERSRVNTLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyMS1cXHQvKiBEYXRhICovXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUyMi1cXHRyZWc4ID0gdmxhbl9jdHJsIHwgU0ZSX1ZMQU5fQ09OVFJPTF9SRDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTIzOlxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyNDpcXHRhcWMxMTFfcmVhZDE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0RBVEEwLCAyLCBcXHUwMDI2cmVnMTYpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MjUtXFx0cmVnMTYgfD0gKDEgXFx1MDAzY1xcdTAwM2MgKHZpZCAlIDE2KSk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjUyNjpcXHRhcWMxMTFfd3JpdGUxNl9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9EQVRBMCwgMiwgXFx1MDAyNnJlZzE2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTI3LVxcdHJlZzggPSB2bGFuX2N0cmwgfCBTRlJfVkxBTl9DT05UUk9MX1dFO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1Mjg6XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9WTEFOX0lEX0NPTlRST0wsIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTI5LVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTUzMi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTMzOnN0YXRpYyB2b2lkIGFxYzExMV9zZXRfcnhfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0KVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MzQte1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MzUtXFx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTM2OlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01MzctXFx0aW50IG1jX2NvdW50ID0gMDtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NDAtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU0MTpcXHRhcWMxMTFfZGF0YS1cXHUwMDNlcnhjdGwgXFx1MDAyNj0gfihTRlJfUlhfQ1RMX1BSTyB8IFNGUl9SWF9DVExfQU1BTEwgfFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NDItXFx0XFx0XFx0XFx0U0ZSX1JYX0NUTF9BTSk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQ0LVxcdGlmIChuZXQtXFx1MDAzZWZsYWdzIFxcdTAwMjYgSUZGX1BST01JU0MpIHtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTQ1OlxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VyeGN0bCB8PSBTRlJfUlhfQ1RMX1BSTztcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQ2LVxcdH0gZWxzZSBpZiAoKG5ldC1cXHUwMDNlZmxhZ3MgXFx1MDAyNiBJRkZfQUxMTVVMVEkpIHx8IG1jX2NvdW50IFxcdTAwM2UgQVFfTUFYX01DQVNUKSB7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU0NzpcXHRcXHRhcWMxMTFfZGF0YS1cXHUwMDNlcnhjdGwgfD0gU0ZSX1JYX0NUTF9BTUFMTDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTQ4LVxcdH0gZWxzZSBpZiAoIW5ldGRldl9tY19lbXB0eShuZXQpKSB7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTU3LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1NTg6XFx0XFx0YXFjMTExX3dyaXRlX2NtZF9hc3luYyhkZXYsIEFRX0FDQ0VTU19NQUMsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU1OS1cXHRcXHRcXHRcXHQgICAgICAgU0ZSX01VTFRJX0ZJTFRFUl9BUlJZLFxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU2Mi1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTYzOlxcdFxcdGFxYzExMV9kYXRhLVxcdTAwM2VyeGN0bCB8PSBTRlJfUlhfQ1RMX0FNO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjQtXFx0fVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjUtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU2NjpcXHRhcWMxMTFfd3JpdGUxNl9jbWRfYXN5bmMoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhfQ1RMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1Njc6XFx0XFx0XFx0XFx0IDIsIFxcdTAwMjZhcWMxMTFfZGF0YS1cXHUwMDNlcnhjdGwpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjgtfVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NjktXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU3MDpzdGF0aWMgaW50IGFxYzExMV9zZXRfZmVhdHVyZXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTcxLVxcdFxcdFxcdCAgICAgICBuZXRkZXZfZmVhdHVyZXNfdCBmZWF0dXJlcylcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NzMtXFx0c3RydWN0IHVzYm5ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTc0OlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NzUtXFx0bmV0ZGV2X2ZlYXR1cmVzX3QgY2hhbmdlZCA9IG5ldC1cXHUwMDNlZmVhdHVyZXMgXiBmZWF0dXJlcztcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy01NzktXFx0aWYgKGNoYW5nZWQgXFx1MDAyNiBORVRJRl9GX0lQX0NTVU0pIHtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTgwOlxcdFxcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgxLVxcdFxcdHJlZzggXj0gU0ZSX1RYQ09FX1RDUCB8IFNGUl9UWENPRV9VRFA7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU4MjpcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1RYQ09FX0NUTCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTgzLVxcdFxcdFxcdFxcdCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTg2LVxcdGlmIChjaGFuZ2VkIFxcdTAwMjYgTkVUSUZfRl9JUFY2X0NTVU0pIHtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NTg3OlxcdFxcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTg4LVxcdFxcdHJlZzggXj0gU0ZSX1RYQ09FX1RDUFY2IHwgU0ZSX1RYQ09FX1VEUFY2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1ODk6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9UWENPRV9DVEwsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU5MC1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU5My1cXHRpZiAoY2hhbmdlZCBcXHUwMDI2IE5FVElGX0ZfUlhDU1VNKSB7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjU5NDpcXHRcXHRhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfUlhDT0VfQ1RMLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTU5NS1cXHRcXHRpZiAoZmVhdHVyZXMgXFx1MDAyNiBORVRJRl9GX1JYQ1NVTSkge1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo1OTY6XFx0XFx0XFx0YXFjMTExX2RhdGEtXFx1MDAzZXJ4X2NoZWNrc3VtID0gMTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTk3LVxcdFxcdFxcdHJlZzggXFx1MDAyNj0gfihTRlJfUlhDT0VfSVAgfCBTRlJfUlhDT0VfVENQIHwgU0ZSX1JYQ09FX1VEUCB8XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNTk5LVxcdFxcdH0gZWxzZSB7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYwMDpcXHRcXHRcXHRhcWMxMTFfZGF0YS1cXHUwMDNlcnhfY2hlY2tzdW0gPSAwO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MDEtXFx0XFx0XFx0cmVnOCB8PSBTRlJfUlhDT0VfSVAgfCBTRlJfUlhDT0VfVENQIHwgU0ZSX1JYQ09FX1VEUCB8XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjA0LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2MDU6XFx0XFx0YXFjMTExX3dyaXRlX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9SWENPRV9DVEwsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYwNi1cXHRcXHRcXHRcXHQgMSwgMSwgXFx1MDAyNnJlZzgpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYxNC1cXHRcXHRcXHRcXHRyZWc4ID0gaTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjE1OlxcdFxcdFxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MTYtXFx0XFx0XFx0XFx0XFx0XFx0IFNGUl9WTEFOX0lEX0FERFJFU1MsXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjE4LVxcdFxcdFxcdFxcdC8qIERhdGEgKi9cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjE5OlxcdFxcdFxcdFxcdGFxYzExMV93cml0ZTE2X2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyMC1cXHRcXHRcXHRcXHRcXHRcXHQgICBTRlJfVkxBTl9JRF9EQVRBMCxcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjItXFx0XFx0XFx0XFx0cmVnOCA9IFNGUl9WTEFOX0NPTlRST0xfV0U7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYyMzpcXHRcXHRcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjI0LVxcdFxcdFxcdFxcdFxcdFxcdCBTRlJfVkxBTl9JRF9DT05UUk9MLFxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTYyNi1cXHRcXHRcXHR9XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYyNzpcXHRcXHRcXHRhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjgtXFx0XFx0XFx0XFx0XFx0MSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MjktXFx0XFx0XFx0cmVnOCB8PSBTRlJfVkxBTl9DT05UUk9MX1ZGRTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjMwOlxcdFxcdFxcdGFxYzExMV93cml0ZV9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzEtXFx0XFx0XFx0XFx0XFx0IFNGUl9WTEFOX0lEX0NPTlRST0wsIDEsIDEsIFxcdTAwMjZyZWc4KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjMyLVxcdFxcdH0gZWxzZSB7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYzMzpcXHRcXHRcXHRhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9BQ0NFU1NfTUFDLCBTRlJfVkxBTl9JRF9DT05UUk9MLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzQtXFx0XFx0XFx0XFx0XFx0MSwgMSwgXFx1MDAyNnJlZzgpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02MzUtXFx0XFx0XFx0cmVnOCBcXHUwMDI2PSB+U0ZSX1ZMQU5fQ09OVFJPTF9WRkU7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjYzNjpcXHRcXHRcXHRhcWMxMTFfd3JpdGVfY21kKGRldiwgQVFfQUNDRVNTX01BQyxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjM3LVxcdFxcdFxcdFxcdFxcdCBTRlJfVkxBTl9JRF9DT05UUk9MLCAxLCAxLCBcXHUwMDI2cmVnOCk7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjQzLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NDQ6c3RhdGljIGNvbnN0IHN0cnVjdCBuZXRfZGV2aWNlX29wcyBhcWMxMTFfbmV0ZGV2X29wcyA9IHtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjQ1LVxcdC5uZG9fb3BlblxcdFxcdD0gdXNibmV0X29wZW4sXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjQ5LVxcdC5uZG9fZ2V0X3N0YXRzNjRcXHQ9IGRldl9nZXRfdHN0YXRzNjQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1MDpcXHQubmRvX2NoYW5nZV9tdHVcXHRcXHQ9IGFxYzExMV9jaGFuZ2VfbXR1LFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NTE6XFx0Lm5kb19zZXRfbWFjX2FkZHJlc3NcXHQ9IGFxYzExMV9zZXRfbWFjX2FkZHIsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY1Mi1cXHQubmRvX3ZhbGlkYXRlX2FkZHJcXHQ9IGV0aF92YWxpZGF0ZV9hZGRyLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NTM6XFx0Lm5kb192bGFuX3J4X2FkZF92aWRcXHQ9IGFxYzExMV92bGFuX3J4X2FkZF92aWQsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1NDpcXHQubmRvX3ZsYW5fcnhfa2lsbF92aWRcXHQ9IGFxYzExMV92bGFuX3J4X2tpbGxfdmlkLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NTU6XFx0Lm5kb19zZXRfcnhfbW9kZVxcdD0gYXFjMTExX3NldF9yeF9tb2RlLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NTY6XFx0Lm5kb19zZXRfZmVhdHVyZXNcXHQ9IGFxYzExMV9zZXRfZmVhdHVyZXMsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY1Ny19O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NTgtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY1OTpzdGF0aWMgaW50IGFxYzExMV9yZWFkX3Blcm1fbWFjKHN0cnVjdCB1c2JuZXQgKmRldilcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjYwLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02NjMtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY2NDpcXHRyZXQgPSBhcWMxMTFfcmVhZF9jbWQoZGV2LCBBUV9GTEFTSF9QQVJBTUVURVJTLCAwLCAwLCBFVEhfQUxFTiwgYnVmKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjY1LVxcdGlmIChyZXQgXFx1MDAzYyAwKVxcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY3NC1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Njc1OnN0YXRpYyB2b2lkIGFxYzExMV9yZWFkX2Z3X3ZlcnNpb24oc3RydWN0IHVzYm5ldCAqZGV2LFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo2NzY6XFx0XFx0XFx0XFx0ICAgc3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSlcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjc3LXtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Njc4OlxcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIEFRX0ZXX1ZFUl9NQUpPUixcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Njc5OlxcdFxcdFxcdDEsIDEsIFxcdTAwMjZhcWMxMTFfZGF0YS1cXHUwMDNlZndfdmVyLm1ham9yKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjgwOlxcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIEFRX0ZXX1ZFUl9NSU5PUixcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjgxOlxcdFxcdFxcdDEsIDEsIFxcdTAwMjZhcWMxMTFfZGF0YS1cXHUwMDNlZndfdmVyLm1pbm9yKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjgyOlxcdGFxYzExMV9yZWFkX2NtZChkZXYsIEFRX0FDQ0VTU19NQUMsIEFRX0ZXX1ZFUl9SRVYsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4MzpcXHRcXHRcXHQxLCAxLCBcXHUwMDI2YXFjMTExX2RhdGEtXFx1MDAzZWZ3X3Zlci5yZXYpO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02ODQtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4NTpcXHRpZiAoYXFjMTExX2RhdGEtXFx1MDAzZWZ3X3Zlci5tYWpvciBcXHUwMDI2IDB4ODApXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4NjpcXHRcXHRhcWMxMTFfZGF0YS1cXHUwMDNlZndfdmVyLm1ham9yIFxcdTAwMjY9IH4weDgwO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02ODctfVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy02ODgtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjY4OTpzdGF0aWMgaW50IGFxYzExMV9iaW5kKHN0cnVjdCB1c2JuZXQgKmRldiwgc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY5MC17XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNjkyLVxcdGVudW0gdXNiX2RldmljZV9zcGVlZCB1c2Jfc3BlZWQgPSB1ZGV2LVxcdTAwM2VzcGVlZDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NjkzOlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGE7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTY5NC1cXHRpbnQgcmV0O1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTcwOS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzEwOlxcdGFxYzExMV9kYXRhID0ga3phbGxvY19vYmooKmFxYzExMV9kYXRhKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzExOlxcdGlmICghYXFjMTExX2RhdGEpXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTcxMi1cXHRcXHRyZXR1cm4gLUVOT01FTTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzEzLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3MTQ6XFx0Lyogc3RvcmUgYXFjMTExX2RhdGEgcG9pbnRlciBpbiBkZXZpY2UgZGF0YSBmaWVsZCAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3MTU6XFx0ZGV2LVxcdTAwM2Vkcml2ZXJfcHJpdiA9IGFxYzExMV9kYXRhO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MTYtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTcxNy1cXHQvKiBJbml0IHRoZSBNQUMgYWRkcmVzcyAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3MTg6XFx0cmV0ID0gYXFjMTExX3JlYWRfcGVybV9tYWMoZGV2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzE5LVxcdGlmIChyZXQpXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzMyLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3MzM6XFx0ZGV2LVxcdTAwM2VuZXQtXFx1MDAzZW5ldGRldl9vcHMgPSBcXHUwMDI2YXFjMTExX25ldGRldl9vcHM7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjczNDpcXHRkZXYtXFx1MDAzZW5ldC1cXHUwMDNlZXRodG9vbF9vcHMgPSBcXHUwMDI2YXFjMTExX2V0aHRvb2xfb3BzO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03MzUtXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzQ0LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NDU6XFx0YXFjMTExX3JlYWRfZndfdmVyc2lvbihkZXYsIGFxYzExMV9kYXRhKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzQ2OlxcdGFxYzExMV9kYXRhLVxcdTAwM2VhdXRvbmVnID0gQVVUT05FR19FTkFCTEU7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc0NzpcXHRhcWMxMTFfZGF0YS1cXHUwMDNlYWR2ZXJ0aXNlZF9zcGVlZCA9ICh1c2Jfc3BlZWQgPT0gVVNCX1NQRUVEX1NVUEVSKSA/XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc0OC1cXHRcXHRcXHRcXHRcXHQgU1BFRURfNTAwMCA6IFNQRUVEXzEwMDA7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzUyLW91dDpcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzUzOlxcdGtmcmVlKGFxYzExMV9kYXRhKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzU0LVxcdHJldHVybiByZXQ7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzU2LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NTc6c3RhdGljIHZvaWQgYXFjMTExX3VuYmluZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NTgte1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NTk6XFx0c3RydWN0IGFxYzExMV9kYXRhICphcWMxMTFfZGF0YSA9IGRldi1cXHUwMDNlZHJpdmVyX3ByaXY7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc2MC1cXHR1MTYgcmVnMTY7XFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzYzLVxcdHJlZzE2ID0gU0ZSX1BIWVBXUl9SU1RDVExfQlo7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc2NDpcXHRhcWMxMTFfd3JpdGUxNl9jbWRfbm9wbShkZXYsIEFRX0FDQ0VTU19NQUMsIFNGUl9QSFlQV1JfUlNUQ1RMLFxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03NjUtXFx0XFx0XFx0XFx0MiwgXFx1MDAyNnJlZzE2KTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzY2LVxcdHJlZzE2ID0gMDtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzY3OlxcdGFxYzExMV93cml0ZTE2X2NtZF9ub3BtKGRldiwgQVFfQUNDRVNTX01BQywgU0ZSX1BIWVBXUl9SU1RDVEwsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc2OC1cXHRcXHRcXHRcXHQyLCBcXHUwMDI2cmVnMTYpO1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc3MC1cXHQvKiBQb3dlciBkb3duIGV0aGVybmV0IFBIWSAqL1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NzE6XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgXFx1MDAyNj0gfkFRX0FEVl9NQVNLO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NzI6XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgfD0gQVFfTE9XX1BPV0VSO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3NzM6XFx0YXFjMTExX2RhdGEtXFx1MDAzZXBoeV9jZmcgXFx1MDAyNj0gfkFRX1BIWV9QT1dFUl9FTjtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Nzc0OlxcdGFxYzExMV93cml0ZTMyX2NtZF9ub3BtKGRldiwgQVFfUEhZX09QUywgMCwgMCxcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Nzc1OlxcdFxcdFxcdFxcdFxcdTAwMjZhcWMxMTFfZGF0YS1cXHUwMDNlcGh5X2NmZyk7XFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc3Ni1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6Nzc3OlxcdGtmcmVlKGFxYzExMV9kYXRhKTtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzc4LX1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzc5LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3ODA6c3RhdGljIHZvaWQgYXFjMTExX3N0YXR1cyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1cmIgKnVyYilcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtNzgxLXtcXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmM6NzgyOlxcdHN0cnVjdCBhcWMxMTFfZGF0YSAqYXFjMTExX2RhdGEgPSBkZXYtXFx1MDAzZWRyaXZlcl9wcml2O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03ODMtXFx0dTY0ICpldmVudF9kYXRhID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy03OTYtXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjc5NzpcXHRhcWMxMTFfZGF0YS1cXHUwMDNlbGlua19zcGVlZCA9ICgqZXZlbnRfZGF0YSBcXHUwMDI2IEFRX1NQRUVEX01BU0spIFxcdTAwM2VcXHUwMDNlXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTc5OC1cXHRcXHRcXHRcXHQgIEFRX1NQRUVEX1NISUZUO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo3OTk6XFx0YXFjMTExX2RhdGEtXFx1MDAzZWxpbmsgPSBsaW5rO1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04MDAtXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvYXFjMTExLmMtODA0LVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4MDU6c3RhdGljIHZvaWQgYXFjMTExX2NvbmZpZ3VyZV9yeChzdHJ1Y3QgdXNibmV0ICpkZXYsXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jOjgwNjpcXHRcXHRcXHRcXHRzdHJ1Y3QgYXFjMTExX2RhdGEgKmFxYzExMV9kYXRhKVxcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04MDcte1xcbi0tXFxuZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jLTgxNy1cXHRidWZbMl0gPSAweDA3O1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYzo4MTg6XFx0c3dpdGNoIChhcWMxMTFfZGF0YS1cXHUwMDNlbGlua19zcGVlZCkge1xcbmRyaXZlcnMvbmV0L3VzYi9hcWMxMTEuYy04MTktXFx0Y2FzZSBBUV9JTlRfU1BFRURfNUc6XFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU3OjQ0Ljk2ODU2OTY2M1oiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NDEyNzUxNDcyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIGFzc3VtaW5nIEknbSBkZWVwIGluIHRoZSB3ZWVkcyB3aXRoIG5ldHdvcmsgZHJpdmVyIGNvbmZpZ3VyYXRpb246XG5cbioqTmF2aWdhdGluZyB0aGUgS2NvbmZpZyBNYXplOiBBVVNCX05FVF9BUUMxMTEgQW5hbHlzaXMqKlxuXG5SaWdodCwgc28gdGhlIHN5c3RlbSBpcyB0ZWxsaW5nIG1lIHRoZSByZWxldmFudCBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyBgQ09ORklHX1VTQl9ORVRfQVFDMTExYC4gTXkgYnJhaW4gaW1tZWRpYXRlbHkgY2xpY2tzIG92ZXIgdG8gdGhlIEtjb25maWcgZmlsZXMuIFRoaXMgaW1wbGllcyB3ZSdyZSBkZWFsaW5nIHdpdGggYSBVU0IgbmV0d29yayBhZGFwdGVyLCBzcGVjaWZpY2FsbHkgb25lIGxldmVyYWdpbmcgdGhlIEFRQzExMSBjaGlwc2V0LlxuXG5NeSBuZXh0IG1vdmUgaXMgYXV0b21hdGljIOKAkyBJIG5lZWQgdG8gZGlnIGludG8gdGhlIGBkcml2ZXJzL25ldC91c2IvS2NvbmZpZ2AgZmlsZS4gVGhhdCdzIHRoZSBsb2dpY2FsIHBsYWNlIHdoZXJlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFVTQiBuZXR3b3JrIGRyaXZlcnMgYXJlIGRlZmluZWQuIEkgaGF2ZSB0byB2ZXJpZnkgdGhlIG9wdGlvbidzIHByZXNlbmNlIHRoZXJlLCBhbmQgbWF5YmUgZ2V0IGEgaGludCBvbiB3aGF0IGl0IGNvbnRyb2xzLiBJJ2xsIG5lZWQgdG8gY29uZmlybSB0aGUgc3ltYm9sIGBVU0JfTkVUX0FRQzExMWAgaXMgYWN0dWFsbHkgZGVmaW5lZCwgd2hpY2ggd291bGQgdGVsbCBtZSBpZiB0aGUgZHJpdmVyIGZvciB0aGUgQVFDMTExIGlzIGludGVuZGVkIHRvIGJlIGJ1aWx0IGFzIGEgbG9hZGFibGUgbW9kdWxlIG9yIGJ1aWx0IGludG8gdGhlIGtlcm5lbC4gSSB3aWxsIGFsc28gYmUgbG9va2luZyBmb3IgYW55IGRlcGVuZGVuY2llcyBhbmQgZGVwZW5kZW5jaWVzIG9uIG90aGVyIGtlcm5lbCBzdWJzeXN0ZW1zLiBJIG1heSBhbHNvIG5lZWQgdG8gY2hlY2sgdGhlIGRlcGVuZGVuY2llcyBvbiBvdGhlciBzeW1ib2xzIHRvIGVuc3VyZSBhbGwgcmVxdWlyZWQgY29tcG9uZW50cyBhcmUgZW5hYmxlZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjUwMjMsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo0MywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1Nzo1MC4zODEzMjI5NjRaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYxNjU1NTQ1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIlVTQl9ORVRfQVFDMTExXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3VzYi9LY29uZmlnPTYxND1jb25maWcgVVNCX05FVF9DSDkyMDBcXG4tLVxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNC1cXG5kcml2ZXJzL25ldC91c2IvS2NvbmZpZzo2MjU6Y29uZmlnIFVTQl9ORVRfQVFDMTExXFxuZHJpdmVycy9uZXQvdXNiL0tjb25maWctNjI2LVxcdHRyaXN0YXRlIFxcXCJBcXVhbnRpYSBBUXRpb24gVVNCIHRvIDUvMi41R2JFIENvbnRyb2xsZXJzIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU3OjUwLjQ0Mjk4NzkyOVoiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NjU1MzM1MzgzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgQVFDMTExIEV0aGVybmV0IERyaXZlciBDb25maWd1cmF0aW9uKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhlIGBVU0JfTkVUX0FRQzExMWAgY29uZmlnIOKAkyB0aGF0J3MgdGhlIHN0YXJ0aW5nIHBvaW50LiBNeSBmb2N1cyBuZWVkcyB0byBiZSBvbiB0aGUgYGFxYzExMV9zZXRfbWFjX2FkZHJgIGZ1bmN0aW9uOyB0aGF0J3MgdGhlIG9uZSB0aGUgcGF0Y2ggc2VlbXMgdG8gdG91Y2guIExldCdzIHNlZS4uLiBhcmUgdGhlcmUgYW55IG90aGVyIGZ1bmN0aW9ucyBpbiB0aGUgZHJpdmVyIHRvIGNvbnNpZGVyPyBSaWdodCwgdGhlcmUncyBgYXFjMTExX2JpbmRgLCBgYXFjMTExX3Jlc2V0YCwgYW5kIGBhcWMxMTFfY2hhbmdlX210dWAsIGJ1dCB0aGUgcGF0Y2ggaXMgKm9ubHkqIGFib3V0IGBhcWMxMTFfc2V0X21hY19hZGRyYC5cblxuTm93LCBJIG5lZWQgdG8gdmVyaWZ5IHRoYXQgYGFxYzExMV9zZXRfbWFjX2FkZHJgIGlzIGFjdHVhbGx5IGFjY2Vzc2libGUuIEFscmlnaHQsIGl0J3MgYXNzaWduZWQgdG8gYG5kb19zZXRfbWFjX2FkZHJlc3NgLCB3aGljaCBpcyBnb29kLiBUaGF0IGxpbmtzIGl0IHVwIHRvIGBkZXZfc2V0X21hY19hZGRyZXNzYC4gT2theSwgYW5kICp0aGF0KiBjYW4gYmUgcmVhY2hlZCB0aHJvdWdoIGBkZXZfaW9jdGxgIChzcGVjaWZpY2FsbHkgdGhlIGBTSU9DU0lGSFdBRERSYCBjb21tYW5kKSBvciBldmVuIG5ldGxpbmsgKHRoZSBgUlRNX05FV0xJTktgIG1lc3NhZ2UpLiBQZXJmZWN0LiBUaGF0IG1lYW5zIGl0J3MgZGVmaW5pdGVseSByZWFjaGFibGUgYW5kIGNhbiBiZSB0ZXN0ZWQsIGV2ZW4gd2l0aCBgZHVtbXlfaGNkYCB0byBzaW11bGF0ZSB0aGUgVVNCIGhvc3Qgc2lkZS5cblxuTGV0J3MgcXVpY2tseSBlbnN1cmUgdGhhdCB0aGVyZSBhcmVuJ3QgYW55IG90aGVyIGNvbmZpZ3VyYXRpb24gZGVwZW5kZW5jaWVzIGJleW9uZCB0aGUgb2J2aW91cyBvbmU6IGBVU0JfTkVUX0FRQzExMWAgZGVwZW5kcyBvbiBgVVNCX1VTQk5FVGAuIEFsbCBzZWVtcyB0byBiZSBpbiBvcmRlciBmcm9tIHdoYXQgSSBjYW4gc2VlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTQ3NSwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIzMSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1Nzo1Ni4wOTgzMjUzMjJaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY0MTI5NTg1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBVU0JfTkVUX0FRQzExMVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC91c2IvS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC91c2IvS2NvbmZpZz02MTQ9Y29uZmlnIFVTQl9ORVRfQ0g5MjAwXFxuLS1cXG5kcml2ZXJzL25ldC91c2IvS2NvbmZpZy02MjQtXFxuZHJpdmVycy9uZXQvdXNiL0tjb25maWc6NjI1OmNvbmZpZyBVU0JfTkVUX0FRQzExMVxcbmRyaXZlcnMvbmV0L3VzYi9LY29uZmlnLTYyNi1cXHR0cmlzdGF0ZSBcXFwiQXF1YW50aWEgQVF0aW9uIFVTQiB0byA1LzIuNUdiRSBDb250cm9sbGVycyBzdXBwb3J0XFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wM1QwODo1Nzo1Ni4xNjI0NjEwMTdaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzk4NjA3OTU0MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRha2Ugb24gdGhlIEtjb25maWcgZW50cnkgZm9yIGBVU0JfTkVUX0FRQzExMWAuXG5cbioqQW5hbHl6aW5nIHRoZSBVU0JfTkVUX0FRQzExMSBLY29uZmlnIEVudHJ5KipcblxuT2theSwgbGV0J3MgZGl2ZSBpbnRvIHRoaXMgYFVTQl9ORVRfQVFDMTExYCBLY29uZmlnIGVudHJ5LiBNeSBpbW1lZGlhdGUgZm9jdXMgaXMgb24gdW5kZXJzdGFuZGluZyBpdHMgZGVwZW5kZW5jaWVzLCBkZWZhdWx0IHNldHRpbmdzLCBhbmQgYW55IHJlbGV2YW50IGRlc2NyaXB0aW9ucyBvciBoZWxwIHRleHQuIEkgd2FudCB0byBxdWlja2x5IGFzY2VydGFpbiB3aGF0IGNvbmRpdGlvbnMgbXVzdCBiZSBtZXQgZm9yIHRoaXMgZHJpdmVyIHRvIGV2ZW4gYmUgY29uc2lkZXJlZCwgYW5kIHdoYXQgdGhlIGJhc2VsaW5lIGNvbmZpZ3VyYXRpb24gd2lsbCBsb29rIGxpa2UgaWYgaXQncyBzZWxlY3RlZC4gSSdsbCBiZSBsb29raW5nIGZvciBoaW50cyBhYm91dCB0aGUgaGFyZHdhcmUgcmVxdWlyZW1lbnRzIOKAkyBpcyB0aGlzIHRpZWQgdG8gYSBzcGVjaWZpYyBVU0IgY29udHJvbGxlciwgb3IgY2hpcHNldD8gQXJlIHRoZXJlIGFueSBtb2R1bGUgZGVwZW5kZW5jaWVzIEkgbmVlZCB0byBiZSBhd2FyZSBvZj8gQXJlIHRoZXJlIGNvbmZsaWN0aW5nIG9wdGlvbnMgSSBuZWVkIHRvIGxvb2sgb3V0IGZvciwgb3Igd2lsbCB0aGVyZSBiZSBhbnkgcG90ZW50aWFsIGludGVyYWN0aW9ucyB3aXRoIG90aGVyIG5ldHdvcmtpbmcgc3RhY2tzP1xuXG5JJ20gbWVudGFsbHkgbWFwcGluZyB0aGUgcGxhY2VtZW50IG9mIHRoaXMgZW50cnkgd2l0aGluIHRoZSBicm9hZGVyIEtjb25maWcgaGllcmFyY2h5LiBJcyBpdCB1bmRlciBhIGdlbmVyYWwgXCJVU0IgTmV0d29ya2luZ1wiIHNlY3Rpb24sIG9yIHNvbWV0aGluZyBtb3JlIHNwZWNpZmljPyBUaGUgaGllcmFyY2h5IGxvY2F0aW9uIHByb3ZpZGVzIHZpdGFsIGNvbnRleHQuXG5cbk9uY2UgSSBoYXZlIGEgaGlnaC1sZXZlbCBwaWN0dXJlLCBJJ2xsIHBheSBjbG9zZSBhdHRlbnRpb24gdG8gdGhlIGBzZWxlY3RgIHN0YXRlbWVudHMgYW5kIGhvdyB0aGV5IG1pZ2h0IGFmZmVjdCBvdGhlciBjb25maWd1cmF0aW9ucy4gQW5kLCBvZiBjb3Vyc2UsIEknbSBjaGVja2luZyBmb3IgYW55IGBkZXBlbmRzIG9uYCBzdGF0ZW1lbnRzIG9yIGBkZWZhdWx0YCB2YWx1ZSBhc3NpZ25tZW50cy4gQXJlIHRoZXNlIHNpbXBsZSBib29sZWFuIHZhbHVlcyBvciBtb3JlIGNvbXBsZXggZXhwcmVzc2lvbnM/IFVsdGltYXRlbHksIEkgd2FudCB0byBiZSBhYmxlIHRvIHByZWRpY3QgdGhlIGJlaGF2aW9yIG9mIHRoZSBjb25maWd1cmF0aW9uIHN5c3RlbSB3aXRoIHRoaXMgb3B0aW9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNjE5MCwiT3V0cHV0VG9rZW5zIjozNiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIwLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU4OjAwLjE0ODU0Mzc1OVoiLCJTZXEiOjE2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MjA5MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC91c2IvS2NvbmZpZ1wiLFxuICBcIkZpcnN0TGluZVwiOiA2MjAsXG4gIFwiTGluZUNvdW50XCI6IDIwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiA2MjA6XFx0XFx0ICBDSDkyMDAgY2hpcHNldC5cXG4gNjIxOlxcdFxcbiA2MjI6XFx0XFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGVcXG4gNjIzOlxcdFxcdCAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGNoOTIwMC5cXG4gNjI0OlxcdFxcbiA2MjU6XFx0Y29uZmlnIFVTQl9ORVRfQVFDMTExXFxuIDYyNjpcXHRcXHR0cmlzdGF0ZSBcXFwiQXF1YW50aWEgQVF0aW9uIFVTQiB0byA1LzIuNUdiRSBDb250cm9sbGVycyBzdXBwb3J0XFxcIlxcbiA2Mjc6XFx0XFx0ZGVwZW5kcyBvbiBVU0JfVVNCTkVUXFxuIDYyODpcXHRcXHRzZWxlY3QgQ1JDMzJcXG4gNjI5OlxcdFxcdGhlbHBcXG4gNjMwOlxcdFxcdCAgVGhpcyBvcHRpb24gYWRkcyBzdXBwb3J0IGZvciBBcXVhbnRpYSBBUXRpb24gVVNCXFxuIDYzMTpcXHRcXHQgIEV0aGVybmV0IGFkYXB0ZXJzIGJhc2VkIG9uIEFRQzExMVUvQVFDMTEyIGNoaXBzLlxcbiA2MzI6XFx0XFxuIDYzMzpcXHRcXHQgIFRoaXMgZHJpdmVyIHNob3VsZCB3b3JrIHdpdGggYXQgbGVhc3QgdGhlIGZvbGxvd2luZyBkZXZpY2VzOlxcbiA2MzQ6XFx0XFx0ICAqIEFxdWFudGlhIEFRdGlvbiBVU0IgdG8gNUdiRVxcbiA2MzU6XFx0XFxuIDYzNjpcXHRjb25maWcgVVNCX1JUTDgxNTNfRUNNXFxuIDYzNzpcXHRcXHR0cmlzdGF0ZVxcbiA2Mzg6XFx0XFx0ZGVwZW5kcyBvbiBVU0JfTkVUX0NEQ0VUSEVSIFxcdTAwMjZcXHUwMDI2IChVU0JfUlRMODE1MiB8fCBVU0JfUlRMODE1Mj1uKVxcbiA2Mzk6XFx0XFx0ZGVmYXVsdCB5XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAzVDA4OjU4OjAwLjE0ODYyNzIwOVoiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NTA0MzI5MTA0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5c2lzIG9mIGEgUG90ZW50aWFsIEZ1enppbmcgVGFyZ2V0KipcblxuT2theSwgc28gSSd2ZSBnb3QgdGhpcyBwYXRjaCB0YXJnZXRpbmcgdGhlIGBhcWMxMTFfc2V0X21hY19hZGRyYCBmdW5jdGlvbiwgd2hpY2gsIGFzIEkgdW5kZXJzdGFuZCBpdCwgaXMgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgdGhlIE1BQyBhZGRyZXNzIG9uIGEgc3BlY2lmaWMgVVNCIG5ldHdvcmsgYWRhcHRlciwgdGhlIEFRQzExMS4gVGhlIGNvbmZpZ3VyYXRpb24gaXMgYFVTQl9ORVRfQVFDMTExYCwgbWVhbmluZyB0aGF0IGRyaXZlciBpcyBlbmFibGVkIGJ5IHRoYXQgY29uZmlndXJhdGlvbiBvcHRpb24uXG5cblRoZSBjb3JlIG9mIHRoZSBpc3N1ZSBpcyB0aGlzOiB0aGUgcGF0Y2ggaXMgY2hhbmdpbmcgdGhlIHJldHVybiB2YWx1ZSBvZiBgYXFjMTExX3NldF9tYWNfYWRkcmAuIEN1cnJlbnRseSwgaXQgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVkIGJ5IGB1c2JfY29udHJvbF9tc2dgIHVwb24gc3VjY2Vzcywgd2hpY2ggaXNuJ3Qgc3RhbmRhcmQgcHJhY3RpY2UgZm9yIGBuZG9fc2V0X21hY19hZGRyZXNzYC4gVGhlIHBhdGNoIGNoYW5nZXMgdGhpcyB0byB0aGUgbW9yZSBleHBlY3RlZCByZXR1cm4gb2YgMCBmb3Igc3VjY2Vzcy5cblxuTXkgZXhwZXJ0IG9waW5pb24gaXMsIGFuZCB0aGlzIGlzIHdoZXJlIEknbSBsZWFuaW5nIHRvd2FyZHMgZnV6emluZywgdGhhdCB0aGlzIGlzIGEgKmZ1bmN0aW9uYWwgY2hhbmdlKiB3aXRoaW4gYSBwb3RlbnRpYWxseSAqcmVhY2hhYmxlKiBVU0IgbmV0d29yayBkcml2ZXIuIFRoZSBmYWN0IHRoYXQgaXQncyBhICpmdW5jdGlvbmFsIGNoYW5nZSogaXMgY3J1Y2lhbCDigJMgY2hhbmdlcyBpbiBiZWhhdmlvciBhcmUgb2Z0ZW4gbW9yZSBzdXNjZXB0aWJsZSB0byBjYXVzaW5nIHVuZXhwZWN0ZWQgcHJvYmxlbXMsIGxpa2UgbWVtb3J5IGNvcnJ1cHRpb24gb3Igb3RoZXIgc3VidGxlIGJ1Z3MuIFRoZSBmYWN0IHRoYXQgdGhlIGRyaXZlciBpcyByZWFjaGFibGUgKG1lYW5pbmcgaXQncyAqdXNhYmxlKikgaXMgYW5vdGhlciBodWdlIHBsdXMuXG5cblRoZXJlZm9yZSwgSSdtIHJlY29tbWVuZGluZyB0aGlzIHBhdGNoIGZvciBmdXp6aW5nLiBTcGVjaWZpY2FsbHksIEknZCBmb2N1cyBmdXp6aW5nIG9uIHRoZSBgYXFjMTExX3NldF9tYWNfYWRkcmAgZnVuY3Rpb24gaXRzZWxmLiBUaGUga2V5IGNvbmZpZ3VyYXRpb24gaXRlbSB0aGF0IG5lZWRzIHRvIGJlIGVuYWJsZWQgZm9yIHRoaXMgaXMgYFVTQl9ORVRfQVFDMTExYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjY4ODAsIk91dHB1dFRva2VucyI6MTIwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjE5LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDNUMDg6NTg6MDUuNjUyOTYwMTAzWiIsIlNlcSI6MTgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTE4NTQ4NjMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlVTQl9ORVRfQVFDMTExXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYXFjMTExX3NldF9tYWNfYWRkclwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIHRoZSByZXR1cm4gdmFsdWUgb2YgYGFxYzExMV9zZXRfbWFjX2FkZHJgICh3aGljaCBpbXBsZW1lbnRzIGBuZG9fc2V0X21hY19hZGRyZXNzYCkgdG8gcmV0dXJuIDAgb24gc3VjY2VzcyBpbnN0ZWFkIG9mIHRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgYnkgYHVzYl9jb250cm9sX21zZ2AuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBVU0IgbmV0d29yayBkcml2ZXIuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVVNCX05FVF9BUUMxMTFcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJhcWMxMTFfc2V0X21hY19hZGRyXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgdGhlIHJldHVybiB2YWx1ZSBvZiBgYXFjMTExX3NldF9tYWNfYWRkcmAgKHdoaWNoIGltcGxlbWVudHMgYG5kb19zZXRfbWFjX2FkZHJlc3NgKSB0byByZXR1cm4gMCBvbiBzdWNjZXNzIGluc3RlYWQgb2YgdGhlIG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBieSBgdXNiX2NvbnRyb2xfbXNnYC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIFVTQiBuZXR3b3JrIGRyaXZlci5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },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-workflowtcw8g[1] Phase: Succeeded StartedAt: 2026-07-03 08:58:17 +0000 UTC FinishedAt: 2026-07-03 08:58:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-03 08:58:17 +0000 UTC FinishedAt: 2026-07-03 08:58:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2] Phase: Succeeded StartedAt: 2026-07-03 08:58:17 +0000 UTC FinishedAt: 2026-07-03 11:03:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-03 08:58:17 +0000 UTC FinishedAt: 2026-07-03 11:03:29 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-03 08:58:17 +0000 UTC FinishedAt: 2026-07-03 08:58:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-03 08:58:17 +0000 UTC FinishedAt: 2026-07-03 08:58:31 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowtcw8g/series-workflowtcw8g-convert-artifact-3095885732/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-03 08:58:38 +0000 UTC FinishedAt: 2026-07-03 09:30:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-03 08:58:38 +0000 UTC FinishedAt: 2026-07-03 09:30: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:*6d38e6f7-cca6-461c-8922-945b2ce414fe,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-workflowtcw8g/series-workflowtcw8g-convert-artifact-3095885732/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": "0f340fa9-7340-4d0e-a716-0e972a38124c", "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-workflowtcw8g/series-workflowtcw8g-build-action-822544866/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-03 08:58:38 +0000 UTC FinishedAt: 2026-07-03 09:30:28 +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:*6d38e6f7-cca6-461c-8922-945b2ce414fe,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-workflowtcw8g/series-workflowtcw8g-convert-artifact-3095885732/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": "0f340fa9-7340-4d0e-a716-0e972a38124c", "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-workflowtcw8g/series-workflowtcw8g-build-action-822544866/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-03 09:30:58 +0000 UTC FinishedAt: 2026-07-03 09:30:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-03 09:30:58 +0000 UTC FinishedAt: 2026-07-03 09:30:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-03 09:30:58 +0000 UTC FinishedAt: 2026-07-03 09:31:08 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-03 09:30:58 +0000 UTC FinishedAt: 2026-07-03 09:31:06 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowtcw8g/series-workflowtcw8g-convert-artifact-2942942627/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-03 09:31:08 +0000 UTC FinishedAt: 2026-07-03 09:33:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-03 09:31:08 +0000 UTC FinishedAt: 2026-07-03 09:33:16 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*0f340fa9-7340-4d0e-a716-0e972a38124c,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-workflowtcw8g/series-workflowtcw8g-build-action-822544866/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-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-03 09:33:26 +0000 UTC FinishedAt: 2026-07-03 09:33:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-03 09:33:26 +0000 UTC FinishedAt: 2026-07-03 09:33:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-03 09:33:26 +0000 UTC FinishedAt: 2026-07-03 10:10:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-03 09:33:26 +0000 UTC FinishedAt: 2026-07-03 10:10:41 +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:*6d38e6f7-cca6-461c-8922-945b2ce414fe,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-workflowtcw8g/series-workflowtcw8g-convert-artifact-2942942627/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": "b057e949-35b4-4933-b5aa-7c3215c732a6", "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-workflowtcw8g/series-workflowtcw8g-build-action-3613704791/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-03 09:33:26 +0000 UTC FinishedAt: 2026-07-03 10:10:31 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*6d38e6f7-cca6-461c-8922-945b2ce414fe,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-workflowtcw8g/series-workflowtcw8g-convert-artifact-2942942627/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": "b057e949-35b4-4933-b5aa-7c3215c732a6", "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-workflowtcw8g/series-workflowtcw8g-build-action-3613704791/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-03 10:10:41 +0000 UTC FinishedAt: 2026-07-03 10:10:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-03 10:10:41 +0000 UTC FinishedAt: 2026-07-03 10:10:41 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-03 10:10:41 +0000 UTC FinishedAt: 2026-07-03 10:12:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-03 10:10:41 +0000 UTC FinishedAt: 2026-07-03 10:12:26 +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:*b057e949-35b4-4933-b5aa-7c3215c732a6,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-workflowtcw8g/series-workflowtcw8g-build-action-3613704791/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-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-03 10:12:36 +0000 UTC FinishedAt: 2026-07-03 11:03:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-03 10:12:36 +0000 UTC FinishedAt: 2026-07-03 11:03:29 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"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:*0f340fa9-7340-4d0e-a716-0e972a38124c,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*b057e949-35b4-4933-b5aa-7c3215c732a6,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-workflowtcw8g/series-workflowtcw8g-build-action-822544866/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-workflowtcw8g/series-workflowtcw8g-build-action-3613704791/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-03 10:12:36 +0000 UTC FinishedAt: 2026-07-03 10:12:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-03 10:12:36 +0000 UTC FinishedAt: 2026-07-03 10:12:44 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"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-workflowtcw8g/series-workflowtcw8g-convert-artifact-381752764/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-03 10:12:36 +0000 UTC FinishedAt: 2026-07-03 10:12:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-03 10:12:36 +0000 UTC FinishedAt: 2026-07-03 10:12:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-03 10:12:36 +0000 UTC FinishedAt: 2026-07-03 10:12:36 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-03 10:12:56 +0000 UTC FinishedAt: 2026-07-03 11:03:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtcw8g[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["aqc111_set_mac_addr"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"6fb33632323a396c9dc2bb9bea483e013e547d57","config_name":"upstream-apparmor-kasan.config","enable_configs":["USB_NET_AQC111"],"series_id":"943f3a2d-26f6-40f1-887c-694a5a1dcd79","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-03 10:12:56 +0000 UTC FinishedAt: 2026-07-03 11:03:19 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*0f340fa9-7340-4d0e-a716-0e972a38124c,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*b057e949-35b4-4933-b5aa-7c3215c732a6,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-workflowtcw8g/series-workflowtcw8g-build-action-822544866/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-workflowtcw8g/series-workflowtcw8g-build-action-3613704791/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-workflowtcw8g/series-workflowtcw8g-convert-artifact-381752764/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,}