Name: series-workflowq7b8w Phase: Failed StartedAt: 2026-06-20 08:26:53 +0000 UTC FinishedAt: 2026-06-20 08:39:06 +0000 UTC Input: nil Output: nil --------- Name: series-workflowq7b8w[0] Phase: Succeeded StartedAt: 2026-06-20 08:26:53 +0000 UTC FinishedAt: 2026-06-20 08:38:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowq7b8w[0].run-triage Phase: Succeeded StartedAt: 2026-06-20 08:26:53 +0000 UTC FinishedAt: 2026-06-20 08:38:56 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIwIDA4OjM2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jKS4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgQWlyb2hhIFNvQ3MgdGhhdCByZWxpZXMgb24gRGV2aWNlIFRyZWUgKG9mX2RldmljZV9pZCkgZm9yIGluc3RhbnRpYXRpb24uIFNpbmNlIHRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdG9yIGZvciB0aGlzIGhhcmR3YXJlLCB0aGUgY29kZSBwYXRocyBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUpIHVzZWQgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIwIDA4OjM2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgYjRkNzA4ODI0MzM2N2JmZjFiNzYwYTBhN2ExMTdkOWQ0Y2ZlNDZlM1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgSnVuIDIwIDA4OjM2OjQ3IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jXG5pbmRleCA2NGRkZTY0NjRmM2ZiMS4uMzM3MGMzZGY3YzEwN2IgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jXG5AQCAtMjExMCw3ICYjNDM7MjExMCw3IEBAIHN0YXRpYyB1MTYgYWlyb2hhX2Rldl9zZWxlY3RfcXVldWUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbiBcdCAqL1xuIFx0Y2hhbm5lbCA9IG5ldGRldl91c2VzX2RzYShuZXRkZXYpID8gc2tiX2dldF9xdWV1ZV9tYXBwaW5nKHNrYikgOiBwb3J0LVx1MDAzZWlkO1xuIFx0Y2hhbm5lbCA9IGNoYW5uZWwgJSBBSVJPSEFfTlVNX1FPU19DSEFOTkVMUztcbi1cdHF1ZXVlID0gKHNrYi1cdTAwM2Vwcmlvcml0eSAtIDEpICUgQUlST0hBX05VTV9RT1NfUVVFVUVTOyAvKiBRb1MgcXVldWUgKi9cbiYjNDM7XHRxdWV1ZSA9IHNrYi1cdTAwM2Vwcmlvcml0eSAlIEFJUk9IQV9OVU1fUU9TX1FVRVVFUztcbiBcdHF1ZXVlID0gY2hhbm5lbCAqIEFJUk9IQV9OVU1fUU9TX1FVRVVFUyAmIzQzOyBxdWV1ZTtcbiBcbiBcdHJldHVybiBxdWV1ZSBcdTAwM2MgbmV0ZGV2LVx1MDAzZW51bV90eF9xdWV1ZXMgPyBxdWV1ZSA6IDA7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjAgMDg6MzY8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMpLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciBBaXJvaGEgU29DcyB0aGF0IHJlbGllcyBvbiBEZXZpY2UgVHJlZSAob2ZfZGV2aWNlX2lkKSBmb3IgaW5zdGFudGlhdGlvbi4gU2luY2UgdGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0b3IgZm9yIHRoaXMgaGFyZHdhcmUsIHRoZSBjb2RlIHBhdGhzIGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAobGlrZSBHQ0Ugb3IgUUVNVSkgdXNlZCBmb3IgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGI0ZDcwODgyNDMzNjdiZmYxYjc2MGEwYTdhMTE3ZDlkNGNmZTQ2ZTMKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgU2F0IEp1biAyMCAwODozNjo0NyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jCmluZGV4IDY0ZGRlNjQ2NGYzZmIxLi4zMzcwYzNkZjdjMTA3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jCkBAIC0yMTEwLDcgJiM0MzsyMTEwLDcgQEAgc3RhdGljIHUxNiBhaXJvaGFfZGV2X3NlbGVjdF9xdWV1ZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LAogCSAqLwogCWNoYW5uZWwgPSBuZXRkZXZfdXNlc19kc2EobmV0ZGV2KSA/IHNrYl9nZXRfcXVldWVfbWFwcGluZyhza2IpIDogcG9ydC0mZ3Q7aWQ7CiAJY2hhbm5lbCA9IGNoYW5uZWwgJSBBSVJPSEFfTlVNX1FPU19DSEFOTkVMUzsKLQlxdWV1ZSA9IChza2ItJmd0O3ByaW9yaXR5IC0gMSkgJSBBSVJPSEFfTlVNX1FPU19RVUVVRVM7IC8qIFFvUyBxdWV1ZSAqLwomIzQzOwlxdWV1ZSA9IHNrYi0mZ3Q7cHJpb3JpdHkgJSBBSVJPSEFfTlVNX1FPU19RVUVVRVM7CiAJcXVldWUgPSBjaGFubmVsICogQUlST0hBX05VTV9RT1NfUVVFVUVTICYjNDM7IHF1ZXVlOwogCiAJcmV0dXJuIHF1ZXVlICZsdDsgbmV0ZGV2LSZndDtudW1fdHhfcXVldWVzID8gcXVldWUgOiAwOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTMyCgkJCQkJCQlvdXRwdXQ6IDM0CgkJCQkJCQl0aG91Z2h0czogMTkxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIERyaXZlciBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0JiMzOTtzIHRvdWNoZWQgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNgLiBUaGUgY29yZSBjaGFuZ2UgaXMgaW4gdGhlIGBhaXJvaGFfZGV2X3NlbGVjdF9xdWV1ZWAgZnVuY3Rpb24uIEl0JiMzOTtzIGEgc2ltcGxlLCBzZWVtaW5nbHkgYXJpdGhtZXRpYyBhZGp1c3RtZW50OiB0aGUgb3JpZ2luYWwgY29kZSBzdWJ0cmFjdHMgMSBmcm9tIGBza2ItJmd0O3ByaW9yaXR5YCBiZWZvcmUgdGhlIG1vZHVsbyBvcGVyYXRpb24sIGFuZCB0aGUgcGF0Y2ggcmVtb3ZlcyB0aGF0IHN1YnRyYWN0aW9uLiBUaGlzIGltcGFjdHMgaG93IHRoZSBRdWFsaXR5IG9mIFNlcnZpY2UgKFFvUykgcXVldWUgaXMgc2VsZWN0ZWQsIGNoYW5naW5nIHRoZSBxdWV1ZSBhc3NpZ25tZW50IGJhc2VkIG9uIHBhY2tldCBwcmlvcml0eS4gSXQmIzM5O3MgYSBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbiwgZm9yIHN1cmUuCgpOb3csIHRoZSBpbnRlcmVzdGluZyBxdWVzdGlvbiBpczogaG93IHJlbGV2YW50IGlzIHRoaXMgY2hhbmdlICpnZW5lcmFsbHkqPyBBaXJvaGEgaXMgc3BlY2lmaWMgaGFyZHdhcmUsIHNvIGl04oCZcyBsaWtlbHkgbm90IGRpcmVjdGx5IGVtdWxhdGVkLCBhbmQgdGhlIHBhdGNoIHBvaW50cyB0byBhIHZlcnkgc3BlY2lmaWMgdGFyZ2V0LiBJdCYjMzk7cyBwcmV0dHkgdW5jb21tb24gdG8gc2VlIHN1Y2ggc3BlY2lmaWMgaGFyZHdhcmUgZHJpdmVycyBiZWluZyBleGVyY2lzZWQgb3V0c2lkZSB0aGVpciBpbnRlbmRlZCBoYXJkd2FyZSBlbnZpcm9ubWVudCB3aXRob3V0IHNvbWUgYWR2YW5jZWQgZW11bGF0aW9uIGVmZm9ydC4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaWYgdGhpcyBBaXJvaGEgZXRoZXJuZXQgZHJpdmVyLCBsb2NhdGVkIGF0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jYCwgaXMgbGlrZWx5IHRvIGJlIHJlYWNoYWJsZSBkdXJpbmcgc3RhbmRhcmQgdmlydHVhbGl6YXRpb24sIG9yIGlmIHRoaXMgaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBzY2VuYXJpby4gSSBuZWVkIHRvIGRpZyBkZWVwZXIgaW50byB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoaXMgZGV2aWNlIGFuZCBjb25zaWRlciB3aGV0aGVyIHRoZSBwYXRjaCBpcyBicm9hZGx5IGFwcGxpY2FibGUgb3IgdmVyeSBuaWNoZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDthaXJvaGFfZXRoJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvTWFrZWZpbGU9Nj1vYmotJChDT05GSUdfTkVUX0FJUk9IQSkgJiM0Mzs9IGFpcm9oYS1ldGgub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL01ha2VmaWxlOjc6YWlyb2hhLWV0aC15IDo9IGFpcm9oYV9ldGgubyBhaXJvaGFfcHBlLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9NYWtlZmlsZS04LWFpcm9oYS1ldGgtJChDT05GSUdfREVCVUdfRlMpICYjNDM7PSBhaXJvaGFfcHBlX2RlYnVnZnMub1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTctI2luY2x1ZGUgXCYjMzQ7YWlyb2hhX3JlZ3MuaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxODojaW5jbHVkZSBcJiMzNDthaXJvaGFfZXRoLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTktXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz03ND1zdGF0aWMgaW50IGFpcm9oYV9zZXRfbWFjYWRkcihzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgY29uc3QgdTggKmFkZHIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy03Ni1cdHU4IHJlZl9hZGRyW0VUSF9BTEVOXSBfX2FsaWduZWQoMik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjc3Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTc4LVx0dTMyIHJlZywgdmFsLCBsbWluLCBsbWF4O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTQ1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNDY6c3RhdGljIHZvaWQgYWlyb2hhX3NldF9nZG1fcG9ydF9md2RfY2ZnKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsIHUzMiBhZGRyLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNDctXHRcdFx0XHRcdHUzMiB2YWwpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xNTk9c3RhdGljIGludCBhaXJvaGFfc2V0X3ZpcF9mb3JfZ2RtX3BvcnQoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYsIGJvb2wgZW5hYmxlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTYxLVx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydCA9IGRldi1cdTAwM2Vwb3J0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNjI6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTYzLVx0dTMyIHZpcF9wb3J0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTc2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNzc6c3RhdGljIHZvaWQgYWlyb2hhX2ZlX21hY2NyX2luaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTc4LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE5MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTkyOnN0YXRpYyB2b2lkIGFpcm9oYV9mZV92aXBfc2V0dXAoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTkzLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjU2OnN0YXRpYyB1MzIgYWlyb2hhX2ZlX2dldF9wc2VfcXVldWVfcnN2X3BhZ2VzKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1Ny1cdFx0XHRcdFx0ICAgICB1MzIgcG9ydCwgdTMyIHF1ZXVlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjY3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyNjg6c3RhdGljIHZvaWQgYWlyb2hhX2ZlX3NldF9wc2VfcXVldWVfcnN2X3BhZ2VzKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2OS1cdFx0XHRcdFx0ICAgICAgdTMyIHBvcnQsIHUzMiBxdWV1ZSwgdTMyIHZhbClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI4MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjgxOnN0YXRpYyB1MzIgYWlyb2hhX2ZlX2dldF9wc2VfYWxsX3JzdihzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yODIte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjg1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyODY6c3RhdGljIGludCBhaXJvaGFfZmVfc2V0X3BzZV9vcV9yc3Yoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjg3LVx0XHRcdFx0ICAgIHUzMiBwb3J0LCB1MzIgcXVldWUsIHUzMiB2YWwpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxOTpzdGF0aWMgdm9pZCBhaXJvaGFfZmVfcHNlX3BvcnRzX2luaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzIwLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6NDAzOnN0YXRpYyBpbnQgYWlyb2hhX2ZlX21jX3ZsYW5fY2xlYXIoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtNDA0LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQ0Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6NDQzOnN0YXRpYyB2b2lkIGFpcm9oYV9mZV9jcnNuX3FzZWxfaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy00NDQte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtNDg4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo0ODk6c3RhdGljIGludCBhaXJvaGFfZmVfaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy00OTAte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9NjMzPXN0YXRpYyBzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo2MzQ6YWlyb2hhX3FkbWFfZ2V0X2dkbV9kZXYoc3RydWN0IGFpcm9oYV9ldGggKmV0aCwgc3RydWN0IGFpcm9oYV9xZG1hX2Rlc2MgKmRlc2MpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTYzNS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz02NTU9c3RhdGljIGludCBhaXJvaGFfcWRtYV9yeF9wcm9jZXNzKHN0cnVjdCBhaXJvaGFfcXVldWUgKnEsIGludCBidWRnZXQpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy02NTgtXHRzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWEgPSBxLVx1MDAzZXFkbWE7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjY1OTpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBxZG1hLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtNjYwLVx0aW50IHFpZCA9IHEgLSBcdTAwMjZxZG1hLVx1MDAzZXFfcnhbMF07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz03OTU9c3RhdGljIGludCBhaXJvaGFfcWRtYV9pbml0X3J4X3F1ZXVlKHN0cnVjdCBhaXJvaGFfcXVldWUgKnEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy04MDctXHR9O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo4MDg6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTgwOS1cdGludCBxaWQgPSBxIC0gXHUwMDI2cWRtYS1cdTAwM2VxX3J4WzBdLCB0aHI7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz04NTM9c3RhdGljIHZvaWQgYWlyb2hhX3FkbWFfY2xlYW51cF9yeF9xdWV1ZShzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtODU1LVx0c3RydWN0IGFpcm9oYV9xZG1hICpxZG1hID0gcS1cdTAwM2VxZG1hO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo4NTY6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTg1Ny1cdGludCBxaWQgPSBxIC0gXHUwMDI2cWRtYS1cdTAwM2VxX3J4WzBdO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9OTExPXN0YXRpYyB2b2lkIGFpcm9oYV9xZG1hX3dha2VfbmV0ZGV2X3R4cXMoc3RydWN0IGFpcm9oYV9xdWV1ZSAqcSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTkxMy1cdHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSA9IHEtXHUwMDNlcWRtYTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6OTE0Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy05MTUtXHRpbnQgaSwgcWlkID0gcSAtIFx1MDAyNnFkbWEtXHUwMDNlcV90eFswXTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTk0Nz1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3R4X25hcGlfcG9sbChzdHJ1Y3QgbmFwaV9zdHJ1Y3QgKm5hcGksIGludCBidWRnZXQpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy05NTEtXHRzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWE7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjk1MjpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTk1My1cdHUzMiBzdGF0dXMsIGhlYWQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xMDU4PXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfaW5pdF90eF9xdWV1ZShzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTA2MC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjEwNjE6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTEwNjItXHRpbnQgaSwgcWlkID0gcSAtIFx1MDAyNnFkbWEtXHUwMDNlcV90eFswXTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTExMDE9c3RhdGljIGludCBhaXJvaGFfcWRtYV90eF9pcnFfaW5pdChzdHJ1Y3QgYWlyb2hhX3R4X2lycV9xdWV1ZSAqaXJxX3EsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xMTA0LVx0aW50IGlkID0gaXJxX3EgLSBcdTAwMjZxZG1hLVx1MDAzZXFfdHhfaXJxWzBdO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxMTA1Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xMTA2LVx0ZG1hX2FkZHJfdCBkbWFfYWRkcjtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTExNTA9c3RhdGljIHZvaWQgYWlyb2hhX3FkbWFfY2xlYW51cF90eF9xdWV1ZShzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTE1Mi1cdHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSA9IHEtXHUwMDNlcWRtYTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTE1MzpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBxZG1hLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTE1NC1cdGludCBpLCBxaWQgPSBxIC0gXHUwMDI2cWRtYS1cdTAwM2VxX3R4WzBdO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTIwMT1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX2luaXRfaGZ3ZF9xdWV1ZXMoc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTIwMy1cdGludCBzaXplLCBpbmRleCwgbnVtX2Rlc2MgPSBIV19EU0NQX05VTTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTIwNDpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBxZG1hLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTIwNS1cdGludCBpZCA9IHFkbWEgLSBcdTAwMjZldGgtXHUwMDNlcWRtYVswXTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE0NTc9c3RhdGljIGludCBhaXJvaGFfcWRtYV9pbml0X2lycV9iYW5rcyhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTQ1OS17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE0NjA6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE0NjEtXHRpbnQgaSwgaWQgPSBxZG1hIC0gXHUwMDI2ZXRoLVx1MDAzZXFkbWFbMF07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xNDkwPXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNDkxOlx0XHRcdCAgICBzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNDkyLVx0XHRcdCAgICBzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWEpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xNTU3PXN0YXRpYyBpbnQgYWlyb2hhX2h3X2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTU1ODpcdFx0XHQgIHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE1NTkte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTYwMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTYwMTpzdGF0aWMgdm9pZCBhaXJvaGFfaHdfY2xlYW51cChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjAyLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE2NDA9c3RhdGljIHZvaWQgYWlyb2hhX2Rldl9nZXRfaHdfc3RhdHMoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjQyLVx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydCA9IGRldi1cdTAwM2Vwb3J0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNjQzOlx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE2NDQtXHR1MzIgdmFsLCBpID0gMDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE4MDU9c3RhdGljIGludCBhaXJvaGFfZGV2X29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE4NTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE4NTQ6c3RhdGljIHZvaWQgYWlyb2hhX3NldF9wb3J0X210dShzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xODU1LVx0XHRcdFx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE5MzI9c3RhdGljIGludCBhaXJvaGFfZW5hYmxlX2dkbTJfbG9vcGJhY2soc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xOTM0LVx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydCA9IGRldi1cdTAwM2Vwb3J0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxOTM1Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE5MzYtXHR1MzIgdmFsLCBwc2VfcG9ydCwgY2hhbjtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE5OTQ9c3RhdGljIHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE5OTU6YWlyb2hhX2dldF93YW5fZ2RtX2RldihzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xOTk2LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTIwMTc9c3RhdGljIHZvaWQgYWlyb2hhX2Rldl9zZXRfcWRtYShzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIwMTktXHRzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2ID0gbmV0ZGV2X2Zyb21fcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMDIwOlx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIwMjEtXHRpbnQgcHBlX2lkO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjE2Mz1pbnQgYWlyb2hhX2dldF9mZV9wb3J0KHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjE2NS1cdHN0cnVjdCBhaXJvaGFfZ2RtX3BvcnQgKnBvcnQgPSBkZXYtXHUwMDNlcG9ydDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjE2NjpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBkZXYtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMTY3LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjE3OT1zdGF0aWMgbmV0ZGV2X3R4X3QgYWlyb2hhX2Rldl94bWl0KHN0cnVjdCBza19idWZmICpza2IsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzIwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMzIxOnN0YXRpYyB2b2lkIGFpcm9oYV9ldGh0b29sX2dldF9kcnZpbmZvKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMjItXHRcdFx0XHQgICAgICAgc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyAqaW5mbylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMjQtXHRzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiA9IG5ldGRldl9wcml2KG5ldGRldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjIzMjU6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjMyNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMzAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjIzMzE6c3RhdGljIHZvaWQgYWlyb2hhX2V0aHRvb2xfZ2V0X21hY19zdGF0cyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzMyLVx0XHRcdFx0XHQgc3RydWN0IGV0aHRvb2xfZXRoX21hY19zdGF0cyAqc3RhdHMpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzQ5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMzUwOnN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9ybW9uX2hpc3RfcmFuZ2UgYWlyb2hhX2V0aHRvb2xfcm1vbl9yYW5nZXNbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM1MS1cdHsgICAgMCwgICAgNjQgfSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTIzNjE9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM2MjphaXJvaGFfZXRodG9vbF9nZXRfcm1vbl9zdGF0cyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzYzLVx0XHRcdCAgICAgIHN0cnVjdCBldGh0b29sX3Jtb25fc3RhdHMgKnN0YXRzLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM2OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM3MDpcdEJVSUxEX0JVR19PTihBUlJBWV9TSVpFKGFpcm9oYV9ldGh0b29sX3Jtb25fcmFuZ2VzKSAhPVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzcxLVx0XHQgICAgIEFSUkFZX1NJWkUoaHdfc3RhdHMtXHUwMDNldHhfbGVuKSAmIzQzOyAxKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM3MjpcdEJVSUxEX0JVR19PTihBUlJBWV9TSVpFKGFpcm9oYV9ldGh0b29sX3Jtb25fcmFuZ2VzKSAhPVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzczLVx0XHQgICAgIEFSUkFZX1NJWkUoaHdfc3RhdHMtXHUwMDNlcnhfbGVuKSAmIzQzOyAxKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM3NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM3NTpcdCpyYW5nZXMgPSBhaXJvaGFfZXRodG9vbF9ybW9uX3JhbmdlcztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM3Ni1cdGFpcm9oYV91cGRhdGVfaHdfc3RhdHMoZGV2KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzODItXHRcdHN0YXRzLVx1MDAzZWphYmJlcnMgPSBod19zdGF0cy1cdTAwM2VyeF9qYWJiZXI7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjIzODM6XHRcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUoYWlyb2hhX2V0aHRvb2xfcm1vbl9yYW5nZXMpIC0gMTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM4NC1cdFx0ICAgICBpJiM0MzsmIzQzOykge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9Mjk0Mj1zdGF0aWMgaW50IGFpcm9oYV9kZXZfc2V0dXBfdGNfYmxvY2tfY2IoZW51bSB0Y19zZXR1cF90eXBlIHR5cGUsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yOTQ2LVx0c3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYgPSBuZXRkZXZfcHJpdihuZXRkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyOTQ3Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI5NDgtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0zMDk5PXN0YXRpYyBjb25zdCBzdHJ1Y3QgbmV0X2RldmljZV9vcHMgYWlyb2hhX25ldGRldl9vcHMgPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTEwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozMTExOnN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9vcHMgYWlyb2hhX2V0aHRvb2xfb3BzID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozMTEyOlx0LmdldF9kcnZpbmZvXHRcdD0gYWlyb2hhX2V0aHRvb2xfZ2V0X2RydmluZm8sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxMTM6XHQuZ2V0X2V0aF9tYWNfc3RhdHMgICAgICA9IGFpcm9oYV9ldGh0b29sX2dldF9tYWNfc3RhdHMsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxMTQ6XHQuZ2V0X3Jtb25fc3RhdHNcdFx0PSBhaXJvaGFfZXRodG9vbF9nZXRfcm1vbl9zdGF0cyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzExNS1cdC5nZXRfbGlua19rc2V0dGluZ3NcdD0gcGh5X2V0aHRvb2xfZ2V0X2xpbmtfa3NldHRpbmdzLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MzEzOD1zdGF0aWMgdm9pZCBhaXJvaGFfbWV0YWRhdGFfZHN0X2ZyZWUoc3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMxNDktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxNTA6Ym9vbCBhaXJvaGFfaXNfdmFsaWRfZ2RtX2RldihzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTUxLVx0XHRcdCAgICAgc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTcwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozMTcxOnN0YXRpYyBpbnQgYWlyb2hhX2FsbG9jX2dkbV9kZXZpY2Uoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzE3Mi1cdFx0XHRcdCAgIHN0cnVjdCBhaXJvaGFfZ2RtX3BvcnQgKnBvcnQsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTg4LVx0bmV0ZGV2LVx1MDAzZW5ldGRldl9vcHMgPSBcdTAwMjZhaXJvaGFfbmV0ZGV2X29wcztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzE4OTpcdG5ldGRldi1cdTAwM2VldGh0b29sX29wcyA9IFx1MDAyNmFpcm9oYV9ldGh0b29sX29wcztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzE5MC1cdG5ldGRldi1cdTAwM2VtYXhfbXR1ID0gQUlST0hBX01BWF9NVFU7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMjM2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozMjM3OnN0YXRpYyBpbnQgYWlyb2hhX2FsbG9jX2dkbV9wb3J0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMyMzgtXHRcdFx0XHQgc3RydWN0IGRldmljZV9ub2RlICpucClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMzMTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMzMTc6c3RhdGljIGludCBhaXJvaGFfcmVnaXN0ZXJfZ2RtX2RldmljZXMoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzMxOC17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0zMzQ2PXN0YXRpYyBpbnQgYWlyb2hhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMzQ5LVx0c3RydWN0IGRldmljZV9ub2RlICpucDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzM1MDpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMzNTEtXHRpbnQgaSwgZXJyO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MzQ3Mj1zdGF0aWMgdm9pZCBhaXJvaGFfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM0NzMte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozNDc0Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zNDc1LVx0aW50IGk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0zNjQyPXN0YXRpYyBpbnQgYWlyb2hhX2FuNzU4M19nZXRfZGV2X2Zyb21fc3BvcnQoc3RydWN0IGFpcm9oYV9xZG1hX2Rlc2MgKmRlc2MsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zNjcxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozNjcyOnN0YXRpYyBjb25zdCBzdHJ1Y3QgYWlyb2hhX2V0aF9zb2NfZGF0YSBlbjc1ODFfc29jX2RhdGEgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM2NzMtXHQudmVyc2lvbiA9IDB4NzU4MSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM2ODMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjM2ODQ6c3RhdGljIGNvbnN0IHN0cnVjdCBhaXJvaGFfZXRoX3NvY19kYXRhIGFuNzU4M19zb2NfZGF0YSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzY4NS1cdC52ZXJzaW9uID0gMHg3NTgzLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg9NTIzPXN0cnVjdCBhaXJvaGFfcWRtYSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjUyNDpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTUyNS1cdHZvaWQgX19pb21lbSAqcmVncztcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTU0Mz1zdHJ1Y3QgYWlyb2hhX2dkbV9kZXYge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNTQ1LVx0c3RydWN0IGFpcm9oYV9xZG1hICpxZG1hO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo1NDY6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC01NDctXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaD01NzM9c3RydWN0IGFpcm9oYV9wcGUge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC01NzQtXHRzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgZGV2O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo1NzU6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC01NzYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC01OTAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjU5MTpzdHJ1Y3QgYWlyb2hhX2V0aF9zb2NfZGF0YSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTU5Mi1cdHUxNiB2ZXJzaW9uO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNjAzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo2MDQ6c3RydWN0IGFpcm9oYV9ldGgge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02MDUtXHRzdHJ1Y3QgZGV2aWNlICpkZXY7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTYwNi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6NjA3Olx0Y29uc3Qgc3RydWN0IGFpcm9oYV9ldGhfc29jX2RhdGEgKnNvYztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNjA4LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg9NjYxPXN0YXRpYyBpbmxpbmUgYm9vbCBhaXJvaGFfaXNfbGFuX2dkbV9kZXYoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02NjUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY2NjpzdGF0aWMgaW5saW5lIGJvb2wgYWlyb2hhX2lzXzc1ODEoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNjY3LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTY3MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6NjcxOnN0YXRpYyBpbmxpbmUgYm9vbCBhaXJvaGFfaXNfNzU4MyhzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02NzIte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg9Njc2PWludCBhaXJvaGFfZ2V0X2ZlX3BvcnQoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo2Nzc6Ym9vbCBhaXJvaGFfaXNfdmFsaWRfZ2RtX2RldihzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02NzgtXHRcdFx0ICAgICBzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldik7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaD02ODA9dm9pZCBhaXJvaGFfcHBlX3NldF9jcHVfcG9ydChzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgdTggcHBlX2lkLCB1OCBmcG9ydCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY4MTpib29sIGFpcm9oYV9wcGVfaXNfZW5hYmxlZChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLCBpbnQgaW5kZXgpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02ODItdm9pZCBhaXJvaGFfcHBlX2NoZWNrX3NrYihzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgKmRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTY4ND1pbnQgYWlyb2hhX3BwZV9zZXR1cF90Y19ibG9ja19jYihzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgKmRldiwgdm9pZCAqdHlwZV9kYXRhKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6Njg1OmludCBhaXJvaGFfcHBlX2luaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY4Njp2b2lkIGFpcm9oYV9wcGVfZGVpbml0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02ODctdm9pZCBhaXJvaGFfcHBlX2luaXRfdXBkX21lbShzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgY29uc3QgdTggKmFkZHIpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtMTQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjE1OiNpbmNsdWRlIFwmIzM0O2Fpcm9oYV9ldGguaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYy0xNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE1LSNpbmNsdWRlIFwmIzM0O2Fpcm9oYV9yZWdzLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTY6I2luY2x1ZGUgXCYjMzQ7YWlyb2hhX2V0aC5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE3LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9NDY9c3RhdGljIGludCBhaXJvaGFfcHBlX2dldF90b3RhbF9udW1fc3RhdHNfZW50cmllcyhzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNTAtXHRpZiAobnVtX3N0YXRzIFx1MDAzZSAwKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjUxOlx0XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcHBlLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNTItXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz01OT1zdGF0aWMgdTMyIGFpcm9oYV9wcGVfZ2V0X3RvdGFsX3NyYW1fbnVtX2VudHJpZXMoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNjAte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzo2MTpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy02Mi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTY2PXUzMiBhaXJvaGFfcHBlX2dldF90b3RhbF9udW1fZW50cmllcyhzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNzItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjczOmJvb2wgYWlyb2hhX3BwZV9pc19lbmFibGVkKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsIGludCBpbmRleClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNzQte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9ODc9dm9pZCBhaXJvaGFfcHBlX3NldF9jcHVfcG9ydChzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgdTggcHBlX2lkLCB1OCBmcG9ydClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTg5LVx0c3RydWN0IGFpcm9oYV9xZG1hICpxZG1hID0gZGV2LVx1MDAzZXFkbWE7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjkwOlx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy05MS1cdHU4IHFkbWFfaWQgPSBxZG1hIC0gXHUwMDI2ZXRoLVx1MDAzZXFkbWFbMF07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xMDA9c3RhdGljIHZvaWQgYWlyb2hhX3BwZV9od19pbml0KHN0cnVjdCBhaXJvaGFfcHBlICpwcGUpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMDMtXHR1MzIgc3JhbV90Yl9zaXplLCBkcmFtX251bV9lbnRyaWVzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMDQ6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcHBlLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTA1LVx0aW50IGksIHNyYW1fbnVtX3N0YXRzX2VudHJpZXM7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0zMDQ9c3RhdGljIHZvaWQgYWlyb2hhX3BwZV9mb2Vfc2V0X2JyaWRnZV9hZGRycyhzdHJ1Y3QgYWlyb2hhX2ZvZV9icmlkZ2UgKmJyLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMzEyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzozMTM6c3RhdGljIGludCBhaXJvaGFfcHBlX2ZvZV9lbnRyeV9wcmVwYXJlKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTMxNC1cdFx0XHRcdFx0c3RydWN0IGFpcm9oYV9mb2VfZW50cnkgKmh3ZSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTY1OD1haXJvaGFfcHBlX2ZvZV9nZXRfZW50cnlfbG9ja2VkKHN0cnVjdCBhaXJvaGFfcHBlICpwcGUsIHUzMiBoYXNoKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNjY2LVx0XHRib29sIHBwZTIgPSBoYXNoIFx1MDAzZT0gUFBFX1NSQU1fTlVNX0VOVFJJRVM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjY2NzpcdFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBwZS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTY2OC1cdFx0dTMyIHZhbDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTczOT1zdGF0aWMgaW50IGFpcm9oYV9wcGVfZm9lX2NvbW1pdF9lbnRyeShzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNzQ1LVx0dTMyIHRzID0gYWlyb2hhX3BwZV9nZXRfdGltZXN0YW1wKHBwZSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjc0NjpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy03NDctXHRzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9MTA0OT1zdGF0aWMgaW50IGFpcm9oYV9wcGVfZW50cnlfaWRsZV90aW1lKHN0cnVjdCBhaXJvaGFfcHBlICpwcGUsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMDU2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMDU3OnN0YXRpYyBpbnQgYWlyb2hhX3BwZV9mbG93X29mZmxvYWRfcmVwbGFjZShzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMDU4LVx0XHRcdFx0XHQgICBzdHJ1Y3QgZmxvd19jbHNfb2ZmbG9hZCAqZilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjEyNTc6c3RhdGljIGludCBhaXJvaGFfcHBlX2Zsb3dfb2ZmbG9hZF9kZXN0cm95KHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNTgtXHRcdFx0XHRcdCAgIHN0cnVjdCBmbG93X2Nsc19vZmZsb2FkICpmKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9MTI3NT12b2lkIGFpcm9oYV9wcGVfZm9lX2VudHJ5X2dldF9zdGF0cyhzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlLCB1MzIgaGFzaCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNzcte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMjc4Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBwZS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNzktXHRpbnQgcHBlX251bV9zdGF0c19lbnRyaWVzO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTMwOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTMxMDpzdGF0aWMgaW50IGFpcm9oYV9wcGVfZmxvd19vZmZsb2FkX3N0YXRzKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzMTEtXHRcdFx0XHRcdCBzdHJ1Y3QgZmxvd19jbHNfb2ZmbG9hZCAqZilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzMzUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjEzMzY6c3RhdGljIGludCBhaXJvaGFfcHBlX2Zsb3dfb2ZmbG9hZF9jbWQoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTMzNy1cdFx0XHRcdCAgICAgICBzdHJ1Y3QgZmxvd19jbHNfb2ZmbG9hZCAqZilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTEzNTM9c3RhdGljIGludCBhaXJvaGFfcHBlX2ZsdXNoX3NyYW1fZW50cmllcyhzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTM3MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTM3MTpzdGF0aWMgc3RydWN0IGFpcm9oYV9ucHUgKmFpcm9oYV9wcGVfbnB1X2dldChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMzcyLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzODItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjEzODM6c3RhdGljIGludCBhaXJvaGFfcHBlX3dhaXRfZm9yX25wdV9pbml0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzODQte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTQwNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTQwNjpzdGF0aWMgaW50IGFpcm9oYV9wcGVfb2ZmbG9hZF9zZXR1cChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNDA3LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTE0NDY9aW50IGFpcm9oYV9wcGVfc2V0dXBfdGNfYmxvY2tfY2Ioc3RydWN0IGFpcm9oYV9wcGVfZGV2ICpkZXYsIHZvaWQgKnR5cGVfZGF0YSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE0NDgtXHRzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlID0gZGV2LVx1MDAzZXByaXY7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE0NDk6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcHBlLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTQ1MC1cdGludCBlcnIgPSAwO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9MTQ5MD12b2lkIGFpcm9oYV9wcGVfaW5pdF91cGRfbWVtKHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2LCBjb25zdCB1OCAqYWRkcilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE0OTItXHRzdHJ1Y3QgYWlyb2hhX2dkbV9wb3J0ICpwb3J0ID0gZGV2LVx1MDAzZXBvcnQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE0OTM6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTQ5NC1cdHUzMiB2YWw7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xNTEwPXN0cnVjdCBhaXJvaGFfcHBlX2RldiAqYWlyb2hhX3BwZV9nZXRfZGV2KHN0cnVjdCBkZXZpY2UgKmRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE1MTMtXHRzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxNTE0Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTUxNS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTE1NTU9dm9pZCBhaXJvaGFfcHBlX3B1dF9kZXYoc3RydWN0IGFpcm9oYV9wcGVfZGV2ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNTU3LVx0c3RydWN0IGFpcm9oYV9wcGUgKnBwZSA9IGRldi1cdTAwM2Vwcml2O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxNTU4Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBwZS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE1NTktXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xNTYzPUVYUE9SVF9TWU1CT0xfR1BMKGFpcm9oYV9wcGVfcHV0X2Rldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE1NjQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE1NjU6aW50IGFpcm9oYV9wcGVfaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNTY2LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE2MzQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE2MzU6dm9pZCBhaXJvaGFfcHBlX2RlaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNjM2LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZV9kZWJ1Z2ZzLmMtNi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlX2RlYnVnZnMuYzo3OiNpbmNsdWRlIFwmIzM0O2Fpcm9oYV9ldGguaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGVfZGVidWdmcy5jLTgtXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjAgMDg6MzY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTQxMTQKCQkJCQkJCW91dHB1dDogMzUKCQkJCQkJCXRob3VnaHRzOiAyMjYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBSZWFjaGFiaWxpdHkgb2YgdGhlIEFJUk9IQSBFdGhlcm5ldCBEcml2ZXIgaW4gYSBWaXJ0dWFsaXplZCBDb250ZXh0KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBgQ09ORklHX05FVF9BSVJPSEFgLCB0aGUgQUlST0hBIEV0aGVybmV0IGRyaXZlci4gTXkgaW1tZWRpYXRlIGNvbmNlcm4gaXMgd2hldGhlciB0aGlzIGlzIGV2ZW4gKnJlYWNoYWJsZSogaW4gYSB0eXBpY2FsIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBJdCYjMzk7cyBhIHBsYXRmb3JtIGRyaXZlciwgd2hpY2ggaW1tZWRpYXRlbHkgbWFrZXMgbWUgdGhpbmsgZGV2aWNlIHRyZWUuIExvb2tpbmcgYXQgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNgLCBJIHNlZSBgYWlyb2hhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpYC4gVGhhdCYjMzk7cyB0aGUga2V5IGVudHJ5IHBvaW50LiBUaGUgcXVlc3Rpb24gaXMsIGhvdyBkb2VzIHRoYXQgYHBsYXRmb3JtX2RldmljZWAgZ2V0IGluc3RhbnRpYXRlZD8KCk15IGV4cGVyaWVuY2UgdGVsbHMgbWUgdGhpcyBpcyB1c3VhbGx5IGRldmljZSB0cmVlIGRyaXZlbi4gU28sIHVubGVzcyB0aGVyZSYjMzk7cyBzb21lIHNwZWNpZmljIGVtdWxhdG9yIHN1cHBvcnQsIG9yIGEgd2F5IHRvIGluamVjdCBkZXZpY2UgdHJlZSBub2RlcywgaXQgbWlnaHQgYmUgaW5hY2Nlc3NpYmxlLiBJdCYjMzk7cyB0aGUgc3RhbmRhcmQgaXNzdWUgd2l0aCBwbGF0Zm9ybSBkcml2ZXJzLiAKCkhvbGQgb24sIEkgbmVlZCB0byBjb25zaWRlciBzeXprYWxsZXIuIEkga25vdyBpdCBjYW4gaW5qZWN0IHBsYXRmb3JtIGRldmljZXMgdXNpbmcgYHN5el9kZXZsaW5rYCBvciBgc3l6X3BsYXRmb3JtX2RldmljZWAsIGJ1dCB0aGF0JiMzOTtzIG5vdCBnZW5lcmFsbHkgdGhlIGNhc2UgZm9yIG5vbi1nZW5lcmljIG9uZXMuIFVubGVzcyB0aGVyZSYjMzk7cyBhIHNwZWNpZmljIHN5emthbGxlciBkZXNjcmlwdGlvbiBmb3IgdGhlIEFJUk9IQSBkcml2ZXIsIG9yIHBlcmhhcHMgaXQmIzM5O3MgYSBQQ0kvVVNCIGRldmljZSwgaXQmIzM5O3MgcHJvYmFibHkgbm90IHJlYWNoYWJsZSB0aHJvdWdoIHRoYXQgbWV0aG9kIGVpdGhlci4KClRoZXJlZm9yZSwgSSBuZWVkIHRvIGNoZWNrIGZvciBhIFBDSSBvciBVU0IgYmluZGluZyBmb3IgdGhpcyBkcml2ZXIuIElmIHRoZXJlJiMzOTtzIGEgUENJIG9yIFVTQiBpbnRlcmZhY2UgaW52b2x2ZWQsIHRoYXQgZ2l2ZXMgbWUgYSBwb3RlbnRpYWwgZW50cnkgcG9pbnQgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gVGhhdCBpcyBteSBuZXh0IHN0ZXAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjAgMDg6Mzc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7TU9EVUxFX0RFVklDRV9UQUJMRSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0zNjk2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX2Fpcm9oYV9tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzcwMC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozNzAxOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG9mX2Fpcm9oYV9tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM3MDItXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYz02Nzg9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfYWlyb2hhX25wdV9tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjgyLX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjY4MzpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBvZl9haXJvaGFfbnB1X21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjg0LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIwIDA4OjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE0OTcwCgkJCQkJCQlvdXRwdXQ6IDI2CgkJCQkJCQl0aG91Z2h0czogMjc0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIEFpcm9oYSBFdGhlcm5ldCBEZXZpY2UgQ29kZSoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBjb2RlLCBhbmQgdGhlIGtleSBpZGVudGlmaWVyIGhlcmUgaXMgdGhlIGBvZl9kZXZpY2VfaWRgLiBIbW0sIHRoYXQgbWVhbnMgaXQmIzM5O3MgcmVseWluZyBvbiB0aGUgRGV2aWNlIFRyZWUuIFRoZSBpbW1lZGlhdGUgcXVlc3Rpb24gaXMsIGhvdyBvbiBlYXJ0aCBkbyBJIHJlYWNoIHRoaXMgY29kZSBpbiBhIHN0YW5kYXJkIHg4NiB2aXJ0dWFsIG1hY2hpbmU/IFR5cGljYWxseSwgT3BlbiBGaXJtd2FyZSBvciBEZXZpY2UgVHJlZSBkZXZpY2VzIGFyZSAqbm90KiBwcmVzZW50IG9uIHg4NiB1bmxlc3MgeW91IGV4cGxpY2l0bHkgbW9jayB0aGVtLiBBbmQsIGFzIGZhciBhcyBJIGtub3csIFN5emthbGxlciBkb2VzbiYjMzk7dCBnZW5lcmFsbHkgbW9jayBhcmJpdHJhcnkgRGV2aWNlIFRyZWUgbm9kZXMgb24geDg2OyBpdCB1c3VhbGx5IGdvZXMgYSBkaWZmZXJlbnQgcm91dGUuIFdhaXQgYSBzZWNvbmQuLi4gZG9lc24mIzM5O3QgU3l6a2FsbGVyICpraW5kYSogc3VwcG9ydCBpbmplY3RpbmcgZGV2aWNlIHRyZWUgbm9kZXMgb3IgcGxhdGZvcm0gZGV2aWNlcz8gTm8sIHRoYXQmIzM5O3Mgbm90IHF1aXRlIHJpZ2h0LiBTeXprYWxsZXIgZ2VuZXJhbGx5IGxlYW5zIG9uIHN0dWZmIGxpa2UgYHZoY2lgIGZvciBVU0IsIGBuZXRsaW5rYCBmb3IgdmlydHVhbCBkZXZpY2VzLCBhbmQgYG1hYzgwMjExX2h3c2ltYCBmb3Igd2lmaS4KCkhvbGQgb24sIEkgcmVtZW1iZXIgU3l6a2FsbGVyIGhhcyBgc3l6X2luaXRfbmV0X3NvY2tldGAsIGFuZCB3aXRoIGl0LCBpdCBjYW4gY3JlYXRlIHZpcnR1YWwgaW50ZXJmYWNlcyBsaWtlIGB2ZXRoYCwgYGR1bW15YCwgYGJyaWRnZWAsIGFuZCBgdnhsYW5gLiBCdXQsIGl0IGNhbiYjMzk7dCBjcmVhdGUgYW4gYGFpcm9oYWAgZXRoZXJuZXQgZGV2aWNlIGJlY2F1c2UgaXQmIzM5O3MgZGlyZWN0bHkgdGllZCB0byB0aGUgc3BlY2lmaWNzIG9mIHRoZSBBaXJvaGEgU29DIGhhcmR3YXJlLgoKU28sIGxldCYjMzk7cyByZWZvY3VzLiBNeSBwcmltYXJ5IGdvYWwgaGVyZSBpcyB0byBkZXRlcm1pbmUgd2hldGhlciBgYWlyb2hhX2Rldl9zZWxlY3RfcXVldWVgIGlzIGFjdHVhbGx5IHJlYWNoYWJsZS4gSSBzZWUgdGhhdCBgYWlyb2hhX2Rldl9zZWxlY3RfcXVldWVgIGlzIGFzc2lnbmVkIHRvIGBuZG9fc2VsZWN0X3F1ZXVlYCB3aXRoaW4gYGFpcm9oYV9uZXRkZXZfb3BzYC4gVGhlIHByb2JsZW0gaXMsIGlmIHRoZSBkZXZpY2UgY2FuJiMzOTt0IGJlIGluc3RhbnRpYXRlZCwgdGhpcyBjb2RlIGlzIGNvbXBsZXRlbHkgdW5yZWFjaGFibGUuIEl0JiMzOTtzIGEgZGVhZCBlbmQuCgpJIG5lZWQgdG8gZG91YmxlLWNoZWNrIHRoaXMsIHRoZXJlICpoYXMqIHRvIGJlIHNvbWUgd2F5IHRvIGluc3RhbnRpYXRlIHRoaXMgdGhpbmcuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSYjMzk7bSBub3QgbWlzc2luZyBhbnl0aGluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2Fpcm9oYV9ldGgmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNTY4MgoJCQkJCQkJb3V0cHV0OiAzMAoJCQkJCQkJdGhvdWdodHM6IDI0MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipXb3J0aEZ1enppbmc9ZmFsc2U6IEEgRGVlcCBEaXZlKioKCk9rYXksIGxldCYjMzk7cyB0YWtlIGEgbG9vayBhdCB0aGlzLiBDYW4gd2Ugc29tZWhvdyByZWFjaCB0aGlzIGNvZGU/IE5vcGUuIEl0JiMzOTtzIGEgc3BlY2lhbGl6ZWQgRXRoZXJuZXQgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9yIEFpcm9oYSBTb0NzLCB0aGUgRU43NTgxIHRvIGJlIGV4YWN0LiBUaGlzIG1lYW5zIGl0JiMzOTtzIGhhcmR3YXJlLWRlcGVuZGVudCwgcmlnaHQ/IEFuZCB0aGVyZSYjMzk7cyBubyBzb2Z0d2FyZSBlbXVsYXRvciBsaWtlIGBtYWM4MDIxMV9od3NpbWAgb3IgYG5ldGRldnNpbWAgdG8gaGVscCB1cyBvdXQuIFNvLCBhcyBhbiBleHBlcnQsIEkga25vdyB0aGF0IGdldHRpbmcgdGhpcyB0byBydW4gaW5zaWRlIGEgdmlydHVhbCBlbnZpcm9ubWVudCBsaWtlIEdDRSBvciBRRU1VIGlzIGp1c3Qgbm90IGdvaW5nIHRvIGhhcHBlbi4gSXQmIzM5O3Mgc2ltcGx5IGltcG9zc2libGUsIGFzIEkgc3VzcGVjdGVkLiBUaGVyZWZvcmUsIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlzIHRoZSBjb3JyZWN0IGFuc3dlci4KCkFscmlnaHQsIGxldCBtZSBkb3VibGUtY2hlY2sgdGhlIGdpdmVuIGluc3RydWN0aW9ucy4gSXQgc2hvdWxkIGJlICYjMzQ7V29ydGhGdXp6aW5nPWZhbHNlIGlmLi4uJiMzNDsgYW5kIHRoZSBwcm9tcHQgc3BlY2lmaWVzIGNvZGUgdGhhdCYjMzk7cyB1bnJlYWNoYWJsZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aXRoIHNvZnR3YXJlIGVtdWxhdGlvbnMgc3VjaCBhcyB1c2IgZ2FkZ2V0IG9yIG1hYzgwMjExX2h3c2ltLgoKU2luY2UgdGhpcyBpcyBhIHBsYXRmb3JtIGRyaXZlciB0aGF0JiMzOTtzIHNwZWNpZmljIHRvIEFpcm9oYSYjMzk7cyBTb0MgRXRoZXJuZXQsIGFuZCBwbGF0Zm9ybSBkcml2ZXJzIHJlbHkgb24gc3BlY2lmaWMgaGFyZHdhcmUgb3IgZGV2aWNlIHRyZWUgbm9kZXMsIHdoaWNoIGFyZSBjb21wbGV0ZWx5IGFic2VudCBpbiB0aGUgc3RhbmRhcmQgeDg2IFZNcyB0aGF0IHdlIHVzZSBmb3IgZnV6emluZy4gVGhpcyBpcyBkZWZpbml0ZWx5IHVucmVhY2hhYmxlLiBUaGlzIGNvbmZpcm1zIG15IGluaXRpYWwgYXNzZXNzbWVudC4KCkp1c3QgdG8gYmUgdGhvcm91Z2gsIEkmIzM5O2xsIHF1aWNrbHkgc2VlIGlmIHRoZXJlJiMzOTtzIGFueSBtb2NrIG9yIGBuZXRkZXZzaW1gLXR5cGUgbW9kdWxlIHNwZWNpZmljYWxseSBmb3IgQWlyb2hhLiBKdXN0IHRvIG1ha2Ugc3VyZSwgaXQmIzM5O3MgYSBnb29kIHByYWN0aWNlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2Fpcm9oYSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L25ldGRldnNpbS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNjI5MwoJCQkJCQkJb3V0cHV0OiAxMjMKCQkJCQkJCXRob3VnaHRzOiAxMTUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqVW5yZWFjaGFibGUgQ29kZSBpbiBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyKioKCkFscmlnaHQsIGFmdGVyIGNhcmVmdWxseSByZXZpZXdpbmcgdGhlIGNvZGUgYW5kIGl0cyBkZXBlbmRlbmNpZXMsIGl0JiMzOTtzIGNsZWFyOiB0aGlzIHNlY3Rpb24gb2YgdGhlIGBhaXJvaGFfZXRoLmNgIGRyaXZlciBpcyBjb21wbGV0ZWx5IHVucmVhY2hhYmxlIGluIGEgc3RhbmRhcmQgZnV6emluZyBzZXR1cC4gSSYjMzk7bSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZz1mYWxzZWAgd2l0aG91dCBhIHNlY29uZCB0aG91Z2h0LgoKVGhlIHByb2JsZW0gbGllcyB3aXRoIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVyIGl0c2VsZi4gSXQmIzM5O3MgYSBwbGF0Zm9ybS1zcGVjaWZpYyBkcml2ZXIsIG1lYW5pbmcgaXQmIzM5O3MgdGllZCBkaXJlY3RseSB0byB0aGUgQWlyb2hhIFNvQ3MsIGFuZCBpdCB1c2VzIERldmljZSBUcmVlIGZvciBpdHMgaW5zdGFudGlhdGlvbi4gSSB1bmRlcnN0YW5kIHBsYXRmb3JtIGRyaXZlcnMsIEkgZ2V0IHRoZSBEZXZpY2UgVHJlZSBkZXBlbmRlbmN5LiBUaGUgcmVhbCBpc3N1ZSBpcyB0aGF0IHRoZXJlJiMzOTtzIG5vIHJlYWxpc3RpYyBzb2Z0d2FyZSBlbXVsYXRpb24gb2YgdGhpcyBoYXJkd2FyZSBhdmFpbGFibGUuIE5laXRoZXIgR29vZ2xlIENvbXB1dGUgRW5naW5lIChHQ0UpLCBub3IgUUVNVSwgdGhlIHVzdWFsIHN1c3BlY3RzIGZvciBmdXp6aW5nIGVudmlyb25tZW50cywgY2FuIGVmZmVjdGl2ZWx5IHJlcGxpY2F0ZSB0aGUgZW52aXJvbm1lbnQgbmVlZGVkIGZvciB0aGlzIGRyaXZlciB0byBleGVjdXRlIGl0cyBjb2RlIHBhdGhzLiBTbywgZnV6emluZyB0aGlzIGNvZGUgaXMgYSB3YXN0ZSBvZiByZXNvdXJjZXMuIEl0JiMzOTtzIHNpbXBseSBub3QgZ29pbmcgdG8gaGFwcGVuIGluIGFueSB0eXBpY2FsLCBwcmFjdGljYWwgZnV6emluZyBzY2VuYXJpby4gTm8gcG9pbnQgaW4gd2FzdGluZyB0aW1lIG9uIHRoaXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIwIDA4OjM3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMpLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciBBaXJvaGEgU29DcyB0aGF0IHJlbGllcyBvbiBEZXZpY2UgVHJlZSAob2ZfZGV2aWNlX2lkKSBmb3IgaW5zdGFudGlhdGlvbi4gU2luY2UgdGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0b3IgZm9yIHRoaXMgaGFyZHdhcmUsIHRoZSBjb2RlIHBhdGhzIGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAobGlrZSBHQ0Ugb3IgUUVNVSkgdXNlZCBmb3IgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jKS4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgQWlyb2hhIFNvQ3MgdGhhdCByZWxpZXMgb24gRGV2aWNlIFRyZWUgKG9mX2RldmljZV9pZCkgZm9yIGluc3RhbnRpYXRpb24uIFNpbmNlIHRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdG9yIGZvciB0aGlzIGhhcmR3YXJlLCB0aGUgY29kZSBwYXRocyBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUpIHVzZWQgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6MzY6NDguOTA2Njk3NTExWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzIzMTAzNzQ2NDIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jKS4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgQWlyb2hhIFNvQ3MgdGhhdCByZWxpZXMgb24gRGV2aWNlIFRyZWUgKG9mX2RldmljZV9pZCkgZm9yIGluc3RhbnRpYXRpb24uIFNpbmNlIHRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdG9yIGZvciB0aGlzIGhhcmR3YXJlLCB0aGUgY29kZSBwYXRocyBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUpIHVzZWQgZm9yIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yMFQwODozNjo0OC45MDY3MDI5NDFaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU0NzAyNTIxNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGI0ZDcwODgyNDMzNjdiZmYxYjc2MGEwYTdhMTE3ZDlkNGNmZTQ2ZTNcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFNhdCBKdW4gMjAgMDg6MzY6NDcgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNcXG5pbmRleCA2NGRkZTY0NjRmM2ZiMS4uMzM3MGMzZGY3YzEwN2IgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNcXG5AQCAtMjExMCw3ICsyMTEwLDcgQEAgc3RhdGljIHUxNiBhaXJvaGFfZGV2X3NlbGVjdF9xdWV1ZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbiBcXHQgKi9cXG4gXFx0Y2hhbm5lbCA9IG5ldGRldl91c2VzX2RzYShuZXRkZXYpID8gc2tiX2dldF9xdWV1ZV9tYXBwaW5nKHNrYikgOiBwb3J0LVxcdTAwM2VpZDtcXG4gXFx0Y2hhbm5lbCA9IGNoYW5uZWwgJSBBSVJPSEFfTlVNX1FPU19DSEFOTkVMUztcXG4tXFx0cXVldWUgPSAoc2tiLVxcdTAwM2Vwcmlvcml0eSAtIDEpICUgQUlST0hBX05VTV9RT1NfUVVFVUVTOyAvKiBRb1MgcXVldWUgKi9cXG4rXFx0cXVldWUgPSBza2ItXFx1MDAzZXByaW9yaXR5ICUgQUlST0hBX05VTV9RT1NfUVVFVUVTO1xcbiBcXHRxdWV1ZSA9IGNoYW5uZWwgKiBBSVJPSEFfTlVNX1FPU19RVUVVRVMgKyBxdWV1ZTtcXG4gXFxuIFxcdHJldHVybiBxdWV1ZSBcXHUwMDNjIG5ldGRldi1cXHUwMDNlbnVtX3R4X3F1ZXVlcyA/IHF1ZXVlIDogMDtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6MzY6NDkuNDU0NDgwMzA4WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMTc2MjU4NjcxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMpLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciBBaXJvaGEgU29DcyB0aGF0IHJlbGllcyBvbiBEZXZpY2UgVHJlZSAob2ZfZGV2aWNlX2lkKSBmb3IgaW5zdGFudGlhdGlvbi4gU2luY2UgdGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0b3IgZm9yIHRoaXMgaGFyZHdhcmUsIHRoZSBjb2RlIHBhdGhzIGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAobGlrZSBHQ0Ugb3IgUUVNVSkgdXNlZCBmb3IgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgYjRkNzA4ODI0MzM2N2JmZjFiNzYwYTBhN2ExMTdkOWQ0Y2ZlNDZlM1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgSnVuIDIwIDA4OjM2OjQ3IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNcbmluZGV4IDY0ZGRlNjQ2NGYzZmIxLi4zMzcwYzNkZjdjMTA3YiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNcbkBAIC0yMTEwLDcgKzIxMTAsNyBAQCBzdGF0aWMgdTE2IGFpcm9oYV9kZXZfc2VsZWN0X3F1ZXVlKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXG4gXHQgKi9cbiBcdGNoYW5uZWwgPSBuZXRkZXZfdXNlc19kc2EobmV0ZGV2KSA/IHNrYl9nZXRfcXVldWVfbWFwcGluZyhza2IpIDogcG9ydC1cdTAwM2VpZDtcbiBcdGNoYW5uZWwgPSBjaGFubmVsICUgQUlST0hBX05VTV9RT1NfQ0hBTk5FTFM7XG4tXHRxdWV1ZSA9IChza2ItXHUwMDNlcHJpb3JpdHkgLSAxKSAlIEFJUk9IQV9OVU1fUU9TX1FVRVVFUzsgLyogUW9TIHF1ZXVlICovXG4rXHRxdWV1ZSA9IHNrYi1cdTAwM2Vwcmlvcml0eSAlIEFJUk9IQV9OVU1fUU9TX1FVRVVFUztcbiBcdHF1ZXVlID0gY2hhbm5lbCAqIEFJUk9IQV9OVU1fUU9TX1FVRVVFUyArIHF1ZXVlO1xuIFxuIFx0cmV0dXJuIHF1ZXVlIFx1MDAzYyBuZXRkZXYtXHUwMDNlbnVtX3R4X3F1ZXVlcyA/IHF1ZXVlIDogMDtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIwVDA4OjM2OjQ5LjQ1NDQ4MjIwOFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjcxNjY0ODkzNTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0J3MgdG91Y2hlZCBgZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguY2AuIFRoZSBjb3JlIGNoYW5nZSBpcyBpbiB0aGUgYGFpcm9oYV9kZXZfc2VsZWN0X3F1ZXVlYCBmdW5jdGlvbi4gSXQncyBhIHNpbXBsZSwgc2VlbWluZ2x5IGFyaXRobWV0aWMgYWRqdXN0bWVudDogdGhlIG9yaWdpbmFsIGNvZGUgc3VidHJhY3RzIDEgZnJvbSBgc2tiLVx1MDAzZXByaW9yaXR5YCBiZWZvcmUgdGhlIG1vZHVsbyBvcGVyYXRpb24sIGFuZCB0aGUgcGF0Y2ggcmVtb3ZlcyB0aGF0IHN1YnRyYWN0aW9uLiBUaGlzIGltcGFjdHMgaG93IHRoZSBRdWFsaXR5IG9mIFNlcnZpY2UgKFFvUykgcXVldWUgaXMgc2VsZWN0ZWQsIGNoYW5naW5nIHRoZSBxdWV1ZSBhc3NpZ25tZW50IGJhc2VkIG9uIHBhY2tldCBwcmlvcml0eS4gSXQncyBhIGZ1bmN0aW9uYWwgbW9kaWZpY2F0aW9uLCBmb3Igc3VyZS5cblxuTm93LCB0aGUgaW50ZXJlc3RpbmcgcXVlc3Rpb24gaXM6IGhvdyByZWxldmFudCBpcyB0aGlzIGNoYW5nZSAqZ2VuZXJhbGx5Kj8gQWlyb2hhIGlzIHNwZWNpZmljIGhhcmR3YXJlLCBzbyBpdOKAmXMgbGlrZWx5IG5vdCBkaXJlY3RseSBlbXVsYXRlZCwgYW5kIHRoZSBwYXRjaCBwb2ludHMgdG8gYSB2ZXJ5IHNwZWNpZmljIHRhcmdldC4gSXQncyBwcmV0dHkgdW5jb21tb24gdG8gc2VlIHN1Y2ggc3BlY2lmaWMgaGFyZHdhcmUgZHJpdmVycyBiZWluZyBleGVyY2lzZWQgb3V0c2lkZSB0aGVpciBpbnRlbmRlZCBoYXJkd2FyZSBlbnZpcm9ubWVudCB3aXRob3V0IHNvbWUgYWR2YW5jZWQgZW11bGF0aW9uIGVmZm9ydC4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaWYgdGhpcyBBaXJvaGEgZXRoZXJuZXQgZHJpdmVyLCBsb2NhdGVkIGF0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jYCwgaXMgbGlrZWx5IHRvIGJlIHJlYWNoYWJsZSBkdXJpbmcgc3RhbmRhcmQgdmlydHVhbGl6YXRpb24sIG9yIGlmIHRoaXMgaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBzY2VuYXJpby4gSSBuZWVkIHRvIGRpZyBkZWVwZXIgaW50byB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoaXMgZGV2aWNlIGFuZCBjb25zaWRlciB3aGV0aGVyIHRoZSBwYXRjaCBpcyBicm9hZGx5IGFwcGxpY2FibGUgb3IgdmVyeSBuaWNoZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTkzMiwiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE5MSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIwVDA4OjM2OjU2LjYyMDk3NzY3MloiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NDU5NDM4OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJhaXJvaGFfZXRoXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL01ha2VmaWxlPTY9b2JqLSQoQ09ORklHX05FVF9BSVJPSEEpICs9IGFpcm9oYS1ldGgub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9NYWtlZmlsZTo3OmFpcm9oYS1ldGgteSA6PSBhaXJvaGFfZXRoLm8gYWlyb2hhX3BwZS5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL01ha2VmaWxlLTgtYWlyb2hhLWV0aC0kKENPTkZJR19ERUJVR19GUykgKz0gYWlyb2hhX3BwZV9kZWJ1Z2ZzLm9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTctI2luY2x1ZGUgXFxcImFpcm9oYV9yZWdzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxODojaW5jbHVkZSBcXFwiYWlyb2hhX2V0aC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTktXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTc0PXN0YXRpYyBpbnQgYWlyb2hhX3NldF9tYWNhZGRyKHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2LCBjb25zdCB1OCAqYWRkcilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtNzYtXFx0dTggcmVmX2FkZHJbRVRIX0FMRU5dIF9fYWxpZ25lZCgyKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjc3OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBkZXYtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTc4LVxcdHUzMiByZWcsIHZhbCwgbG1pbiwgbG1heDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTQ1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTQ2OnN0YXRpYyB2b2lkIGFpcm9oYV9zZXRfZ2RtX3BvcnRfZndkX2NmZyhzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLCB1MzIgYWRkcixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE0Ny1cXHRcXHRcXHRcXHRcXHR1MzIgdmFsKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xNTk9c3RhdGljIGludCBhaXJvaGFfc2V0X3ZpcF9mb3JfZ2RtX3BvcnQoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYsIGJvb2wgZW5hYmxlKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjEtXFx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydCA9IGRldi1cXHUwMDNlcG9ydDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE2MjpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjMtXFx0dTMyIHZpcF9wb3J0O1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNzc6c3RhdGljIHZvaWQgYWlyb2hhX2ZlX21hY2NyX2luaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE3OC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE5MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE5MjpzdGF0aWMgdm9pZCBhaXJvaGFfZmVfdmlwX3NldHVwKHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xOTMte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyNTY6c3RhdGljIHUzMiBhaXJvaGFfZmVfZ2V0X3BzZV9xdWV1ZV9yc3ZfcGFnZXMoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1Ny1cXHRcXHRcXHRcXHRcXHQgICAgIHUzMiBwb3J0LCB1MzIgcXVldWUpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI2ODpzdGF0aWMgdm9pZCBhaXJvaGFfZmVfc2V0X3BzZV9xdWV1ZV9yc3ZfcGFnZXMoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2OS1cXHRcXHRcXHRcXHRcXHQgICAgICB1MzIgcG9ydCwgdTMyIHF1ZXVlLCB1MzIgdmFsKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yODAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyODE6c3RhdGljIHUzMiBhaXJvaGFfZmVfZ2V0X3BzZV9hbGxfcnN2KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yODIte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yODUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyODY6c3RhdGljIGludCBhaXJvaGFfZmVfc2V0X3BzZV9vcV9yc3Yoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI4Ny1cXHRcXHRcXHRcXHQgICAgdTMyIHBvcnQsIHUzMiBxdWV1ZSwgdTMyIHZhbClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzE4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzE5OnN0YXRpYyB2b2lkIGFpcm9oYV9mZV9wc2VfcG9ydHNfaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzIwLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtNDAyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6NDAzOnN0YXRpYyBpbnQgYWlyb2hhX2ZlX21jX3ZsYW5fY2xlYXIoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQwNC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQ0Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjQ0MzpzdGF0aWMgdm9pZCBhaXJvaGFfZmVfY3Jzbl9xc2VsX2luaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQ0NC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQ4OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjQ4OTpzdGF0aWMgaW50IGFpcm9oYV9mZV9pbml0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy00OTAte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz02MzM9c3RhdGljIHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo2MzQ6YWlyb2hhX3FkbWFfZ2V0X2dkbV9kZXYoc3RydWN0IGFpcm9oYV9ldGggKmV0aCwgc3RydWN0IGFpcm9oYV9xZG1hX2Rlc2MgKmRlc2MpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy02MzUte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz02NTU9c3RhdGljIGludCBhaXJvaGFfcWRtYV9yeF9wcm9jZXNzKHN0cnVjdCBhaXJvaGFfcXVldWUgKnEsIGludCBidWRnZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTY1OC1cXHRzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWEgPSBxLVxcdTAwM2VxZG1hO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6NjU5OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBxZG1hLVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy02NjAtXFx0aW50IHFpZCA9IHEgLSBcXHUwMDI2cWRtYS1cXHUwMDNlcV9yeFswXTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9Nzk1PXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfaW5pdF9yeF9xdWV1ZShzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy04MDctXFx0fTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjgwODpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cXHUwMDNlZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtODA5LVxcdGludCBxaWQgPSBxIC0gXFx1MDAyNnFkbWEtXFx1MDAzZXFfcnhbMF0sIHRocjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9ODUzPXN0YXRpYyB2b2lkIGFpcm9oYV9xZG1hX2NsZWFudXBfcnhfcXVldWUoc3RydWN0IGFpcm9oYV9xdWV1ZSAqcSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtODU1LVxcdHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSA9IHEtXFx1MDAzZXFkbWE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo4NTY6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTg1Ny1cXHRpbnQgcWlkID0gcSAtIFxcdTAwMjZxZG1hLVxcdTAwM2VxX3J4WzBdO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz05MTE9c3RhdGljIHZvaWQgYWlyb2hhX3FkbWFfd2FrZV9uZXRkZXZfdHhxcyhzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy05MTMtXFx0c3RydWN0IGFpcm9oYV9xZG1hICpxZG1hID0gcS1cXHUwMDNlcWRtYTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjkxNDpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cXHUwMDNlZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtOTE1LVxcdGludCBpLCBxaWQgPSBxIC0gXFx1MDAyNnFkbWEtXFx1MDAzZXFfdHhbMF07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTk0Nz1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3R4X25hcGlfcG9sbChzdHJ1Y3QgbmFwaV9zdHJ1Y3QgKm5hcGksIGludCBidWRnZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTk1MS1cXHRzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo5NTI6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTk1My1cXHR1MzIgc3RhdHVzLCBoZWFkO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xMDU4PXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfaW5pdF90eF9xdWV1ZShzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xMDYwLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjEwNjE6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTEwNjItXFx0aW50IGksIHFpZCA9IHEgLSBcXHUwMDI2cWRtYS1cXHUwMDNlcV90eFswXTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTEwMT1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3R4X2lycV9pbml0KHN0cnVjdCBhaXJvaGFfdHhfaXJxX3F1ZXVlICppcnFfcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTEwNC1cXHRpbnQgaWQgPSBpcnFfcSAtIFxcdTAwMjZxZG1hLVxcdTAwM2VxX3R4X2lycVswXTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjExMDU6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTExMDYtXFx0ZG1hX2FkZHJfdCBkbWFfYWRkcjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTE1MD1zdGF0aWMgdm9pZCBhaXJvaGFfcWRtYV9jbGVhbnVwX3R4X3F1ZXVlKHN0cnVjdCBhaXJvaGFfcXVldWUgKnEpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTExNTItXFx0c3RydWN0IGFpcm9oYV9xZG1hICpxZG1hID0gcS1cXHUwMDNlcWRtYTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjExNTM6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTExNTQtXFx0aW50IGksIHFpZCA9IHEgLSBcXHUwMDI2cWRtYS1cXHUwMDNlcV90eFswXTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTIwMT1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX2luaXRfaGZ3ZF9xdWV1ZXMoc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xMjAzLVxcdGludCBzaXplLCBpbmRleCwgbnVtX2Rlc2MgPSBIV19EU0NQX05VTTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjEyMDQ6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTEyMDUtXFx0aW50IGlkID0gcWRtYSAtIFxcdTAwMjZldGgtXFx1MDAzZXFkbWFbMF07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE0NTc9c3RhdGljIGludCBhaXJvaGFfcWRtYV9pbml0X2lycV9iYW5rcyhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNDU5LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE0NjA6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE0NjEtXFx0aW50IGksIGlkID0gcWRtYSAtIFxcdTAwMjZldGgtXFx1MDAzZXFkbWFbMF07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE0OTA9c3RhdGljIGludCBhaXJvaGFfcWRtYV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNDkxOlxcdFxcdFxcdCAgICBzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTQ5Mi1cXHRcXHRcXHQgICAgc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xNTU3PXN0YXRpYyBpbnQgYWlyb2hhX2h3X2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE1NTg6XFx0XFx0XFx0ICBzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTU1OS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE2MDAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNjAxOnN0YXRpYyB2b2lkIGFpcm9oYV9od19jbGVhbnVwKHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjAyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTY0MD1zdGF0aWMgdm9pZCBhaXJvaGFfZGV2X2dldF9od19zdGF0cyhzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTY0Mi1cXHRzdHJ1Y3QgYWlyb2hhX2dkbV9wb3J0ICpwb3J0ID0gZGV2LVxcdTAwM2Vwb3J0O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTY0MzpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjQ0LVxcdHUzMiB2YWwsIGkgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xODA1PXN0YXRpYyBpbnQgYWlyb2hhX2Rldl9vcGVuKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE4NTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxODU0OnN0YXRpYyB2b2lkIGFpcm9oYV9zZXRfcG9ydF9tdHUoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE4NTUtXFx0XFx0XFx0XFx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTkzMj1zdGF0aWMgaW50IGFpcm9oYV9lbmFibGVfZ2RtMl9sb29wYmFjayhzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTkzNC1cXHRzdHJ1Y3QgYWlyb2hhX2dkbV9wb3J0ICpwb3J0ID0gZGV2LVxcdTAwM2Vwb3J0O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTkzNTpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xOTM2LVxcdHUzMiB2YWwsIHBzZV9wb3J0LCBjaGFuO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xOTk0PXN0YXRpYyBzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTk5NTphaXJvaGFfZ2V0X3dhbl9nZG1fZGV2KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xOTk2LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjAxNz1zdGF0aWMgdm9pZCBhaXJvaGFfZGV2X3NldF9xZG1hKHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMDE5LVxcdHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYgPSBuZXRkZXZfZnJvbV9wcml2KGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMDIwOlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBkZXYtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIwMjEtXFx0aW50IHBwZV9pZDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjE2Mz1pbnQgYWlyb2hhX2dldF9mZV9wb3J0KHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMTY1LVxcdHN0cnVjdCBhaXJvaGFfZ2RtX3BvcnQgKnBvcnQgPSBkZXYtXFx1MDAzZXBvcnQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMTY2OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBkZXYtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIxNjctXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTIxNzk9c3RhdGljIG5ldGRldl90eF90IGFpcm9oYV9kZXZfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzIwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjMyMTpzdGF0aWMgdm9pZCBhaXJvaGFfZXRodG9vbF9nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjMyMi1cXHRcXHRcXHRcXHQgICAgICAgc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyAqaW5mbylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjMyNC1cXHRzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiA9IG5ldGRldl9wcml2KG5ldGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMzI1OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBkZXYtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMjYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMzAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMzMxOnN0YXRpYyB2b2lkIGFpcm9oYV9ldGh0b29sX2dldF9tYWNfc3RhdHMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMzItXFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBldGh0b29sX2V0aF9tYWNfc3RhdHMgKnN0YXRzKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzQ5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM1MDpzdGF0aWMgY29uc3Qgc3RydWN0IGV0aHRvb2xfcm1vbl9oaXN0X3JhbmdlIGFpcm9oYV9ldGh0b29sX3Jtb25fcmFuZ2VzW10gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzUxLVxcdHsgICAgMCwgICAgNjQgfSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjM2MT1zdGF0aWMgdm9pZFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM2MjphaXJvaGFfZXRodG9vbF9nZXRfcm1vbl9zdGF0cyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM2My1cXHRcXHRcXHQgICAgICBzdHJ1Y3QgZXRodG9vbF9ybW9uX3N0YXRzICpzdGF0cyxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM2OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjIzNzA6XFx0QlVJTERfQlVHX09OKEFSUkFZX1NJWkUoYWlyb2hhX2V0aHRvb2xfcm1vbl9yYW5nZXMpICE9XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzcxLVxcdFxcdCAgICAgQVJSQVlfU0laRShod19zdGF0cy1cXHUwMDNldHhfbGVuKSArIDEpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM3MjpcXHRCVUlMRF9CVUdfT04oQVJSQVlfU0laRShhaXJvaGFfZXRodG9vbF9ybW9uX3JhbmdlcykgIT1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzNzMtXFx0XFx0ICAgICBBUlJBWV9TSVpFKGh3X3N0YXRzLVxcdTAwM2VyeF9sZW4pICsgMSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzc0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM3NTpcXHQqcmFuZ2VzID0gYWlyb2hhX2V0aHRvb2xfcm1vbl9yYW5nZXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzc2LVxcdGFpcm9oYV91cGRhdGVfaHdfc3RhdHMoZGV2KTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM4Mi1cXHRcXHRzdGF0cy1cXHUwMDNlamFiYmVycyA9IGh3X3N0YXRzLVxcdTAwM2VyeF9qYWJiZXI7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMzgzOlxcdFxcdGZvciAoaSA9IDA7IGkgXFx1MDAzYyBBUlJBWV9TSVpFKGFpcm9oYV9ldGh0b29sX3Jtb25fcmFuZ2VzKSAtIDE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzg0LVxcdFxcdCAgICAgaSsrKSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTI5NDI9c3RhdGljIGludCBhaXJvaGFfZGV2X3NldHVwX3RjX2Jsb2NrX2NiKGVudW0gdGNfc2V0dXBfdHlwZSB0eXBlLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yOTQ2LVxcdHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI5NDc6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cXHUwMDNlZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjk0OC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MzA5OT1zdGF0aWMgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2Vfb3BzIGFpcm9oYV9uZXRkZXZfb3BzID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTEwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzExMTpzdGF0aWMgY29uc3Qgc3RydWN0IGV0aHRvb2xfb3BzIGFpcm9oYV9ldGh0b29sX29wcyA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxMTI6XFx0LmdldF9kcnZpbmZvXFx0XFx0PSBhaXJvaGFfZXRodG9vbF9nZXRfZHJ2aW5mbyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxMTM6XFx0LmdldF9ldGhfbWFjX3N0YXRzICAgICAgPSBhaXJvaGFfZXRodG9vbF9nZXRfbWFjX3N0YXRzLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzExNDpcXHQuZ2V0X3Jtb25fc3RhdHNcXHRcXHQ9IGFpcm9oYV9ldGh0b29sX2dldF9ybW9uX3N0YXRzLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzExNS1cXHQuZ2V0X2xpbmtfa3NldHRpbmdzXFx0PSBwaHlfZXRodG9vbF9nZXRfbGlua19rc2V0dGluZ3MsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTMxMzg9c3RhdGljIHZvaWQgYWlyb2hhX21ldGFkYXRhX2RzdF9mcmVlKHN0cnVjdCBhaXJvaGFfZ2RtX3BvcnQgKnBvcnQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMxNDktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozMTUwOmJvb2wgYWlyb2hhX2lzX3ZhbGlkX2dkbV9kZXYoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMxNTEtXFx0XFx0XFx0ICAgICBzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzE3MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxNzE6c3RhdGljIGludCBhaXJvaGFfYWxsb2NfZ2RtX2RldmljZShzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzE3Mi1cXHRcXHRcXHRcXHQgICBzdHJ1Y3QgYWlyb2hhX2dkbV9wb3J0ICpwb3J0LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTg4LVxcdG5ldGRldi1cXHUwMDNlbmV0ZGV2X29wcyA9IFxcdTAwMjZhaXJvaGFfbmV0ZGV2X29wcztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxODk6XFx0bmV0ZGV2LVxcdTAwM2VldGh0b29sX29wcyA9IFxcdTAwMjZhaXJvaGFfZXRodG9vbF9vcHM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTkwLVxcdG5ldGRldi1cXHUwMDNlbWF4X210dSA9IEFJUk9IQV9NQVhfTVRVO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMjM2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzIzNzpzdGF0aWMgaW50IGFpcm9oYV9hbGxvY19nZG1fcG9ydChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzIzOC1cXHRcXHRcXHRcXHQgc3RydWN0IGRldmljZV9ub2RlICpucClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzMxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMzMTc6c3RhdGljIGludCBhaXJvaGFfcmVnaXN0ZXJfZ2RtX2RldmljZXMoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMzMTgte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0zMzQ2PXN0YXRpYyBpbnQgYWlyb2hhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMzNDktXFx0c3RydWN0IGRldmljZV9ub2RlICpucDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMzNTA6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMzNTEtXFx0aW50IGksIGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MzQ3Mj1zdGF0aWMgdm9pZCBhaXJvaGFfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zNDczLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjM0NzQ6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzQ3NS1cXHRpbnQgaTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MzY0Mj1zdGF0aWMgaW50IGFpcm9oYV9hbjc1ODNfZ2V0X2Rldl9mcm9tX3Nwb3J0KHN0cnVjdCBhaXJvaGFfcWRtYV9kZXNjICpkZXNjLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zNjcxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzY3MjpzdGF0aWMgY29uc3Qgc3RydWN0IGFpcm9oYV9ldGhfc29jX2RhdGEgZW43NTgxX3NvY19kYXRhID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzY3My1cXHQudmVyc2lvbiA9IDB4NzU4MSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzY4My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjM2ODQ6c3RhdGljIGNvbnN0IHN0cnVjdCBhaXJvaGFfZXRoX3NvY19kYXRhIGFuNzU4M19zb2NfZGF0YSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM2ODUtXFx0LnZlcnNpb24gPSAweDc1ODMsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTUyMz1zdHJ1Y3QgYWlyb2hhX3FkbWEge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6NTI0OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC01MjUtXFx0dm9pZCBfX2lvbWVtICpyZWdzO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaD01NDM9c3RydWN0IGFpcm9oYV9nZG1fZGV2IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNTQ1LVxcdHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjU0NjpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNTQ3LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaD01NzM9c3RydWN0IGFpcm9oYV9wcGUge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNTc0LVxcdHN0cnVjdCBhaXJvaGFfcHBlX2RldiBkZXY7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo1NzU6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTU3Ni1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNTkwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6NTkxOnN0cnVjdCBhaXJvaGFfZXRoX3NvY19kYXRhIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTU5Mi1cXHR1MTYgdmVyc2lvbjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNjAzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6NjA0OnN0cnVjdCBhaXJvaGFfZXRoIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTYwNS1cXHRzdHJ1Y3QgZGV2aWNlICpkZXY7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02MDYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo2MDc6XFx0Y29uc3Qgc3RydWN0IGFpcm9oYV9ldGhfc29jX2RhdGEgKnNvYztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTYwOC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg9NjYxPXN0YXRpYyBpbmxpbmUgYm9vbCBhaXJvaGFfaXNfbGFuX2dkbV9kZXYoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTY2NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY2NjpzdGF0aWMgaW5saW5lIGJvb2wgYWlyb2hhX2lzXzc1ODEoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTY2Ny17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTY3MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY3MTpzdGF0aWMgaW5saW5lIGJvb2wgYWlyb2hhX2lzXzc1ODMoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTY3Mi17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTY3Nj1pbnQgYWlyb2hhX2dldF9mZV9wb3J0KHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY3Nzpib29sIGFpcm9oYV9pc192YWxpZF9nZG1fZGV2KHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02NzgtXFx0XFx0XFx0ICAgICBzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldik7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTY4MD12b2lkIGFpcm9oYV9wcGVfc2V0X2NwdV9wb3J0KHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2LCB1OCBwcGVfaWQsIHU4IGZwb3J0KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY4MTpib29sIGFpcm9oYV9wcGVfaXNfZW5hYmxlZChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLCBpbnQgaW5kZXgpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNjgyLXZvaWQgYWlyb2hhX3BwZV9jaGVja19za2Ioc3RydWN0IGFpcm9oYV9wcGVfZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTY4ND1pbnQgYWlyb2hhX3BwZV9zZXR1cF90Y19ibG9ja19jYihzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgKmRldiwgdm9pZCAqdHlwZV9kYXRhKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY4NTppbnQgYWlyb2hhX3BwZV9pbml0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6Njg2OnZvaWQgYWlyb2hhX3BwZV9kZWluaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02ODctdm9pZCBhaXJvaGFfcHBlX2luaXRfdXBkX21lbShzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgY29uc3QgdTggKmFkZHIpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYy0xNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjE1OiNpbmNsdWRlIFxcXCJhaXJvaGFfZXRoLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYy0xNi1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTUtI2luY2x1ZGUgXFxcImFpcm9oYV9yZWdzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxNjojaW5jbHVkZSBcXFwiYWlyb2hhX2V0aC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTctXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTQ2PXN0YXRpYyBpbnQgYWlyb2hhX3BwZV9nZXRfdG90YWxfbnVtX3N0YXRzX2VudHJpZXMoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNTAtXFx0aWYgKG51bV9zdGF0cyBcXHUwMDNlIDApIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjUxOlxcdFxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTUyLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz01OT1zdGF0aWMgdTMyIGFpcm9oYV9wcGVfZ2V0X3RvdGFsX3NyYW1fbnVtX2VudHJpZXMoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTYwLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjYxOlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTYyLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz02Nj11MzIgYWlyb2hhX3BwZV9nZXRfdG90YWxfbnVtX2VudHJpZXMoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzo3Mzpib29sIGFpcm9oYV9wcGVfaXNfZW5hYmxlZChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLCBpbnQgaW5kZXgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy03NC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTg3PXZvaWQgYWlyb2hhX3BwZV9zZXRfY3B1X3BvcnQoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYsIHU4IHBwZV9pZCwgdTggZnBvcnQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTg5LVxcdHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSA9IGRldi1cXHUwMDNlcWRtYTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjkwOlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBxZG1hLVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy05MS1cXHR1OCBxZG1hX2lkID0gcWRtYSAtIFxcdTAwMjZldGgtXFx1MDAzZXFkbWFbMF07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTEwMD1zdGF0aWMgdm9pZCBhaXJvaGFfcHBlX2h3X2luaXQoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTAzLVxcdHUzMiBzcmFtX3RiX3NpemUsIGRyYW1fbnVtX2VudHJpZXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMDQ6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBwZS1cXHUwMDNlZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTA1LVxcdGludCBpLCBzcmFtX251bV9zdGF0c19lbnRyaWVzO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0zMDQ9c3RhdGljIHZvaWQgYWlyb2hhX3BwZV9mb2Vfc2V0X2JyaWRnZV9hZGRycyhzdHJ1Y3QgYWlyb2hhX2ZvZV9icmlkZ2UgKmJyLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0zMTItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzozMTM6c3RhdGljIGludCBhaXJvaGFfcHBlX2ZvZV9lbnRyeV9wcmVwYXJlKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0zMTQtXFx0XFx0XFx0XFx0XFx0c3RydWN0IGFpcm9oYV9mb2VfZW50cnkgKmh3ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9NjU4PWFpcm9oYV9wcGVfZm9lX2dldF9lbnRyeV9sb2NrZWQoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSwgdTMyIGhhc2gpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTY2Ni1cXHRcXHRib29sIHBwZTIgPSBoYXNoIFxcdTAwM2U9IFBQRV9TUkFNX05VTV9FTlRSSUVTO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6NjY3OlxcdFxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTY2OC1cXHRcXHR1MzIgdmFsO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz03Mzk9c3RhdGljIGludCBhaXJvaGFfcHBlX2ZvZV9jb21taXRfZW50cnkoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNzQ1LVxcdHUzMiB0cyA9IGFpcm9oYV9wcGVfZ2V0X3RpbWVzdGFtcChwcGUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6NzQ2OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTc0Ny1cXHRzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1O1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xMDQ5PXN0YXRpYyBpbnQgYWlyb2hhX3BwZV9lbnRyeV9pZGxlX3RpbWUoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTA1Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjEwNTc6c3RhdGljIGludCBhaXJvaGFfcHBlX2Zsb3dfb2ZmbG9hZF9yZXBsYWNlKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMDU4LVxcdFxcdFxcdFxcdFxcdCAgIHN0cnVjdCBmbG93X2Nsc19vZmZsb2FkICpmKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMjU2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTI1NzpzdGF0aWMgaW50IGFpcm9oYV9wcGVfZmxvd19vZmZsb2FkX2Rlc3Ryb3koc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNTgtXFx0XFx0XFx0XFx0XFx0ICAgc3RydWN0IGZsb3dfY2xzX29mZmxvYWQgKmYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTEyNzU9dm9pZCBhaXJvaGFfcHBlX2ZvZV9lbnRyeV9nZXRfc3RhdHMoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSwgdTMyIGhhc2gsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNzcte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTI3ODpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcHBlLVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMjc5LVxcdGludCBwcGVfbnVtX3N0YXRzX2VudHJpZXM7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzMDktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMzEwOnN0YXRpYyBpbnQgYWlyb2hhX3BwZV9mbG93X29mZmxvYWRfc3RhdHMoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzMTEtXFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBmbG93X2Nsc19vZmZsb2FkICpmKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMzM1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTMzNjpzdGF0aWMgaW50IGFpcm9oYV9wcGVfZmxvd19vZmZsb2FkX2NtZChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTMzNy1cXHRcXHRcXHRcXHQgICAgICAgc3RydWN0IGZsb3dfY2xzX29mZmxvYWQgKmYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTEzNTM9c3RhdGljIGludCBhaXJvaGFfcHBlX2ZsdXNoX3NyYW1fZW50cmllcyhzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMzcwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTM3MTpzdGF0aWMgc3RydWN0IGFpcm9oYV9ucHUgKmFpcm9oYV9wcGVfbnB1X2dldChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTM3Mi17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzODItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMzgzOnN0YXRpYyBpbnQgYWlyb2hhX3BwZV93YWl0X2Zvcl9ucHVfaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTM4NC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE0MDUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxNDA2OnN0YXRpYyBpbnQgYWlyb2hhX3BwZV9vZmZsb2FkX3NldHVwKHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNDA3LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9MTQ0Nj1pbnQgYWlyb2hhX3BwZV9zZXR1cF90Y19ibG9ja19jYihzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgKmRldiwgdm9pZCAqdHlwZV9kYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNDQ4LVxcdHN0cnVjdCBhaXJvaGFfcHBlICpwcGUgPSBkZXYtXFx1MDAzZXByaXY7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxNDQ5OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE0NTAtXFx0aW50IGVyciA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTE0OTA9dm9pZCBhaXJvaGFfcHBlX2luaXRfdXBkX21lbShzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgY29uc3QgdTggKmFkZHIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE0OTItXFx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydCA9IGRldi1cXHUwMDNlcG9ydDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE0OTM6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cXHUwMDNlZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTQ5NC1cXHR1MzIgdmFsO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xNTEwPXN0cnVjdCBhaXJvaGFfcHBlX2RldiAqYWlyb2hhX3BwZV9nZXRfZGV2KHN0cnVjdCBkZXZpY2UgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTUxMy1cXHRzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTUxNDpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTUxNS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9MTU1NT12b2lkIGFpcm9oYV9wcGVfcHV0X2RldihzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTU1Ny1cXHRzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlID0gZGV2LVxcdTAwM2Vwcml2O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTU1ODpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcHBlLVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNTU5LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xNTYzPUVYUE9SVF9TWU1CT0xfR1BMKGFpcm9oYV9wcGVfcHV0X2Rldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNTY0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTU2NTppbnQgYWlyb2hhX3BwZV9pbml0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNTY2LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTYzNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE2MzU6dm9pZCBhaXJvaGFfcHBlX2RlaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTYzNi17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZV9kZWJ1Z2ZzLmMtNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZV9kZWJ1Z2ZzLmM6NzojaW5jbHVkZSBcXFwiYWlyb2hhX2V0aC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlX2RlYnVnZnMuYy04LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yMFQwODozNjo1Ni42NzU1Nzc2NTFaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2MTU1NjY0Mjg4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUmVhY2hhYmlsaXR5IG9mIHRoZSBBSVJPSEEgRXRoZXJuZXQgRHJpdmVyIGluIGEgVmlydHVhbGl6ZWQgQ29udGV4dCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IGBDT05GSUdfTkVUX0FJUk9IQWAsIHRoZSBBSVJPSEEgRXRoZXJuZXQgZHJpdmVyLiBNeSBpbW1lZGlhdGUgY29uY2VybiBpcyB3aGV0aGVyIHRoaXMgaXMgZXZlbiAqcmVhY2hhYmxlKiBpbiBhIHR5cGljYWwgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuIEl0J3MgYSBwbGF0Zm9ybSBkcml2ZXIsIHdoaWNoIGltbWVkaWF0ZWx5IG1ha2VzIG1lIHRoaW5rIGRldmljZSB0cmVlLiBMb29raW5nIGF0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jYCwgSSBzZWUgYGFpcm9oYV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KWAuIFRoYXQncyB0aGUga2V5IGVudHJ5IHBvaW50LiBUaGUgcXVlc3Rpb24gaXMsIGhvdyBkb2VzIHRoYXQgYHBsYXRmb3JtX2RldmljZWAgZ2V0IGluc3RhbnRpYXRlZD9cblxuTXkgZXhwZXJpZW5jZSB0ZWxscyBtZSB0aGlzIGlzIHVzdWFsbHkgZGV2aWNlIHRyZWUgZHJpdmVuLiBTbywgdW5sZXNzIHRoZXJlJ3Mgc29tZSBzcGVjaWZpYyBlbXVsYXRvciBzdXBwb3J0LCBvciBhIHdheSB0byBpbmplY3QgZGV2aWNlIHRyZWUgbm9kZXMsIGl0IG1pZ2h0IGJlIGluYWNjZXNzaWJsZS4gSXQncyB0aGUgc3RhbmRhcmQgaXNzdWUgd2l0aCBwbGF0Zm9ybSBkcml2ZXJzLiBcblxuSG9sZCBvbiwgSSBuZWVkIHRvIGNvbnNpZGVyIHN5emthbGxlci4gSSBrbm93IGl0IGNhbiBpbmplY3QgcGxhdGZvcm0gZGV2aWNlcyB1c2luZyBgc3l6X2RldmxpbmtgIG9yIGBzeXpfcGxhdGZvcm1fZGV2aWNlYCwgYnV0IHRoYXQncyBub3QgZ2VuZXJhbGx5IHRoZSBjYXNlIGZvciBub24tZ2VuZXJpYyBvbmVzLiBVbmxlc3MgdGhlcmUncyBhIHNwZWNpZmljIHN5emthbGxlciBkZXNjcmlwdGlvbiBmb3IgdGhlIEFJUk9IQSBkcml2ZXIsIG9yIHBlcmhhcHMgaXQncyBhIFBDSS9VU0IgZGV2aWNlLCBpdCdzIHByb2JhYmx5IG5vdCByZWFjaGFibGUgdGhyb3VnaCB0aGF0IG1ldGhvZCBlaXRoZXIuXG5cblRoZXJlZm9yZSwgSSBuZWVkIHRvIGNoZWNrIGZvciBhIFBDSSBvciBVU0IgYmluZGluZyBmb3IgdGhpcyBkcml2ZXIuIElmIHRoZXJlJ3MgYSBQQ0kgb3IgVVNCIGludGVyZmFjZSBpbnZvbHZlZCwgdGhhdCBnaXZlcyBtZSBhIHBvdGVudGlhbCBlbnRyeSBwb2ludCBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBUaGF0IGlzIG15IG5leHQgc3RlcC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTQxMTQsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMjYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6Mzc6MDIuODMxMjQzNzQ5WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUyOTI2MDE4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIk1PRFVMRV9ERVZJQ0VfVEFCTEVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTM2OTY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfYWlyb2hhX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM3MDAtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjM3MDE6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgb2ZfYWlyb2hhX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM3MDItXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jPTY3OD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9haXJvaGFfbnB1X21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jLTY4Mi19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmM6NjgzOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG9mX2Fpcm9oYV9ucHVfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjg0LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yMFQwODozNzowMi44ODQxNzg5MjdaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2OTMyMDA0MDE5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIEFpcm9oYSBFdGhlcm5ldCBEZXZpY2UgQ29kZSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgY29kZSwgYW5kIHRoZSBrZXkgaWRlbnRpZmllciBoZXJlIGlzIHRoZSBgb2ZfZGV2aWNlX2lkYC4gSG1tLCB0aGF0IG1lYW5zIGl0J3MgcmVseWluZyBvbiB0aGUgRGV2aWNlIFRyZWUuIFRoZSBpbW1lZGlhdGUgcXVlc3Rpb24gaXMsIGhvdyBvbiBlYXJ0aCBkbyBJIHJlYWNoIHRoaXMgY29kZSBpbiBhIHN0YW5kYXJkIHg4NiB2aXJ0dWFsIG1hY2hpbmU/IFR5cGljYWxseSwgT3BlbiBGaXJtd2FyZSBvciBEZXZpY2UgVHJlZSBkZXZpY2VzIGFyZSAqbm90KiBwcmVzZW50IG9uIHg4NiB1bmxlc3MgeW91IGV4cGxpY2l0bHkgbW9jayB0aGVtLiBBbmQsIGFzIGZhciBhcyBJIGtub3csIFN5emthbGxlciBkb2Vzbid0IGdlbmVyYWxseSBtb2NrIGFyYml0cmFyeSBEZXZpY2UgVHJlZSBub2RlcyBvbiB4ODY7IGl0IHVzdWFsbHkgZ29lcyBhIGRpZmZlcmVudCByb3V0ZS4gV2FpdCBhIHNlY29uZC4uLiBkb2Vzbid0IFN5emthbGxlciAqa2luZGEqIHN1cHBvcnQgaW5qZWN0aW5nIGRldmljZSB0cmVlIG5vZGVzIG9yIHBsYXRmb3JtIGRldmljZXM/IE5vLCB0aGF0J3Mgbm90IHF1aXRlIHJpZ2h0LiBTeXprYWxsZXIgZ2VuZXJhbGx5IGxlYW5zIG9uIHN0dWZmIGxpa2UgYHZoY2lgIGZvciBVU0IsIGBuZXRsaW5rYCBmb3IgdmlydHVhbCBkZXZpY2VzLCBhbmQgYG1hYzgwMjExX2h3c2ltYCBmb3Igd2lmaS5cblxuSG9sZCBvbiwgSSByZW1lbWJlciBTeXprYWxsZXIgaGFzIGBzeXpfaW5pdF9uZXRfc29ja2V0YCwgYW5kIHdpdGggaXQsIGl0IGNhbiBjcmVhdGUgdmlydHVhbCBpbnRlcmZhY2VzIGxpa2UgYHZldGhgLCBgZHVtbXlgLCBgYnJpZGdlYCwgYW5kIGB2eGxhbmAuIEJ1dCwgaXQgY2FuJ3QgY3JlYXRlIGFuIGBhaXJvaGFgIGV0aGVybmV0IGRldmljZSBiZWNhdXNlIGl0J3MgZGlyZWN0bHkgdGllZCB0byB0aGUgc3BlY2lmaWNzIG9mIHRoZSBBaXJvaGEgU29DIGhhcmR3YXJlLlxuXG5TbywgbGV0J3MgcmVmb2N1cy4gTXkgcHJpbWFyeSBnb2FsIGhlcmUgaXMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYGFpcm9oYV9kZXZfc2VsZWN0X3F1ZXVlYCBpcyBhY3R1YWxseSByZWFjaGFibGUuIEkgc2VlIHRoYXQgYGFpcm9oYV9kZXZfc2VsZWN0X3F1ZXVlYCBpcyBhc3NpZ25lZCB0byBgbmRvX3NlbGVjdF9xdWV1ZWAgd2l0aGluIGBhaXJvaGFfbmV0ZGV2X29wc2AuIFRoZSBwcm9ibGVtIGlzLCBpZiB0aGUgZGV2aWNlIGNhbid0IGJlIGluc3RhbnRpYXRlZCwgdGhpcyBjb2RlIGlzIGNvbXBsZXRlbHkgdW5yZWFjaGFibGUuIEl0J3MgYSBkZWFkIGVuZC5cblxuSSBuZWVkIHRvIGRvdWJsZS1jaGVjayB0aGlzLCB0aGVyZSAqaGFzKiB0byBiZSBzb21lIHdheSB0byBpbnN0YW50aWF0ZSB0aGlzIHRoaW5nLiBJIG5lZWQgdG8gbWFrZSBzdXJlIEknbSBub3QgbWlzc2luZyBhbnl0aGluZy5cblxuXG4iLCJJbnB1dFRva2VucyI6MTQ5NzAsIk91dHB1dFRva2VucyI6MjYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNzQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6Mzc6MDkuODE2MTg1NzM3WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk1MjQyNTU4LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJhaXJvaGFfZXRoXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIwVDA4OjM3OjA5LjkxMTQ0MDY3NVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU3NzYzMjQ5MTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqV29ydGhGdXp6aW5nPWZhbHNlOiBBIERlZXAgRGl2ZSoqXG5cbk9rYXksIGxldCdzIHRha2UgYSBsb29rIGF0IHRoaXMuIENhbiB3ZSBzb21laG93IHJlYWNoIHRoaXMgY29kZT8gTm9wZS4gSXQncyBhIHNwZWNpYWxpemVkIEV0aGVybmV0IGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvciBBaXJvaGEgU29DcywgdGhlIEVONzU4MSB0byBiZSBleGFjdC4gVGhpcyBtZWFucyBpdCdzIGhhcmR3YXJlLWRlcGVuZGVudCwgcmlnaHQ/IEFuZCB0aGVyZSdzIG5vIHNvZnR3YXJlIGVtdWxhdG9yIGxpa2UgYG1hYzgwMjExX2h3c2ltYCBvciBgbmV0ZGV2c2ltYCB0byBoZWxwIHVzIG91dC4gU28sIGFzIGFuIGV4cGVydCwgSSBrbm93IHRoYXQgZ2V0dGluZyB0aGlzIHRvIHJ1biBpbnNpZGUgYSB2aXJ0dWFsIGVudmlyb25tZW50IGxpa2UgR0NFIG9yIFFFTVUgaXMganVzdCBub3QgZ29pbmcgdG8gaGFwcGVuLiBJdCdzIHNpbXBseSBpbXBvc3NpYmxlLCBhcyBJIHN1c3BlY3RlZC4gVGhlcmVmb3JlLCBgV29ydGhGdXp6aW5nPWZhbHNlYCBpcyB0aGUgY29ycmVjdCBhbnN3ZXIuXG5cbkFscmlnaHQsIGxldCBtZSBkb3VibGUtY2hlY2sgdGhlIGdpdmVuIGluc3RydWN0aW9ucy4gSXQgc2hvdWxkIGJlIFwiV29ydGhGdXp6aW5nPWZhbHNlIGlmLi4uXCIgYW5kIHRoZSBwcm9tcHQgc3BlY2lmaWVzIGNvZGUgdGhhdCdzIHVucmVhY2hhYmxlIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggc29mdHdhcmUgZW11bGF0aW9ucyBzdWNoIGFzIHVzYiBnYWRnZXQgb3IgbWFjODAyMTFfaHdzaW0uXG5cblNpbmNlIHRoaXMgaXMgYSBwbGF0Zm9ybSBkcml2ZXIgdGhhdCdzIHNwZWNpZmljIHRvIEFpcm9oYSdzIFNvQyBFdGhlcm5ldCwgYW5kIHBsYXRmb3JtIGRyaXZlcnMgcmVseSBvbiBzcGVjaWZpYyBoYXJkd2FyZSBvciBkZXZpY2UgdHJlZSBub2Rlcywgd2hpY2ggYXJlIGNvbXBsZXRlbHkgYWJzZW50IGluIHRoZSBzdGFuZGFyZCB4ODYgVk1zIHRoYXQgd2UgdXNlIGZvciBmdXp6aW5nLiBUaGlzIGlzIGRlZmluaXRlbHkgdW5yZWFjaGFibGUuIFRoaXMgY29uZmlybXMgbXkgaW5pdGlhbCBhc3Nlc3NtZW50LlxuXG5KdXN0IHRvIGJlIHRob3JvdWdoLCBJJ2xsIHF1aWNrbHkgc2VlIGlmIHRoZXJlJ3MgYW55IG1vY2sgb3IgYG5ldGRldnNpbWAtdHlwZSBtb2R1bGUgc3BlY2lmaWNhbGx5IGZvciBBaXJvaGEuIEp1c3QgdG8gbWFrZSBzdXJlLCBpdCdzIGEgZ29vZCBwcmFjdGljZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTU2ODIsIk91dHB1dFRva2VucyI6MzAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNDEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6Mzc6MTUuNjg3NzY3NDUxWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo3NDIwNjU3OSwiRXJyb3IiOiJubyBtYXRjaGVzIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYWlyb2hhXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L25ldGRldnNpbS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIwVDA4OjM3OjE1Ljc2MTk4MzM2WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU0NTUwNTQ4MTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqVW5yZWFjaGFibGUgQ29kZSBpbiBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyKipcblxuQWxyaWdodCwgYWZ0ZXIgY2FyZWZ1bGx5IHJldmlld2luZyB0aGUgY29kZSBhbmQgaXRzIGRlcGVuZGVuY2llcywgaXQncyBjbGVhcjogdGhpcyBzZWN0aW9uIG9mIHRoZSBgYWlyb2hhX2V0aC5jYCBkcml2ZXIgaXMgY29tcGxldGVseSB1bnJlYWNoYWJsZSBpbiBhIHN0YW5kYXJkIGZ1enppbmcgc2V0dXAuIEknbSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZz1mYWxzZWAgd2l0aG91dCBhIHNlY29uZCB0aG91Z2h0LlxuXG5UaGUgcHJvYmxlbSBsaWVzIHdpdGggdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIgaXRzZWxmLiBJdCdzIGEgcGxhdGZvcm0tc3BlY2lmaWMgZHJpdmVyLCBtZWFuaW5nIGl0J3MgdGllZCBkaXJlY3RseSB0byB0aGUgQWlyb2hhIFNvQ3MsIGFuZCBpdCB1c2VzIERldmljZSBUcmVlIGZvciBpdHMgaW5zdGFudGlhdGlvbi4gSSB1bmRlcnN0YW5kIHBsYXRmb3JtIGRyaXZlcnMsIEkgZ2V0IHRoZSBEZXZpY2UgVHJlZSBkZXBlbmRlbmN5LiBUaGUgcmVhbCBpc3N1ZSBpcyB0aGF0IHRoZXJlJ3Mgbm8gcmVhbGlzdGljIHNvZnR3YXJlIGVtdWxhdGlvbiBvZiB0aGlzIGhhcmR3YXJlIGF2YWlsYWJsZS4gTmVpdGhlciBHb29nbGUgQ29tcHV0ZSBFbmdpbmUgKEdDRSksIG5vciBRRU1VLCB0aGUgdXN1YWwgc3VzcGVjdHMgZm9yIGZ1enppbmcgZW52aXJvbm1lbnRzLCBjYW4gZWZmZWN0aXZlbHkgcmVwbGljYXRlIHRoZSBlbnZpcm9ubWVudCBuZWVkZWQgZm9yIHRoaXMgZHJpdmVyIHRvIGV4ZWN1dGUgaXRzIGNvZGUgcGF0aHMuIFNvLCBmdXp6aW5nIHRoaXMgY29kZSBpcyBhIHdhc3RlIG9mIHJlc291cmNlcy4gSXQncyBzaW1wbHkgbm90IGdvaW5nIHRvIGhhcHBlbiBpbiBhbnkgdHlwaWNhbCwgcHJhY3RpY2FsIGZ1enppbmcgc2NlbmFyaW8uIE5vIHBvaW50IGluIHdhc3RpbmcgdGltZSBvbiB0aGlzLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxNjI5MywiT3V0cHV0VG9rZW5zIjoxMjMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6Mzc6MjEuMjE3MDQxNzEzWiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjQwNDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMpLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciBBaXJvaGEgU29DcyB0aGF0IHJlbGllcyBvbiBEZXZpY2UgVHJlZSAob2ZfZGV2aWNlX2lkKSBmb3IgaW5zdGFudGlhdGlvbi4gU2luY2UgdGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0b3IgZm9yIHRoaXMgaGFyZHdhcmUsIHRoZSBjb2RlIHBhdGhzIGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAobGlrZSBHQ0Ugb3IgUUVNVSkgdXNlZCBmb3IgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jKS4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgQWlyb2hhIFNvQ3MgdGhhdCByZWxpZXMgb24gRGV2aWNlIFRyZWUgKG9mX2RldmljZV9pZCkgZm9yIGluc3RhbnRpYXRpb24uIFNpbmNlIHRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdG9yIGZvciB0aGlzIGhhcmR3YXJlLCB0aGUgY29kZSBwYXRocyBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUpIHVzZWQgZm9yIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowq7b8w[0].run-triage(0) Phase: Succeeded StartedAt: 2026-06-20 08:26:53 +0000 UTC FinishedAt: 2026-06-20 08:37:21 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIwIDA4OjM2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jKS4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgQWlyb2hhIFNvQ3MgdGhhdCByZWxpZXMgb24gRGV2aWNlIFRyZWUgKG9mX2RldmljZV9pZCkgZm9yIGluc3RhbnRpYXRpb24uIFNpbmNlIHRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdG9yIGZvciB0aGlzIGhhcmR3YXJlLCB0aGUgY29kZSBwYXRocyBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUpIHVzZWQgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIwIDA4OjM2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgYjRkNzA4ODI0MzM2N2JmZjFiNzYwYTBhN2ExMTdkOWQ0Y2ZlNDZlM1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgSnVuIDIwIDA4OjM2OjQ3IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jXG5pbmRleCA2NGRkZTY0NjRmM2ZiMS4uMzM3MGMzZGY3YzEwN2IgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jXG5AQCAtMjExMCw3ICYjNDM7MjExMCw3IEBAIHN0YXRpYyB1MTYgYWlyb2hhX2Rldl9zZWxlY3RfcXVldWUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbiBcdCAqL1xuIFx0Y2hhbm5lbCA9IG5ldGRldl91c2VzX2RzYShuZXRkZXYpID8gc2tiX2dldF9xdWV1ZV9tYXBwaW5nKHNrYikgOiBwb3J0LVx1MDAzZWlkO1xuIFx0Y2hhbm5lbCA9IGNoYW5uZWwgJSBBSVJPSEFfTlVNX1FPU19DSEFOTkVMUztcbi1cdHF1ZXVlID0gKHNrYi1cdTAwM2Vwcmlvcml0eSAtIDEpICUgQUlST0hBX05VTV9RT1NfUVVFVUVTOyAvKiBRb1MgcXVldWUgKi9cbiYjNDM7XHRxdWV1ZSA9IHNrYi1cdTAwM2Vwcmlvcml0eSAlIEFJUk9IQV9OVU1fUU9TX1FVRVVFUztcbiBcdHF1ZXVlID0gY2hhbm5lbCAqIEFJUk9IQV9OVU1fUU9TX1FVRVVFUyAmIzQzOyBxdWV1ZTtcbiBcbiBcdHJldHVybiBxdWV1ZSBcdTAwM2MgbmV0ZGV2LVx1MDAzZW51bV90eF9xdWV1ZXMgPyBxdWV1ZSA6IDA7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjAgMDg6MzY8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMpLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciBBaXJvaGEgU29DcyB0aGF0IHJlbGllcyBvbiBEZXZpY2UgVHJlZSAob2ZfZGV2aWNlX2lkKSBmb3IgaW5zdGFudGlhdGlvbi4gU2luY2UgdGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0b3IgZm9yIHRoaXMgaGFyZHdhcmUsIHRoZSBjb2RlIHBhdGhzIGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAobGlrZSBHQ0Ugb3IgUUVNVSkgdXNlZCBmb3IgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGI0ZDcwODgyNDMzNjdiZmYxYjc2MGEwYTdhMTE3ZDlkNGNmZTQ2ZTMKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgU2F0IEp1biAyMCAwODozNjo0NyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jCmluZGV4IDY0ZGRlNjQ2NGYzZmIxLi4zMzcwYzNkZjdjMTA3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jCkBAIC0yMTEwLDcgJiM0MzsyMTEwLDcgQEAgc3RhdGljIHUxNiBhaXJvaGFfZGV2X3NlbGVjdF9xdWV1ZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LAogCSAqLwogCWNoYW5uZWwgPSBuZXRkZXZfdXNlc19kc2EobmV0ZGV2KSA/IHNrYl9nZXRfcXVldWVfbWFwcGluZyhza2IpIDogcG9ydC0mZ3Q7aWQ7CiAJY2hhbm5lbCA9IGNoYW5uZWwgJSBBSVJPSEFfTlVNX1FPU19DSEFOTkVMUzsKLQlxdWV1ZSA9IChza2ItJmd0O3ByaW9yaXR5IC0gMSkgJSBBSVJPSEFfTlVNX1FPU19RVUVVRVM7IC8qIFFvUyBxdWV1ZSAqLwomIzQzOwlxdWV1ZSA9IHNrYi0mZ3Q7cHJpb3JpdHkgJSBBSVJPSEFfTlVNX1FPU19RVUVVRVM7CiAJcXVldWUgPSBjaGFubmVsICogQUlST0hBX05VTV9RT1NfUVVFVUVTICYjNDM7IHF1ZXVlOwogCiAJcmV0dXJuIHF1ZXVlICZsdDsgbmV0ZGV2LSZndDtudW1fdHhfcXVldWVzID8gcXVldWUgOiAwOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTMyCgkJCQkJCQlvdXRwdXQ6IDM0CgkJCQkJCQl0aG91Z2h0czogMTkxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIERyaXZlciBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0JiMzOTtzIHRvdWNoZWQgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNgLiBUaGUgY29yZSBjaGFuZ2UgaXMgaW4gdGhlIGBhaXJvaGFfZGV2X3NlbGVjdF9xdWV1ZWAgZnVuY3Rpb24uIEl0JiMzOTtzIGEgc2ltcGxlLCBzZWVtaW5nbHkgYXJpdGhtZXRpYyBhZGp1c3RtZW50OiB0aGUgb3JpZ2luYWwgY29kZSBzdWJ0cmFjdHMgMSBmcm9tIGBza2ItJmd0O3ByaW9yaXR5YCBiZWZvcmUgdGhlIG1vZHVsbyBvcGVyYXRpb24sIGFuZCB0aGUgcGF0Y2ggcmVtb3ZlcyB0aGF0IHN1YnRyYWN0aW9uLiBUaGlzIGltcGFjdHMgaG93IHRoZSBRdWFsaXR5IG9mIFNlcnZpY2UgKFFvUykgcXVldWUgaXMgc2VsZWN0ZWQsIGNoYW5naW5nIHRoZSBxdWV1ZSBhc3NpZ25tZW50IGJhc2VkIG9uIHBhY2tldCBwcmlvcml0eS4gSXQmIzM5O3MgYSBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbiwgZm9yIHN1cmUuCgpOb3csIHRoZSBpbnRlcmVzdGluZyBxdWVzdGlvbiBpczogaG93IHJlbGV2YW50IGlzIHRoaXMgY2hhbmdlICpnZW5lcmFsbHkqPyBBaXJvaGEgaXMgc3BlY2lmaWMgaGFyZHdhcmUsIHNvIGl04oCZcyBsaWtlbHkgbm90IGRpcmVjdGx5IGVtdWxhdGVkLCBhbmQgdGhlIHBhdGNoIHBvaW50cyB0byBhIHZlcnkgc3BlY2lmaWMgdGFyZ2V0LiBJdCYjMzk7cyBwcmV0dHkgdW5jb21tb24gdG8gc2VlIHN1Y2ggc3BlY2lmaWMgaGFyZHdhcmUgZHJpdmVycyBiZWluZyBleGVyY2lzZWQgb3V0c2lkZSB0aGVpciBpbnRlbmRlZCBoYXJkd2FyZSBlbnZpcm9ubWVudCB3aXRob3V0IHNvbWUgYWR2YW5jZWQgZW11bGF0aW9uIGVmZm9ydC4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaWYgdGhpcyBBaXJvaGEgZXRoZXJuZXQgZHJpdmVyLCBsb2NhdGVkIGF0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jYCwgaXMgbGlrZWx5IHRvIGJlIHJlYWNoYWJsZSBkdXJpbmcgc3RhbmRhcmQgdmlydHVhbGl6YXRpb24sIG9yIGlmIHRoaXMgaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBzY2VuYXJpby4gSSBuZWVkIHRvIGRpZyBkZWVwZXIgaW50byB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoaXMgZGV2aWNlIGFuZCBjb25zaWRlciB3aGV0aGVyIHRoZSBwYXRjaCBpcyBicm9hZGx5IGFwcGxpY2FibGUgb3IgdmVyeSBuaWNoZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDthaXJvaGFfZXRoJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvTWFrZWZpbGU9Nj1vYmotJChDT05GSUdfTkVUX0FJUk9IQSkgJiM0Mzs9IGFpcm9oYS1ldGgub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL01ha2VmaWxlOjc6YWlyb2hhLWV0aC15IDo9IGFpcm9oYV9ldGgubyBhaXJvaGFfcHBlLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9NYWtlZmlsZS04LWFpcm9oYS1ldGgtJChDT05GSUdfREVCVUdfRlMpICYjNDM7PSBhaXJvaGFfcHBlX2RlYnVnZnMub1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTctI2luY2x1ZGUgXCYjMzQ7YWlyb2hhX3JlZ3MuaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxODojaW5jbHVkZSBcJiMzNDthaXJvaGFfZXRoLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTktXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz03ND1zdGF0aWMgaW50IGFpcm9oYV9zZXRfbWFjYWRkcihzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgY29uc3QgdTggKmFkZHIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy03Ni1cdHU4IHJlZl9hZGRyW0VUSF9BTEVOXSBfX2FsaWduZWQoMik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjc3Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTc4LVx0dTMyIHJlZywgdmFsLCBsbWluLCBsbWF4O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTQ1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNDY6c3RhdGljIHZvaWQgYWlyb2hhX3NldF9nZG1fcG9ydF9md2RfY2ZnKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsIHUzMiBhZGRyLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNDctXHRcdFx0XHRcdHUzMiB2YWwpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xNTk9c3RhdGljIGludCBhaXJvaGFfc2V0X3ZpcF9mb3JfZ2RtX3BvcnQoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYsIGJvb2wgZW5hYmxlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTYxLVx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydCA9IGRldi1cdTAwM2Vwb3J0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNjI6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTYzLVx0dTMyIHZpcF9wb3J0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTc2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNzc6c3RhdGljIHZvaWQgYWlyb2hhX2ZlX21hY2NyX2luaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTc4LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE5MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTkyOnN0YXRpYyB2b2lkIGFpcm9oYV9mZV92aXBfc2V0dXAoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTkzLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjU2OnN0YXRpYyB1MzIgYWlyb2hhX2ZlX2dldF9wc2VfcXVldWVfcnN2X3BhZ2VzKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1Ny1cdFx0XHRcdFx0ICAgICB1MzIgcG9ydCwgdTMyIHF1ZXVlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjY3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyNjg6c3RhdGljIHZvaWQgYWlyb2hhX2ZlX3NldF9wc2VfcXVldWVfcnN2X3BhZ2VzKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2OS1cdFx0XHRcdFx0ICAgICAgdTMyIHBvcnQsIHUzMiBxdWV1ZSwgdTMyIHZhbClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI4MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjgxOnN0YXRpYyB1MzIgYWlyb2hhX2ZlX2dldF9wc2VfYWxsX3JzdihzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yODIte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjg1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyODY6c3RhdGljIGludCBhaXJvaGFfZmVfc2V0X3BzZV9vcV9yc3Yoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjg3LVx0XHRcdFx0ICAgIHUzMiBwb3J0LCB1MzIgcXVldWUsIHUzMiB2YWwpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxOTpzdGF0aWMgdm9pZCBhaXJvaGFfZmVfcHNlX3BvcnRzX2luaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzIwLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6NDAzOnN0YXRpYyBpbnQgYWlyb2hhX2ZlX21jX3ZsYW5fY2xlYXIoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtNDA0LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQ0Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6NDQzOnN0YXRpYyB2b2lkIGFpcm9oYV9mZV9jcnNuX3FzZWxfaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy00NDQte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtNDg4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo0ODk6c3RhdGljIGludCBhaXJvaGFfZmVfaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy00OTAte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9NjMzPXN0YXRpYyBzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo2MzQ6YWlyb2hhX3FkbWFfZ2V0X2dkbV9kZXYoc3RydWN0IGFpcm9oYV9ldGggKmV0aCwgc3RydWN0IGFpcm9oYV9xZG1hX2Rlc2MgKmRlc2MpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTYzNS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz02NTU9c3RhdGljIGludCBhaXJvaGFfcWRtYV9yeF9wcm9jZXNzKHN0cnVjdCBhaXJvaGFfcXVldWUgKnEsIGludCBidWRnZXQpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy02NTgtXHRzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWEgPSBxLVx1MDAzZXFkbWE7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjY1OTpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBxZG1hLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtNjYwLVx0aW50IHFpZCA9IHEgLSBcdTAwMjZxZG1hLVx1MDAzZXFfcnhbMF07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz03OTU9c3RhdGljIGludCBhaXJvaGFfcWRtYV9pbml0X3J4X3F1ZXVlKHN0cnVjdCBhaXJvaGFfcXVldWUgKnEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy04MDctXHR9O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo4MDg6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTgwOS1cdGludCBxaWQgPSBxIC0gXHUwMDI2cWRtYS1cdTAwM2VxX3J4WzBdLCB0aHI7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz04NTM9c3RhdGljIHZvaWQgYWlyb2hhX3FkbWFfY2xlYW51cF9yeF9xdWV1ZShzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtODU1LVx0c3RydWN0IGFpcm9oYV9xZG1hICpxZG1hID0gcS1cdTAwM2VxZG1hO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo4NTY6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTg1Ny1cdGludCBxaWQgPSBxIC0gXHUwMDI2cWRtYS1cdTAwM2VxX3J4WzBdO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9OTExPXN0YXRpYyB2b2lkIGFpcm9oYV9xZG1hX3dha2VfbmV0ZGV2X3R4cXMoc3RydWN0IGFpcm9oYV9xdWV1ZSAqcSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTkxMy1cdHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSA9IHEtXHUwMDNlcWRtYTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6OTE0Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy05MTUtXHRpbnQgaSwgcWlkID0gcSAtIFx1MDAyNnFkbWEtXHUwMDNlcV90eFswXTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTk0Nz1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3R4X25hcGlfcG9sbChzdHJ1Y3QgbmFwaV9zdHJ1Y3QgKm5hcGksIGludCBidWRnZXQpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy05NTEtXHRzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWE7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjk1MjpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTk1My1cdHUzMiBzdGF0dXMsIGhlYWQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xMDU4PXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfaW5pdF90eF9xdWV1ZShzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTA2MC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjEwNjE6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTEwNjItXHRpbnQgaSwgcWlkID0gcSAtIFx1MDAyNnFkbWEtXHUwMDNlcV90eFswXTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTExMDE9c3RhdGljIGludCBhaXJvaGFfcWRtYV90eF9pcnFfaW5pdChzdHJ1Y3QgYWlyb2hhX3R4X2lycV9xdWV1ZSAqaXJxX3EsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xMTA0LVx0aW50IGlkID0gaXJxX3EgLSBcdTAwMjZxZG1hLVx1MDAzZXFfdHhfaXJxWzBdO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxMTA1Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xMTA2LVx0ZG1hX2FkZHJfdCBkbWFfYWRkcjtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTExNTA9c3RhdGljIHZvaWQgYWlyb2hhX3FkbWFfY2xlYW51cF90eF9xdWV1ZShzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTE1Mi1cdHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSA9IHEtXHUwMDNlcWRtYTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTE1MzpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBxZG1hLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTE1NC1cdGludCBpLCBxaWQgPSBxIC0gXHUwMDI2cWRtYS1cdTAwM2VxX3R4WzBdO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTIwMT1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX2luaXRfaGZ3ZF9xdWV1ZXMoc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTIwMy1cdGludCBzaXplLCBpbmRleCwgbnVtX2Rlc2MgPSBIV19EU0NQX05VTTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTIwNDpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBxZG1hLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTIwNS1cdGludCBpZCA9IHFkbWEgLSBcdTAwMjZldGgtXHUwMDNlcWRtYVswXTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE0NTc9c3RhdGljIGludCBhaXJvaGFfcWRtYV9pbml0X2lycV9iYW5rcyhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTQ1OS17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE0NjA6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE0NjEtXHRpbnQgaSwgaWQgPSBxZG1hIC0gXHUwMDI2ZXRoLVx1MDAzZXFkbWFbMF07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xNDkwPXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNDkxOlx0XHRcdCAgICBzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNDkyLVx0XHRcdCAgICBzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWEpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xNTU3PXN0YXRpYyBpbnQgYWlyb2hhX2h3X2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTU1ODpcdFx0XHQgIHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE1NTkte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTYwMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTYwMTpzdGF0aWMgdm9pZCBhaXJvaGFfaHdfY2xlYW51cChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjAyLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE2NDA9c3RhdGljIHZvaWQgYWlyb2hhX2Rldl9nZXRfaHdfc3RhdHMoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjQyLVx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydCA9IGRldi1cdTAwM2Vwb3J0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNjQzOlx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE2NDQtXHR1MzIgdmFsLCBpID0gMDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE4MDU9c3RhdGljIGludCBhaXJvaGFfZGV2X29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE4NTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE4NTQ6c3RhdGljIHZvaWQgYWlyb2hhX3NldF9wb3J0X210dShzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xODU1LVx0XHRcdFx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE5MzI9c3RhdGljIGludCBhaXJvaGFfZW5hYmxlX2dkbTJfbG9vcGJhY2soc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xOTM0LVx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydCA9IGRldi1cdTAwM2Vwb3J0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxOTM1Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE5MzYtXHR1MzIgdmFsLCBwc2VfcG9ydCwgY2hhbjtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE5OTQ9c3RhdGljIHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE5OTU6YWlyb2hhX2dldF93YW5fZ2RtX2RldihzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xOTk2LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTIwMTc9c3RhdGljIHZvaWQgYWlyb2hhX2Rldl9zZXRfcWRtYShzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIwMTktXHRzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2ID0gbmV0ZGV2X2Zyb21fcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMDIwOlx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIwMjEtXHRpbnQgcHBlX2lkO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjE2Mz1pbnQgYWlyb2hhX2dldF9mZV9wb3J0KHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjE2NS1cdHN0cnVjdCBhaXJvaGFfZ2RtX3BvcnQgKnBvcnQgPSBkZXYtXHUwMDNlcG9ydDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjE2NjpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBkZXYtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMTY3LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjE3OT1zdGF0aWMgbmV0ZGV2X3R4X3QgYWlyb2hhX2Rldl94bWl0KHN0cnVjdCBza19idWZmICpza2IsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzIwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMzIxOnN0YXRpYyB2b2lkIGFpcm9oYV9ldGh0b29sX2dldF9kcnZpbmZvKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMjItXHRcdFx0XHQgICAgICAgc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyAqaW5mbylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMjQtXHRzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiA9IG5ldGRldl9wcml2KG5ldGRldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjIzMjU6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjMyNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMzAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjIzMzE6c3RhdGljIHZvaWQgYWlyb2hhX2V0aHRvb2xfZ2V0X21hY19zdGF0cyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzMyLVx0XHRcdFx0XHQgc3RydWN0IGV0aHRvb2xfZXRoX21hY19zdGF0cyAqc3RhdHMpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzQ5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMzUwOnN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9ybW9uX2hpc3RfcmFuZ2UgYWlyb2hhX2V0aHRvb2xfcm1vbl9yYW5nZXNbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM1MS1cdHsgICAgMCwgICAgNjQgfSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTIzNjE9c3RhdGljIHZvaWRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM2MjphaXJvaGFfZXRodG9vbF9nZXRfcm1vbl9zdGF0cyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzYzLVx0XHRcdCAgICAgIHN0cnVjdCBldGh0b29sX3Jtb25fc3RhdHMgKnN0YXRzLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM2OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM3MDpcdEJVSUxEX0JVR19PTihBUlJBWV9TSVpFKGFpcm9oYV9ldGh0b29sX3Jtb25fcmFuZ2VzKSAhPVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzcxLVx0XHQgICAgIEFSUkFZX1NJWkUoaHdfc3RhdHMtXHUwMDNldHhfbGVuKSAmIzQzOyAxKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM3MjpcdEJVSUxEX0JVR19PTihBUlJBWV9TSVpFKGFpcm9oYV9ldGh0b29sX3Jtb25fcmFuZ2VzKSAhPVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzczLVx0XHQgICAgIEFSUkFZX1NJWkUoaHdfc3RhdHMtXHUwMDNlcnhfbGVuKSAmIzQzOyAxKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM3NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM3NTpcdCpyYW5nZXMgPSBhaXJvaGFfZXRodG9vbF9ybW9uX3JhbmdlcztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM3Ni1cdGFpcm9oYV91cGRhdGVfaHdfc3RhdHMoZGV2KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzODItXHRcdHN0YXRzLVx1MDAzZWphYmJlcnMgPSBod19zdGF0cy1cdTAwM2VyeF9qYWJiZXI7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjIzODM6XHRcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUoYWlyb2hhX2V0aHRvb2xfcm1vbl9yYW5nZXMpIC0gMTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM4NC1cdFx0ICAgICBpJiM0MzsmIzQzOykge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9Mjk0Mj1zdGF0aWMgaW50IGFpcm9oYV9kZXZfc2V0dXBfdGNfYmxvY2tfY2IoZW51bSB0Y19zZXR1cF90eXBlIHR5cGUsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yOTQ2LVx0c3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYgPSBuZXRkZXZfcHJpdihuZXRkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyOTQ3Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI5NDgtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0zMDk5PXN0YXRpYyBjb25zdCBzdHJ1Y3QgbmV0X2RldmljZV9vcHMgYWlyb2hhX25ldGRldl9vcHMgPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTEwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozMTExOnN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9vcHMgYWlyb2hhX2V0aHRvb2xfb3BzID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozMTEyOlx0LmdldF9kcnZpbmZvXHRcdD0gYWlyb2hhX2V0aHRvb2xfZ2V0X2RydmluZm8sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxMTM6XHQuZ2V0X2V0aF9tYWNfc3RhdHMgICAgICA9IGFpcm9oYV9ldGh0b29sX2dldF9tYWNfc3RhdHMsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxMTQ6XHQuZ2V0X3Jtb25fc3RhdHNcdFx0PSBhaXJvaGFfZXRodG9vbF9nZXRfcm1vbl9zdGF0cyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzExNS1cdC5nZXRfbGlua19rc2V0dGluZ3NcdD0gcGh5X2V0aHRvb2xfZ2V0X2xpbmtfa3NldHRpbmdzLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MzEzOD1zdGF0aWMgdm9pZCBhaXJvaGFfbWV0YWRhdGFfZHN0X2ZyZWUoc3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMxNDktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxNTA6Ym9vbCBhaXJvaGFfaXNfdmFsaWRfZ2RtX2RldihzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTUxLVx0XHRcdCAgICAgc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTcwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozMTcxOnN0YXRpYyBpbnQgYWlyb2hhX2FsbG9jX2dkbV9kZXZpY2Uoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzE3Mi1cdFx0XHRcdCAgIHN0cnVjdCBhaXJvaGFfZ2RtX3BvcnQgKnBvcnQsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTg4LVx0bmV0ZGV2LVx1MDAzZW5ldGRldl9vcHMgPSBcdTAwMjZhaXJvaGFfbmV0ZGV2X29wcztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzE4OTpcdG5ldGRldi1cdTAwM2VldGh0b29sX29wcyA9IFx1MDAyNmFpcm9oYV9ldGh0b29sX29wcztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzE5MC1cdG5ldGRldi1cdTAwM2VtYXhfbXR1ID0gQUlST0hBX01BWF9NVFU7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMjM2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozMjM3OnN0YXRpYyBpbnQgYWlyb2hhX2FsbG9jX2dkbV9wb3J0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMyMzgtXHRcdFx0XHQgc3RydWN0IGRldmljZV9ub2RlICpucClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMzMTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMzMTc6c3RhdGljIGludCBhaXJvaGFfcmVnaXN0ZXJfZ2RtX2RldmljZXMoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzMxOC17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0zMzQ2PXN0YXRpYyBpbnQgYWlyb2hhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMzQ5LVx0c3RydWN0IGRldmljZV9ub2RlICpucDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzM1MDpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMzNTEtXHRpbnQgaSwgZXJyO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MzQ3Mj1zdGF0aWMgdm9pZCBhaXJvaGFfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM0NzMte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozNDc0Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zNDc1LVx0aW50IGk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0zNjQyPXN0YXRpYyBpbnQgYWlyb2hhX2FuNzU4M19nZXRfZGV2X2Zyb21fc3BvcnQoc3RydWN0IGFpcm9oYV9xZG1hX2Rlc2MgKmRlc2MsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zNjcxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozNjcyOnN0YXRpYyBjb25zdCBzdHJ1Y3QgYWlyb2hhX2V0aF9zb2NfZGF0YSBlbjc1ODFfc29jX2RhdGEgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM2NzMtXHQudmVyc2lvbiA9IDB4NzU4MSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM2ODMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjM2ODQ6c3RhdGljIGNvbnN0IHN0cnVjdCBhaXJvaGFfZXRoX3NvY19kYXRhIGFuNzU4M19zb2NfZGF0YSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzY4NS1cdC52ZXJzaW9uID0gMHg3NTgzLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg9NTIzPXN0cnVjdCBhaXJvaGFfcWRtYSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjUyNDpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTUyNS1cdHZvaWQgX19pb21lbSAqcmVncztcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTU0Mz1zdHJ1Y3QgYWlyb2hhX2dkbV9kZXYge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNTQ1LVx0c3RydWN0IGFpcm9oYV9xZG1hICpxZG1hO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo1NDY6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC01NDctXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaD01NzM9c3RydWN0IGFpcm9oYV9wcGUge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC01NzQtXHRzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgZGV2O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo1NzU6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC01NzYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC01OTAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjU5MTpzdHJ1Y3QgYWlyb2hhX2V0aF9zb2NfZGF0YSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTU5Mi1cdHUxNiB2ZXJzaW9uO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNjAzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo2MDQ6c3RydWN0IGFpcm9oYV9ldGgge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02MDUtXHRzdHJ1Y3QgZGV2aWNlICpkZXY7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTYwNi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6NjA3Olx0Y29uc3Qgc3RydWN0IGFpcm9oYV9ldGhfc29jX2RhdGEgKnNvYztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNjA4LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg9NjYxPXN0YXRpYyBpbmxpbmUgYm9vbCBhaXJvaGFfaXNfbGFuX2dkbV9kZXYoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02NjUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY2NjpzdGF0aWMgaW5saW5lIGJvb2wgYWlyb2hhX2lzXzc1ODEoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNjY3LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTY3MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6NjcxOnN0YXRpYyBpbmxpbmUgYm9vbCBhaXJvaGFfaXNfNzU4MyhzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02NzIte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg9Njc2PWludCBhaXJvaGFfZ2V0X2ZlX3BvcnQoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo2Nzc6Ym9vbCBhaXJvaGFfaXNfdmFsaWRfZ2RtX2RldihzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02NzgtXHRcdFx0ICAgICBzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldik7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaD02ODA9dm9pZCBhaXJvaGFfcHBlX3NldF9jcHVfcG9ydChzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgdTggcHBlX2lkLCB1OCBmcG9ydCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY4MTpib29sIGFpcm9oYV9wcGVfaXNfZW5hYmxlZChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLCBpbnQgaW5kZXgpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02ODItdm9pZCBhaXJvaGFfcHBlX2NoZWNrX3NrYihzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgKmRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTY4ND1pbnQgYWlyb2hhX3BwZV9zZXR1cF90Y19ibG9ja19jYihzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgKmRldiwgdm9pZCAqdHlwZV9kYXRhKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6Njg1OmludCBhaXJvaGFfcHBlX2luaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY4Njp2b2lkIGFpcm9oYV9wcGVfZGVpbml0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02ODctdm9pZCBhaXJvaGFfcHBlX2luaXRfdXBkX21lbShzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgY29uc3QgdTggKmFkZHIpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtMTQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjE1OiNpbmNsdWRlIFwmIzM0O2Fpcm9oYV9ldGguaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYy0xNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE1LSNpbmNsdWRlIFwmIzM0O2Fpcm9oYV9yZWdzLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTY6I2luY2x1ZGUgXCYjMzQ7YWlyb2hhX2V0aC5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE3LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9NDY9c3RhdGljIGludCBhaXJvaGFfcHBlX2dldF90b3RhbF9udW1fc3RhdHNfZW50cmllcyhzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNTAtXHRpZiAobnVtX3N0YXRzIFx1MDAzZSAwKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjUxOlx0XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcHBlLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNTItXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz01OT1zdGF0aWMgdTMyIGFpcm9oYV9wcGVfZ2V0X3RvdGFsX3NyYW1fbnVtX2VudHJpZXMoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNjAte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzo2MTpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy02Mi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTY2PXUzMiBhaXJvaGFfcHBlX2dldF90b3RhbF9udW1fZW50cmllcyhzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNzItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjczOmJvb2wgYWlyb2hhX3BwZV9pc19lbmFibGVkKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsIGludCBpbmRleClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNzQte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9ODc9dm9pZCBhaXJvaGFfcHBlX3NldF9jcHVfcG9ydChzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgdTggcHBlX2lkLCB1OCBmcG9ydClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTg5LVx0c3RydWN0IGFpcm9oYV9xZG1hICpxZG1hID0gZGV2LVx1MDAzZXFkbWE7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjkwOlx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy05MS1cdHU4IHFkbWFfaWQgPSBxZG1hIC0gXHUwMDI2ZXRoLVx1MDAzZXFkbWFbMF07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xMDA9c3RhdGljIHZvaWQgYWlyb2hhX3BwZV9od19pbml0KHN0cnVjdCBhaXJvaGFfcHBlICpwcGUpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMDMtXHR1MzIgc3JhbV90Yl9zaXplLCBkcmFtX251bV9lbnRyaWVzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMDQ6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcHBlLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTA1LVx0aW50IGksIHNyYW1fbnVtX3N0YXRzX2VudHJpZXM7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0zMDQ9c3RhdGljIHZvaWQgYWlyb2hhX3BwZV9mb2Vfc2V0X2JyaWRnZV9hZGRycyhzdHJ1Y3QgYWlyb2hhX2ZvZV9icmlkZ2UgKmJyLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMzEyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzozMTM6c3RhdGljIGludCBhaXJvaGFfcHBlX2ZvZV9lbnRyeV9wcmVwYXJlKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTMxNC1cdFx0XHRcdFx0c3RydWN0IGFpcm9oYV9mb2VfZW50cnkgKmh3ZSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTY1OD1haXJvaGFfcHBlX2ZvZV9nZXRfZW50cnlfbG9ja2VkKHN0cnVjdCBhaXJvaGFfcHBlICpwcGUsIHUzMiBoYXNoKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNjY2LVx0XHRib29sIHBwZTIgPSBoYXNoIFx1MDAzZT0gUFBFX1NSQU1fTlVNX0VOVFJJRVM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjY2NzpcdFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBwZS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTY2OC1cdFx0dTMyIHZhbDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTczOT1zdGF0aWMgaW50IGFpcm9oYV9wcGVfZm9lX2NvbW1pdF9lbnRyeShzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNzQ1LVx0dTMyIHRzID0gYWlyb2hhX3BwZV9nZXRfdGltZXN0YW1wKHBwZSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjc0NjpcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXHUwMDNlZXRoO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy03NDctXHRzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9MTA0OT1zdGF0aWMgaW50IGFpcm9oYV9wcGVfZW50cnlfaWRsZV90aW1lKHN0cnVjdCBhaXJvaGFfcHBlICpwcGUsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMDU2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMDU3OnN0YXRpYyBpbnQgYWlyb2hhX3BwZV9mbG93X29mZmxvYWRfcmVwbGFjZShzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMDU4LVx0XHRcdFx0XHQgICBzdHJ1Y3QgZmxvd19jbHNfb2ZmbG9hZCAqZilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjEyNTc6c3RhdGljIGludCBhaXJvaGFfcHBlX2Zsb3dfb2ZmbG9hZF9kZXN0cm95KHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNTgtXHRcdFx0XHRcdCAgIHN0cnVjdCBmbG93X2Nsc19vZmZsb2FkICpmKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9MTI3NT12b2lkIGFpcm9oYV9wcGVfZm9lX2VudHJ5X2dldF9zdGF0cyhzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlLCB1MzIgaGFzaCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNzcte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMjc4Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBwZS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNzktXHRpbnQgcHBlX251bV9zdGF0c19lbnRyaWVzO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTMwOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTMxMDpzdGF0aWMgaW50IGFpcm9oYV9wcGVfZmxvd19vZmZsb2FkX3N0YXRzKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzMTEtXHRcdFx0XHRcdCBzdHJ1Y3QgZmxvd19jbHNfb2ZmbG9hZCAqZilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzMzUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjEzMzY6c3RhdGljIGludCBhaXJvaGFfcHBlX2Zsb3dfb2ZmbG9hZF9jbWQoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTMzNy1cdFx0XHRcdCAgICAgICBzdHJ1Y3QgZmxvd19jbHNfb2ZmbG9hZCAqZilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTEzNTM9c3RhdGljIGludCBhaXJvaGFfcHBlX2ZsdXNoX3NyYW1fZW50cmllcyhzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTM3MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTM3MTpzdGF0aWMgc3RydWN0IGFpcm9oYV9ucHUgKmFpcm9oYV9wcGVfbnB1X2dldChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMzcyLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzODItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjEzODM6c3RhdGljIGludCBhaXJvaGFfcHBlX3dhaXRfZm9yX25wdV9pbml0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzODQte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTQwNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTQwNjpzdGF0aWMgaW50IGFpcm9oYV9wcGVfb2ZmbG9hZF9zZXR1cChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNDA3LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTE0NDY9aW50IGFpcm9oYV9wcGVfc2V0dXBfdGNfYmxvY2tfY2Ioc3RydWN0IGFpcm9oYV9wcGVfZGV2ICpkZXYsIHZvaWQgKnR5cGVfZGF0YSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE0NDgtXHRzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlID0gZGV2LVx1MDAzZXByaXY7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE0NDk6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcHBlLVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTQ1MC1cdGludCBlcnIgPSAwO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9MTQ5MD12b2lkIGFpcm9oYV9wcGVfaW5pdF91cGRfbWVtKHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2LCBjb25zdCB1OCAqYWRkcilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE0OTItXHRzdHJ1Y3QgYWlyb2hhX2dkbV9wb3J0ICpwb3J0ID0gZGV2LVx1MDAzZXBvcnQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE0OTM6XHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVx1MDAzZWV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTQ5NC1cdHUzMiB2YWw7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xNTEwPXN0cnVjdCBhaXJvaGFfcHBlX2RldiAqYWlyb2hhX3BwZV9nZXRfZGV2KHN0cnVjdCBkZXZpY2UgKmRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE1MTMtXHRzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxNTE0Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTUxNS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTE1NTU9dm9pZCBhaXJvaGFfcHBlX3B1dF9kZXYoc3RydWN0IGFpcm9oYV9wcGVfZGV2ICpkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNTU3LVx0c3RydWN0IGFpcm9oYV9wcGUgKnBwZSA9IGRldi1cdTAwM2Vwcml2O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxNTU4Olx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBwZS1cdTAwM2VldGg7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE1NTktXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xNTYzPUVYUE9SVF9TWU1CT0xfR1BMKGFpcm9oYV9wcGVfcHV0X2Rldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE1NjQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE1NjU6aW50IGFpcm9oYV9wcGVfaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNTY2LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE2MzQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE2MzU6dm9pZCBhaXJvaGFfcHBlX2RlaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNjM2LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZV9kZWJ1Z2ZzLmMtNi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlX2RlYnVnZnMuYzo3OiNpbmNsdWRlIFwmIzM0O2Fpcm9oYV9ldGguaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGVfZGVidWdmcy5jLTgtXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjAgMDg6MzY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTQxMTQKCQkJCQkJCW91dHB1dDogMzUKCQkJCQkJCXRob3VnaHRzOiAyMjYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBSZWFjaGFiaWxpdHkgb2YgdGhlIEFJUk9IQSBFdGhlcm5ldCBEcml2ZXIgaW4gYSBWaXJ0dWFsaXplZCBDb250ZXh0KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBgQ09ORklHX05FVF9BSVJPSEFgLCB0aGUgQUlST0hBIEV0aGVybmV0IGRyaXZlci4gTXkgaW1tZWRpYXRlIGNvbmNlcm4gaXMgd2hldGhlciB0aGlzIGlzIGV2ZW4gKnJlYWNoYWJsZSogaW4gYSB0eXBpY2FsIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBJdCYjMzk7cyBhIHBsYXRmb3JtIGRyaXZlciwgd2hpY2ggaW1tZWRpYXRlbHkgbWFrZXMgbWUgdGhpbmsgZGV2aWNlIHRyZWUuIExvb2tpbmcgYXQgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNgLCBJIHNlZSBgYWlyb2hhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpYC4gVGhhdCYjMzk7cyB0aGUga2V5IGVudHJ5IHBvaW50LiBUaGUgcXVlc3Rpb24gaXMsIGhvdyBkb2VzIHRoYXQgYHBsYXRmb3JtX2RldmljZWAgZ2V0IGluc3RhbnRpYXRlZD8KCk15IGV4cGVyaWVuY2UgdGVsbHMgbWUgdGhpcyBpcyB1c3VhbGx5IGRldmljZSB0cmVlIGRyaXZlbi4gU28sIHVubGVzcyB0aGVyZSYjMzk7cyBzb21lIHNwZWNpZmljIGVtdWxhdG9yIHN1cHBvcnQsIG9yIGEgd2F5IHRvIGluamVjdCBkZXZpY2UgdHJlZSBub2RlcywgaXQgbWlnaHQgYmUgaW5hY2Nlc3NpYmxlLiBJdCYjMzk7cyB0aGUgc3RhbmRhcmQgaXNzdWUgd2l0aCBwbGF0Zm9ybSBkcml2ZXJzLiAKCkhvbGQgb24sIEkgbmVlZCB0byBjb25zaWRlciBzeXprYWxsZXIuIEkga25vdyBpdCBjYW4gaW5qZWN0IHBsYXRmb3JtIGRldmljZXMgdXNpbmcgYHN5el9kZXZsaW5rYCBvciBgc3l6X3BsYXRmb3JtX2RldmljZWAsIGJ1dCB0aGF0JiMzOTtzIG5vdCBnZW5lcmFsbHkgdGhlIGNhc2UgZm9yIG5vbi1nZW5lcmljIG9uZXMuIFVubGVzcyB0aGVyZSYjMzk7cyBhIHNwZWNpZmljIHN5emthbGxlciBkZXNjcmlwdGlvbiBmb3IgdGhlIEFJUk9IQSBkcml2ZXIsIG9yIHBlcmhhcHMgaXQmIzM5O3MgYSBQQ0kvVVNCIGRldmljZSwgaXQmIzM5O3MgcHJvYmFibHkgbm90IHJlYWNoYWJsZSB0aHJvdWdoIHRoYXQgbWV0aG9kIGVpdGhlci4KClRoZXJlZm9yZSwgSSBuZWVkIHRvIGNoZWNrIGZvciBhIFBDSSBvciBVU0IgYmluZGluZyBmb3IgdGhpcyBkcml2ZXIuIElmIHRoZXJlJiMzOTtzIGEgUENJIG9yIFVTQiBpbnRlcmZhY2UgaW52b2x2ZWQsIHRoYXQgZ2l2ZXMgbWUgYSBwb3RlbnRpYWwgZW50cnkgcG9pbnQgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gVGhhdCBpcyBteSBuZXh0IHN0ZXAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjAgMDg6Mzc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7TU9EVUxFX0RFVklDRV9UQUJMRSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0zNjk2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX2Fpcm9oYV9tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzcwMC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozNzAxOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG9mX2Fpcm9oYV9tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM3MDItXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYz02Nzg9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfYWlyb2hhX25wdV9tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjgyLX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjY4MzpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBvZl9haXJvaGFfbnB1X21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjg0LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIwIDA4OjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE0OTcwCgkJCQkJCQlvdXRwdXQ6IDI2CgkJCQkJCQl0aG91Z2h0czogMjc0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIEFpcm9oYSBFdGhlcm5ldCBEZXZpY2UgQ29kZSoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBjb2RlLCBhbmQgdGhlIGtleSBpZGVudGlmaWVyIGhlcmUgaXMgdGhlIGBvZl9kZXZpY2VfaWRgLiBIbW0sIHRoYXQgbWVhbnMgaXQmIzM5O3MgcmVseWluZyBvbiB0aGUgRGV2aWNlIFRyZWUuIFRoZSBpbW1lZGlhdGUgcXVlc3Rpb24gaXMsIGhvdyBvbiBlYXJ0aCBkbyBJIHJlYWNoIHRoaXMgY29kZSBpbiBhIHN0YW5kYXJkIHg4NiB2aXJ0dWFsIG1hY2hpbmU/IFR5cGljYWxseSwgT3BlbiBGaXJtd2FyZSBvciBEZXZpY2UgVHJlZSBkZXZpY2VzIGFyZSAqbm90KiBwcmVzZW50IG9uIHg4NiB1bmxlc3MgeW91IGV4cGxpY2l0bHkgbW9jayB0aGVtLiBBbmQsIGFzIGZhciBhcyBJIGtub3csIFN5emthbGxlciBkb2VzbiYjMzk7dCBnZW5lcmFsbHkgbW9jayBhcmJpdHJhcnkgRGV2aWNlIFRyZWUgbm9kZXMgb24geDg2OyBpdCB1c3VhbGx5IGdvZXMgYSBkaWZmZXJlbnQgcm91dGUuIFdhaXQgYSBzZWNvbmQuLi4gZG9lc24mIzM5O3QgU3l6a2FsbGVyICpraW5kYSogc3VwcG9ydCBpbmplY3RpbmcgZGV2aWNlIHRyZWUgbm9kZXMgb3IgcGxhdGZvcm0gZGV2aWNlcz8gTm8sIHRoYXQmIzM5O3Mgbm90IHF1aXRlIHJpZ2h0LiBTeXprYWxsZXIgZ2VuZXJhbGx5IGxlYW5zIG9uIHN0dWZmIGxpa2UgYHZoY2lgIGZvciBVU0IsIGBuZXRsaW5rYCBmb3IgdmlydHVhbCBkZXZpY2VzLCBhbmQgYG1hYzgwMjExX2h3c2ltYCBmb3Igd2lmaS4KCkhvbGQgb24sIEkgcmVtZW1iZXIgU3l6a2FsbGVyIGhhcyBgc3l6X2luaXRfbmV0X3NvY2tldGAsIGFuZCB3aXRoIGl0LCBpdCBjYW4gY3JlYXRlIHZpcnR1YWwgaW50ZXJmYWNlcyBsaWtlIGB2ZXRoYCwgYGR1bW15YCwgYGJyaWRnZWAsIGFuZCBgdnhsYW5gLiBCdXQsIGl0IGNhbiYjMzk7dCBjcmVhdGUgYW4gYGFpcm9oYWAgZXRoZXJuZXQgZGV2aWNlIGJlY2F1c2UgaXQmIzM5O3MgZGlyZWN0bHkgdGllZCB0byB0aGUgc3BlY2lmaWNzIG9mIHRoZSBBaXJvaGEgU29DIGhhcmR3YXJlLgoKU28sIGxldCYjMzk7cyByZWZvY3VzLiBNeSBwcmltYXJ5IGdvYWwgaGVyZSBpcyB0byBkZXRlcm1pbmUgd2hldGhlciBgYWlyb2hhX2Rldl9zZWxlY3RfcXVldWVgIGlzIGFjdHVhbGx5IHJlYWNoYWJsZS4gSSBzZWUgdGhhdCBgYWlyb2hhX2Rldl9zZWxlY3RfcXVldWVgIGlzIGFzc2lnbmVkIHRvIGBuZG9fc2VsZWN0X3F1ZXVlYCB3aXRoaW4gYGFpcm9oYV9uZXRkZXZfb3BzYC4gVGhlIHByb2JsZW0gaXMsIGlmIHRoZSBkZXZpY2UgY2FuJiMzOTt0IGJlIGluc3RhbnRpYXRlZCwgdGhpcyBjb2RlIGlzIGNvbXBsZXRlbHkgdW5yZWFjaGFibGUuIEl0JiMzOTtzIGEgZGVhZCBlbmQuCgpJIG5lZWQgdG8gZG91YmxlLWNoZWNrIHRoaXMsIHRoZXJlICpoYXMqIHRvIGJlIHNvbWUgd2F5IHRvIGluc3RhbnRpYXRlIHRoaXMgdGhpbmcuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSYjMzk7bSBub3QgbWlzc2luZyBhbnl0aGluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2Fpcm9oYV9ldGgmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNTY4MgoJCQkJCQkJb3V0cHV0OiAzMAoJCQkJCQkJdGhvdWdodHM6IDI0MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipXb3J0aEZ1enppbmc9ZmFsc2U6IEEgRGVlcCBEaXZlKioKCk9rYXksIGxldCYjMzk7cyB0YWtlIGEgbG9vayBhdCB0aGlzLiBDYW4gd2Ugc29tZWhvdyByZWFjaCB0aGlzIGNvZGU/IE5vcGUuIEl0JiMzOTtzIGEgc3BlY2lhbGl6ZWQgRXRoZXJuZXQgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9yIEFpcm9oYSBTb0NzLCB0aGUgRU43NTgxIHRvIGJlIGV4YWN0LiBUaGlzIG1lYW5zIGl0JiMzOTtzIGhhcmR3YXJlLWRlcGVuZGVudCwgcmlnaHQ/IEFuZCB0aGVyZSYjMzk7cyBubyBzb2Z0d2FyZSBlbXVsYXRvciBsaWtlIGBtYWM4MDIxMV9od3NpbWAgb3IgYG5ldGRldnNpbWAgdG8gaGVscCB1cyBvdXQuIFNvLCBhcyBhbiBleHBlcnQsIEkga25vdyB0aGF0IGdldHRpbmcgdGhpcyB0byBydW4gaW5zaWRlIGEgdmlydHVhbCBlbnZpcm9ubWVudCBsaWtlIEdDRSBvciBRRU1VIGlzIGp1c3Qgbm90IGdvaW5nIHRvIGhhcHBlbi4gSXQmIzM5O3Mgc2ltcGx5IGltcG9zc2libGUsIGFzIEkgc3VzcGVjdGVkLiBUaGVyZWZvcmUsIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlzIHRoZSBjb3JyZWN0IGFuc3dlci4KCkFscmlnaHQsIGxldCBtZSBkb3VibGUtY2hlY2sgdGhlIGdpdmVuIGluc3RydWN0aW9ucy4gSXQgc2hvdWxkIGJlICYjMzQ7V29ydGhGdXp6aW5nPWZhbHNlIGlmLi4uJiMzNDsgYW5kIHRoZSBwcm9tcHQgc3BlY2lmaWVzIGNvZGUgdGhhdCYjMzk7cyB1bnJlYWNoYWJsZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aXRoIHNvZnR3YXJlIGVtdWxhdGlvbnMgc3VjaCBhcyB1c2IgZ2FkZ2V0IG9yIG1hYzgwMjExX2h3c2ltLgoKU2luY2UgdGhpcyBpcyBhIHBsYXRmb3JtIGRyaXZlciB0aGF0JiMzOTtzIHNwZWNpZmljIHRvIEFpcm9oYSYjMzk7cyBTb0MgRXRoZXJuZXQsIGFuZCBwbGF0Zm9ybSBkcml2ZXJzIHJlbHkgb24gc3BlY2lmaWMgaGFyZHdhcmUgb3IgZGV2aWNlIHRyZWUgbm9kZXMsIHdoaWNoIGFyZSBjb21wbGV0ZWx5IGFic2VudCBpbiB0aGUgc3RhbmRhcmQgeDg2IFZNcyB0aGF0IHdlIHVzZSBmb3IgZnV6emluZy4gVGhpcyBpcyBkZWZpbml0ZWx5IHVucmVhY2hhYmxlLiBUaGlzIGNvbmZpcm1zIG15IGluaXRpYWwgYXNzZXNzbWVudC4KCkp1c3QgdG8gYmUgdGhvcm91Z2gsIEkmIzM5O2xsIHF1aWNrbHkgc2VlIGlmIHRoZXJlJiMzOTtzIGFueSBtb2NrIG9yIGBuZXRkZXZzaW1gLXR5cGUgbW9kdWxlIHNwZWNpZmljYWxseSBmb3IgQWlyb2hhLiBKdXN0IHRvIG1ha2Ugc3VyZSwgaXQmIzM5O3MgYSBnb29kIHByYWN0aWNlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2Fpcm9oYSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L25ldGRldnNpbS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMCAwODozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxNjI5MwoJCQkJCQkJb3V0cHV0OiAxMjMKCQkJCQkJCXRob3VnaHRzOiAxMTUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqVW5yZWFjaGFibGUgQ29kZSBpbiBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyKioKCkFscmlnaHQsIGFmdGVyIGNhcmVmdWxseSByZXZpZXdpbmcgdGhlIGNvZGUgYW5kIGl0cyBkZXBlbmRlbmNpZXMsIGl0JiMzOTtzIGNsZWFyOiB0aGlzIHNlY3Rpb24gb2YgdGhlIGBhaXJvaGFfZXRoLmNgIGRyaXZlciBpcyBjb21wbGV0ZWx5IHVucmVhY2hhYmxlIGluIGEgc3RhbmRhcmQgZnV6emluZyBzZXR1cC4gSSYjMzk7bSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZz1mYWxzZWAgd2l0aG91dCBhIHNlY29uZCB0aG91Z2h0LgoKVGhlIHByb2JsZW0gbGllcyB3aXRoIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVyIGl0c2VsZi4gSXQmIzM5O3MgYSBwbGF0Zm9ybS1zcGVjaWZpYyBkcml2ZXIsIG1lYW5pbmcgaXQmIzM5O3MgdGllZCBkaXJlY3RseSB0byB0aGUgQWlyb2hhIFNvQ3MsIGFuZCBpdCB1c2VzIERldmljZSBUcmVlIGZvciBpdHMgaW5zdGFudGlhdGlvbi4gSSB1bmRlcnN0YW5kIHBsYXRmb3JtIGRyaXZlcnMsIEkgZ2V0IHRoZSBEZXZpY2UgVHJlZSBkZXBlbmRlbmN5LiBUaGUgcmVhbCBpc3N1ZSBpcyB0aGF0IHRoZXJlJiMzOTtzIG5vIHJlYWxpc3RpYyBzb2Z0d2FyZSBlbXVsYXRpb24gb2YgdGhpcyBoYXJkd2FyZSBhdmFpbGFibGUuIE5laXRoZXIgR29vZ2xlIENvbXB1dGUgRW5naW5lIChHQ0UpLCBub3IgUUVNVSwgdGhlIHVzdWFsIHN1c3BlY3RzIGZvciBmdXp6aW5nIGVudmlyb25tZW50cywgY2FuIGVmZmVjdGl2ZWx5IHJlcGxpY2F0ZSB0aGUgZW52aXJvbm1lbnQgbmVlZGVkIGZvciB0aGlzIGRyaXZlciB0byBleGVjdXRlIGl0cyBjb2RlIHBhdGhzLiBTbywgZnV6emluZyB0aGlzIGNvZGUgaXMgYSB3YXN0ZSBvZiByZXNvdXJjZXMuIEl0JiMzOTtzIHNpbXBseSBub3QgZ29pbmcgdG8gaGFwcGVuIGluIGFueSB0eXBpY2FsLCBwcmFjdGljYWwgZnV6emluZyBzY2VuYXJpby4gTm8gcG9pbnQgaW4gd2FzdGluZyB0aW1lIG9uIHRoaXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIwIDA4OjM3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMpLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciBBaXJvaGEgU29DcyB0aGF0IHJlbGllcyBvbiBEZXZpY2UgVHJlZSAob2ZfZGV2aWNlX2lkKSBmb3IgaW5zdGFudGlhdGlvbi4gU2luY2UgdGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0b3IgZm9yIHRoaXMgaGFyZHdhcmUsIHRoZSBjb2RlIHBhdGhzIGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAobGlrZSBHQ0Ugb3IgUUVNVSkgdXNlZCBmb3IgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jKS4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgQWlyb2hhIFNvQ3MgdGhhdCByZWxpZXMgb24gRGV2aWNlIFRyZWUgKG9mX2RldmljZV9pZCkgZm9yIGluc3RhbnRpYXRpb24uIFNpbmNlIHRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdG9yIGZvciB0aGlzIGhhcmR3YXJlLCB0aGUgY29kZSBwYXRocyBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUpIHVzZWQgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6MzY6NDguOTA2Njk3NTExWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzIzMTAzNzQ2NDIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jKS4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgQWlyb2hhIFNvQ3MgdGhhdCByZWxpZXMgb24gRGV2aWNlIFRyZWUgKG9mX2RldmljZV9pZCkgZm9yIGluc3RhbnRpYXRpb24uIFNpbmNlIHRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdG9yIGZvciB0aGlzIGhhcmR3YXJlLCB0aGUgY29kZSBwYXRocyBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUpIHVzZWQgZm9yIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yMFQwODozNjo0OC45MDY3MDI5NDFaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU0NzAyNTIxNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGI0ZDcwODgyNDMzNjdiZmYxYjc2MGEwYTdhMTE3ZDlkNGNmZTQ2ZTNcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFNhdCBKdW4gMjAgMDg6MzY6NDcgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNcXG5pbmRleCA2NGRkZTY0NjRmM2ZiMS4uMzM3MGMzZGY3YzEwN2IgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNcXG5AQCAtMjExMCw3ICsyMTEwLDcgQEAgc3RhdGljIHUxNiBhaXJvaGFfZGV2X3NlbGVjdF9xdWV1ZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbiBcXHQgKi9cXG4gXFx0Y2hhbm5lbCA9IG5ldGRldl91c2VzX2RzYShuZXRkZXYpID8gc2tiX2dldF9xdWV1ZV9tYXBwaW5nKHNrYikgOiBwb3J0LVxcdTAwM2VpZDtcXG4gXFx0Y2hhbm5lbCA9IGNoYW5uZWwgJSBBSVJPSEFfTlVNX1FPU19DSEFOTkVMUztcXG4tXFx0cXVldWUgPSAoc2tiLVxcdTAwM2Vwcmlvcml0eSAtIDEpICUgQUlST0hBX05VTV9RT1NfUVVFVUVTOyAvKiBRb1MgcXVldWUgKi9cXG4rXFx0cXVldWUgPSBza2ItXFx1MDAzZXByaW9yaXR5ICUgQUlST0hBX05VTV9RT1NfUVVFVUVTO1xcbiBcXHRxdWV1ZSA9IGNoYW5uZWwgKiBBSVJPSEFfTlVNX1FPU19RVUVVRVMgKyBxdWV1ZTtcXG4gXFxuIFxcdHJldHVybiBxdWV1ZSBcXHUwMDNjIG5ldGRldi1cXHUwMDNlbnVtX3R4X3F1ZXVlcyA/IHF1ZXVlIDogMDtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6MzY6NDkuNDU0NDgwMzA4WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMTc2MjU4NjcxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMpLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciBBaXJvaGEgU29DcyB0aGF0IHJlbGllcyBvbiBEZXZpY2UgVHJlZSAob2ZfZGV2aWNlX2lkKSBmb3IgaW5zdGFudGlhdGlvbi4gU2luY2UgdGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0b3IgZm9yIHRoaXMgaGFyZHdhcmUsIHRoZSBjb2RlIHBhdGhzIGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAobGlrZSBHQ0Ugb3IgUUVNVSkgdXNlZCBmb3IgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgYjRkNzA4ODI0MzM2N2JmZjFiNzYwYTBhN2ExMTdkOWQ0Y2ZlNDZlM1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgSnVuIDIwIDA4OjM2OjQ3IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNcbmluZGV4IDY0ZGRlNjQ2NGYzZmIxLi4zMzcwYzNkZjdjMTA3YiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmNcbkBAIC0yMTEwLDcgKzIxMTAsNyBAQCBzdGF0aWMgdTE2IGFpcm9oYV9kZXZfc2VsZWN0X3F1ZXVlKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXG4gXHQgKi9cbiBcdGNoYW5uZWwgPSBuZXRkZXZfdXNlc19kc2EobmV0ZGV2KSA/IHNrYl9nZXRfcXVldWVfbWFwcGluZyhza2IpIDogcG9ydC1cdTAwM2VpZDtcbiBcdGNoYW5uZWwgPSBjaGFubmVsICUgQUlST0hBX05VTV9RT1NfQ0hBTk5FTFM7XG4tXHRxdWV1ZSA9IChza2ItXHUwMDNlcHJpb3JpdHkgLSAxKSAlIEFJUk9IQV9OVU1fUU9TX1FVRVVFUzsgLyogUW9TIHF1ZXVlICovXG4rXHRxdWV1ZSA9IHNrYi1cdTAwM2Vwcmlvcml0eSAlIEFJUk9IQV9OVU1fUU9TX1FVRVVFUztcbiBcdHF1ZXVlID0gY2hhbm5lbCAqIEFJUk9IQV9OVU1fUU9TX1FVRVVFUyArIHF1ZXVlO1xuIFxuIFx0cmV0dXJuIHF1ZXVlIFx1MDAzYyBuZXRkZXYtXHUwMDNlbnVtX3R4X3F1ZXVlcyA/IHF1ZXVlIDogMDtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIwVDA4OjM2OjQ5LjQ1NDQ4MjIwOFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjcxNjY0ODkzNTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0J3MgdG91Y2hlZCBgZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguY2AuIFRoZSBjb3JlIGNoYW5nZSBpcyBpbiB0aGUgYGFpcm9oYV9kZXZfc2VsZWN0X3F1ZXVlYCBmdW5jdGlvbi4gSXQncyBhIHNpbXBsZSwgc2VlbWluZ2x5IGFyaXRobWV0aWMgYWRqdXN0bWVudDogdGhlIG9yaWdpbmFsIGNvZGUgc3VidHJhY3RzIDEgZnJvbSBgc2tiLVx1MDAzZXByaW9yaXR5YCBiZWZvcmUgdGhlIG1vZHVsbyBvcGVyYXRpb24sIGFuZCB0aGUgcGF0Y2ggcmVtb3ZlcyB0aGF0IHN1YnRyYWN0aW9uLiBUaGlzIGltcGFjdHMgaG93IHRoZSBRdWFsaXR5IG9mIFNlcnZpY2UgKFFvUykgcXVldWUgaXMgc2VsZWN0ZWQsIGNoYW5naW5nIHRoZSBxdWV1ZSBhc3NpZ25tZW50IGJhc2VkIG9uIHBhY2tldCBwcmlvcml0eS4gSXQncyBhIGZ1bmN0aW9uYWwgbW9kaWZpY2F0aW9uLCBmb3Igc3VyZS5cblxuTm93LCB0aGUgaW50ZXJlc3RpbmcgcXVlc3Rpb24gaXM6IGhvdyByZWxldmFudCBpcyB0aGlzIGNoYW5nZSAqZ2VuZXJhbGx5Kj8gQWlyb2hhIGlzIHNwZWNpZmljIGhhcmR3YXJlLCBzbyBpdOKAmXMgbGlrZWx5IG5vdCBkaXJlY3RseSBlbXVsYXRlZCwgYW5kIHRoZSBwYXRjaCBwb2ludHMgdG8gYSB2ZXJ5IHNwZWNpZmljIHRhcmdldC4gSXQncyBwcmV0dHkgdW5jb21tb24gdG8gc2VlIHN1Y2ggc3BlY2lmaWMgaGFyZHdhcmUgZHJpdmVycyBiZWluZyBleGVyY2lzZWQgb3V0c2lkZSB0aGVpciBpbnRlbmRlZCBoYXJkd2FyZSBlbnZpcm9ubWVudCB3aXRob3V0IHNvbWUgYWR2YW5jZWQgZW11bGF0aW9uIGVmZm9ydC4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaWYgdGhpcyBBaXJvaGEgZXRoZXJuZXQgZHJpdmVyLCBsb2NhdGVkIGF0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jYCwgaXMgbGlrZWx5IHRvIGJlIHJlYWNoYWJsZSBkdXJpbmcgc3RhbmRhcmQgdmlydHVhbGl6YXRpb24sIG9yIGlmIHRoaXMgaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBzY2VuYXJpby4gSSBuZWVkIHRvIGRpZyBkZWVwZXIgaW50byB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRoaXMgZGV2aWNlIGFuZCBjb25zaWRlciB3aGV0aGVyIHRoZSBwYXRjaCBpcyBicm9hZGx5IGFwcGxpY2FibGUgb3IgdmVyeSBuaWNoZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTkzMiwiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE5MSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIwVDA4OjM2OjU2LjYyMDk3NzY3MloiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NDU5NDM4OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJhaXJvaGFfZXRoXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL01ha2VmaWxlPTY9b2JqLSQoQ09ORklHX05FVF9BSVJPSEEpICs9IGFpcm9oYS1ldGgub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9NYWtlZmlsZTo3OmFpcm9oYS1ldGgteSA6PSBhaXJvaGFfZXRoLm8gYWlyb2hhX3BwZS5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL01ha2VmaWxlLTgtYWlyb2hhLWV0aC0kKENPTkZJR19ERUJVR19GUykgKz0gYWlyb2hhX3BwZV9kZWJ1Z2ZzLm9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTctI2luY2x1ZGUgXFxcImFpcm9oYV9yZWdzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxODojaW5jbHVkZSBcXFwiYWlyb2hhX2V0aC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTktXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTc0PXN0YXRpYyBpbnQgYWlyb2hhX3NldF9tYWNhZGRyKHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2LCBjb25zdCB1OCAqYWRkcilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtNzYtXFx0dTggcmVmX2FkZHJbRVRIX0FMRU5dIF9fYWxpZ25lZCgyKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjc3OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBkZXYtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTc4LVxcdHUzMiByZWcsIHZhbCwgbG1pbiwgbG1heDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTQ1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTQ2OnN0YXRpYyB2b2lkIGFpcm9oYV9zZXRfZ2RtX3BvcnRfZndkX2NmZyhzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLCB1MzIgYWRkcixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE0Ny1cXHRcXHRcXHRcXHRcXHR1MzIgdmFsKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xNTk9c3RhdGljIGludCBhaXJvaGFfc2V0X3ZpcF9mb3JfZ2RtX3BvcnQoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYsIGJvb2wgZW5hYmxlKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjEtXFx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydCA9IGRldi1cXHUwMDNlcG9ydDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE2MjpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjMtXFx0dTMyIHZpcF9wb3J0O1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNzc6c3RhdGljIHZvaWQgYWlyb2hhX2ZlX21hY2NyX2luaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE3OC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE5MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE5MjpzdGF0aWMgdm9pZCBhaXJvaGFfZmVfdmlwX3NldHVwKHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xOTMte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yNTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyNTY6c3RhdGljIHUzMiBhaXJvaGFfZmVfZ2V0X3BzZV9xdWV1ZV9yc3ZfcGFnZXMoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI1Ny1cXHRcXHRcXHRcXHRcXHQgICAgIHUzMiBwb3J0LCB1MzIgcXVldWUpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI2ODpzdGF0aWMgdm9pZCBhaXJvaGFfZmVfc2V0X3BzZV9xdWV1ZV9yc3ZfcGFnZXMoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI2OS1cXHRcXHRcXHRcXHRcXHQgICAgICB1MzIgcG9ydCwgdTMyIHF1ZXVlLCB1MzIgdmFsKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yODAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyODE6c3RhdGljIHUzMiBhaXJvaGFfZmVfZ2V0X3BzZV9hbGxfcnN2KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yODIte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yODUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyODY6c3RhdGljIGludCBhaXJvaGFfZmVfc2V0X3BzZV9vcV9yc3Yoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTI4Ny1cXHRcXHRcXHRcXHQgICAgdTMyIHBvcnQsIHUzMiBxdWV1ZSwgdTMyIHZhbClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzE4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzE5OnN0YXRpYyB2b2lkIGFpcm9oYV9mZV9wc2VfcG9ydHNfaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzIwLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtNDAyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6NDAzOnN0YXRpYyBpbnQgYWlyb2hhX2ZlX21jX3ZsYW5fY2xlYXIoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQwNC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQ0Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjQ0MzpzdGF0aWMgdm9pZCBhaXJvaGFfZmVfY3Jzbl9xc2VsX2luaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQ0NC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTQ4OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjQ4OTpzdGF0aWMgaW50IGFpcm9oYV9mZV9pbml0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy00OTAte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz02MzM9c3RhdGljIHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo2MzQ6YWlyb2hhX3FkbWFfZ2V0X2dkbV9kZXYoc3RydWN0IGFpcm9oYV9ldGggKmV0aCwgc3RydWN0IGFpcm9oYV9xZG1hX2Rlc2MgKmRlc2MpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy02MzUte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz02NTU9c3RhdGljIGludCBhaXJvaGFfcWRtYV9yeF9wcm9jZXNzKHN0cnVjdCBhaXJvaGFfcXVldWUgKnEsIGludCBidWRnZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTY1OC1cXHRzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWEgPSBxLVxcdTAwM2VxZG1hO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6NjU5OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBxZG1hLVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy02NjAtXFx0aW50IHFpZCA9IHEgLSBcXHUwMDI2cWRtYS1cXHUwMDNlcV9yeFswXTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9Nzk1PXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfaW5pdF9yeF9xdWV1ZShzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy04MDctXFx0fTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjgwODpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cXHUwMDNlZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtODA5LVxcdGludCBxaWQgPSBxIC0gXFx1MDAyNnFkbWEtXFx1MDAzZXFfcnhbMF0sIHRocjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9ODUzPXN0YXRpYyB2b2lkIGFpcm9oYV9xZG1hX2NsZWFudXBfcnhfcXVldWUoc3RydWN0IGFpcm9oYV9xdWV1ZSAqcSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtODU1LVxcdHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSA9IHEtXFx1MDAzZXFkbWE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo4NTY6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTg1Ny1cXHRpbnQgcWlkID0gcSAtIFxcdTAwMjZxZG1hLVxcdTAwM2VxX3J4WzBdO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz05MTE9c3RhdGljIHZvaWQgYWlyb2hhX3FkbWFfd2FrZV9uZXRkZXZfdHhxcyhzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy05MTMtXFx0c3RydWN0IGFpcm9oYV9xZG1hICpxZG1hID0gcS1cXHUwMDNlcWRtYTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjkxNDpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcWRtYS1cXHUwMDNlZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtOTE1LVxcdGludCBpLCBxaWQgPSBxIC0gXFx1MDAyNnFkbWEtXFx1MDAzZXFfdHhbMF07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTk0Nz1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3R4X25hcGlfcG9sbChzdHJ1Y3QgbmFwaV9zdHJ1Y3QgKm5hcGksIGludCBidWRnZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTk1MS1cXHRzdHJ1Y3QgYWlyb2hhX3FkbWEgKnFkbWE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzo5NTI6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTk1My1cXHR1MzIgc3RhdHVzLCBoZWFkO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xMDU4PXN0YXRpYyBpbnQgYWlyb2hhX3FkbWFfaW5pdF90eF9xdWV1ZShzdHJ1Y3QgYWlyb2hhX3F1ZXVlICpxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xMDYwLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjEwNjE6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTEwNjItXFx0aW50IGksIHFpZCA9IHEgLSBcXHUwMDI2cWRtYS1cXHUwMDNlcV90eFswXTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTEwMT1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX3R4X2lycV9pbml0KHN0cnVjdCBhaXJvaGFfdHhfaXJxX3F1ZXVlICppcnFfcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTEwNC1cXHRpbnQgaWQgPSBpcnFfcSAtIFxcdTAwMjZxZG1hLVxcdTAwM2VxX3R4X2lycVswXTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjExMDU6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTExMDYtXFx0ZG1hX2FkZHJfdCBkbWFfYWRkcjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTE1MD1zdGF0aWMgdm9pZCBhaXJvaGFfcWRtYV9jbGVhbnVwX3R4X3F1ZXVlKHN0cnVjdCBhaXJvaGFfcXVldWUgKnEpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTExNTItXFx0c3RydWN0IGFpcm9oYV9xZG1hICpxZG1hID0gcS1cXHUwMDNlcWRtYTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjExNTM6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTExNTQtXFx0aW50IGksIHFpZCA9IHEgLSBcXHUwMDI2cWRtYS1cXHUwMDNlcV90eFswXTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTIwMT1zdGF0aWMgaW50IGFpcm9oYV9xZG1hX2luaXRfaGZ3ZF9xdWV1ZXMoc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xMjAzLVxcdGludCBzaXplLCBpbmRleCwgbnVtX2Rlc2MgPSBIV19EU0NQX05VTTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjEyMDQ6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTEyMDUtXFx0aW50IGlkID0gcWRtYSAtIFxcdTAwMjZldGgtXFx1MDAzZXFkbWFbMF07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE0NTc9c3RhdGljIGludCBhaXJvaGFfcWRtYV9pbml0X2lycV9iYW5rcyhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNDU5LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE0NjA6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHFkbWEtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE0NjEtXFx0aW50IGksIGlkID0gcWRtYSAtIFxcdTAwMjZldGgtXFx1MDAzZXFkbWFbMF07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTE0OTA9c3RhdGljIGludCBhaXJvaGFfcWRtYV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNDkxOlxcdFxcdFxcdCAgICBzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTQ5Mi1cXHRcXHRcXHQgICAgc3RydWN0IGFpcm9oYV9xZG1hICpxZG1hKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xNTU3PXN0YXRpYyBpbnQgYWlyb2hhX2h3X2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjE1NTg6XFx0XFx0XFx0ICBzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTU1OS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE2MDAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxNjAxOnN0YXRpYyB2b2lkIGFpcm9oYV9od19jbGVhbnVwKHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjAyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTY0MD1zdGF0aWMgdm9pZCBhaXJvaGFfZGV2X2dldF9od19zdGF0cyhzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTY0Mi1cXHRzdHJ1Y3QgYWlyb2hhX2dkbV9wb3J0ICpwb3J0ID0gZGV2LVxcdTAwM2Vwb3J0O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTY0MzpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xNjQ0LVxcdHUzMiB2YWwsIGkgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xODA1PXN0YXRpYyBpbnQgYWlyb2hhX2Rldl9vcGVuKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE4NTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoxODU0OnN0YXRpYyB2b2lkIGFpcm9oYV9zZXRfcG9ydF9tdHUoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTE4NTUtXFx0XFx0XFx0XFx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MTkzMj1zdGF0aWMgaW50IGFpcm9oYV9lbmFibGVfZ2RtMl9sb29wYmFjayhzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMTkzNC1cXHRzdHJ1Y3QgYWlyb2hhX2dkbV9wb3J0ICpwb3J0ID0gZGV2LVxcdTAwM2Vwb3J0O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTkzNTpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gZGV2LVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xOTM2LVxcdHUzMiB2YWwsIHBzZV9wb3J0LCBjaGFuO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0xOTk0PXN0YXRpYyBzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MTk5NTphaXJvaGFfZ2V0X3dhbl9nZG1fZGV2KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0xOTk2LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjAxNz1zdGF0aWMgdm9pZCBhaXJvaGFfZGV2X3NldF9xZG1hKHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMDE5LVxcdHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYgPSBuZXRkZXZfZnJvbV9wcml2KGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMDIwOlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBkZXYtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIwMjEtXFx0aW50IHBwZV9pZDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjE2Mz1pbnQgYWlyb2hhX2dldF9mZV9wb3J0KHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMTY1LVxcdHN0cnVjdCBhaXJvaGFfZ2RtX3BvcnQgKnBvcnQgPSBkZXYtXFx1MDAzZXBvcnQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMTY2OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBkZXYtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIxNjctXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTIxNzk9c3RhdGljIG5ldGRldl90eF90IGFpcm9oYV9kZXZfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzIwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjMyMTpzdGF0aWMgdm9pZCBhaXJvaGFfZXRodG9vbF9nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjMyMi1cXHRcXHRcXHRcXHQgICAgICAgc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyAqaW5mbylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjMyNC1cXHRzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiA9IG5ldGRldl9wcml2KG5ldGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMzI1OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBkZXYtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMjYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMzAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMzMxOnN0YXRpYyB2b2lkIGFpcm9oYV9ldGh0b29sX2dldF9tYWNfc3RhdHMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzMzItXFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBldGh0b29sX2V0aF9tYWNfc3RhdHMgKnN0YXRzKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzQ5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM1MDpzdGF0aWMgY29uc3Qgc3RydWN0IGV0aHRvb2xfcm1vbl9oaXN0X3JhbmdlIGFpcm9oYV9ldGh0b29sX3Jtb25fcmFuZ2VzW10gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzUxLVxcdHsgICAgMCwgICAgNjQgfSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MjM2MT1zdGF0aWMgdm9pZFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM2MjphaXJvaGFfZXRodG9vbF9nZXRfcm1vbl9zdGF0cyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM2My1cXHRcXHRcXHQgICAgICBzdHJ1Y3QgZXRodG9vbF9ybW9uX3N0YXRzICpzdGF0cyxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM2OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjIzNzA6XFx0QlVJTERfQlVHX09OKEFSUkFZX1NJWkUoYWlyb2hhX2V0aHRvb2xfcm1vbl9yYW5nZXMpICE9XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzcxLVxcdFxcdCAgICAgQVJSQVlfU0laRShod19zdGF0cy1cXHUwMDNldHhfbGVuKSArIDEpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM3MjpcXHRCVUlMRF9CVUdfT04oQVJSQVlfU0laRShhaXJvaGFfZXRodG9vbF9ybW9uX3JhbmdlcykgIT1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTIzNzMtXFx0XFx0ICAgICBBUlJBWV9TSVpFKGh3X3N0YXRzLVxcdTAwM2VyeF9sZW4pICsgMSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzc0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MjM3NTpcXHQqcmFuZ2VzID0gYWlyb2hhX2V0aHRvb2xfcm1vbl9yYW5nZXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzc2LVxcdGFpcm9oYV91cGRhdGVfaHdfc3RhdHMoZGV2KTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjM4Mi1cXHRcXHRzdGF0cy1cXHUwMDNlamFiYmVycyA9IGh3X3N0YXRzLVxcdTAwM2VyeF9qYWJiZXI7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzoyMzgzOlxcdFxcdGZvciAoaSA9IDA7IGkgXFx1MDAzYyBBUlJBWV9TSVpFKGFpcm9oYV9ldGh0b29sX3Jtb25fcmFuZ2VzKSAtIDE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yMzg0LVxcdFxcdCAgICAgaSsrKSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTI5NDI9c3RhdGljIGludCBhaXJvaGFfZGV2X3NldHVwX3RjX2Jsb2NrX2NiKGVudW0gdGNfc2V0dXBfdHlwZSB0eXBlLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0yOTQ2LVxcdHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjI5NDc6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cXHUwMDNlZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMjk0OC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MzA5OT1zdGF0aWMgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2Vfb3BzIGFpcm9oYV9uZXRkZXZfb3BzID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTEwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzExMTpzdGF0aWMgY29uc3Qgc3RydWN0IGV0aHRvb2xfb3BzIGFpcm9oYV9ldGh0b29sX29wcyA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxMTI6XFx0LmdldF9kcnZpbmZvXFx0XFx0PSBhaXJvaGFfZXRodG9vbF9nZXRfZHJ2aW5mbyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxMTM6XFx0LmdldF9ldGhfbWFjX3N0YXRzICAgICAgPSBhaXJvaGFfZXRodG9vbF9nZXRfbWFjX3N0YXRzLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzExNDpcXHQuZ2V0X3Jtb25fc3RhdHNcXHRcXHQ9IGFpcm9oYV9ldGh0b29sX2dldF9ybW9uX3N0YXRzLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzExNS1cXHQuZ2V0X2xpbmtfa3NldHRpbmdzXFx0PSBwaHlfZXRodG9vbF9nZXRfbGlua19rc2V0dGluZ3MsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTMxMzg9c3RhdGljIHZvaWQgYWlyb2hhX21ldGFkYXRhX2RzdF9mcmVlKHN0cnVjdCBhaXJvaGFfZ2RtX3BvcnQgKnBvcnQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMxNDktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYzozMTUwOmJvb2wgYWlyb2hhX2lzX3ZhbGlkX2dkbV9kZXYoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMxNTEtXFx0XFx0XFx0ICAgICBzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzE3MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxNzE6c3RhdGljIGludCBhaXJvaGFfYWxsb2NfZ2RtX2RldmljZShzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzE3Mi1cXHRcXHRcXHRcXHQgICBzdHJ1Y3QgYWlyb2hhX2dkbV9wb3J0ICpwb3J0LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTg4LVxcdG5ldGRldi1cXHUwMDNlbmV0ZGV2X29wcyA9IFxcdTAwMjZhaXJvaGFfbmV0ZGV2X29wcztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMxODk6XFx0bmV0ZGV2LVxcdTAwM2VldGh0b29sX29wcyA9IFxcdTAwMjZhaXJvaGFfZXRodG9vbF9vcHM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMTkwLVxcdG5ldGRldi1cXHUwMDNlbWF4X210dSA9IEFJUk9IQV9NQVhfTVRVO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zMjM2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzIzNzpzdGF0aWMgaW50IGFpcm9oYV9hbGxvY19nZG1fcG9ydChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzIzOC1cXHRcXHRcXHRcXHQgc3RydWN0IGRldmljZV9ub2RlICpucClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzMxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMzMTc6c3RhdGljIGludCBhaXJvaGFfcmVnaXN0ZXJfZ2RtX2RldmljZXMoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMzMTgte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYz0zMzQ2PXN0YXRpYyBpbnQgYWlyb2hhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMzNDktXFx0c3RydWN0IGRldmljZV9ub2RlICpucDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjMzNTA6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTMzNTEtXFx0aW50IGksIGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MzQ3Mj1zdGF0aWMgdm9pZCBhaXJvaGFfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zNDczLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjM0NzQ6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzQ3NS1cXHRpbnQgaTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM9MzY0Mj1zdGF0aWMgaW50IGFpcm9oYV9hbjc1ODNfZ2V0X2Rldl9mcm9tX3Nwb3J0KHN0cnVjdCBhaXJvaGFfcWRtYV9kZXNjICpkZXNjLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguYy0zNjcxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmM6MzY3MjpzdGF0aWMgY29uc3Qgc3RydWN0IGFpcm9oYV9ldGhfc29jX2RhdGEgZW43NTgxX3NvY19kYXRhID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzY3My1cXHQudmVyc2lvbiA9IDB4NzU4MSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMtMzY4My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjM2ODQ6c3RhdGljIGNvbnN0IHN0cnVjdCBhaXJvaGFfZXRoX3NvY19kYXRhIGFuNzU4M19zb2NfZGF0YSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM2ODUtXFx0LnZlcnNpb24gPSAweDc1ODMsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTUyMz1zdHJ1Y3QgYWlyb2hhX3FkbWEge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6NTI0OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC01MjUtXFx0dm9pZCBfX2lvbWVtICpyZWdzO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaD01NDM9c3RydWN0IGFpcm9oYV9nZG1fZGV2IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNTQ1LVxcdHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjU0NjpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNTQ3LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaD01NzM9c3RydWN0IGFpcm9oYV9wcGUge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNTc0LVxcdHN0cnVjdCBhaXJvaGFfcHBlX2RldiBkZXY7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo1NzU6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTU3Ni1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNTkwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6NTkxOnN0cnVjdCBhaXJvaGFfZXRoX3NvY19kYXRhIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTU5Mi1cXHR1MTYgdmVyc2lvbjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNjAzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6NjA0OnN0cnVjdCBhaXJvaGFfZXRoIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTYwNS1cXHRzdHJ1Y3QgZGV2aWNlICpkZXY7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02MDYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaDo2MDc6XFx0Y29uc3Qgc3RydWN0IGFpcm9oYV9ldGhfc29jX2RhdGEgKnNvYztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTYwOC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg9NjYxPXN0YXRpYyBpbmxpbmUgYm9vbCBhaXJvaGFfaXNfbGFuX2dkbV9kZXYoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTY2NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY2NjpzdGF0aWMgaW5saW5lIGJvb2wgYWlyb2hhX2lzXzc1ODEoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTY2Ny17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTY3MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY3MTpzdGF0aWMgaW5saW5lIGJvb2wgYWlyb2hhX2lzXzc1ODMoc3RydWN0IGFpcm9oYV9ldGggKmV0aClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oLTY3Mi17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTY3Nj1pbnQgYWlyb2hhX2dldF9mZV9wb3J0KHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY3Nzpib29sIGFpcm9oYV9pc192YWxpZF9nZG1fZGV2KHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02NzgtXFx0XFx0XFx0ICAgICBzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldik7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTY4MD12b2lkIGFpcm9oYV9wcGVfc2V0X2NwdV9wb3J0KHN0cnVjdCBhaXJvaGFfZ2RtX2RldiAqZGV2LCB1OCBwcGVfaWQsIHU4IGZwb3J0KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY4MTpib29sIGFpcm9oYV9wcGVfaXNfZW5hYmxlZChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLCBpbnQgaW5kZXgpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmgtNjgyLXZvaWQgYWlyb2hhX3BwZV9jaGVja19za2Ioc3RydWN0IGFpcm9oYV9wcGVfZGV2ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oPTY4ND1pbnQgYWlyb2hhX3BwZV9zZXR1cF90Y19ibG9ja19jYihzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgKmRldiwgdm9pZCAqdHlwZV9kYXRhKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5oOjY4NTppbnQgYWlyb2hhX3BwZV9pbml0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmg6Njg2OnZvaWQgYWlyb2hhX3BwZV9kZWluaXQoc3RydWN0IGFpcm9oYV9ldGggKmV0aCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ldGguaC02ODctdm9pZCBhaXJvaGFfcHBlX2luaXRfdXBkX21lbShzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgY29uc3QgdTggKmFkZHIpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYy0xNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jOjE1OiNpbmNsdWRlIFxcXCJhaXJvaGFfZXRoLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9ucHUuYy0xNi1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTUtI2luY2x1ZGUgXFxcImFpcm9oYV9yZWdzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxNjojaW5jbHVkZSBcXFwiYWlyb2hhX2V0aC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTctXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTQ2PXN0YXRpYyBpbnQgYWlyb2hhX3BwZV9nZXRfdG90YWxfbnVtX3N0YXRzX2VudHJpZXMoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNTAtXFx0aWYgKG51bV9zdGF0cyBcXHUwMDNlIDApIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjUxOlxcdFxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTUyLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz01OT1zdGF0aWMgdTMyIGFpcm9oYV9wcGVfZ2V0X3RvdGFsX3NyYW1fbnVtX2VudHJpZXMoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTYwLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjYxOlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTYyLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz02Nj11MzIgYWlyb2hhX3BwZV9nZXRfdG90YWxfbnVtX2VudHJpZXMoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzo3Mzpib29sIGFpcm9oYV9wcGVfaXNfZW5hYmxlZChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLCBpbnQgaW5kZXgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy03NC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTg3PXZvaWQgYWlyb2hhX3BwZV9zZXRfY3B1X3BvcnQoc3RydWN0IGFpcm9oYV9nZG1fZGV2ICpkZXYsIHU4IHBwZV9pZCwgdTggZnBvcnQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTg5LVxcdHN0cnVjdCBhaXJvaGFfcWRtYSAqcWRtYSA9IGRldi1cXHUwMDNlcWRtYTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjkwOlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBxZG1hLVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy05MS1cXHR1OCBxZG1hX2lkID0gcWRtYSAtIFxcdTAwMjZldGgtXFx1MDAzZXFkbWFbMF07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTEwMD1zdGF0aWMgdm9pZCBhaXJvaGFfcHBlX2h3X2luaXQoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTAzLVxcdHUzMiBzcmFtX3RiX3NpemUsIGRyYW1fbnVtX2VudHJpZXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMDQ6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IHBwZS1cXHUwMDNlZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTA1LVxcdGludCBpLCBzcmFtX251bV9zdGF0c19lbnRyaWVzO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0zMDQ9c3RhdGljIHZvaWQgYWlyb2hhX3BwZV9mb2Vfc2V0X2JyaWRnZV9hZGRycyhzdHJ1Y3QgYWlyb2hhX2ZvZV9icmlkZ2UgKmJyLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0zMTItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzozMTM6c3RhdGljIGludCBhaXJvaGFfcHBlX2ZvZV9lbnRyeV9wcmVwYXJlKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0zMTQtXFx0XFx0XFx0XFx0XFx0c3RydWN0IGFpcm9oYV9mb2VfZW50cnkgKmh3ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9NjU4PWFpcm9oYV9wcGVfZm9lX2dldF9lbnRyeV9sb2NrZWQoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSwgdTMyIGhhc2gpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTY2Ni1cXHRcXHRib29sIHBwZTIgPSBoYXNoIFxcdTAwM2U9IFBQRV9TUkFNX05VTV9FTlRSSUVTO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6NjY3OlxcdFxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTY2OC1cXHRcXHR1MzIgdmFsO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz03Mzk9c3RhdGljIGludCBhaXJvaGFfcHBlX2ZvZV9jb21taXRfZW50cnkoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtNzQ1LVxcdHUzMiB0cyA9IGFpcm9oYV9wcGVfZ2V0X3RpbWVzdGFtcChwcGUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6NzQ2OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTc0Ny1cXHRzdHJ1Y3QgYWlyb2hhX25wdSAqbnB1O1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xMDQ5PXN0YXRpYyBpbnQgYWlyb2hhX3BwZV9lbnRyeV9pZGxlX3RpbWUoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTA1Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjEwNTc6c3RhdGljIGludCBhaXJvaGFfcHBlX2Zsb3dfb2ZmbG9hZF9yZXBsYWNlKHN0cnVjdCBhaXJvaGFfZXRoICpldGgsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMDU4LVxcdFxcdFxcdFxcdFxcdCAgIHN0cnVjdCBmbG93X2Nsc19vZmZsb2FkICpmKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMjU2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTI1NzpzdGF0aWMgaW50IGFpcm9oYV9wcGVfZmxvd19vZmZsb2FkX2Rlc3Ryb3koc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNTgtXFx0XFx0XFx0XFx0XFx0ICAgc3RydWN0IGZsb3dfY2xzX29mZmxvYWQgKmYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTEyNzU9dm9pZCBhaXJvaGFfcHBlX2ZvZV9lbnRyeV9nZXRfc3RhdHMoc3RydWN0IGFpcm9oYV9wcGUgKnBwZSwgdTMyIGhhc2gsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEyNzcte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTI3ODpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcHBlLVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMjc5LVxcdGludCBwcGVfbnVtX3N0YXRzX2VudHJpZXM7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzMDktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMzEwOnN0YXRpYyBpbnQgYWlyb2hhX3BwZV9mbG93X29mZmxvYWRfc3RhdHMoc3RydWN0IGFpcm9oYV9ldGggKmV0aCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzMTEtXFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBmbG93X2Nsc19vZmZsb2FkICpmKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMzM1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTMzNjpzdGF0aWMgaW50IGFpcm9oYV9wcGVfZmxvd19vZmZsb2FkX2NtZChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTMzNy1cXHRcXHRcXHRcXHQgICAgICAgc3RydWN0IGZsb3dfY2xzX29mZmxvYWQgKmYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTEzNTM9c3RhdGljIGludCBhaXJvaGFfcHBlX2ZsdXNoX3NyYW1fZW50cmllcyhzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xMzcwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTM3MTpzdGF0aWMgc3RydWN0IGFpcm9oYV9ucHUgKmFpcm9oYV9wcGVfbnB1X2dldChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTM3Mi17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTEzODItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxMzgzOnN0YXRpYyBpbnQgYWlyb2hhX3BwZV93YWl0X2Zvcl9ucHVfaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTM4NC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE0MDUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxNDA2OnN0YXRpYyBpbnQgYWlyb2hhX3BwZV9vZmZsb2FkX3NldHVwKHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNDA3LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9MTQ0Nj1pbnQgYWlyb2hhX3BwZV9zZXR1cF90Y19ibG9ja19jYihzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgKmRldiwgdm9pZCAqdHlwZV9kYXRhKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNDQ4LVxcdHN0cnVjdCBhaXJvaGFfcHBlICpwcGUgPSBkZXYtXFx1MDAzZXByaXY7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYzoxNDQ5OlxcdHN0cnVjdCBhaXJvaGFfZXRoICpldGggPSBwcGUtXFx1MDAzZWV0aDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE0NTAtXFx0aW50IGVyciA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jPTE0OTA9dm9pZCBhaXJvaGFfcHBlX2luaXRfdXBkX21lbShzdHJ1Y3QgYWlyb2hhX2dkbV9kZXYgKmRldiwgY29uc3QgdTggKmFkZHIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jLTE0OTItXFx0c3RydWN0IGFpcm9oYV9nZG1fcG9ydCAqcG9ydCA9IGRldi1cXHUwMDNlcG9ydDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE0OTM6XFx0c3RydWN0IGFpcm9oYV9ldGggKmV0aCA9IGRldi1cXHUwMDNlZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTQ5NC1cXHR1MzIgdmFsO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xNTEwPXN0cnVjdCBhaXJvaGFfcHBlX2RldiAqYWlyb2hhX3BwZV9nZXRfZGV2KHN0cnVjdCBkZXZpY2UgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTUxMy1cXHRzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTUxNDpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTUxNS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM9MTU1NT12b2lkIGFpcm9oYV9wcGVfcHV0X2RldihzdHJ1Y3QgYWlyb2hhX3BwZV9kZXYgKmRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTU1Ny1cXHRzdHJ1Y3QgYWlyb2hhX3BwZSAqcHBlID0gZGV2LVxcdTAwM2Vwcml2O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTU1ODpcXHRzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoID0gcHBlLVxcdTAwM2VldGg7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNTU5LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYz0xNTYzPUVYUE9SVF9TWU1CT0xfR1BMKGFpcm9oYV9wcGVfcHV0X2Rldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNTY0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmM6MTU2NTppbnQgYWlyb2hhX3BwZV9pbml0KHN0cnVjdCBhaXJvaGFfZXRoICpldGgpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL2Fpcm9oYV9wcGUuYy0xNTY2LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTYzNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZS5jOjE2MzU6dm9pZCBhaXJvaGFfcHBlX2RlaW5pdChzdHJ1Y3QgYWlyb2hhX2V0aCAqZXRoKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlLmMtMTYzNi17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZV9kZWJ1Z2ZzLmMtNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX3BwZV9kZWJ1Z2ZzLmM6NzojaW5jbHVkZSBcXFwiYWlyb2hhX2V0aC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfcHBlX2RlYnVnZnMuYy04LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yMFQwODozNjo1Ni42NzU1Nzc2NTFaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2MTU1NjY0Mjg4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUmVhY2hhYmlsaXR5IG9mIHRoZSBBSVJPSEEgRXRoZXJuZXQgRHJpdmVyIGluIGEgVmlydHVhbGl6ZWQgQ29udGV4dCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IGBDT05GSUdfTkVUX0FJUk9IQWAsIHRoZSBBSVJPSEEgRXRoZXJuZXQgZHJpdmVyLiBNeSBpbW1lZGlhdGUgY29uY2VybiBpcyB3aGV0aGVyIHRoaXMgaXMgZXZlbiAqcmVhY2hhYmxlKiBpbiBhIHR5cGljYWwgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuIEl0J3MgYSBwbGF0Zm9ybSBkcml2ZXIsIHdoaWNoIGltbWVkaWF0ZWx5IG1ha2VzIG1lIHRoaW5rIGRldmljZSB0cmVlLiBMb29raW5nIGF0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jYCwgSSBzZWUgYGFpcm9oYV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KWAuIFRoYXQncyB0aGUga2V5IGVudHJ5IHBvaW50LiBUaGUgcXVlc3Rpb24gaXMsIGhvdyBkb2VzIHRoYXQgYHBsYXRmb3JtX2RldmljZWAgZ2V0IGluc3RhbnRpYXRlZD9cblxuTXkgZXhwZXJpZW5jZSB0ZWxscyBtZSB0aGlzIGlzIHVzdWFsbHkgZGV2aWNlIHRyZWUgZHJpdmVuLiBTbywgdW5sZXNzIHRoZXJlJ3Mgc29tZSBzcGVjaWZpYyBlbXVsYXRvciBzdXBwb3J0LCBvciBhIHdheSB0byBpbmplY3QgZGV2aWNlIHRyZWUgbm9kZXMsIGl0IG1pZ2h0IGJlIGluYWNjZXNzaWJsZS4gSXQncyB0aGUgc3RhbmRhcmQgaXNzdWUgd2l0aCBwbGF0Zm9ybSBkcml2ZXJzLiBcblxuSG9sZCBvbiwgSSBuZWVkIHRvIGNvbnNpZGVyIHN5emthbGxlci4gSSBrbm93IGl0IGNhbiBpbmplY3QgcGxhdGZvcm0gZGV2aWNlcyB1c2luZyBgc3l6X2RldmxpbmtgIG9yIGBzeXpfcGxhdGZvcm1fZGV2aWNlYCwgYnV0IHRoYXQncyBub3QgZ2VuZXJhbGx5IHRoZSBjYXNlIGZvciBub24tZ2VuZXJpYyBvbmVzLiBVbmxlc3MgdGhlcmUncyBhIHNwZWNpZmljIHN5emthbGxlciBkZXNjcmlwdGlvbiBmb3IgdGhlIEFJUk9IQSBkcml2ZXIsIG9yIHBlcmhhcHMgaXQncyBhIFBDSS9VU0IgZGV2aWNlLCBpdCdzIHByb2JhYmx5IG5vdCByZWFjaGFibGUgdGhyb3VnaCB0aGF0IG1ldGhvZCBlaXRoZXIuXG5cblRoZXJlZm9yZSwgSSBuZWVkIHRvIGNoZWNrIGZvciBhIFBDSSBvciBVU0IgYmluZGluZyBmb3IgdGhpcyBkcml2ZXIuIElmIHRoZXJlJ3MgYSBQQ0kgb3IgVVNCIGludGVyZmFjZSBpbnZvbHZlZCwgdGhhdCBnaXZlcyBtZSBhIHBvdGVudGlhbCBlbnRyeSBwb2ludCBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBUaGF0IGlzIG15IG5leHQgc3RlcC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTQxMTQsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMjYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6Mzc6MDIuODMxMjQzNzQ5WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUyOTI2MDE4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIk1PRFVMRV9ERVZJQ0VfVEFCTEVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvYWlyb2hhL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jPTM2OTY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfYWlyb2hhX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM3MDAtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jOjM3MDE6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgb2ZfYWlyb2hhX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jLTM3MDItXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jPTY3OD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9haXJvaGFfbnB1X21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX25wdS5jLTY4Mi19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmM6NjgzOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG9mX2Fpcm9oYV9ucHVfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfbnB1LmMtNjg0LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yMFQwODozNzowMi44ODQxNzg5MjdaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2OTMyMDA0MDE5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIEFpcm9oYSBFdGhlcm5ldCBEZXZpY2UgQ29kZSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgY29kZSwgYW5kIHRoZSBrZXkgaWRlbnRpZmllciBoZXJlIGlzIHRoZSBgb2ZfZGV2aWNlX2lkYC4gSG1tLCB0aGF0IG1lYW5zIGl0J3MgcmVseWluZyBvbiB0aGUgRGV2aWNlIFRyZWUuIFRoZSBpbW1lZGlhdGUgcXVlc3Rpb24gaXMsIGhvdyBvbiBlYXJ0aCBkbyBJIHJlYWNoIHRoaXMgY29kZSBpbiBhIHN0YW5kYXJkIHg4NiB2aXJ0dWFsIG1hY2hpbmU/IFR5cGljYWxseSwgT3BlbiBGaXJtd2FyZSBvciBEZXZpY2UgVHJlZSBkZXZpY2VzIGFyZSAqbm90KiBwcmVzZW50IG9uIHg4NiB1bmxlc3MgeW91IGV4cGxpY2l0bHkgbW9jayB0aGVtLiBBbmQsIGFzIGZhciBhcyBJIGtub3csIFN5emthbGxlciBkb2Vzbid0IGdlbmVyYWxseSBtb2NrIGFyYml0cmFyeSBEZXZpY2UgVHJlZSBub2RlcyBvbiB4ODY7IGl0IHVzdWFsbHkgZ29lcyBhIGRpZmZlcmVudCByb3V0ZS4gV2FpdCBhIHNlY29uZC4uLiBkb2Vzbid0IFN5emthbGxlciAqa2luZGEqIHN1cHBvcnQgaW5qZWN0aW5nIGRldmljZSB0cmVlIG5vZGVzIG9yIHBsYXRmb3JtIGRldmljZXM/IE5vLCB0aGF0J3Mgbm90IHF1aXRlIHJpZ2h0LiBTeXprYWxsZXIgZ2VuZXJhbGx5IGxlYW5zIG9uIHN0dWZmIGxpa2UgYHZoY2lgIGZvciBVU0IsIGBuZXRsaW5rYCBmb3IgdmlydHVhbCBkZXZpY2VzLCBhbmQgYG1hYzgwMjExX2h3c2ltYCBmb3Igd2lmaS5cblxuSG9sZCBvbiwgSSByZW1lbWJlciBTeXprYWxsZXIgaGFzIGBzeXpfaW5pdF9uZXRfc29ja2V0YCwgYW5kIHdpdGggaXQsIGl0IGNhbiBjcmVhdGUgdmlydHVhbCBpbnRlcmZhY2VzIGxpa2UgYHZldGhgLCBgZHVtbXlgLCBgYnJpZGdlYCwgYW5kIGB2eGxhbmAuIEJ1dCwgaXQgY2FuJ3QgY3JlYXRlIGFuIGBhaXJvaGFgIGV0aGVybmV0IGRldmljZSBiZWNhdXNlIGl0J3MgZGlyZWN0bHkgdGllZCB0byB0aGUgc3BlY2lmaWNzIG9mIHRoZSBBaXJvaGEgU29DIGhhcmR3YXJlLlxuXG5TbywgbGV0J3MgcmVmb2N1cy4gTXkgcHJpbWFyeSBnb2FsIGhlcmUgaXMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYGFpcm9oYV9kZXZfc2VsZWN0X3F1ZXVlYCBpcyBhY3R1YWxseSByZWFjaGFibGUuIEkgc2VlIHRoYXQgYGFpcm9oYV9kZXZfc2VsZWN0X3F1ZXVlYCBpcyBhc3NpZ25lZCB0byBgbmRvX3NlbGVjdF9xdWV1ZWAgd2l0aGluIGBhaXJvaGFfbmV0ZGV2X29wc2AuIFRoZSBwcm9ibGVtIGlzLCBpZiB0aGUgZGV2aWNlIGNhbid0IGJlIGluc3RhbnRpYXRlZCwgdGhpcyBjb2RlIGlzIGNvbXBsZXRlbHkgdW5yZWFjaGFibGUuIEl0J3MgYSBkZWFkIGVuZC5cblxuSSBuZWVkIHRvIGRvdWJsZS1jaGVjayB0aGlzLCB0aGVyZSAqaGFzKiB0byBiZSBzb21lIHdheSB0byBpbnN0YW50aWF0ZSB0aGlzIHRoaW5nLiBJIG5lZWQgdG8gbWFrZSBzdXJlIEknbSBub3QgbWlzc2luZyBhbnl0aGluZy5cblxuXG4iLCJJbnB1dFRva2VucyI6MTQ5NzAsIk91dHB1dFRva2VucyI6MjYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNzQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6Mzc6MDkuODE2MTg1NzM3WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk1MjQyNTU4LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJhaXJvaGFfZXRoXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIwVDA4OjM3OjA5LjkxMTQ0MDY3NVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU3NzYzMjQ5MTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqV29ydGhGdXp6aW5nPWZhbHNlOiBBIERlZXAgRGl2ZSoqXG5cbk9rYXksIGxldCdzIHRha2UgYSBsb29rIGF0IHRoaXMuIENhbiB3ZSBzb21laG93IHJlYWNoIHRoaXMgY29kZT8gTm9wZS4gSXQncyBhIHNwZWNpYWxpemVkIEV0aGVybmV0IGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvciBBaXJvaGEgU29DcywgdGhlIEVONzU4MSB0byBiZSBleGFjdC4gVGhpcyBtZWFucyBpdCdzIGhhcmR3YXJlLWRlcGVuZGVudCwgcmlnaHQ/IEFuZCB0aGVyZSdzIG5vIHNvZnR3YXJlIGVtdWxhdG9yIGxpa2UgYG1hYzgwMjExX2h3c2ltYCBvciBgbmV0ZGV2c2ltYCB0byBoZWxwIHVzIG91dC4gU28sIGFzIGFuIGV4cGVydCwgSSBrbm93IHRoYXQgZ2V0dGluZyB0aGlzIHRvIHJ1biBpbnNpZGUgYSB2aXJ0dWFsIGVudmlyb25tZW50IGxpa2UgR0NFIG9yIFFFTVUgaXMganVzdCBub3QgZ29pbmcgdG8gaGFwcGVuLiBJdCdzIHNpbXBseSBpbXBvc3NpYmxlLCBhcyBJIHN1c3BlY3RlZC4gVGhlcmVmb3JlLCBgV29ydGhGdXp6aW5nPWZhbHNlYCBpcyB0aGUgY29ycmVjdCBhbnN3ZXIuXG5cbkFscmlnaHQsIGxldCBtZSBkb3VibGUtY2hlY2sgdGhlIGdpdmVuIGluc3RydWN0aW9ucy4gSXQgc2hvdWxkIGJlIFwiV29ydGhGdXp6aW5nPWZhbHNlIGlmLi4uXCIgYW5kIHRoZSBwcm9tcHQgc3BlY2lmaWVzIGNvZGUgdGhhdCdzIHVucmVhY2hhYmxlIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggc29mdHdhcmUgZW11bGF0aW9ucyBzdWNoIGFzIHVzYiBnYWRnZXQgb3IgbWFjODAyMTFfaHdzaW0uXG5cblNpbmNlIHRoaXMgaXMgYSBwbGF0Zm9ybSBkcml2ZXIgdGhhdCdzIHNwZWNpZmljIHRvIEFpcm9oYSdzIFNvQyBFdGhlcm5ldCwgYW5kIHBsYXRmb3JtIGRyaXZlcnMgcmVseSBvbiBzcGVjaWZpYyBoYXJkd2FyZSBvciBkZXZpY2UgdHJlZSBub2Rlcywgd2hpY2ggYXJlIGNvbXBsZXRlbHkgYWJzZW50IGluIHRoZSBzdGFuZGFyZCB4ODYgVk1zIHRoYXQgd2UgdXNlIGZvciBmdXp6aW5nLiBUaGlzIGlzIGRlZmluaXRlbHkgdW5yZWFjaGFibGUuIFRoaXMgY29uZmlybXMgbXkgaW5pdGlhbCBhc3Nlc3NtZW50LlxuXG5KdXN0IHRvIGJlIHRob3JvdWdoLCBJJ2xsIHF1aWNrbHkgc2VlIGlmIHRoZXJlJ3MgYW55IG1vY2sgb3IgYG5ldGRldnNpbWAtdHlwZSBtb2R1bGUgc3BlY2lmaWNhbGx5IGZvciBBaXJvaGEuIEp1c3QgdG8gbWFrZSBzdXJlLCBpdCdzIGEgZ29vZCBwcmFjdGljZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTU2ODIsIk91dHB1dFRva2VucyI6MzAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNDEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6Mzc6MTUuNjg3NzY3NDUxWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo3NDIwNjU3OSwiRXJyb3IiOiJubyBtYXRjaGVzIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYWlyb2hhXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L25ldGRldnNpbS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIwVDA4OjM3OjE1Ljc2MTk4MzM2WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU0NTUwNTQ4MTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqVW5yZWFjaGFibGUgQ29kZSBpbiBBaXJvaGEgRXRoZXJuZXQgRHJpdmVyKipcblxuQWxyaWdodCwgYWZ0ZXIgY2FyZWZ1bGx5IHJldmlld2luZyB0aGUgY29kZSBhbmQgaXRzIGRlcGVuZGVuY2llcywgaXQncyBjbGVhcjogdGhpcyBzZWN0aW9uIG9mIHRoZSBgYWlyb2hhX2V0aC5jYCBkcml2ZXIgaXMgY29tcGxldGVseSB1bnJlYWNoYWJsZSBpbiBhIHN0YW5kYXJkIGZ1enppbmcgc2V0dXAuIEknbSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZz1mYWxzZWAgd2l0aG91dCBhIHNlY29uZCB0aG91Z2h0LlxuXG5UaGUgcHJvYmxlbSBsaWVzIHdpdGggdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIgaXRzZWxmLiBJdCdzIGEgcGxhdGZvcm0tc3BlY2lmaWMgZHJpdmVyLCBtZWFuaW5nIGl0J3MgdGllZCBkaXJlY3RseSB0byB0aGUgQWlyb2hhIFNvQ3MsIGFuZCBpdCB1c2VzIERldmljZSBUcmVlIGZvciBpdHMgaW5zdGFudGlhdGlvbi4gSSB1bmRlcnN0YW5kIHBsYXRmb3JtIGRyaXZlcnMsIEkgZ2V0IHRoZSBEZXZpY2UgVHJlZSBkZXBlbmRlbmN5LiBUaGUgcmVhbCBpc3N1ZSBpcyB0aGF0IHRoZXJlJ3Mgbm8gcmVhbGlzdGljIHNvZnR3YXJlIGVtdWxhdGlvbiBvZiB0aGlzIGhhcmR3YXJlIGF2YWlsYWJsZS4gTmVpdGhlciBHb29nbGUgQ29tcHV0ZSBFbmdpbmUgKEdDRSksIG5vciBRRU1VLCB0aGUgdXN1YWwgc3VzcGVjdHMgZm9yIGZ1enppbmcgZW52aXJvbm1lbnRzLCBjYW4gZWZmZWN0aXZlbHkgcmVwbGljYXRlIHRoZSBlbnZpcm9ubWVudCBuZWVkZWQgZm9yIHRoaXMgZHJpdmVyIHRvIGV4ZWN1dGUgaXRzIGNvZGUgcGF0aHMuIFNvLCBmdXp6aW5nIHRoaXMgY29kZSBpcyBhIHdhc3RlIG9mIHJlc291cmNlcy4gSXQncyBzaW1wbHkgbm90IGdvaW5nIHRvIGhhcHBlbiBpbiBhbnkgdHlwaWNhbCwgcHJhY3RpY2FsIGZ1enppbmcgc2NlbmFyaW8uIE5vIHBvaW50IGluIHdhc3RpbmcgdGltZSBvbiB0aGlzLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxNjI5MywiT3V0cHV0VG9rZW5zIjoxMjMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjBUMDg6Mzc6MjEuMjE3MDQxNzEzWiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjQwNDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIEFpcm9oYSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2Fpcm9oYS9haXJvaGFfZXRoLmMpLiBUaGlzIGlzIGEgaGFyZHdhcmUtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVyIGZvciBBaXJvaGEgU29DcyB0aGF0IHJlbGllcyBvbiBEZXZpY2UgVHJlZSAob2ZfZGV2aWNlX2lkKSBmb3IgaW5zdGFudGlhdGlvbi4gU2luY2UgdGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0b3IgZm9yIHRoaXMgaGFyZHdhcmUsIHRoZSBjb2RlIHBhdGhzIGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAobGlrZSBHQ0Ugb3IgUUVNVSkgdXNlZCBmb3IgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBBaXJvaGEgRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9haXJvaGEvYWlyb2hhX2V0aC5jKS4gVGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIHBsYXRmb3JtIGRyaXZlciBmb3IgQWlyb2hhIFNvQ3MgdGhhdCByZWxpZXMgb24gRGV2aWNlIFRyZWUgKG9mX2RldmljZV9pZCkgZm9yIGluc3RhbnRpYXRpb24uIFNpbmNlIHRoZXJlIGlzIG5vIHNvZnR3YXJlIGVtdWxhdG9yIGZvciB0aGlzIGhhcmR3YXJlLCB0aGUgY29kZSBwYXRocyBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUpIHVzZWQgZm9yIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowq7b8w[1] Phase: Running StartedAt: 2026-06-20 08:38:56 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowq7b8w[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-06-20 08:38:56 +0000 UTC FinishedAt: 2026-06-20 08:39:00 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}