Name: series-workflow5fndg Phase: Failed StartedAt: 2026-08-12 20:20:02 +0000 UTC FinishedAt: 2026-08-12 20:42:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5fndg[0] Phase: Succeeded StartedAt: 2026-08-12 20:20:02 +0000 UTC FinishedAt: 2026-08-12 20:42:02 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5fndg[0].run-triage Phase: Succeeded StartedAt: 2026-08-12 20:20:02 +0000 UTC FinishedAt: 2026-08-12 20:42:02 +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+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQxPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGlwdzIxMDAgYW5kIGlwdzIyMDAgZHJpdmVycywgd2hpY2ggYXJlIGZvciBwaHlzaWNhbCBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBtaW5pLVBDSSBjYXJkcy4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3Igb3RoZXIgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtZWFuaW5nIHRoZSBtb2RpZmllZCBwYWNrZXQgcHJvY2Vzc2luZyBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIG9yIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDE8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBmNzc1MmNkZTI2ODFlMGI2OTZlYzQwY2ZmNjkzZTA1ZDYwMmQ3ZjZiXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBBdWcgMTIgMjA6NDE6MzIgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuY1xuaW5kZXggMmI4YTIzODY1YmZiMi4uNDNiNGU0MzI5NTZiZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuY1xuQEAgLTI3MTIsNyAmIzQzOzI3MTIsOSBAQCBzdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxuIFx0XHRcdFx0YnJlYWs7XG4gXHRcdFx0fVxuICNlbmRpZlxuLVx0XHRcdGlmIChzdGF0cy5sZW4gXHUwMDNjIHNpemVvZihzdHJ1Y3QgbGliaXB3X2hkcl8zYWRkcikpXG4mIzQzO1x0XHRcdGlmIChzcS1cdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcdTAwM2NcbiYjNDM7XHRcdFx0XHQgICAgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSB8fFxuJiM0MztcdFx0XHQgICAgc3EtXHUwMDNlZHJ2W2ldLmZyYW1lX3NpemUgXHUwMDNlIElQV19SWF9OSUNfQlVGRkVSX0xFTkdUSClcbiBcdFx0XHRcdGJyZWFrO1xuIFx0XHRcdHN3aXRjaCAoV0xBTl9GQ19HRVRfVFlQRShsZTE2X3RvX2NwdSh1LVx1MDAzZXJ4X2RhdGEuaGVhZGVyLmZyYW1lX2N0bCkpKSB7XG4gXHRcdFx0Y2FzZSBJRUVFODAyMTFfRlRZUEVfTUdNVDpcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jXG5pbmRleCA0YmM5YmI0MDZlOGU4Li44MjQ5ZDQ5M2VlMjJmIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jXG5AQCAtODMyMiw2ICYjNDM7ODMyMiwxNSBAQCBzdGF0aWMgdm9pZCBpcHdfcngoc3RydWN0IGlwd19wcml2ICpwcml2KVxuIFx0XHRcdFx0XHRicmVhaztcbiBcdFx0XHRcdH1cbiBcbiYjNDM7XHRcdFx0XHRpZiAodW5saWtlbHkobGUxNl90b19jcHUocGt0LVx1MDAzZXUuZnJhbWUubGVuZ3RoKSBcdTAwM2VcbiYjNDM7XHRcdFx0XHRcdCAgICAgSVBXX1JYX0JVRl9TSVpFIC1cbiYjNDM7XHRcdFx0XHRcdCAgICAgSVBXX1JYX0ZSQU1FX1NJWkUpKSB7XG4mIzQzO1x0XHRcdFx0XHRJUFdfREVCVUdfRFJPUChcJiMzNDtSZWNlaXZlZCBvdmVyc2l6ZWQgcGFja2V0LiBEcm9wcGluZy5cXG5cJiMzNDspO1xuJiM0MztcdFx0XHRcdFx0cHJpdi1cdTAwM2VuZXRfZGV2LVx1MDAzZXN0YXRzLnJ4X2Vycm9ycyYjNDM7JiM0Mzs7XG4mIzQzO1x0XHRcdFx0XHRwcml2LVx1MDAzZXdzdGF0cy5kaXNjYXJkLm1pc2MmIzQzOyYjNDM7O1xuJiM0MztcdFx0XHRcdFx0YnJlYWs7XG4mIzQzO1x0XHRcdFx0fVxuJiM0MztcbiBcdFx0XHRcdHN3aXRjaCAoV0xBTl9GQ19HRVRfVFlQRVxuIFx0XHRcdFx0XHQobGUxNl90b19jcHUoaGVhZGVyLVx1MDAzZWZyYW1lX2N0bCkpKSB7XG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNcbmluZGV4IGM4ODQxZjliOWFkOTEuLjQyNDM0OWE2OTM1ZTQgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXG5AQCAtMTIwOSw2ICYjNDM7MTIwOSw5IEBAIHN0YXRpYyBpbnQgbGliaXB3X2hhbmRsZV9hc3NvY19yZXNwKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2FzXG4gXHRzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmsgPSBcdTAwMjZuZXR3b3JrX3Jlc3A7XG4gXHRzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gaWVlZS1cdTAwM2VkZXY7XG4gXG4mIzQzO1x0aWYgKHN0YXRzLVx1MDAzZWxlbiBcdTAwM2Mgc2l6ZW9mKCpmcmFtZSkpXG4mIzQzO1x0XHRyZXR1cm4gMTtcbiYjNDM7XG4gXHRuZXR3b3JrLVx1MDAzZWZsYWdzID0gMDtcbiBcdG5ldHdvcmstXHUwMDNlcW9zX2RhdGEuYWN0aXZlID0gMDtcbiBcdG5ldHdvcmstXHUwMDNlcW9zX2RhdGEuc3VwcG9ydGVkID0gMDtcbkBAIC0xNDIxLDYgJiM0MzsxNDI0LDkgQEAgc3RhdGljIHZvaWQgbGliaXB3X3Byb2Nlc3NfcHJvYmVfcmVzcG9uc2Uoc3RydWN0IGxpYmlwd19kZXZpY2VcbiAjZW5kaWZcbiBcdHVuc2lnbmVkIGxvbmcgZmxhZ3M7XG4gXG4mIzQzO1x0aWYgKHN0YXRzLVx1MDAzZWxlbiBcdTAwM2Mgc2l6ZW9mKCpiZWFjb24pKVxuJiM0MztcdFx0cmV0dXJuO1xuJiM0MztcbiBcdExJQklQV19ERUJVR19TQ0FOKFwmIzM0OyYjMzk7JSpwRSYjMzk7ICglcE0pOiAlYyVjJWMlYyAlYyVjJWMlYy0lYyVjJWMlYyAlYyVjJWMlY1xcblwmIzM0OyxcbiBcdFx0ICAgICBpbmZvX2VsZW1lbnQtXHUwMDNlbGVuLCBpbmZvX2VsZW1lbnQtXHUwMDNlZGF0YSxcbiBcdFx0ICAgICBiZWFjb24tXHUwMDNlaGVhZGVyLmFkZHIzLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQxPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgaXB3MjEwMCBhbmQgaXB3MjIwMCBkcml2ZXJzLCB3aGljaCBhcmUgZm9yIHBoeXNpY2FsIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIG1pbmktUENJIGNhcmRzLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBvdGhlciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1lYW5pbmcgdGhlIG1vZGlmaWVkIHBhY2tldCBwcm9jZXNzaW5nIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgb3IgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLAogIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwKICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKQogIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucwogICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgQWxzbyBjaGVjayAmIzM0O2RlcGVuZHMgb24mIzM0OyBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3MKICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzCiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGY3NzUyY2RlMjY4MWUwYjY5NmVjNDBjZmY2OTNlMDVkNjAyZDdmNmIKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIEF1ZyAxMiAyMDo0MTozMiAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMKaW5kZXggMmI4YTIzODY1YmZiMi4uNDNiNGU0MzI5NTZiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMKQEAgLTI3MTIsNyAmIzQzOzI3MTIsOSBAQCBzdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KQogCQkJCWJyZWFrOwogCQkJfQogI2VuZGlmCi0JCQlpZiAoc3RhdHMubGVuICZsdDsgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSkKJiM0MzsJCQlpZiAoc3EtJmd0O2RydltpXS5mcmFtZV9zaXplICZsdDsKJiM0MzsJCQkJICAgIHNpemVvZihzdHJ1Y3QgbGliaXB3X2hkcl8zYWRkcikgfHwKJiM0MzsJCQkgICAgc3EtJmd0O2RydltpXS5mcmFtZV9zaXplICZndDsgSVBXX1JYX05JQ19CVUZGRVJfTEVOR1RIKQogCQkJCWJyZWFrOwogCQkJc3dpdGNoIChXTEFOX0ZDX0dFVF9UWVBFKGxlMTZfdG9fY3B1KHUtJmd0O3J4X2RhdGEuaGVhZGVyLmZyYW1lX2N0bCkpKSB7CiAJCQljYXNlIElFRUU4MDIxMV9GVFlQRV9NR01UOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYwppbmRleCA0YmM5YmI0MDZlOGU4Li44MjQ5ZDQ5M2VlMjJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYwpAQCAtODMyMiw2ICYjNDM7ODMyMiwxNSBAQCBzdGF0aWMgdm9pZCBpcHdfcngoc3RydWN0IGlwd19wcml2ICpwcml2KQogCQkJCQlicmVhazsKIAkJCQl9CiAKJiM0MzsJCQkJaWYgKHVubGlrZWx5KGxlMTZfdG9fY3B1KHBrdC0mZ3Q7dS5mcmFtZS5sZW5ndGgpICZndDsKJiM0MzsJCQkJCSAgICAgSVBXX1JYX0JVRl9TSVpFIC0KJiM0MzsJCQkJCSAgICAgSVBXX1JYX0ZSQU1FX1NJWkUpKSB7CiYjNDM7CQkJCQlJUFdfREVCVUdfRFJPUCgmIzM0O1JlY2VpdmVkIG92ZXJzaXplZCBwYWNrZXQuIERyb3BwaW5nLlxuJiMzNDspOwomIzQzOwkJCQkJcHJpdi0mZ3Q7bmV0X2Rldi0mZ3Q7c3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOzsKJiM0MzsJCQkJCXByaXYtJmd0O3dzdGF0cy5kaXNjYXJkLm1pc2MmIzQzOyYjNDM7OwomIzQzOwkJCQkJYnJlYWs7CiYjNDM7CQkJCX0KJiM0MzsKIAkJCQlzd2l0Y2ggKFdMQU5fRkNfR0VUX1RZUEUKIAkJCQkJKGxlMTZfdG9fY3B1KGhlYWRlci0mZ3Q7ZnJhbWVfY3RsKSkpIHsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMKaW5kZXggYzg4NDFmOWI5YWQ5MS4uNDI0MzQ5YTY5MzVlNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jCkBAIC0xMjA5LDYgJiM0MzsxMjA5LDkgQEAgc3RhdGljIGludCBsaWJpcHdfaGFuZGxlX2Fzc29jX3Jlc3Aoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBsaWJpcHdfYXMKIAlzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmsgPSAmYW1wO25ldHdvcmtfcmVzcDsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gaWVlZS0mZ3Q7ZGV2OwogCiYjNDM7CWlmIChzdGF0cy0mZ3Q7bGVuICZsdDsgc2l6ZW9mKCpmcmFtZSkpCiYjNDM7CQlyZXR1cm4gMTsKJiM0MzsKIAluZXR3b3JrLSZndDtmbGFncyA9IDA7CiAJbmV0d29yay0mZ3Q7cW9zX2RhdGEuYWN0aXZlID0gMDsKIAluZXR3b3JrLSZndDtxb3NfZGF0YS5zdXBwb3J0ZWQgPSAwOwpAQCAtMTQyMSw2ICYjNDM7MTQyNCw5IEBAIHN0YXRpYyB2b2lkIGxpYmlwd19wcm9jZXNzX3Byb2JlX3Jlc3BvbnNlKHN0cnVjdCBsaWJpcHdfZGV2aWNlCiAjZW5kaWYKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiYjNDM7CWlmIChzdGF0cy0mZ3Q7bGVuICZsdDsgc2l6ZW9mKCpiZWFjb24pKQomIzQzOwkJcmV0dXJuOwomIzQzOwogCUxJQklQV19ERUJVR19TQ0FOKCYjMzQ7JiMzOTslKnBFJiMzOTsgKCVwTSk6ICVjJWMlYyVjICVjJWMlYyVjLSVjJWMlYyVjICVjJWMlYyVjXG4mIzM0OywKIAkJICAgICBpbmZvX2VsZW1lbnQtJmd0O2xlbiwgaW5mb19lbGVtZW50LSZndDtkYXRhLAogCQkgICAgIGJlYWNvbi0mZ3Q7aGVhZGVyLmFkZHIzLAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAyMDo0MTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyODY4CgkJCQkJCQlvdXRwdXQ6IDQxCgkJCQkJCQl0aG91Z2h0czogMzU3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgSVBXMjEwMC8yMjAwIFdpcmVsZXNzIERyaXZlciBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IGFkZHMgYm91bmRzIGNoZWNraW5nIHRvIGEgZmV3IGZ1bmN0aW9uczogYF9faXB3MjEwMF9yeF9wcm9jZXNzYCwgYGlwd19yeGAsIGBsaWJpcHdfaGFuZGxlX2Fzc29jX3Jlc3BgLCBhbmQgYGxpYmlwd19wcm9jZXNzX3Byb2JlX3Jlc3BvbnNlYC4gVGhlc2UgZnVuY3Rpb25zIGFyZSBhbGwgd2l0aGluIHRoZSBgaXB3MngwMGAgZGlyZWN0b3J5LCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBkcml2ZXJzLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsIGFyZSB3ZSBkZWFsaW5nIHdpdGggcGh5c2ljYWwgaGFyZHdhcmUgaGVyZT8gVGhlc2UgZHJpdmVycyBhcmUgZm9yIFBDSSBkZXZpY2VzLCBhbmQgdGhlIGNvZGUgc3VnZ2VzdHMgaXQmIzM5O3MgZm9yIHRoZSBjYXJkcyB0aGVtc2VsdmVzLCBtZWFuaW5nIHdlJiMzOTtyZSBub3QgZGVhbGluZyB3aXRoIGEgcHVyZWx5IHNvZnR3YXJlIG9yIGVtdWxhdGVkIGVudmlyb25tZW50LgoKVGhlIGJpZyBxdWVzdGlvbiBpcyB3aGV0aGVyIHdlIGNhbiByZWFsaXN0aWNhbGx5IGZ1enogdGhlc2UgZHJpdmVycy4gUENJIGRyaXZlcnMgZm9yIGFjdHVhbCBoYXJkd2FyZSwgZXNwZWNpYWxseSB0aG9zZSBub3QgZW11bGF0ZWQgaW4gUUVNVSBvciBzaW1pbGFyIGVudmlyb25tZW50cywgYXJlIHVzdWFsbHkgYSB0b3VnaCBudXQgdG8gY3JhY2sgZm9yIGZ1enppbmcuIFVubGVzcyB0aGVyZSYjMzk7cyBzb21lIHNvcnQgb2Ygc29mdHdhcmUgZW11bGF0aW9uIGxheWVyIGludm9sdmVkLgoKSG1tLCB3YWl0IGEgc2Vjb25kLiBJIHJlbWVtYmVyIGBtYWM4MDIxMV9od3NpbWAsIHRoYXQmIzM5O3MgZm9yIG1hYzgwMjExLiBCdXQgYGlwdzIxMDBgIGFuZCBgaXB3MjIwMGAgYXJlIGZ1bGwgTUFDIGRyaXZlcnMsIG9yIHBlcmhhcHMgc29mdCBNQUMgZHJpdmVycyBzaW5jZSB0aGV5IHVzZSBgbGliaXB3YC4gU28sIGlzIHRoZXJlIGFueSBlbXVsYXRpb24gZm9yIHRoZW0/IFByb2JhYmx5IG5vdCwgc2luY2UgdGhleSYjMzk7cmUgcGh5c2ljYWwgUENJIGRldmljZXMuIEkmIzM5O20gZ29pbmcgdG8gZG91YmxlLWNoZWNrIGBpcHcyMTAwLmNgIGFuZCBgaXB3MjIwMC5jYCB0byBiZSBjZXJ0YWluLiBHb3R0YSBiZSB0aG9yb3VnaC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAyMDo0MTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtwY2lfcmVnaXN0ZXJfZHJpdmVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NjUxNz1zdGF0aWMgaW50IF9faW5pdCBpcHcyMTAwX2luaXQodm9pZClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NTI1LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjUyNjpcdHJldCA9IHBjaV9yZWdpc3Rlcl9kcml2ZXIoXHUwMDI2aXB3MjEwMF9wY2lfZHJpdmVyKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY1MjctXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTExODg4PXN0YXRpYyBpbnQgX19pbml0IGlwd19pbml0KHZvaWQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTE4OTQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxMTg5NTpcdHJldCA9IHBjaV9yZWdpc3Rlcl9kcml2ZXIoXHUwMDI2aXB3X2RyaXZlcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMTg5Ni1cdGlmIChyZXQpIHtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAyMDo0MTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzOTQ1CgkJCQkJCQlvdXRwdXQ6IDI5CgkJCQkJCQl0aG91Z2h0czogMTg1CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgV29ydGhGdXp6aW5nIGZvciBUaGVzZSBEcml2ZXJzKioKCk9rYXksIHNvIHdlJiMzOTtyZSBsb29raW5nIGF0IFBDSSBkcml2ZXJzIGhlcmUuIFNwZWNpZmljYWxseSwgd2UmIzM5O3JlIHRhbGtpbmcgYWJvdXQgdGhvc2Ugb2xkIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIG1pbmktUENJIGNhcmRzLiBOb3csIHRoZSBrZXkgaXNzdWUgaXMgdGhhdCwgYXMgZmFyIGFzIEkgdW5kZXJzdGFuZCwgdGhlc2UgYXJlbiYjMzk7dCBlbXVsYXRlZCBhdCBhbGwgaW4gc3RhbmRhcmQgUUVNVS4gVGhpcyBpcyBhIHByb2JsZW0sIGJlY2F1c2UgaXQgbWVhbnMgdGhleSYjMzk7cmUgY29tcGxldGVseSBpbmFjY2Vzc2libGUgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gU28sIHN0cmFpZ2h0IG9mZiB0aGUgYmF0LCBteSBpbml0aWFsIGluc3RpbmN0IGlzIHRvIG1hcmsgdGhpcyBhcyBXb3J0aEZ1enppbmc9ZmFsc2UuIEkgbWVhbiwgaWYgd2UgY2FuJiMzOTt0IGV2ZW4gKnJlYWNoKiB0aGUgaGFyZHdhcmUsIHdoYXQmIzM5O3MgdGhlIHBvaW50PwoKQnV0IHdhaXQuIEJlZm9yZSBJIGRlZmluaXRpdmVseSBkaXNtaXNzIHRoaXMsIEkgbmVlZCB0byBjb25zaWRlciBpZiB0aGVyZSYjMzk7cyBhbnkgY29uY2VpdmFibGUgd2F5IHRvICppbmplY3QqIHBhY2tldHMgaW50byB0aGVzZSBkcml2ZXJzLCBldmVuIHdpdGhvdXQgdGhlIGhhcmR3YXJlIHByZXNlbnQuIFRoZSBjb2RlIG1vZGlmaWVzIGZ1bmN0aW9ucyBsaWtlIGBfX2lwdzIxMDBfcnhfcHJvY2Vzc2AsIGBpcHdfcnhgLCBgbGliaXB3X2hhbmRsZV9hc3NvY19yZXNwYCwgYW5kIGBsaWJpcHdfcHJvY2Vzc19wcm9iZV9yZXNwb25zZWAuIEZyb20gbXkgdW5kZXJzdGFuZGluZywgdGhlc2UgYXJlIGFsbCBpbnZvbHZlZCBpbiByZWNlaXZpbmcgcGFja2V0cyDigJMgcHJvY2Vzc2luZyBpbmNvbWluZyBkYXRhIGZyb20gdGhlIGhhcmR3YXJlLiBTaW5jZSB3ZSAqZG9uJiMzOTt0KiBoYXZlIHRoZSBoYXJkd2FyZSwgdGhlIGZsb3cgb2YgdGhlIGNvZGUgd29uJiMzOTt0IGV2ZW4gKnJlYWNoKiB0aGVzZSBwYXRjaGVkIGZ1bmN0aW9ucy4gVGhleSYjMzk7cmUgZGVhZCBjb2RlLCBpbiBlc3NlbmNlLCBpbiB0aGlzIHNjZW5hcmlvLgoKSSYjMzk7bSBnZXR0aW5nIGEgZmVlbGluZywgdGhvdWdoLCB0aGF0IEkgbWlnaHQgYmUgd3JvbmcuIExldCBtZSBqdXN0IHF1aWNrbHkgY29uZmlybSB0aGF0IGBsaWJpcHdgIGlzbiYjMzk7dCB1c2VkIGJ5IHNvbWV0aGluZyBlbHNlLCBhcyB0aGF0IG1heSBjaGFuZ2UgdGhlIGFzc2Vzc21lbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDE8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bGliaXB3JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiAzMjYzIGxpbmVzLlxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc9MTY0PWNvbmZpZyBMSUJJUFdfREVCVUdcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTY4LVx0ICBUaGlzIG9wdGlvbiB3aWxsIGVuYWJsZSBkZWJ1ZyB0cmFjaW5nIG91dHB1dCBmb3IgdGhlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTY5Olx0ICBsaWJpcHcgY29tcG9uZW50LlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTE3MC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTgzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjE4NDpcdCAgSWYgeW91IGFyZSBub3QgdHJ5aW5nIHRvIGRlYnVnIG9yIGRldmVsb3AgdGhlIGxpYmlwd1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTE4NS1cdCAgY29tcG9uZW50LCB5b3UgbW9zdCBsaWtlbHkgd2FudCB0byBzYXkgTiBoZXJlLlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU9Nz1vYmotJChDT05GSUdfSVBXMjIwMCkgJiM0Mzs9IGlwdzIyMDAub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS04LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZTo5Om9iai0kKENPTkZJR19MSUJJUFcpICYjNDM7PSBsaWJpcHcub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxMDpsaWJpcHctb2JqcyA6PSBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxMTpcdGxpYmlwd19tb2R1bGUubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxMjpcdGxpYmlwd190eC5vIFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjEzOlx0bGliaXB3X3J4Lm8gXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTQ6XHRsaWJpcHdfd3gubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxNTpcdGxpYmlwd19nZW8ubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxNjpcdGxpYmlwd19zcHkubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxNzpcdGxpYmlwd19jcnlwdG8ubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxODpcdGxpYmlwd19jcnlwdG9fY2NtcC5vIFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjE5Olx0bGliaXB3X2NyeXB0b190a2lwLm8gXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MjA6XHRsaWJpcHdfY3J5cHRvX3dlcC5vXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzI1PXN0YXRpYyBpbmxpbmUgdm9pZCByZWFkX3JlZ2lzdGVyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiByZWcsIHUzMiAqIHZhbClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMyNi17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzozMjc6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMyOC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zMzM9c3RhdGljIGlubGluZSB2b2lkIHdyaXRlX3JlZ2lzdGVyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiByZWcsIHUzMiB2YWwpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMzQte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzM1Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMzYtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzQxPXN0YXRpYyBpbmxpbmUgdm9pZCByZWFkX3JlZ2lzdGVyX3dvcmQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIHJlZyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNDMte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzQ0Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNDUtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzUwPXN0YXRpYyBpbmxpbmUgdm9pZCByZWFkX3JlZ2lzdGVyX2J5dGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIHJlZywgdTggKiB2YWwpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTEte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzUyOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTMtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzU4PXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9yZWdpc3Rlcl93b3JkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiByZWcsIHUxNiB2YWwpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTkte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzYwOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNjEtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzY2PXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9yZWdpc3Rlcl9ieXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiByZWcsIHU4IHZhbClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTM2Ny17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzozNjg6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTM2OS1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0xNjQwPXN0YXRpYyBpbnQgaXB3MjEwMF9zdGFydF9zY2FuKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTY4MC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE2ODE6c3RhdGljIGNvbnN0IHN0cnVjdCBsaWJpcHdfZ2VvIGlwd19nZW9zW10gPSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNjgyLVx0e1x0XHRcdC8qIFJlc3RyaWN0ZWQgKi9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0xNjkzPXN0YXRpYyBpbnQgaXB3MjEwMF91cChzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgZGVmZXJyZWQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTcwMS1cdGlmIChwcml2LVx1MDAzZXN1c3BlbmRfdGltZSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTcwMjpcdFx0bGliaXB3X25ldHdvcmtzX2FnZShwcml2LVx1MDAzZWllZWUsIHByaXYtXHUwMDNlc3VzcGVuZF90aW1lKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE3MDMtXHRcdHByaXYtXHUwMDNlc3VzcGVuZF90aW1lID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzU5LVx0LyogSW5pdGlhbGl6ZSB0aGUgZ2VvICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxNzYwOlx0bGliaXB3X3NldF9nZW8ocHJpdi1cdTAwM2VpZWVlLCBcdTAwMjZpcHdfZ2Vvc1swXSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzYxLVx0cHJpdi1cdTAwM2VpZWVlLVx1MDAzZWZyZXFfYmFuZCA9IExJQklQV18yNEdIWl9CQU5EO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTE4NzM9c3RhdGljIGludCBpcHcyMTAwX3dkZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTg3NC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxODc1Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxODc2Olx0Y29uc3Qgc3RydWN0IGxpYmlwd19nZW8gKmdlbyA9IGxpYmlwd19nZXRfZ2VvKHByaXYtXHUwMDNlaWVlZSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xODc3LVx0c3RydWN0IHdpcmVsZXNzX2RldiAqd2RldiA9IFx1MDAyNnByaXYtXHUwMDNlaWVlZS1cdTAwM2V3ZGV2O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTIzMzA9c3RhdGljIHUzMiBpcHcyMTAwX21hdGNoX2J1ZihzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCB1OCAqIGluX2J1Zixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yMzc3LSAqXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyMzc4OiAqIC4gIGxpYmlwd19oZHJcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjIzNzk6ICogLiAgbGliaXB3X3NuYXBfaGRyXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yMzgwLSAqXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjQzMz1zdGF0aWMgdm9pZCBpc3Jfcngoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiwgaW50IGksXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDM0Olx0XHRcdCAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDM1LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDcxLVx0LyogTWFrZSBhIGNvcHkgb2YgdGhlIGZyYW1lIHNvIHdlIGNhbiBkdW1wIGl0IHRvIHRoZSBsb2dzIGlmXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDcyOlx0ICogbGliaXB3X3J4IGZhaWxzICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDczLVx0c2tiX2NvcHlfZnJvbV9saW5lYXJfZGF0YShwYWNrZXQtXHUwMDNlc2tiLCBwYWNrZXRfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ3ODpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlaWVlZSwgcGFja2V0LVx1MDAzZXNrYiwgc3RhdHMpKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc5LSNpZmRlZiBJUFcyMTAwX1JYX0RFQlVHXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ4NS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0ODY6XHRcdC8qIGxpYmlwd19yeCBmYWlsZWQsIHNvIGl0IGRpZG4mIzM5O3QgZnJlZSB0aGUgU0tCICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDg3LVx0XHRkZXZfa2ZyZWVfc2tiX2FueShwYWNrZXQtXHUwMDNlc2tiKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNTA2PXN0YXRpYyB2b2lkIGlzcl9yeF9tb25pdG9yKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCBpLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjUwNzpcdFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTA4LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjU2NTpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlaWVlZSwgcGFja2V0LVx1MDAzZXNrYiwgc3RhdHMpKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY2LVx0XHRkZXYtXHUwMDNlc3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNTY4Olx0XHQvKiBsaWJpcHdfcnggZmFpbGVkLCBzbyBpdCBkaWRuJiMzOTt0IGZyZWUgdGhlIFNLQiAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2OS1cdFx0ZGV2X2tmcmVlX3NrYl9hbnkocGFja2V0LVx1MDAzZXNrYik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjY0ND1zdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2NTEtXHRzdHJ1Y3QgaXB3MjEwMF9yeCAqdTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI2NTI6XHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHN0YXRzID0ge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjY1My1cdFx0Lm1hY190aW1lID0gamlmZmllcyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzE1LVx0XHRcdGlmIChzcS1cdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcdTAwM2NcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI3MTY6XHRcdFx0XHQgICAgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSB8fFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjcxNy1cdFx0XHQgICAgc3EtXHUwMDNlZHJ2W2ldLmZyYW1lX3NpemUgXHUwMDNlIElQV19SWF9OSUNfQlVGRkVSX0xFTkdUSClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzIwLVx0XHRcdGNhc2UgSUVFRTgwMjExX0ZUWVBFX01HTVQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNzIxOlx0XHRcdFx0bGliaXB3X3J4X21ndChwcml2LVx1MDAzZWllZWUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzIyLVx0XHRcdFx0XHRcdCBcdTAwMjZ1LVx1MDAzZXJ4X2RhdGEuaGVhZGVyLCBcdTAwMjZzdGF0cyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Mjc5MT1zdGF0aWMgaW50IF9faXB3MjEwMF90eF9wcm9jZXNzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjkxMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI5MTQ6XHRcdGxpYmlwd190eGJfZnJlZShwYWNrZXQtXHUwMDNlaW5mby5kX3N0cnVjdC50eGIpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjkxNS1cdFx0cGFja2V0LVx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zMDQ5PXN0YXRpYyB2b2lkIGlwdzIxMDBfdHhfc2VuZF9kYXRhKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzA1Ny1cdHN0cnVjdCBpcHcyMTAwX2RhdGFfaGVhZGVyICppcHdfaGRyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzA1ODpcdHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyICpoZHI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMDU5LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMwOTEtXHRcdGlwd19oZHIgPSBwYWNrZXQtXHUwMDNlaW5mby5kX3N0cnVjdC5kYXRhO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzA5MjpcdFx0aGRyID0gKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyICopcGFja2V0LVx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiLVx1MDAzZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzA5My1cdFx0ICAgIGZyYWdtZW50c1swXS1cdTAwM2VkYXRhO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTMzMTM9c3RhdGljIGlycXJldHVybl90IGlwdzIxMDBfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzM2Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMzNjM6c3RhdGljIG5ldGRldl90eF90IGlwdzIxMDBfdHgoc3RydWN0IGxpYmlwd190eGIgKnR4YixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMzNjQtXHRcdFx0ICAgICAgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgaW50IHByaSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMzNjUte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzM2NjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzM2Ny1cdHN0cnVjdCBsaXN0X2hlYWQgKmVsZW1lbnQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NDQ1ND1zdGF0aWMgdm9pZCBpcHcyMTAwX3R4X2luaXRpYWxpemUoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy00NDc3LVx0XHRpZiAocHJpdi1cdTAwM2V0eF9idWZmZXJzW2ldLmluZm8uZF9zdHJ1Y3QudHhiKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo0NDc4Olx0XHRcdGxpYmlwd190eGJfZnJlZShwcml2LVx1MDAzZXR4X2J1ZmZlcnNbaV0uaW5mby5kX3N0cnVjdC5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTQ0NzktXHRcdFx0XHRcdCAgIHR4Yik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NDUwND1zdGF0aWMgdm9pZCBpcHcyMTAwX3R4X2ZyZWUoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy00NTE2LVx0XHRpZiAocHJpdi1cdTAwM2V0eF9idWZmZXJzW2ldLmluZm8uZF9zdHJ1Y3QudHhiKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo0NTE3Olx0XHRcdGxpYmlwd190eGJfZnJlZShwcml2LVx1MDAzZXR4X2J1ZmZlcnNbaV0uaW5mby5kX3N0cnVjdC5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTQ1MTgtXHRcdFx0XHRcdCAgIHR4Yik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTU0Mz1zdGF0aWMgdm9pZCBzaGltX19zZXRfc2VjdXJpdHkoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU1NDQ6XHRcdFx0ICAgICAgIHN0cnVjdCBsaWJpcHdfc2VjdXJpdHkgKnNlYylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU1NDUte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTU0NjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTU0Ny1cdGludCBpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTU3MzI9c3RhdGljIGludCBpcHcyMTAwX3NldF9hZGRyZXNzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHZvaWQgKnApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01NzMzLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU3MzQ6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3MzUtXHRzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIgPSBwO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTU3NjA9c3RhdGljIGludCBpcHcyMTAwX29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3NjEte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTc2MjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTc2My1cdHVuc2lnbmVkIGxvbmcgZmxhZ3M7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTc3Nj1zdGF0aWMgaW50IGlwdzIxMDBfY2xvc2Uoc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3Nzcte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTc3ODpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTc3OS1cdHVuc2lnbmVkIGxvbmcgZmxhZ3M7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTc5OC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU3OTk6XHRcdGxpYmlwd190eGJfZnJlZShwYWNrZXQtXHUwMDNlaW5mby5kX3N0cnVjdC50eGIpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTgwMC1cdFx0cGFja2V0LVx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01ODE1PXN0YXRpYyB2b2lkIGlwdzIxMDBfdHhfdGltZW91dChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgdHhxdWV1ZSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4MTYte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTgxNzpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTgxOC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01ODM5PXN0YXRpYyBpbnQgaXB3MjEwMF93cGFfc2V0X2F1dGhfYWxncyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgdmFsdWUpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTg0MS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU4NDI6XHRzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSA9IHByaXYtXHUwMDNlaWVlZTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU4NDM6XHRzdHJ1Y3QgbGliaXB3X3NlY3VyaXR5IHNlYyA9IHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4NDQtXHRcdC5mbGFncyA9IFNFQ19BVVRIX01PREUsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTg4NT1zdGF0aWMgdm9pZCBpcHdfZXRodG9vbF9nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4ODcte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTg4ODpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTg4OS1cdGNoYXIgZndfdmVyWzY0XTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01OTAxPXN0YXRpYyB1MzIgaXB3MjEwMF9ldGh0b29sX2dldF9saW5rKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01OTAyLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU5MDM6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU5MDQtXHRyZXR1cm4gKHByaXYtXHUwMDNlc3RhdHVzIFx1MDAyNiBTVEFUVVNfQVNTT0NJQVRFRCkgPyAxIDogMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01OTg3PXN0YXRpYyBjb25zdCBzdHJ1Y3QgbmV0X2RldmljZV9vcHMgaXB3MjEwMF9uZXRkZXZfb3BzID0ge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU5ODktXHQubmRvX3N0b3BcdFx0PSBpcHcyMTAwX2Nsb3NlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTk5MDpcdC5uZG9fc3RhcnRfeG1pdFx0XHQ9IGxpYmlwd194bWl0LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTk5MS1cdC5uZG9fdHhfdGltZW91dFx0XHQ9IGlwdzIxMDBfdHhfdGltZW91dCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01OTk1LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTk5NjovKiBMb29rIGludG8gdXNpbmcgbmV0ZGV2IGRlc3RydWN0b3IgdG8gc2h1dGRvd24gbGliaXB3PyAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTk5Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTU5OTg9c3RhdGljIHN0cnVjdCBuZXRfZGV2aWNlICppcHcyMTAwX2FsbG9jX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGNpX2Rldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDAzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjAwNDpcdGRldiA9IGFsbG9jX2xpYmlwdyhzaXplb2Yoc3RydWN0IGlwdzIxMDBfcHJpdiksIDApO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAwNS1cdGlmICghZGV2KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAwNi1cdFx0cmV0dXJuIE5VTEw7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MDA3Olx0cHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDA4LVx0cHJpdi1cdTAwM2VpZWVlID0gbmV0ZGV2X3ByaXYoZGV2KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02MTIyPXN0YXRpYyBpbnQgaXB3MjEwMF9wY2lfaW5pdF9vbmUoc3RydWN0IHBjaV9kZXYgKnBjaV9kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjE2MS1cdFx0ICAgICAgIFwmIzM0O0Vycm9yIGNhbGxpbmcgcGNpX2VuYWJsZV9kZXZpY2UuXFxuXCYjMzQ7KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYxNjI6XHRcdGZyZWVfbGliaXB3KGRldiwgMCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MTYzLVx0XHRwY2lfaW91bm1hcChwY2lfZGV2LCBpb2FkZHIpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTYxNjYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MTY3Olx0cHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MTY4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTYzMTAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MzExOlx0XHRmcmVlX2xpYmlwdyhkZXYsIDApO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjMxMi1cdH1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02MzIxPXN0YXRpYyB2b2lkIGlwdzIxMDBfcGNpX3JlbW92ZV9vbmUoc3RydWN0IHBjaV9kZXYgKnBjaV9kZXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM1OS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYzNjA6XHQvKiB3aXBoeV91bnJlZ2lzdGVyIG5lZWRzIHRvIGJlIGhlcmUsIGJlZm9yZSBmcmVlX2xpYmlwdyAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM2MS1cdHdpcGh5X3VucmVnaXN0ZXIocHJpdi1cdTAwM2VpZWVlLVx1MDAzZXdkZXYud2lwaHkpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM2Mi1cdGtmcmVlKHByaXYtXHUwMDNlaWVlZS1cdTAwM2ViZ19iYW5kLmNoYW5uZWxzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYzNjM6XHRmcmVlX2xpYmlwdyhkZXYsIDApO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM2NC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NTU3PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfbmFtZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY1NjQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2NTY1Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NTY2LVx0aWYgKCEocHJpdi1cdTAwM2VzdGF0dXMgXHUwMDI2IFNUQVRVU19BU1NPQ0lBVEVEKSlcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NTc1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZnJlcShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY1Nzgte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjU3OTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjU4MC1cdHN0cnVjdCBpd19mcmVxICpmd3JxID0gXHUwMDI2d3JxdS1cdTAwM2VmcmVxO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTY2MjE9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9mcmVxKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjYyOC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY2Mjk6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY2MzAtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NjY0Nj1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X21vZGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NjQ5LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY2NTA6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY2NTEtXHRpbnQgZXJyID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02Njg1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY2OTItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2NjkzOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02Njk0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTY3MjA9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9yYW5nZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY3MjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2NzI4Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NzI5LVx0c3RydWN0IGl3X3JhbmdlICpyYW5nZSA9IChzdHJ1Y3QgaXdfcmFuZ2UgKilleHRyYTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02ODQ1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfd2FwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjg0OC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2ODQ5Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02ODUwLVx0aW50IGVyciA9IDA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njg4Mz1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3dhcChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY4OTAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2ODkxOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02ODkyLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTY5MDU9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9lc3NpZChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY5MDgte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjkwOTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjkxMC1cdGNoYXIgKmVzc2lkID0gXCYjMzQ7XCYjMzQ7O1x0LyogQU5ZICovXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njk1ND1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2Vzc2lkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjk2MS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY5NjI6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY5NjMtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njk4MT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X25pY2soc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02OTg4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6Njk4OTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjk5MC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MDAzPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfbmljayhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcwMTAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MDExOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDEyLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcwMjI9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9yYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzAyNS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MDI2Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDI3LVx0dTMyIHRhcmdldF9yYXRlID0gd3JxdS1cdTAwM2ViaXRyYXRlLnZhbHVlO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcwNjI9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9yYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzA2NS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MDY2Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDY3LVx0aW50IHZhbDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MTE0PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcnRzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzExNy17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MTE4Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MTE5LVx0aW50IHZhbHVlLCBlcnI7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzE0OT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3J0cyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcxNTYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MTU3Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MTU4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcxNzA9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF90eHBvdyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcxNzMte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzE3NDpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzE3NS1cdGludCBlcnIgPSAwLCB2YWx1ZTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MjExPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfdHhwb3coc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MjE4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzIxOTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzIyMC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MjM4PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZnJhZyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcyNDUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MjQ2Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MjQ3LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcyNjg9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9mcmFnKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzI3NS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcyNzY6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcyNzctXHR3cnF1LVx1MDAzZWZyYWcudmFsdWUgPSBwcml2LVx1MDAzZWZyYWdfdGhyZXNob2xkIFx1MDAyNiB+RlJBR19ESVNBQkxFRDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03Mjg2PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcmV0cnkoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03Mjg5LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcyOTA6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcyOTEtXHRpbnQgZXJyID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MzMwPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfcmV0cnkoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MzM3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzMzODpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzMzOS1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MzYyPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfc2NhbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTczNjUte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzM2NjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzM2Ny1cdGludCBlcnIgPSAwO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTczOTA9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9zY2FuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzM5Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjczOTg6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjczOTk6XHRyZXR1cm4gbGliaXB3X3d4X2dldF9zY2FuKHByaXYtXHUwMDNlaWVlZSwgaW5mbywgd3JxdSwgZXh0cmEpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzQwMC19XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzQwNT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X2VuY29kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MTItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NDEzOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NDE0Olx0cmV0dXJuIGxpYmlwd193eF9zZXRfZW5jb2RlKHByaXYtXHUwMDNlaWVlZSwgaW5mbywgd3JxdSwga2V5KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MTUtfVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc0MTc9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9lbmNvZGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDI0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQyNTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQyNjpcdHJldHVybiBsaWJpcHdfd3hfZ2V0X2VuY29kZShwcml2LVx1MDAzZWllZWUsIGluZm8sIHdycXUsIGtleSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDI3LX1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NDI5PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcG93ZXIoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDMyLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc0MzM6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MzQtXHRpbnQgZXJyID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NDc0PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfcG93ZXIoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDgxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQ4MjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzQ4My1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NTAxPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZ2VuaWUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTA1LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzUwNjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzUwNzpcdHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlID0gcHJpdi1cdTAwM2VpZWVlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzUwOC1cdHU4ICpidWY7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzUzNz1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2dlbmllKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzU0MC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTQxOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTQyOlx0c3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUgPSBwcml2LVx1MDAzZWllZWU7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTQzLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc1NTk9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9hdXRoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzU2Mi17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTYzOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTY0Olx0c3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUgPSBwcml2LVx1MDAzZWllZWU7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTY1LVx0c3RydWN0IGl3X3BhcmFtICpwYXJhbSA9IFx1MDAyNndycXUtXHUwMDNlcGFyYW07XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTY2Olx0c3RydWN0IGxpYmlwd19jcnlwdF9kYXRhICpjcnlwdDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc1NjctXHR1bnNpZ25lZCBsb25nIGZsYWdzO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc2MDctXHRcdFx0ICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NjA4Olx0XHRcdHN0cnVjdCBsaWJpcHdfc2VjdXJpdHkgc2VjID0ge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzYwOS1cdFx0XHRcdC5mbGFncyA9IFNFQ19FTkFCTEVELFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc2NTI9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9hdXRoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzY1NS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NjU2Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NjU3Olx0c3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUgPSBwcml2LVx1MDAzZWllZWU7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NjU4Olx0c3RydWN0IGxpYmlwd19jcnlwdF9kYXRhICpjcnlwdDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc2NTktXHRzdHJ1Y3QgaXdfcGFyYW0gKnBhcmFtID0gXHUwMDI2d3JxdS1cdTAwM2VwYXJhbTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NzEyPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZW5jb2RlZXh0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzcxNS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NzE2Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NzE3Olx0cmV0dXJuIGxpYmlwd193eF9zZXRfZW5jb2RlZXh0KHByaXYtXHUwMDNlaWVlZSwgaW5mbywgd3JxdSwgZXh0cmEpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzcxOC19XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzcyMT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2VuY29kZWV4dChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3MjQte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzcyNTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzcyNjpcdHJldHVybiBsaWJpcHdfd3hfZ2V0X2VuY29kZWV4dChwcml2LVx1MDAzZWllZWUsIGluZm8sIHdycXUsIGV4dHJhKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3MjctfVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc3MzA9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9tbG1lKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzczMy17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NzM0Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NzM1LVx0c3RydWN0IGl3X21sbWUgKm1sbWUgPSAoc3RydWN0IGl3X21sbWUgKilleHRyYTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NzU4PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcHJvbWlzYyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3NjEte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6Nzc2MjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzc2My1cdGludCAqcGFybXMgPSAoaW50ICopZXh0cmE7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Nzc4OT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfcmVzZXQoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NzkyLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc3OTM6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3OTQtXHRpZiAocHJpdi1cdTAwM2VzdGF0dXMgXHUwMDI2IFNUQVRVU19JTklUSUFMSVpFRClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03ODAxPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcG93ZXJtb2RlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzgwNC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3ODA1Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03ODA2LVx0aW50IGVyciA9IDAsIG1vZGUgPSAqKGludCAqKWV4dHJhO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc4MjU9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9wb3dlcm1vZGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03ODMyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzgzMzpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDE8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTk5OTcKCQkJCQkJCW91dHB1dDogMTA2CgkJCQkJCQl0aG91Z2h0czogMTg2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgbGliaXB3JiMzOTtzIEZ1enppbmcgUG90ZW50aWFsKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBgbGliaXB3YCBhbmQgaXRzIHJlbGF0aW9uc2hpcCB0byB0aGUgYGlwdzIxMDBgIGFuZCBgaXB3MjIwMGAgZHJpdmVycy4gSSBpbW1lZGlhdGVseSByZWNvZ25pemUgdGhvc2UgYXMgb2xkZXIgSW50ZWwgd2lyZWxlc3MgZHJpdmVycy4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCAmIzM0O0FyZSB0aGVyZSBhbnkgb3RoZXIgZHJpdmVycyBsZXZlcmFnaW5nIGBsaWJpcHdgIHRoYXQgbWlnaHQgYmUgcmVsZXZhbnQ/JiMzNDsgSSBuZWVkIHRvIGNvbmZpcm0gdGhlIHNjb3BlIG9mIGl0cyB1c2UuCgpMZXQmIzM5O3MgcXVpY2tseSBjaGVjayB0aGUgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGVgIHRvIHZlcmlmeS4gQWhhLCB0aGUgbWFrZWZpbGUgY2xlYXJseSBzaG93czoKCiogICBgb2JqLSQoQ09ORklHX0lQVzIxMDApICYjNDM7PSBpcHcyMTAwLm9gCiogICBgb2JqLSQoQ09ORklHX0lQVzIyMDApICYjNDM7PSBpcHcyMjAwLm9gCiogICBgb2JqLSQoQ09ORklHX0xJQklQVykgJiM0Mzs9IGxpYmlwdy5vYAoKUGVyZmVjdCwgc28gYGxpYmlwd2AgaXMgaW5kZWVkICpvbmx5KiB1c2VkIGJ5IGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgLiBTaW5jZSB0aG9zZSBhcmUgYm90aCBwaHlzaWNhbCBoYXJkd2FyZSBkcml2ZXJzIGFuZCBub3QgdmlydHVhbGl6ZWQsIHRoZWlyIGNvZGUgaXMgZXNzZW50aWFsbHkgdW5yZWFjaGFibGUgd2l0aGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuIENvbnNlcXVlbnRseSwgZnV6emluZyB0aGVzZSBkcml2ZXJzLCBhbmQgYnkgZXh0ZW5zaW9uIGBsaWJpcHdgLCBpbiBhIHZpcnR1YWxpemVkIGNvbnRleHQgaXMgbm90IGEgcHJvZHVjdGl2ZSBwYXRoIGZvciBtZSB0byBwdXJzdWUuIFRpbWUgdG8gbW92ZSBvbi4gSSB3aWxsIHJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDE8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgaXB3MjEwMCBhbmQgaXB3MjIwMCBkcml2ZXJzLCB3aGljaCBhcmUgZm9yIHBoeXNpY2FsIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIG1pbmktUENJIGNhcmRzLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBvdGhlciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1lYW5pbmcgdGhlIG1vZGlmaWVkIHBhY2tldCBwcm9jZXNzaW5nIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgb3IgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGlwdzIxMDAgYW5kIGlwdzIyMDAgZHJpdmVycywgd2hpY2ggYXJlIGZvciBwaHlzaWNhbCBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBtaW5pLVBDSSBjYXJkcy4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3Igb3RoZXIgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtZWFuaW5nIHRoZSBtb2RpZmllZCBwYWNrZXQgcHJvY2Vzc2luZyBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIG9yIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDE8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPklmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQxOjMzLjg4NTc1NjIwNloiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE3Njg2NzgwODY1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGlwdzIxMDAgYW5kIGlwdzIyMDAgZHJpdmVycywgd2hpY2ggYXJlIGZvciBwaHlzaWNhbCBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBtaW5pLVBDSSBjYXJkcy4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3Igb3RoZXIgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtZWFuaW5nIHRoZSBtb2RpZmllZCBwYWNrZXQgcHJvY2Vzc2luZyBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIG9yIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQxOjMzLjg4NTc2Mjg3NVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDAyODQzOTc4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZjc3NTJjZGUyNjgxZTBiNjk2ZWM0MGNmZjY5M2UwNWQ2MDJkN2Y2YlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEF1ZyAxMiAyMDo0MTozMiAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jXFxuaW5kZXggMmI4YTIzODY1YmZiMi4uNDNiNGU0MzI5NTZiZSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuY1xcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jXFxuQEAgLTI3MTIsNyArMjcxMiw5IEBAIHN0YXRpYyB2b2lkIF9faXB3MjEwMF9yeF9wcm9jZXNzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXFxuIFxcdFxcdFxcdFxcdGJyZWFrO1xcbiBcXHRcXHRcXHR9XFxuICNlbmRpZlxcbi1cXHRcXHRcXHRpZiAoc3RhdHMubGVuIFxcdTAwM2Mgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSlcXG4rXFx0XFx0XFx0aWYgKHNxLVxcdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcXHUwMDNjXFxuK1xcdFxcdFxcdFxcdCAgICBzaXplb2Yoc3RydWN0IGxpYmlwd19oZHJfM2FkZHIpIHx8XFxuK1xcdFxcdFxcdCAgICBzcS1cXHUwMDNlZHJ2W2ldLmZyYW1lX3NpemUgXFx1MDAzZSBJUFdfUlhfTklDX0JVRkZFUl9MRU5HVEgpXFxuIFxcdFxcdFxcdFxcdGJyZWFrO1xcbiBcXHRcXHRcXHRzd2l0Y2ggKFdMQU5fRkNfR0VUX1RZUEUobGUxNl90b19jcHUodS1cXHUwMDNlcnhfZGF0YS5oZWFkZXIuZnJhbWVfY3RsKSkpIHtcXG4gXFx0XFx0XFx0Y2FzZSBJRUVFODAyMTFfRlRZUEVfTUdNVDpcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuY1xcbmluZGV4IDRiYzliYjQwNmU4ZTguLjgyNDlkNDkzZWUyMmYgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuY1xcbkBAIC04MzIyLDYgKzgzMjIsMTUgQEAgc3RhdGljIHZvaWQgaXB3X3J4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdilcXG4gXFx0XFx0XFx0XFx0XFx0YnJlYWs7XFxuIFxcdFxcdFxcdFxcdH1cXG4gXFxuK1xcdFxcdFxcdFxcdGlmICh1bmxpa2VseShsZTE2X3RvX2NwdShwa3QtXFx1MDAzZXUuZnJhbWUubGVuZ3RoKSBcXHUwMDNlXFxuK1xcdFxcdFxcdFxcdFxcdCAgICAgSVBXX1JYX0JVRl9TSVpFIC1cXG4rXFx0XFx0XFx0XFx0XFx0ICAgICBJUFdfUlhfRlJBTUVfU0laRSkpIHtcXG4rXFx0XFx0XFx0XFx0XFx0SVBXX0RFQlVHX0RST1AoXFxcIlJlY2VpdmVkIG92ZXJzaXplZCBwYWNrZXQuIERyb3BwaW5nLlxcXFxuXFxcIik7XFxuK1xcdFxcdFxcdFxcdFxcdHByaXYtXFx1MDAzZW5ldF9kZXYtXFx1MDAzZXN0YXRzLnJ4X2Vycm9ycysrO1xcbitcXHRcXHRcXHRcXHRcXHRwcml2LVxcdTAwM2V3c3RhdHMuZGlzY2FyZC5taXNjKys7XFxuK1xcdFxcdFxcdFxcdFxcdGJyZWFrO1xcbitcXHRcXHRcXHRcXHR9XFxuK1xcbiBcXHRcXHRcXHRcXHRzd2l0Y2ggKFdMQU5fRkNfR0VUX1RZUEVcXG4gXFx0XFx0XFx0XFx0XFx0KGxlMTZfdG9fY3B1KGhlYWRlci1cXHUwMDNlZnJhbWVfY3RsKSkpIHtcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXFxuaW5kZXggYzg4NDFmOWI5YWQ5MS4uNDI0MzQ5YTY5MzVlNCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xcbkBAIC0xMjA5LDYgKzEyMDksOSBAQCBzdGF0aWMgaW50IGxpYmlwd19oYW5kbGVfYXNzb2NfcmVzcChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IGxpYmlwd19hc1xcbiBcXHRzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmsgPSBcXHUwMDI2bmV0d29ya19yZXNwO1xcbiBcXHRzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gaWVlZS1cXHUwMDNlZGV2O1xcbiBcXG4rXFx0aWYgKHN0YXRzLVxcdTAwM2VsZW4gXFx1MDAzYyBzaXplb2YoKmZyYW1lKSlcXG4rXFx0XFx0cmV0dXJuIDE7XFxuK1xcbiBcXHRuZXR3b3JrLVxcdTAwM2VmbGFncyA9IDA7XFxuIFxcdG5ldHdvcmstXFx1MDAzZXFvc19kYXRhLmFjdGl2ZSA9IDA7XFxuIFxcdG5ldHdvcmstXFx1MDAzZXFvc19kYXRhLnN1cHBvcnRlZCA9IDA7XFxuQEAgLTE0MjEsNiArMTQyNCw5IEBAIHN0YXRpYyB2b2lkIGxpYmlwd19wcm9jZXNzX3Byb2JlX3Jlc3BvbnNlKHN0cnVjdCBsaWJpcHdfZGV2aWNlXFxuICNlbmRpZlxcbiBcXHR1bnNpZ25lZCBsb25nIGZsYWdzO1xcbiBcXG4rXFx0aWYgKHN0YXRzLVxcdTAwM2VsZW4gXFx1MDAzYyBzaXplb2YoKmJlYWNvbikpXFxuK1xcdFxcdHJldHVybjtcXG4rXFxuIFxcdExJQklQV19ERUJVR19TQ0FOKFxcXCInJSpwRScgKCVwTSk6ICVjJWMlYyVjICVjJWMlYyVjLSVjJWMlYyVjICVjJWMlYyVjXFxcXG5cXFwiLFxcbiBcXHRcXHQgICAgIGluZm9fZWxlbWVudC1cXHUwMDNlbGVuLCBpbmZvX2VsZW1lbnQtXFx1MDAzZWRhdGEsXFxuIFxcdFxcdCAgICAgYmVhY29uLVxcdTAwM2VoZWFkZXIuYWRkcjMsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQxOjM0LjI4OTI5MDMzNFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjE3MjgzMjMyNDI2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgaXB3MjEwMCBhbmQgaXB3MjIwMCBkcml2ZXJzLCB3aGljaCBhcmUgZm9yIHBoeXNpY2FsIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIG1pbmktUENJIGNhcmRzLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBvdGhlciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1lYW5pbmcgdGhlIG1vZGlmaWVkIHBhY2tldCBwcm9jZXNzaW5nIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgb3IgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZjc3NTJjZGUyNjgxZTBiNjk2ZWM0MGNmZjY5M2UwNWQ2MDJkN2Y2YlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDEyIDIwOjQxOjMyIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuY1xuaW5kZXggMmI4YTIzODY1YmZiMi4uNDNiNGU0MzI5NTZiZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuY1xuQEAgLTI3MTIsNyArMjcxMiw5IEBAIHN0YXRpYyB2b2lkIF9faXB3MjEwMF9yeF9wcm9jZXNzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXG4gXHRcdFx0XHRicmVhaztcbiBcdFx0XHR9XG4gI2VuZGlmXG4tXHRcdFx0aWYgKHN0YXRzLmxlbiBcdTAwM2Mgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSlcbitcdFx0XHRpZiAoc3EtXHUwMDNlZHJ2W2ldLmZyYW1lX3NpemUgXHUwMDNjXG4rXHRcdFx0XHQgICAgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSB8fFxuK1x0XHRcdCAgICBzcS1cdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcdTAwM2UgSVBXX1JYX05JQ19CVUZGRVJfTEVOR1RIKVxuIFx0XHRcdFx0YnJlYWs7XG4gXHRcdFx0c3dpdGNoIChXTEFOX0ZDX0dFVF9UWVBFKGxlMTZfdG9fY3B1KHUtXHUwMDNlcnhfZGF0YS5oZWFkZXIuZnJhbWVfY3RsKSkpIHtcbiBcdFx0XHRjYXNlIElFRUU4MDIxMV9GVFlQRV9NR01UOlxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmNcbmluZGV4IDRiYzliYjQwNmU4ZTguLjgyNDlkNDkzZWUyMmYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmNcbkBAIC04MzIyLDYgKzgzMjIsMTUgQEAgc3RhdGljIHZvaWQgaXB3X3J4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdilcbiBcdFx0XHRcdFx0YnJlYWs7XG4gXHRcdFx0XHR9XG4gXG4rXHRcdFx0XHRpZiAodW5saWtlbHkobGUxNl90b19jcHUocGt0LVx1MDAzZXUuZnJhbWUubGVuZ3RoKSBcdTAwM2VcbitcdFx0XHRcdFx0ICAgICBJUFdfUlhfQlVGX1NJWkUgLVxuK1x0XHRcdFx0XHQgICAgIElQV19SWF9GUkFNRV9TSVpFKSkge1xuK1x0XHRcdFx0XHRJUFdfREVCVUdfRFJPUChcIlJlY2VpdmVkIG92ZXJzaXplZCBwYWNrZXQuIERyb3BwaW5nLlxcblwiKTtcbitcdFx0XHRcdFx0cHJpdi1cdTAwM2VuZXRfZGV2LVx1MDAzZXN0YXRzLnJ4X2Vycm9ycysrO1xuK1x0XHRcdFx0XHRwcml2LVx1MDAzZXdzdGF0cy5kaXNjYXJkLm1pc2MrKztcbitcdFx0XHRcdFx0YnJlYWs7XG4rXHRcdFx0XHR9XG4rXG4gXHRcdFx0XHRzd2l0Y2ggKFdMQU5fRkNfR0VUX1RZUEVcbiBcdFx0XHRcdFx0KGxlMTZfdG9fY3B1KGhlYWRlci1cdTAwM2VmcmFtZV9jdGwpKSkge1xuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXG5pbmRleCBjODg0MWY5YjlhZDkxLi40MjQzNDlhNjkzNWU0IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xuQEAgLTEyMDksNiArMTIwOSw5IEBAIHN0YXRpYyBpbnQgbGliaXB3X2hhbmRsZV9hc3NvY19yZXNwKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2FzXG4gXHRzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmsgPSBcdTAwMjZuZXR3b3JrX3Jlc3A7XG4gXHRzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gaWVlZS1cdTAwM2VkZXY7XG4gXG4rXHRpZiAoc3RhdHMtXHUwMDNlbGVuIFx1MDAzYyBzaXplb2YoKmZyYW1lKSlcbitcdFx0cmV0dXJuIDE7XG4rXG4gXHRuZXR3b3JrLVx1MDAzZWZsYWdzID0gMDtcbiBcdG5ldHdvcmstXHUwMDNlcW9zX2RhdGEuYWN0aXZlID0gMDtcbiBcdG5ldHdvcmstXHUwMDNlcW9zX2RhdGEuc3VwcG9ydGVkID0gMDtcbkBAIC0xNDIxLDYgKzE0MjQsOSBAQCBzdGF0aWMgdm9pZCBsaWJpcHdfcHJvY2Vzc19wcm9iZV9yZXNwb25zZShzdHJ1Y3QgbGliaXB3X2RldmljZVxuICNlbmRpZlxuIFx0dW5zaWduZWQgbG9uZyBmbGFncztcbiBcbitcdGlmIChzdGF0cy1cdTAwM2VsZW4gXHUwMDNjIHNpemVvZigqYmVhY29uKSlcbitcdFx0cmV0dXJuO1xuK1xuIFx0TElCSVBXX0RFQlVHX1NDQU4oXCInJSpwRScgKCVwTSk6ICVjJWMlYyVjICVjJWMlYyVjLSVjJWMlYyVjICVjJWMlYyVjXFxuXCIsXG4gXHRcdCAgICAgaW5mb19lbGVtZW50LVx1MDAzZWxlbiwgaW5mb19lbGVtZW50LVx1MDAzZWRhdGEsXG4gXHRcdCAgICAgYmVhY29uLVx1MDAzZWhlYWRlci5hZGRyMyxcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQxOjM0LjI4OTI5OTc5NFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY1OTgxNTI2NzEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBJUFcyMTAwLzIyMDAgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IGFkZHMgYm91bmRzIGNoZWNraW5nIHRvIGEgZmV3IGZ1bmN0aW9uczogYF9faXB3MjEwMF9yeF9wcm9jZXNzYCwgYGlwd19yeGAsIGBsaWJpcHdfaGFuZGxlX2Fzc29jX3Jlc3BgLCBhbmQgYGxpYmlwd19wcm9jZXNzX3Byb2JlX3Jlc3BvbnNlYC4gVGhlc2UgZnVuY3Rpb25zIGFyZSBhbGwgd2l0aGluIHRoZSBgaXB3MngwMGAgZGlyZWN0b3J5LCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBkcml2ZXJzLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsIGFyZSB3ZSBkZWFsaW5nIHdpdGggcGh5c2ljYWwgaGFyZHdhcmUgaGVyZT8gVGhlc2UgZHJpdmVycyBhcmUgZm9yIFBDSSBkZXZpY2VzLCBhbmQgdGhlIGNvZGUgc3VnZ2VzdHMgaXQncyBmb3IgdGhlIGNhcmRzIHRoZW1zZWx2ZXMsIG1lYW5pbmcgd2UncmUgbm90IGRlYWxpbmcgd2l0aCBhIHB1cmVseSBzb2Z0d2FyZSBvciBlbXVsYXRlZCBlbnZpcm9ubWVudC5cblxuVGhlIGJpZyBxdWVzdGlvbiBpcyB3aGV0aGVyIHdlIGNhbiByZWFsaXN0aWNhbGx5IGZ1enogdGhlc2UgZHJpdmVycy4gUENJIGRyaXZlcnMgZm9yIGFjdHVhbCBoYXJkd2FyZSwgZXNwZWNpYWxseSB0aG9zZSBub3QgZW11bGF0ZWQgaW4gUUVNVSBvciBzaW1pbGFyIGVudmlyb25tZW50cywgYXJlIHVzdWFsbHkgYSB0b3VnaCBudXQgdG8gY3JhY2sgZm9yIGZ1enppbmcuIFVubGVzcyB0aGVyZSdzIHNvbWUgc29ydCBvZiBzb2Z0d2FyZSBlbXVsYXRpb24gbGF5ZXIgaW52b2x2ZWQuXG5cbkhtbSwgd2FpdCBhIHNlY29uZC4gSSByZW1lbWJlciBgbWFjODAyMTFfaHdzaW1gLCB0aGF0J3MgZm9yIG1hYzgwMjExLiBCdXQgYGlwdzIxMDBgIGFuZCBgaXB3MjIwMGAgYXJlIGZ1bGwgTUFDIGRyaXZlcnMsIG9yIHBlcmhhcHMgc29mdCBNQUMgZHJpdmVycyBzaW5jZSB0aGV5IHVzZSBgbGliaXB3YC4gU28sIGlzIHRoZXJlIGFueSBlbXVsYXRpb24gZm9yIHRoZW0/IFByb2JhYmx5IG5vdCwgc2luY2UgdGhleSdyZSBwaHlzaWNhbCBQQ0kgZGV2aWNlcy4gSSdtIGdvaW5nIHRvIGRvdWJsZS1jaGVjayBgaXB3MjEwMC5jYCBhbmQgYGlwdzIyMDAuY2AgdG8gYmUgY2VydGFpbi4gR290dGEgYmUgdGhvcm91Z2guXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI4NjgsIk91dHB1dFRva2VucyI6NDEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNTcsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xMlQyMDo0MTo0MC44ODc0NTQ4OTVaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDMyNzkxMDksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwicGNpX3JlZ2lzdGVyX2RyaXZlclwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NTE3PXN0YXRpYyBpbnQgX19pbml0IGlwdzIxMDBfaW5pdCh2b2lkKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjUyNS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2NTI2OlxcdHJldCA9IHBjaV9yZWdpc3Rlcl9kcml2ZXIoXFx1MDAyNmlwdzIxMDBfcGNpX2RyaXZlcik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjUyNy1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9MTE4ODg9c3RhdGljIGludCBfX2luaXQgaXB3X2luaXQodm9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTExODk0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjExODk1OlxcdHJldCA9IHBjaV9yZWdpc3Rlcl9kcml2ZXIoXFx1MDAyNmlwd19kcml2ZXIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTExODk2LVxcdGlmIChyZXQpIHtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMjA6NDE6NDAuOTMwNzM3NjU0WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDcxOTkwODg4NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIFdvcnRoRnV6emluZyBmb3IgVGhlc2UgRHJpdmVycyoqXG5cbk9rYXksIHNvIHdlJ3JlIGxvb2tpbmcgYXQgUENJIGRyaXZlcnMgaGVyZS4gU3BlY2lmaWNhbGx5LCB3ZSdyZSB0YWxraW5nIGFib3V0IHRob3NlIG9sZCBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBtaW5pLVBDSSBjYXJkcy4gTm93LCB0aGUga2V5IGlzc3VlIGlzIHRoYXQsIGFzIGZhciBhcyBJIHVuZGVyc3RhbmQsIHRoZXNlIGFyZW4ndCBlbXVsYXRlZCBhdCBhbGwgaW4gc3RhbmRhcmQgUUVNVS4gVGhpcyBpcyBhIHByb2JsZW0sIGJlY2F1c2UgaXQgbWVhbnMgdGhleSdyZSBjb21wbGV0ZWx5IGluYWNjZXNzaWJsZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBTbywgc3RyYWlnaHQgb2ZmIHRoZSBiYXQsIG15IGluaXRpYWwgaW5zdGluY3QgaXMgdG8gbWFyayB0aGlzIGFzIFdvcnRoRnV6emluZz1mYWxzZS4gSSBtZWFuLCBpZiB3ZSBjYW4ndCBldmVuICpyZWFjaCogdGhlIGhhcmR3YXJlLCB3aGF0J3MgdGhlIHBvaW50P1xuXG5CdXQgd2FpdC4gQmVmb3JlIEkgZGVmaW5pdGl2ZWx5IGRpc21pc3MgdGhpcywgSSBuZWVkIHRvIGNvbnNpZGVyIGlmIHRoZXJlJ3MgYW55IGNvbmNlaXZhYmxlIHdheSB0byAqaW5qZWN0KiBwYWNrZXRzIGludG8gdGhlc2UgZHJpdmVycywgZXZlbiB3aXRob3V0IHRoZSBoYXJkd2FyZSBwcmVzZW50LiBUaGUgY29kZSBtb2RpZmllcyBmdW5jdGlvbnMgbGlrZSBgX19pcHcyMTAwX3J4X3Byb2Nlc3NgLCBgaXB3X3J4YCwgYGxpYmlwd19oYW5kbGVfYXNzb2NfcmVzcGAsIGFuZCBgbGliaXB3X3Byb2Nlc3NfcHJvYmVfcmVzcG9uc2VgLiBGcm9tIG15IHVuZGVyc3RhbmRpbmcsIHRoZXNlIGFyZSBhbGwgaW52b2x2ZWQgaW4gcmVjZWl2aW5nIHBhY2tldHMg4oCTIHByb2Nlc3NpbmcgaW5jb21pbmcgZGF0YSBmcm9tIHRoZSBoYXJkd2FyZS4gU2luY2Ugd2UgKmRvbid0KiBoYXZlIHRoZSBoYXJkd2FyZSwgdGhlIGZsb3cgb2YgdGhlIGNvZGUgd29uJ3QgZXZlbiAqcmVhY2gqIHRoZXNlIHBhdGNoZWQgZnVuY3Rpb25zLiBUaGV5J3JlIGRlYWQgY29kZSwgaW4gZXNzZW5jZSwgaW4gdGhpcyBzY2VuYXJpby5cblxuSSdtIGdldHRpbmcgYSBmZWVsaW5nLCB0aG91Z2gsIHRoYXQgSSBtaWdodCBiZSB3cm9uZy4gTGV0IG1lIGp1c3QgcXVpY2tseSBjb25maXJtIHRoYXQgYGxpYmlwd2AgaXNuJ3QgdXNlZCBieSBzb21ldGhpbmcgZWxzZSwgYXMgdGhhdCBtYXkgY2hhbmdlIHRoZSBhc3Nlc3NtZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjozOTQ1LCJPdXRwdXRUb2tlbnMiOjI5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTg1LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQxOjQ1LjY1MDY0OTc2OVoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo3NzU4NzM0OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJsaWJpcHdcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIlxcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMzI2MyBsaW5lcy5cXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXFxuXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTE2ND1jb25maWcgTElCSVBXX0RFQlVHXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTY4LVxcdCAgVGhpcyBvcHRpb24gd2lsbCBlbmFibGUgZGVidWcgdHJhY2luZyBvdXRwdXQgZm9yIHRoZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZzoxNjk6XFx0ICBsaWJpcHcgY29tcG9uZW50LlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xNzAtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTgzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZzoxODQ6XFx0ICBJZiB5b3UgYXJlIG5vdCB0cnlpbmcgdG8gZGVidWcgb3IgZGV2ZWxvcCB0aGUgbGliaXB3XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTE4NS1cXHQgIGNvbXBvbmVudCwgeW91IG1vc3QgbGlrZWx5IHdhbnQgdG8gc2F5IE4gaGVyZS5cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU9Nz1vYmotJChDT05GSUdfSVBXMjIwMCkgKz0gaXB3MjIwMC5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS04LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6OTpvYmotJChDT05GSUdfTElCSVBXKSArPSBsaWJpcHcub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTA6bGliaXB3LW9ianMgOj0gXFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTE6XFx0bGliaXB3X21vZHVsZS5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjEyOlxcdGxpYmlwd190eC5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjEzOlxcdGxpYmlwd19yeC5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjE0OlxcdGxpYmlwd193eC5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjE1OlxcdGxpYmlwd19nZW8ubyBcXFxcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxNjpcXHRsaWJpcHdfc3B5Lm8gXFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTc6XFx0bGliaXB3X2NyeXB0by5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjE4OlxcdGxpYmlwd19jcnlwdG9fY2NtcC5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjE5OlxcdGxpYmlwd19jcnlwdG9fdGtpcC5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjIwOlxcdGxpYmlwd19jcnlwdG9fd2VwLm9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTMyNT1zdGF0aWMgaW5saW5lIHZvaWQgcmVhZF9yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MzIgcmVnLCB1MzIgKiB2YWwpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzI2LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzozMjc6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzI4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzMzPXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MzIgcmVnLCB1MzIgdmFsKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMzNC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzM1OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMzNi1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTM0MT1zdGF0aWMgaW5saW5lIHZvaWQgcmVhZF9yZWdpc3Rlcl93b3JkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiByZWcsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNDMte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjM0NDpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNDUtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zNTA9c3RhdGljIGlubGluZSB2b2lkIHJlYWRfcmVnaXN0ZXJfYnl0ZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MzIgcmVnLCB1OCAqIHZhbClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTEte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjM1MjpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTMtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zNTg9c3RhdGljIGlubGluZSB2b2lkIHdyaXRlX3JlZ2lzdGVyX3dvcmQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIHJlZywgdTE2IHZhbClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTkte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjM2MDpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNjEtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zNjY9c3RhdGljIGlubGluZSB2b2lkIHdyaXRlX3JlZ2lzdGVyX2J5dGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIHJlZywgdTggdmFsKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTM2Ny17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzY4OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTM2OS1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTE2NDA9c3RhdGljIGludCBpcHcyMTAwX3N0YXJ0X3NjYW4oc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE2ODAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTY4MTpzdGF0aWMgY29uc3Qgc3RydWN0IGxpYmlwd19nZW8gaXB3X2dlb3NbXSA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNjgyLVxcdHtcXHRcXHRcXHQvKiBSZXN0cmljdGVkICovXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0xNjkzPXN0YXRpYyBpbnQgaXB3MjEwMF91cChzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgZGVmZXJyZWQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzAxLVxcdGlmIChwcml2LVxcdTAwM2VzdXNwZW5kX3RpbWUpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxNzAyOlxcdFxcdGxpYmlwd19uZXR3b3Jrc19hZ2UocHJpdi1cXHUwMDNlaWVlZSwgcHJpdi1cXHUwMDNlc3VzcGVuZF90aW1lKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzAzLVxcdFxcdHByaXYtXFx1MDAzZXN1c3BlbmRfdGltZSA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzU5LVxcdC8qIEluaXRpYWxpemUgdGhlIGdlbyAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE3NjA6XFx0bGliaXB3X3NldF9nZW8ocHJpdi1cXHUwMDNlaWVlZSwgXFx1MDAyNmlwd19nZW9zWzBdKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzYxLVxcdHByaXYtXFx1MDAzZWllZWUtXFx1MDAzZWZyZXFfYmFuZCA9IExJQklQV18yNEdIWl9CQU5EO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MTg3Mz1zdGF0aWMgaW50IGlwdzIxMDBfd2Rldl9pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTg3NC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTg3NTpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxODc2OlxcdGNvbnN0IHN0cnVjdCBsaWJpcHdfZ2VvICpnZW8gPSBsaWJpcHdfZ2V0X2dlbyhwcml2LVxcdTAwM2VpZWVlKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xODc3LVxcdHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYgPSBcXHUwMDI2cHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNld2RldjtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTIzMzA9c3RhdGljIHUzMiBpcHcyMTAwX21hdGNoX2J1ZihzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCB1OCAqIGluX2J1ZixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTIzNzctICpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyMzc4OiAqIC4gIGxpYmlwd19oZHJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyMzc5OiAqIC4gIGxpYmlwd19zbmFwX2hkclxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTIzODAtICpcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTI0MzM9c3RhdGljIHZvaWQgaXNyX3J4KHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCBpLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0MzQ6XFx0XFx0XFx0ICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDM1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0NzEtXFx0LyogTWFrZSBhIGNvcHkgb2YgdGhlIGZyYW1lIHNvIHdlIGNhbiBkdW1wIGl0IHRvIHRoZSBsb2dzIGlmXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ3MjpcXHQgKiBsaWJpcHdfcnggZmFpbHMgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDczLVxcdHNrYl9jb3B5X2Zyb21fbGluZWFyX2RhdGEocGFja2V0LVxcdTAwM2Vza2IsIHBhY2tldF9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3Ny1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDc4OlxcdGlmICghbGliaXB3X3J4KHByaXYtXFx1MDAzZWllZWUsIHBhY2tldC1cXHUwMDNlc2tiLCBzdGF0cykpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc5LSNpZmRlZiBJUFcyMTAwX1JYX0RFQlVHXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDg1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0ODY6XFx0XFx0LyogbGliaXB3X3J4IGZhaWxlZCwgc28gaXQgZGlkbid0IGZyZWUgdGhlIFNLQiAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0ODctXFx0XFx0ZGV2X2tmcmVlX3NrYl9hbnkocGFja2V0LVxcdTAwM2Vza2IpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjUwNj1zdGF0aWMgdm9pZCBpc3JfcnhfbW9uaXRvcihzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgaSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNTA3OlxcdFxcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1MDgte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2NC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNTY1OlxcdGlmICghbGliaXB3X3J4KHByaXYtXFx1MDAzZWllZWUsIHBhY2tldC1cXHUwMDNlc2tiLCBzdGF0cykpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY2LVxcdFxcdGRldi1cXHUwMDNlc3RhdHMucnhfZXJyb3JzKys7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2Ny1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNTY4OlxcdFxcdC8qIGxpYmlwd19yeCBmYWlsZWQsIHNvIGl0IGRpZG4ndCBmcmVlIHRoZSBTS0IgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY5LVxcdFxcdGRldl9rZnJlZV9za2JfYW55KHBhY2tldC1cXHUwMDNlc2tiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTI2NDQ9c3RhdGljIHZvaWQgX19pcHcyMTAwX3J4X3Byb2Nlc3Moc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2NTEtXFx0c3RydWN0IGlwdzIxMDBfcnggKnU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjY1MjpcXHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHN0YXRzID0ge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2NTMtXFx0XFx0Lm1hY190aW1lID0gamlmZmllcyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI3MTUtXFx0XFx0XFx0aWYgKHNxLVxcdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcXHUwMDNjXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjcxNjpcXHRcXHRcXHRcXHQgICAgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSB8fFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI3MTctXFx0XFx0XFx0ICAgIHNxLVxcdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcXHUwMDNlIElQV19SWF9OSUNfQlVGRkVSX0xFTkdUSClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI3MjAtXFx0XFx0XFx0Y2FzZSBJRUVFODAyMTFfRlRZUEVfTUdNVDpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNzIxOlxcdFxcdFxcdFxcdGxpYmlwd19yeF9tZ3QocHJpdi1cXHUwMDNlaWVlZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzIyLVxcdFxcdFxcdFxcdFxcdFxcdCBcXHUwMDI2dS1cXHUwMDNlcnhfZGF0YS5oZWFkZXIsIFxcdTAwMjZzdGF0cyk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNzkxPXN0YXRpYyBpbnQgX19pcHcyMTAwX3R4X3Byb2Nlc3Moc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI5MTMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjkxNDpcXHRcXHRsaWJpcHdfdHhiX2ZyZWUocGFja2V0LVxcdTAwM2VpbmZvLmRfc3RydWN0LnR4Yik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjkxNS1cXHRcXHRwYWNrZXQtXFx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTMwNDk9c3RhdGljIHZvaWQgaXB3MjEwMF90eF9zZW5kX2RhdGEoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMwNTctXFx0c3RydWN0IGlwdzIxMDBfZGF0YV9oZWFkZXIgKmlwd19oZHI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzA1ODpcXHRzdHJ1Y3QgbGliaXB3X2hkcl8zYWRkciAqaGRyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMwNTktXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMDkxLVxcdFxcdGlwd19oZHIgPSBwYWNrZXQtXFx1MDAzZWluZm8uZF9zdHJ1Y3QuZGF0YTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzozMDkyOlxcdFxcdGhkciA9IChzdHJ1Y3QgbGliaXB3X2hkcl8zYWRkciAqKXBhY2tldC1cXHUwMDNlaW5mby5kX3N0cnVjdC50eGItXFx1MDAzZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMwOTMtXFx0XFx0ICAgIGZyYWdtZW50c1swXS1cXHUwMDNlZGF0YTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTMzMTM9c3RhdGljIGlycXJldHVybl90IGlwdzIxMDBfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMzYyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMzNjM6c3RhdGljIG5ldGRldl90eF90IGlwdzIxMDBfdHgoc3RydWN0IGxpYmlwd190eGIgKnR4YixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMzY0LVxcdFxcdFxcdCAgICAgIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGludCBwcmkpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzM2NS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzM2NjpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMzY3LVxcdHN0cnVjdCBsaXN0X2hlYWQgKmVsZW1lbnQ7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz00NDU0PXN0YXRpYyB2b2lkIGlwdzIxMDBfdHhfaW5pdGlhbGl6ZShzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNDQ3Ny1cXHRcXHRpZiAocHJpdi1cXHUwMDNldHhfYnVmZmVyc1tpXS5pbmZvLmRfc3RydWN0LnR4Yikge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjQ0Nzg6XFx0XFx0XFx0bGliaXB3X3R4Yl9mcmVlKHByaXYtXFx1MDAzZXR4X2J1ZmZlcnNbaV0uaW5mby5kX3N0cnVjdC5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy00NDc5LVxcdFxcdFxcdFxcdFxcdCAgIHR4Yik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz00NTA0PXN0YXRpYyB2b2lkIGlwdzIxMDBfdHhfZnJlZShzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNDUxNi1cXHRcXHRpZiAocHJpdi1cXHUwMDNldHhfYnVmZmVyc1tpXS5pbmZvLmRfc3RydWN0LnR4Yikge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjQ1MTc6XFx0XFx0XFx0bGliaXB3X3R4Yl9mcmVlKHByaXYtXFx1MDAzZXR4X2J1ZmZlcnNbaV0uaW5mby5kX3N0cnVjdC5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy00NTE4LVxcdFxcdFxcdFxcdFxcdCAgIHR4Yik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01NTQzPXN0YXRpYyB2b2lkIHNoaW1fX3NldF9zZWN1cml0eShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU1NDQ6XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBsaWJpcHdfc2VjdXJpdHkgKnNlYylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01NTQ1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo1NTQ2OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU1NDctXFx0aW50IGk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01NzMyPXN0YXRpYyBpbnQgaXB3MjEwMF9zZXRfYWRkcmVzcyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB2b2lkICpwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3MzMte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU3MzQ6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTczNS1cXHRzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIgPSBwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTc2MD1zdGF0aWMgaW50IGlwdzIxMDBfb3BlbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3NjEte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU3NjI6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTc2My1cXHR1bnNpZ25lZCBsb25nIGZsYWdzO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTc3Nj1zdGF0aWMgaW50IGlwdzIxMDBfY2xvc2Uoc3RydWN0IG5ldF9kZXZpY2UgKmRldilcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01Nzc3LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo1Nzc4OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3NzktXFx0dW5zaWduZWQgbG9uZyBmbGFncztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3OTgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTc5OTpcXHRcXHRsaWJpcHdfdHhiX2ZyZWUocGFja2V0LVxcdTAwM2VpbmZvLmRfc3RydWN0LnR4Yik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTgwMC1cXHRcXHRwYWNrZXQtXFx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTU4MTU9c3RhdGljIHZvaWQgaXB3MjEwMF90eF90aW1lb3V0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCB0eHF1ZXVlKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4MTYte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU4MTc6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTgxOC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTU4Mzk9c3RhdGljIGludCBpcHcyMTAwX3dwYV9zZXRfYXV0aF9hbGdzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCB2YWx1ZSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4NDEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTg0MjpcXHRzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSA9IHByaXYtXFx1MDAzZWllZWU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTg0MzpcXHRzdHJ1Y3QgbGliaXB3X3NlY3VyaXR5IHNlYyA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01ODQ0LVxcdFxcdC5mbGFncyA9IFNFQ19BVVRIX01PREUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01ODg1PXN0YXRpYyB2b2lkIGlwd19ldGh0b29sX2dldF9kcnZpbmZvKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01ODg3LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo1ODg4OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4ODktXFx0Y2hhciBmd192ZXJbNjRdO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTkwMT1zdGF0aWMgdTMyIGlwdzIxMDBfZXRodG9vbF9nZXRfbGluayhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU5MDIte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU5MDM6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTkwNC1cXHRyZXR1cm4gKHByaXYtXFx1MDAzZXN0YXR1cyBcXHUwMDI2IFNUQVRVU19BU1NPQ0lBVEVEKSA/IDEgOiAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTk4Nz1zdGF0aWMgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2Vfb3BzIGlwdzIxMDBfbmV0ZGV2X29wcyA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU5ODktXFx0Lm5kb19zdG9wXFx0XFx0PSBpcHcyMTAwX2Nsb3NlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU5OTA6XFx0Lm5kb19zdGFydF94bWl0XFx0XFx0PSBsaWJpcHdfeG1pdCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01OTkxLVxcdC5uZG9fdHhfdGltZW91dFxcdFxcdD0gaXB3MjEwMF90eF90aW1lb3V0LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTk5NS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo1OTk2Oi8qIExvb2sgaW50byB1c2luZyBuZXRkZXYgZGVzdHJ1Y3RvciB0byBzaHV0ZG93biBsaWJpcHc/ICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTk5Ny1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01OTk4PXN0YXRpYyBzdHJ1Y3QgbmV0X2RldmljZSAqaXB3MjEwMF9hbGxvY19kZXZpY2Uoc3RydWN0IHBjaV9kZXYgKnBjaV9kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDAzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYwMDQ6XFx0ZGV2ID0gYWxsb2NfbGliaXB3KHNpemVvZihzdHJ1Y3QgaXB3MjEwMF9wcml2KSwgMCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAwNS1cXHRpZiAoIWRldilcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDA2LVxcdFxcdHJldHVybiBOVUxMO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYwMDc6XFx0cHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAwOC1cXHRwcml2LVxcdTAwM2VpZWVlID0gbmV0ZGV2X3ByaXYoZGV2KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTYxMjI9c3RhdGljIGludCBpcHcyMTAwX3BjaV9pbml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGNpX2RldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTYxNjEtXFx0XFx0ICAgICAgIFxcXCJFcnJvciBjYWxsaW5nIHBjaV9lbmFibGVfZGV2aWNlLlxcXFxuXFxcIik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjE2MjpcXHRcXHRmcmVlX2xpYmlwdyhkZXYsIDApO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTYxNjMtXFx0XFx0cGNpX2lvdW5tYXAocGNpX2RldiwgaW9hZGRyKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTYxNjYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjE2NzpcXHRwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MTY4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjMxMC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MzExOlxcdFxcdGZyZWVfbGliaXB3KGRldiwgMCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjMxMi1cXHR9XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02MzIxPXN0YXRpYyB2b2lkIGlwdzIxMDBfcGNpX3JlbW92ZV9vbmUoc3RydWN0IHBjaV9kZXYgKnBjaV9kZXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MzU5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYzNjA6XFx0Lyogd2lwaHlfdW5yZWdpc3RlciBuZWVkcyB0byBiZSBoZXJlLCBiZWZvcmUgZnJlZV9saWJpcHcgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MzYxLVxcdHdpcGh5X3VucmVnaXN0ZXIocHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNld2Rldi53aXBoeSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM2Mi1cXHRrZnJlZShwcml2LVxcdTAwM2VpZWVlLVxcdTAwM2ViZ19iYW5kLmNoYW5uZWxzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MzYzOlxcdGZyZWVfbGliaXB3KGRldiwgMCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM2NC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTY1NTc9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9uYW1lKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NTY0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY1NjU6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjU2Ni1cXHRpZiAoIShwcml2LVxcdTAwM2VzdGF0dXMgXFx1MDAyNiBTVEFUVVNfQVNTT0NJQVRFRCkpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NTc1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZnJlcShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjU3OC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjU3OTpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NTgwLVxcdHN0cnVjdCBpd19mcmVxICpmd3JxID0gXFx1MDAyNndycXUtXFx1MDAzZWZyZXE7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NjIxPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfZnJlcShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjYyOC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2NjI5OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY2MzAtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NjQ2PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjY0OS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjY1MDpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NjUxLVxcdGludCBlcnIgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NjY4NT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X21vZGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY2OTItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjY5MzpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02Njk0LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NjcyMD1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3JhbmdlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NzI3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY3Mjg6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjcyOS1cXHRzdHJ1Y3QgaXdfcmFuZ2UgKnJhbmdlID0gKHN0cnVjdCBpd19yYW5nZSAqKWV4dHJhO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njg0NT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X3dhcChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjg0OC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6Njg0OTpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02ODUwLVxcdGludCBlcnIgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njg4Mz1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3dhcChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjg5MC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2ODkxOlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY4OTItXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02OTA1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZXNzaWQoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY5MDgte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY5MDk6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjkxMC1cXHRjaGFyICplc3NpZCA9IFxcXCJcXFwiO1xcdC8qIEFOWSAqL1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njk1ND1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2Vzc2lkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02OTYxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY5NjI6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjk2My1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTY5ODE9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9uaWNrKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02OTg4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY5ODk6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjk5MC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcwMDM9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9uaWNrKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDEwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcwMTE6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzAxMi1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcwMjI9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9yYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDI1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MDI2OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcwMjctXFx0dTMyIHRhcmdldF9yYXRlID0gd3JxdS1cXHUwMDNlYml0cmF0ZS52YWx1ZTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcwNjI9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9yYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDY1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MDY2OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcwNjctXFx0aW50IHZhbDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcxMTQ9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9ydHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcxMTcte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcxMTg6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzExOS1cXHRpbnQgdmFsdWUsIGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcxNDk9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9ydHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcxNTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzE1NzpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MTU4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzE3MD1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X3R4cG93KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MTczLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MTc0OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcxNzUtXFx0aW50IGVyciA9IDAsIHZhbHVlO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzIxMT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3R4cG93KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MjE4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcyMTk6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzIyMC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcyMzg9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9mcmFnKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MjQ1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcyNDY6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzI0Ny1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcyNjg9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9mcmFnKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03Mjc1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcyNzY6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzI3Ny1cXHR3cnF1LVxcdTAwM2VmcmFnLnZhbHVlID0gcHJpdi1cXHUwMDNlZnJhZ190aHJlc2hvbGQgXFx1MDAyNiB+RlJBR19ESVNBQkxFRDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcyODY9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9yZXRyeShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzI4OS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzI5MDpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MjkxLVxcdGludCBlcnIgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzMzMD1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3JldHJ5KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MzM3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjczMzg6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzMzOS1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTczNjI9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9zY2FuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MzY1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MzY2OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTczNjctXFx0aW50IGVyciA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MzkwPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfc2NhbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzM5Ny1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3Mzk4OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjczOTk6XFx0cmV0dXJuIGxpYmlwd193eF9nZXRfc2Nhbihwcml2LVxcdTAwM2VpZWVlLCBpbmZvLCB3cnF1LCBleHRyYSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzQwMC19XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NDA1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZW5jb2RlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDEyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc0MTM6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQxNDpcXHRyZXR1cm4gbGliaXB3X3d4X3NldF9lbmNvZGUocHJpdi1cXHUwMDNlaWVlZSwgaW5mbywgd3JxdSwga2V5KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDE1LX1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc0MTc9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9lbmNvZGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MjQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQyNTpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NDI2OlxcdHJldHVybiBsaWJpcHdfd3hfZ2V0X2VuY29kZShwcml2LVxcdTAwM2VpZWVlLCBpbmZvLCB3cnF1LCBrZXkpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MjctfVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzQyOT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X3Bvd2VyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDMyLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NDMzOlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MzQtXFx0aW50IGVyciA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NDc0PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfcG93ZXIoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0ODEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQ4MjpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDgzLVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzUwMT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X2dlbmllKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTA1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc1MDY6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzUwNzpcXHRzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSA9IHByaXYtXFx1MDAzZWllZWU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzUwOC1cXHR1OCAqYnVmO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzUzNz1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2dlbmllKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTQwLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTQxOlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc1NDI6XFx0c3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUgPSBwcml2LVxcdTAwM2VpZWVlO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc1NDMtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NTU5PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfYXV0aChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzU2Mi17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzU2MzpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTY0OlxcdHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlID0gcHJpdi1cXHUwMDNlaWVlZTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTY1LVxcdHN0cnVjdCBpd19wYXJhbSAqcGFyYW0gPSBcXHUwMDI2d3JxdS1cXHUwMDNlcGFyYW07XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzU2NjpcXHRzdHJ1Y3QgbGliaXB3X2NyeXB0X2RhdGEgKmNyeXB0O1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc1NjctXFx0dW5zaWduZWQgbG9uZyBmbGFncztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc2MDctXFx0XFx0XFx0ICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzYwODpcXHRcXHRcXHRzdHJ1Y3QgbGliaXB3X3NlY3VyaXR5IHNlYyA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NjA5LVxcdFxcdFxcdFxcdC5mbGFncyA9IFNFQ19FTkFCTEVELFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzY1Mj1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2F1dGgoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc2NTUte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc2NTY6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzY1NzpcXHRzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSA9IHByaXYtXFx1MDAzZWllZWU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzY1ODpcXHRzdHJ1Y3QgbGliaXB3X2NyeXB0X2RhdGEgKmNyeXB0O1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc2NTktXFx0c3RydWN0IGl3X3BhcmFtICpwYXJhbSA9IFxcdTAwMjZ3cnF1LVxcdTAwM2VwYXJhbTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc3MTI9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9lbmNvZGVleHQoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3MTUte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc3MTY6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzcxNzpcXHRyZXR1cm4gbGliaXB3X3d4X3NldF9lbmNvZGVleHQocHJpdi1cXHUwMDNlaWVlZSwgaW5mbywgd3JxdSwgZXh0cmEpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3MTgtfVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzcyMT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2VuY29kZWV4dChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzcyNC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzcyNTpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NzI2OlxcdHJldHVybiBsaWJpcHdfd3hfZ2V0X2VuY29kZWV4dChwcml2LVxcdTAwM2VpZWVlLCBpbmZvLCB3cnF1LCBleHRyYSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzcyNy19XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NzMwPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfbWxtZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzczMy17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzczNDpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NzM1LVxcdHN0cnVjdCBpd19tbG1lICptbG1lID0gKHN0cnVjdCBpd19tbG1lICopZXh0cmE7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NzU4PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcHJvbWlzYyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzc2MS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6Nzc2MjpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NzYzLVxcdGludCAqcGFybXMgPSAoaW50ICopZXh0cmE7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03Nzg5PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9yZXNldChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzc5Mi17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6Nzc5MzpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03Nzk0LVxcdGlmIChwcml2LVxcdTAwM2VzdGF0dXMgXFx1MDAyNiBTVEFUVVNfSU5JVElBTElaRUQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03ODAxPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcG93ZXJtb2RlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03ODA0LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3ODA1OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc4MDYtXFx0aW50IGVyciA9IDAsIG1vZGUgPSAqKGludCAqKWV4dHJhO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzgyNT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3Bvd2VybW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzgzMi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3ODMzOlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcblxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xMlQyMDo0MTo0NS43MjgyNDUxNDdaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1ODQ0MjQ3OTkzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgbGliaXB3J3MgRnV6emluZyBQb3RlbnRpYWwqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCBgbGliaXB3YCBhbmQgaXRzIHJlbGF0aW9uc2hpcCB0byB0aGUgYGlwdzIxMDBgIGFuZCBgaXB3MjIwMGAgZHJpdmVycy4gSSBpbW1lZGlhdGVseSByZWNvZ25pemUgdGhvc2UgYXMgb2xkZXIgSW50ZWwgd2lyZWxlc3MgZHJpdmVycy4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcIkFyZSB0aGVyZSBhbnkgb3RoZXIgZHJpdmVycyBsZXZlcmFnaW5nIGBsaWJpcHdgIHRoYXQgbWlnaHQgYmUgcmVsZXZhbnQ/XCIgSSBuZWVkIHRvIGNvbmZpcm0gdGhlIHNjb3BlIG9mIGl0cyB1c2UuXG5cbkxldCdzIHF1aWNrbHkgY2hlY2sgdGhlIGBkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlYCB0byB2ZXJpZnkuIEFoYSwgdGhlIG1ha2VmaWxlIGNsZWFybHkgc2hvd3M6XG5cbiogICBgb2JqLSQoQ09ORklHX0lQVzIxMDApICs9IGlwdzIxMDAub2BcbiogICBgb2JqLSQoQ09ORklHX0lQVzIyMDApICs9IGlwdzIyMDAub2BcbiogICBgb2JqLSQoQ09ORklHX0xJQklQVykgKz0gbGliaXB3Lm9gXG5cblBlcmZlY3QsIHNvIGBsaWJpcHdgIGlzIGluZGVlZCAqb25seSogdXNlZCBieSBgaXB3MjEwMGAgYW5kIGBpcHcyMjAwYC4gU2luY2UgdGhvc2UgYXJlIGJvdGggcGh5c2ljYWwgaGFyZHdhcmUgZHJpdmVycyBhbmQgbm90IHZpcnR1YWxpemVkLCB0aGVpciBjb2RlIGlzIGVzc2VudGlhbGx5IHVucmVhY2hhYmxlIHdpdGhpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBDb25zZXF1ZW50bHksIGZ1enppbmcgdGhlc2UgZHJpdmVycywgYW5kIGJ5IGV4dGVuc2lvbiBgbGliaXB3YCwgaW4gYSB2aXJ0dWFsaXplZCBjb250ZXh0IGlzIG5vdCBhIHByb2R1Y3RpdmUgcGF0aCBmb3IgbWUgdG8gcHVyc3VlLiBUaW1lIHRvIG1vdmUgb24uIEkgd2lsbCByZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTk5NywiT3V0cHV0VG9rZW5zIjoxMDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxODYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMjA6NDE6NTEuNTcyNDk1NzdaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI1NjMwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBpcHcyMTAwIGFuZCBpcHcyMjAwIGRyaXZlcnMsIHdoaWNoIGFyZSBmb3IgcGh5c2ljYWwgSW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgYW5kIDIyMDAgbWluaS1QQ0kgY2FyZHMuIFRoZXNlIGRldmljZXMgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIG90aGVyIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWVhbmluZyB0aGUgbW9kaWZpZWQgcGFja2V0IHByb2Nlc3NpbmcgY29kZSBwYXRocyBjYW5ub3QgYmUgcmVhY2hlZCBvciBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgaXB3MjEwMCBhbmQgaXB3MjIwMCBkcml2ZXJzLCB3aGljaCBhcmUgZm9yIHBoeXNpY2FsIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIG1pbmktUENJIGNhcmRzLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBvdGhlciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1lYW5pbmcgdGhlIG1vZGlmaWVkIHBhY2tldCBwcm9jZXNzaW5nIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgb3IgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMjA6NDE6NTEuNTcyNTI0OTlaIiwiU2VxIjo5LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzAwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflow5fndg[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-12 20:20:02 +0000 UTC FinishedAt: 2026-08-12 20:41:52 +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+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQxPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGlwdzIxMDAgYW5kIGlwdzIyMDAgZHJpdmVycywgd2hpY2ggYXJlIGZvciBwaHlzaWNhbCBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBtaW5pLVBDSSBjYXJkcy4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3Igb3RoZXIgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtZWFuaW5nIHRoZSBtb2RpZmllZCBwYWNrZXQgcHJvY2Vzc2luZyBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIG9yIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDE8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBmNzc1MmNkZTI2ODFlMGI2OTZlYzQwY2ZmNjkzZTA1ZDYwMmQ3ZjZiXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBBdWcgMTIgMjA6NDE6MzIgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuY1xuaW5kZXggMmI4YTIzODY1YmZiMi4uNDNiNGU0MzI5NTZiZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuY1xuQEAgLTI3MTIsNyAmIzQzOzI3MTIsOSBAQCBzdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxuIFx0XHRcdFx0YnJlYWs7XG4gXHRcdFx0fVxuICNlbmRpZlxuLVx0XHRcdGlmIChzdGF0cy5sZW4gXHUwMDNjIHNpemVvZihzdHJ1Y3QgbGliaXB3X2hkcl8zYWRkcikpXG4mIzQzO1x0XHRcdGlmIChzcS1cdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcdTAwM2NcbiYjNDM7XHRcdFx0XHQgICAgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSB8fFxuJiM0MztcdFx0XHQgICAgc3EtXHUwMDNlZHJ2W2ldLmZyYW1lX3NpemUgXHUwMDNlIElQV19SWF9OSUNfQlVGRkVSX0xFTkdUSClcbiBcdFx0XHRcdGJyZWFrO1xuIFx0XHRcdHN3aXRjaCAoV0xBTl9GQ19HRVRfVFlQRShsZTE2X3RvX2NwdSh1LVx1MDAzZXJ4X2RhdGEuaGVhZGVyLmZyYW1lX2N0bCkpKSB7XG4gXHRcdFx0Y2FzZSBJRUVFODAyMTFfRlRZUEVfTUdNVDpcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jXG5pbmRleCA0YmM5YmI0MDZlOGU4Li44MjQ5ZDQ5M2VlMjJmIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jXG5AQCAtODMyMiw2ICYjNDM7ODMyMiwxNSBAQCBzdGF0aWMgdm9pZCBpcHdfcngoc3RydWN0IGlwd19wcml2ICpwcml2KVxuIFx0XHRcdFx0XHRicmVhaztcbiBcdFx0XHRcdH1cbiBcbiYjNDM7XHRcdFx0XHRpZiAodW5saWtlbHkobGUxNl90b19jcHUocGt0LVx1MDAzZXUuZnJhbWUubGVuZ3RoKSBcdTAwM2VcbiYjNDM7XHRcdFx0XHRcdCAgICAgSVBXX1JYX0JVRl9TSVpFIC1cbiYjNDM7XHRcdFx0XHRcdCAgICAgSVBXX1JYX0ZSQU1FX1NJWkUpKSB7XG4mIzQzO1x0XHRcdFx0XHRJUFdfREVCVUdfRFJPUChcJiMzNDtSZWNlaXZlZCBvdmVyc2l6ZWQgcGFja2V0LiBEcm9wcGluZy5cXG5cJiMzNDspO1xuJiM0MztcdFx0XHRcdFx0cHJpdi1cdTAwM2VuZXRfZGV2LVx1MDAzZXN0YXRzLnJ4X2Vycm9ycyYjNDM7JiM0Mzs7XG4mIzQzO1x0XHRcdFx0XHRwcml2LVx1MDAzZXdzdGF0cy5kaXNjYXJkLm1pc2MmIzQzOyYjNDM7O1xuJiM0MztcdFx0XHRcdFx0YnJlYWs7XG4mIzQzO1x0XHRcdFx0fVxuJiM0MztcbiBcdFx0XHRcdHN3aXRjaCAoV0xBTl9GQ19HRVRfVFlQRVxuIFx0XHRcdFx0XHQobGUxNl90b19jcHUoaGVhZGVyLVx1MDAzZWZyYW1lX2N0bCkpKSB7XG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNcbmluZGV4IGM4ODQxZjliOWFkOTEuLjQyNDM0OWE2OTM1ZTQgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXG5AQCAtMTIwOSw2ICYjNDM7MTIwOSw5IEBAIHN0YXRpYyBpbnQgbGliaXB3X2hhbmRsZV9hc3NvY19yZXNwKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2FzXG4gXHRzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmsgPSBcdTAwMjZuZXR3b3JrX3Jlc3A7XG4gXHRzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gaWVlZS1cdTAwM2VkZXY7XG4gXG4mIzQzO1x0aWYgKHN0YXRzLVx1MDAzZWxlbiBcdTAwM2Mgc2l6ZW9mKCpmcmFtZSkpXG4mIzQzO1x0XHRyZXR1cm4gMTtcbiYjNDM7XG4gXHRuZXR3b3JrLVx1MDAzZWZsYWdzID0gMDtcbiBcdG5ldHdvcmstXHUwMDNlcW9zX2RhdGEuYWN0aXZlID0gMDtcbiBcdG5ldHdvcmstXHUwMDNlcW9zX2RhdGEuc3VwcG9ydGVkID0gMDtcbkBAIC0xNDIxLDYgJiM0MzsxNDI0LDkgQEAgc3RhdGljIHZvaWQgbGliaXB3X3Byb2Nlc3NfcHJvYmVfcmVzcG9uc2Uoc3RydWN0IGxpYmlwd19kZXZpY2VcbiAjZW5kaWZcbiBcdHVuc2lnbmVkIGxvbmcgZmxhZ3M7XG4gXG4mIzQzO1x0aWYgKHN0YXRzLVx1MDAzZWxlbiBcdTAwM2Mgc2l6ZW9mKCpiZWFjb24pKVxuJiM0MztcdFx0cmV0dXJuO1xuJiM0MztcbiBcdExJQklQV19ERUJVR19TQ0FOKFwmIzM0OyYjMzk7JSpwRSYjMzk7ICglcE0pOiAlYyVjJWMlYyAlYyVjJWMlYy0lYyVjJWMlYyAlYyVjJWMlY1xcblwmIzM0OyxcbiBcdFx0ICAgICBpbmZvX2VsZW1lbnQtXHUwMDNlbGVuLCBpbmZvX2VsZW1lbnQtXHUwMDNlZGF0YSxcbiBcdFx0ICAgICBiZWFjb24tXHUwMDNlaGVhZGVyLmFkZHIzLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDIwOjQxPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgaXB3MjEwMCBhbmQgaXB3MjIwMCBkcml2ZXJzLCB3aGljaCBhcmUgZm9yIHBoeXNpY2FsIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIG1pbmktUENJIGNhcmRzLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBvdGhlciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1lYW5pbmcgdGhlIG1vZGlmaWVkIHBhY2tldCBwcm9jZXNzaW5nIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgb3IgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLAogIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwKICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKQogIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucwogICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgQWxzbyBjaGVjayAmIzM0O2RlcGVuZHMgb24mIzM0OyBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3MKICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzCiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGY3NzUyY2RlMjY4MWUwYjY5NmVjNDBjZmY2OTNlMDVkNjAyZDdmNmIKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIEF1ZyAxMiAyMDo0MTozMiAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMKaW5kZXggMmI4YTIzODY1YmZiMi4uNDNiNGU0MzI5NTZiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMKQEAgLTI3MTIsNyAmIzQzOzI3MTIsOSBAQCBzdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KQogCQkJCWJyZWFrOwogCQkJfQogI2VuZGlmCi0JCQlpZiAoc3RhdHMubGVuICZsdDsgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSkKJiM0MzsJCQlpZiAoc3EtJmd0O2RydltpXS5mcmFtZV9zaXplICZsdDsKJiM0MzsJCQkJICAgIHNpemVvZihzdHJ1Y3QgbGliaXB3X2hkcl8zYWRkcikgfHwKJiM0MzsJCQkgICAgc3EtJmd0O2RydltpXS5mcmFtZV9zaXplICZndDsgSVBXX1JYX05JQ19CVUZGRVJfTEVOR1RIKQogCQkJCWJyZWFrOwogCQkJc3dpdGNoIChXTEFOX0ZDX0dFVF9UWVBFKGxlMTZfdG9fY3B1KHUtJmd0O3J4X2RhdGEuaGVhZGVyLmZyYW1lX2N0bCkpKSB7CiAJCQljYXNlIElFRUU4MDIxMV9GVFlQRV9NR01UOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYwppbmRleCA0YmM5YmI0MDZlOGU4Li44MjQ5ZDQ5M2VlMjJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYwpAQCAtODMyMiw2ICYjNDM7ODMyMiwxNSBAQCBzdGF0aWMgdm9pZCBpcHdfcngoc3RydWN0IGlwd19wcml2ICpwcml2KQogCQkJCQlicmVhazsKIAkJCQl9CiAKJiM0MzsJCQkJaWYgKHVubGlrZWx5KGxlMTZfdG9fY3B1KHBrdC0mZ3Q7dS5mcmFtZS5sZW5ndGgpICZndDsKJiM0MzsJCQkJCSAgICAgSVBXX1JYX0JVRl9TSVpFIC0KJiM0MzsJCQkJCSAgICAgSVBXX1JYX0ZSQU1FX1NJWkUpKSB7CiYjNDM7CQkJCQlJUFdfREVCVUdfRFJPUCgmIzM0O1JlY2VpdmVkIG92ZXJzaXplZCBwYWNrZXQuIERyb3BwaW5nLlxuJiMzNDspOwomIzQzOwkJCQkJcHJpdi0mZ3Q7bmV0X2Rldi0mZ3Q7c3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOzsKJiM0MzsJCQkJCXByaXYtJmd0O3dzdGF0cy5kaXNjYXJkLm1pc2MmIzQzOyYjNDM7OwomIzQzOwkJCQkJYnJlYWs7CiYjNDM7CQkJCX0KJiM0MzsKIAkJCQlzd2l0Y2ggKFdMQU5fRkNfR0VUX1RZUEUKIAkJCQkJKGxlMTZfdG9fY3B1KGhlYWRlci0mZ3Q7ZnJhbWVfY3RsKSkpIHsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMKaW5kZXggYzg4NDFmOWI5YWQ5MS4uNDI0MzQ5YTY5MzVlNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jCkBAIC0xMjA5LDYgJiM0MzsxMjA5LDkgQEAgc3RhdGljIGludCBsaWJpcHdfaGFuZGxlX2Fzc29jX3Jlc3Aoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBsaWJpcHdfYXMKIAlzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmsgPSAmYW1wO25ldHdvcmtfcmVzcDsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gaWVlZS0mZ3Q7ZGV2OwogCiYjNDM7CWlmIChzdGF0cy0mZ3Q7bGVuICZsdDsgc2l6ZW9mKCpmcmFtZSkpCiYjNDM7CQlyZXR1cm4gMTsKJiM0MzsKIAluZXR3b3JrLSZndDtmbGFncyA9IDA7CiAJbmV0d29yay0mZ3Q7cW9zX2RhdGEuYWN0aXZlID0gMDsKIAluZXR3b3JrLSZndDtxb3NfZGF0YS5zdXBwb3J0ZWQgPSAwOwpAQCAtMTQyMSw2ICYjNDM7MTQyNCw5IEBAIHN0YXRpYyB2b2lkIGxpYmlwd19wcm9jZXNzX3Byb2JlX3Jlc3BvbnNlKHN0cnVjdCBsaWJpcHdfZGV2aWNlCiAjZW5kaWYKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiYjNDM7CWlmIChzdGF0cy0mZ3Q7bGVuICZsdDsgc2l6ZW9mKCpiZWFjb24pKQomIzQzOwkJcmV0dXJuOwomIzQzOwogCUxJQklQV19ERUJVR19TQ0FOKCYjMzQ7JiMzOTslKnBFJiMzOTsgKCVwTSk6ICVjJWMlYyVjICVjJWMlYyVjLSVjJWMlYyVjICVjJWMlYyVjXG4mIzM0OywKIAkJICAgICBpbmZvX2VsZW1lbnQtJmd0O2xlbiwgaW5mb19lbGVtZW50LSZndDtkYXRhLAogCQkgICAgIGJlYWNvbi0mZ3Q7aGVhZGVyLmFkZHIzLAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAyMDo0MTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyODY4CgkJCQkJCQlvdXRwdXQ6IDQxCgkJCQkJCQl0aG91Z2h0czogMzU3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgSVBXMjEwMC8yMjAwIFdpcmVsZXNzIERyaXZlciBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IGFkZHMgYm91bmRzIGNoZWNraW5nIHRvIGEgZmV3IGZ1bmN0aW9uczogYF9faXB3MjEwMF9yeF9wcm9jZXNzYCwgYGlwd19yeGAsIGBsaWJpcHdfaGFuZGxlX2Fzc29jX3Jlc3BgLCBhbmQgYGxpYmlwd19wcm9jZXNzX3Byb2JlX3Jlc3BvbnNlYC4gVGhlc2UgZnVuY3Rpb25zIGFyZSBhbGwgd2l0aGluIHRoZSBgaXB3MngwMGAgZGlyZWN0b3J5LCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBkcml2ZXJzLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsIGFyZSB3ZSBkZWFsaW5nIHdpdGggcGh5c2ljYWwgaGFyZHdhcmUgaGVyZT8gVGhlc2UgZHJpdmVycyBhcmUgZm9yIFBDSSBkZXZpY2VzLCBhbmQgdGhlIGNvZGUgc3VnZ2VzdHMgaXQmIzM5O3MgZm9yIHRoZSBjYXJkcyB0aGVtc2VsdmVzLCBtZWFuaW5nIHdlJiMzOTtyZSBub3QgZGVhbGluZyB3aXRoIGEgcHVyZWx5IHNvZnR3YXJlIG9yIGVtdWxhdGVkIGVudmlyb25tZW50LgoKVGhlIGJpZyBxdWVzdGlvbiBpcyB3aGV0aGVyIHdlIGNhbiByZWFsaXN0aWNhbGx5IGZ1enogdGhlc2UgZHJpdmVycy4gUENJIGRyaXZlcnMgZm9yIGFjdHVhbCBoYXJkd2FyZSwgZXNwZWNpYWxseSB0aG9zZSBub3QgZW11bGF0ZWQgaW4gUUVNVSBvciBzaW1pbGFyIGVudmlyb25tZW50cywgYXJlIHVzdWFsbHkgYSB0b3VnaCBudXQgdG8gY3JhY2sgZm9yIGZ1enppbmcuIFVubGVzcyB0aGVyZSYjMzk7cyBzb21lIHNvcnQgb2Ygc29mdHdhcmUgZW11bGF0aW9uIGxheWVyIGludm9sdmVkLgoKSG1tLCB3YWl0IGEgc2Vjb25kLiBJIHJlbWVtYmVyIGBtYWM4MDIxMV9od3NpbWAsIHRoYXQmIzM5O3MgZm9yIG1hYzgwMjExLiBCdXQgYGlwdzIxMDBgIGFuZCBgaXB3MjIwMGAgYXJlIGZ1bGwgTUFDIGRyaXZlcnMsIG9yIHBlcmhhcHMgc29mdCBNQUMgZHJpdmVycyBzaW5jZSB0aGV5IHVzZSBgbGliaXB3YC4gU28sIGlzIHRoZXJlIGFueSBlbXVsYXRpb24gZm9yIHRoZW0/IFByb2JhYmx5IG5vdCwgc2luY2UgdGhleSYjMzk7cmUgcGh5c2ljYWwgUENJIGRldmljZXMuIEkmIzM5O20gZ29pbmcgdG8gZG91YmxlLWNoZWNrIGBpcHcyMTAwLmNgIGFuZCBgaXB3MjIwMC5jYCB0byBiZSBjZXJ0YWluLiBHb3R0YSBiZSB0aG9yb3VnaC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAyMDo0MTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtwY2lfcmVnaXN0ZXJfZHJpdmVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NjUxNz1zdGF0aWMgaW50IF9faW5pdCBpcHcyMTAwX2luaXQodm9pZClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NTI1LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjUyNjpcdHJldCA9IHBjaV9yZWdpc3Rlcl9kcml2ZXIoXHUwMDI2aXB3MjEwMF9wY2lfZHJpdmVyKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY1MjctXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTExODg4PXN0YXRpYyBpbnQgX19pbml0IGlwd19pbml0KHZvaWQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTE4OTQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxMTg5NTpcdHJldCA9IHBjaV9yZWdpc3Rlcl9kcml2ZXIoXHUwMDI2aXB3X2RyaXZlcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMTg5Ni1cdGlmIChyZXQpIHtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAyMDo0MTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzOTQ1CgkJCQkJCQlvdXRwdXQ6IDI5CgkJCQkJCQl0aG91Z2h0czogMTg1CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgV29ydGhGdXp6aW5nIGZvciBUaGVzZSBEcml2ZXJzKioKCk9rYXksIHNvIHdlJiMzOTtyZSBsb29raW5nIGF0IFBDSSBkcml2ZXJzIGhlcmUuIFNwZWNpZmljYWxseSwgd2UmIzM5O3JlIHRhbGtpbmcgYWJvdXQgdGhvc2Ugb2xkIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIG1pbmktUENJIGNhcmRzLiBOb3csIHRoZSBrZXkgaXNzdWUgaXMgdGhhdCwgYXMgZmFyIGFzIEkgdW5kZXJzdGFuZCwgdGhlc2UgYXJlbiYjMzk7dCBlbXVsYXRlZCBhdCBhbGwgaW4gc3RhbmRhcmQgUUVNVS4gVGhpcyBpcyBhIHByb2JsZW0sIGJlY2F1c2UgaXQgbWVhbnMgdGhleSYjMzk7cmUgY29tcGxldGVseSBpbmFjY2Vzc2libGUgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gU28sIHN0cmFpZ2h0IG9mZiB0aGUgYmF0LCBteSBpbml0aWFsIGluc3RpbmN0IGlzIHRvIG1hcmsgdGhpcyBhcyBXb3J0aEZ1enppbmc9ZmFsc2UuIEkgbWVhbiwgaWYgd2UgY2FuJiMzOTt0IGV2ZW4gKnJlYWNoKiB0aGUgaGFyZHdhcmUsIHdoYXQmIzM5O3MgdGhlIHBvaW50PwoKQnV0IHdhaXQuIEJlZm9yZSBJIGRlZmluaXRpdmVseSBkaXNtaXNzIHRoaXMsIEkgbmVlZCB0byBjb25zaWRlciBpZiB0aGVyZSYjMzk7cyBhbnkgY29uY2VpdmFibGUgd2F5IHRvICppbmplY3QqIHBhY2tldHMgaW50byB0aGVzZSBkcml2ZXJzLCBldmVuIHdpdGhvdXQgdGhlIGhhcmR3YXJlIHByZXNlbnQuIFRoZSBjb2RlIG1vZGlmaWVzIGZ1bmN0aW9ucyBsaWtlIGBfX2lwdzIxMDBfcnhfcHJvY2Vzc2AsIGBpcHdfcnhgLCBgbGliaXB3X2hhbmRsZV9hc3NvY19yZXNwYCwgYW5kIGBsaWJpcHdfcHJvY2Vzc19wcm9iZV9yZXNwb25zZWAuIEZyb20gbXkgdW5kZXJzdGFuZGluZywgdGhlc2UgYXJlIGFsbCBpbnZvbHZlZCBpbiByZWNlaXZpbmcgcGFja2V0cyDigJMgcHJvY2Vzc2luZyBpbmNvbWluZyBkYXRhIGZyb20gdGhlIGhhcmR3YXJlLiBTaW5jZSB3ZSAqZG9uJiMzOTt0KiBoYXZlIHRoZSBoYXJkd2FyZSwgdGhlIGZsb3cgb2YgdGhlIGNvZGUgd29uJiMzOTt0IGV2ZW4gKnJlYWNoKiB0aGVzZSBwYXRjaGVkIGZ1bmN0aW9ucy4gVGhleSYjMzk7cmUgZGVhZCBjb2RlLCBpbiBlc3NlbmNlLCBpbiB0aGlzIHNjZW5hcmlvLgoKSSYjMzk7bSBnZXR0aW5nIGEgZmVlbGluZywgdGhvdWdoLCB0aGF0IEkgbWlnaHQgYmUgd3JvbmcuIExldCBtZSBqdXN0IHF1aWNrbHkgY29uZmlybSB0aGF0IGBsaWJpcHdgIGlzbiYjMzk7dCB1c2VkIGJ5IHNvbWV0aGluZyBlbHNlLCBhcyB0aGF0IG1heSBjaGFuZ2UgdGhlIGFzc2Vzc21lbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDE8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bGliaXB3JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiAzMjYzIGxpbmVzLlxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc9MTY0PWNvbmZpZyBMSUJJUFdfREVCVUdcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTY4LVx0ICBUaGlzIG9wdGlvbiB3aWxsIGVuYWJsZSBkZWJ1ZyB0cmFjaW5nIG91dHB1dCBmb3IgdGhlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTY5Olx0ICBsaWJpcHcgY29tcG9uZW50LlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTE3MC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTgzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjE4NDpcdCAgSWYgeW91IGFyZSBub3QgdHJ5aW5nIHRvIGRlYnVnIG9yIGRldmVsb3AgdGhlIGxpYmlwd1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTE4NS1cdCAgY29tcG9uZW50LCB5b3UgbW9zdCBsaWtlbHkgd2FudCB0byBzYXkgTiBoZXJlLlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU9Nz1vYmotJChDT05GSUdfSVBXMjIwMCkgJiM0Mzs9IGlwdzIyMDAub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS04LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZTo5Om9iai0kKENPTkZJR19MSUJJUFcpICYjNDM7PSBsaWJpcHcub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxMDpsaWJpcHctb2JqcyA6PSBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxMTpcdGxpYmlwd19tb2R1bGUubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxMjpcdGxpYmlwd190eC5vIFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjEzOlx0bGliaXB3X3J4Lm8gXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTQ6XHRsaWJpcHdfd3gubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxNTpcdGxpYmlwd19nZW8ubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxNjpcdGxpYmlwd19zcHkubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxNzpcdGxpYmlwd19jcnlwdG8ubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxODpcdGxpYmlwd19jcnlwdG9fY2NtcC5vIFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjE5Olx0bGliaXB3X2NyeXB0b190a2lwLm8gXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MjA6XHRsaWJpcHdfY3J5cHRvX3dlcC5vXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzI1PXN0YXRpYyBpbmxpbmUgdm9pZCByZWFkX3JlZ2lzdGVyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiByZWcsIHUzMiAqIHZhbClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMyNi17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzozMjc6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMyOC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zMzM9c3RhdGljIGlubGluZSB2b2lkIHdyaXRlX3JlZ2lzdGVyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiByZWcsIHUzMiB2YWwpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMzQte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzM1Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMzYtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzQxPXN0YXRpYyBpbmxpbmUgdm9pZCByZWFkX3JlZ2lzdGVyX3dvcmQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIHJlZyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNDMte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzQ0Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNDUtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzUwPXN0YXRpYyBpbmxpbmUgdm9pZCByZWFkX3JlZ2lzdGVyX2J5dGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIHJlZywgdTggKiB2YWwpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTEte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzUyOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTMtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzU4PXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9yZWdpc3Rlcl93b3JkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiByZWcsIHUxNiB2YWwpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTkte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzYwOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNjEtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzY2PXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9yZWdpc3Rlcl9ieXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiByZWcsIHU4IHZhbClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTM2Ny17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzozNjg6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTM2OS1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0xNjQwPXN0YXRpYyBpbnQgaXB3MjEwMF9zdGFydF9zY2FuKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTY4MC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE2ODE6c3RhdGljIGNvbnN0IHN0cnVjdCBsaWJpcHdfZ2VvIGlwd19nZW9zW10gPSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNjgyLVx0e1x0XHRcdC8qIFJlc3RyaWN0ZWQgKi9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0xNjkzPXN0YXRpYyBpbnQgaXB3MjEwMF91cChzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgZGVmZXJyZWQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTcwMS1cdGlmIChwcml2LVx1MDAzZXN1c3BlbmRfdGltZSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTcwMjpcdFx0bGliaXB3X25ldHdvcmtzX2FnZShwcml2LVx1MDAzZWllZWUsIHByaXYtXHUwMDNlc3VzcGVuZF90aW1lKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE3MDMtXHRcdHByaXYtXHUwMDNlc3VzcGVuZF90aW1lID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzU5LVx0LyogSW5pdGlhbGl6ZSB0aGUgZ2VvICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxNzYwOlx0bGliaXB3X3NldF9nZW8ocHJpdi1cdTAwM2VpZWVlLCBcdTAwMjZpcHdfZ2Vvc1swXSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzYxLVx0cHJpdi1cdTAwM2VpZWVlLVx1MDAzZWZyZXFfYmFuZCA9IExJQklQV18yNEdIWl9CQU5EO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTE4NzM9c3RhdGljIGludCBpcHcyMTAwX3dkZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTg3NC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxODc1Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxODc2Olx0Y29uc3Qgc3RydWN0IGxpYmlwd19nZW8gKmdlbyA9IGxpYmlwd19nZXRfZ2VvKHByaXYtXHUwMDNlaWVlZSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xODc3LVx0c3RydWN0IHdpcmVsZXNzX2RldiAqd2RldiA9IFx1MDAyNnByaXYtXHUwMDNlaWVlZS1cdTAwM2V3ZGV2O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTIzMzA9c3RhdGljIHUzMiBpcHcyMTAwX21hdGNoX2J1ZihzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCB1OCAqIGluX2J1Zixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yMzc3LSAqXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyMzc4OiAqIC4gIGxpYmlwd19oZHJcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjIzNzk6ICogLiAgbGliaXB3X3NuYXBfaGRyXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yMzgwLSAqXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjQzMz1zdGF0aWMgdm9pZCBpc3Jfcngoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiwgaW50IGksXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDM0Olx0XHRcdCAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDM1LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDcxLVx0LyogTWFrZSBhIGNvcHkgb2YgdGhlIGZyYW1lIHNvIHdlIGNhbiBkdW1wIGl0IHRvIHRoZSBsb2dzIGlmXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDcyOlx0ICogbGliaXB3X3J4IGZhaWxzICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDczLVx0c2tiX2NvcHlfZnJvbV9saW5lYXJfZGF0YShwYWNrZXQtXHUwMDNlc2tiLCBwYWNrZXRfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ3ODpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlaWVlZSwgcGFja2V0LVx1MDAzZXNrYiwgc3RhdHMpKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc5LSNpZmRlZiBJUFcyMTAwX1JYX0RFQlVHXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ4NS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0ODY6XHRcdC8qIGxpYmlwd19yeCBmYWlsZWQsIHNvIGl0IGRpZG4mIzM5O3QgZnJlZSB0aGUgU0tCICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDg3LVx0XHRkZXZfa2ZyZWVfc2tiX2FueShwYWNrZXQtXHUwMDNlc2tiKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNTA2PXN0YXRpYyB2b2lkIGlzcl9yeF9tb25pdG9yKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCBpLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjUwNzpcdFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTA4LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjU2NTpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlaWVlZSwgcGFja2V0LVx1MDAzZXNrYiwgc3RhdHMpKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY2LVx0XHRkZXYtXHUwMDNlc3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNTY4Olx0XHQvKiBsaWJpcHdfcnggZmFpbGVkLCBzbyBpdCBkaWRuJiMzOTt0IGZyZWUgdGhlIFNLQiAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2OS1cdFx0ZGV2X2tmcmVlX3NrYl9hbnkocGFja2V0LVx1MDAzZXNrYik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjY0ND1zdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2NTEtXHRzdHJ1Y3QgaXB3MjEwMF9yeCAqdTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI2NTI6XHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHN0YXRzID0ge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjY1My1cdFx0Lm1hY190aW1lID0gamlmZmllcyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzE1LVx0XHRcdGlmIChzcS1cdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcdTAwM2NcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI3MTY6XHRcdFx0XHQgICAgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSB8fFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjcxNy1cdFx0XHQgICAgc3EtXHUwMDNlZHJ2W2ldLmZyYW1lX3NpemUgXHUwMDNlIElQV19SWF9OSUNfQlVGRkVSX0xFTkdUSClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzIwLVx0XHRcdGNhc2UgSUVFRTgwMjExX0ZUWVBFX01HTVQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNzIxOlx0XHRcdFx0bGliaXB3X3J4X21ndChwcml2LVx1MDAzZWllZWUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzIyLVx0XHRcdFx0XHRcdCBcdTAwMjZ1LVx1MDAzZXJ4X2RhdGEuaGVhZGVyLCBcdTAwMjZzdGF0cyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Mjc5MT1zdGF0aWMgaW50IF9faXB3MjEwMF90eF9wcm9jZXNzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjkxMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI5MTQ6XHRcdGxpYmlwd190eGJfZnJlZShwYWNrZXQtXHUwMDNlaW5mby5kX3N0cnVjdC50eGIpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjkxNS1cdFx0cGFja2V0LVx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zMDQ5PXN0YXRpYyB2b2lkIGlwdzIxMDBfdHhfc2VuZF9kYXRhKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzA1Ny1cdHN0cnVjdCBpcHcyMTAwX2RhdGFfaGVhZGVyICppcHdfaGRyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzA1ODpcdHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyICpoZHI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMDU5LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMwOTEtXHRcdGlwd19oZHIgPSBwYWNrZXQtXHUwMDNlaW5mby5kX3N0cnVjdC5kYXRhO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzA5MjpcdFx0aGRyID0gKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyICopcGFja2V0LVx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiLVx1MDAzZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzA5My1cdFx0ICAgIGZyYWdtZW50c1swXS1cdTAwM2VkYXRhO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTMzMTM9c3RhdGljIGlycXJldHVybl90IGlwdzIxMDBfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRhdGEpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzM2Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMzNjM6c3RhdGljIG5ldGRldl90eF90IGlwdzIxMDBfdHgoc3RydWN0IGxpYmlwd190eGIgKnR4YixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMzNjQtXHRcdFx0ICAgICAgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgaW50IHByaSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMzNjUte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzM2NjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzM2Ny1cdHN0cnVjdCBsaXN0X2hlYWQgKmVsZW1lbnQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NDQ1ND1zdGF0aWMgdm9pZCBpcHcyMTAwX3R4X2luaXRpYWxpemUoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy00NDc3LVx0XHRpZiAocHJpdi1cdTAwM2V0eF9idWZmZXJzW2ldLmluZm8uZF9zdHJ1Y3QudHhiKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo0NDc4Olx0XHRcdGxpYmlwd190eGJfZnJlZShwcml2LVx1MDAzZXR4X2J1ZmZlcnNbaV0uaW5mby5kX3N0cnVjdC5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTQ0NzktXHRcdFx0XHRcdCAgIHR4Yik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NDUwND1zdGF0aWMgdm9pZCBpcHcyMTAwX3R4X2ZyZWUoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy00NTE2LVx0XHRpZiAocHJpdi1cdTAwM2V0eF9idWZmZXJzW2ldLmluZm8uZF9zdHJ1Y3QudHhiKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo0NTE3Olx0XHRcdGxpYmlwd190eGJfZnJlZShwcml2LVx1MDAzZXR4X2J1ZmZlcnNbaV0uaW5mby5kX3N0cnVjdC5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTQ1MTgtXHRcdFx0XHRcdCAgIHR4Yik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTU0Mz1zdGF0aWMgdm9pZCBzaGltX19zZXRfc2VjdXJpdHkoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU1NDQ6XHRcdFx0ICAgICAgIHN0cnVjdCBsaWJpcHdfc2VjdXJpdHkgKnNlYylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU1NDUte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTU0NjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTU0Ny1cdGludCBpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTU3MzI9c3RhdGljIGludCBpcHcyMTAwX3NldF9hZGRyZXNzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHZvaWQgKnApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01NzMzLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU3MzQ6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3MzUtXHRzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIgPSBwO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTU3NjA9c3RhdGljIGludCBpcHcyMTAwX29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3NjEte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTc2MjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTc2My1cdHVuc2lnbmVkIGxvbmcgZmxhZ3M7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTc3Nj1zdGF0aWMgaW50IGlwdzIxMDBfY2xvc2Uoc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3Nzcte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTc3ODpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTc3OS1cdHVuc2lnbmVkIGxvbmcgZmxhZ3M7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTc5OC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU3OTk6XHRcdGxpYmlwd190eGJfZnJlZShwYWNrZXQtXHUwMDNlaW5mby5kX3N0cnVjdC50eGIpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTgwMC1cdFx0cGFja2V0LVx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01ODE1PXN0YXRpYyB2b2lkIGlwdzIxMDBfdHhfdGltZW91dChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgdHhxdWV1ZSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4MTYte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTgxNzpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTgxOC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01ODM5PXN0YXRpYyBpbnQgaXB3MjEwMF93cGFfc2V0X2F1dGhfYWxncyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgdmFsdWUpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTg0MS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU4NDI6XHRzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSA9IHByaXYtXHUwMDNlaWVlZTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU4NDM6XHRzdHJ1Y3QgbGliaXB3X3NlY3VyaXR5IHNlYyA9IHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4NDQtXHRcdC5mbGFncyA9IFNFQ19BVVRIX01PREUsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTg4NT1zdGF0aWMgdm9pZCBpcHdfZXRodG9vbF9nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4ODcte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTg4ODpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTg4OS1cdGNoYXIgZndfdmVyWzY0XTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01OTAxPXN0YXRpYyB1MzIgaXB3MjEwMF9ldGh0b29sX2dldF9saW5rKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01OTAyLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU5MDM6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU5MDQtXHRyZXR1cm4gKHByaXYtXHUwMDNlc3RhdHVzIFx1MDAyNiBTVEFUVVNfQVNTT0NJQVRFRCkgPyAxIDogMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01OTg3PXN0YXRpYyBjb25zdCBzdHJ1Y3QgbmV0X2RldmljZV9vcHMgaXB3MjEwMF9uZXRkZXZfb3BzID0ge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU5ODktXHQubmRvX3N0b3BcdFx0PSBpcHcyMTAwX2Nsb3NlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTk5MDpcdC5uZG9fc3RhcnRfeG1pdFx0XHQ9IGxpYmlwd194bWl0LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTk5MS1cdC5uZG9fdHhfdGltZW91dFx0XHQ9IGlwdzIxMDBfdHhfdGltZW91dCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01OTk1LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTk5NjovKiBMb29rIGludG8gdXNpbmcgbmV0ZGV2IGRlc3RydWN0b3IgdG8gc2h1dGRvd24gbGliaXB3PyAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTk5Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTU5OTg9c3RhdGljIHN0cnVjdCBuZXRfZGV2aWNlICppcHcyMTAwX2FsbG9jX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGNpX2Rldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDAzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjAwNDpcdGRldiA9IGFsbG9jX2xpYmlwdyhzaXplb2Yoc3RydWN0IGlwdzIxMDBfcHJpdiksIDApO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAwNS1cdGlmICghZGV2KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAwNi1cdFx0cmV0dXJuIE5VTEw7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MDA3Olx0cHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDA4LVx0cHJpdi1cdTAwM2VpZWVlID0gbmV0ZGV2X3ByaXYoZGV2KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02MTIyPXN0YXRpYyBpbnQgaXB3MjEwMF9wY2lfaW5pdF9vbmUoc3RydWN0IHBjaV9kZXYgKnBjaV9kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjE2MS1cdFx0ICAgICAgIFwmIzM0O0Vycm9yIGNhbGxpbmcgcGNpX2VuYWJsZV9kZXZpY2UuXFxuXCYjMzQ7KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYxNjI6XHRcdGZyZWVfbGliaXB3KGRldiwgMCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MTYzLVx0XHRwY2lfaW91bm1hcChwY2lfZGV2LCBpb2FkZHIpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTYxNjYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MTY3Olx0cHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MTY4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTYzMTAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MzExOlx0XHRmcmVlX2xpYmlwdyhkZXYsIDApO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjMxMi1cdH1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02MzIxPXN0YXRpYyB2b2lkIGlwdzIxMDBfcGNpX3JlbW92ZV9vbmUoc3RydWN0IHBjaV9kZXYgKnBjaV9kZXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM1OS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYzNjA6XHQvKiB3aXBoeV91bnJlZ2lzdGVyIG5lZWRzIHRvIGJlIGhlcmUsIGJlZm9yZSBmcmVlX2xpYmlwdyAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM2MS1cdHdpcGh5X3VucmVnaXN0ZXIocHJpdi1cdTAwM2VpZWVlLVx1MDAzZXdkZXYud2lwaHkpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM2Mi1cdGtmcmVlKHByaXYtXHUwMDNlaWVlZS1cdTAwM2ViZ19iYW5kLmNoYW5uZWxzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYzNjM6XHRmcmVlX2xpYmlwdyhkZXYsIDApO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM2NC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NTU3PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfbmFtZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY1NjQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2NTY1Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NTY2LVx0aWYgKCEocHJpdi1cdTAwM2VzdGF0dXMgXHUwMDI2IFNUQVRVU19BU1NPQ0lBVEVEKSlcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NTc1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZnJlcShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY1Nzgte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjU3OTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjU4MC1cdHN0cnVjdCBpd19mcmVxICpmd3JxID0gXHUwMDI2d3JxdS1cdTAwM2VmcmVxO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTY2MjE9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9mcmVxKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjYyOC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY2Mjk6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY2MzAtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NjY0Nj1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X21vZGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NjQ5LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY2NTA6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY2NTEtXHRpbnQgZXJyID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02Njg1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY2OTItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2NjkzOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02Njk0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTY3MjA9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9yYW5nZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY3MjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2NzI4Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NzI5LVx0c3RydWN0IGl3X3JhbmdlICpyYW5nZSA9IChzdHJ1Y3QgaXdfcmFuZ2UgKilleHRyYTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02ODQ1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfd2FwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjg0OC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2ODQ5Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02ODUwLVx0aW50IGVyciA9IDA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njg4Mz1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3dhcChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY4OTAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2ODkxOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02ODkyLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTY5MDU9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9lc3NpZChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY5MDgte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjkwOTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjkxMC1cdGNoYXIgKmVzc2lkID0gXCYjMzQ7XCYjMzQ7O1x0LyogQU5ZICovXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njk1ND1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2Vzc2lkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjk2MS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY5NjI6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY5NjMtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njk4MT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X25pY2soc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02OTg4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6Njk4OTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjk5MC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MDAzPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfbmljayhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcwMTAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MDExOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDEyLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcwMjI9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9yYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzAyNS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MDI2Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDI3LVx0dTMyIHRhcmdldF9yYXRlID0gd3JxdS1cdTAwM2ViaXRyYXRlLnZhbHVlO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcwNjI9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9yYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzA2NS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MDY2Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDY3LVx0aW50IHZhbDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MTE0PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcnRzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzExNy17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MTE4Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MTE5LVx0aW50IHZhbHVlLCBlcnI7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzE0OT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3J0cyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcxNTYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MTU3Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MTU4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcxNzA9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF90eHBvdyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcxNzMte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzE3NDpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzE3NS1cdGludCBlcnIgPSAwLCB2YWx1ZTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MjExPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfdHhwb3coc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MjE4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzIxOTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzIyMC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MjM4PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZnJhZyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcyNDUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MjQ2Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MjQ3LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcyNjg9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9mcmFnKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzI3NS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcyNzY6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcyNzctXHR3cnF1LVx1MDAzZWZyYWcudmFsdWUgPSBwcml2LVx1MDAzZWZyYWdfdGhyZXNob2xkIFx1MDAyNiB+RlJBR19ESVNBQkxFRDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03Mjg2PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcmV0cnkoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03Mjg5LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcyOTA6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcyOTEtXHRpbnQgZXJyID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MzMwPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfcmV0cnkoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MzM3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzMzODpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzMzOS1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MzYyPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfc2NhbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTczNjUte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzM2NjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzM2Ny1cdGludCBlcnIgPSAwO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTczOTA9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9zY2FuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzM5Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjczOTg6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjczOTk6XHRyZXR1cm4gbGliaXB3X3d4X2dldF9zY2FuKHByaXYtXHUwMDNlaWVlZSwgaW5mbywgd3JxdSwgZXh0cmEpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzQwMC19XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzQwNT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X2VuY29kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MTItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NDEzOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NDE0Olx0cmV0dXJuIGxpYmlwd193eF9zZXRfZW5jb2RlKHByaXYtXHUwMDNlaWVlZSwgaW5mbywgd3JxdSwga2V5KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MTUtfVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc0MTc9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9lbmNvZGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDI0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQyNTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQyNjpcdHJldHVybiBsaWJpcHdfd3hfZ2V0X2VuY29kZShwcml2LVx1MDAzZWllZWUsIGluZm8sIHdycXUsIGtleSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDI3LX1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NDI5PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcG93ZXIoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDMyLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc0MzM6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MzQtXHRpbnQgZXJyID0gMDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NDc0PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfcG93ZXIoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDgxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQ4MjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzQ4My1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NTAxPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZ2VuaWUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTA1LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzUwNjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzUwNzpcdHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlID0gcHJpdi1cdTAwM2VpZWVlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzUwOC1cdHU4ICpidWY7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzUzNz1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2dlbmllKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzU0MC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTQxOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTQyOlx0c3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUgPSBwcml2LVx1MDAzZWllZWU7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTQzLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc1NTk9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9hdXRoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzU2Mi17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTYzOlx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTY0Olx0c3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUgPSBwcml2LVx1MDAzZWllZWU7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTY1LVx0c3RydWN0IGl3X3BhcmFtICpwYXJhbSA9IFx1MDAyNndycXUtXHUwMDNlcGFyYW07XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTY2Olx0c3RydWN0IGxpYmlwd19jcnlwdF9kYXRhICpjcnlwdDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc1NjctXHR1bnNpZ25lZCBsb25nIGZsYWdzO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc2MDctXHRcdFx0ICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NjA4Olx0XHRcdHN0cnVjdCBsaWJpcHdfc2VjdXJpdHkgc2VjID0ge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzYwOS1cdFx0XHRcdC5mbGFncyA9IFNFQ19FTkFCTEVELFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc2NTI9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9hdXRoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzY1NS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NjU2Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NjU3Olx0c3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUgPSBwcml2LVx1MDAzZWllZWU7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NjU4Olx0c3RydWN0IGxpYmlwd19jcnlwdF9kYXRhICpjcnlwdDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc2NTktXHRzdHJ1Y3QgaXdfcGFyYW0gKnBhcmFtID0gXHUwMDI2d3JxdS1cdTAwM2VwYXJhbTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NzEyPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZW5jb2RlZXh0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzcxNS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NzE2Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NzE3Olx0cmV0dXJuIGxpYmlwd193eF9zZXRfZW5jb2RlZXh0KHByaXYtXHUwMDNlaWVlZSwgaW5mbywgd3JxdSwgZXh0cmEpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzcxOC19XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzcyMT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2VuY29kZWV4dChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3MjQte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzcyNTpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzcyNjpcdHJldHVybiBsaWJpcHdfd3hfZ2V0X2VuY29kZWV4dChwcml2LVx1MDAzZWllZWUsIGluZm8sIHdycXUsIGV4dHJhKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3MjctfVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc3MzA9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9tbG1lKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzczMy17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NzM0Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NzM1LVx0c3RydWN0IGl3X21sbWUgKm1sbWUgPSAoc3RydWN0IGl3X21sbWUgKilleHRyYTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NzU4PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcHJvbWlzYyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3NjEte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6Nzc2MjpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzc2My1cdGludCAqcGFybXMgPSAoaW50ICopZXh0cmE7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Nzc4OT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfcmVzZXQoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NzkyLXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc3OTM6XHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3OTQtXHRpZiAocHJpdi1cdTAwM2VzdGF0dXMgXHUwMDI2IFNUQVRVU19JTklUSUFMSVpFRClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03ODAxPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcG93ZXJtb2RlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzgwNC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3ODA1Olx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03ODA2LVx0aW50IGVyciA9IDAsIG1vZGUgPSAqKGludCAqKWV4dHJhO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc4MjU9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9wb3dlcm1vZGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03ODMyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzgzMzpcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDE8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTk5OTcKCQkJCQkJCW91dHB1dDogMTA2CgkJCQkJCQl0aG91Z2h0czogMTg2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgbGliaXB3JiMzOTtzIEZ1enppbmcgUG90ZW50aWFsKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBgbGliaXB3YCBhbmQgaXRzIHJlbGF0aW9uc2hpcCB0byB0aGUgYGlwdzIxMDBgIGFuZCBgaXB3MjIwMGAgZHJpdmVycy4gSSBpbW1lZGlhdGVseSByZWNvZ25pemUgdGhvc2UgYXMgb2xkZXIgSW50ZWwgd2lyZWxlc3MgZHJpdmVycy4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCAmIzM0O0FyZSB0aGVyZSBhbnkgb3RoZXIgZHJpdmVycyBsZXZlcmFnaW5nIGBsaWJpcHdgIHRoYXQgbWlnaHQgYmUgcmVsZXZhbnQ/JiMzNDsgSSBuZWVkIHRvIGNvbmZpcm0gdGhlIHNjb3BlIG9mIGl0cyB1c2UuCgpMZXQmIzM5O3MgcXVpY2tseSBjaGVjayB0aGUgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGVgIHRvIHZlcmlmeS4gQWhhLCB0aGUgbWFrZWZpbGUgY2xlYXJseSBzaG93czoKCiogICBgb2JqLSQoQ09ORklHX0lQVzIxMDApICYjNDM7PSBpcHcyMTAwLm9gCiogICBgb2JqLSQoQ09ORklHX0lQVzIyMDApICYjNDM7PSBpcHcyMjAwLm9gCiogICBgb2JqLSQoQ09ORklHX0xJQklQVykgJiM0Mzs9IGxpYmlwdy5vYAoKUGVyZmVjdCwgc28gYGxpYmlwd2AgaXMgaW5kZWVkICpvbmx5KiB1c2VkIGJ5IGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgLiBTaW5jZSB0aG9zZSBhcmUgYm90aCBwaHlzaWNhbCBoYXJkd2FyZSBkcml2ZXJzIGFuZCBub3QgdmlydHVhbGl6ZWQsIHRoZWlyIGNvZGUgaXMgZXNzZW50aWFsbHkgdW5yZWFjaGFibGUgd2l0aGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuIENvbnNlcXVlbnRseSwgZnV6emluZyB0aGVzZSBkcml2ZXJzLCBhbmQgYnkgZXh0ZW5zaW9uIGBsaWJpcHdgLCBpbiBhIHZpcnR1YWxpemVkIGNvbnRleHQgaXMgbm90IGEgcHJvZHVjdGl2ZSBwYXRoIGZvciBtZSB0byBwdXJzdWUuIFRpbWUgdG8gbW92ZSBvbi4gSSB3aWxsIHJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDE8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgaXB3MjEwMCBhbmQgaXB3MjIwMCBkcml2ZXJzLCB3aGljaCBhcmUgZm9yIHBoeXNpY2FsIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIG1pbmktUENJIGNhcmRzLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBvdGhlciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1lYW5pbmcgdGhlIG1vZGlmaWVkIHBhY2tldCBwcm9jZXNzaW5nIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgb3IgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGlwdzIxMDAgYW5kIGlwdzIyMDAgZHJpdmVycywgd2hpY2ggYXJlIGZvciBwaHlzaWNhbCBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBtaW5pLVBDSSBjYXJkcy4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3Igb3RoZXIgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtZWFuaW5nIHRoZSBtb2RpZmllZCBwYWNrZXQgcHJvY2Vzc2luZyBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIG9yIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMjA6NDE8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPklmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQxOjMzLjg4NTc1NjIwNloiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE3Njg2NzgwODY1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGlwdzIxMDAgYW5kIGlwdzIyMDAgZHJpdmVycywgd2hpY2ggYXJlIGZvciBwaHlzaWNhbCBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBtaW5pLVBDSSBjYXJkcy4gVGhlc2UgZGV2aWNlcyBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3Igb3RoZXIgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtZWFuaW5nIHRoZSBtb2RpZmllZCBwYWNrZXQgcHJvY2Vzc2luZyBjb2RlIHBhdGhzIGNhbm5vdCBiZSByZWFjaGVkIG9yIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQxOjMzLjg4NTc2Mjg3NVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDAyODQzOTc4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZjc3NTJjZGUyNjgxZTBiNjk2ZWM0MGNmZjY5M2UwNWQ2MDJkN2Y2YlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEF1ZyAxMiAyMDo0MTozMiAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jXFxuaW5kZXggMmI4YTIzODY1YmZiMi4uNDNiNGU0MzI5NTZiZSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuY1xcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jXFxuQEAgLTI3MTIsNyArMjcxMiw5IEBAIHN0YXRpYyB2b2lkIF9faXB3MjEwMF9yeF9wcm9jZXNzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXFxuIFxcdFxcdFxcdFxcdGJyZWFrO1xcbiBcXHRcXHRcXHR9XFxuICNlbmRpZlxcbi1cXHRcXHRcXHRpZiAoc3RhdHMubGVuIFxcdTAwM2Mgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSlcXG4rXFx0XFx0XFx0aWYgKHNxLVxcdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcXHUwMDNjXFxuK1xcdFxcdFxcdFxcdCAgICBzaXplb2Yoc3RydWN0IGxpYmlwd19oZHJfM2FkZHIpIHx8XFxuK1xcdFxcdFxcdCAgICBzcS1cXHUwMDNlZHJ2W2ldLmZyYW1lX3NpemUgXFx1MDAzZSBJUFdfUlhfTklDX0JVRkZFUl9MRU5HVEgpXFxuIFxcdFxcdFxcdFxcdGJyZWFrO1xcbiBcXHRcXHRcXHRzd2l0Y2ggKFdMQU5fRkNfR0VUX1RZUEUobGUxNl90b19jcHUodS1cXHUwMDNlcnhfZGF0YS5oZWFkZXIuZnJhbWVfY3RsKSkpIHtcXG4gXFx0XFx0XFx0Y2FzZSBJRUVFODAyMTFfRlRZUEVfTUdNVDpcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuY1xcbmluZGV4IDRiYzliYjQwNmU4ZTguLjgyNDlkNDkzZWUyMmYgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuY1xcbkBAIC04MzIyLDYgKzgzMjIsMTUgQEAgc3RhdGljIHZvaWQgaXB3X3J4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdilcXG4gXFx0XFx0XFx0XFx0XFx0YnJlYWs7XFxuIFxcdFxcdFxcdFxcdH1cXG4gXFxuK1xcdFxcdFxcdFxcdGlmICh1bmxpa2VseShsZTE2X3RvX2NwdShwa3QtXFx1MDAzZXUuZnJhbWUubGVuZ3RoKSBcXHUwMDNlXFxuK1xcdFxcdFxcdFxcdFxcdCAgICAgSVBXX1JYX0JVRl9TSVpFIC1cXG4rXFx0XFx0XFx0XFx0XFx0ICAgICBJUFdfUlhfRlJBTUVfU0laRSkpIHtcXG4rXFx0XFx0XFx0XFx0XFx0SVBXX0RFQlVHX0RST1AoXFxcIlJlY2VpdmVkIG92ZXJzaXplZCBwYWNrZXQuIERyb3BwaW5nLlxcXFxuXFxcIik7XFxuK1xcdFxcdFxcdFxcdFxcdHByaXYtXFx1MDAzZW5ldF9kZXYtXFx1MDAzZXN0YXRzLnJ4X2Vycm9ycysrO1xcbitcXHRcXHRcXHRcXHRcXHRwcml2LVxcdTAwM2V3c3RhdHMuZGlzY2FyZC5taXNjKys7XFxuK1xcdFxcdFxcdFxcdFxcdGJyZWFrO1xcbitcXHRcXHRcXHRcXHR9XFxuK1xcbiBcXHRcXHRcXHRcXHRzd2l0Y2ggKFdMQU5fRkNfR0VUX1RZUEVcXG4gXFx0XFx0XFx0XFx0XFx0KGxlMTZfdG9fY3B1KGhlYWRlci1cXHUwMDNlZnJhbWVfY3RsKSkpIHtcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXFxuaW5kZXggYzg4NDFmOWI5YWQ5MS4uNDI0MzQ5YTY5MzVlNCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xcbkBAIC0xMjA5LDYgKzEyMDksOSBAQCBzdGF0aWMgaW50IGxpYmlwd19oYW5kbGVfYXNzb2NfcmVzcChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IGxpYmlwd19hc1xcbiBcXHRzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmsgPSBcXHUwMDI2bmV0d29ya19yZXNwO1xcbiBcXHRzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gaWVlZS1cXHUwMDNlZGV2O1xcbiBcXG4rXFx0aWYgKHN0YXRzLVxcdTAwM2VsZW4gXFx1MDAzYyBzaXplb2YoKmZyYW1lKSlcXG4rXFx0XFx0cmV0dXJuIDE7XFxuK1xcbiBcXHRuZXR3b3JrLVxcdTAwM2VmbGFncyA9IDA7XFxuIFxcdG5ldHdvcmstXFx1MDAzZXFvc19kYXRhLmFjdGl2ZSA9IDA7XFxuIFxcdG5ldHdvcmstXFx1MDAzZXFvc19kYXRhLnN1cHBvcnRlZCA9IDA7XFxuQEAgLTE0MjEsNiArMTQyNCw5IEBAIHN0YXRpYyB2b2lkIGxpYmlwd19wcm9jZXNzX3Byb2JlX3Jlc3BvbnNlKHN0cnVjdCBsaWJpcHdfZGV2aWNlXFxuICNlbmRpZlxcbiBcXHR1bnNpZ25lZCBsb25nIGZsYWdzO1xcbiBcXG4rXFx0aWYgKHN0YXRzLVxcdTAwM2VsZW4gXFx1MDAzYyBzaXplb2YoKmJlYWNvbikpXFxuK1xcdFxcdHJldHVybjtcXG4rXFxuIFxcdExJQklQV19ERUJVR19TQ0FOKFxcXCInJSpwRScgKCVwTSk6ICVjJWMlYyVjICVjJWMlYyVjLSVjJWMlYyVjICVjJWMlYyVjXFxcXG5cXFwiLFxcbiBcXHRcXHQgICAgIGluZm9fZWxlbWVudC1cXHUwMDNlbGVuLCBpbmZvX2VsZW1lbnQtXFx1MDAzZWRhdGEsXFxuIFxcdFxcdCAgICAgYmVhY29uLVxcdTAwM2VoZWFkZXIuYWRkcjMsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQxOjM0LjI4OTI5MDMzNFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjE3MjgzMjMyNDI2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgaXB3MjEwMCBhbmQgaXB3MjIwMCBkcml2ZXJzLCB3aGljaCBhcmUgZm9yIHBoeXNpY2FsIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIG1pbmktUENJIGNhcmRzLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBvdGhlciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1lYW5pbmcgdGhlIG1vZGlmaWVkIHBhY2tldCBwcm9jZXNzaW5nIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgb3IgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZjc3NTJjZGUyNjgxZTBiNjk2ZWM0MGNmZjY5M2UwNWQ2MDJkN2Y2YlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDEyIDIwOjQxOjMyIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuY1xuaW5kZXggMmI4YTIzODY1YmZiMi4uNDNiNGU0MzI5NTZiZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuY1xuQEAgLTI3MTIsNyArMjcxMiw5IEBAIHN0YXRpYyB2b2lkIF9faXB3MjEwMF9yeF9wcm9jZXNzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXG4gXHRcdFx0XHRicmVhaztcbiBcdFx0XHR9XG4gI2VuZGlmXG4tXHRcdFx0aWYgKHN0YXRzLmxlbiBcdTAwM2Mgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSlcbitcdFx0XHRpZiAoc3EtXHUwMDNlZHJ2W2ldLmZyYW1lX3NpemUgXHUwMDNjXG4rXHRcdFx0XHQgICAgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSB8fFxuK1x0XHRcdCAgICBzcS1cdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcdTAwM2UgSVBXX1JYX05JQ19CVUZGRVJfTEVOR1RIKVxuIFx0XHRcdFx0YnJlYWs7XG4gXHRcdFx0c3dpdGNoIChXTEFOX0ZDX0dFVF9UWVBFKGxlMTZfdG9fY3B1KHUtXHUwMDNlcnhfZGF0YS5oZWFkZXIuZnJhbWVfY3RsKSkpIHtcbiBcdFx0XHRjYXNlIElFRUU4MDIxMV9GVFlQRV9NR01UOlxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmNcbmluZGV4IDRiYzliYjQwNmU4ZTguLjgyNDlkNDkzZWUyMmYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmNcbkBAIC04MzIyLDYgKzgzMjIsMTUgQEAgc3RhdGljIHZvaWQgaXB3X3J4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdilcbiBcdFx0XHRcdFx0YnJlYWs7XG4gXHRcdFx0XHR9XG4gXG4rXHRcdFx0XHRpZiAodW5saWtlbHkobGUxNl90b19jcHUocGt0LVx1MDAzZXUuZnJhbWUubGVuZ3RoKSBcdTAwM2VcbitcdFx0XHRcdFx0ICAgICBJUFdfUlhfQlVGX1NJWkUgLVxuK1x0XHRcdFx0XHQgICAgIElQV19SWF9GUkFNRV9TSVpFKSkge1xuK1x0XHRcdFx0XHRJUFdfREVCVUdfRFJPUChcIlJlY2VpdmVkIG92ZXJzaXplZCBwYWNrZXQuIERyb3BwaW5nLlxcblwiKTtcbitcdFx0XHRcdFx0cHJpdi1cdTAwM2VuZXRfZGV2LVx1MDAzZXN0YXRzLnJ4X2Vycm9ycysrO1xuK1x0XHRcdFx0XHRwcml2LVx1MDAzZXdzdGF0cy5kaXNjYXJkLm1pc2MrKztcbitcdFx0XHRcdFx0YnJlYWs7XG4rXHRcdFx0XHR9XG4rXG4gXHRcdFx0XHRzd2l0Y2ggKFdMQU5fRkNfR0VUX1RZUEVcbiBcdFx0XHRcdFx0KGxlMTZfdG9fY3B1KGhlYWRlci1cdTAwM2VmcmFtZV9jdGwpKSkge1xuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXG5pbmRleCBjODg0MWY5YjlhZDkxLi40MjQzNDlhNjkzNWU0IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xuQEAgLTEyMDksNiArMTIwOSw5IEBAIHN0YXRpYyBpbnQgbGliaXB3X2hhbmRsZV9hc3NvY19yZXNwKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2FzXG4gXHRzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmsgPSBcdTAwMjZuZXR3b3JrX3Jlc3A7XG4gXHRzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gaWVlZS1cdTAwM2VkZXY7XG4gXG4rXHRpZiAoc3RhdHMtXHUwMDNlbGVuIFx1MDAzYyBzaXplb2YoKmZyYW1lKSlcbitcdFx0cmV0dXJuIDE7XG4rXG4gXHRuZXR3b3JrLVx1MDAzZWZsYWdzID0gMDtcbiBcdG5ldHdvcmstXHUwMDNlcW9zX2RhdGEuYWN0aXZlID0gMDtcbiBcdG5ldHdvcmstXHUwMDNlcW9zX2RhdGEuc3VwcG9ydGVkID0gMDtcbkBAIC0xNDIxLDYgKzE0MjQsOSBAQCBzdGF0aWMgdm9pZCBsaWJpcHdfcHJvY2Vzc19wcm9iZV9yZXNwb25zZShzdHJ1Y3QgbGliaXB3X2RldmljZVxuICNlbmRpZlxuIFx0dW5zaWduZWQgbG9uZyBmbGFncztcbiBcbitcdGlmIChzdGF0cy1cdTAwM2VsZW4gXHUwMDNjIHNpemVvZigqYmVhY29uKSlcbitcdFx0cmV0dXJuO1xuK1xuIFx0TElCSVBXX0RFQlVHX1NDQU4oXCInJSpwRScgKCVwTSk6ICVjJWMlYyVjICVjJWMlYyVjLSVjJWMlYyVjICVjJWMlYyVjXFxuXCIsXG4gXHRcdCAgICAgaW5mb19lbGVtZW50LVx1MDAzZWxlbiwgaW5mb19lbGVtZW50LVx1MDAzZWRhdGEsXG4gXHRcdCAgICAgYmVhY29uLVx1MDAzZWhlYWRlci5hZGRyMyxcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQxOjM0LjI4OTI5OTc5NFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY1OTgxNTI2NzEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBJUFcyMTAwLzIyMDAgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IGFkZHMgYm91bmRzIGNoZWNraW5nIHRvIGEgZmV3IGZ1bmN0aW9uczogYF9faXB3MjEwMF9yeF9wcm9jZXNzYCwgYGlwd19yeGAsIGBsaWJpcHdfaGFuZGxlX2Fzc29jX3Jlc3BgLCBhbmQgYGxpYmlwd19wcm9jZXNzX3Byb2JlX3Jlc3BvbnNlYC4gVGhlc2UgZnVuY3Rpb25zIGFyZSBhbGwgd2l0aGluIHRoZSBgaXB3MngwMGAgZGlyZWN0b3J5LCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBkcml2ZXJzLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsIGFyZSB3ZSBkZWFsaW5nIHdpdGggcGh5c2ljYWwgaGFyZHdhcmUgaGVyZT8gVGhlc2UgZHJpdmVycyBhcmUgZm9yIFBDSSBkZXZpY2VzLCBhbmQgdGhlIGNvZGUgc3VnZ2VzdHMgaXQncyBmb3IgdGhlIGNhcmRzIHRoZW1zZWx2ZXMsIG1lYW5pbmcgd2UncmUgbm90IGRlYWxpbmcgd2l0aCBhIHB1cmVseSBzb2Z0d2FyZSBvciBlbXVsYXRlZCBlbnZpcm9ubWVudC5cblxuVGhlIGJpZyBxdWVzdGlvbiBpcyB3aGV0aGVyIHdlIGNhbiByZWFsaXN0aWNhbGx5IGZ1enogdGhlc2UgZHJpdmVycy4gUENJIGRyaXZlcnMgZm9yIGFjdHVhbCBoYXJkd2FyZSwgZXNwZWNpYWxseSB0aG9zZSBub3QgZW11bGF0ZWQgaW4gUUVNVSBvciBzaW1pbGFyIGVudmlyb25tZW50cywgYXJlIHVzdWFsbHkgYSB0b3VnaCBudXQgdG8gY3JhY2sgZm9yIGZ1enppbmcuIFVubGVzcyB0aGVyZSdzIHNvbWUgc29ydCBvZiBzb2Z0d2FyZSBlbXVsYXRpb24gbGF5ZXIgaW52b2x2ZWQuXG5cbkhtbSwgd2FpdCBhIHNlY29uZC4gSSByZW1lbWJlciBgbWFjODAyMTFfaHdzaW1gLCB0aGF0J3MgZm9yIG1hYzgwMjExLiBCdXQgYGlwdzIxMDBgIGFuZCBgaXB3MjIwMGAgYXJlIGZ1bGwgTUFDIGRyaXZlcnMsIG9yIHBlcmhhcHMgc29mdCBNQUMgZHJpdmVycyBzaW5jZSB0aGV5IHVzZSBgbGliaXB3YC4gU28sIGlzIHRoZXJlIGFueSBlbXVsYXRpb24gZm9yIHRoZW0/IFByb2JhYmx5IG5vdCwgc2luY2UgdGhleSdyZSBwaHlzaWNhbCBQQ0kgZGV2aWNlcy4gSSdtIGdvaW5nIHRvIGRvdWJsZS1jaGVjayBgaXB3MjEwMC5jYCBhbmQgYGlwdzIyMDAuY2AgdG8gYmUgY2VydGFpbi4gR290dGEgYmUgdGhvcm91Z2guXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI4NjgsIk91dHB1dFRva2VucyI6NDEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNTcsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xMlQyMDo0MTo0MC44ODc0NTQ4OTVaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDMyNzkxMDksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwicGNpX3JlZ2lzdGVyX2RyaXZlclwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NTE3PXN0YXRpYyBpbnQgX19pbml0IGlwdzIxMDBfaW5pdCh2b2lkKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjUyNS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2NTI2OlxcdHJldCA9IHBjaV9yZWdpc3Rlcl9kcml2ZXIoXFx1MDAyNmlwdzIxMDBfcGNpX2RyaXZlcik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjUyNy1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9MTE4ODg9c3RhdGljIGludCBfX2luaXQgaXB3X2luaXQodm9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTExODk0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjExODk1OlxcdHJldCA9IHBjaV9yZWdpc3Rlcl9kcml2ZXIoXFx1MDAyNmlwd19kcml2ZXIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTExODk2LVxcdGlmIChyZXQpIHtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMjA6NDE6NDAuOTMwNzM3NjU0WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDcxOTkwODg4NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIFdvcnRoRnV6emluZyBmb3IgVGhlc2UgRHJpdmVycyoqXG5cbk9rYXksIHNvIHdlJ3JlIGxvb2tpbmcgYXQgUENJIGRyaXZlcnMgaGVyZS4gU3BlY2lmaWNhbGx5LCB3ZSdyZSB0YWxraW5nIGFib3V0IHRob3NlIG9sZCBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBtaW5pLVBDSSBjYXJkcy4gTm93LCB0aGUga2V5IGlzc3VlIGlzIHRoYXQsIGFzIGZhciBhcyBJIHVuZGVyc3RhbmQsIHRoZXNlIGFyZW4ndCBlbXVsYXRlZCBhdCBhbGwgaW4gc3RhbmRhcmQgUUVNVS4gVGhpcyBpcyBhIHByb2JsZW0sIGJlY2F1c2UgaXQgbWVhbnMgdGhleSdyZSBjb21wbGV0ZWx5IGluYWNjZXNzaWJsZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBTbywgc3RyYWlnaHQgb2ZmIHRoZSBiYXQsIG15IGluaXRpYWwgaW5zdGluY3QgaXMgdG8gbWFyayB0aGlzIGFzIFdvcnRoRnV6emluZz1mYWxzZS4gSSBtZWFuLCBpZiB3ZSBjYW4ndCBldmVuICpyZWFjaCogdGhlIGhhcmR3YXJlLCB3aGF0J3MgdGhlIHBvaW50P1xuXG5CdXQgd2FpdC4gQmVmb3JlIEkgZGVmaW5pdGl2ZWx5IGRpc21pc3MgdGhpcywgSSBuZWVkIHRvIGNvbnNpZGVyIGlmIHRoZXJlJ3MgYW55IGNvbmNlaXZhYmxlIHdheSB0byAqaW5qZWN0KiBwYWNrZXRzIGludG8gdGhlc2UgZHJpdmVycywgZXZlbiB3aXRob3V0IHRoZSBoYXJkd2FyZSBwcmVzZW50LiBUaGUgY29kZSBtb2RpZmllcyBmdW5jdGlvbnMgbGlrZSBgX19pcHcyMTAwX3J4X3Byb2Nlc3NgLCBgaXB3X3J4YCwgYGxpYmlwd19oYW5kbGVfYXNzb2NfcmVzcGAsIGFuZCBgbGliaXB3X3Byb2Nlc3NfcHJvYmVfcmVzcG9uc2VgLiBGcm9tIG15IHVuZGVyc3RhbmRpbmcsIHRoZXNlIGFyZSBhbGwgaW52b2x2ZWQgaW4gcmVjZWl2aW5nIHBhY2tldHMg4oCTIHByb2Nlc3NpbmcgaW5jb21pbmcgZGF0YSBmcm9tIHRoZSBoYXJkd2FyZS4gU2luY2Ugd2UgKmRvbid0KiBoYXZlIHRoZSBoYXJkd2FyZSwgdGhlIGZsb3cgb2YgdGhlIGNvZGUgd29uJ3QgZXZlbiAqcmVhY2gqIHRoZXNlIHBhdGNoZWQgZnVuY3Rpb25zLiBUaGV5J3JlIGRlYWQgY29kZSwgaW4gZXNzZW5jZSwgaW4gdGhpcyBzY2VuYXJpby5cblxuSSdtIGdldHRpbmcgYSBmZWVsaW5nLCB0aG91Z2gsIHRoYXQgSSBtaWdodCBiZSB3cm9uZy4gTGV0IG1lIGp1c3QgcXVpY2tseSBjb25maXJtIHRoYXQgYGxpYmlwd2AgaXNuJ3QgdXNlZCBieSBzb21ldGhpbmcgZWxzZSwgYXMgdGhhdCBtYXkgY2hhbmdlIHRoZSBhc3Nlc3NtZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjozOTQ1LCJPdXRwdXRUb2tlbnMiOjI5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTg1LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDIwOjQxOjQ1LjY1MDY0OTc2OVoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo3NzU4NzM0OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJsaWJpcHdcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIlxcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMzI2MyBsaW5lcy5cXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXFxuXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTE2ND1jb25maWcgTElCSVBXX0RFQlVHXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTY4LVxcdCAgVGhpcyBvcHRpb24gd2lsbCBlbmFibGUgZGVidWcgdHJhY2luZyBvdXRwdXQgZm9yIHRoZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZzoxNjk6XFx0ICBsaWJpcHcgY29tcG9uZW50LlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xNzAtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTgzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZzoxODQ6XFx0ICBJZiB5b3UgYXJlIG5vdCB0cnlpbmcgdG8gZGVidWcgb3IgZGV2ZWxvcCB0aGUgbGliaXB3XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTE4NS1cXHQgIGNvbXBvbmVudCwgeW91IG1vc3QgbGlrZWx5IHdhbnQgdG8gc2F5IE4gaGVyZS5cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU9Nz1vYmotJChDT05GSUdfSVBXMjIwMCkgKz0gaXB3MjIwMC5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS04LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6OTpvYmotJChDT05GSUdfTElCSVBXKSArPSBsaWJpcHcub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTA6bGliaXB3LW9ianMgOj0gXFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTE6XFx0bGliaXB3X21vZHVsZS5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjEyOlxcdGxpYmlwd190eC5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjEzOlxcdGxpYmlwd19yeC5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjE0OlxcdGxpYmlwd193eC5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjE1OlxcdGxpYmlwd19nZW8ubyBcXFxcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxNjpcXHRsaWJpcHdfc3B5Lm8gXFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTc6XFx0bGliaXB3X2NyeXB0by5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjE4OlxcdGxpYmlwd19jcnlwdG9fY2NtcC5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjE5OlxcdGxpYmlwd19jcnlwdG9fdGtpcC5vIFxcXFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjIwOlxcdGxpYmlwd19jcnlwdG9fd2VwLm9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTMyNT1zdGF0aWMgaW5saW5lIHZvaWQgcmVhZF9yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MzIgcmVnLCB1MzIgKiB2YWwpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzI2LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzozMjc6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzI4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MzMzPXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MzIgcmVnLCB1MzIgdmFsKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMzNC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzM1OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMzNi1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTM0MT1zdGF0aWMgaW5saW5lIHZvaWQgcmVhZF9yZWdpc3Rlcl93b3JkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiByZWcsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNDMte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjM0NDpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNDUtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zNTA9c3RhdGljIGlubGluZSB2b2lkIHJlYWRfcmVnaXN0ZXJfYnl0ZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MzIgcmVnLCB1OCAqIHZhbClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTEte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjM1MjpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTMtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zNTg9c3RhdGljIGlubGluZSB2b2lkIHdyaXRlX3JlZ2lzdGVyX3dvcmQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIHJlZywgdTE2IHZhbClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNTkte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjM2MDpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zNjEtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zNjY9c3RhdGljIGlubGluZSB2b2lkIHdyaXRlX3JlZ2lzdGVyX2J5dGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIHJlZywgdTggdmFsKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTM2Ny17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzY4OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTM2OS1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTE2NDA9c3RhdGljIGludCBpcHcyMTAwX3N0YXJ0X3NjYW4oc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE2ODAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTY4MTpzdGF0aWMgY29uc3Qgc3RydWN0IGxpYmlwd19nZW8gaXB3X2dlb3NbXSA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNjgyLVxcdHtcXHRcXHRcXHQvKiBSZXN0cmljdGVkICovXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0xNjkzPXN0YXRpYyBpbnQgaXB3MjEwMF91cChzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgZGVmZXJyZWQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzAxLVxcdGlmIChwcml2LVxcdTAwM2VzdXNwZW5kX3RpbWUpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxNzAyOlxcdFxcdGxpYmlwd19uZXR3b3Jrc19hZ2UocHJpdi1cXHUwMDNlaWVlZSwgcHJpdi1cXHUwMDNlc3VzcGVuZF90aW1lKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzAzLVxcdFxcdHByaXYtXFx1MDAzZXN1c3BlbmRfdGltZSA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzU5LVxcdC8qIEluaXRpYWxpemUgdGhlIGdlbyAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE3NjA6XFx0bGliaXB3X3NldF9nZW8ocHJpdi1cXHUwMDNlaWVlZSwgXFx1MDAyNmlwd19nZW9zWzBdKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzYxLVxcdHByaXYtXFx1MDAzZWllZWUtXFx1MDAzZWZyZXFfYmFuZCA9IExJQklQV18yNEdIWl9CQU5EO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MTg3Mz1zdGF0aWMgaW50IGlwdzIxMDBfd2Rldl9pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTg3NC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTg3NTpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxODc2OlxcdGNvbnN0IHN0cnVjdCBsaWJpcHdfZ2VvICpnZW8gPSBsaWJpcHdfZ2V0X2dlbyhwcml2LVxcdTAwM2VpZWVlKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xODc3LVxcdHN0cnVjdCB3aXJlbGVzc19kZXYgKndkZXYgPSBcXHUwMDI2cHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNld2RldjtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTIzMzA9c3RhdGljIHUzMiBpcHcyMTAwX21hdGNoX2J1ZihzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCB1OCAqIGluX2J1ZixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTIzNzctICpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyMzc4OiAqIC4gIGxpYmlwd19oZHJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyMzc5OiAqIC4gIGxpYmlwd19zbmFwX2hkclxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTIzODAtICpcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTI0MzM9c3RhdGljIHZvaWQgaXNyX3J4KHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCBpLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0MzQ6XFx0XFx0XFx0ICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDM1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0NzEtXFx0LyogTWFrZSBhIGNvcHkgb2YgdGhlIGZyYW1lIHNvIHdlIGNhbiBkdW1wIGl0IHRvIHRoZSBsb2dzIGlmXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ3MjpcXHQgKiBsaWJpcHdfcnggZmFpbHMgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDczLVxcdHNrYl9jb3B5X2Zyb21fbGluZWFyX2RhdGEocGFja2V0LVxcdTAwM2Vza2IsIHBhY2tldF9kYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3Ny1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDc4OlxcdGlmICghbGliaXB3X3J4KHByaXYtXFx1MDAzZWllZWUsIHBhY2tldC1cXHUwMDNlc2tiLCBzdGF0cykpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc5LSNpZmRlZiBJUFcyMTAwX1JYX0RFQlVHXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDg1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0ODY6XFx0XFx0LyogbGliaXB3X3J4IGZhaWxlZCwgc28gaXQgZGlkbid0IGZyZWUgdGhlIFNLQiAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0ODctXFx0XFx0ZGV2X2tmcmVlX3NrYl9hbnkocGFja2V0LVxcdTAwM2Vza2IpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjUwNj1zdGF0aWMgdm9pZCBpc3JfcnhfbW9uaXRvcihzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgaSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNTA3OlxcdFxcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1MDgte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2NC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNTY1OlxcdGlmICghbGliaXB3X3J4KHByaXYtXFx1MDAzZWllZWUsIHBhY2tldC1cXHUwMDNlc2tiLCBzdGF0cykpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY2LVxcdFxcdGRldi1cXHUwMDNlc3RhdHMucnhfZXJyb3JzKys7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2Ny1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNTY4OlxcdFxcdC8qIGxpYmlwd19yeCBmYWlsZWQsIHNvIGl0IGRpZG4ndCBmcmVlIHRoZSBTS0IgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY5LVxcdFxcdGRldl9rZnJlZV9za2JfYW55KHBhY2tldC1cXHUwMDNlc2tiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTI2NDQ9c3RhdGljIHZvaWQgX19pcHcyMTAwX3J4X3Byb2Nlc3Moc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2NTEtXFx0c3RydWN0IGlwdzIxMDBfcnggKnU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjY1MjpcXHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHN0YXRzID0ge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2NTMtXFx0XFx0Lm1hY190aW1lID0gamlmZmllcyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI3MTUtXFx0XFx0XFx0aWYgKHNxLVxcdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcXHUwMDNjXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjcxNjpcXHRcXHRcXHRcXHQgICAgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfaGRyXzNhZGRyKSB8fFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI3MTctXFx0XFx0XFx0ICAgIHNxLVxcdTAwM2VkcnZbaV0uZnJhbWVfc2l6ZSBcXHUwMDNlIElQV19SWF9OSUNfQlVGRkVSX0xFTkdUSClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI3MjAtXFx0XFx0XFx0Y2FzZSBJRUVFODAyMTFfRlRZUEVfTUdNVDpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNzIxOlxcdFxcdFxcdFxcdGxpYmlwd19yeF9tZ3QocHJpdi1cXHUwMDNlaWVlZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzIyLVxcdFxcdFxcdFxcdFxcdFxcdCBcXHUwMDI2dS1cXHUwMDNlcnhfZGF0YS5oZWFkZXIsIFxcdTAwMjZzdGF0cyk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNzkxPXN0YXRpYyBpbnQgX19pcHcyMTAwX3R4X3Byb2Nlc3Moc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI5MTMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjkxNDpcXHRcXHRsaWJpcHdfdHhiX2ZyZWUocGFja2V0LVxcdTAwM2VpbmZvLmRfc3RydWN0LnR4Yik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjkxNS1cXHRcXHRwYWNrZXQtXFx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTMwNDk9c3RhdGljIHZvaWQgaXB3MjEwMF90eF9zZW5kX2RhdGEoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMwNTctXFx0c3RydWN0IGlwdzIxMDBfZGF0YV9oZWFkZXIgKmlwd19oZHI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzA1ODpcXHRzdHJ1Y3QgbGliaXB3X2hkcl8zYWRkciAqaGRyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMwNTktXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMDkxLVxcdFxcdGlwd19oZHIgPSBwYWNrZXQtXFx1MDAzZWluZm8uZF9zdHJ1Y3QuZGF0YTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzozMDkyOlxcdFxcdGhkciA9IChzdHJ1Y3QgbGliaXB3X2hkcl8zYWRkciAqKXBhY2tldC1cXHUwMDNlaW5mby5kX3N0cnVjdC50eGItXFx1MDAzZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMwOTMtXFx0XFx0ICAgIGZyYWdtZW50c1swXS1cXHUwMDNlZGF0YTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTMzMTM9c3RhdGljIGlycXJldHVybl90IGlwdzIxMDBfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMzYyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMzNjM6c3RhdGljIG5ldGRldl90eF90IGlwdzIxMDBfdHgoc3RydWN0IGxpYmlwd190eGIgKnR4YixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMzY0LVxcdFxcdFxcdCAgICAgIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGludCBwcmkpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzM2NS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzM2NjpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMzY3LVxcdHN0cnVjdCBsaXN0X2hlYWQgKmVsZW1lbnQ7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz00NDU0PXN0YXRpYyB2b2lkIGlwdzIxMDBfdHhfaW5pdGlhbGl6ZShzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNDQ3Ny1cXHRcXHRpZiAocHJpdi1cXHUwMDNldHhfYnVmZmVyc1tpXS5pbmZvLmRfc3RydWN0LnR4Yikge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjQ0Nzg6XFx0XFx0XFx0bGliaXB3X3R4Yl9mcmVlKHByaXYtXFx1MDAzZXR4X2J1ZmZlcnNbaV0uaW5mby5kX3N0cnVjdC5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy00NDc5LVxcdFxcdFxcdFxcdFxcdCAgIHR4Yik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz00NTA0PXN0YXRpYyB2b2lkIGlwdzIxMDBfdHhfZnJlZShzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNDUxNi1cXHRcXHRpZiAocHJpdi1cXHUwMDNldHhfYnVmZmVyc1tpXS5pbmZvLmRfc3RydWN0LnR4Yikge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjQ1MTc6XFx0XFx0XFx0bGliaXB3X3R4Yl9mcmVlKHByaXYtXFx1MDAzZXR4X2J1ZmZlcnNbaV0uaW5mby5kX3N0cnVjdC5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy00NTE4LVxcdFxcdFxcdFxcdFxcdCAgIHR4Yik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01NTQzPXN0YXRpYyB2b2lkIHNoaW1fX3NldF9zZWN1cml0eShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU1NDQ6XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBsaWJpcHdfc2VjdXJpdHkgKnNlYylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01NTQ1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo1NTQ2OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU1NDctXFx0aW50IGk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01NzMyPXN0YXRpYyBpbnQgaXB3MjEwMF9zZXRfYWRkcmVzcyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB2b2lkICpwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3MzMte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU3MzQ6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTczNS1cXHRzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIgPSBwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTc2MD1zdGF0aWMgaW50IGlwdzIxMDBfb3BlbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3NjEte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU3NjI6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTc2My1cXHR1bnNpZ25lZCBsb25nIGZsYWdzO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTc3Nj1zdGF0aWMgaW50IGlwdzIxMDBfY2xvc2Uoc3RydWN0IG5ldF9kZXZpY2UgKmRldilcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01Nzc3LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo1Nzc4OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3NzktXFx0dW5zaWduZWQgbG9uZyBmbGFncztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU3OTgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTc5OTpcXHRcXHRsaWJpcHdfdHhiX2ZyZWUocGFja2V0LVxcdTAwM2VpbmZvLmRfc3RydWN0LnR4Yik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTgwMC1cXHRcXHRwYWNrZXQtXFx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTU4MTU9c3RhdGljIHZvaWQgaXB3MjEwMF90eF90aW1lb3V0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCB0eHF1ZXVlKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4MTYte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU4MTc6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTgxOC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTU4Mzk9c3RhdGljIGludCBpcHcyMTAwX3dwYV9zZXRfYXV0aF9hbGdzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCB2YWx1ZSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4NDEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTg0MjpcXHRzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSA9IHByaXYtXFx1MDAzZWllZWU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NTg0MzpcXHRzdHJ1Y3QgbGliaXB3X3NlY3VyaXR5IHNlYyA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01ODQ0LVxcdFxcdC5mbGFncyA9IFNFQ19BVVRIX01PREUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01ODg1PXN0YXRpYyB2b2lkIGlwd19ldGh0b29sX2dldF9kcnZpbmZvKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01ODg3LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo1ODg4OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU4ODktXFx0Y2hhciBmd192ZXJbNjRdO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTkwMT1zdGF0aWMgdTMyIGlwdzIxMDBfZXRodG9vbF9nZXRfbGluayhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU5MDIte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU5MDM6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTkwNC1cXHRyZXR1cm4gKHByaXYtXFx1MDAzZXN0YXR1cyBcXHUwMDI2IFNUQVRVU19BU1NPQ0lBVEVEKSA/IDEgOiAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTk4Nz1zdGF0aWMgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2Vfb3BzIGlwdzIxMDBfbmV0ZGV2X29wcyA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTU5ODktXFx0Lm5kb19zdG9wXFx0XFx0PSBpcHcyMTAwX2Nsb3NlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjU5OTA6XFx0Lm5kb19zdGFydF94bWl0XFx0XFx0PSBsaWJpcHdfeG1pdCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy01OTkxLVxcdC5uZG9fdHhfdGltZW91dFxcdFxcdD0gaXB3MjEwMF90eF90aW1lb3V0LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTk5NS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo1OTk2Oi8qIExvb2sgaW50byB1c2luZyBuZXRkZXYgZGVzdHJ1Y3RvciB0byBzaHV0ZG93biBsaWJpcHc/ICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNTk5Ny1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01OTk4PXN0YXRpYyBzdHJ1Y3QgbmV0X2RldmljZSAqaXB3MjEwMF9hbGxvY19kZXZpY2Uoc3RydWN0IHBjaV9kZXYgKnBjaV9kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDAzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYwMDQ6XFx0ZGV2ID0gYWxsb2NfbGliaXB3KHNpemVvZihzdHJ1Y3QgaXB3MjEwMF9wcml2KSwgMCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAwNS1cXHRpZiAoIWRldilcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDA2LVxcdFxcdHJldHVybiBOVUxMO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYwMDc6XFx0cHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAwOC1cXHRwcml2LVxcdTAwM2VpZWVlID0gbmV0ZGV2X3ByaXYoZGV2KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTYxMjI9c3RhdGljIGludCBpcHcyMTAwX3BjaV9pbml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGNpX2RldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTYxNjEtXFx0XFx0ICAgICAgIFxcXCJFcnJvciBjYWxsaW5nIHBjaV9lbmFibGVfZGV2aWNlLlxcXFxuXFxcIik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjE2MjpcXHRcXHRmcmVlX2xpYmlwdyhkZXYsIDApO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTYxNjMtXFx0XFx0cGNpX2lvdW5tYXAocGNpX2RldiwgaW9hZGRyKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTYxNjYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjE2NzpcXHRwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MTY4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjMxMC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MzExOlxcdFxcdGZyZWVfbGliaXB3KGRldiwgMCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjMxMi1cXHR9XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02MzIxPXN0YXRpYyB2b2lkIGlwdzIxMDBfcGNpX3JlbW92ZV9vbmUoc3RydWN0IHBjaV9kZXYgKnBjaV9kZXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MzU5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjYzNjA6XFx0Lyogd2lwaHlfdW5yZWdpc3RlciBuZWVkcyB0byBiZSBoZXJlLCBiZWZvcmUgZnJlZV9saWJpcHcgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MzYxLVxcdHdpcGh5X3VucmVnaXN0ZXIocHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNld2Rldi53aXBoeSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM2Mi1cXHRrZnJlZShwcml2LVxcdTAwM2VpZWVlLVxcdTAwM2ViZ19iYW5kLmNoYW5uZWxzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MzYzOlxcdGZyZWVfbGliaXB3KGRldiwgMCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjM2NC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTY1NTc9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9uYW1lKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NTY0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY1NjU6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjU2Ni1cXHRpZiAoIShwcml2LVxcdTAwM2VzdGF0dXMgXFx1MDAyNiBTVEFUVVNfQVNTT0NJQVRFRCkpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NTc1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZnJlcShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjU3OC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjU3OTpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NTgwLVxcdHN0cnVjdCBpd19mcmVxICpmd3JxID0gXFx1MDAyNndycXUtXFx1MDAzZWZyZXE7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NjIxPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfZnJlcShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjYyOC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2NjI5OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY2MzAtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02NjQ2PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjY0OS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjY1MDpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NjUxLVxcdGludCBlcnIgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NjY4NT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X21vZGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY2OTItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NjY5MzpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02Njk0LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NjcyMD1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3JhbmdlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02NzI3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY3Mjg6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjcyOS1cXHRzdHJ1Y3QgaXdfcmFuZ2UgKnJhbmdlID0gKHN0cnVjdCBpd19yYW5nZSAqKWV4dHJhO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njg0NT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X3dhcChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjg0OC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6Njg0OTpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02ODUwLVxcdGludCBlcnIgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njg4Mz1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3dhcChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjg5MC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2ODkxOlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY4OTItXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz02OTA1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZXNzaWQoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTY5MDgte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY5MDk6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjkxMC1cXHRjaGFyICplc3NpZCA9IFxcXCJcXFwiO1xcdC8qIEFOWSAqL1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9Njk1ND1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2Vzc2lkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02OTYxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY5NjI6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjk2My1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTY5ODE9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9uaWNrKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02OTg4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjY5ODk6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjk5MC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcwMDM9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9uaWNrKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDEwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcwMTE6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzAxMi1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcwMjI9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9yYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDI1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MDI2OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcwMjctXFx0dTMyIHRhcmdldF9yYXRlID0gd3JxdS1cXHUwMDNlYml0cmF0ZS52YWx1ZTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcwNjI9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9yYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MDY1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MDY2OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcwNjctXFx0aW50IHZhbDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcxMTQ9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9ydHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcxMTcte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcxMTg6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzExOS1cXHRpbnQgdmFsdWUsIGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcxNDk9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9ydHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcxNTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzE1NzpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MTU4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzE3MD1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X3R4cG93KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MTczLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MTc0OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTcxNzUtXFx0aW50IGVyciA9IDAsIHZhbHVlO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzIxMT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3R4cG93KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MjE4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcyMTk6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzIyMC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcyMzg9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9mcmFnKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MjQ1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcyNDY6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzI0Ny1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcyNjg9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9mcmFnKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03Mjc1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjcyNzY6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzI3Ny1cXHR3cnF1LVxcdTAwM2VmcmFnLnZhbHVlID0gcHJpdi1cXHUwMDNlZnJhZ190aHJlc2hvbGQgXFx1MDAyNiB+RlJBR19ESVNBQkxFRDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTcyODY9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9yZXRyeShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzI4OS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzI5MDpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MjkxLVxcdGludCBlcnIgPSAwO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzMzMD1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3JldHJ5KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MzM3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjczMzg6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzMzOS1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTczNjI9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9zY2FuKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03MzY1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3MzY2OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTczNjctXFx0aW50IGVyciA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03MzkwPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfc2NhbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzM5Ny1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3Mzk4OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjczOTk6XFx0cmV0dXJuIGxpYmlwd193eF9nZXRfc2Nhbihwcml2LVxcdTAwM2VpZWVlLCBpbmZvLCB3cnF1LCBleHRyYSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzQwMC19XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NDA1PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfZW5jb2RlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDEyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc0MTM6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQxNDpcXHRyZXR1cm4gbGliaXB3X3d4X3NldF9lbmNvZGUocHJpdi1cXHUwMDNlaWVlZSwgaW5mbywgd3JxdSwga2V5KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDE1LX1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc0MTc9c3RhdGljIGludCBpcHcyMTAwX3d4X2dldF9lbmNvZGUoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MjQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQyNTpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NDI2OlxcdHJldHVybiBsaWJpcHdfd3hfZ2V0X2VuY29kZShwcml2LVxcdTAwM2VpZWVlLCBpbmZvLCB3cnF1LCBrZXkpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MjctfVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzQyOT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X3Bvd2VyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDMyLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NDMzOlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0MzQtXFx0aW50IGVyciA9IDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NDc0PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9nZXRfcG93ZXIoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc0ODEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzQ4MjpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NDgzLVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzUwMT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfc2V0X2dlbmllKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTA1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc1MDY6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzUwNzpcXHRzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSA9IHByaXYtXFx1MDAzZWllZWU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzUwOC1cXHR1OCAqYnVmO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzUzNz1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2dlbmllKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTQwLXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTQxOlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc1NDI6XFx0c3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUgPSBwcml2LVxcdTAwM2VpZWVlO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc1NDMtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NTU5PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfYXV0aChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzU2Mi17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzU2MzpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NTY0OlxcdHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlID0gcHJpdi1cXHUwMDNlaWVlZTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NTY1LVxcdHN0cnVjdCBpd19wYXJhbSAqcGFyYW0gPSBcXHUwMDI2d3JxdS1cXHUwMDNlcGFyYW07XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzU2NjpcXHRzdHJ1Y3QgbGliaXB3X2NyeXB0X2RhdGEgKmNyeXB0O1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc1NjctXFx0dW5zaWduZWQgbG9uZyBmbGFncztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc2MDctXFx0XFx0XFx0ICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzYwODpcXHRcXHRcXHRzdHJ1Y3QgbGliaXB3X3NlY3VyaXR5IHNlYyA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NjA5LVxcdFxcdFxcdFxcdC5mbGFncyA9IFNFQ19FTkFCTEVELFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzY1Mj1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2F1dGgoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc2NTUte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc2NTY6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzY1NzpcXHRzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSA9IHByaXYtXFx1MDAzZWllZWU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzY1ODpcXHRzdHJ1Y3QgbGliaXB3X2NyeXB0X2RhdGEgKmNyeXB0O1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc2NTktXFx0c3RydWN0IGl3X3BhcmFtICpwYXJhbSA9IFxcdTAwMjZ3cnF1LVxcdTAwM2VwYXJhbTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTc3MTI9c3RhdGljIGludCBpcHcyMTAwX3d4X3NldF9lbmNvZGVleHQoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3MTUte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjc3MTY6XFx0c3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiA9IGxpYmlwd19wcml2KGRldik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzcxNzpcXHRyZXR1cm4gbGliaXB3X3d4X3NldF9lbmNvZGVleHQocHJpdi1cXHUwMDNlaWVlZSwgaW5mbywgd3JxdSwgZXh0cmEpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc3MTgtfVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzcyMT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X2VuY29kZWV4dChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzcyNC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzcyNTpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3NzI2OlxcdHJldHVybiBsaWJpcHdfd3hfZ2V0X2VuY29kZWV4dChwcml2LVxcdTAwM2VpZWVlLCBpbmZvLCB3cnF1LCBleHRyYSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzcyNy19XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NzMwPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfbWxtZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzczMy17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6NzczNDpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NzM1LVxcdHN0cnVjdCBpd19tbG1lICptbG1lID0gKHN0cnVjdCBpd19tbG1lICopZXh0cmE7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03NzU4PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcHJvbWlzYyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzc2MS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6Nzc2MjpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03NzYzLVxcdGludCAqcGFybXMgPSAoaW50ICopZXh0cmE7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03Nzg5PXN0YXRpYyBpbnQgaXB3MjEwMF93eF9yZXNldChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzc5Mi17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6Nzc5MzpcXHRzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2ID0gbGliaXB3X3ByaXYoZGV2KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03Nzk0LVxcdGlmIChwcml2LVxcdTAwM2VzdGF0dXMgXFx1MDAyNiBTVEFUVVNfSU5JVElBTElaRUQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz03ODAxPXN0YXRpYyBpbnQgaXB3MjEwMF93eF9zZXRfcG93ZXJtb2RlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy03ODA0LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3ODA1OlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTc4MDYtXFx0aW50IGVyciA9IDAsIG1vZGUgPSAqKGludCAqKWV4dHJhO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NzgyNT1zdGF0aWMgaW50IGlwdzIxMDBfd3hfZ2V0X3Bvd2VybW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNzgzMi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo3ODMzOlxcdHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYgPSBsaWJpcHdfcHJpdihkZXYpO1xcblxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xMlQyMDo0MTo0NS43MjgyNDUxNDdaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1ODQ0MjQ3OTkzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgbGliaXB3J3MgRnV6emluZyBQb3RlbnRpYWwqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCBgbGliaXB3YCBhbmQgaXRzIHJlbGF0aW9uc2hpcCB0byB0aGUgYGlwdzIxMDBgIGFuZCBgaXB3MjIwMGAgZHJpdmVycy4gSSBpbW1lZGlhdGVseSByZWNvZ25pemUgdGhvc2UgYXMgb2xkZXIgSW50ZWwgd2lyZWxlc3MgZHJpdmVycy4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcIkFyZSB0aGVyZSBhbnkgb3RoZXIgZHJpdmVycyBsZXZlcmFnaW5nIGBsaWJpcHdgIHRoYXQgbWlnaHQgYmUgcmVsZXZhbnQ/XCIgSSBuZWVkIHRvIGNvbmZpcm0gdGhlIHNjb3BlIG9mIGl0cyB1c2UuXG5cbkxldCdzIHF1aWNrbHkgY2hlY2sgdGhlIGBkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlYCB0byB2ZXJpZnkuIEFoYSwgdGhlIG1ha2VmaWxlIGNsZWFybHkgc2hvd3M6XG5cbiogICBgb2JqLSQoQ09ORklHX0lQVzIxMDApICs9IGlwdzIxMDAub2BcbiogICBgb2JqLSQoQ09ORklHX0lQVzIyMDApICs9IGlwdzIyMDAub2BcbiogICBgb2JqLSQoQ09ORklHX0xJQklQVykgKz0gbGliaXB3Lm9gXG5cblBlcmZlY3QsIHNvIGBsaWJpcHdgIGlzIGluZGVlZCAqb25seSogdXNlZCBieSBgaXB3MjEwMGAgYW5kIGBpcHcyMjAwYC4gU2luY2UgdGhvc2UgYXJlIGJvdGggcGh5c2ljYWwgaGFyZHdhcmUgZHJpdmVycyBhbmQgbm90IHZpcnR1YWxpemVkLCB0aGVpciBjb2RlIGlzIGVzc2VudGlhbGx5IHVucmVhY2hhYmxlIHdpdGhpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBDb25zZXF1ZW50bHksIGZ1enppbmcgdGhlc2UgZHJpdmVycywgYW5kIGJ5IGV4dGVuc2lvbiBgbGliaXB3YCwgaW4gYSB2aXJ0dWFsaXplZCBjb250ZXh0IGlzIG5vdCBhIHByb2R1Y3RpdmUgcGF0aCBmb3IgbWUgdG8gcHVyc3VlLiBUaW1lIHRvIG1vdmUgb24uIEkgd2lsbCByZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTk5NywiT3V0cHV0VG9rZW5zIjoxMDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxODYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMjA6NDE6NTEuNTcyNDk1NzdaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI1NjMwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBpcHcyMTAwIGFuZCBpcHcyMjAwIGRyaXZlcnMsIHdoaWNoIGFyZSBmb3IgcGh5c2ljYWwgSW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgYW5kIDIyMDAgbWluaS1QQ0kgY2FyZHMuIFRoZXNlIGRldmljZXMgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIG90aGVyIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWVhbmluZyB0aGUgbW9kaWZpZWQgcGFja2V0IHByb2Nlc3NpbmcgY29kZSBwYXRocyBjYW5ub3QgYmUgcmVhY2hlZCBvciBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgaXB3MjEwMCBhbmQgaXB3MjIwMCBkcml2ZXJzLCB3aGljaCBhcmUgZm9yIHBoeXNpY2FsIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIG1pbmktUENJIGNhcmRzLiBUaGVzZSBkZXZpY2VzIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBvdGhlciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1lYW5pbmcgdGhlIG1vZGlmaWVkIHBhY2tldCBwcm9jZXNzaW5nIGNvZGUgcGF0aHMgY2Fubm90IGJlIHJlYWNoZWQgb3IgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMjA6NDE6NTEuNTcyNTI0OTlaIiwiU2VxIjo5LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzAwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflow5fndg[1] Phase: Running StartedAt: 2026-08-12 20:42:02 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5fndg[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-12 20:42:02 +0000 UTC FinishedAt: 2026-08-12 20:42:06 +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,}