Name: series-workflowqbmzz Phase: Failed StartedAt: 2026-09-11 15:44:41 +0000 UTC FinishedAt: 2026-09-11 15:47:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqbmzz[0] Phase: Succeeded StartedAt: 2026-09-11 15:44:41 +0000 UTC FinishedAt: 2026-09-11 15:47:49 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqbmzz[0].run-triage Phase: Succeeded StartedAt: 2026-09-11 15:44:41 +0000 UTC FinishedAt: 2026-09-11 15:47:49 +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+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggc2VyaWVzIGNvbnNpc3RzIHNvbGVseSBvZiBoZWFkZXIgaW5jbHVkZSByZW9yZ2FuaXphdGlvbnM6IHJlbW92aW5nICYjMzk7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2UmIzM5OyBmcm9tICYjMzk7aW5jbHVkZS9saW51eC9tb2R1bGUuaCYjMzk7IGFuZCBhZGRpbmcgZGlyZWN0ICYjMzk7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2UmIzM5OyBkaXJlY3RpdmVzIGFjcm9zcyB2YXJpb3VzIHNvdXJjZSBmaWxlcyB0aGF0IHJlbHkgb24gZXJyb3IgaW5qZWN0aW9uIG1hY3Jvcy4gVGhlcmUgYXJlIG5vIGV4ZWN1dGFibGUgQyBsb2dpYywgZGF0YSBzdHJ1Y3R1cmUsIGNvbnRyb2wgZmxvdywgb3IgYXNzZXJ0aW9uIGNoYW5nZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMDZkMDUxZTQ3ZmE2OTcwYjhmOGFlZDkzYTUyN2Y0NDhmYTEzOGVhMFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgU2VwIDExIDE1OjQ2OjAyIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2Jsb2NrL2Jsay1jb3JlLmMgYi9ibG9jay9ibGstY29yZS5jXG5pbmRleCAxOTZiY2NmMjdmNThkLi4zMjRhMmQxYmI3MjdiIDEwMDY0NFxuLS0tIGEvYmxvY2svYmxrLWNvcmUuY1xuJiM0MzsmIzQzOyYjNDM7IGIvYmxvY2svYmxrLWNvcmUuY1xuQEAgLTQwLDYgJiM0Mzs0MCw3IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcGFydF9zdGF0LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zY2hlZC9zeXNjdGwuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2Jsay1jcnlwdG8uaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNkZWZpbmUgQ1JFQVRFX1RSQUNFX1BPSU5UU1xuICNpbmNsdWRlIFx1MDAzY3RyYWNlL2V2ZW50cy9ibG9jay5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29ubmVjdG9yLmNcbmluZGV4IDdlZjkzMzhkNjdhYmYuLmEyODc4ODRjMDA0NWYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jXG5AQCAtMjMsNiAmIzQzOzIzLDcgQEBcbiAgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4gICovXG4gXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaTJjLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zbGFiLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmNcbmluZGV4IDcwZDExMmZkNDI4N2EuLjIwNDgxMGExMWU0NjMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuY1xuQEAgLTcsNiAmIzQzOzcsNyBAQFxuICAqIGRldGFpbHMgaGVyZS5cbiAgKi9cbiBcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC92Z2Ffc3dpdGNoZXJvby5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjYWNwaS92aWRlby5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2Rpc3BsYXkvZHJtX2RwX21zdF9oZWxwZXIuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmNcbmluZGV4IGMwZmQzNDlhNDYwMGMuLjJjM2JjN2I2N2MwZDUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmNcbkBAIC0zLDYgJiM0MzszLDcgQEBcbiAgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3N0cmluZ19oZWxwZXJzLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX3ByaW50LmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuY1xuaW5kZXggNWM3Zjg2MmY3MTAwYS4uMmYwZTFjYjU1NzhjZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmNcbkBAIC0zLDYgJiM0MzszLDggQEBcbiAgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuJiM0MztcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9pbnRlbC9pbnRlbC1ndHQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9pbnRlbC9pbnRlbF9nbWRfaW50ZXJydXB0X3JlZ3MuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmNcbmluZGV4IDFjNDU1ZDg0YmY5ZDguLjA5MWFhMzNmNjI0YWEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmNcbkBAIC00LDYgJiM0Mzs0LDcgQEBcbiAgKi9cbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9jaXJjX2J1Zi5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgva3RpbWUuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3N0cmluZ19oZWxwZXJzLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC90aW1lNjQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jXG5pbmRleCBiZDA3YzcyYTY2ZmNlLi5kMzY3YTg5N2M4NmIyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuY1xuQEAgLTMsNiAmIzQzOzMsNyBAQFxuICAqIENvcHlyaWdodCDCqSAyMDE2LTIwMTkgSW50ZWwgQ29ycG9yYXRpb25cbiAgKi9cbiBcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zdHJpbmdfaGVscGVycy5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXCYjMzQ7Z3QvaW50ZWxfZ3QuaFwmIzM0O1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jXG5pbmRleCA3ZmFjOTdmZTMwYTYzLi5kN2M3MzFmZTk3MmJmIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuY1xuQEAgLTQsNiAmIzQzOzQsNyBAQFxuICAqL1xuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2JpdGZpZWxkLmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9maXJtd2FyZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaGlnaG1lbS5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcml2ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJpdmVyLmNcbmluZGV4IGNlNmQyMDk1ODMyMGMuLmFlYjdiMjRjODFjOGIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jXG5AQCAtMzAsNiAmIzQzOzMwLDcgQEBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9hcGVydHVyZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYWNwaS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGV2aWNlLmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9tb2R1bGUuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L29vbS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcGNpLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuY1xuaW5kZXggMmYwM2Y5NTk0NWYxYi4uODRhN2RjNmFiNWRiYSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmNcbkBAIC0yMiw2ICYjNDM7MjIsOCBAQFxuICAqXG4gICovXG4gXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4mIzQzO1xuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fY29sb3JfbWdtdC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9kcnYuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9pbnRlbC9wY2lfY29uZmlnLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jXG5pbmRleCAxNzBlODNhOGM5ZmMzLi5lMzYwZTRmOWQ5YTJkIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jXG5AQCAtMjEsNiAmIzQzOzIxLDcgQEBcbiAgKiBJTiBUSEUgU09GVFdBUkUuXG4gICovXG4gXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcG1fcnVudGltZS5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNcbmluZGV4IGVlNzMyZTU0OTVmN2QuLmZjZWY4ZDVmYzdjYTIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuY1xuQEAgLTcsNyAmIzQzOzcsNyBAQFxuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2FwZXJ0dXJlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kZWxheS5oXHUwMDNlXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91bml0cy5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9jbGllbnQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jXG5pbmRleCBjZDA1M2RlM2M2YjU2Li4zZTQ2YzE0NTg0YzQyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuY1xuQEAgLTUsNiAmIzQzOzUsNyBAQFxuIFxuICNpbmNsdWRlIFwmIzM0O3hlX2V4ZWNfcXVldWUuaFwmIzM0O1xuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L25vc3BlYy5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9kZXZpY2UuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9nZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jXG5pbmRleCA4ZWMyMzg2MjQ3N2ZjLi5lMDU1ODJhZDA5OGE2IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuY1xuQEAgLTYsNyAmIzQzOzYsNyBAQFxuICNpbmNsdWRlIFwmIzM0O3hlX2dndHQuaFwmIzM0O1xuIFxuICNpbmNsdWRlIFx1MDAzY2t1bml0L3Zpc2liaWxpdHkuaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaW8tNjQtbm9uYXRvbWljLWxvLWhpLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zaXplcy5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jXG5pbmRleCA0Mjg2YmQwNWM2ODYxLi4zNGUyMWE3MGQ1YWQ4IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjLmNcbkBAIC01LDYgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9ndWMuaFwmIzM0O1xuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2lvcG9sbC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2Fkcy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19hZHMuY1xuaW5kZXggZmY4ZWVlMzgzMWFhMi4uNDFhMmI4YzgwN2Q2OCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmNcbkBAIC01LDcgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9ndWNfYWRzLmhcJiMzNDtcbiBcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jXG5pbmRleCBmZTcwYzBmZDg1YzUyLi5hYzZjYmJhYTZjYzBhIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmNcbkBAIC04LDcgJiM0Mzs4LDcgQEBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9iaXRmaWVsZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvY2lyY19idWYuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlbGF5LmhcdTAwM2Vcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2t1bml0L3N0YXRpY19zdHViLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19sb2cuY1xuaW5kZXggNTM4ZDRkZjBmN2FhNy4uNmYwNzM5MjA0ZDllMiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmNcbkBAIC01LDcgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9ndWNfbG9nLmhcJiMzNDtcbiBcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3V0c25hbWUuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19yZWxheS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19yZWxheS5jXG5pbmRleCBlZWQwYTc1MGQyZWIyLi5lNTI4ZDk1YmE3ZmVlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19yZWxheS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmNcbkBAIC01LDcgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9iaXRmaWVsZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGVsYXkuaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmNcbmluZGV4IGQ0MmUyNjNlMDYxMWUuLmFjODFmMzgyZTdkYzAgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuY1xuQEAgLTQsNiAmIzQzOzQsNyBAQFxuICAqL1xuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgva29iamVjdC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvc3lzZnMuaFx1MDAzZVxuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfZ3JvdXAuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfZ3JvdXAuY1xuaW5kZXggMDgwNGI0MjZiNmY5ZS4uNDE4ZmY0MjdhZTMwOCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfZ3JvdXAuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9ncm91cC5jXG5AQCAtMyw2ICYjNDM7Myw4IEBAXG4gICogQ29weXJpZ2h0IMKpIDIwMjQgSW50ZWwgQ29ycG9yYXRpb25cbiAgKi9cbiBcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiYjNDM7XG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9hc3NlcnQuaFwmIzM0O1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9tbWlvLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jXG5pbmRleCA3ZmExOGRmY2I1YTI4Li5kOGY4YTI0NTNiYjY1IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uY1xuQEAgLTYsNiAmIzQzOzYsNyBAQFxuICNpbmNsdWRlIFwmIzM0O3hlX21taW8uaFwmIzM0O1xuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlbGF5LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9pby02NC1ub25hdG9taWMtbG8taGkuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L21pbm1heC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcGNpLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9vYS5jXG5pbmRleCBhYjA5ZGNmZjU4NjA5Li5iMTVjOTZlMzVmYWJmIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX29hLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9vYS5jXG5AQCAtNSw2ICYjNDM7NSw3IEBAXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYW5vbl9pbm9kZXMuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlbGF5LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9ub3NwZWMuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3BvbGwuaFx1MDAzZVxuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmNcbmluZGV4IGE1Mjg5YTlkZjhkMjUuLmMwNDg5YThkOGE2MjUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmNcbkBAIC01LDcgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9wbS5oXCYjMzQ7XG4gXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9wbV9ydW50aW1lLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zdXNwZW5kLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kbWkuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wdC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmNcbmluZGV4IGEwNzMxNmE0NWQ3OWIuLjZjNmQ5YmUyNzE3ZWYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmNcbkBAIC01LDYgJiM0Mzs1LDggQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9wdC5oXCYjMzQ7XG4gXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4mIzQzO1xuICNpbmNsdWRlIFwmIzM0O3JlZ3MveGVfZ3R0X2RlZnMuaFwmIzM0O1xuICNpbmNsdWRlIFwmIzM0O3hlX2JvLmhcJiMzNDtcbiAjaW5jbHVkZSBcJiMzNDt4ZV9kZXZpY2UuaFwmIzM0O1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuY1xuaW5kZXggMmZlZjI3NGE1ODVlOC4uMmYzNjMyYWMyMDFhYiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jXG5AQCAtNSw2ICYjNDM7NSw4IEBAXG4gXG4gI2luY2x1ZGUgXCYjMzQ7eGVfcHhwLmhcJiMzNDtcbiBcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiYjNDM7XG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N1YXBpL2RybS94ZV9kcm0uaFx1MDAzZVxuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zcmlvdi5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3NyaW92LmNcbmluZGV4IGYzODM1ODY3ZmNlNWQuLmVjMjU0Yjk1MGRhZjQgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3NyaW92LmNcbkBAIC0zLDcgJiM0MzszLDcgQEBcbiAgKiBDb3B5cmlnaHQgwqkgMjAyMyBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3luYy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuY1xuaW5kZXggMzc4NjY3NjhkNjRjMi4uNzExZGUyMmY0OTg2NCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmNcbkBAIC02LDYgJiM0Mzs2LDcgQEBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9zeW5jLmhcJiMzNDtcbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kbWEtZmVuY2UtYXJyYXkuaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2t0aHJlYWQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3NjaGVkL21tLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91YWNjZXNzLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdGlsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3RpbGUuY1xuaW5kZXggNzRkOTI1YTMzN2I3Ni4uODEwZGZkOThkODMwMCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcbkBAIC0zLDcgJiM0MzszLDcgQEBcbiAgKiBDb3B5cmlnaHQgwqkgMjAyMyBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX3BhZ2VtYXBfdXRpbC5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R1bmluZy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R1bmluZy5jXG5pbmRleCBiY2VjNDBjYTJkMzVmLi5kM2QzOGI0MzgwYmVjIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R1bmluZy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdHVuaW5nLmNcbkBAIC01LDYgJiM0Mzs1LDggQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV90dW5pbmcuaFwmIzM0O1xuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuJiM0MztcbiAjaW5jbHVkZSBcdTAwM2NrdW5pdC92aXNpYmlsaXR5LmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV91Y19mdy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3VjX2Z3LmNcbmluZGV4IGE4ZTZmMThjYzliNGEuLmYxNzkyNWFkNTNmNWIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3VjX2Z3LmNcbkBAIC00LDcgJiM0Mzs0LDcgQEBcbiAgKi9cbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9iaXRmaWVsZC5oXHUwMDNlXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9maXJtd2FyZS5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jXG5pbmRleCAyMzk1MmFkODk1MWUyLi5mMDAwNTY0ZjFlNTk2IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jXG5AQCAtNiw2ICYjNDM7Niw3IEBAXG4gI2luY2x1ZGUgXCYjMzQ7eGVfdm0uaFwmIzM0O1xuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RtYS1mZW5jZS1hcnJheS5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvbm9zcGVjLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX2Rydi5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd2EuY1xuaW5kZXggMTM5NDM0OTQ2ZjhmOC4uOThkMmZkZDNiYTZmOCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd2EuY1xuQEAgLTgsNyAmIzQzOzgsNyBAQFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNja3VuaXQvdmlzaWJpbGl0eS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvY29tcGlsZXJfdHlwZXMuaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZ2VuZXJhdGVkL3hlX2RldmljZV93YV9vb2IuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2dlbmVyYXRlZC94ZV93YV9vb2IuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93b3BjbS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmNcbmluZGV4IGZlNjVlZDI0Njc3NWQuLjdkYTFlM2ViYzgzOTEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmNcbkBAIC01LDcgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV93b3BjbS5oXCYjMzQ7XG4gXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcJiMzNDtyZWdzL3hlX2d1Y19yZWdzLmhcJiMzNDtcbiAjaW5jbHVkZSBcJiMzNDt4ZV9kZXZpY2UuaFwmIzM0O1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L25ldGRldnNpbS90Yy5jIGIvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmNcbmluZGV4IGE0MTVlMDJhNmRmMWUuLmUyZDdkM2FiYTE5MzMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmNcbkBAIC0xLDUgJiM0MzsxLDYgQEBcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMFxuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L25ldGRldmljZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbmV0L3BrdF9zY2hlZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbmV0L3BrdF9jbHMuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvY29tcGF0LmggYi9pbmNsdWRlL2xpbnV4L2NvbXBhdC5oXG5pbmRleCA4ZGEwYTE1Yzk1ZjRlLi5hZDM3Y2E2MTdlNjVjIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9jb21wYXQuaFxuJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9saW51eC9jb21wYXQuaFxuQEAgLTE4LDYgJiM0MzsxOCw3IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYWlvX2FiaS5oXHUwMDNlXHQvKiBmb3IgYWlvX2NvbnRleHRfdCAqL1xuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3VhY2Nlc3MuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3VuaXN0ZC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjYXNtL2NvbXBhdC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjYXNtL3NpZ2luZm8uaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW9kdWxlLmggYi9pbmNsdWRlL2xpbnV4L21vZHVsZS5oXG5pbmRleCA5NmNjOTg1NjhlZWE1Li5iM2EzZDU4MjczODRmIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9tb2R1bGUuaFxuJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9saW51eC9tb2R1bGUuaFxuQEAgLTI0LDcgJiM0MzsyNCw2IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvanVtcF9sYWJlbC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZXhwb3J0LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9yYnRyZWVfbGF0Y2guaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvdHJhY2Vwb2ludC1kZWZzLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zcmN1LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zdGF0aWNfY2FsbF90eXBlcy5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oIGIvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oXG5pbmRleCA4NDEzYjYyNGFkNDc4Li41NTJkOTcxMGEwZDU3IDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oXG4mIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmhcbkBAIC05Miw2ICYjNDM7OTIsNyBAQCBzdHJ1Y3QgZmlsZV9hdHRyO1xuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3F1b3RhLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9rZXkuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3BlcnNvbmFsaXR5LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N0cmFjZS9zeXNjYWxsLmhcdTAwM2VcbiBcbiAjaWZkZWYgQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBFUlxuZGlmZiAtLWdpdCBhL2tlcm5lbC9tb2R1bGUvbWFpbi5jIGIva2VybmVsL21vZHVsZS9tYWluLmNcbmluZGV4IGQwZTFlMGJkMmFkMDYuLmYxMzkyYzEwOTA3YTIgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvbW9kdWxlL21haW4uY1xuJiM0MzsmIzQzOyYjNDM7IGIva2VybmVsL21vZHVsZS9tYWluLmNcbkBAIC02MCw2ICYjNDM7NjAsNyBAQFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2NvZGV0YWcuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlYnVnZnMuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2V4ZWNtZW0uaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY3VhcGkvbGludXgvbW9kdWxlLmhcdTAwM2VcbiAjaW5jbHVkZSBcJiMzNDtpbnRlcm5hbC5oXCYjMzQ7XG4gXG5kaWZmIC0tZ2l0IGEvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jIGIvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jXG5pbmRleCA0MjM1ZGI2YmRmYWQ1Li4yYzdmNTE5YmVmODAwIDEwMDY0NFxuLS0tIGEvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmNcbkBAIC0xLDYgJiM0MzsxLDcgQEBcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGVidWdmcy5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9uZXRkZXZpY2UuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3NrYnVmZi5oXHUwMDNlXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDY8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggc2VyaWVzIGNvbnNpc3RzIHNvbGVseSBvZiBoZWFkZXIgaW5jbHVkZSByZW9yZ2FuaXphdGlvbnM6IHJlbW92aW5nICYjMzk7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2UmIzM5OyBmcm9tICYjMzk7aW5jbHVkZS9saW51eC9tb2R1bGUuaCYjMzk7IGFuZCBhZGRpbmcgZGlyZWN0ICYjMzk7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2UmIzM5OyBkaXJlY3RpdmVzIGFjcm9zcyB2YXJpb3VzIHNvdXJjZSBmaWxlcyB0aGF0IHJlbHkgb24gZXJyb3IgaW5qZWN0aW9uIG1hY3Jvcy4gVGhlcmUgYXJlIG5vIGV4ZWN1dGFibGUgQyBsb2dpYywgZGF0YSBzdHJ1Y3R1cmUsIGNvbnRyb2wgZmxvdywgb3IgYXNzZXJ0aW9uIGNoYW5nZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lciBhbmQgc2VjdXJpdHkgZW5naW5lZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZXZhbHVhdGUgd2hldGhlciBpdCB3YXJyYW50cyBmdXp6aW5nIHdpdGggc3l6a2FsbGVyLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiBpbnRlcm5hbCBhc3N1bXB0aW9ucy4gWW91IG11c3QgYWN0aXZlbHkgdXNlIHlvdXIgY29kZSBhY2Nlc3MKdG9vbHMgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlLCBjYWxsZXJzLCBhbmQgc3Vycm91bmRpbmcgY29udGV4dC4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjEuIENPUkUgVFJJQUdFIFBISUxPU09QSFkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIGdvYWwgb2YgcGF0Y2ggZnV6emluZyBpcyB0byBkaXNjb3ZlciBjcmFzaGVzLCByZWdyZXNzaW9ucywgZXhwb3NlZCBsYXRlbnQgYnVncywKYW5kIG5ld2x5IHRyaWdnZXJlZCBhc3NlcnRpb25zIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIHNlcmllcy4KCi0gUkVBQ0hBQklMSVRZIElTIFRIRSBQUklNQVJZIEdBVEU6CiAgRnV6emluZyBjYW4gb25seSBkaXNjb3ZlciBidWdzIGluIGNvZGUgdGhhdCBjYW4gYWN0dWFsbHkgZXhlY3V0ZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZAogIGVudmlyb25tZW50cyAoR0NFIG9yIFFFTVUsIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzIGxpa2UgVVNCIGdhZGdldHMsIG5ldGRldiwgdHVuL3RhcCkuCiAgSWYgdGhlIG1vZGlmaWVkIGNvZGUgaXMgc3RydWN0dXJhbGx5IHVucmVhY2hhYmxlIChzZWUgU2VjdGlvbiAyKSwgaXQgTVVTVCBOT1QgYmUgZnV6emVkLAogIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBhZGRzIGFzc2VydGlvbnMgb3IgY29tcGxleCBsb2dpYy4KCi0gRE8gTk9UIEJMSU5ETFkgVFJVU1QgJiMzNDtOTyBGVU5DVElPTkFMIENIQU5HRSYjMzQ7IChORkNJKSBPUiAmIzM0O1JFRkFDVE9SSU5HJiMzNDsgQ0xBSU1TOgogIFBhdGNoIGF1dGhvcnMgcm91dGluZWx5IGxhYmVsIGNoYW5nZXMgYXMgJiMzNDtjbGVhbnVwcyYjMzQ7LCAmIzM0O3JlZmFjdG9yaW5ncyYjMzQ7LCBvciBzdGF0ZQogICYjMzQ7Tm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQmIzM0Oy4gRG8gTk9UIHRha2UgdGhlc2UgY2xhaW1zIGF0IGZhY2UgdmFsdWUuCiAgQ29kZSByZWZhY3RvcmluZ3MgdGhhdCByZWFycmFuZ2UgbG9naWMsIGludHJvZHVjZSBoZWxwZXIgZnVuY3Rpb25zLCBvciBhbHRlciBzdGF0ZSBtYW5hZ2VtZW50CiAgaW4gY29yZSBzdWJzeXN0ZW1zIGZyZXF1ZW50bHkgaW50cm9kdWNlIHN1YnRsZSBzZW1hbnRpYyBzaGlmdHMgb3IgdW5jb3ZlciBsYXRlbnQga2VybmVsIGJ1Z3MuCiAgSWYgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSBpcyBtb2RpZmllZCBvciByZWZhY3RvcmVkLCBpdCBNVVNUIGJlIGZ1enplZC4KCi0gTkVXIE9SIE1PRElGSUVEIEFTU0VSVElPTlMgSU4gUkVBQ0hBQkxFIENPREUgTVVTVCBCRSBGVVpaRUQ6CiAgV2hlbiBhIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXMgcnVudGltZSBjaGVja3Mgb3IgYXNzZXJ0aW9ucyAoZS5nLiwgV0FSTl9PTiosIFZNX1dBUk5fT04qLAogIEJVR19PTiosIGxvY2tkZXBfYXNzZXJ0KikgaW4gcmVhY2hhYmxlIGNvZGUgcGF0aHMsIGl0IGVuZm9yY2VzIG5ldyBvciBzdHJpY3RlciBpbnZhcmlhbnRzLgogIEV2ZW4gaWYgdGhlIGF1dGhvciBiZWxpZXZlcyB0aGUgaW52YXJpYW50IGFsd2F5cyBob2xkcywgZnV6emluZyBpcyBlc3NlbnRpYWwgdG8gdmVyaWZ5IHdoZXRoZXIKICBhbiB1bnVzdWFsIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMgY2FuIHZpb2xhdGUgaXQuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoyLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9ZmFsc2UgKE5FR0FUSVZFIENSSVRFUklBKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIE9OTFkgSUYgYWxsIG1vZGlmaWVkIGNvZGUgZmFsbHMgc3RyaWN0bHkgaW50byBvbmUgb3IgbW9yZSBvZiB0aGVzZSBjYXRlZ29yaWVzOgoKLSBOb24ta2VybmVsIGFuZCBub24tZXhlY3V0YWJsZSBjaGFuZ2VzOgogICogTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgY29tbWVudHMsIG9yIHNwZWxsaW5nIGZpeGVzLgogICogVXNlci1zcGFjZSBkaXJlY3Rvcmllcywgc2VsZi10ZXN0cywgc2FtcGxlcywgb3Igc2NyaXB0cyAoZS5nLiwgdG9vbHMvLCBzYW1wbGVzLywgc2NyaXB0cy8sIHVzci8pCiAgICB0aGF0IGRvIG5vdCBhZmZlY3QgdGhlIGNvbXBpbGVkIGtlcm5lbCBpbWFnZSAodm1saW51eCkgb3Iga2VybmVsIG1vZHVsZXMuCiAgKiBQdXJlbHkgZGVjb3JhdGl2ZSBsb2dnaW5nIChlLmcuLCBtZXNzYWdlIHN0cmluZ3MgaW4gcHJfZXJyLCBwcmludGssIGRldl9pbmZvKSBvciB0cmFjZXBvaW50cwogICAgdGhhdCBkbyBub3QgYWx0ZXIgY29udHJvbCBmbG93IG9yIGRhdGEgc3RydWN0dXJlcy4KICAqIEJ1aWxkIHN5c3RlbSBvciBLY29uZmlnIGNoYW5nZXMgdGhhdCBkbyBub3QgYWx0ZXIgY29tcGlsZWQgQyBsb2dpYy4KLSBTdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmU6CiAgKiBWZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgICBpb25pYywgYW1kZ3B1KSByZXF1aXJpbmcgcGh5c2ljYWwgQVNJQy9QQ0llIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRoczoKICAqIERyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKC5yZW1vdmUsIC5zaHV0ZG93biwgcGNpX3VucmVnaXN0ZXJfZHJpdmVyKSBleGVjdXRlZCBvbmx5IGR1cmluZwogICAgcGh5c2ljYWwgUENJIGhvdC11bnBsdWcgb3IgbWFudWFsIHN5c2ZzIGRyaXZlciB1bmJpbmRpbmcuCiAgKiBDb2RlIHBhdGhzIGV4Y2x1c2l2ZSB0byBhcmNoaXRlY3R1cmVzIG90aGVyIHRoYW4gdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQozLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9dHJ1ZSAoUE9TSVRJVkUgQ1JJVEVSSUEpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZSB3aGVuZXZlciB0aGUgcGF0Y2ggdG91Y2hlcyByZWFjaGFibGUgZXhlY3V0YWJsZSBjb2RlLCBpbmNsdWRpbmc6Ci0gQ29yZSBTdWJzeXN0ZW1zOgogICogQW55IGxvZ2ljIG1vZGlmaWNhdGlvbnMgaW4gbWVtb3J5IG1hbmFnZW1lbnQgKG1tLyksIHN5bmNocm9uaXphdGlvbi9sb2NraW5nIChrZXJuZWwvbG9ja2luZy8pLAogICAgQlBGLCBzY2hlZHVsZXIsIGNvcmUgbmV0d29ya2luZywgVkZTLCBvciBzeXNjYWxsIGhhbmRsaW5nLgotIFJlZmFjdG9yaW5ncyBhbmQgQ29kZSBDbGVhbnVwczoKICAqIEFueSByZXN0cnVjdHVyaW5nIG9mIHJlYWNoYWJsZSBkYXRhIHN0cnVjdHVyZXMsIGhlbHBlciBhYnN0cmFjdGlvbnMsIG9yIGFsZ29yaXRobSBmbG93cy4KLSBSdW50aW1lIEFzc2VydGlvbnMgYW5kIERlZmVuc2l2ZSBDaGVja3M6CiAgKiBBbnkgaW50cm9kdWN0aW9uIG9yIGFsdGVyYXRpb24gb2YgYXNzZXJ0aW9ucyAoV0FSTl9PTiosIFZNX1dBUk5fT04qLCBCVUdfT04qLCBldGMuKSBpbiByZWFjaGFibGUgcGF0aHMuCi0gUmVhY2hhYmxlIERyaXZlcnMgYW5kIFByb3RvY29sczoKICAqIERyaXZlcnMgYWNjZXNzaWJsZSB2aWEgdmlydHVhbCBidXNlcyAodmlydGlvLCBVU0IgZ2FkZ2V0LCBsb29wYmFjaywgbmV0bGluaywgYmluZGVyLCBzb2NrZXRzLCBldGMuKS4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjQuIEVYVFJBQ1RJTkcgRm9jdXNTeW1ib2xzIChQUkVWRU5USU5HIERJTFVUSU9OKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpXaGVuIFdvcnRoRnV6emluZz10cnVlLCB5b3UgbXVzdCBleHRyYWN0IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgaW50byBGb2N1c1N5bWJvbHMgdG8gZ3VpZGUgdGhlIGZ1enplcjoKCi0gQVZPSUQgVUJJUVVJVE9VUyBMSUZFQ1lDTEUgSE9ULVBBVEhTOgogIERvIE5PVCBsaXN0IGdlbmVyaWMsIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhbGxlZCBieSBhbG1vc3QgZXZlcnkgcHJvZ3JhbSBpbiB0aGUgY29ycHVzCiAgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvOiBnZW5lcmFsIG1lbW9yeSBhbGxvY2F0b3JzIGFuZCBkZWFsbG9jYXRvcnMsIHBhZ2UgZmF1bHQKICBhbmQgdHJhcCBoYW5kbGVycywgb3IgY29yZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlczsgdGhpcyBpcyBub3QgYW4gZXhoYXVzdGl2ZSBsaXN0KS4KICBMaXN0aW5nIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhdXNlcyB0aGUgZnV6emVyIHRvIGNsYXNzaWZ5IHRob3VzYW5kcyBvZiB1bnJlbGF0ZWQgdGVzdHMgYXMgJiMzNDtmb2N1c2VkJiMzNDssCiAgd2hpY2ggc2V2ZXJlbHkgZGlsdXRlcyBmdXp6aW5nIGVmZm9ydCBhd2F5IGZyb20gdGhlIGFjdHVhbCBjaGFuZ2VzLgoKLSBUQVJHRVQgU1BFQ0lGSUMgRkVBVFVSRSBMT0dJQyBBTkQgRU5UUllQT0lOVFM6CiAgTGlzdCBmdW5jdGlvbnMgdGhhdCBzcGVjaWZpY2FsbHkgaW1wbGVtZW50IHRoZSBsb2dpYyBiZWluZyBhZGRlZCBvciBhbHRlcmVkLCBvciBkaXJlY3QgQVBJIGVudHJ5cG9pbnRzCiAgZm9yIHRoZSBzdWJzeXN0ZW0gZmVhdHVyZSB1bmRlciByZXZpZXcuCgotIEhBTkRMSU5HIFNUQVRJQyBJTkxJTkUgRlVOQ1RJT05TIElOIEhFQURFUlMgKC5oKToKICBDb21waWxlci1pbmxpbmVkIHN0YXRpYyBmdW5jdGlvbnMgKHN1Y2ggYXMgc3RhdGljIGlubGluZXMgaW4gbW0vKi5oIG9yIGluY2x1ZGUvbGludXgvKi5oKSBsYWNrCiAgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcyBpbiB2bWxpbnV4IGFuZCBjYW5ub3QgYmUgdGFyZ2V0ZWQgZGlyZWN0bHkgYnkgc3ltYm9sIGNvdmVyYWdlIGZpbHRlcnMuCiAgSWYgdGhlIGNoYW5nZXMgYXJlIHByaW1hcmlseSBpbiBzdGF0aWMgaW5saW5lIGhlbHBlcnMsIGlkZW50aWZ5IG5vbi1zdGF0aWMsIGZlYXR1cmUtc3BlY2lmaWMgY2FsbGVyCiAgZnVuY3Rpb25zIGluIC5jIGZpbGVzIHRoYXQgZXhlcmNpc2UgdGhlbSAoYXZvaWRpbmcgdWJpcXVpdG91cyBsaWZlY3ljbGUgd3JhcHBlcnMpLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KNS4gSURFTlRJRllJTkcgRW5hYmxlQ29uZmlncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IGNvbXBpbGUgYW5kIHJlYWNoIHRoZSBtb2RpZmllZCBjb2RlOgotIEluc3BlY3QgS2NvbmZpZyBmaWxlcyBhbmQgI2lmZGVmIGd1YXJkczsgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCi0gQ2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzIG5lZWRlZC4KLSBTdHJpcCBhbnkgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+VGFyZ2V0IGFyY2hpdGVjdHVyZTogYW1kNjQKCkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMDZkMDUxZTQ3ZmE2OTcwYjhmOGFlZDkzYTUyN2Y0NDhmYTEzOGVhMApBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgU2VwIDExIDE1OjQ2OjAyIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLWNvcmUuYyBiL2Jsb2NrL2Jsay1jb3JlLmMKaW5kZXggMTk2YmNjZjI3ZjU4ZC4uMzI0YTJkMWJiNzI3YiAxMDA2NDQKLS0tIGEvYmxvY2svYmxrLWNvcmUuYwomIzQzOyYjNDM7JiM0MzsgYi9ibG9jay9ibGstY29yZS5jCkBAIC00MCw2ICYjNDM7NDAsNyBAQAogI2luY2x1ZGUgJmx0O2xpbnV4L3BhcnRfc3RhdC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3NjaGVkL3N5c2N0bC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2Jsay1jcnlwdG8uaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAKICNkZWZpbmUgQ1JFQVRFX1RSQUNFX1BPSU5UUwogI2luY2x1ZGUgJmx0O3RyYWNlL2V2ZW50cy9ibG9jay5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29ubmVjdG9yLmMKaW5kZXggN2VmOTMzOGQ2N2FiZi4uYTI4Nzg4NGMwMDQ1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jCkBAIC0yMyw2ICYjNDM7MjMsNyBAQAogICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgogICovCiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvaTJjLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvc2xhYi5oJmd0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMKaW5kZXggNzBkMTEyZmQ0Mjg3YS4uMjA0ODEwYTExZTQ2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RyaXZlci5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuYwpAQCAtNyw2ICYjNDM7Nyw3IEBACiAgKiBkZXRhaWxzIGhlcmUuCiAgKi8KIAomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC92Z2Ffc3dpdGNoZXJvby5oJmd0OwogI2luY2x1ZGUgJmx0O2FjcGkvdmlkZW8uaCZndDsKICNpbmNsdWRlICZsdDtkcm0vZGlzcGxheS9kcm1fZHBfbXN0X2hlbHBlci5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCBjMGZkMzQ5YTQ2MDBjLi4yYzNiYzdiNjdjMGQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwpAQCAtMyw2ICYjNDM7Myw3IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvc3RyaW5nX2hlbHBlcnMuaCZndDsKIAogI2luY2x1ZGUgJmx0O2RybS9kcm1fcHJpbnQuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jCmluZGV4IDVjN2Y4NjJmNzEwMGEuLjJmMGUxY2I1NTc4Y2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYwpAQCAtMyw2ICYjNDM7Myw4IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiYjNDM7CiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7ZHJtL2ludGVsL2ludGVsLWd0dC5oJmd0OwogI2luY2x1ZGUgJmx0O2RybS9pbnRlbC9pbnRlbF9nbWRfaW50ZXJydXB0X3JlZ3MuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmMKaW5kZXggMWM0NTVkODRiZjlkOC4uMDkxYWEzM2Y2MjRhYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmMKQEAgLTQsNiAmIzQzOzQsNyBAQAogICovCiAKICNpbmNsdWRlICZsdDtsaW51eC9jaXJjX2J1Zi5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9rdGltZS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3N0cmluZ19oZWxwZXJzLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvdGltZTY0LmgmZ3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuYwppbmRleCBiZDA3YzcyYTY2ZmNlLi5kMzY3YTg5N2M4NmIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMKQEAgLTMsNiAmIzQzOzMsNyBAQAogICogQ29weXJpZ2h0IMKpIDIwMTYtMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvc3RyaW5nX2hlbHBlcnMuaCZndDsKIAogI2luY2x1ZGUgJiMzNDtndC9pbnRlbF9ndC5oJiMzNDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jCmluZGV4IDdmYWM5N2ZlMzBhNjMuLmQ3YzczMWZlOTcyYmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuYwpAQCAtNCw2ICYjNDM7NCw3IEBACiAgKi8KIAogI2luY2x1ZGUgJmx0O2xpbnV4L2JpdGZpZWxkLmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2Zpcm13YXJlLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvaGlnaG1lbS5oJmd0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcml2ZXIuYwppbmRleCBjZTZkMjA5NTgzMjBjLi5hZWI3YjI0YzgxYzhiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJpdmVyLmMKQEAgLTMwLDYgJiM0MzszMCw3IEBACiAjaW5jbHVkZSAmbHQ7bGludXgvYXBlcnR1cmUuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9hY3BpLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvZGV2aWNlLmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L21vZHVsZS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L29vbS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3BjaS5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKaW5kZXggMmYwM2Y5NTk0NWYxYi4uODRhN2RjNmFiNWRiYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCkBAIC0yMiw2ICYjNDM7MjIsOCBAQAogICoKICAqLwogCiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwomIzQzOwogI2luY2x1ZGUgJmx0O2RybS9kcm1fY29sb3JfbWdtdC5oJmd0OwogI2luY2x1ZGUgJmx0O2RybS9kcm1fZHJ2LmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7ZHJtL2ludGVsL3BjaV9jb25maWcuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKaW5kZXggMTcwZTgzYThjOWZjMy4uZTM2MGU0ZjlkOWEyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKQEAgLTIxLDYgJiM0MzsyMSw3IEBACiAgKiBJTiBUSEUgU09GVFdBUkUuCiAgKi8KIAomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9wbV9ydW50aW1lLmgmZ3Q7CiAKICNpbmNsdWRlICZsdDtkcm0vZHJtX21hbmFnZWQuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYwppbmRleCBlZTczMmU1NDk1ZjdkLi5mY2VmOGQ1ZmM3Y2EyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jCkBAIC03LDcgJiM0Mzs3LDcgQEAKIAogI2luY2x1ZGUgJmx0O2xpbnV4L2FwZXJ0dXJlLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvZGVsYXkuaCZndDsKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvdW5pdHMuaCZndDsKIAogI2luY2x1ZGUgJmx0O2RybS9kcm1fY2xpZW50LmgmZ3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuYwppbmRleCBjZDA1M2RlM2M2YjU2Li4zZTQ2YzE0NTg0YzQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmMKQEAgLTUsNiAmIzQzOzUsNyBAQAogCiAjaW5jbHVkZSAmIzM0O3hlX2V4ZWNfcXVldWUuaCYjMzQ7CiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvbm9zcGVjLmgmZ3Q7CiAKICNpbmNsdWRlICZsdDtkcm0vZHJtX2RldmljZS5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9nZ3R0LmMKaW5kZXggOGVjMjM4NjI0NzdmYy4uZTA1NTgyYWQwOThhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jCkBAIC02LDcgJiM0Mzs2LDcgQEAKICNpbmNsdWRlICYjMzQ7eGVfZ2d0dC5oJiMzNDsKIAogI2luY2x1ZGUgJmx0O2t1bml0L3Zpc2liaWxpdHkuaCZndDsKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvaW8tNjQtbm9uYXRvbWljLWxvLWhpLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvc2l6ZXMuaCZndDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jCmluZGV4IDQyODZiZDA1YzY4NjEuLjM0ZTIxYTcwZDVhZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjLmMKQEAgLTUsNiAmIzQzOzUsNyBAQAogCiAjaW5jbHVkZSAmIzM0O3hlX2d1Yy5oJiMzNDsKIAomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9pb3BvbGwuaCZndDsKICNpbmNsdWRlICZsdDtkcm0vZHJtX21hbmFnZWQuaCZndDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19hZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmMKaW5kZXggZmY4ZWVlMzgzMWFhMi4uNDFhMmI4YzgwN2Q2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19hZHMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2Fkcy5jCkBAIC01LDcgJiM0Mzs1LDcgQEAKIAogI2luY2x1ZGUgJiMzNDt4ZV9ndWNfYWRzLmgmIzM0OwogCi0jaW5jbHVkZSAmbHQ7bGludXgvZmF1bHQtaW5qZWN0LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfY3QuYwppbmRleCBmZTcwYzBmZDg1YzUyLi5hYzZjYmJhYTZjYzBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jCkBAIC04LDcgJiM0Mzs4LDcgQEAKICNpbmNsdWRlICZsdDtsaW51eC9iaXRmaWVsZC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2NpcmNfYnVmLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvZGVsYXkuaCZndDsKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAKICNpbmNsdWRlICZsdDtrdW5pdC9zdGF0aWNfc3R1Yi5oJmd0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19sb2cuYwppbmRleCA1MzhkNGRmMGY3YWE3Li42ZjA3MzkyMDRkOWUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmMKQEAgLTUsNyAmIzQzOzUsNyBAQAogCiAjaW5jbHVkZSAmIzM0O3hlX2d1Y19sb2cuaCYjMzQ7CiAKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAKICNpbmNsdWRlICZsdDtsaW51eC91dHNuYW1lLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmMKaW5kZXggZWVkMGE3NTBkMmViMi4uZTUyOGQ5NWJhN2ZlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19yZWxheS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfcmVsYXkuYwpAQCAtNSw3ICYjNDM7NSw3IEBACiAKICNpbmNsdWRlICZsdDtsaW51eC9iaXRmaWVsZC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2RlbGF5LmgmZ3Q7Ci0jaW5jbHVkZSAmbHQ7bGludXgvZmF1bHQtaW5qZWN0LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuYwppbmRleCBkNDJlMjYzZTA2MTFlLi5hYzgxZjM4MmU3ZGMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9jbGFzc19zeXNmcy5jCkBAIC00LDYgJiM0Mzs0LDcgQEAKICAqLwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2tvYmplY3QuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9zeXNmcy5oJmd0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmMKaW5kZXggMDgwNGI0MjZiNmY5ZS4uNDE4ZmY0MjdhZTMwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9ncm91cC5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfZ3JvdXAuYwpAQCAtMyw2ICYjNDM7Myw4IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAyNCBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiYjNDM7CiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiAKICNpbmNsdWRlICYjMzQ7eGVfYXNzZXJ0LmgmIzM0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9tbWlvLmMKaW5kZXggN2ZhMThkZmNiNWEyOC4uZDhmOGEyNDUzYmI2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jCkBAIC02LDYgJiM0Mzs2LDcgQEAKICNpbmNsdWRlICYjMzQ7eGVfbW1pby5oJiMzNDsKIAogI2luY2x1ZGUgJmx0O2xpbnV4L2RlbGF5LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2lvLTY0LW5vbmF0b21pYy1sby1oaS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L21pbm1heC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3BjaS5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX29hLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuYwppbmRleCBhYjA5ZGNmZjU4NjA5Li5iMTVjOTZlMzVmYWJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuYwpAQCAtNSw2ICYjNDM7NSw3IEBACiAKICNpbmNsdWRlICZsdDtsaW51eC9hbm9uX2lub2Rlcy5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2RlbGF5LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L25vc3BlYy5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3BvbGwuaCZndDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uYwppbmRleCBhNTI4OWE5ZGY4ZDI1Li5jMDQ4OWE4ZDhhNjI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uYwpAQCAtNSw3ICYjNDM7NSw3IEBACiAKICNpbmNsdWRlICYjMzQ7eGVfcG0uaCYjMzQ7CiAKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvcG1fcnVudGltZS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3N1c3BlbmQuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9kbWkuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wdC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmMKaW5kZXggYTA3MzE2YTQ1ZDc5Yi4uNmM2ZDliZTI3MTdlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmMKQEAgLTUsNiAmIzQzOzUsOCBAQAogCiAjaW5jbHVkZSAmIzM0O3hlX3B0LmgmIzM0OwogCiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwomIzQzOwogI2luY2x1ZGUgJiMzNDtyZWdzL3hlX2d0dF9kZWZzLmgmIzM0OwogI2luY2x1ZGUgJiMzNDt4ZV9iby5oJiMzNDsKICNpbmNsdWRlICYjMzQ7eGVfZGV2aWNlLmgmIzM0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jCmluZGV4IDJmZWYyNzRhNTg1ZTguLjJmMzYzMmFjMjAxYWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHhwLmMKQEAgLTUsNiAmIzQzOzUsOCBAQAogCiAjaW5jbHVkZSAmIzM0O3hlX3B4cC5oJiMzNDsKIAomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKJiM0MzsKICNpbmNsdWRlICZsdDtkcm0vZHJtX21hbmFnZWQuaCZndDsKICNpbmNsdWRlICZsdDt1YXBpL2RybS94ZV9kcm0uaCZndDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3NyaW92LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuYwppbmRleCBmMzgzNTg2N2ZjZTVkLi5lYzI1NGI5NTBkYWY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuYwpAQCAtMyw3ICYjNDM7Myw3IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAyMyBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAKICNpbmNsdWRlICZsdDtkcm0vZHJtX21hbmFnZWQuaCZndDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmMKaW5kZXggMzc4NjY3NjhkNjRjMi4uNzExZGUyMmY0OTg2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3luYy5jCkBAIC02LDYgJiM0Mzs2LDcgQEAKICNpbmNsdWRlICYjMzQ7eGVfc3luYy5oJiMzNDsKIAogI2luY2x1ZGUgJmx0O2xpbnV4L2RtYS1mZW5jZS1hcnJheS5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9rdGhyZWFkLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvc2NoZWQvbW0uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC91YWNjZXNzLmgmZ3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdGlsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3RpbGUuYwppbmRleCA3NGQ5MjVhMzM3Yjc2Li44MTBkZmQ5OGQ4MzAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdGlsZS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmMKQEAgLTMsNyAmIzQzOzMsNyBAQAogICogQ29weXJpZ2h0IMKpIDIwMjMgSW50ZWwgQ29ycG9yYXRpb24KICAqLwogCi0jaW5jbHVkZSAmbHQ7bGludXgvZmF1bHQtaW5qZWN0LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9wYWdlbWFwX3V0aWwuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuYwppbmRleCBiY2VjNDBjYTJkMzVmLi5kM2QzOGI0MzgwYmVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdHVuaW5nLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R1bmluZy5jCkBAIC01LDYgJiM0Mzs1LDggQEAKIAogI2luY2x1ZGUgJiMzNDt4ZV90dW5pbmcuaCYjMzQ7CiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiYjNDM7CiAjaW5jbHVkZSAmbHQ7a3VuaXQvdmlzaWJpbGl0eS5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV91Y19mdy5jCmluZGV4IGE4ZTZmMThjYzliNGEuLmYxNzkyNWFkNTNmNWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV91Y19mdy5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV91Y19mdy5jCkBAIC00LDcgJiM0Mzs0LDcgQEAKICAqLwogCiAjaW5jbHVkZSAmbHQ7bGludXgvYml0ZmllbGQuaCZndDsKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvZmlybXdhcmUuaCZndDsKIAogI2luY2x1ZGUgJmx0O2RybS9kcm1fbWFuYWdlZC5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYwppbmRleCAyMzk1MmFkODk1MWUyLi5mMDAwNTY0ZjFlNTk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYwpAQCAtNiw2ICYjNDM7Niw3IEBACiAjaW5jbHVkZSAmIzM0O3hlX3ZtLmgmIzM0OwogCiAjaW5jbHVkZSAmbHQ7bGludXgvZG1hLWZlbmNlLWFycmF5LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L25vc3BlYy5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9kcnYuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmMKaW5kZXggMTM5NDM0OTQ2ZjhmOC4uOThkMmZkZDNiYTZmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmMKQEAgLTgsNyAmIzQzOzgsNyBAQAogI2luY2x1ZGUgJmx0O2RybS9kcm1fbWFuYWdlZC5oJmd0OwogI2luY2x1ZGUgJmx0O2t1bml0L3Zpc2liaWxpdHkuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9jb21waWxlcl90eXBlcy5oJmd0OwotI2luY2x1ZGUgJmx0O2xpbnV4L2ZhdWx0LWluamVjdC5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKIAogI2luY2x1ZGUgJmx0O2dlbmVyYXRlZC94ZV9kZXZpY2Vfd2Ffb29iLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7Z2VuZXJhdGVkL3hlX3dhX29vYi5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uYwppbmRleCBmZTY1ZWQyNDY3NzVkLi43ZGExZTNlYmM4MzkxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uYwpAQCAtNSw3ICYjNDM7NSw3IEBACiAKICNpbmNsdWRlICYjMzQ7eGVfd29wY20uaCYjMzQ7CiAKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAKICNpbmNsdWRlICYjMzQ7cmVncy94ZV9ndWNfcmVncy5oJiMzNDsKICNpbmNsdWRlICYjMzQ7eGVfZGV2aWNlLmgmIzM0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmMgYi9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuYwppbmRleCBhNDE1ZTAyYTZkZjFlLi5lMmQ3ZDNhYmExOTMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuYwpAQCAtMSw1ICYjNDM7MSw2IEBACiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAogCiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L25ldGRldmljZS5oJmd0OwogI2luY2x1ZGUgJmx0O25ldC9wa3Rfc2NoZWQuaCZndDsKICNpbmNsdWRlICZsdDtuZXQvcGt0X2Nscy5oJmd0OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9jb21wYXQuaCBiL2luY2x1ZGUvbGludXgvY29tcGF0LmgKaW5kZXggOGRhMGExNWM5NWY0ZS4uYWQzN2NhNjE3ZTY1YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9jb21wYXQuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL2xpbnV4L2NvbXBhdC5oCkBAIC0xOCw2ICYjNDM7MTgsNyBAQAogI2luY2x1ZGUgJmx0O2xpbnV4L2Fpb19hYmkuaCZndDsJLyogZm9yIGFpb19jb250ZXh0X3QgKi8KICNpbmNsdWRlICZsdDtsaW51eC91YWNjZXNzLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvdW5pc3RkLmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7YXNtL2NvbXBhdC5oJmd0OwogI2luY2x1ZGUgJmx0O2FzbS9zaWdpbmZvLmgmZ3Q7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21vZHVsZS5oIGIvaW5jbHVkZS9saW51eC9tb2R1bGUuaAppbmRleCA5NmNjOTg1NjhlZWE1Li5iM2EzZDU4MjczODRmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21vZHVsZS5oCiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbGludXgvbW9kdWxlLmgKQEAgLTI0LDcgJiM0MzsyNCw2IEBACiAjaW5jbHVkZSAmbHQ7bGludXgvanVtcF9sYWJlbC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2V4cG9ydC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3JidHJlZV9sYXRjaC5oJmd0OwotI2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3RyYWNlcG9pbnQtZGVmcy5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3NyY3UuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9zdGF0aWNfY2FsbF90eXBlcy5oJmd0OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oIGIvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oCmluZGV4IDg0MTNiNjI0YWQ0NzguLjU1MmQ5NzEwYTBkNTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmgKQEAgLTkyLDYgJiM0Mzs5Miw3IEBAIHN0cnVjdCBmaWxlX2F0dHI7CiAjaW5jbHVkZSAmbHQ7bGludXgvcXVvdGEuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9rZXkuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9wZXJzb25hbGl0eS5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDt0cmFjZS9zeXNjYWxsLmgmZ3Q7CiAKICNpZmRlZiBDT05GSUdfQVJDSF9IQVNfU1lTQ0FMTF9XUkFQUEVSCmRpZmYgLS1naXQgYS9rZXJuZWwvbW9kdWxlL21haW4uYyBiL2tlcm5lbC9tb2R1bGUvbWFpbi5jCmluZGV4IGQwZTFlMGJkMmFkMDYuLmYxMzkyYzEwOTA3YTIgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9tb2R1bGUvbWFpbi5jCiYjNDM7JiM0MzsmIzQzOyBiL2tlcm5lbC9tb2R1bGUvbWFpbi5jCkBAIC02MCw2ICYjNDM7NjAsNyBAQAogI2luY2x1ZGUgJmx0O2xpbnV4L2NvZGV0YWcuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9kZWJ1Z2ZzLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvZXhlY21lbS5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDt1YXBpL2xpbnV4L21vZHVsZS5oJmd0OwogI2luY2x1ZGUgJiMzNDtpbnRlcm5hbC5oJiMzNDsKIApkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jIGIvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jCmluZGV4IDQyMzVkYjZiZGZhZDUuLjJjN2Y1MTliZWY4MDAgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3NrYl9mYXVsdF9pbmplY3Rpb24uYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmMKQEAgLTEsNiAmIzQzOzEsNyBAQAogLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQogCiAjaW5jbHVkZSAmbHQ7bGludXgvZGVidWdmcy5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9uZXRkZXZpY2UuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9za2J1ZmYuaCZndDsKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjgtZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTAwOTAKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAxMjcyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIEtlcm5lbCBQYXRjaCBTZXJpZXM6IEhlYWRlciBGaWxlIEluY2x1c2lvbiBSZWZhY3RvcmluZyoqCgpPa2F5LCBzbyB0aGUgdXNlciB3YW50cyBtZSB0byBldmFsdWF0ZSBhIHBhdGNoIHNlcmllcyBhcHBsaWVkIGFzIEhFQUQgaW4gdGhlIGtlcm5lbC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGdyYWIgdGhlIGNvbW1pdCBtZXNzYWdlIGFuZCBnZXQgdGhlIGNvbXBsZXRlIGNvbnRleHQgdXNpbmcgYGdpdCBsb2dgLiBCdXQgaG9sZCBvbiwgYW0gSSBhYmxlIHRvIGFjdHVhbGx5IHJ1biBgZ2l0IGxvZ2AgZGlyZWN0bHksIG9yIGRvIEkgaGF2ZSBzb21lIG90aGVyIHRvb2xpbmcgYXQgbXkgZGlzcG9zYWw/IExldCYjMzk7cyBzZWUuLi4gd2hhdCB0b29scyBkbyBJIGhhdmU/IEkmIzM5O3ZlIGdvdCBgcmVhZC1maWxlYCwgYGNvZGVzZWFyY2gtZGlyLWluZGV4YCwgYGdyZXBwZXJgLCBhbmQgYHNldC1yZXN1bHRzYC4gUmlnaHQsIEkgZG9uJiMzOTt0IHNlZSBhbnl0aGluZyBleHBsaWNpdGx5IGZvciBnaXQgb3BlcmF0aW9ucy4gCgpMZXQmIzM5O3Mgc3dpdGNoIGdlYXJzIGFuZCBmb2N1cyBvbiB0aGUgZGlmZiBwcm92aWRlZC4gSXQgbG9va3MgbGlrZSBpdCBpcyBqdXN0IGAjaW5jbHVkZWAgbW9kaWZpY2F0aW9ucywgc3BlY2lmaWNhbGx5IGZvciBgbGludXgvZXJyb3ItaW5qZWN0aW9uLmhgLiBJIHNlZSBtYW55IGZpbGVzIG5vdyBpbmNsdWRlIHRoaXMgaGVhZGVyIGZpbGUsIGFuZCBJIHNlZSBhIGxvdCBvZiBpbnN0YW5jZXMgd2hlcmUgYGZhdWx0LWluamVjdC5oYCBpcyBiZWluZyByZXBsYWNlZCB3aXRoIGBlcnJvci1pbmplY3Rpb24uaGAuIFRoaXMgaW5jbHVkZXMgY2hhbmdlcyBpbiBgYmxvY2svYmxrLWNvcmUuY2AsIHNldmVyYWwgRFJNL2k5MTUgYW5kIERSTS94ZSBkcml2ZXIgZmlsZXMsIGBkcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuY2AsIHNvbWUgaGVhZGVyIGZpbGVzLCBhbmQgYGtlcm5lbC9tb2R1bGUvbWFpbi5jYCwgYW5kIGBuZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmNgLgoKT2theSwgdGhlIGRpZmYgY29uZmlybXMgaXQuIFRoZSBPTkxZIGNoYW5nZSBpbiBldmVyeSBmaWxlIG1vZGlmaWVkIGlzIGVpdGhlciB0aGUgYWRkaXRpb24gb2YgYCNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDtgIG9yIGEgcmVwbGFjZW1lbnQgb2YgYGZhdWx0LWluamVjdC5oYCB3aXRoIGBlcnJvci1pbmplY3Rpb24uaGAuIEl0IGxvb2tzIGxpa2UgdGhlcmUmIzM5O3Mgbm8gZXhlY3V0YWJsZSBjb2RlIGNoYW5nZSBoZXJlLgoKU28sIHdoeSBhcmUgd2Ugc2VlaW5nIHRoaXM/IFRoZSByZW1vdmFsIG9mIGAjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7YCBmcm9tIGBpbmNsdWRlL2xpbnV4L21vZHVsZS5oYCBpcyB0aGUga2V5LiBQcmV2aW91c2x5LCBmaWxlcyBpbmNsdWRpbmcgYG1vZHVsZS5oYCBpbXBsaWNpdGx5IGluY2x1ZGVkIGBlcnJvci1pbmplY3Rpb24uaGAuIFRoaXMgcmVmYWN0b3JpbmcgaXMgbGlrZWx5IHRvIGRlY291cGxlIGhlYWRlciBkZXBlbmRlbmNpZXMsIHByb2JhYmx5IGFzIHBhcnQgb2YgYSBjbGVhbnVwIG9yIG1vZHVsYXJpemF0aW9uIGVmZm9ydC4gVGhlIGhlYWRlciBpcyBiZWluZyBpbmNsdWRlZCBleHBsaWNpdGx5IHdoZXJlIGl0JiMzOTtzIGFjdHVhbGx5IG5lZWRlZC4gQW5kIGluIHRoZSBEUk0veGUgZHJpdmVyLCBpdCBpcyBiZWluZyByZWZhY3RvcmVkIGZyb20gYGZhdWx0LWluamVjdC5oYCB0byBgZXJyb3ItaW5qZWN0aW9uLmhgLiBUaGUgZmlsZXMgYWZmZWN0ZWQgaW5jbHVkZSB0aGUgcmVsZXZhbnQgbWFjcm9zLCBzdWNoIGFzIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gLCBldGMuCgpMZXQgbWUgY29uZmlybSB0aGF0IEkgY2FuIGFjY2VzcyB0aGUgbGluZSB3aGVyZSB0aGUgaW5jbHVkZSB3YXMgcmVtb3ZlZCBmcm9tIGBpbmNsdWRlL2xpbnV4L21vZHVsZS5oYCBhcm91bmQgbGluZSAyNC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMSAxNTo0NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvbW9kdWxlLmgmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAyMCwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAyMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgIDIwOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvZWxmLmhcdTAwM2VcbiAgMjE6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9zdHJpbmdpZnkuaFx1MDAzZVxuICAyMjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2tvYmplY3QuaFx1MDAzZVxuICAyMzpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L21vZHVsZXBhcmFtLmhcdTAwM2VcbiAgMjQ6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9qdW1wX2xhYmVsLmhcdTAwM2VcbiAgMjU6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9leHBvcnQuaFx1MDAzZVxuICAyNjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L3JidHJlZV9sYXRjaC5oXHUwMDNlXG4gIDI3Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvdHJhY2Vwb2ludC1kZWZzLmhcdTAwM2VcbiAgMjg6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9zcmN1LmhcdTAwM2VcbiAgMjk6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9zdGF0aWNfY2FsbF90eXBlcy5oXHUwMDNlXG4gIDMwOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvZHluYW1pY19kZWJ1Zy5oXHUwMDNlXG4gIDMxOlx0XG4gIDMyOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvcGVyY3B1LmhcdTAwM2VcbiAgMzM6XHQjaW5jbHVkZSBcdTAwM2Nhc20vbW9kdWxlLmhcdTAwM2VcbiAgMzQ6XHRcbiAgMzU6XHQjZGVmaW5lIE1PRFVMRV9OQU1FX0xFTiBfX01PRFVMRV9OQU1FX0xFTlxuICAzNjpcdFxuICAzNzpcdHN0cnVjdCBtb2R2ZXJzaW9uX2luZm8ge1xuICAzODpcdFx0dW5zaWduZWQgbG9uZyBjcmM7XG4gIDM5Olx0XHRjaGFyIG5hbWVbTU9EVUxFX05BTUVfTEVOXTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMSAxNTo0NjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuOC1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxMjIwMQoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDE5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqRGl2aW5nIGludG8gYGtlcm5lbC9tb2R1bGUvbWFpbi5jYCoqCgpPa2F5LCB0aW1lIHRvIHRyb3VibGVzaG9vdCB0aGlzIGlzc3VlLiBJJiMzOTttIGdvaW5nIHRvIHN0YXJ0IGJ5IHRha2luZyBhIGxvb2sgYXQgYGtlcm5lbC9tb2R1bGUvbWFpbi5jYC4gTXkgaHVuY2ggaXMgdGhhdCB0aGUgcHJvYmxlbSBtaWdodCBiZSByZWxhdGVkIHRvIG1vZHVsZSBsb2FkaW5nIG9yIHVubG9hZGluZywgc28gSSYjMzk7bGwgYmUgemVyb2luZyBpbiBvbiB0aGF0IGFyZWEuIFNwZWNpZmljYWxseSwgbGV0JiMzOTtzIHplcm8gaW4gb24gdGhlIHZpY2luaXR5IG9mIGxpbmUgNjAuIEkgc3VzcGVjdCB0aGF0IHRoZXJlIG1pZ2h0IGJlIHNvbWV0aGluZyBoYXBwZW5pbmcgYXJvdW5kIHRoZSBlYXJseSBzdGFnZSBvciBsYXRlIHN0YWdlIG9mIHRoZSBtb2R1bGUgbGlmZSBjeWNsZS4gTGV0JiMzOTtzIHNlZSBpZiB0aGlzIGh1bmNoIGhvbGRzIGFueSB3ZWlnaHQsIEkmIzM5O2xsIHN0YXJ0IHdpdGggdGhpcyBmaWxlIGFuZCBnbyBmcm9tIHRoZXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7a2VybmVsL21vZHVsZS9tYWluLmMmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiA1NSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAyMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgIDU1Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvcGZuLmhcdTAwM2VcbiAgNTY6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9ic2VhcmNoLmhcdTAwM2VcbiAgNTc6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9keW5hbWljX2RlYnVnLmhcdTAwM2VcbiAgNTg6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9hdWRpdC5oXHUwMDNlXG4gIDU5Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvY2ZpLmhcdTAwM2VcbiAgNjA6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9jb2RldGFnLmhcdTAwM2VcbiAgNjE6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9kZWJ1Z2ZzLmhcdTAwM2VcbiAgNjI6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9leGVjbWVtLmhcdTAwM2VcbiAgNjM6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICA2NDpcdCNpbmNsdWRlIFx1MDAzY3VhcGkvbGludXgvbW9kdWxlLmhcdTAwM2VcbiAgNjU6XHQjaW5jbHVkZSBcJiMzNDtpbnRlcm5hbC5oXCYjMzQ7XG4gIDY2Olx0XG4gIDY3Olx0I2RlZmluZSBDUkVBVEVfVFJBQ0VfUE9JTlRTXG4gIDY4Olx0I2luY2x1ZGUgXHUwMDNjdHJhY2UvZXZlbnRzL21vZHVsZS5oXHUwMDNlXG4gIDY5Olx0XG4gIDcwOlx0LypcbiAgNzE6XHQgKiBNdXRleCBwcm90ZWN0czpcbiAgNzI6XHQgKiAxKSBMaXN0IG9mIG1vZHVsZXMgKGFsc28gc2FmZWx5IHJlYWRhYmxlIHdpdGhpbiBSQ1UgcmVhZCBzZWN0aW9uKSxcbiAgNzM6XHQgKiAyKSBtb2R1bGVfdXNlIGxpbmtzLFxuICA3NDpcdCAqIDMpIG1vZF90cmVlLmFkZHJfbWluL21vZF90cmVlLmFkZHJfbWF4LlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy44LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDEyNzE2CgkJCQkJCQlvdXRwdXQ6IDM1CgkJCQkJCQl0aG91Z2h0czogMjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOgoKKipEaXZpbmcgaW50byB0aGUgS2VybmVsJiMzOTtzIFN5c3RlbSBDYWxsIERlZmluaXRpb25zKioKCk9rYXksIHRpbWUgdG8gZ2V0IHRvIHRoZSBoZWFydCBvZiB0aGlzLiBNeSBndXQgZmVlbGluZyB0ZWxscyBtZSB0aGUgYW5zd2VyIEkgbmVlZCBpcyBwcm9iYWJseSBoYW5naW5nIGFyb3VuZCB0aGUgc3lzdGVtIGNhbGwgZGVmaW5pdGlvbnMuIExldCYjMzk7cyBzdGFydCB3aXRoIHRoZSBzdGFuZGFyZCBsb2NhdGlvbiwgYGluY2x1ZGUvbGludXgvc3lzY2FsbHMuaGAuIEkmIzM5O20gc3BlY2lmaWNhbGx5IGFpbWluZyBmb3IgYXJvdW5kIGxpbmUgOTIuIEhvcGVmdWxseSwgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIHJlbGV2YW50IG1hY3JvIG9yIHN0cnVjdCBkZWNsYXJhdGlvbiBJJiMzOTttIGh1bnRpbmcgZm9yLiBNeSBleHBlcmllbmNlIHRlbGxzIG1lIHRoYXQmIzM5O3MgYSBwcmltZSBzcG90IGZvciB0aGUgY29yZSBkZWZpbml0aW9ucy4gSXQmIzM5O3Mgb2Z0ZW4gd2hlcmUgdGhlIGludGVyZmFjZSB0byB0aGUgc3lzdGVtIGNhbGwgdGFibGUgaXMgZGVzY3JpYmVkIG9yLCBmYWlsaW5nIHRoYXQsIHdoZXJlIG9uZSBjYW4gZmluZCB0aGUga2V5IGRhdGEgc3RydWN0dXJlcyBpbnZvbHZlZCBpbiB0aGUgZGlzcGF0Y2hpbmcgbWVjaGFuaXNtLiBMZXQmIzM5O3Mgc2VlIHdoYXQmIzM5O3Mgd2hhdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMSAxNTo0NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaCYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDkwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDE1Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgOTA6XHQjaW5jbHVkZSBcdTAwM2Nhc20vc2lnaW5mby5oXHUwMDNlXG4gIDkxOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvdW5pc3RkLmhcdTAwM2VcbiAgOTI6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9xdW90YS5oXHUwMDNlXG4gIDkzOlx0I2luY2x1ZGUgXHUwMDNjbGludXgva2V5LmhcdTAwM2VcbiAgOTQ6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9wZXJzb25hbGl0eS5oXHUwMDNlXG4gIDk1Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAgOTY6XHQjaW5jbHVkZSBcdTAwM2N0cmFjZS9zeXNjYWxsLmhcdTAwM2VcbiAgOTc6XHRcbiAgOTg6XHQjaWZkZWYgQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBFUlxuICA5OTpcdC8qXG4gMTAwOlx0ICogSXQgbWF5IGJlIHVzZWZ1bCBmb3IgYW4gYXJjaGl0ZWN0dXJlIHRvIG92ZXJyaWRlIHRoZSBkZWZpbml0aW9ucyBvZiB0aGVcbiAxMDE6XHQgKiBTWVNDQUxMX0RFRklORTAoKSBhbmQgX19TWVNDQUxMX0RFRklORXgoKSBtYWNyb3MsIGluIHBhcnRpY3VsYXIgdG8gdXNlIGFcbiAxMDI6XHQgKiBkaWZmZXJlbnQgY2FsbGluZyBjb252ZW50aW9uIGZvciBzeXNjYWxscy4gVG8gYWxsb3cgZm9yIHRoYXQsIHRoZSBwcm90b3R5cGVzXG4gMTAzOlx0ICogZm9yIHRoZSBzeXNfKigpIGZ1bmN0aW9ucyBiZWxvdyB3aWxsICpub3QqIGJlIGluY2x1ZGVkIGlmXG4gMTA0Olx0ICogQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBFUiBpcyBlbmFibGVkLlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy44LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDEzMjExCgkJCQkJCQlvdXRwdXQ6IDM1CgkJCQkJCQl0aG91Z2h0czogMjM1CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgV29ydGhGdXp6aW5nPWZhbHNlIENyaXRlcmlhKioKCk9rYXksIGxldCYjMzk7cyBkcmlsbCBkb3duIGludG8gdGhlc2UgbmVnYXRpdmUgY3JpdGVyaWEgZm9yIGRldGVybWluaW5nIHdoZW4gYSBwYXRjaCBpc24mIzM5O3QgJiMzNDtXb3J0aEZ1enppbmcuJiMzNDsgV2UmIzM5O3JlIGxvb2tpbmcgYXQgc2NlbmFyaW9zIHdoZXJlIGEgY2hhbmdlICpzaG91bGRuJiMzOTt0KiB0cmlnZ2VyIGZ1enppbmcuIFRoZSBrZXkgaGVyZSBpcyB0byBxdWlja2x5IGlkZW50aWZ5IG1vZGlmaWNhdGlvbnMgdGhhdCBhcmUgZnVuZGFtZW50YWxseSBiZW5pZ24gZnJvbSBhIGNvZGUgZXhlY3V0aW9uIHBlcnNwZWN0aXZlLgoKUmlnaHQsIHNvIHdlJiMzOTtyZSBzdGFydGluZyB3aXRoIHRoaW5ncyBsaWtlIG5vbi1rZXJuZWwgYW5kIG5vbi1leGVjdXRhYmxlIGNoYW5nZXM6IGRvY3VtZW50YXRpb24gdXBkYXRlcywgY29tbWVudCBhZGp1c3RtZW50cywgc3BlbGxpbmcgZml4ZXPigJR0aGF0JiMzOTtzIGFsbCBvYnZpb3VzIGFuZCBzYWZlLiBVc2VyLXNwYWNlIHN0dWZmIGxpa2UgdG9vbHMsIHNhbXBsZXMsIHNjcmlwdHMgKHVuZGVyIGB0b29scy9gLCBgc2FtcGxlcy9gLCBgc2NyaXB0cy9gLCBgdXNyL2ApIHRoYXQgZG9uJiMzOTt0IHRvdWNoIHRoZSBrZXJuZWwgaW1hZ2UgKGB2bWxpbnV4YCkgb3Iga2VybmVsIG1vZHVsZXMgYXJlIGFsc28gY2xlYXJseSBleGNsdWRlZC4gUHVyZWx5IGRlY29yYXRpdmUgbG9nZ2luZywgbGlrZSBsb2cgbWVzc2FnZXMgaW4gYHByX2VycmAsIGBwcmludGtgLCBgZGV2X2luZm9gLCBvciB0cmFjZXBvaW50cywgd2hpY2ggZG9uJiMzOTt0IG1lc3Mgd2l0aCBjb250cm9sIGZsb3cgb3IgZGF0YSBzdHJ1Y3R1cmVzLCBzaG91bGQgYmUgZXhjbHVkZWQgYXMgd2VsbC4gQW5kLCBhcyBleHBlY3RlZCwgYnVpbGQgc3lzdGVtIGNoYW5nZXMgb3IgS2NvbmZpZyBtb2RpZmljYXRpb25zIHRoYXQgZG9uJiMzOTt0IHRvdWNoIHRoZSBhY3R1YWwgY29tcGlsZWQgQyBsb2dpYyBhcmUgb2ZmIHRoZSBsaXN0IHRvby4KCkJ1dC4uLiBoYW5nIG9uIGEgbWludXRlLiBXaGF0IGFib3V0IHJlb3JnYW5pemluZyBoZWFkZXIgaW5jbHVzaW9ucyB3aXRob3V0IGFsdGVyaW5nIGFueSBsb2dpYz8gTGV0JiMzOTtzIHNheSBJJiMzOTttIHNpbXBseSBzaHVmZmxpbmcgYCNpbmNsdWRlYCBkaXJlY3RpdmVzIGFyb3VuZC4gRG9lcyB0aGF0IGNoYW5nZSBhbnl0aGluZyBzaWduaWZpY2FudD8gRG9lcyAqYWRkaW5nKiBvciAqcmVtb3ZpbmcqIHNvbWV0aGluZyBsaWtlIGAjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7YCB0cnVseSBsZWF2ZSB0aGUgQyBsb2dpYyB1bnRvdWNoZWQ/IEkmIzM5O20gZ2V0dGluZyBhIGxpdHRsZSB1bmVhc3kgYWJvdXQgdGhhdC4gSSBuZWVkIHRvIGJlIGFic29sdXRlbHkgc3VyZS4KCk9rYXksIGxldCYjMzk7cyBzdG9wIGFuZCByZWFsbHkgbG9vayBhdCB0aGF0IGBlcnJvci1pbmplY3Rpb24uaGAgaGVhZGVyIGZpbGUuIFdoYXQgZG9lcyBpdCBhY3R1YWxseSBjb250YWluPyBJZiBpdCYjMzk7cyAqanVzdCogbWFjcm8gZGVmaW5pdGlvbnMsIHdvdWxkIGFkZGluZyBvciByZW1vdmluZyBpdCBmcm9tIGEgZmlsZSBsaWtlIGBtb2R1bGUuaGAsIG9yIHNvbWV3aGVyZSBlbHNlLCBzdWJ0bHkgYWx0ZXIgYW55IG1hY3JvIGRlZmluaXRpb25zIG9yIGJlaGF2aW9yPyBJIG5lZWQgdG8gY2hlY2sgdGhlIGFjdHVhbCBjb250ZW50cy4gVGltZSB0byBwdWxsIHVwIGBpbmNsdWRlL2xpbnV4L2Vycm9yLWluamVjdGlvbi5oYCBhbmQgaW52ZXN0aWdhdGUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7aW5jbHVkZS9saW51eC9lcnJvci1pbmplY3Rpb24uaCYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogODAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovXG4gICAyOlx0I2lmbmRlZiBfTElOVVhfRVJST1JfSU5KRUNUSU9OX0hcbiAgIDM6XHQjZGVmaW5lIF9MSU5VWF9FUlJPUl9JTkpFQ1RJT05fSFxuICAgNDpcdFxuICAgNTpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2NvbXBpbGVyLmhcdTAwM2VcbiAgIDY6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJuby5oXHUwMDNlXG4gICA3Olx0I2luY2x1ZGUgXHUwMDNjYXNtLWdlbmVyaWMvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAgIDg6XHRcbiAgIDk6XHQjaWZkZWYgQ09ORklHX0ZVTkNUSU9OX0VSUk9SX0lOSkVDVElPTlxuICAxMDpcdFxuICAxMTpcdGV4dGVybiBib29sIHdpdGhpbl9lcnJvcl9pbmplY3Rpb25fbGlzdCh1bnNpZ25lZCBsb25nIGFkZHIpO1xuICAxMjpcdGV4dGVybiBpbnQgZ2V0X2luamVjdGFibGVfZXJyb3JfdHlwZSh1bnNpZ25lZCBsb25nIGFkZHIpO1xuICAxMzpcdFxuICAxNDpcdCNlbHNlIC8qICFDT05GSUdfRlVOQ1RJT05fRVJST1JfSU5KRUNUSU9OICovXG4gIDE1Olx0XG4gIDE2Olx0c3RhdGljIGlubGluZSBib29sIHdpdGhpbl9lcnJvcl9pbmplY3Rpb25fbGlzdCh1bnNpZ25lZCBsb25nIGFkZHIpXG4gIDE3Olx0e1xuICAxODpcdFx0cmV0dXJuIGZhbHNlO1xuICAxOTpcdH1cbiAgMjA6XHRcbiAgMjE6XHRzdGF0aWMgaW5saW5lIGludCBnZXRfaW5qZWN0YWJsZV9lcnJvcl90eXBlKHVuc2lnbmVkIGxvbmcgYWRkcilcbiAgMjI6XHR7XG4gIDIzOlx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4gIDI0Olx0fVxuICAyNTpcdFxuICAyNjpcdCNlbmRpZlxuICAyNzpcdFxuICAyODpcdCNlbmRpZiAvKiBfTElOVVhfRVJST1JfSU5KRUNUSU9OX0ggKi9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjgtZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTQyNDUKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAxNQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB0YWtlIG9uIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHN1bW1hcml6ZWQgYXMgeW91IHJlcXVlc3RlZDoKCioqRGl2aW5nIGludG8gRXJyb3IgSW5qZWN0aW9uKioKCk9rYXksIHNvIEkgbmVlZCB0byBnZXQgYSBoYW5kbGUgb24gdGhlIGVycm9yIGluamVjdGlvbiBtZWNoYW5pc21zIGhlcmUuIExldCYjMzk7cyBzZWUuLi4gdGhlIGZpcnN0IGxvZ2ljYWwgc3RlcCBpcyB0byBjaGVjayBvdXQgYGFzbS1nZW5lcmljL2Vycm9yLWluamVjdGlvbi5oYC4gVGhhdCBoZWFkZXIgZmlsZSBpcyB1c3VhbGx5IHRoZSBwbGFjZSB3aGVyZSB0aGVzZSBzb3J0cyBvZiBjb3JlLCBnZW5lcmljIGVycm9yIGluamVjdGlvbiBkZWZpbml0aW9ucyBhcmUga2VwdCwgcmlnaHQ/IEkmIzM5O20gaG9waW5nIGl0JiMzOTtzIHdlbGwtZG9jdW1lbnRlZCBhbmQgcHJvdmlkZXMgYSBjbGVhciBvdmVydmlldyBvZiBob3cgdGhlIHN5c3RlbSBpcyBzdHJ1Y3R1cmVkLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgZnVuZGFtZW50YWwgYnVpbGRpbmcgYmxvY2tzIGJlZm9yZSBJIGNhbiBzdGFydCB0byBkaXNzZWN0IGFueSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMgb3IgZmlndXJlIG91dCBob3cgdGhpcyBpcyBpbnRlZ3JhdGVkIGludG8gdGhlIGxhcmdlciBjb250ZXh0LiBUaGlzIGhlYWRlciB3aWxsIGxpa2VseSBjb250YWluIHRoZSBtYWNyb3MsIGRhdGEgc3RydWN0dXJlcywgb3IgZnVuY3Rpb24gcHJvdG90eXBlcyByZWxhdGVkIHRvIGhvdyBhbmQgd2hlcmUgZXJyb3JzIGFyZSBpbmplY3RlZCBpbnRvIHRoZSBrZXJuZWwuIEl04oCZcyB0aGUgc3RhcnRpbmcgcG9pbnQgZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoaXMgcGFydGljdWxhciBtb2R1bGUgaGFuZGxlcyBpdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtpbmNsdWRlL2FzbS1nZW5lcmljL2Vycm9yLWluamVjdGlvbi5oJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiA1MAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgICAxOlx0LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi9cbiAgIDI6XHQjaWZuZGVmIF9BU01fR0VORVJJQ19FUlJPUl9JTkpFQ1RJT05fSFxuICAgMzpcdCNkZWZpbmUgX0FTTV9HRU5FUklDX0VSUk9SX0lOSkVDVElPTl9IXG4gICA0Olx0XG4gICA1Olx0I2lmIGRlZmluZWQoX19LRVJORUxfXykgXHUwMDI2XHUwMDI2ICFkZWZpbmVkKF9fQVNTRU1CTFlfXylcbiAgIDY6XHRlbnVtIHtcbiAgIDc6XHRcdEVJX0VUWVBFX05VTEwsXHRcdC8qIFJldHVybiBOVUxMIGlmIGZhaWx1cmUgKi9cbiAgIDg6XHRcdEVJX0VUWVBFX0VSUk5PLFx0XHQvKiBSZXR1cm4gLUVSUk5PIGlmIGZhaWx1cmUgKi9cbiAgIDk6XHRcdEVJX0VUWVBFX0VSUk5PX05VTEwsXHQvKiBSZXR1cm4gLUVSUk5PIG9yIE5VTEwgaWYgZmFpbHVyZSAqL1xuICAxMDpcdFx0RUlfRVRZUEVfVFJVRSxcdFx0LyogUmV0dXJuIHRydWUgaWYgZmFpbHVyZSAqL1xuICAxMTpcdH07XG4gIDEyOlx0XG4gIDEzOlx0c3RydWN0IGVycm9yX2luamVjdGlvbl9lbnRyeSB7XG4gIDE0Olx0XHR1bnNpZ25lZCBsb25nXHRhZGRyO1xuICAxNTpcdFx0aW50XHRcdGV0eXBlO1xuICAxNjpcdH07XG4gIDE3Olx0XG4gIDE4Olx0c3RydWN0IHB0X3JlZ3M7XG4gIDE5Olx0XG4gIDIwOlx0I2lmZGVmIENPTkZJR19GVU5DVElPTl9FUlJPUl9JTkpFQ1RJT05cbiAgMjE6XHQvKlxuICAyMjpcdCAqIFdoaXRlbGlzdCBnZW5lcmF0aW5nIG1hY3JvLiBTcGVjaWZ5IGZ1bmN0aW9ucyB3aGljaCBjYW4gYmUgZXJyb3ItaW5qZWN0YWJsZVxuICAyMzpcdCAqIHVzaW5nIHRoaXMgbWFjcm8uIElmIHlvdSB1bnN1cmUgd2hhdCBpcyByZXF1aXJlZCBmb3IgdGhlIGVycm9yLWluamVjdGFibGVcbiAgMjQ6XHQgKiBmdW5jdGlvbnMsIHBsZWFzZSByZWFkIERvY3VtZW50YXRpb24vZmF1bHQtaW5qZWN0aW9uL2ZhdWx0LWluamVjdGlvbi5yc3RcbiAgMjU6XHQgKiAmIzM5O0Vycm9yIEluamVjdGFibGUgRnVuY3Rpb25zJiMzOTsgc2VjdGlvbi5cbiAgMjY6XHQgKi9cbiAgMjc6XHQjZGVmaW5lIEFMTE9XX0VSUk9SX0lOSkVDVElPTihmbmFtZSwgX2V0eXBlKVx0XHRcdFx0XFxcbiAgMjg6XHRzdGF0aWMgc3RydWN0IGVycm9yX2luamVjdGlvbl9lbnRyeSBfX3VzZWRcdFx0XHRcdFxcXG4gIDI5Olx0XHRfX3NlY3Rpb24oXCYjMzQ7X2Vycm9yX2luamVjdGlvbl93aGl0ZWxpc3RcJiMzNDspXHRcdFx0XHRcXFxuICAzMDpcdFx0X2VpbF9hZGRyXyMjZm5hbWUgPSB7XHRcdFx0XHRcdFx0XFxcbiAgMzE6XHRcdFx0LmFkZHIgPSAodW5zaWduZWQgbG9uZylmbmFtZSxcdFx0XHRcdFxcXG4gIDMyOlx0XHRcdC5ldHlwZSA9IEVJX0VUWVBFXyMjX2V0eXBlLFx0XHRcdFx0XFxcbiAgMzM6XHRcdH1cbiAgMzQ6XHRcbiAgMzU6XHR2b2lkIG92ZXJyaWRlX2Z1bmN0aW9uX3dpdGhfcmV0dXJuKHN0cnVjdCBwdF9yZWdzICpyZWdzKTtcbiAgMzY6XHQjZWxzZVxuICAzNzpcdCNkZWZpbmUgQUxMT1dfRVJST1JfSU5KRUNUSU9OKGZuYW1lLCBfZXR5cGUpXG4gIDM4Olx0XG4gIDM5Olx0c3RhdGljIGlubGluZSB2b2lkIG92ZXJyaWRlX2Z1bmN0aW9uX3dpdGhfcmV0dXJuKHN0cnVjdCBwdF9yZWdzICpyZWdzKSB7IH1cbiAgNDA6XHQjZW5kaWZcbiAgNDE6XHQjZW5kaWZcbiAgNDI6XHRcbiAgNDM6XHQjZW5kaWYgLyogX0FTTV9HRU5FUklDX0VSUk9SX0lOSkVDVElPTl9IICovXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy44LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE1MTAwCgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogMjIwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgRXJyb3IgSW5qZWN0aW9uIE1lY2hhbmlzbSoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBjb2RlIGFuZCBpbW1lZGlhdGVseSBJIHNlZSBgZXJyb3ItaW5qZWN0aW9uLmhgIGRlZmluaW5nIGBBTExPV19FUlJPUl9JTkpFQ1RJT04oKWAuIE15IGluaXRpYWwgdGhvdWdodCBpcywgd2hlbiBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAgaW5jbHVkZWQgdGhhdCBoZWFkZXIsIHRoZW4gZXZlcnl0aGluZyB0aGF0IGluY2x1ZGVzIGBtb2R1bGUuaGAgYWxzbyBpbXBsaWNpdGx5IGdldHMgdGhpcyBtYWNyby4gVGhhdCYjMzk7cyBhIGNsYXNzaWMgd2F5IHRvIHByb3BhZ2F0ZSBzZXR0aW5ncywgdGhvdWdoIGl0IGNhbiBjcmVhdGUgZGVwZW5kZW5jaWVzIHRoYXQgbmVlZCB0byBiZSBjYXJlZnVsbHkgbWFuYWdlZC4KClRoZW4gSSBub3RpY2VkIHNvbWV0aGluZyBpbnRlcmVzdGluZyBpbiBgeGVfZGV2aWNlLmNgLiBPcmlnaW5hbGx5LCB0aGVyZSB3YXMgYW4gaW5jbHVkZSBmb3IgYGZhdWx0LWluamVjdC5oYCwgYW5kIG5vdyBpdCYjMzk7cyBiZWVuIHJlcGxhY2VkIHdpdGggYGVycm9yLWluamVjdGlvbi5oYC4gTXkgaW1tZWRpYXRlIGh5cG90aGVzaXMgaXMgdGhhdCB0aGVyZSB3YXMgYSBtaXgtdXAsIHBlcmhhcHMgYSBzaW1wbGUgdHlwbywgb3Igc29tZW9uZSByZWFsaXplZCB0aGV5IHJlYWxseSBuZWVkZWQgYEFMTE9XX0VSUk9SX0lOSkVDVElPTmAgd2hpY2ggaXMgZGVmaW5lZCBpbiBgZXJyb3ItaW5qZWN0aW9uLmhgLiBQZXJoYXBzIGBmYXVsdC1pbmplY3QuaGAgd2FzIGluY2x1ZGVkIGJ5IGFjY2lkZW50LgoKTm93LCBteSBuZXh0IHN0ZXAgaXMgY2xlYXI6IEkgbmVlZCB0byB2ZXJpZnkgaG93IGFuZCB3aGVyZSBgQUxMT1dfRVJST1JfSU5KRUNUSU9OYCBpcyBhY3R1YWxseSB1c2VkIHdpdGhpbiBgeGVfZGV2aWNlLmNgIG9yIG90aGVyIGZpbGVzIHRoYXQgbWlnaHQgYmUgYWZmZWN0ZWQuIEkgc2hvdWxkIGNoZWNrIHNwZWNpZmljYWxseSB3aXRoaW4gdGhlIGBkcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNgIGZpbGUgaXRzZWxmIHRvIHNlZSBpZiB0aGUgbWFjcm8gaXMgZGlyZWN0bHkgdXNlZC4gQSBxdWljayBncmVwIHdpbGwgZ2V0IG1lIHRoZSBhbnN3ZXIgSSBuZWVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMSAxNTo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtBTExPV19FUlJPUl9JTkpFQ1RJT04mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jPTQ4NT1zdHJ1Y3QgeGVfZGV2aWNlICp4ZV9kZXZpY2VfY3JlYXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYy01MTMtfVxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jOjUxNDpBTExPV19FUlJPUl9JTkpFQ1RJT04oeGVfZGV2aWNlX2NyZWF0ZSwgRVJSTk8pOyAvKiBTZWUgeGVfcGNpX3Byb2JlKCkgKi9cbmRyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYy01MTUtXG4tLVxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jPTc3Mj1pbnQgeGVfZGV2aWNlX3Byb2JlX2Vhcmx5KHN0cnVjdCB4ZV9kZXZpY2UgKnhlKVxuLS1cbmRyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYy04MzEtfVxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jOjgzMjpBTExPV19FUlJPUl9JTkpFQ1RJT04oeGVfZGV2aWNlX3Byb2JlX2Vhcmx5LCBFUlJOTyk7IC8qIFNlZSB4ZV9wY2lfcHJvYmUoKSAqL1xuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jLTgzMy1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjgtZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTU4OTkKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiA1NQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJbnZlc3RpZ2F0aW5nIHRoZSBEZXBlbmRlbmN5IG9mIGBzeXNjYWxscy5oYCBvbiBgZXJyb3ItaW5qZWN0aW9uLmhgKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBgaW5jbHVkZS9saW51eC9zeXNjYWxscy5oYCBhbmQgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhpcyBjb25uZWN0aW9uLiBXaHkgd291bGQgYSBmaWxlIGRlZmluaW5nIHN5c3RlbSBjYWxsIGludGVyZmFjZXMgcG9zc2libHkgcmVxdWlyZSBlcnJvciBpbmplY3Rpb24gbWVjaGFuaXNtcz8gVGhhdCBzZWVtcy4uLiB1bnVzdWFsLiBNeSBmaXJzdCBpbnN0aW5jdCBpcyB0byBzZWUgd2hhdCYjMzk7cyBnb2luZyBvbiB3aXRoIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gIHdpdGhpbiB0aGF0IGZpbGUgaXRzZWxmLiBMZXQmIzM5O3Mgc2VlIHdoYXQgdGhhdCBtYWNybyYjMzk7cyBkZWZpbml0aW9uIHJldmVhbHMuIFVuZGVyc3RhbmRpbmcgdGhhdCBzaG91bGQgc2hlZCBzb21lIGxpZ2h0IG9uIHRoaXMgZGVzaWduIGNob2ljZS4gUGVyaGFwcyBpdCYjMzk7cyBjb25kaXRpb25hbCBjb21waWxhdGlvbiBiYXNlZCBvbiBzb21lIGJyb2FkZXIgc3lzdGVtIGNvbmZpZ3VyYXRpb24sIG9yIG1heWJlIGl0JiMzOTtzIGp1c3QgYSBkaWFnbm9zdGljIHRvb2wuIFRpbWUgdG8gZGl2ZSBpbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7QUxMT1dfRVJST1JfSU5KRUNUSU9OJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7aW5jbHVkZS9saW51eC9zeXNjYWxscy5oJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaD0yMTI9c3RhdGljIGlubGluZSBpbnQgaXNfc3lzY2FsbF90cmFjZV9ldmVudChzdHJ1Y3QgdHJhY2VfZXZlbnRfY2FsbCAqdHBfZXZlbnQpXG4tLVxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oLTIyMS1cdGFzbWxpbmthZ2UgbG9uZyBzeXNfIyNzbmFtZSh2b2lkKTtcdFx0XHRcXFxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oOjIyMjpcdEFMTE9XX0VSUk9SX0lOSkVDVElPTihzeXNfIyNzbmFtZSwgRVJSTk8pO1x0XHRcXFxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oLTIyMy1cdGFzbWxpbmthZ2UgbG9uZyBzeXNfIyNzbmFtZSh2b2lkKVxuLS1cbmluY2x1ZGUvbGludXgvc3lzY2FsbHMuaC0yNTYtXHRcdF9fYXR0cmlidXRlX18oKGFsaWFzKF9fc3RyaW5naWZ5KF9fc2Vfc3lzIyNuYW1lKSkpKTtcdFxcXG5pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmg6MjU3Olx0QUxMT1dfRVJST1JfSU5KRUNUSU9OKHN5cyMjbmFtZSwgRVJSTk8pO1x0XHRcdFxcXG5pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmgtMjU4LVx0c3RhdGljIGlubGluZSBsb25nIF9fZG9fc3lzIyNuYW1lKF9fTUFQKHgsX19TQ19ERUNMLF9fVkFfQVJHU19fKSk7XFxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjgtZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTYzNzcKCQkJCQkJCW91dHB1dDogMzMKCQkJCQkJCXRob3VnaHRzOiAxMjcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqSW52ZXN0aWdhdGluZyB0aGUgYEFMTE9XX0VSUk9SX0lOSkVDVElPTmAgTWFjcm8qKgoKT2theSwgc28gSSYjMzk7bSBkaWdnaW5nIGludG8gdGhpcyBjb2RlIGFuZCBJJiMzOTt2ZSBqdXN0IHNwb3R0ZWQgc29tZXRoaW5nIGludGVyZXN0aW5nLiBJdCBsb29rcyBsaWtlIHRoZSBgQUxMT1dfRVJST1JfSU5KRUNUSU9OYCBtYWNybyBpcyBiZWluZyB1c2VkIHJpZ2h0IHRoZXJlIGluIHRoZSBgU1lTQ0FMTF9ERUZJTkV4YCBtYWNyb3MgZGVmaW5lZCBpbiBgaW5jbHVkZS9saW51eC9zeXNjYWxscy5oYC4gTm93LCBJIHJlY2FsbCB0aGlzIG1hY3JvIHVzZWQgdG8gYmUgc291cmNlZCB0aHJvdWdoIGBpbmNsdWRlL2xpbnV4L21vZHVsZS5oYCBvciBzb21ld2hlcmUgc2ltaWxhci4gSSByZW1lbWJlciB3aGVuIHRoZSBgaW5jbHVkZS9saW51eC9lcnJvci1pbmplY3Rpb24uaGAgd2FzIHJlbW92ZWQgZnJvbSBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAsIGNhdXNpbmcgYSByaXBwbGUgZWZmZWN0IHdoZXJlIGZpbGVzIHRoYXQgZGlkbiYjMzk7dCBpbmNsdWRlIGBtb2R1bGUuaGAgZGlyZWN0bHksIG9yIG9ubHkgaW5jbHVkZWQgYHN5c2NhbGxzLmhgLCBzdWRkZW5seSBuZWVkZWQgdG8gZXhwbGljaXRseSBpbmNsdWRlIGBlcnJvci1pbmplY3Rpb24uaGAgdG8gYWNjZXNzIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gLiBJdCB3YXMgYSBmdW4gbGl0dGxlIHJlZmFjdG9yaW5nIGV4ZXJjaXNlIGF0IHRoZSB0aW1lLCBidXQgdGhpcyBicmluZ3MgdXAgc29tZSBxdWVzdGlvbnMuIEkgaGFkIHRvIGxvb2sgYXQgYGNvbXBhdC5oYCBmb3Igc29tZSBvdGhlciBjb250ZXh0LCBzbyBsZXQmIzM5O3Mgc2VlIHdoYXQgdGhhdCBmaWxlIGNhbiB0ZWxsIHVzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE4LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMSAxNTo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtBTExPV19FUlJPUl9JTkpFQ1RJT04mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtpbmNsdWRlL2xpbnV4L2NvbXBhdC5oJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvY29tcGF0LmgtNDgtXHRhc21saW5rYWdlIGxvbmcgY29tcGF0X3N5c18jI25hbWUodm9pZCk7IFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oOjQ5Olx0QUxMT1dfRVJST1JfSU5KRUNUSU9OKGNvbXBhdF9zeXNfIyNuYW1lLCBFUlJOTyk7IFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oLTUwLVx0YXNtbGlua2FnZSBsb25nIGNvbXBhdF9zeXNfIyNuYW1lKHZvaWQpXG4tLVxuaW5jbHVkZS9saW51eC9jb21wYXQuaC04MS1cdFx0X19hdHRyaWJ1dGVfXygoYWxpYXMoX19zdHJpbmdpZnkoX19zZV9jb21wYXRfc3lzIyNuYW1lKSkpKTtcdFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oOjgyOlx0QUxMT1dfRVJST1JfSU5KRUNUSU9OKGNvbXBhdF9zeXMjI25hbWUsIEVSUk5PKTtcdFx0XHRcdFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oLTgzLVx0c3RhdGljIGlubGluZSBsb25nIF9fZG9fY29tcGF0X3N5cyMjbmFtZShfX01BUCh4LF9fU0NfREVDTCxfX1ZBX0FSR1NfXykpO1xcXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy44LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE2OTYwCgkJCQkJCQlvdXRwdXQ6IDEwNwoJCQkJCQkJdGhvdWdodHM6IDIwMTIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHlzaXMgb2YgYSBIZWFkZXIgRmlsZSBSZWZhY3RvcmluZyBQYXRjaCoqCgpBbHJpZ2h0LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLiBJdCBzZWVtcyB0aGlzIHBhdGNoIGlzIGFsbCBhYm91dCB0aWR5aW5nIHVwIGhvdyBgZXJyb3ItaW5qZWN0aW9uLmhgIGlzIGluY2x1ZGVkIGluIHRoZSBrZXJuZWwuIFRoZSBjb3JlIGlkZWEgaXMgdGhhdCBwcmV2aW91c2x5LCB0aGlzIGhlYWRlciB3YXMgaW5jbHVkZWQgdGhyb3VnaCBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAsIGJ1dCBub3cgaXQmIzM5O3MgYmVpbmcgZXhwbGljaXRseSBpbmNsdWRlZCB3aGVyZSBgQUxMT1dfRVJST1JfSU5KRUNUSU9OYCBpcyBhY3R1YWxseSB1c2VkLiAgVGhlcmUmIzM5O3MgYWxzbyBhIG1pbm9yIGNvcnJlY3Rpb24gaW4gdGhlIGB4ZWAgZHJpdmVycywgc3dpdGNoaW5nIGZyb20gYGZhdWx0LWluamVjdC5oYCB0byBgZXJyb3ItaW5qZWN0aW9uLmhgIHdoZXJlIGFwcHJvcHJpYXRlLgoKTXkgcHJpbWFyeSBjb25jZXJuIGlzIHdoZXRoZXIgdGhpcyBjaGFuZ2VzIGFueSBhY3R1YWwgKmNvZGUqLiBMZXQmIzM5O3MgbG9vayBhdCB0aGUgZGlmZjogaXQmIzM5O3MgcHVyZWx5IGFib3V0IGFkZGluZyBvciByZW1vdmluZyBgI2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0O2AuICBJIHNlZSBubyBjaGFuZ2VzIHRvIGZ1bmN0aW9ucywgY29udHJvbCBmbG93LCBkYXRhIHN0cnVjdHVyZXMsIG9yIGFueSBsb2dpYyBhdCBhbGwuICBUaGUgY2hhbmdlcyBhcmUgbGltaXRlZCB0byBhIGxvbmcgbGlzdCBvZiBmaWxlcyBhZGRpbmcgdGhlIHJlbGV2YW50IGhlYWRlciwgYW5kIG9uZSBmaWxlIHdoaWNoIGlzIHJlbW92aW5nIGl0LiBObyBleGVjdXRhYmxlIGNvZGUgaGFzIGJlZW4gYWx0ZXJlZCEKCk5vdywgYXBwbHlpbmcgb3VyIHRyaWFnZSBydWxlcy4uLiAgU2VjdGlvbiAyJiMzOTtzIGNyaXRlcmlhIGZvciBXb3J0aEZ1enppbmc9ZmFsc2Ugc2VlbXMgc3BvdC1vbiBoZXJlLiBUaGlzIHBhdGNoIGlzIG5vdGhpbmcgbW9yZSB0aGFuIGhlYWRlciBmaWxlIGRlcGVuZGVuY3kgYWRqdXN0bWVudHMuIEl0JiMzOTtzIGVzc2VudGlhbGx5ICYjMzQ7bm9uLWtlcm5lbCBhbmQgbm9uLWV4ZWN1dGFibGUsJiMzNDsgZmFsbGluZyBpbnRvIHRoZSAmIzM0O0J1aWxkIHN5c3RlbSBvciBLY29uZmlnIGNoYW5nZXMgdGhhdCBkbyBub3QgYWx0ZXIgY29tcGlsZWQgQyBsb2dpYyYjMzQ7IGNhdGVnb3J5IC0gZXZlbiBpZiBpdCYjMzk7cyBub3QgYSBidWlsZCBzeXN0ZW0gY2hhbmdlICpwZXIgc2UqLCBpdCBpcyBhIGRlcGVuZGVuY3kgY2hhbmdlIHRoYXQgKmRvZXMgbm90KiBhZmZlY3QgY29tcGlsZWQgQyBsb2dpYy4KClRoZXJlZm9yZSwgYFdvcnRoRnV6emluZ2AgaXMgdW5lcXVpdm9jYWxseSBgZmFsc2VgLiBUaGUgYFJlYXNvbmluZ2Agc2hvdWxkIGV4cGxpY2l0bHkgc3RhdGUgdGhpcyAtIHRoZSBwYXRjaCBvbmx5IGludm9sdmVzIGhlYWRlciBmaWxlIGluY2x1c2lvbiBhZGp1c3RtZW50cywgc3BlY2lmaWNhbGx5IG1vdmluZyBgI2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0O2AgZnJvbSBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAgdG8gaW5kaXZpZHVhbCBmaWxlcyBhbmQgY29ycmVjdGluZyBpbmNsdWRlcyB3aXRoaW4gdGhlIGB4ZWAgZHJpdmVycywgd2l0aCAqbm8qIGltcGFjdCBvbiBleGVjdXRhYmxlIEMgY29kZSwgZGF0YSBzdHJ1Y3R1cmVzLCBjb250cm9sIGZsb3csIG9yIGFzc2VydGlvbnMuIGBGb2N1c1N5bWJvbHNgIHdpbGwgYmUgYW4gZW1wdHkgbGlzdCBgW11gLCBhbmQgYEVuYWJsZUNvbmZpZ3NgIHdpbGwgYWxzbyBiZSBgW11gLiBObyBuZWVkIHRvIGVuYWJsZSBhbnl0aGluZywgYXMgdGhpcyBwYXRjaCBkb2VzIG5vdCBhZGQgYW55IG5ldyBmdW5jdGlvbmFsaXR5LiBJdCYjMzk7cyBzaW1wbHkgYSBjb2RlIGNsZWFudXAuIEkmIzM5O20gY29uZmlkZW50IGluIHRoaXMgYXNzZXNzbWVudC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBzZXJpZXMgY29uc2lzdHMgc29sZWx5IG9mIGhlYWRlciBpbmNsdWRlIHJlb3JnYW5pemF0aW9uczogcmVtb3ZpbmcgJiMzOTsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZSYjMzk7IGZyb20gJiMzOTtpbmNsdWRlL2xpbnV4L21vZHVsZS5oJiMzOTsgYW5kIGFkZGluZyBkaXJlY3QgJiMzOTsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZSYjMzk7IGRpcmVjdGl2ZXMgYWNyb3NzIHZhcmlvdXMgc291cmNlIGZpbGVzIHRoYXQgcmVseSBvbiBlcnJvciBpbmplY3Rpb24gbWFjcm9zLiBUaGVyZSBhcmUgbm8gZXhlY3V0YWJsZSBDIGxvZ2ljLCBkYXRhIHN0cnVjdHVyZSwgY29udHJvbCBmbG93LCBvciBhc3NlcnRpb24gY2hhbmdlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIHNlcmllcyBjb25zaXN0cyBzb2xlbHkgb2YgaGVhZGVyIGluY2x1ZGUgcmVvcmdhbml6YXRpb25zOiByZW1vdmluZyAmIzM5OyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlJiMzOTsgZnJvbSAmIzM5O2luY2x1ZGUvbGludXgvbW9kdWxlLmgmIzM5OyBhbmQgYWRkaW5nIGRpcmVjdCAmIzM5OyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlJiMzOTsgZGlyZWN0aXZlcyBhY3Jvc3MgdmFyaW91cyBzb3VyY2UgZmlsZXMgdGhhdCByZWx5IG9uIGVycm9yIGluamVjdGlvbiBtYWNyb3MuIFRoZXJlIGFyZSBubyBleGVjdXRhYmxlIEMgbG9naWMsIGRhdGEgc3RydWN0dXJlLCBjb250cm9sIGZsb3csIG9yIGFzc2VydGlvbiBjaGFuZ2VzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMS8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPklmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjA0LjYxMzgyODM2OVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwMDQ0NTQ2ODgyNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2UsXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHNlcmllcyBjb25zaXN0cyBzb2xlbHkgb2YgaGVhZGVyIGluY2x1ZGUgcmVvcmdhbml6YXRpb25zOiByZW1vdmluZyAnI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZScgZnJvbSAnaW5jbHVkZS9saW51eC9tb2R1bGUuaCcgYW5kIGFkZGluZyBkaXJlY3QgJyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2UnIGRpcmVjdGl2ZXMgYWNyb3NzIHZhcmlvdXMgc291cmNlIGZpbGVzIHRoYXQgcmVseSBvbiBlcnJvciBpbmplY3Rpb24gbWFjcm9zLiBUaGVyZSBhcmUgbm8gZXhlY3V0YWJsZSBDIGxvZ2ljLCBkYXRhIHN0cnVjdHVyZSwgY29udHJvbCBmbG93LCBvciBhc3NlcnRpb24gY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjA0LjYxMzgzMzA5OVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjE4MjUxNzE3NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDA2ZDA1MWU0N2ZhNjk3MGI4ZjhhZWQ5M2E1MjdmNDQ4ZmExMzhlYTBcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIEZyaSBTZXAgMTEgMTU6NDY6MDIgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvYmxvY2svYmxrLWNvcmUuYyBiL2Jsb2NrL2Jsay1jb3JlLmNcXG5pbmRleCAxOTZiY2NmMjdmNThkLi4zMjRhMmQxYmI3MjdiIDEwMDY0NFxcbi0tLSBhL2Jsb2NrL2Jsay1jb3JlLmNcXG4rKysgYi9ibG9jay9ibGstY29yZS5jXFxuQEAgLTQwLDYgKzQwLDcgQEBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BhcnRfc3RhdC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvc2NoZWQvc3lzY3RsLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9ibGstY3J5cHRvLmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gXFxuICNkZWZpbmUgQ1JFQVRFX1RSQUNFX1BPSU5UU1xcbiAjaW5jbHVkZSBcXHUwMDNjdHJhY2UvZXZlbnRzL2Jsb2NrLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jXFxuaW5kZXggN2VmOTMzOGQ2N2FiZi4uYTI4Nzg4NGMwMDQ1ZiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuY1xcbkBAIC0yMyw2ICsyMyw3IEBAXFxuICAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG4gICovXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9pMmMuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3NsYWIuaFxcdTAwM2VcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuY1xcbmluZGV4IDcwZDExMmZkNDI4N2EuLjIwNDgxMGExMWU0NjMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RyaXZlci5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RyaXZlci5jXFxuQEAgLTcsNiArNyw3IEBAXFxuICAqIGRldGFpbHMgaGVyZS5cXG4gICovXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC92Z2Ffc3dpdGNoZXJvby5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjYWNwaS92aWRlby5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2Rpc3BsYXkvZHJtX2RwX21zdF9oZWxwZXIuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuY1xcbmluZGV4IGMwZmQzNDlhNDYwMGMuLjJjM2JjN2I2N2MwZDUgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuY1xcbkBAIC0zLDYgKzMsNyBAQFxcbiAgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvblxcbiAgKi9cXG4gXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3N0cmluZ19oZWxwZXJzLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9wcmludC5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuY1xcbmluZGV4IDVjN2Y4NjJmNzEwMGEuLjJmMGUxY2I1NTc4Y2UgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmNcXG5AQCAtMyw2ICszLDggQEBcXG4gICogQ29weXJpZ2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb25cXG4gICovXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuK1xcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vaW50ZWwvaW50ZWwtZ3R0LmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vaW50ZWwvaW50ZWxfZ21kX2ludGVycnVwdF9yZWdzLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmNcXG5pbmRleCAxYzQ1NWQ4NGJmOWQ4Li4wOTFhYTMzZjYyNGFhIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmNcXG5AQCAtNCw2ICs0LDcgQEBcXG4gICovXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvY2lyY19idWYuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgva3RpbWUuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3N0cmluZ19oZWxwZXJzLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC90aW1lNjQuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmNcXG5pbmRleCBiZDA3YzcyYTY2ZmNlLi5kMzY3YTg5N2M4NmIyIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jXFxuQEAgLTMsNiArMyw3IEBAXFxuICAqIENvcHlyaWdodCDCqSAyMDE2LTIwMTkgSW50ZWwgQ29ycG9yYXRpb25cXG4gICovXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9zdHJpbmdfaGVscGVycy5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFxcImd0L2ludGVsX2d0LmhcXFwiXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jXFxuaW5kZXggN2ZhYzk3ZmUzMGE2My4uZDdjNzMxZmU5NzJiZiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuY1xcbkBAIC00LDYgKzQsNyBAQFxcbiAgKi9cXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9iaXRmaWVsZC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9maXJtd2FyZS5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvaGlnaG1lbS5oXFx1MDAzZVxcbiBcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcml2ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJpdmVyLmNcXG5pbmRleCBjZTZkMjA5NTgzMjBjLi5hZWI3YjI0YzgxYzhiIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJpdmVyLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jXFxuQEAgLTMwLDYgKzMwLDcgQEBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2FwZXJ0dXJlLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9hY3BpLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZXZpY2UuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvbW9kdWxlLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9vb20uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BjaS5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuY1xcbmluZGV4IDJmMDNmOTU5NDVmMWIuLjg0YTdkYzZhYjVkYmEgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmNcXG5AQCAtMjIsNiArMjIsOCBAQFxcbiAgKlxcbiAgKi9cXG4gXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4rXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX2NvbG9yX21nbXQuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fZHJ2LmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vaW50ZWwvcGNpX2NvbmZpZy5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jXFxuaW5kZXggMTcwZTgzYThjOWZjMy4uZTM2MGU0ZjlkOWEyZCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jXFxuQEAgLTIxLDYgKzIxLDcgQEBcXG4gICogSU4gVEhFIFNPRlRXQVJFLlxcbiAgKi9cXG4gXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BtX3J1bnRpbWUuaFxcdTAwM2VcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jXFxuaW5kZXggZWU3MzJlNTQ5NWY3ZC4uZmNlZjhkNWZjN2NhMiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNcXG5AQCAtNyw3ICs3LDcgQEBcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9hcGVydHVyZS5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvZGVsYXkuaFxcdTAwM2VcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC91bml0cy5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fY2xpZW50LmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jXFxuaW5kZXggY2QwNTNkZTNjNmI1Ni4uM2U0NmMxNDU4NGM0MiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuY1xcbkBAIC01LDYgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX2V4ZWNfcXVldWUuaFxcXCJcXG4gXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L25vc3BlYy5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fZGV2aWNlLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9nZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jXFxuaW5kZXggOGVjMjM4NjI0NzdmYy4uZTA1NTgyYWQwOThhNiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuY1xcbkBAIC02LDcgKzYsNyBAQFxcbiAjaW5jbHVkZSBcXFwieGVfZ2d0dC5oXFxcIlxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2t1bml0L3Zpc2liaWxpdHkuaFxcdTAwM2VcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9pby02NC1ub25hdG9taWMtbG8taGkuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3NpemVzLmhcXHUwMDNlXFxuIFxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjLmNcXG5pbmRleCA0Mjg2YmQwNWM2ODYxLi4zNGUyMWE3MGQ1YWQ4IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuY1xcbkBAIC01LDYgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX2d1Yy5oXFxcIlxcbiBcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvaW9wb2xsLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFxcdTAwM2VcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2Fkcy5jXFxuaW5kZXggZmY4ZWVlMzgzMWFhMi4uNDFhMmI4YzgwN2Q2OCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2Fkcy5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19hZHMuY1xcbkBAIC01LDcgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX2d1Y19hZHMuaFxcXCJcXG4gXFxuLSNpbmNsdWRlIFxcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXFx1MDAzZVxcbiBcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jXFxuaW5kZXggZmU3MGMwZmQ4NWM1Mi4uYWM2Y2JiYWE2Y2MwYSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmNcXG5AQCAtOCw3ICs4LDcgQEBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2JpdGZpZWxkLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9jaXJjX2J1Zi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvZGVsYXkuaFxcdTAwM2VcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNja3VuaXQvc3RhdGljX3N0dWIuaFxcdTAwM2VcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jXFxuaW5kZXggNTM4ZDRkZjBmN2FhNy4uNmYwNzM5MjA0ZDllMiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19sb2cuY1xcbkBAIC01LDcgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX2d1Y19sb2cuaFxcXCJcXG4gXFxuLSNpbmNsdWRlIFxcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3V0c25hbWUuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmNcXG5pbmRleCBlZWQwYTc1MGQyZWIyLi5lNTI4ZDk1YmE3ZmVlIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfcmVsYXkuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfcmVsYXkuY1xcbkBAIC01LDcgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2JpdGZpZWxkLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZWxheS5oXFx1MDAzZVxcbi0jaW5jbHVkZSBcXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFxcdTAwM2VcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuY1xcbmluZGV4IGQ0MmUyNjNlMDYxMWUuLmFjODFmMzgyZTdkYzAgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9jbGFzc19zeXNmcy5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9jbGFzc19zeXNmcy5jXFxuQEAgLTQsNiArNCw3IEBAXFxuICAqL1xcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9rb2JqZWN0LmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9zeXNmcy5oXFx1MDAzZVxcbiBcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9ncm91cC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9ncm91cC5jXFxuaW5kZXggMDgwNGI0MjZiNmY5ZS4uNDE4ZmY0MjdhZTMwOCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmNcXG5AQCAtMyw2ICszLDggQEBcXG4gICogQ29weXJpZ2h0IMKpIDIwMjQgSW50ZWwgQ29ycG9yYXRpb25cXG4gICovXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuK1xcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXFwieGVfYXNzZXJ0LmhcXFwiXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9tbWlvLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jXFxuaW5kZXggN2ZhMThkZmNiNWEyOC4uZDhmOGEyNDUzYmI2NSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uY1xcbkBAIC02LDYgKzYsNyBAQFxcbiAjaW5jbHVkZSBcXFwieGVfbW1pby5oXFxcIlxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2RlbGF5LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2lvLTY0LW5vbmF0b21pYy1sby1oaS5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvbWlubWF4LmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9wY2kuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX29hLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuY1xcbmluZGV4IGFiMDlkY2ZmNTg2MDkuLmIxNWM5NmUzNWZhYmYgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX29hLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuY1xcbkBAIC01LDYgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Fub25faW5vZGVzLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZWxheS5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9ub3NwZWMuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BvbGwuaFxcdTAwM2VcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmNcXG5pbmRleCBhNTI4OWE5ZGY4ZDI1Li5jMDQ4OWE4ZDhhNjI1IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wbS5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmNcXG5AQCAtNSw3ICs1LDcgQEBcXG4gXFxuICNpbmNsdWRlIFxcXCJ4ZV9wbS5oXFxcIlxcbiBcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9wbV9ydW50aW1lLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9zdXNwZW5kLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kbWkuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHQuY1xcbmluZGV4IGEwNzMxNmE0NWQ3OWIuLjZjNmQ5YmUyNzE3ZWYgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHQuY1xcbkBAIC01LDYgKzUsOCBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX3B0LmhcXFwiXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuK1xcbiAjaW5jbHVkZSBcXFwicmVncy94ZV9ndHRfZGVmcy5oXFxcIlxcbiAjaW5jbHVkZSBcXFwieGVfYm8uaFxcXCJcXG4gI2luY2x1ZGUgXFxcInhlX2RldmljZS5oXFxcIlxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHhwLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHhwLmNcXG5pbmRleCAyZmVmMjc0YTU4NWU4Li4yZjM2MzJhYzIwMWFiIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuY1xcbkBAIC01LDYgKzUsOCBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX3B4cC5oXFxcIlxcbiBcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbitcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjdWFwaS9kcm0veGVfZHJtLmhcXHUwMDNlXFxuIFxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zcmlvdi5jXFxuaW5kZXggZjM4MzU4NjdmY2U1ZC4uZWMyNTRiOTUwZGFmNCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zcmlvdi5jXFxuQEAgLTMsNyArMyw3IEBAXFxuICAqIENvcHlyaWdodCDCqSAyMDIzIEludGVsIENvcnBvcmF0aW9uXFxuICAqL1xcbiBcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcXHUwMDNlXFxuIFxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3luYy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuY1xcbmluZGV4IDM3ODY2NzY4ZDY0YzIuLjcxMWRlMjJmNDk4NjQgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmNcXG5AQCAtNiw2ICs2LDcgQEBcXG4gI2luY2x1ZGUgXFxcInhlX3N5bmMuaFxcXCJcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kbWEtZmVuY2UtYXJyYXkuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgva3RocmVhZC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvc2NoZWQvbW0uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3VhY2Nlc3MuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3RpbGUuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcXG5pbmRleCA3NGQ5MjVhMzM3Yjc2Li44MTBkZmQ5OGQ4MzAwIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdGlsZS5jXFxuQEAgLTMsNyArMyw3IEBAXFxuICAqIENvcHlyaWdodCDCqSAyMDIzIEludGVsIENvcnBvcmF0aW9uXFxuICAqL1xcbiBcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX3BhZ2VtYXBfdXRpbC5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdHVuaW5nLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdHVuaW5nLmNcXG5pbmRleCBiY2VjNDBjYTJkMzVmLi5kM2QzOGI0MzgwYmVjIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuY1xcbkBAIC01LDYgKzUsOCBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX3R1bmluZy5oXFxcIlxcbiBcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbitcXG4gI2luY2x1ZGUgXFx1MDAzY2t1bml0L3Zpc2liaWxpdHkuaFxcdTAwM2VcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuY1xcbmluZGV4IGE4ZTZmMThjYzliNGEuLmYxNzkyNWFkNTNmNWIgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3VjX2Z3LmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuY1xcbkBAIC00LDcgKzQsNyBAQFxcbiAgKi9cXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9iaXRmaWVsZC5oXFx1MDAzZVxcbi0jaW5jbHVkZSBcXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Zpcm13YXJlLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmNcXG5pbmRleCAyMzk1MmFkODk1MWUyLi5mMDAwNTY0ZjFlNTk2IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmNcXG5AQCAtNiw2ICs2LDcgQEBcXG4gI2luY2x1ZGUgXFxcInhlX3ZtLmhcXFwiXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvZG1hLWZlbmNlLWFycmF5LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L25vc3BlYy5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fZHJ2LmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmNcXG5pbmRleCAxMzk0MzQ5NDZmOGY4Li45OGQyZmRkM2JhNmY4IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmNcXG5AQCAtOCw3ICs4LDcgQEBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNja3VuaXQvdmlzaWJpbGl0eS5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvY29tcGlsZXJfdHlwZXMuaFxcdTAwM2VcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjZ2VuZXJhdGVkL3hlX2RldmljZV93YV9vb2IuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2dlbmVyYXRlZC94ZV93YV9vb2IuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uY1xcbmluZGV4IGZlNjVlZDI0Njc3NWQuLjdkYTFlM2ViYzgzOTEgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uY1xcbkBAIC01LDcgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX3dvcGNtLmhcXFwiXFxuIFxcbi0jaW5jbHVkZSBcXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gXFxuICNpbmNsdWRlIFxcXCJyZWdzL3hlX2d1Y19yZWdzLmhcXFwiXFxuICNpbmNsdWRlIFxcXCJ4ZV9kZXZpY2UuaFxcXCJcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmMgYi9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuY1xcbmluZGV4IGE0MTVlMDJhNmRmMWUuLmUyZDdkM2FiYTE5MzMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmNcXG4rKysgYi9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuY1xcbkBAIC0xLDUgKzEsNiBAQFxcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMFxcbiBcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvbmV0ZGV2aWNlLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NuZXQvcGt0X3NjaGVkLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NuZXQvcGt0X2Nscy5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2NvbXBhdC5oIGIvaW5jbHVkZS9saW51eC9jb21wYXQuaFxcbmluZGV4IDhkYTBhMTVjOTVmNGUuLmFkMzdjYTYxN2U2NWMgMTAwNjQ0XFxuLS0tIGEvaW5jbHVkZS9saW51eC9jb21wYXQuaFxcbisrKyBiL2luY2x1ZGUvbGludXgvY29tcGF0LmhcXG5AQCAtMTgsNiArMTgsNyBAQFxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvYWlvX2FiaS5oXFx1MDAzZVxcdC8qIGZvciBhaW9fY29udGV4dF90ICovXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC91YWNjZXNzLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC91bmlzdGQuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2FzbS9jb21wYXQuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2FzbS9zaWdpbmZvLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW9kdWxlLmggYi9pbmNsdWRlL2xpbnV4L21vZHVsZS5oXFxuaW5kZXggOTZjYzk4NTY4ZWVhNS4uYjNhM2Q1ODI3Mzg0ZiAxMDA2NDRcXG4tLS0gYS9pbmNsdWRlL2xpbnV4L21vZHVsZS5oXFxuKysrIGIvaW5jbHVkZS9saW51eC9tb2R1bGUuaFxcbkBAIC0yNCw3ICsyNCw2IEBAXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9qdW1wX2xhYmVsLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9leHBvcnQuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3JidHJlZV9sYXRjaC5oXFx1MDAzZVxcbi0jaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC90cmFjZXBvaW50LWRlZnMuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3NyY3UuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3N0YXRpY19jYWxsX3R5cGVzLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaCBiL2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaFxcbmluZGV4IDg0MTNiNjI0YWQ0NzguLjU1MmQ5NzEwYTBkNTcgMTAwNjQ0XFxuLS0tIGEvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oXFxuKysrIGIvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oXFxuQEAgLTkyLDYgKzkyLDcgQEAgc3RydWN0IGZpbGVfYXR0cjtcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3F1b3RhLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9rZXkuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BlcnNvbmFsaXR5LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY3RyYWNlL3N5c2NhbGwuaFxcdTAwM2VcXG4gXFxuICNpZmRlZiBDT05GSUdfQVJDSF9IQVNfU1lTQ0FMTF9XUkFQUEVSXFxuZGlmZiAtLWdpdCBhL2tlcm5lbC9tb2R1bGUvbWFpbi5jIGIva2VybmVsL21vZHVsZS9tYWluLmNcXG5pbmRleCBkMGUxZTBiZDJhZDA2Li5mMTM5MmMxMDkwN2EyIDEwMDY0NFxcbi0tLSBhL2tlcm5lbC9tb2R1bGUvbWFpbi5jXFxuKysrIGIva2VybmVsL21vZHVsZS9tYWluLmNcXG5AQCAtNjAsNiArNjAsNyBAQFxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvY29kZXRhZy5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvZGVidWdmcy5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvZXhlY21lbS5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2N1YXBpL2xpbnV4L21vZHVsZS5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXFwiaW50ZXJuYWwuaFxcXCJcXG4gXFxuZGlmZiAtLWdpdCBhL25ldC9jb3JlL3NrYl9mYXVsdF9pbmplY3Rpb24uYyBiL25ldC9jb3JlL3NrYl9mYXVsdF9pbmplY3Rpb24uY1xcbmluZGV4IDQyMzVkYjZiZGZhZDUuLjJjN2Y1MTliZWY4MDAgMTAwNjQ0XFxuLS0tIGEvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jXFxuKysrIGIvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jXFxuQEAgLTEsNiArMSw3IEBAXFxuIC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZWJ1Z2ZzLmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvbmV0ZGV2aWNlLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9za2J1ZmYuaFxcdTAwM2VcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTFUMTU6NDY6MDYuNzk3MTcyMzU2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiY29yZSIsIkR1cmF0aW9uIjo5ODI2MjExMDU2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggc2VyaWVzIGNvbnNpc3RzIHNvbGVseSBvZiBoZWFkZXIgaW5jbHVkZSByZW9yZ2FuaXphdGlvbnM6IHJlbW92aW5nICcjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlJyBmcm9tICdpbmNsdWRlL2xpbnV4L21vZHVsZS5oJyBhbmQgYWRkaW5nIGRpcmVjdCAnI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZScgZGlyZWN0aXZlcyBhY3Jvc3MgdmFyaW91cyBzb3VyY2UgZmlsZXMgdGhhdCByZWx5IG9uIGVycm9yIGluamVjdGlvbiBtYWNyb3MuIFRoZXJlIGFyZSBubyBleGVjdXRhYmxlIEMgbG9naWMsIGRhdGEgc3RydWN0dXJlLCBjb250cm9sIGZsb3csIG9yIGFzc2VydGlvbiBjaGFuZ2VzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIgYW5kIHNlY3VyaXR5IGVuZ2luZWVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBldmFsdWF0ZSB3aGV0aGVyIGl0IHdhcnJhbnRzIGZ1enppbmcgd2l0aCBzeXprYWxsZXIuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIGludGVybmFsIGFzc3VtcHRpb25zLiBZb3UgbXVzdCBhY3RpdmVseSB1c2UgeW91ciBjb2RlIGFjY2Vzc1xudG9vbHMgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlLCBjYWxsZXJzLCBhbmQgc3Vycm91bmRpbmcgY29udGV4dC5cblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjEuIENPUkUgVFJJQUdFIFBISUxPU09QSFlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5UaGUgZ29hbCBvZiBwYXRjaCBmdXp6aW5nIGlzIHRvIGRpc2NvdmVyIGNyYXNoZXMsIHJlZ3Jlc3Npb25zLCBleHBvc2VkIGxhdGVudCBidWdzLFxuYW5kIG5ld2x5IHRyaWdnZXJlZCBhc3NlcnRpb25zIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIHNlcmllcy5cblxuLSBSRUFDSEFCSUxJVFkgSVMgVEhFIFBSSU1BUlkgR0FURTpcbiAgRnV6emluZyBjYW4gb25seSBkaXNjb3ZlciBidWdzIGluIGNvZGUgdGhhdCBjYW4gYWN0dWFsbHkgZXhlY3V0ZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZFxuICBlbnZpcm9ubWVudHMgKEdDRSBvciBRRU1VLCB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgZGV2aWNlcyBsaWtlIFVTQiBnYWRnZXRzLCBuZXRkZXYsIHR1bi90YXApLlxuICBJZiB0aGUgbW9kaWZpZWQgY29kZSBpcyBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgKHNlZSBTZWN0aW9uIDIpLCBpdCBNVVNUIE5PVCBiZSBmdXp6ZWQsXG4gIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBhZGRzIGFzc2VydGlvbnMgb3IgY29tcGxleCBsb2dpYy5cblxuLSBETyBOT1QgQkxJTkRMWSBUUlVTVCBcIk5PIEZVTkNUSU9OQUwgQ0hBTkdFXCIgKE5GQ0kpIE9SIFwiUkVGQUNUT1JJTkdcIiBDTEFJTVM6XG4gIFBhdGNoIGF1dGhvcnMgcm91dGluZWx5IGxhYmVsIGNoYW5nZXMgYXMgXCJjbGVhbnVwc1wiLCBcInJlZmFjdG9yaW5nc1wiLCBvciBzdGF0ZVxuICBcIk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkXCIuIERvIE5PVCB0YWtlIHRoZXNlIGNsYWltcyBhdCBmYWNlIHZhbHVlLlxuICBDb2RlIHJlZmFjdG9yaW5ncyB0aGF0IHJlYXJyYW5nZSBsb2dpYywgaW50cm9kdWNlIGhlbHBlciBmdW5jdGlvbnMsIG9yIGFsdGVyIHN0YXRlIG1hbmFnZW1lbnRcbiAgaW4gY29yZSBzdWJzeXN0ZW1zIGZyZXF1ZW50bHkgaW50cm9kdWNlIHN1YnRsZSBzZW1hbnRpYyBzaGlmdHMgb3IgdW5jb3ZlciBsYXRlbnQga2VybmVsIGJ1Z3MuXG4gIElmIHJlYWNoYWJsZSBleGVjdXRhYmxlIGNvZGUgaXMgbW9kaWZpZWQgb3IgcmVmYWN0b3JlZCwgaXQgTVVTVCBiZSBmdXp6ZWQuXG5cbi0gTkVXIE9SIE1PRElGSUVEIEFTU0VSVElPTlMgSU4gUkVBQ0hBQkxFIENPREUgTVVTVCBCRSBGVVpaRUQ6XG4gIFdoZW4gYSBwYXRjaCBpbnRyb2R1Y2VzIG9yIG1vZGlmaWVzIHJ1bnRpbWUgY2hlY2tzIG9yIGFzc2VydGlvbnMgKGUuZy4sIFdBUk5fT04qLCBWTV9XQVJOX09OKixcbiAgQlVHX09OKiwgbG9ja2RlcF9hc3NlcnQqKSBpbiByZWFjaGFibGUgY29kZSBwYXRocywgaXQgZW5mb3JjZXMgbmV3IG9yIHN0cmljdGVyIGludmFyaWFudHMuXG4gIEV2ZW4gaWYgdGhlIGF1dGhvciBiZWxpZXZlcyB0aGUgaW52YXJpYW50IGFsd2F5cyBob2xkcywgZnV6emluZyBpcyBlc3NlbnRpYWwgdG8gdmVyaWZ5IHdoZXRoZXJcbiAgYW4gdW51c3VhbCBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zIGNhbiB2aW9sYXRlIGl0LlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMi4gV0hFTiBUTyBSRVRVUk4gV29ydGhGdXp6aW5nPWZhbHNlIChORUdBVElWRSBDUklURVJJQSlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIE9OTFkgSUYgYWxsIG1vZGlmaWVkIGNvZGUgZmFsbHMgc3RyaWN0bHkgaW50byBvbmUgb3IgbW9yZSBvZiB0aGVzZSBjYXRlZ29yaWVzOlxuXG4tIE5vbi1rZXJuZWwgYW5kIG5vbi1leGVjdXRhYmxlIGNoYW5nZXM6XG4gICogTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgY29tbWVudHMsIG9yIHNwZWxsaW5nIGZpeGVzLlxuICAqIFVzZXItc3BhY2UgZGlyZWN0b3JpZXMsIHNlbGYtdGVzdHMsIHNhbXBsZXMsIG9yIHNjcmlwdHMgKGUuZy4sIHRvb2xzLywgc2FtcGxlcy8sIHNjcmlwdHMvLCB1c3IvKVxuICAgIHRoYXQgZG8gbm90IGFmZmVjdCB0aGUgY29tcGlsZWQga2VybmVsIGltYWdlICh2bWxpbnV4KSBvciBrZXJuZWwgbW9kdWxlcy5cbiAgKiBQdXJlbHkgZGVjb3JhdGl2ZSBsb2dnaW5nIChlLmcuLCBtZXNzYWdlIHN0cmluZ3MgaW4gcHJfZXJyLCBwcmludGssIGRldl9pbmZvKSBvciB0cmFjZXBvaW50c1xuICAgIHRoYXQgZG8gbm90IGFsdGVyIGNvbnRyb2wgZmxvdyBvciBkYXRhIHN0cnVjdHVyZXMuXG4gICogQnVpbGQgc3lzdGVtIG9yIEtjb25maWcgY2hhbmdlcyB0aGF0IGRvIG5vdCBhbHRlciBjb21waWxlZCBDIGxvZ2ljLlxuLSBTdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmU6XG4gICogVmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoZXMsIFNtYXJ0TklDcywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICAgIGlvbmljLCBhbWRncHUpIHJlcXVpcmluZyBwaHlzaWNhbCBBU0lDL1BDSWUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRoczpcbiAgKiBEcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzICgucmVtb3ZlLCAuc2h1dGRvd24sIHBjaV91bnJlZ2lzdGVyX2RyaXZlcikgZXhlY3V0ZWQgb25seSBkdXJpbmdcbiAgICBwaHlzaWNhbCBQQ0kgaG90LXVucGx1ZyBvciBtYW51YWwgc3lzZnMgZHJpdmVyIHVuYmluZGluZy5cbiAgKiBDb2RlIHBhdGhzIGV4Y2x1c2l2ZSB0byBhcmNoaXRlY3R1cmVzIG90aGVyIHRoYW4gdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4zLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9dHJ1ZSAoUE9TSVRJVkUgQ1JJVEVSSUEpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuUmV0dXJuIFdvcnRoRnV6emluZz10cnVlIHdoZW5ldmVyIHRoZSBwYXRjaCB0b3VjaGVzIHJlYWNoYWJsZSBleGVjdXRhYmxlIGNvZGUsIGluY2x1ZGluZzpcbi0gQ29yZSBTdWJzeXN0ZW1zOlxuICAqIEFueSBsb2dpYyBtb2RpZmljYXRpb25zIGluIG1lbW9yeSBtYW5hZ2VtZW50IChtbS8pLCBzeW5jaHJvbml6YXRpb24vbG9ja2luZyAoa2VybmVsL2xvY2tpbmcvKSxcbiAgICBCUEYsIHNjaGVkdWxlciwgY29yZSBuZXR3b3JraW5nLCBWRlMsIG9yIHN5c2NhbGwgaGFuZGxpbmcuXG4tIFJlZmFjdG9yaW5ncyBhbmQgQ29kZSBDbGVhbnVwczpcbiAgKiBBbnkgcmVzdHJ1Y3R1cmluZyBvZiByZWFjaGFibGUgZGF0YSBzdHJ1Y3R1cmVzLCBoZWxwZXIgYWJzdHJhY3Rpb25zLCBvciBhbGdvcml0aG0gZmxvd3MuXG4tIFJ1bnRpbWUgQXNzZXJ0aW9ucyBhbmQgRGVmZW5zaXZlIENoZWNrczpcbiAgKiBBbnkgaW50cm9kdWN0aW9uIG9yIGFsdGVyYXRpb24gb2YgYXNzZXJ0aW9ucyAoV0FSTl9PTiosIFZNX1dBUk5fT04qLCBCVUdfT04qLCBldGMuKSBpbiByZWFjaGFibGUgcGF0aHMuXG4tIFJlYWNoYWJsZSBEcml2ZXJzIGFuZCBQcm90b2NvbHM6XG4gICogRHJpdmVycyBhY2Nlc3NpYmxlIHZpYSB2aXJ0dWFsIGJ1c2VzICh2aXJ0aW8sIFVTQiBnYWRnZXQsIGxvb3BiYWNrLCBuZXRsaW5rLCBiaW5kZXIsIHNvY2tldHMsIGV0Yy4pLlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuNC4gRVhUUkFDVElORyBGb2N1c1N5bWJvbHMgKFBSRVZFTlRJTkcgRElMVVRJT04pXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuV2hlbiBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IG11c3QgZXh0cmFjdCBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIGludG8gRm9jdXNTeW1ib2xzIHRvIGd1aWRlIHRoZSBmdXp6ZXI6XG5cbi0gQVZPSUQgVUJJUVVJVE9VUyBMSUZFQ1lDTEUgSE9ULVBBVEhTOlxuICBEbyBOT1QgbGlzdCBnZW5lcmljLCB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYWxsZWQgYnkgYWxtb3N0IGV2ZXJ5IHByb2dyYW0gaW4gdGhlIGNvcnB1c1xuICAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG86IGdlbmVyYWwgbWVtb3J5IGFsbG9jYXRvcnMgYW5kIGRlYWxsb2NhdG9ycywgcGFnZSBmYXVsdFxuICBhbmQgdHJhcCBoYW5kbGVycywgb3IgY29yZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlczsgdGhpcyBpcyBub3QgYW4gZXhoYXVzdGl2ZSBsaXN0KS5cbiAgTGlzdGluZyB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYXVzZXMgdGhlIGZ1enplciB0byBjbGFzc2lmeSB0aG91c2FuZHMgb2YgdW5yZWxhdGVkIHRlc3RzIGFzIFwiZm9jdXNlZFwiLFxuICB3aGljaCBzZXZlcmVseSBkaWx1dGVzIGZ1enppbmcgZWZmb3J0IGF3YXkgZnJvbSB0aGUgYWN0dWFsIGNoYW5nZXMuXG5cbi0gVEFSR0VUIFNQRUNJRklDIEZFQVRVUkUgTE9HSUMgQU5EIEVOVFJZUE9JTlRTOlxuICBMaXN0IGZ1bmN0aW9ucyB0aGF0IHNwZWNpZmljYWxseSBpbXBsZW1lbnQgdGhlIGxvZ2ljIGJlaW5nIGFkZGVkIG9yIGFsdGVyZWQsIG9yIGRpcmVjdCBBUEkgZW50cnlwb2ludHNcbiAgZm9yIHRoZSBzdWJzeXN0ZW0gZmVhdHVyZSB1bmRlciByZXZpZXcuXG5cbi0gSEFORExJTkcgU1RBVElDIElOTElORSBGVU5DVElPTlMgSU4gSEVBREVSUyAoLmgpOlxuICBDb21waWxlci1pbmxpbmVkIHN0YXRpYyBmdW5jdGlvbnMgKHN1Y2ggYXMgc3RhdGljIGlubGluZXMgaW4gbW0vKi5oIG9yIGluY2x1ZGUvbGludXgvKi5oKSBsYWNrXG4gIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMgaW4gdm1saW51eCBhbmQgY2Fubm90IGJlIHRhcmdldGVkIGRpcmVjdGx5IGJ5IHN5bWJvbCBjb3ZlcmFnZSBmaWx0ZXJzLlxuICBJZiB0aGUgY2hhbmdlcyBhcmUgcHJpbWFyaWx5IGluIHN0YXRpYyBpbmxpbmUgaGVscGVycywgaWRlbnRpZnkgbm9uLXN0YXRpYywgZmVhdHVyZS1zcGVjaWZpYyBjYWxsZXJcbiAgZnVuY3Rpb25zIGluIC5jIGZpbGVzIHRoYXQgZXhlcmNpc2UgdGhlbSAoYXZvaWRpbmcgdWJpcXVpdG91cyBsaWZlY3ljbGUgd3JhcHBlcnMpLlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuNS4gSURFTlRJRllJTkcgRW5hYmxlQ29uZmlnc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbklkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgY29tcGlsZSBhbmQgcmVhY2ggdGhlIG1vZGlmaWVkIGNvZGU6XG4tIEluc3BlY3QgS2NvbmZpZyBmaWxlcyBhbmQgI2lmZGVmIGd1YXJkczsgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4tIENoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncyBuZWVkZWQuXG4tIFN0cmlwIGFueSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJUYXJnZXQgYXJjaGl0ZWN0dXJlOiBhbWQ2NFxuXG5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAwNmQwNTFlNDdmYTY5NzBiOGY4YWVkOTNhNTI3ZjQ0OGZhMTM4ZWEwXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBTZXAgMTEgMTU6NDY6MDIgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9ibG9jay9ibGstY29yZS5jIGIvYmxvY2svYmxrLWNvcmUuY1xuaW5kZXggMTk2YmNjZjI3ZjU4ZC4uMzI0YTJkMWJiNzI3YiAxMDA2NDRcbi0tLSBhL2Jsb2NrL2Jsay1jb3JlLmNcbisrKyBiL2Jsb2NrL2Jsay1jb3JlLmNcbkBAIC00MCw2ICs0MCw3IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcGFydF9zdGF0LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zY2hlZC9zeXNjdGwuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2Jsay1jcnlwdG8uaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2RlZmluZSBDUkVBVEVfVFJBQ0VfUE9JTlRTXG4gI2luY2x1ZGUgXHUwMDNjdHJhY2UvZXZlbnRzL2Jsb2NrLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuY1xuaW5kZXggN2VmOTMzOGQ2N2FiZi4uYTI4Nzg4NGMwMDQ1ZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29ubmVjdG9yLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29ubmVjdG9yLmNcbkBAIC0yMyw2ICsyMyw3IEBAXG4gICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuICAqL1xuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaTJjLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zbGFiLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmNcbmluZGV4IDcwZDExMmZkNDI4N2EuLjIwNDgxMGExMWU0NjMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuY1xuQEAgLTcsNiArNyw3IEBAXG4gICogZGV0YWlscyBoZXJlLlxuICAqL1xuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvdmdhX3N3aXRjaGVyb28uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2FjcGkvdmlkZW8uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9kaXNwbGF5L2RybV9kcF9tc3RfaGVscGVyLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jXG5pbmRleCBjMGZkMzQ5YTQ2MDBjLi4yYzNiYzdiNjdjMGQ1IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jXG5AQCAtMyw2ICszLDcgQEBcbiAgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvc3RyaW5nX2hlbHBlcnMuaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fcHJpbnQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jXG5pbmRleCA1YzdmODYyZjcxMDBhLi4yZjBlMWNiNTU3OGNlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuY1xuQEAgLTMsNiArMyw4IEBAXG4gICogQ29weXJpZ2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb25cbiAgKi9cbiBcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuK1xuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2ludGVsL2ludGVsLWd0dC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2ludGVsL2ludGVsX2dtZF9pbnRlcnJ1cHRfcmVncy5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuY1xuaW5kZXggMWM0NTVkODRiZjlkOC4uMDkxYWEzM2Y2MjRhYSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuY1xuQEAgLTQsNiArNCw3IEBAXG4gICovXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvY2lyY19idWYuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgva3RpbWUuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3N0cmluZ19oZWxwZXJzLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC90aW1lNjQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jXG5pbmRleCBiZDA3YzcyYTY2ZmNlLi5kMzY3YTg5N2M4NmIyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuY1xuQEAgLTMsNiArMyw3IEBAXG4gICogQ29weXJpZ2h0IMKpIDIwMTYtMjAxOSBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvc3RyaW5nX2hlbHBlcnMuaFx1MDAzZVxuIFxuICNpbmNsdWRlIFwiZ3QvaW50ZWxfZ3QuaFwiXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmNcbmluZGV4IDdmYWM5N2ZlMzBhNjMuLmQ3YzczMWZlOTcyYmYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jXG5AQCAtNCw2ICs0LDcgQEBcbiAgKi9cbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9iaXRmaWVsZC5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9maXJtd2FyZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaGlnaG1lbS5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcml2ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJpdmVyLmNcbmluZGV4IGNlNmQyMDk1ODMyMGMuLmFlYjdiMjRjODFjOGIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jXG5AQCAtMzAsNiArMzAsNyBAQFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2FwZXJ0dXJlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9hY3BpLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kZXZpY2UuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvbW9kdWxlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9vb20uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3BjaS5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmNcbmluZGV4IDJmMDNmOTU5NDVmMWIuLjg0YTdkYzZhYjVkYmEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jXG5AQCAtMjIsNiArMjIsOCBAQFxuICAqXG4gICovXG4gXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbitcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX2NvbG9yX21nbXQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fZHJ2LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vaW50ZWwvcGNpX2NvbmZpZy5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuY1xuaW5kZXggMTcwZTgzYThjOWZjMy4uZTM2MGU0ZjlkOWEyZCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuY1xuQEAgLTIxLDYgKzIxLDcgQEBcbiAgKiBJTiBUSEUgU09GVFdBUkUuXG4gICovXG4gXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9wbV9ydW50aW1lLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuY1xuaW5kZXggZWU3MzJlNTQ5NWY3ZC4uZmNlZjhkNWZjN2NhMiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jXG5AQCAtNyw3ICs3LDcgQEBcbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9hcGVydHVyZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGVsYXkuaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91bml0cy5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9jbGllbnQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jXG5pbmRleCBjZDA1M2RlM2M2YjU2Li4zZTQ2YzE0NTg0YzQyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuY1xuQEAgLTUsNiArNSw3IEBAXG4gXG4gI2luY2x1ZGUgXCJ4ZV9leGVjX3F1ZXVlLmhcIlxuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvbm9zcGVjLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX2RldmljZS5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9nZ3R0LmNcbmluZGV4IDhlYzIzODYyNDc3ZmMuLmUwNTU4MmFkMDk4YTYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jXG5AQCAtNiw3ICs2LDcgQEBcbiAjaW5jbHVkZSBcInhlX2dndHQuaFwiXG4gXG4gI2luY2x1ZGUgXHUwMDNja3VuaXQvdmlzaWJpbGl0eS5oXHUwMDNlXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2lvLTY0LW5vbmF0b21pYy1sby1oaS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvc2l6ZXMuaFx1MDAzZVxuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuY1xuaW5kZXggNDI4NmJkMDVjNjg2MS4uMzRlMjFhNzBkNWFkOCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jXG5AQCAtNSw2ICs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcInhlX2d1Yy5oXCJcbiBcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2lvcG9sbC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2Fkcy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19hZHMuY1xuaW5kZXggZmY4ZWVlMzgzMWFhMi4uNDFhMmI4YzgwN2Q2OCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmNcbkBAIC01LDcgKzUsNyBAQFxuIFxuICNpbmNsdWRlIFwieGVfZ3VjX2Fkcy5oXCJcbiBcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmNcbmluZGV4IGZlNzBjMGZkODVjNTIuLmFjNmNiYmFhNmNjMGEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfY3QuY1xuQEAgLTgsNyArOCw3IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYml0ZmllbGQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2NpcmNfYnVmLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kZWxheS5oXHUwMDNlXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2t1bml0L3N0YXRpY19zdHViLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19sb2cuY1xuaW5kZXggNTM4ZDRkZjBmN2FhNy4uNmYwNzM5MjA0ZDllMiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmNcbkBAIC01LDcgKzUsNyBAQFxuIFxuICNpbmNsdWRlIFwieGVfZ3VjX2xvZy5oXCJcbiBcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvdXRzbmFtZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmNcbmluZGV4IGVlZDBhNzUwZDJlYjIuLmU1MjhkOTViYTdmZWUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfcmVsYXkuY1xuQEAgLTUsNyArNSw3IEBAXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYml0ZmllbGQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlbGF5LmhcdTAwM2Vcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmNcbmluZGV4IGQ0MmUyNjNlMDYxMWUuLmFjODFmMzgyZTdkYzAgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuY1xuQEAgLTQsNiArNCw3IEBAXG4gICovXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2tvYmplY3QuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3N5c2ZzLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmNcbmluZGV4IDA4MDRiNDI2YjZmOWUuLjQxOGZmNDI3YWUzMDggMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfZ3JvdXAuY1xuQEAgLTMsNiArMyw4IEBAXG4gICogQ29weXJpZ2h0IMKpIDIwMjQgSW50ZWwgQ29ycG9yYXRpb25cbiAgKi9cbiBcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuK1xuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXCJ4ZV9hc3NlcnQuaFwiXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9tbWlvLmNcbmluZGV4IDdmYTE4ZGZjYjVhMjguLmQ4ZjhhMjQ1M2JiNjUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jXG5AQCAtNiw2ICs2LDcgQEBcbiAjaW5jbHVkZSBcInhlX21taW8uaFwiXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGVsYXkuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaW8tNjQtbm9uYXRvbWljLWxvLWhpLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9taW5tYXguaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3BjaS5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX29hLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuY1xuaW5kZXggYWIwOWRjZmY1ODYwOS4uYjE1Yzk2ZTM1ZmFiZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9vYS5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuY1xuQEAgLTUsNiArNSw3IEBAXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYW5vbl9pbm9kZXMuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlbGF5LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L25vc3BlYy5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcG9sbC5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uY1xuaW5kZXggYTUyODlhOWRmOGQyNS4uYzA0ODlhOGQ4YTYyNSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wbS5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uY1xuQEAgLTUsNyArNSw3IEBAXG4gXG4gI2luY2x1ZGUgXCJ4ZV9wbS5oXCJcbiBcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcG1fcnVudGltZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvc3VzcGVuZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZG1pLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHQuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wdC5jXG5pbmRleCBhMDczMTZhNDVkNzliLi42YzZkOWJlMjcxN2VmIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wdC5jXG5AQCAtNSw2ICs1LDggQEBcbiBcbiAjaW5jbHVkZSBcInhlX3B0LmhcIlxuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4rXG4gI2luY2x1ZGUgXCJyZWdzL3hlX2d0dF9kZWZzLmhcIlxuICNpbmNsdWRlIFwieGVfYm8uaFwiXG4gI2luY2x1ZGUgXCJ4ZV9kZXZpY2UuaFwiXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jXG5pbmRleCAyZmVmMjc0YTU4NWU4Li4yZjM2MzJhYzIwMWFiIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHhwLmNcbkBAIC01LDYgKzUsOCBAQFxuIFxuICNpbmNsdWRlIFwieGVfcHhwLmhcIlxuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4rXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N1YXBpL2RybS94ZV9kcm0uaFx1MDAzZVxuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zcmlvdi5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3NyaW92LmNcbmluZGV4IGYzODM1ODY3ZmNlNWQuLmVjMjU0Yjk1MGRhZjQgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3NyaW92LmNcbkBAIC0zLDcgKzMsNyBAQFxuICAqIENvcHlyaWdodCDCqSAyMDIzIEludGVsIENvcnBvcmF0aW9uXG4gICovXG4gXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmNcbmluZGV4IDM3ODY2NzY4ZDY0YzIuLjcxMWRlMjJmNDk4NjQgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3luYy5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3luYy5jXG5AQCAtNiw2ICs2LDcgQEBcbiAjaW5jbHVkZSBcInhlX3N5bmMuaFwiXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZG1hLWZlbmNlLWFycmF5LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2t0aHJlYWQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3NjaGVkL21tLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91YWNjZXNzLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdGlsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3RpbGUuY1xuaW5kZXggNzRkOTI1YTMzN2I3Ni4uODEwZGZkOThkODMwMCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcbkBAIC0zLDcgKzMsNyBAQFxuICAqIENvcHlyaWdodCDCqSAyMDIzIEludGVsIENvcnBvcmF0aW9uXG4gICovXG4gXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9wYWdlbWFwX3V0aWwuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuY1xuaW5kZXggYmNlYzQwY2EyZDM1Zi4uZDNkMzhiNDM4MGJlYyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R1bmluZy5jXG5AQCAtNSw2ICs1LDggQEBcbiBcbiAjaW5jbHVkZSBcInhlX3R1bmluZy5oXCJcbiBcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuK1xuICNpbmNsdWRlIFx1MDAzY2t1bml0L3Zpc2liaWxpdHkuaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuY1xuaW5kZXggYThlNmYxOGNjOWI0YS4uZjE3OTI1YWQ1M2Y1YiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV91Y19mdy5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuY1xuQEAgLTQsNyArNCw3IEBAXG4gICovXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYml0ZmllbGQuaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9maXJtd2FyZS5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jXG5pbmRleCAyMzk1MmFkODk1MWUyLi5mMDAwNTY0ZjFlNTk2IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jXG5AQCAtNiw2ICs2LDcgQEBcbiAjaW5jbHVkZSBcInhlX3ZtLmhcIlxuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RtYS1mZW5jZS1hcnJheS5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9ub3NwZWMuaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fZHJ2LmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfd2EuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jXG5pbmRleCAxMzk0MzQ5NDZmOGY4Li45OGQyZmRkM2JhNmY4IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jXG5AQCAtOCw3ICs4LDcgQEBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2t1bml0L3Zpc2liaWxpdHkuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2NvbXBpbGVyX3R5cGVzLmhcdTAwM2Vcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZ2VuZXJhdGVkL3hlX2RldmljZV93YV9vb2IuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2dlbmVyYXRlZC94ZV93YV9vb2IuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93b3BjbS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmNcbmluZGV4IGZlNjVlZDI0Njc3NWQuLjdkYTFlM2ViYzgzOTEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmNcbkBAIC01LDcgKzUsNyBAQFxuIFxuICNpbmNsdWRlIFwieGVfd29wY20uaFwiXG4gXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFwicmVncy94ZV9ndWNfcmVncy5oXCJcbiAjaW5jbHVkZSBcInhlX2RldmljZS5oXCJcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuYyBiL2RyaXZlcnMvbmV0L25ldGRldnNpbS90Yy5jXG5pbmRleCBhNDE1ZTAyYTZkZjFlLi5lMmQ3ZDNhYmExOTMzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmNcbisrKyBiL2RyaXZlcnMvbmV0L25ldGRldnNpbS90Yy5jXG5AQCAtMSw1ICsxLDYgQEBcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMFxuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvbmV0ZGV2aWNlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NuZXQvcGt0X3NjaGVkLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NuZXQvcGt0X2Nscy5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9jb21wYXQuaCBiL2luY2x1ZGUvbGludXgvY29tcGF0LmhcbmluZGV4IDhkYTBhMTVjOTVmNGUuLmFkMzdjYTYxN2U2NWMgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL2xpbnV4L2NvbXBhdC5oXG4rKysgYi9pbmNsdWRlL2xpbnV4L2NvbXBhdC5oXG5AQCAtMTgsNiArMTgsNyBAQFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2Fpb19hYmkuaFx1MDAzZVx0LyogZm9yIGFpb19jb250ZXh0X3QgKi9cbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91YWNjZXNzLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91bmlzdGQuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjYXNtL2NvbXBhdC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjYXNtL3NpZ2luZm8uaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW9kdWxlLmggYi9pbmNsdWRlL2xpbnV4L21vZHVsZS5oXG5pbmRleCA5NmNjOTg1NjhlZWE1Li5iM2EzZDU4MjczODRmIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9tb2R1bGUuaFxuKysrIGIvaW5jbHVkZS9saW51eC9tb2R1bGUuaFxuQEAgLTI0LDcgKzI0LDYgQEBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9qdW1wX2xhYmVsLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9leHBvcnQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3JidHJlZV9sYXRjaC5oXHUwMDNlXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC90cmFjZXBvaW50LWRlZnMuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3NyY3UuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3N0YXRpY19jYWxsX3R5cGVzLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmggYi9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmhcbmluZGV4IDg0MTNiNjI0YWQ0NzguLjU1MmQ5NzEwYTBkNTcgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmhcbisrKyBiL2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaFxuQEAgLTkyLDYgKzkyLDcgQEAgc3RydWN0IGZpbGVfYXR0cjtcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9xdW90YS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgva2V5LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9wZXJzb25hbGl0eS5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N0cmFjZS9zeXNjYWxsLmhcdTAwM2VcbiBcbiAjaWZkZWYgQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBFUlxuZGlmZiAtLWdpdCBhL2tlcm5lbC9tb2R1bGUvbWFpbi5jIGIva2VybmVsL21vZHVsZS9tYWluLmNcbmluZGV4IGQwZTFlMGJkMmFkMDYuLmYxMzkyYzEwOTA3YTIgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvbW9kdWxlL21haW4uY1xuKysrIGIva2VybmVsL21vZHVsZS9tYWluLmNcbkBAIC02MCw2ICs2MCw3IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvY29kZXRhZy5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGVidWdmcy5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZXhlY21lbS5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N1YXBpL2xpbnV4L21vZHVsZS5oXHUwMDNlXG4gI2luY2x1ZGUgXCJpbnRlcm5hbC5oXCJcbiBcbmRpZmYgLS1naXQgYS9uZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmMgYi9uZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmNcbmluZGV4IDQyMzVkYjZiZGZhZDUuLjJjN2Y1MTliZWY4MDAgMTAwNjQ0XG4tLS0gYS9uZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmNcbisrKyBiL25ldC9jb3JlL3NrYl9mYXVsdF9pbmplY3Rpb24uY1xuQEAgLTEsNiArMSw3IEBAXG4gLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlYnVnZnMuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9uZXRkZXZpY2UuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3NrYnVmZi5oXHUwMDNlXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMVQxNTo0NjowNi43OTcxNzQxODZaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjo5MDkzNDM4MDMwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIEtlcm5lbCBQYXRjaCBTZXJpZXM6IEhlYWRlciBGaWxlIEluY2x1c2lvbiBSZWZhY3RvcmluZyoqXG5cbk9rYXksIHNvIHRoZSB1c2VyIHdhbnRzIG1lIHRvIGV2YWx1YXRlIGEgcGF0Y2ggc2VyaWVzIGFwcGxpZWQgYXMgSEVBRCBpbiB0aGUga2VybmVsLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZ3JhYiB0aGUgY29tbWl0IG1lc3NhZ2UgYW5kIGdldCB0aGUgY29tcGxldGUgY29udGV4dCB1c2luZyBgZ2l0IGxvZ2AuIEJ1dCBob2xkIG9uLCBhbSBJIGFibGUgdG8gYWN0dWFsbHkgcnVuIGBnaXQgbG9nYCBkaXJlY3RseSwgb3IgZG8gSSBoYXZlIHNvbWUgb3RoZXIgdG9vbGluZyBhdCBteSBkaXNwb3NhbD8gTGV0J3Mgc2VlLi4uIHdoYXQgdG9vbHMgZG8gSSBoYXZlPyBJJ3ZlIGdvdCBgcmVhZC1maWxlYCwgYGNvZGVzZWFyY2gtZGlyLWluZGV4YCwgYGdyZXBwZXJgLCBhbmQgYHNldC1yZXN1bHRzYC4gUmlnaHQsIEkgZG9uJ3Qgc2VlIGFueXRoaW5nIGV4cGxpY2l0bHkgZm9yIGdpdCBvcGVyYXRpb25zLiBcblxuTGV0J3Mgc3dpdGNoIGdlYXJzIGFuZCBmb2N1cyBvbiB0aGUgZGlmZiBwcm92aWRlZC4gSXQgbG9va3MgbGlrZSBpdCBpcyBqdXN0IGAjaW5jbHVkZWAgbW9kaWZpY2F0aW9ucywgc3BlY2lmaWNhbGx5IGZvciBgbGludXgvZXJyb3ItaW5qZWN0aW9uLmhgLiBJIHNlZSBtYW55IGZpbGVzIG5vdyBpbmNsdWRlIHRoaXMgaGVhZGVyIGZpbGUsIGFuZCBJIHNlZSBhIGxvdCBvZiBpbnN0YW5jZXMgd2hlcmUgYGZhdWx0LWluamVjdC5oYCBpcyBiZWluZyByZXBsYWNlZCB3aXRoIGBlcnJvci1pbmplY3Rpb24uaGAuIFRoaXMgaW5jbHVkZXMgY2hhbmdlcyBpbiBgYmxvY2svYmxrLWNvcmUuY2AsIHNldmVyYWwgRFJNL2k5MTUgYW5kIERSTS94ZSBkcml2ZXIgZmlsZXMsIGBkcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuY2AsIHNvbWUgaGVhZGVyIGZpbGVzLCBhbmQgYGtlcm5lbC9tb2R1bGUvbWFpbi5jYCwgYW5kIGBuZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmNgLlxuXG5Pa2F5LCB0aGUgZGlmZiBjb25maXJtcyBpdC4gVGhlIE9OTFkgY2hhbmdlIGluIGV2ZXJ5IGZpbGUgbW9kaWZpZWQgaXMgZWl0aGVyIHRoZSBhZGRpdGlvbiBvZiBgI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VgIG9yIGEgcmVwbGFjZW1lbnQgb2YgYGZhdWx0LWluamVjdC5oYCB3aXRoIGBlcnJvci1pbmplY3Rpb24uaGAuIEl0IGxvb2tzIGxpa2UgdGhlcmUncyBubyBleGVjdXRhYmxlIGNvZGUgY2hhbmdlIGhlcmUuXG5cblNvLCB3aHkgYXJlIHdlIHNlZWluZyB0aGlzPyBUaGUgcmVtb3ZhbCBvZiBgI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VgIGZyb20gYGluY2x1ZGUvbGludXgvbW9kdWxlLmhgIGlzIHRoZSBrZXkuIFByZXZpb3VzbHksIGZpbGVzIGluY2x1ZGluZyBgbW9kdWxlLmhgIGltcGxpY2l0bHkgaW5jbHVkZWQgYGVycm9yLWluamVjdGlvbi5oYC4gVGhpcyByZWZhY3RvcmluZyBpcyBsaWtlbHkgdG8gZGVjb3VwbGUgaGVhZGVyIGRlcGVuZGVuY2llcywgcHJvYmFibHkgYXMgcGFydCBvZiBhIGNsZWFudXAgb3IgbW9kdWxhcml6YXRpb24gZWZmb3J0LiBUaGUgaGVhZGVyIGlzIGJlaW5nIGluY2x1ZGVkIGV4cGxpY2l0bHkgd2hlcmUgaXQncyBhY3R1YWxseSBuZWVkZWQuIEFuZCBpbiB0aGUgRFJNL3hlIGRyaXZlciwgaXQgaXMgYmVpbmcgcmVmYWN0b3JlZCBmcm9tIGBmYXVsdC1pbmplY3QuaGAgdG8gYGVycm9yLWluamVjdGlvbi5oYC4gVGhlIGZpbGVzIGFmZmVjdGVkIGluY2x1ZGUgdGhlIHJlbGV2YW50IG1hY3Jvcywgc3VjaCBhcyBgQUxMT1dfRVJST1JfSU5KRUNUSU9OYCwgZXRjLlxuXG5MZXQgbWUgY29uZmlybSB0aGF0IEkgY2FuIGFjY2VzcyB0aGUgbGluZSB3aGVyZSB0aGUgaW5jbHVkZSB3YXMgcmVtb3ZlZCBmcm9tIGBpbmNsdWRlL2xpbnV4L21vZHVsZS5oYCBhcm91bmQgbGluZSAyNC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTAwOTAsIk91dHB1dFRva2VucyI6MzQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMjcyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTFUMTU6NDY6MTUuODkwNjE0NjY2WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTk4NzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiaW5jbHVkZS9saW51eC9tb2R1bGUuaFwiLFxuICBcIkZpcnN0TGluZVwiOiAyMCxcbiAgXCJMaW5lQ291bnRcIjogMjBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiICAyMDpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvZWxmLmhcXHUwMDNlXFxuICAyMTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvc3RyaW5naWZ5LmhcXHUwMDNlXFxuICAyMjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgva29iamVjdC5oXFx1MDAzZVxcbiAgMjM6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L21vZHVsZXBhcmFtLmhcXHUwMDNlXFxuICAyNDpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvanVtcF9sYWJlbC5oXFx1MDAzZVxcbiAgMjU6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2V4cG9ydC5oXFx1MDAzZVxcbiAgMjY6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L3JidHJlZV9sYXRjaC5oXFx1MDAzZVxcbiAgMjc6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L3RyYWNlcG9pbnQtZGVmcy5oXFx1MDAzZVxcbiAgMjg6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L3NyY3UuaFxcdTAwM2VcXG4gIDI5OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9zdGF0aWNfY2FsbF90eXBlcy5oXFx1MDAzZVxcbiAgMzA6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2R5bmFtaWNfZGVidWcuaFxcdTAwM2VcXG4gIDMxOlxcdFxcbiAgMzI6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BlcmNwdS5oXFx1MDAzZVxcbiAgMzM6XFx0I2luY2x1ZGUgXFx1MDAzY2FzbS9tb2R1bGUuaFxcdTAwM2VcXG4gIDM0OlxcdFxcbiAgMzU6XFx0I2RlZmluZSBNT0RVTEVfTkFNRV9MRU4gX19NT0RVTEVfTkFNRV9MRU5cXG4gIDM2OlxcdFxcbiAgMzc6XFx0c3RydWN0IG1vZHZlcnNpb25faW5mbyB7XFxuICAzODpcXHRcXHR1bnNpZ25lZCBsb25nIGNyYztcXG4gIDM5OlxcdFxcdGNoYXIgbmFtZVtNT0RVTEVfTkFNRV9MRU5dO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMVQxNTo0NjoxNS44OTA3MTY2MzZaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjoxOTUxMjY1Mzg1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkRpdmluZyBpbnRvIGBrZXJuZWwvbW9kdWxlL21haW4uY2AqKlxuXG5Pa2F5LCB0aW1lIHRvIHRyb3VibGVzaG9vdCB0aGlzIGlzc3VlLiBJJ20gZ29pbmcgdG8gc3RhcnQgYnkgdGFraW5nIGEgbG9vayBhdCBga2VybmVsL21vZHVsZS9tYWluLmNgLiBNeSBodW5jaCBpcyB0aGF0IHRoZSBwcm9ibGVtIG1pZ2h0IGJlIHJlbGF0ZWQgdG8gbW9kdWxlIGxvYWRpbmcgb3IgdW5sb2FkaW5nLCBzbyBJJ2xsIGJlIHplcm9pbmcgaW4gb24gdGhhdCBhcmVhLiBTcGVjaWZpY2FsbHksIGxldCdzIHplcm8gaW4gb24gdGhlIHZpY2luaXR5IG9mIGxpbmUgNjAuIEkgc3VzcGVjdCB0aGF0IHRoZXJlIG1pZ2h0IGJlIHNvbWV0aGluZyBoYXBwZW5pbmcgYXJvdW5kIHRoZSBlYXJseSBzdGFnZSBvciBsYXRlIHN0YWdlIG9mIHRoZSBtb2R1bGUgbGlmZSBjeWNsZS4gTGV0J3Mgc2VlIGlmIHRoaXMgaHVuY2ggaG9sZHMgYW55IHdlaWdodCwgSSdsbCBzdGFydCB3aXRoIHRoaXMgZmlsZSBhbmQgZ28gZnJvbSB0aGVyZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTIyMDEsIk91dHB1dFRva2VucyI6MzQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxOSwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjE3Ljg0MTk4Mzk2MVoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1ODcxMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJrZXJuZWwvbW9kdWxlL21haW4uY1wiLFxuICBcIkZpcnN0TGluZVwiOiA1NSxcbiAgXCJMaW5lQ291bnRcIjogMjBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiICA1NTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvcGZuLmhcXHUwMDNlXFxuICA1NjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvYnNlYXJjaC5oXFx1MDAzZVxcbiAgNTc6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2R5bmFtaWNfZGVidWcuaFxcdTAwM2VcXG4gIDU4OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9hdWRpdC5oXFx1MDAzZVxcbiAgNTk6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2NmaS5oXFx1MDAzZVxcbiAgNjA6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2NvZGV0YWcuaFxcdTAwM2VcXG4gIDYxOlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZWJ1Z2ZzLmhcXHUwMDNlXFxuICA2MjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvZXhlY21lbS5oXFx1MDAzZVxcbiAgNjM6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAgNjQ6XFx0I2luY2x1ZGUgXFx1MDAzY3VhcGkvbGludXgvbW9kdWxlLmhcXHUwMDNlXFxuICA2NTpcXHQjaW5jbHVkZSBcXFwiaW50ZXJuYWwuaFxcXCJcXG4gIDY2OlxcdFxcbiAgNjc6XFx0I2RlZmluZSBDUkVBVEVfVFJBQ0VfUE9JTlRTXFxuICA2ODpcXHQjaW5jbHVkZSBcXHUwMDNjdHJhY2UvZXZlbnRzL21vZHVsZS5oXFx1MDAzZVxcbiAgNjk6XFx0XFxuICA3MDpcXHQvKlxcbiAgNzE6XFx0ICogTXV0ZXggcHJvdGVjdHM6XFxuICA3MjpcXHQgKiAxKSBMaXN0IG9mIG1vZHVsZXMgKGFsc28gc2FmZWx5IHJlYWRhYmxlIHdpdGhpbiBSQ1UgcmVhZCBzZWN0aW9uKSxcXG4gIDczOlxcdCAqIDIpIG1vZHVsZV91c2UgbGlua3MsXFxuICA3NDpcXHQgKiAzKSBtb2RfdHJlZS5hZGRyX21pbi9tb2RfdHJlZS5hZGRyX21heC5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTFUMTU6NDY6MTcuODQyMTQ1MjExWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjgtZmxhc2giLCJEdXJhdGlvbiI6NTEwMzI3NTQ1NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZTpcblxuKipEaXZpbmcgaW50byB0aGUgS2VybmVsJ3MgU3lzdGVtIENhbGwgRGVmaW5pdGlvbnMqKlxuXG5Pa2F5LCB0aW1lIHRvIGdldCB0byB0aGUgaGVhcnQgb2YgdGhpcy4gTXkgZ3V0IGZlZWxpbmcgdGVsbHMgbWUgdGhlIGFuc3dlciBJIG5lZWQgaXMgcHJvYmFibHkgaGFuZ2luZyBhcm91bmQgdGhlIHN5c3RlbSBjYWxsIGRlZmluaXRpb25zLiBMZXQncyBzdGFydCB3aXRoIHRoZSBzdGFuZGFyZCBsb2NhdGlvbiwgYGluY2x1ZGUvbGludXgvc3lzY2FsbHMuaGAuIEknbSBzcGVjaWZpY2FsbHkgYWltaW5nIGZvciBhcm91bmQgbGluZSA5Mi4gSG9wZWZ1bGx5LCB0aGF0IHdpbGwgY29udGFpbiB0aGUgcmVsZXZhbnQgbWFjcm8gb3Igc3RydWN0IGRlY2xhcmF0aW9uIEknbSBodW50aW5nIGZvci4gTXkgZXhwZXJpZW5jZSB0ZWxscyBtZSB0aGF0J3MgYSBwcmltZSBzcG90IGZvciB0aGUgY29yZSBkZWZpbml0aW9ucy4gSXQncyBvZnRlbiB3aGVyZSB0aGUgaW50ZXJmYWNlIHRvIHRoZSBzeXN0ZW0gY2FsbCB0YWJsZSBpcyBkZXNjcmliZWQgb3IsIGZhaWxpbmcgdGhhdCwgd2hlcmUgb25lIGNhbiBmaW5kIHRoZSBrZXkgZGF0YSBzdHJ1Y3R1cmVzIGludm9sdmVkIGluIHRoZSBkaXNwYXRjaGluZyBtZWNoYW5pc20uIExldCdzIHNlZSB3aGF0J3Mgd2hhdC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTI3MTYsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjIyLjk0NTQyNDg5NloiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE2MTU5MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJpbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmhcIixcbiAgXCJGaXJzdExpbmVcIjogOTAsXG4gIFwiTGluZUNvdW50XCI6IDE1XG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgOTA6XFx0I2luY2x1ZGUgXFx1MDAzY2FzbS9zaWdpbmZvLmhcXHUwMDNlXFxuICA5MTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvdW5pc3RkLmhcXHUwMDNlXFxuICA5MjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvcXVvdGEuaFxcdTAwM2VcXG4gIDkzOlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9rZXkuaFxcdTAwM2VcXG4gIDk0OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9wZXJzb25hbGl0eS5oXFx1MDAzZVxcbiAgOTU6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAgOTY6XFx0I2luY2x1ZGUgXFx1MDAzY3RyYWNlL3N5c2NhbGwuaFxcdTAwM2VcXG4gIDk3OlxcdFxcbiAgOTg6XFx0I2lmZGVmIENPTkZJR19BUkNIX0hBU19TWVNDQUxMX1dSQVBQRVJcXG4gIDk5OlxcdC8qXFxuIDEwMDpcXHQgKiBJdCBtYXkgYmUgdXNlZnVsIGZvciBhbiBhcmNoaXRlY3R1cmUgdG8gb3ZlcnJpZGUgdGhlIGRlZmluaXRpb25zIG9mIHRoZVxcbiAxMDE6XFx0ICogU1lTQ0FMTF9ERUZJTkUwKCkgYW5kIF9fU1lTQ0FMTF9ERUZJTkV4KCkgbWFjcm9zLCBpbiBwYXJ0aWN1bGFyIHRvIHVzZSBhXFxuIDEwMjpcXHQgKiBkaWZmZXJlbnQgY2FsbGluZyBjb252ZW50aW9uIGZvciBzeXNjYWxscy4gVG8gYWxsb3cgZm9yIHRoYXQsIHRoZSBwcm90b3R5cGVzXFxuIDEwMzpcXHQgKiBmb3IgdGhlIHN5c18qKCkgZnVuY3Rpb25zIGJlbG93IHdpbGwgKm5vdCogYmUgaW5jbHVkZWQgaWZcXG4gMTA0OlxcdCAqIENPTkZJR19BUkNIX0hBU19TWVNDQUxMX1dSQVBQRVIgaXMgZW5hYmxlZC5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTFUMTU6NDY6MjIuOTQ1NTg5NDc2WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjgtZmxhc2giLCJEdXJhdGlvbiI6OTYzNTIyMTI1MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIFdvcnRoRnV6emluZz1mYWxzZSBDcml0ZXJpYSoqXG5cbk9rYXksIGxldCdzIGRyaWxsIGRvd24gaW50byB0aGVzZSBuZWdhdGl2ZSBjcml0ZXJpYSBmb3IgZGV0ZXJtaW5pbmcgd2hlbiBhIHBhdGNoIGlzbid0IFwiV29ydGhGdXp6aW5nLlwiIFdlJ3JlIGxvb2tpbmcgYXQgc2NlbmFyaW9zIHdoZXJlIGEgY2hhbmdlICpzaG91bGRuJ3QqIHRyaWdnZXIgZnV6emluZy4gVGhlIGtleSBoZXJlIGlzIHRvIHF1aWNrbHkgaWRlbnRpZnkgbW9kaWZpY2F0aW9ucyB0aGF0IGFyZSBmdW5kYW1lbnRhbGx5IGJlbmlnbiBmcm9tIGEgY29kZSBleGVjdXRpb24gcGVyc3BlY3RpdmUuXG5cblJpZ2h0LCBzbyB3ZSdyZSBzdGFydGluZyB3aXRoIHRoaW5ncyBsaWtlIG5vbi1rZXJuZWwgYW5kIG5vbi1leGVjdXRhYmxlIGNoYW5nZXM6IGRvY3VtZW50YXRpb24gdXBkYXRlcywgY29tbWVudCBhZGp1c3RtZW50cywgc3BlbGxpbmcgZml4ZXPigJR0aGF0J3MgYWxsIG9idmlvdXMgYW5kIHNhZmUuIFVzZXItc3BhY2Ugc3R1ZmYgbGlrZSB0b29scywgc2FtcGxlcywgc2NyaXB0cyAodW5kZXIgYHRvb2xzL2AsIGBzYW1wbGVzL2AsIGBzY3JpcHRzL2AsIGB1c3IvYCkgdGhhdCBkb24ndCB0b3VjaCB0aGUga2VybmVsIGltYWdlIChgdm1saW51eGApIG9yIGtlcm5lbCBtb2R1bGVzIGFyZSBhbHNvIGNsZWFybHkgZXhjbHVkZWQuIFB1cmVseSBkZWNvcmF0aXZlIGxvZ2dpbmcsIGxpa2UgbG9nIG1lc3NhZ2VzIGluIGBwcl9lcnJgLCBgcHJpbnRrYCwgYGRldl9pbmZvYCwgb3IgdHJhY2Vwb2ludHMsIHdoaWNoIGRvbid0IG1lc3Mgd2l0aCBjb250cm9sIGZsb3cgb3IgZGF0YSBzdHJ1Y3R1cmVzLCBzaG91bGQgYmUgZXhjbHVkZWQgYXMgd2VsbC4gQW5kLCBhcyBleHBlY3RlZCwgYnVpbGQgc3lzdGVtIGNoYW5nZXMgb3IgS2NvbmZpZyBtb2RpZmljYXRpb25zIHRoYXQgZG9uJ3QgdG91Y2ggdGhlIGFjdHVhbCBjb21waWxlZCBDIGxvZ2ljIGFyZSBvZmYgdGhlIGxpc3QgdG9vLlxuXG5CdXQuLi4gaGFuZyBvbiBhIG1pbnV0ZS4gV2hhdCBhYm91dCByZW9yZ2FuaXppbmcgaGVhZGVyIGluY2x1c2lvbnMgd2l0aG91dCBhbHRlcmluZyBhbnkgbG9naWM/IExldCdzIHNheSBJJ20gc2ltcGx5IHNodWZmbGluZyBgI2luY2x1ZGVgIGRpcmVjdGl2ZXMgYXJvdW5kLiBEb2VzIHRoYXQgY2hhbmdlIGFueXRoaW5nIHNpZ25pZmljYW50PyBEb2VzICphZGRpbmcqIG9yICpyZW1vdmluZyogc29tZXRoaW5nIGxpa2UgYCNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlYCB0cnVseSBsZWF2ZSB0aGUgQyBsb2dpYyB1bnRvdWNoZWQ/IEknbSBnZXR0aW5nIGEgbGl0dGxlIHVuZWFzeSBhYm91dCB0aGF0LiBJIG5lZWQgdG8gYmUgYWJzb2x1dGVseSBzdXJlLlxuXG5Pa2F5LCBsZXQncyBzdG9wIGFuZCByZWFsbHkgbG9vayBhdCB0aGF0IGBlcnJvci1pbmplY3Rpb24uaGAgaGVhZGVyIGZpbGUuIFdoYXQgZG9lcyBpdCBhY3R1YWxseSBjb250YWluPyBJZiBpdCdzICpqdXN0KiBtYWNybyBkZWZpbml0aW9ucywgd291bGQgYWRkaW5nIG9yIHJlbW92aW5nIGl0IGZyb20gYSBmaWxlIGxpa2UgYG1vZHVsZS5oYCwgb3Igc29tZXdoZXJlIGVsc2UsIHN1YnRseSBhbHRlciBhbnkgbWFjcm8gZGVmaW5pdGlvbnMgb3IgYmVoYXZpb3I/IEkgbmVlZCB0byBjaGVjayB0aGUgYWN0dWFsIGNvbnRlbnRzLiBUaW1lIHRvIHB1bGwgdXAgYGluY2x1ZGUvbGludXgvZXJyb3ItaW5qZWN0aW9uLmhgIGFuZCBpbnZlc3RpZ2F0ZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTMyMTEsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMzUsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0xMVQxNTo0NjozMi41ODA4MTMyNThaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTYyMDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiaW5jbHVkZS9saW51eC9lcnJvci1pbmplY3Rpb24uaFwiLFxuICBcIkZpcnN0TGluZVwiOiAxLFxuICBcIkxpbmVDb3VudFwiOiA4MFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovXFxuICAgMjpcXHQjaWZuZGVmIF9MSU5VWF9FUlJPUl9JTkpFQ1RJT05fSFxcbiAgIDM6XFx0I2RlZmluZSBfTElOVVhfRVJST1JfSU5KRUNUSU9OX0hcXG4gICA0OlxcdFxcbiAgIDU6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2NvbXBpbGVyLmhcXHUwMDNlXFxuICAgNjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJybm8uaFxcdTAwM2VcXG4gICA3OlxcdCNpbmNsdWRlIFxcdTAwM2Nhc20tZ2VuZXJpYy9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gICA4OlxcdFxcbiAgIDk6XFx0I2lmZGVmIENPTkZJR19GVU5DVElPTl9FUlJPUl9JTkpFQ1RJT05cXG4gIDEwOlxcdFxcbiAgMTE6XFx0ZXh0ZXJuIGJvb2wgd2l0aGluX2Vycm9yX2luamVjdGlvbl9saXN0KHVuc2lnbmVkIGxvbmcgYWRkcik7XFxuICAxMjpcXHRleHRlcm4gaW50IGdldF9pbmplY3RhYmxlX2Vycm9yX3R5cGUodW5zaWduZWQgbG9uZyBhZGRyKTtcXG4gIDEzOlxcdFxcbiAgMTQ6XFx0I2Vsc2UgLyogIUNPTkZJR19GVU5DVElPTl9FUlJPUl9JTkpFQ1RJT04gKi9cXG4gIDE1OlxcdFxcbiAgMTY6XFx0c3RhdGljIGlubGluZSBib29sIHdpdGhpbl9lcnJvcl9pbmplY3Rpb25fbGlzdCh1bnNpZ25lZCBsb25nIGFkZHIpXFxuICAxNzpcXHR7XFxuICAxODpcXHRcXHRyZXR1cm4gZmFsc2U7XFxuICAxOTpcXHR9XFxuICAyMDpcXHRcXG4gIDIxOlxcdHN0YXRpYyBpbmxpbmUgaW50IGdldF9pbmplY3RhYmxlX2Vycm9yX3R5cGUodW5zaWduZWQgbG9uZyBhZGRyKVxcbiAgMjI6XFx0e1xcbiAgMjM6XFx0XFx0cmV0dXJuIC1FT1BOT1RTVVBQO1xcbiAgMjQ6XFx0fVxcbiAgMjU6XFx0XFxuICAyNjpcXHQjZW5kaWZcXG4gIDI3OlxcdFxcbiAgMjg6XFx0I2VuZGlmIC8qIF9MSU5VWF9FUlJPUl9JTkpFQ1RJT05fSCAqL1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMVQxNTo0NjozMi41ODA5MTM3NzhaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjgtZmxhc2giLCJEdXJhdGlvbiI6ODY2MzYzNjc2MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRha2Ugb24gdGhlIHRob3VnaHQgcHJvY2Vzcywgc3VtbWFyaXplZCBhcyB5b3UgcmVxdWVzdGVkOlxuXG4qKkRpdmluZyBpbnRvIEVycm9yIEluamVjdGlvbioqXG5cbk9rYXksIHNvIEkgbmVlZCB0byBnZXQgYSBoYW5kbGUgb24gdGhlIGVycm9yIGluamVjdGlvbiBtZWNoYW5pc21zIGhlcmUuIExldCdzIHNlZS4uLiB0aGUgZmlyc3QgbG9naWNhbCBzdGVwIGlzIHRvIGNoZWNrIG91dCBgYXNtLWdlbmVyaWMvZXJyb3ItaW5qZWN0aW9uLmhgLiBUaGF0IGhlYWRlciBmaWxlIGlzIHVzdWFsbHkgdGhlIHBsYWNlIHdoZXJlIHRoZXNlIHNvcnRzIG9mIGNvcmUsIGdlbmVyaWMgZXJyb3IgaW5qZWN0aW9uIGRlZmluaXRpb25zIGFyZSBrZXB0LCByaWdodD8gSSdtIGhvcGluZyBpdCdzIHdlbGwtZG9jdW1lbnRlZCBhbmQgcHJvdmlkZXMgYSBjbGVhciBvdmVydmlldyBvZiBob3cgdGhlIHN5c3RlbSBpcyBzdHJ1Y3R1cmVkLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgZnVuZGFtZW50YWwgYnVpbGRpbmcgYmxvY2tzIGJlZm9yZSBJIGNhbiBzdGFydCB0byBkaXNzZWN0IGFueSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMgb3IgZmlndXJlIG91dCBob3cgdGhpcyBpcyBpbnRlZ3JhdGVkIGludG8gdGhlIGxhcmdlciBjb250ZXh0LiBUaGlzIGhlYWRlciB3aWxsIGxpa2VseSBjb250YWluIHRoZSBtYWNyb3MsIGRhdGEgc3RydWN0dXJlcywgb3IgZnVuY3Rpb24gcHJvdG90eXBlcyByZWxhdGVkIHRvIGhvdyBhbmQgd2hlcmUgZXJyb3JzIGFyZSBpbmplY3RlZCBpbnRvIHRoZSBrZXJuZWwuIEl04oCZcyB0aGUgc3RhcnRpbmcgcG9pbnQgZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoaXMgcGFydGljdWxhciBtb2R1bGUgaGFuZGxlcyBpdC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTQyNDUsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNSwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjQxLjI0NDU1NDI4OFoiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5MjY5MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJpbmNsdWRlL2FzbS1nZW5lcmljL2Vycm9yLWluamVjdGlvbi5oXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDUwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi9cXG4gICAyOlxcdCNpZm5kZWYgX0FTTV9HRU5FUklDX0VSUk9SX0lOSkVDVElPTl9IXFxuICAgMzpcXHQjZGVmaW5lIF9BU01fR0VORVJJQ19FUlJPUl9JTkpFQ1RJT05fSFxcbiAgIDQ6XFx0XFxuICAgNTpcXHQjaWYgZGVmaW5lZChfX0tFUk5FTF9fKSBcXHUwMDI2XFx1MDAyNiAhZGVmaW5lZChfX0FTU0VNQkxZX18pXFxuICAgNjpcXHRlbnVtIHtcXG4gICA3OlxcdFxcdEVJX0VUWVBFX05VTEwsXFx0XFx0LyogUmV0dXJuIE5VTEwgaWYgZmFpbHVyZSAqL1xcbiAgIDg6XFx0XFx0RUlfRVRZUEVfRVJSTk8sXFx0XFx0LyogUmV0dXJuIC1FUlJOTyBpZiBmYWlsdXJlICovXFxuICAgOTpcXHRcXHRFSV9FVFlQRV9FUlJOT19OVUxMLFxcdC8qIFJldHVybiAtRVJSTk8gb3IgTlVMTCBpZiBmYWlsdXJlICovXFxuICAxMDpcXHRcXHRFSV9FVFlQRV9UUlVFLFxcdFxcdC8qIFJldHVybiB0cnVlIGlmIGZhaWx1cmUgKi9cXG4gIDExOlxcdH07XFxuICAxMjpcXHRcXG4gIDEzOlxcdHN0cnVjdCBlcnJvcl9pbmplY3Rpb25fZW50cnkge1xcbiAgMTQ6XFx0XFx0dW5zaWduZWQgbG9uZ1xcdGFkZHI7XFxuICAxNTpcXHRcXHRpbnRcXHRcXHRldHlwZTtcXG4gIDE2OlxcdH07XFxuICAxNzpcXHRcXG4gIDE4OlxcdHN0cnVjdCBwdF9yZWdzO1xcbiAgMTk6XFx0XFxuICAyMDpcXHQjaWZkZWYgQ09ORklHX0ZVTkNUSU9OX0VSUk9SX0lOSkVDVElPTlxcbiAgMjE6XFx0LypcXG4gIDIyOlxcdCAqIFdoaXRlbGlzdCBnZW5lcmF0aW5nIG1hY3JvLiBTcGVjaWZ5IGZ1bmN0aW9ucyB3aGljaCBjYW4gYmUgZXJyb3ItaW5qZWN0YWJsZVxcbiAgMjM6XFx0ICogdXNpbmcgdGhpcyBtYWNyby4gSWYgeW91IHVuc3VyZSB3aGF0IGlzIHJlcXVpcmVkIGZvciB0aGUgZXJyb3ItaW5qZWN0YWJsZVxcbiAgMjQ6XFx0ICogZnVuY3Rpb25zLCBwbGVhc2UgcmVhZCBEb2N1bWVudGF0aW9uL2ZhdWx0LWluamVjdGlvbi9mYXVsdC1pbmplY3Rpb24ucnN0XFxuICAyNTpcXHQgKiAnRXJyb3IgSW5qZWN0YWJsZSBGdW5jdGlvbnMnIHNlY3Rpb24uXFxuICAyNjpcXHQgKi9cXG4gIDI3OlxcdCNkZWZpbmUgQUxMT1dfRVJST1JfSU5KRUNUSU9OKGZuYW1lLCBfZXR5cGUpXFx0XFx0XFx0XFx0XFxcXFxcbiAgMjg6XFx0c3RhdGljIHN0cnVjdCBlcnJvcl9pbmplY3Rpb25fZW50cnkgX191c2VkXFx0XFx0XFx0XFx0XFxcXFxcbiAgMjk6XFx0XFx0X19zZWN0aW9uKFxcXCJfZXJyb3JfaW5qZWN0aW9uX3doaXRlbGlzdFxcXCIpXFx0XFx0XFx0XFx0XFxcXFxcbiAgMzA6XFx0XFx0X2VpbF9hZGRyXyMjZm5hbWUgPSB7XFx0XFx0XFx0XFx0XFx0XFx0XFxcXFxcbiAgMzE6XFx0XFx0XFx0LmFkZHIgPSAodW5zaWduZWQgbG9uZylmbmFtZSxcXHRcXHRcXHRcXHRcXFxcXFxuICAzMjpcXHRcXHRcXHQuZXR5cGUgPSBFSV9FVFlQRV8jI19ldHlwZSxcXHRcXHRcXHRcXHRcXFxcXFxuICAzMzpcXHRcXHR9XFxuICAzNDpcXHRcXG4gIDM1OlxcdHZvaWQgb3ZlcnJpZGVfZnVuY3Rpb25fd2l0aF9yZXR1cm4oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpO1xcbiAgMzY6XFx0I2Vsc2VcXG4gIDM3OlxcdCNkZWZpbmUgQUxMT1dfRVJST1JfSU5KRUNUSU9OKGZuYW1lLCBfZXR5cGUpXFxuICAzODpcXHRcXG4gIDM5OlxcdHN0YXRpYyBpbmxpbmUgdm9pZCBvdmVycmlkZV9mdW5jdGlvbl93aXRoX3JldHVybihzdHJ1Y3QgcHRfcmVncyAqcmVncykgeyB9XFxuICA0MDpcXHQjZW5kaWZcXG4gIDQxOlxcdCNlbmRpZlxcbiAgNDI6XFx0XFxuICA0MzpcXHQjZW5kaWYgLyogX0FTTV9HRU5FUklDX0VSUk9SX0lOSkVDVElPTl9IICovXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjQxLjI0NDY0OTU3OFoiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjo0MDA2NzA0Njk4NCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEVycm9yIEluamVjdGlvbiBNZWNoYW5pc20qKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIGNvZGUgYW5kIGltbWVkaWF0ZWx5IEkgc2VlIGBlcnJvci1pbmplY3Rpb24uaGAgZGVmaW5pbmcgYEFMTE9XX0VSUk9SX0lOSkVDVElPTigpYC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCB3aGVuIGBpbmNsdWRlL2xpbnV4L21vZHVsZS5oYCBpbmNsdWRlZCB0aGF0IGhlYWRlciwgdGhlbiBldmVyeXRoaW5nIHRoYXQgaW5jbHVkZXMgYG1vZHVsZS5oYCBhbHNvIGltcGxpY2l0bHkgZ2V0cyB0aGlzIG1hY3JvLiBUaGF0J3MgYSBjbGFzc2ljIHdheSB0byBwcm9wYWdhdGUgc2V0dGluZ3MsIHRob3VnaCBpdCBjYW4gY3JlYXRlIGRlcGVuZGVuY2llcyB0aGF0IG5lZWQgdG8gYmUgY2FyZWZ1bGx5IG1hbmFnZWQuXG5cblRoZW4gSSBub3RpY2VkIHNvbWV0aGluZyBpbnRlcmVzdGluZyBpbiBgeGVfZGV2aWNlLmNgLiBPcmlnaW5hbGx5LCB0aGVyZSB3YXMgYW4gaW5jbHVkZSBmb3IgYGZhdWx0LWluamVjdC5oYCwgYW5kIG5vdyBpdCdzIGJlZW4gcmVwbGFjZWQgd2l0aCBgZXJyb3ItaW5qZWN0aW9uLmhgLiBNeSBpbW1lZGlhdGUgaHlwb3RoZXNpcyBpcyB0aGF0IHRoZXJlIHdhcyBhIG1peC11cCwgcGVyaGFwcyBhIHNpbXBsZSB0eXBvLCBvciBzb21lb25lIHJlYWxpemVkIHRoZXkgcmVhbGx5IG5lZWRlZCBgQUxMT1dfRVJST1JfSU5KRUNUSU9OYCB3aGljaCBpcyBkZWZpbmVkIGluIGBlcnJvci1pbmplY3Rpb24uaGAuIFBlcmhhcHMgYGZhdWx0LWluamVjdC5oYCB3YXMgaW5jbHVkZWQgYnkgYWNjaWRlbnQuXG5cbk5vdywgbXkgbmV4dCBzdGVwIGlzIGNsZWFyOiBJIG5lZWQgdG8gdmVyaWZ5IGhvdyBhbmQgd2hlcmUgYEFMTE9XX0VSUk9SX0lOSkVDVElPTmAgaXMgYWN0dWFsbHkgdXNlZCB3aXRoaW4gYHhlX2RldmljZS5jYCBvciBvdGhlciBmaWxlcyB0aGF0IG1pZ2h0IGJlIGFmZmVjdGVkLiBJIHNob3VsZCBjaGVjayBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBgZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jYCBmaWxlIGl0c2VsZiB0byBzZWUgaWYgdGhlIG1hY3JvIGlzIGRpcmVjdGx5IHVzZWQuIEEgcXVpY2sgZ3JlcCB3aWxsIGdldCBtZSB0aGUgYW5zd2VyIEkgbmVlZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTUxMDAsIk91dHB1dFRva2VucyI6MzksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMjAsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0xMVQxNTo0NzoyMS4zMTE2OTkzMjJaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ1NjQ4MjUyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIkFMTE9XX0VSUk9SX0lOSkVDVElPTlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jPTQ4NT1zdHJ1Y3QgeGVfZGV2aWNlICp4ZV9kZXZpY2VfY3JlYXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxcbi0tXFxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jLTUxMy19XFxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jOjUxNDpBTExPV19FUlJPUl9JTkpFQ1RJT04oeGVfZGV2aWNlX2NyZWF0ZSwgRVJSTk8pOyAvKiBTZWUgeGVfcGNpX3Byb2JlKCkgKi9cXG5kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmMtNTE1LVxcbi0tXFxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jPTc3Mj1pbnQgeGVfZGV2aWNlX3Byb2JlX2Vhcmx5KHN0cnVjdCB4ZV9kZXZpY2UgKnhlKVxcbi0tXFxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jLTgzMS19XFxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jOjgzMjpBTExPV19FUlJPUl9JTkpFQ1RJT04oeGVfZGV2aWNlX3Byb2JlX2Vhcmx5LCBFUlJOTyk7IC8qIFNlZSB4ZV9wY2lfcHJvYmUoKSAqL1xcbmRyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYy04MzMtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjIxLjM1NzM1NTA0NVoiLCJTZXEiOjE1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjoyMTg3OTM5ODc3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgdGhlIERlcGVuZGVuY3kgb2YgYHN5c2NhbGxzLmhgIG9uIGBlcnJvci1pbmplY3Rpb24uaGAqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCBgaW5jbHVkZS9saW51eC9zeXNjYWxscy5oYCBhbmQgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhpcyBjb25uZWN0aW9uLiBXaHkgd291bGQgYSBmaWxlIGRlZmluaW5nIHN5c3RlbSBjYWxsIGludGVyZmFjZXMgcG9zc2libHkgcmVxdWlyZSBlcnJvciBpbmplY3Rpb24gbWVjaGFuaXNtcz8gVGhhdCBzZWVtcy4uLiB1bnVzdWFsLiBNeSBmaXJzdCBpbnN0aW5jdCBpcyB0byBzZWUgd2hhdCdzIGdvaW5nIG9uIHdpdGggYEFMTE9XX0VSUk9SX0lOSkVDVElPTmAgd2l0aGluIHRoYXQgZmlsZSBpdHNlbGYuIExldCdzIHNlZSB3aGF0IHRoYXQgbWFjcm8ncyBkZWZpbml0aW9uIHJldmVhbHMuIFVuZGVyc3RhbmRpbmcgdGhhdCBzaG91bGQgc2hlZCBzb21lIGxpZ2h0IG9uIHRoaXMgZGVzaWduIGNob2ljZS4gUGVyaGFwcyBpdCdzIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIGJhc2VkIG9uIHNvbWUgYnJvYWRlciBzeXN0ZW0gY29uZmlndXJhdGlvbiwgb3IgbWF5YmUgaXQncyBqdXN0IGEgZGlhZ25vc3RpYyB0b29sLiBUaW1lIHRvIGRpdmUgaW4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE1ODk5LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDktMTFUMTU6NDc6MjMuNTQ1Mjk5MTQxWiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NzYxNzc4MiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJBTExPV19FUlJPUl9JTkpFQ1RJT05cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiaW5jbHVkZS9saW51eC9zeXNjYWxscy5oXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImluY2x1ZGUvbGludXgvc3lzY2FsbHMuaD0yMTI9c3RhdGljIGlubGluZSBpbnQgaXNfc3lzY2FsbF90cmFjZV9ldmVudChzdHJ1Y3QgdHJhY2VfZXZlbnRfY2FsbCAqdHBfZXZlbnQpXFxuLS1cXG5pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmgtMjIxLVxcdGFzbWxpbmthZ2UgbG9uZyBzeXNfIyNzbmFtZSh2b2lkKTtcXHRcXHRcXHRcXFxcXFxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oOjIyMjpcXHRBTExPV19FUlJPUl9JTkpFQ1RJT04oc3lzXyMjc25hbWUsIEVSUk5PKTtcXHRcXHRcXFxcXFxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oLTIyMy1cXHRhc21saW5rYWdlIGxvbmcgc3lzXyMjc25hbWUodm9pZClcXG4tLVxcbmluY2x1ZGUvbGludXgvc3lzY2FsbHMuaC0yNTYtXFx0XFx0X19hdHRyaWJ1dGVfXygoYWxpYXMoX19zdHJpbmdpZnkoX19zZV9zeXMjI25hbWUpKSkpO1xcdFxcXFxcXG5pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmg6MjU3OlxcdEFMTE9XX0VSUk9SX0lOSkVDVElPTihzeXMjI25hbWUsIEVSUk5PKTtcXHRcXHRcXHRcXFxcXFxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oLTI1OC1cXHRzdGF0aWMgaW5saW5lIGxvbmcgX19kb19zeXMjI25hbWUoX19NQVAoeCxfX1NDX0RFQ0wsX19WQV9BUkdTX18pKTtcXFxcXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjIzLjU5MjkyMzE4M1oiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjo3Mjk3Njk0NTcxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgdGhlIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gIE1hY3JvKipcblxuT2theSwgc28gSSdtIGRpZ2dpbmcgaW50byB0aGlzIGNvZGUgYW5kIEkndmUganVzdCBzcG90dGVkIHNvbWV0aGluZyBpbnRlcmVzdGluZy4gSXQgbG9va3MgbGlrZSB0aGUgYEFMTE9XX0VSUk9SX0lOSkVDVElPTmAgbWFjcm8gaXMgYmVpbmcgdXNlZCByaWdodCB0aGVyZSBpbiB0aGUgYFNZU0NBTExfREVGSU5FeGAgbWFjcm9zIGRlZmluZWQgaW4gYGluY2x1ZGUvbGludXgvc3lzY2FsbHMuaGAuIE5vdywgSSByZWNhbGwgdGhpcyBtYWNybyB1c2VkIHRvIGJlIHNvdXJjZWQgdGhyb3VnaCBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAgb3Igc29tZXdoZXJlIHNpbWlsYXIuIEkgcmVtZW1iZXIgd2hlbiB0aGUgYGluY2x1ZGUvbGludXgvZXJyb3ItaW5qZWN0aW9uLmhgIHdhcyByZW1vdmVkIGZyb20gYGluY2x1ZGUvbGludXgvbW9kdWxlLmhgLCBjYXVzaW5nIGEgcmlwcGxlIGVmZmVjdCB3aGVyZSBmaWxlcyB0aGF0IGRpZG4ndCBpbmNsdWRlIGBtb2R1bGUuaGAgZGlyZWN0bHksIG9yIG9ubHkgaW5jbHVkZWQgYHN5c2NhbGxzLmhgLCBzdWRkZW5seSBuZWVkZWQgdG8gZXhwbGljaXRseSBpbmNsdWRlIGBlcnJvci1pbmplY3Rpb24uaGAgdG8gYWNjZXNzIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gLiBJdCB3YXMgYSBmdW4gbGl0dGxlIHJlZmFjdG9yaW5nIGV4ZXJjaXNlIGF0IHRoZSB0aW1lLCBidXQgdGhpcyBicmluZ3MgdXAgc29tZSBxdWVzdGlvbnMuIEkgaGFkIHRvIGxvb2sgYXQgYGNvbXBhdC5oYCBmb3Igc29tZSBvdGhlciBjb250ZXh0LCBzbyBsZXQncyBzZWUgd2hhdCB0aGF0IGZpbGUgY2FuIHRlbGwgdXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE2Mzc3LCJPdXRwdXRUb2tlbnMiOjMzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTI3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjMwLjg5MDYyMDY5M1oiLCJTZXEiOjE4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzM5OTY5MDgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiQUxMT1dfRVJST1JfSU5KRUNUSU9OXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImluY2x1ZGUvbGludXgvY29tcGF0LmhcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiaW5jbHVkZS9saW51eC9jb21wYXQuaC00OC1cXHRhc21saW5rYWdlIGxvbmcgY29tcGF0X3N5c18jI25hbWUodm9pZCk7IFxcXFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oOjQ5OlxcdEFMTE9XX0VSUk9SX0lOSkVDVElPTihjb21wYXRfc3lzXyMjbmFtZSwgRVJSTk8pOyBcXFxcXFxuaW5jbHVkZS9saW51eC9jb21wYXQuaC01MC1cXHRhc21saW5rYWdlIGxvbmcgY29tcGF0X3N5c18jI25hbWUodm9pZClcXG4tLVxcbmluY2x1ZGUvbGludXgvY29tcGF0LmgtODEtXFx0XFx0X19hdHRyaWJ1dGVfXygoYWxpYXMoX19zdHJpbmdpZnkoX19zZV9jb21wYXRfc3lzIyNuYW1lKSkpKTtcXHRcXFxcXFxuaW5jbHVkZS9saW51eC9jb21wYXQuaDo4MjpcXHRBTExPV19FUlJPUl9JTkpFQ1RJT04oY29tcGF0X3N5cyMjbmFtZSwgRVJSTk8pO1xcdFxcdFxcdFxcdFxcXFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oLTgzLVxcdHN0YXRpYyBpbmxpbmUgbG9uZyBfX2RvX2NvbXBhdF9zeXMjI25hbWUoX19NQVAoeCxfX1NDX0RFQ0wsX19WQV9BUkdTX18pKTtcXFxcXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjMwLjk2NDYyNTc3MloiLCJTZXEiOjE5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjoxNDA5NDYzMTczMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXNpcyBvZiBhIEhlYWRlciBGaWxlIFJlZmFjdG9yaW5nIFBhdGNoKipcblxuQWxyaWdodCwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLiBJdCBzZWVtcyB0aGlzIHBhdGNoIGlzIGFsbCBhYm91dCB0aWR5aW5nIHVwIGhvdyBgZXJyb3ItaW5qZWN0aW9uLmhgIGlzIGluY2x1ZGVkIGluIHRoZSBrZXJuZWwuIFRoZSBjb3JlIGlkZWEgaXMgdGhhdCBwcmV2aW91c2x5LCB0aGlzIGhlYWRlciB3YXMgaW5jbHVkZWQgdGhyb3VnaCBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAsIGJ1dCBub3cgaXQncyBiZWluZyBleHBsaWNpdGx5IGluY2x1ZGVkIHdoZXJlIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gIGlzIGFjdHVhbGx5IHVzZWQuICBUaGVyZSdzIGFsc28gYSBtaW5vciBjb3JyZWN0aW9uIGluIHRoZSBgeGVgIGRyaXZlcnMsIHN3aXRjaGluZyBmcm9tIGBmYXVsdC1pbmplY3QuaGAgdG8gYGVycm9yLWluamVjdGlvbi5oYCB3aGVyZSBhcHByb3ByaWF0ZS5cblxuTXkgcHJpbWFyeSBjb25jZXJuIGlzIHdoZXRoZXIgdGhpcyBjaGFuZ2VzIGFueSBhY3R1YWwgKmNvZGUqLiBMZXQncyBsb29rIGF0IHRoZSBkaWZmOiBpdCdzIHB1cmVseSBhYm91dCBhZGRpbmcgb3IgcmVtb3ZpbmcgYCNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlYC4gIEkgc2VlIG5vIGNoYW5nZXMgdG8gZnVuY3Rpb25zLCBjb250cm9sIGZsb3csIGRhdGEgc3RydWN0dXJlcywgb3IgYW55IGxvZ2ljIGF0IGFsbC4gIFRoZSBjaGFuZ2VzIGFyZSBsaW1pdGVkIHRvIGEgbG9uZyBsaXN0IG9mIGZpbGVzIGFkZGluZyB0aGUgcmVsZXZhbnQgaGVhZGVyLCBhbmQgb25lIGZpbGUgd2hpY2ggaXMgcmVtb3ZpbmcgaXQuIE5vIGV4ZWN1dGFibGUgY29kZSBoYXMgYmVlbiBhbHRlcmVkIVxuXG5Ob3csIGFwcGx5aW5nIG91ciB0cmlhZ2UgcnVsZXMuLi4gIFNlY3Rpb24gMidzIGNyaXRlcmlhIGZvciBXb3J0aEZ1enppbmc9ZmFsc2Ugc2VlbXMgc3BvdC1vbiBoZXJlLiBUaGlzIHBhdGNoIGlzIG5vdGhpbmcgbW9yZSB0aGFuIGhlYWRlciBmaWxlIGRlcGVuZGVuY3kgYWRqdXN0bWVudHMuIEl0J3MgZXNzZW50aWFsbHkgXCJub24ta2VybmVsIGFuZCBub24tZXhlY3V0YWJsZSxcIiBmYWxsaW5nIGludG8gdGhlIFwiQnVpbGQgc3lzdGVtIG9yIEtjb25maWcgY2hhbmdlcyB0aGF0IGRvIG5vdCBhbHRlciBjb21waWxlZCBDIGxvZ2ljXCIgY2F0ZWdvcnkgLSBldmVuIGlmIGl0J3Mgbm90IGEgYnVpbGQgc3lzdGVtIGNoYW5nZSAqcGVyIHNlKiwgaXQgaXMgYSBkZXBlbmRlbmN5IGNoYW5nZSB0aGF0ICpkb2VzIG5vdCogYWZmZWN0IGNvbXBpbGVkIEMgbG9naWMuXG5cblRoZXJlZm9yZSwgYFdvcnRoRnV6emluZ2AgaXMgdW5lcXVpdm9jYWxseSBgZmFsc2VgLiBUaGUgYFJlYXNvbmluZ2Agc2hvdWxkIGV4cGxpY2l0bHkgc3RhdGUgdGhpcyAtIHRoZSBwYXRjaCBvbmx5IGludm9sdmVzIGhlYWRlciBmaWxlIGluY2x1c2lvbiBhZGp1c3RtZW50cywgc3BlY2lmaWNhbGx5IG1vdmluZyBgI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VgIGZyb20gYGluY2x1ZGUvbGludXgvbW9kdWxlLmhgIHRvIGluZGl2aWR1YWwgZmlsZXMgYW5kIGNvcnJlY3RpbmcgaW5jbHVkZXMgd2l0aGluIHRoZSBgeGVgIGRyaXZlcnMsIHdpdGggKm5vKiBpbXBhY3Qgb24gZXhlY3V0YWJsZSBDIGNvZGUsIGRhdGEgc3RydWN0dXJlcywgY29udHJvbCBmbG93LCBvciBhc3NlcnRpb25zLiBgRm9jdXNTeW1ib2xzYCB3aWxsIGJlIGFuIGVtcHR5IGxpc3QgYFtdYCwgYW5kIGBFbmFibGVDb25maWdzYCB3aWxsIGFsc28gYmUgYFtdYC4gTm8gbmVlZCB0byBlbmFibGUgYW55dGhpbmcsIGFzIHRoaXMgcGF0Y2ggZG9lcyBub3QgYWRkIGFueSBuZXcgZnVuY3Rpb25hbGl0eS4gSXQncyBzaW1wbHkgYSBjb2RlIGNsZWFudXAuIEknbSBjb25maWRlbnQgaW4gdGhpcyBhc3Nlc3NtZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjoxNjk2MCwiT3V0cHV0VG9rZW5zIjoxMDcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDEyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjQ1LjA1OTI1OTM5M1oiLCJTZXEiOjIwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIxNDgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHNlcmllcyBjb25zaXN0cyBzb2xlbHkgb2YgaGVhZGVyIGluY2x1ZGUgcmVvcmdhbml6YXRpb25zOiByZW1vdmluZyAnI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZScgZnJvbSAnaW5jbHVkZS9saW51eC9tb2R1bGUuaCcgYW5kIGFkZGluZyBkaXJlY3QgJyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2UnIGRpcmVjdGl2ZXMgYWNyb3NzIHZhcmlvdXMgc291cmNlIGZpbGVzIHRoYXQgcmVseSBvbiBlcnJvciBpbmplY3Rpb24gbWFjcm9zLiBUaGVyZSBhcmUgbm8gZXhlY3V0YWJsZSBDIGxvZ2ljLCBkYXRhIHN0cnVjdHVyZSwgY29udHJvbCBmbG93LCBvciBhc3NlcnRpb24gY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHNlcmllcyBjb25zaXN0cyBzb2xlbHkgb2YgaGVhZGVyIGluY2x1ZGUgcmVvcmdhbml6YXRpb25zOiByZW1vdmluZyAnI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZScgZnJvbSAnaW5jbHVkZS9saW51eC9tb2R1bGUuaCcgYW5kIGFkZGluZyBkaXJlY3QgJyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2UnIGRpcmVjdGl2ZXMgYWNyb3NzIHZhcmlvdXMgc291cmNlIGZpbGVzIHRoYXQgcmVseSBvbiBlcnJvciBpbmplY3Rpb24gbWFjcm9zLiBUaGVyZSBhcmUgbm8gZXhlY3V0YWJsZSBDIGxvZ2ljLCBkYXRhIHN0cnVjdHVyZSwgY29udHJvbCBmbG93LCBvciBhc3NlcnRpb24gY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjQ1LjA1OTI4NjIzM1oiLCJTZXEiOjIxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjkzMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowqbmzz[0].run-triage(0) Phase: Succeeded StartedAt: 2026-09-11 15:44:41 +0000 UTC FinishedAt: 2026-09-11 15:47:45 +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+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggc2VyaWVzIGNvbnNpc3RzIHNvbGVseSBvZiBoZWFkZXIgaW5jbHVkZSByZW9yZ2FuaXphdGlvbnM6IHJlbW92aW5nICYjMzk7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2UmIzM5OyBmcm9tICYjMzk7aW5jbHVkZS9saW51eC9tb2R1bGUuaCYjMzk7IGFuZCBhZGRpbmcgZGlyZWN0ICYjMzk7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2UmIzM5OyBkaXJlY3RpdmVzIGFjcm9zcyB2YXJpb3VzIHNvdXJjZSBmaWxlcyB0aGF0IHJlbHkgb24gZXJyb3IgaW5qZWN0aW9uIG1hY3Jvcy4gVGhlcmUgYXJlIG5vIGV4ZWN1dGFibGUgQyBsb2dpYywgZGF0YSBzdHJ1Y3R1cmUsIGNvbnRyb2wgZmxvdywgb3IgYXNzZXJ0aW9uIGNoYW5nZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMDZkMDUxZTQ3ZmE2OTcwYjhmOGFlZDkzYTUyN2Y0NDhmYTEzOGVhMFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgU2VwIDExIDE1OjQ2OjAyIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2Jsb2NrL2Jsay1jb3JlLmMgYi9ibG9jay9ibGstY29yZS5jXG5pbmRleCAxOTZiY2NmMjdmNThkLi4zMjRhMmQxYmI3MjdiIDEwMDY0NFxuLS0tIGEvYmxvY2svYmxrLWNvcmUuY1xuJiM0MzsmIzQzOyYjNDM7IGIvYmxvY2svYmxrLWNvcmUuY1xuQEAgLTQwLDYgJiM0Mzs0MCw3IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcGFydF9zdGF0LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zY2hlZC9zeXNjdGwuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2Jsay1jcnlwdG8uaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNkZWZpbmUgQ1JFQVRFX1RSQUNFX1BPSU5UU1xuICNpbmNsdWRlIFx1MDAzY3RyYWNlL2V2ZW50cy9ibG9jay5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29ubmVjdG9yLmNcbmluZGV4IDdlZjkzMzhkNjdhYmYuLmEyODc4ODRjMDA0NWYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jXG5AQCAtMjMsNiAmIzQzOzIzLDcgQEBcbiAgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4gICovXG4gXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaTJjLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zbGFiLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmNcbmluZGV4IDcwZDExMmZkNDI4N2EuLjIwNDgxMGExMWU0NjMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuY1xuQEAgLTcsNiAmIzQzOzcsNyBAQFxuICAqIGRldGFpbHMgaGVyZS5cbiAgKi9cbiBcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC92Z2Ffc3dpdGNoZXJvby5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjYWNwaS92aWRlby5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2Rpc3BsYXkvZHJtX2RwX21zdF9oZWxwZXIuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmNcbmluZGV4IGMwZmQzNDlhNDYwMGMuLjJjM2JjN2I2N2MwZDUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmNcbkBAIC0zLDYgJiM0MzszLDcgQEBcbiAgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3N0cmluZ19oZWxwZXJzLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX3ByaW50LmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuY1xuaW5kZXggNWM3Zjg2MmY3MTAwYS4uMmYwZTFjYjU1NzhjZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmNcbkBAIC0zLDYgJiM0MzszLDggQEBcbiAgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuJiM0MztcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9pbnRlbC9pbnRlbC1ndHQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9pbnRlbC9pbnRlbF9nbWRfaW50ZXJydXB0X3JlZ3MuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmNcbmluZGV4IDFjNDU1ZDg0YmY5ZDguLjA5MWFhMzNmNjI0YWEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmNcbkBAIC00LDYgJiM0Mzs0LDcgQEBcbiAgKi9cbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9jaXJjX2J1Zi5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgva3RpbWUuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3N0cmluZ19oZWxwZXJzLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC90aW1lNjQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jXG5pbmRleCBiZDA3YzcyYTY2ZmNlLi5kMzY3YTg5N2M4NmIyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuY1xuQEAgLTMsNiAmIzQzOzMsNyBAQFxuICAqIENvcHlyaWdodCDCqSAyMDE2LTIwMTkgSW50ZWwgQ29ycG9yYXRpb25cbiAgKi9cbiBcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zdHJpbmdfaGVscGVycy5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXCYjMzQ7Z3QvaW50ZWxfZ3QuaFwmIzM0O1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jXG5pbmRleCA3ZmFjOTdmZTMwYTYzLi5kN2M3MzFmZTk3MmJmIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuY1xuQEAgLTQsNiAmIzQzOzQsNyBAQFxuICAqL1xuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2JpdGZpZWxkLmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9maXJtd2FyZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaGlnaG1lbS5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcml2ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJpdmVyLmNcbmluZGV4IGNlNmQyMDk1ODMyMGMuLmFlYjdiMjRjODFjOGIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jXG5AQCAtMzAsNiAmIzQzOzMwLDcgQEBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9hcGVydHVyZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYWNwaS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGV2aWNlLmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9tb2R1bGUuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L29vbS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcGNpLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuY1xuaW5kZXggMmYwM2Y5NTk0NWYxYi4uODRhN2RjNmFiNWRiYSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmNcbkBAIC0yMiw2ICYjNDM7MjIsOCBAQFxuICAqXG4gICovXG4gXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4mIzQzO1xuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fY29sb3JfbWdtdC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9kcnYuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9pbnRlbC9wY2lfY29uZmlnLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jXG5pbmRleCAxNzBlODNhOGM5ZmMzLi5lMzYwZTRmOWQ5YTJkIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jXG5AQCAtMjEsNiAmIzQzOzIxLDcgQEBcbiAgKiBJTiBUSEUgU09GVFdBUkUuXG4gICovXG4gXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcG1fcnVudGltZS5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNcbmluZGV4IGVlNzMyZTU0OTVmN2QuLmZjZWY4ZDVmYzdjYTIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuY1xuQEAgLTcsNyAmIzQzOzcsNyBAQFxuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2FwZXJ0dXJlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kZWxheS5oXHUwMDNlXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91bml0cy5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9jbGllbnQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jXG5pbmRleCBjZDA1M2RlM2M2YjU2Li4zZTQ2YzE0NTg0YzQyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuY1xuQEAgLTUsNiAmIzQzOzUsNyBAQFxuIFxuICNpbmNsdWRlIFwmIzM0O3hlX2V4ZWNfcXVldWUuaFwmIzM0O1xuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L25vc3BlYy5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9kZXZpY2UuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9nZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jXG5pbmRleCA4ZWMyMzg2MjQ3N2ZjLi5lMDU1ODJhZDA5OGE2IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuY1xuQEAgLTYsNyAmIzQzOzYsNyBAQFxuICNpbmNsdWRlIFwmIzM0O3hlX2dndHQuaFwmIzM0O1xuIFxuICNpbmNsdWRlIFx1MDAzY2t1bml0L3Zpc2liaWxpdHkuaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaW8tNjQtbm9uYXRvbWljLWxvLWhpLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zaXplcy5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jXG5pbmRleCA0Mjg2YmQwNWM2ODYxLi4zNGUyMWE3MGQ1YWQ4IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjLmNcbkBAIC01LDYgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9ndWMuaFwmIzM0O1xuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2lvcG9sbC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2Fkcy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19hZHMuY1xuaW5kZXggZmY4ZWVlMzgzMWFhMi4uNDFhMmI4YzgwN2Q2OCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmNcbkBAIC01LDcgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9ndWNfYWRzLmhcJiMzNDtcbiBcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jXG5pbmRleCBmZTcwYzBmZDg1YzUyLi5hYzZjYmJhYTZjYzBhIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmNcbkBAIC04LDcgJiM0Mzs4LDcgQEBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9iaXRmaWVsZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvY2lyY19idWYuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlbGF5LmhcdTAwM2Vcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2t1bml0L3N0YXRpY19zdHViLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19sb2cuY1xuaW5kZXggNTM4ZDRkZjBmN2FhNy4uNmYwNzM5MjA0ZDllMiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmNcbkBAIC01LDcgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9ndWNfbG9nLmhcJiMzNDtcbiBcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3V0c25hbWUuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19yZWxheS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19yZWxheS5jXG5pbmRleCBlZWQwYTc1MGQyZWIyLi5lNTI4ZDk1YmE3ZmVlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19yZWxheS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmNcbkBAIC01LDcgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9iaXRmaWVsZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGVsYXkuaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmNcbmluZGV4IGQ0MmUyNjNlMDYxMWUuLmFjODFmMzgyZTdkYzAgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuY1xuQEAgLTQsNiAmIzQzOzQsNyBAQFxuICAqL1xuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgva29iamVjdC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvc3lzZnMuaFx1MDAzZVxuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfZ3JvdXAuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfZ3JvdXAuY1xuaW5kZXggMDgwNGI0MjZiNmY5ZS4uNDE4ZmY0MjdhZTMwOCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfZ3JvdXAuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9ncm91cC5jXG5AQCAtMyw2ICYjNDM7Myw4IEBAXG4gICogQ29weXJpZ2h0IMKpIDIwMjQgSW50ZWwgQ29ycG9yYXRpb25cbiAgKi9cbiBcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiYjNDM7XG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9hc3NlcnQuaFwmIzM0O1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9tbWlvLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jXG5pbmRleCA3ZmExOGRmY2I1YTI4Li5kOGY4YTI0NTNiYjY1IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uY1xuQEAgLTYsNiAmIzQzOzYsNyBAQFxuICNpbmNsdWRlIFwmIzM0O3hlX21taW8uaFwmIzM0O1xuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlbGF5LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9pby02NC1ub25hdG9taWMtbG8taGkuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L21pbm1heC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcGNpLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9vYS5jXG5pbmRleCBhYjA5ZGNmZjU4NjA5Li5iMTVjOTZlMzVmYWJmIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX29hLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9vYS5jXG5AQCAtNSw2ICYjNDM7NSw3IEBAXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYW5vbl9pbm9kZXMuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlbGF5LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9ub3NwZWMuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3BvbGwuaFx1MDAzZVxuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmNcbmluZGV4IGE1Mjg5YTlkZjhkMjUuLmMwNDg5YThkOGE2MjUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmNcbkBAIC01LDcgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9wbS5oXCYjMzQ7XG4gXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9wbV9ydW50aW1lLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zdXNwZW5kLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kbWkuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wdC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmNcbmluZGV4IGEwNzMxNmE0NWQ3OWIuLjZjNmQ5YmUyNzE3ZWYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmNcbkBAIC01LDYgJiM0Mzs1LDggQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9wdC5oXCYjMzQ7XG4gXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4mIzQzO1xuICNpbmNsdWRlIFwmIzM0O3JlZ3MveGVfZ3R0X2RlZnMuaFwmIzM0O1xuICNpbmNsdWRlIFwmIzM0O3hlX2JvLmhcJiMzNDtcbiAjaW5jbHVkZSBcJiMzNDt4ZV9kZXZpY2UuaFwmIzM0O1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuY1xuaW5kZXggMmZlZjI3NGE1ODVlOC4uMmYzNjMyYWMyMDFhYiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jXG5AQCAtNSw2ICYjNDM7NSw4IEBAXG4gXG4gI2luY2x1ZGUgXCYjMzQ7eGVfcHhwLmhcJiMzNDtcbiBcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiYjNDM7XG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N1YXBpL2RybS94ZV9kcm0uaFx1MDAzZVxuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zcmlvdi5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3NyaW92LmNcbmluZGV4IGYzODM1ODY3ZmNlNWQuLmVjMjU0Yjk1MGRhZjQgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3NyaW92LmNcbkBAIC0zLDcgJiM0MzszLDcgQEBcbiAgKiBDb3B5cmlnaHQgwqkgMjAyMyBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3luYy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuY1xuaW5kZXggMzc4NjY3NjhkNjRjMi4uNzExZGUyMmY0OTg2NCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmNcbkBAIC02LDYgJiM0Mzs2LDcgQEBcbiAjaW5jbHVkZSBcJiMzNDt4ZV9zeW5jLmhcJiMzNDtcbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kbWEtZmVuY2UtYXJyYXkuaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2t0aHJlYWQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3NjaGVkL21tLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91YWNjZXNzLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdGlsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3RpbGUuY1xuaW5kZXggNzRkOTI1YTMzN2I3Ni4uODEwZGZkOThkODMwMCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcbkBAIC0zLDcgJiM0MzszLDcgQEBcbiAgKiBDb3B5cmlnaHQgwqkgMjAyMyBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX3BhZ2VtYXBfdXRpbC5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R1bmluZy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R1bmluZy5jXG5pbmRleCBiY2VjNDBjYTJkMzVmLi5kM2QzOGI0MzgwYmVjIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R1bmluZy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdHVuaW5nLmNcbkBAIC01LDYgJiM0Mzs1LDggQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV90dW5pbmcuaFwmIzM0O1xuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuJiM0MztcbiAjaW5jbHVkZSBcdTAwM2NrdW5pdC92aXNpYmlsaXR5LmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV91Y19mdy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3VjX2Z3LmNcbmluZGV4IGE4ZTZmMThjYzliNGEuLmYxNzkyNWFkNTNmNWIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3VjX2Z3LmNcbkBAIC00LDcgJiM0Mzs0LDcgQEBcbiAgKi9cbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9iaXRmaWVsZC5oXHUwMDNlXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9maXJtd2FyZS5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jXG5pbmRleCAyMzk1MmFkODk1MWUyLi5mMDAwNTY0ZjFlNTk2IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jXG5AQCAtNiw2ICYjNDM7Niw3IEBAXG4gI2luY2x1ZGUgXCYjMzQ7eGVfdm0uaFwmIzM0O1xuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RtYS1mZW5jZS1hcnJheS5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvbm9zcGVjLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX2Rydi5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd2EuY1xuaW5kZXggMTM5NDM0OTQ2ZjhmOC4uOThkMmZkZDNiYTZmOCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd2EuY1xuQEAgLTgsNyAmIzQzOzgsNyBAQFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNja3VuaXQvdmlzaWJpbGl0eS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvY29tcGlsZXJfdHlwZXMuaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZ2VuZXJhdGVkL3hlX2RldmljZV93YV9vb2IuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2dlbmVyYXRlZC94ZV93YV9vb2IuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93b3BjbS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmNcbmluZGV4IGZlNjVlZDI0Njc3NWQuLjdkYTFlM2ViYzgzOTEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmNcbkBAIC01LDcgJiM0Mzs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcJiMzNDt4ZV93b3BjbS5oXCYjMzQ7XG4gXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcJiMzNDtyZWdzL3hlX2d1Y19yZWdzLmhcJiMzNDtcbiAjaW5jbHVkZSBcJiMzNDt4ZV9kZXZpY2UuaFwmIzM0O1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L25ldGRldnNpbS90Yy5jIGIvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmNcbmluZGV4IGE0MTVlMDJhNmRmMWUuLmUyZDdkM2FiYTE5MzMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmNcbkBAIC0xLDUgJiM0MzsxLDYgQEBcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMFxuIFxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L25ldGRldmljZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbmV0L3BrdF9zY2hlZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbmV0L3BrdF9jbHMuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvY29tcGF0LmggYi9pbmNsdWRlL2xpbnV4L2NvbXBhdC5oXG5pbmRleCA4ZGEwYTE1Yzk1ZjRlLi5hZDM3Y2E2MTdlNjVjIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9jb21wYXQuaFxuJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9saW51eC9jb21wYXQuaFxuQEAgLTE4LDYgJiM0MzsxOCw3IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYWlvX2FiaS5oXHUwMDNlXHQvKiBmb3IgYWlvX2NvbnRleHRfdCAqL1xuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3VhY2Nlc3MuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3VuaXN0ZC5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjYXNtL2NvbXBhdC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjYXNtL3NpZ2luZm8uaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW9kdWxlLmggYi9pbmNsdWRlL2xpbnV4L21vZHVsZS5oXG5pbmRleCA5NmNjOTg1NjhlZWE1Li5iM2EzZDU4MjczODRmIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9tb2R1bGUuaFxuJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9saW51eC9tb2R1bGUuaFxuQEAgLTI0LDcgJiM0MzsyNCw2IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvanVtcF9sYWJlbC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZXhwb3J0LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9yYnRyZWVfbGF0Y2guaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvdHJhY2Vwb2ludC1kZWZzLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zcmN1LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zdGF0aWNfY2FsbF90eXBlcy5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oIGIvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oXG5pbmRleCA4NDEzYjYyNGFkNDc4Li41NTJkOTcxMGEwZDU3IDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oXG4mIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmhcbkBAIC05Miw2ICYjNDM7OTIsNyBAQCBzdHJ1Y3QgZmlsZV9hdHRyO1xuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3F1b3RhLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9rZXkuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3BlcnNvbmFsaXR5LmhcdTAwM2VcbiYjNDM7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N0cmFjZS9zeXNjYWxsLmhcdTAwM2VcbiBcbiAjaWZkZWYgQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBFUlxuZGlmZiAtLWdpdCBhL2tlcm5lbC9tb2R1bGUvbWFpbi5jIGIva2VybmVsL21vZHVsZS9tYWluLmNcbmluZGV4IGQwZTFlMGJkMmFkMDYuLmYxMzkyYzEwOTA3YTIgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvbW9kdWxlL21haW4uY1xuJiM0MzsmIzQzOyYjNDM7IGIva2VybmVsL21vZHVsZS9tYWluLmNcbkBAIC02MCw2ICYjNDM7NjAsNyBAQFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2NvZGV0YWcuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlYnVnZnMuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2V4ZWNtZW0uaFx1MDAzZVxuJiM0MzsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY3VhcGkvbGludXgvbW9kdWxlLmhcdTAwM2VcbiAjaW5jbHVkZSBcJiMzNDtpbnRlcm5hbC5oXCYjMzQ7XG4gXG5kaWZmIC0tZ2l0IGEvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jIGIvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jXG5pbmRleCA0MjM1ZGI2YmRmYWQ1Li4yYzdmNTE5YmVmODAwIDEwMDY0NFxuLS0tIGEvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmNcbkBAIC0xLDYgJiM0MzsxLDcgQEBcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGVidWdmcy5oXHUwMDNlXG4mIzQzOyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9uZXRkZXZpY2UuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3NrYnVmZi5oXHUwMDNlXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDY8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggc2VyaWVzIGNvbnNpc3RzIHNvbGVseSBvZiBoZWFkZXIgaW5jbHVkZSByZW9yZ2FuaXphdGlvbnM6IHJlbW92aW5nICYjMzk7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2UmIzM5OyBmcm9tICYjMzk7aW5jbHVkZS9saW51eC9tb2R1bGUuaCYjMzk7IGFuZCBhZGRpbmcgZGlyZWN0ICYjMzk7I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2UmIzM5OyBkaXJlY3RpdmVzIGFjcm9zcyB2YXJpb3VzIHNvdXJjZSBmaWxlcyB0aGF0IHJlbHkgb24gZXJyb3IgaW5qZWN0aW9uIG1hY3Jvcy4gVGhlcmUgYXJlIG5vIGV4ZWN1dGFibGUgQyBsb2dpYywgZGF0YSBzdHJ1Y3R1cmUsIGNvbnRyb2wgZmxvdywgb3IgYXNzZXJ0aW9uIGNoYW5nZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lciBhbmQgc2VjdXJpdHkgZW5naW5lZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZXZhbHVhdGUgd2hldGhlciBpdCB3YXJyYW50cyBmdXp6aW5nIHdpdGggc3l6a2FsbGVyLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiBpbnRlcm5hbCBhc3N1bXB0aW9ucy4gWW91IG11c3QgYWN0aXZlbHkgdXNlIHlvdXIgY29kZSBhY2Nlc3MKdG9vbHMgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlLCBjYWxsZXJzLCBhbmQgc3Vycm91bmRpbmcgY29udGV4dC4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjEuIENPUkUgVFJJQUdFIFBISUxPU09QSFkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIGdvYWwgb2YgcGF0Y2ggZnV6emluZyBpcyB0byBkaXNjb3ZlciBjcmFzaGVzLCByZWdyZXNzaW9ucywgZXhwb3NlZCBsYXRlbnQgYnVncywKYW5kIG5ld2x5IHRyaWdnZXJlZCBhc3NlcnRpb25zIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIHNlcmllcy4KCi0gUkVBQ0hBQklMSVRZIElTIFRIRSBQUklNQVJZIEdBVEU6CiAgRnV6emluZyBjYW4gb25seSBkaXNjb3ZlciBidWdzIGluIGNvZGUgdGhhdCBjYW4gYWN0dWFsbHkgZXhlY3V0ZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZAogIGVudmlyb25tZW50cyAoR0NFIG9yIFFFTVUsIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzIGxpa2UgVVNCIGdhZGdldHMsIG5ldGRldiwgdHVuL3RhcCkuCiAgSWYgdGhlIG1vZGlmaWVkIGNvZGUgaXMgc3RydWN0dXJhbGx5IHVucmVhY2hhYmxlIChzZWUgU2VjdGlvbiAyKSwgaXQgTVVTVCBOT1QgYmUgZnV6emVkLAogIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBhZGRzIGFzc2VydGlvbnMgb3IgY29tcGxleCBsb2dpYy4KCi0gRE8gTk9UIEJMSU5ETFkgVFJVU1QgJiMzNDtOTyBGVU5DVElPTkFMIENIQU5HRSYjMzQ7IChORkNJKSBPUiAmIzM0O1JFRkFDVE9SSU5HJiMzNDsgQ0xBSU1TOgogIFBhdGNoIGF1dGhvcnMgcm91dGluZWx5IGxhYmVsIGNoYW5nZXMgYXMgJiMzNDtjbGVhbnVwcyYjMzQ7LCAmIzM0O3JlZmFjdG9yaW5ncyYjMzQ7LCBvciBzdGF0ZQogICYjMzQ7Tm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQmIzM0Oy4gRG8gTk9UIHRha2UgdGhlc2UgY2xhaW1zIGF0IGZhY2UgdmFsdWUuCiAgQ29kZSByZWZhY3RvcmluZ3MgdGhhdCByZWFycmFuZ2UgbG9naWMsIGludHJvZHVjZSBoZWxwZXIgZnVuY3Rpb25zLCBvciBhbHRlciBzdGF0ZSBtYW5hZ2VtZW50CiAgaW4gY29yZSBzdWJzeXN0ZW1zIGZyZXF1ZW50bHkgaW50cm9kdWNlIHN1YnRsZSBzZW1hbnRpYyBzaGlmdHMgb3IgdW5jb3ZlciBsYXRlbnQga2VybmVsIGJ1Z3MuCiAgSWYgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSBpcyBtb2RpZmllZCBvciByZWZhY3RvcmVkLCBpdCBNVVNUIGJlIGZ1enplZC4KCi0gTkVXIE9SIE1PRElGSUVEIEFTU0VSVElPTlMgSU4gUkVBQ0hBQkxFIENPREUgTVVTVCBCRSBGVVpaRUQ6CiAgV2hlbiBhIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXMgcnVudGltZSBjaGVja3Mgb3IgYXNzZXJ0aW9ucyAoZS5nLiwgV0FSTl9PTiosIFZNX1dBUk5fT04qLAogIEJVR19PTiosIGxvY2tkZXBfYXNzZXJ0KikgaW4gcmVhY2hhYmxlIGNvZGUgcGF0aHMsIGl0IGVuZm9yY2VzIG5ldyBvciBzdHJpY3RlciBpbnZhcmlhbnRzLgogIEV2ZW4gaWYgdGhlIGF1dGhvciBiZWxpZXZlcyB0aGUgaW52YXJpYW50IGFsd2F5cyBob2xkcywgZnV6emluZyBpcyBlc3NlbnRpYWwgdG8gdmVyaWZ5IHdoZXRoZXIKICBhbiB1bnVzdWFsIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMgY2FuIHZpb2xhdGUgaXQuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoyLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9ZmFsc2UgKE5FR0FUSVZFIENSSVRFUklBKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIE9OTFkgSUYgYWxsIG1vZGlmaWVkIGNvZGUgZmFsbHMgc3RyaWN0bHkgaW50byBvbmUgb3IgbW9yZSBvZiB0aGVzZSBjYXRlZ29yaWVzOgoKLSBOb24ta2VybmVsIGFuZCBub24tZXhlY3V0YWJsZSBjaGFuZ2VzOgogICogTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgY29tbWVudHMsIG9yIHNwZWxsaW5nIGZpeGVzLgogICogVXNlci1zcGFjZSBkaXJlY3Rvcmllcywgc2VsZi10ZXN0cywgc2FtcGxlcywgb3Igc2NyaXB0cyAoZS5nLiwgdG9vbHMvLCBzYW1wbGVzLywgc2NyaXB0cy8sIHVzci8pCiAgICB0aGF0IGRvIG5vdCBhZmZlY3QgdGhlIGNvbXBpbGVkIGtlcm5lbCBpbWFnZSAodm1saW51eCkgb3Iga2VybmVsIG1vZHVsZXMuCiAgKiBQdXJlbHkgZGVjb3JhdGl2ZSBsb2dnaW5nIChlLmcuLCBtZXNzYWdlIHN0cmluZ3MgaW4gcHJfZXJyLCBwcmludGssIGRldl9pbmZvKSBvciB0cmFjZXBvaW50cwogICAgdGhhdCBkbyBub3QgYWx0ZXIgY29udHJvbCBmbG93IG9yIGRhdGEgc3RydWN0dXJlcy4KICAqIEJ1aWxkIHN5c3RlbSBvciBLY29uZmlnIGNoYW5nZXMgdGhhdCBkbyBub3QgYWx0ZXIgY29tcGlsZWQgQyBsb2dpYy4KLSBTdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmU6CiAgKiBWZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgICBpb25pYywgYW1kZ3B1KSByZXF1aXJpbmcgcGh5c2ljYWwgQVNJQy9QQ0llIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRoczoKICAqIERyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKC5yZW1vdmUsIC5zaHV0ZG93biwgcGNpX3VucmVnaXN0ZXJfZHJpdmVyKSBleGVjdXRlZCBvbmx5IGR1cmluZwogICAgcGh5c2ljYWwgUENJIGhvdC11bnBsdWcgb3IgbWFudWFsIHN5c2ZzIGRyaXZlciB1bmJpbmRpbmcuCiAgKiBDb2RlIHBhdGhzIGV4Y2x1c2l2ZSB0byBhcmNoaXRlY3R1cmVzIG90aGVyIHRoYW4gdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQozLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9dHJ1ZSAoUE9TSVRJVkUgQ1JJVEVSSUEpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZSB3aGVuZXZlciB0aGUgcGF0Y2ggdG91Y2hlcyByZWFjaGFibGUgZXhlY3V0YWJsZSBjb2RlLCBpbmNsdWRpbmc6Ci0gQ29yZSBTdWJzeXN0ZW1zOgogICogQW55IGxvZ2ljIG1vZGlmaWNhdGlvbnMgaW4gbWVtb3J5IG1hbmFnZW1lbnQgKG1tLyksIHN5bmNocm9uaXphdGlvbi9sb2NraW5nIChrZXJuZWwvbG9ja2luZy8pLAogICAgQlBGLCBzY2hlZHVsZXIsIGNvcmUgbmV0d29ya2luZywgVkZTLCBvciBzeXNjYWxsIGhhbmRsaW5nLgotIFJlZmFjdG9yaW5ncyBhbmQgQ29kZSBDbGVhbnVwczoKICAqIEFueSByZXN0cnVjdHVyaW5nIG9mIHJlYWNoYWJsZSBkYXRhIHN0cnVjdHVyZXMsIGhlbHBlciBhYnN0cmFjdGlvbnMsIG9yIGFsZ29yaXRobSBmbG93cy4KLSBSdW50aW1lIEFzc2VydGlvbnMgYW5kIERlZmVuc2l2ZSBDaGVja3M6CiAgKiBBbnkgaW50cm9kdWN0aW9uIG9yIGFsdGVyYXRpb24gb2YgYXNzZXJ0aW9ucyAoV0FSTl9PTiosIFZNX1dBUk5fT04qLCBCVUdfT04qLCBldGMuKSBpbiByZWFjaGFibGUgcGF0aHMuCi0gUmVhY2hhYmxlIERyaXZlcnMgYW5kIFByb3RvY29sczoKICAqIERyaXZlcnMgYWNjZXNzaWJsZSB2aWEgdmlydHVhbCBidXNlcyAodmlydGlvLCBVU0IgZ2FkZ2V0LCBsb29wYmFjaywgbmV0bGluaywgYmluZGVyLCBzb2NrZXRzLCBldGMuKS4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjQuIEVYVFJBQ1RJTkcgRm9jdXNTeW1ib2xzIChQUkVWRU5USU5HIERJTFVUSU9OKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpXaGVuIFdvcnRoRnV6emluZz10cnVlLCB5b3UgbXVzdCBleHRyYWN0IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgaW50byBGb2N1c1N5bWJvbHMgdG8gZ3VpZGUgdGhlIGZ1enplcjoKCi0gQVZPSUQgVUJJUVVJVE9VUyBMSUZFQ1lDTEUgSE9ULVBBVEhTOgogIERvIE5PVCBsaXN0IGdlbmVyaWMsIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhbGxlZCBieSBhbG1vc3QgZXZlcnkgcHJvZ3JhbSBpbiB0aGUgY29ycHVzCiAgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvOiBnZW5lcmFsIG1lbW9yeSBhbGxvY2F0b3JzIGFuZCBkZWFsbG9jYXRvcnMsIHBhZ2UgZmF1bHQKICBhbmQgdHJhcCBoYW5kbGVycywgb3IgY29yZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlczsgdGhpcyBpcyBub3QgYW4gZXhoYXVzdGl2ZSBsaXN0KS4KICBMaXN0aW5nIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhdXNlcyB0aGUgZnV6emVyIHRvIGNsYXNzaWZ5IHRob3VzYW5kcyBvZiB1bnJlbGF0ZWQgdGVzdHMgYXMgJiMzNDtmb2N1c2VkJiMzNDssCiAgd2hpY2ggc2V2ZXJlbHkgZGlsdXRlcyBmdXp6aW5nIGVmZm9ydCBhd2F5IGZyb20gdGhlIGFjdHVhbCBjaGFuZ2VzLgoKLSBUQVJHRVQgU1BFQ0lGSUMgRkVBVFVSRSBMT0dJQyBBTkQgRU5UUllQT0lOVFM6CiAgTGlzdCBmdW5jdGlvbnMgdGhhdCBzcGVjaWZpY2FsbHkgaW1wbGVtZW50IHRoZSBsb2dpYyBiZWluZyBhZGRlZCBvciBhbHRlcmVkLCBvciBkaXJlY3QgQVBJIGVudHJ5cG9pbnRzCiAgZm9yIHRoZSBzdWJzeXN0ZW0gZmVhdHVyZSB1bmRlciByZXZpZXcuCgotIEhBTkRMSU5HIFNUQVRJQyBJTkxJTkUgRlVOQ1RJT05TIElOIEhFQURFUlMgKC5oKToKICBDb21waWxlci1pbmxpbmVkIHN0YXRpYyBmdW5jdGlvbnMgKHN1Y2ggYXMgc3RhdGljIGlubGluZXMgaW4gbW0vKi5oIG9yIGluY2x1ZGUvbGludXgvKi5oKSBsYWNrCiAgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcyBpbiB2bWxpbnV4IGFuZCBjYW5ub3QgYmUgdGFyZ2V0ZWQgZGlyZWN0bHkgYnkgc3ltYm9sIGNvdmVyYWdlIGZpbHRlcnMuCiAgSWYgdGhlIGNoYW5nZXMgYXJlIHByaW1hcmlseSBpbiBzdGF0aWMgaW5saW5lIGhlbHBlcnMsIGlkZW50aWZ5IG5vbi1zdGF0aWMsIGZlYXR1cmUtc3BlY2lmaWMgY2FsbGVyCiAgZnVuY3Rpb25zIGluIC5jIGZpbGVzIHRoYXQgZXhlcmNpc2UgdGhlbSAoYXZvaWRpbmcgdWJpcXVpdG91cyBsaWZlY3ljbGUgd3JhcHBlcnMpLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KNS4gSURFTlRJRllJTkcgRW5hYmxlQ29uZmlncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IGNvbXBpbGUgYW5kIHJlYWNoIHRoZSBtb2RpZmllZCBjb2RlOgotIEluc3BlY3QgS2NvbmZpZyBmaWxlcyBhbmQgI2lmZGVmIGd1YXJkczsgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCi0gQ2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzIG5lZWRlZC4KLSBTdHJpcCBhbnkgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+VGFyZ2V0IGFyY2hpdGVjdHVyZTogYW1kNjQKCkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMDZkMDUxZTQ3ZmE2OTcwYjhmOGFlZDkzYTUyN2Y0NDhmYTEzOGVhMApBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBGcmkgU2VwIDExIDE1OjQ2OjAyIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLWNvcmUuYyBiL2Jsb2NrL2Jsay1jb3JlLmMKaW5kZXggMTk2YmNjZjI3ZjU4ZC4uMzI0YTJkMWJiNzI3YiAxMDA2NDQKLS0tIGEvYmxvY2svYmxrLWNvcmUuYwomIzQzOyYjNDM7JiM0MzsgYi9ibG9jay9ibGstY29yZS5jCkBAIC00MCw2ICYjNDM7NDAsNyBAQAogI2luY2x1ZGUgJmx0O2xpbnV4L3BhcnRfc3RhdC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3NjaGVkL3N5c2N0bC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2Jsay1jcnlwdG8uaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAKICNkZWZpbmUgQ1JFQVRFX1RSQUNFX1BPSU5UUwogI2luY2x1ZGUgJmx0O3RyYWNlL2V2ZW50cy9ibG9jay5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29ubmVjdG9yLmMKaW5kZXggN2VmOTMzOGQ2N2FiZi4uYTI4Nzg4NGMwMDQ1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jCkBAIC0yMyw2ICYjNDM7MjMsNyBAQAogICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgogICovCiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvaTJjLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvc2xhYi5oJmd0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMKaW5kZXggNzBkMTEyZmQ0Mjg3YS4uMjA0ODEwYTExZTQ2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RyaXZlci5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuYwpAQCAtNyw2ICYjNDM7Nyw3IEBACiAgKiBkZXRhaWxzIGhlcmUuCiAgKi8KIAomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC92Z2Ffc3dpdGNoZXJvby5oJmd0OwogI2luY2x1ZGUgJmx0O2FjcGkvdmlkZW8uaCZndDsKICNpbmNsdWRlICZsdDtkcm0vZGlzcGxheS9kcm1fZHBfbXN0X2hlbHBlci5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCBjMGZkMzQ5YTQ2MDBjLi4yYzNiYzdiNjdjMGQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwpAQCAtMyw2ICYjNDM7Myw3IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvc3RyaW5nX2hlbHBlcnMuaCZndDsKIAogI2luY2x1ZGUgJmx0O2RybS9kcm1fcHJpbnQuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jCmluZGV4IDVjN2Y4NjJmNzEwMGEuLjJmMGUxY2I1NTc4Y2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYwpAQCAtMyw2ICYjNDM7Myw4IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiYjNDM7CiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7ZHJtL2ludGVsL2ludGVsLWd0dC5oJmd0OwogI2luY2x1ZGUgJmx0O2RybS9pbnRlbC9pbnRlbF9nbWRfaW50ZXJydXB0X3JlZ3MuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmMKaW5kZXggMWM0NTVkODRiZjlkOC4uMDkxYWEzM2Y2MjRhYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmMKQEAgLTQsNiAmIzQzOzQsNyBAQAogICovCiAKICNpbmNsdWRlICZsdDtsaW51eC9jaXJjX2J1Zi5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9rdGltZS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3N0cmluZ19oZWxwZXJzLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvdGltZTY0LmgmZ3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuYwppbmRleCBiZDA3YzcyYTY2ZmNlLi5kMzY3YTg5N2M4NmIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMKQEAgLTMsNiAmIzQzOzMsNyBAQAogICogQ29weXJpZ2h0IMKpIDIwMTYtMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvc3RyaW5nX2hlbHBlcnMuaCZndDsKIAogI2luY2x1ZGUgJiMzNDtndC9pbnRlbF9ndC5oJiMzNDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jCmluZGV4IDdmYWM5N2ZlMzBhNjMuLmQ3YzczMWZlOTcyYmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuYwpAQCAtNCw2ICYjNDM7NCw3IEBACiAgKi8KIAogI2luY2x1ZGUgJmx0O2xpbnV4L2JpdGZpZWxkLmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2Zpcm13YXJlLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvaGlnaG1lbS5oJmd0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcml2ZXIuYwppbmRleCBjZTZkMjA5NTgzMjBjLi5hZWI3YjI0YzgxYzhiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJpdmVyLmMKQEAgLTMwLDYgJiM0MzszMCw3IEBACiAjaW5jbHVkZSAmbHQ7bGludXgvYXBlcnR1cmUuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9hY3BpLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvZGV2aWNlLmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L21vZHVsZS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L29vbS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3BjaS5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKaW5kZXggMmYwM2Y5NTk0NWYxYi4uODRhN2RjNmFiNWRiYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCkBAIC0yMiw2ICYjNDM7MjIsOCBAQAogICoKICAqLwogCiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwomIzQzOwogI2luY2x1ZGUgJmx0O2RybS9kcm1fY29sb3JfbWdtdC5oJmd0OwogI2luY2x1ZGUgJmx0O2RybS9kcm1fZHJ2LmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7ZHJtL2ludGVsL3BjaV9jb25maWcuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKaW5kZXggMTcwZTgzYThjOWZjMy4uZTM2MGU0ZjlkOWEyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKQEAgLTIxLDYgJiM0MzsyMSw3IEBACiAgKiBJTiBUSEUgU09GVFdBUkUuCiAgKi8KIAomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9wbV9ydW50aW1lLmgmZ3Q7CiAKICNpbmNsdWRlICZsdDtkcm0vZHJtX21hbmFnZWQuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYwppbmRleCBlZTczMmU1NDk1ZjdkLi5mY2VmOGQ1ZmM3Y2EyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jCkBAIC03LDcgJiM0Mzs3LDcgQEAKIAogI2luY2x1ZGUgJmx0O2xpbnV4L2FwZXJ0dXJlLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvZGVsYXkuaCZndDsKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvdW5pdHMuaCZndDsKIAogI2luY2x1ZGUgJmx0O2RybS9kcm1fY2xpZW50LmgmZ3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuYwppbmRleCBjZDA1M2RlM2M2YjU2Li4zZTQ2YzE0NTg0YzQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmMKQEAgLTUsNiAmIzQzOzUsNyBAQAogCiAjaW5jbHVkZSAmIzM0O3hlX2V4ZWNfcXVldWUuaCYjMzQ7CiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvbm9zcGVjLmgmZ3Q7CiAKICNpbmNsdWRlICZsdDtkcm0vZHJtX2RldmljZS5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9nZ3R0LmMKaW5kZXggOGVjMjM4NjI0NzdmYy4uZTA1NTgyYWQwOThhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jCkBAIC02LDcgJiM0Mzs2LDcgQEAKICNpbmNsdWRlICYjMzQ7eGVfZ2d0dC5oJiMzNDsKIAogI2luY2x1ZGUgJmx0O2t1bml0L3Zpc2liaWxpdHkuaCZndDsKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvaW8tNjQtbm9uYXRvbWljLWxvLWhpLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvc2l6ZXMuaCZndDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jCmluZGV4IDQyODZiZDA1YzY4NjEuLjM0ZTIxYTcwZDVhZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjLmMKQEAgLTUsNiAmIzQzOzUsNyBAQAogCiAjaW5jbHVkZSAmIzM0O3hlX2d1Yy5oJiMzNDsKIAomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9pb3BvbGwuaCZndDsKICNpbmNsdWRlICZsdDtkcm0vZHJtX21hbmFnZWQuaCZndDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19hZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmMKaW5kZXggZmY4ZWVlMzgzMWFhMi4uNDFhMmI4YzgwN2Q2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19hZHMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2Fkcy5jCkBAIC01LDcgJiM0Mzs1LDcgQEAKIAogI2luY2x1ZGUgJiMzNDt4ZV9ndWNfYWRzLmgmIzM0OwogCi0jaW5jbHVkZSAmbHQ7bGludXgvZmF1bHQtaW5qZWN0LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfY3QuYwppbmRleCBmZTcwYzBmZDg1YzUyLi5hYzZjYmJhYTZjYzBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jCkBAIC04LDcgJiM0Mzs4LDcgQEAKICNpbmNsdWRlICZsdDtsaW51eC9iaXRmaWVsZC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2NpcmNfYnVmLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvZGVsYXkuaCZndDsKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAKICNpbmNsdWRlICZsdDtrdW5pdC9zdGF0aWNfc3R1Yi5oJmd0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19sb2cuYwppbmRleCA1MzhkNGRmMGY3YWE3Li42ZjA3MzkyMDRkOWUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmMKQEAgLTUsNyAmIzQzOzUsNyBAQAogCiAjaW5jbHVkZSAmIzM0O3hlX2d1Y19sb2cuaCYjMzQ7CiAKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAKICNpbmNsdWRlICZsdDtsaW51eC91dHNuYW1lLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmMKaW5kZXggZWVkMGE3NTBkMmViMi4uZTUyOGQ5NWJhN2ZlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19yZWxheS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfcmVsYXkuYwpAQCAtNSw3ICYjNDM7NSw3IEBACiAKICNpbmNsdWRlICZsdDtsaW51eC9iaXRmaWVsZC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2RlbGF5LmgmZ3Q7Ci0jaW5jbHVkZSAmbHQ7bGludXgvZmF1bHQtaW5qZWN0LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuYwppbmRleCBkNDJlMjYzZTA2MTFlLi5hYzgxZjM4MmU3ZGMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9jbGFzc19zeXNmcy5jCkBAIC00LDYgJiM0Mzs0LDcgQEAKICAqLwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2tvYmplY3QuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9zeXNmcy5oJmd0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmMKaW5kZXggMDgwNGI0MjZiNmY5ZS4uNDE4ZmY0MjdhZTMwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9ncm91cC5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfZ3JvdXAuYwpAQCAtMyw2ICYjNDM7Myw4IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAyNCBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiYjNDM7CiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiAKICNpbmNsdWRlICYjMzQ7eGVfYXNzZXJ0LmgmIzM0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9tbWlvLmMKaW5kZXggN2ZhMThkZmNiNWEyOC4uZDhmOGEyNDUzYmI2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jCkBAIC02LDYgJiM0Mzs2LDcgQEAKICNpbmNsdWRlICYjMzQ7eGVfbW1pby5oJiMzNDsKIAogI2luY2x1ZGUgJmx0O2xpbnV4L2RlbGF5LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2lvLTY0LW5vbmF0b21pYy1sby1oaS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L21pbm1heC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3BjaS5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX29hLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuYwppbmRleCBhYjA5ZGNmZjU4NjA5Li5iMTVjOTZlMzVmYWJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuYwpAQCAtNSw2ICYjNDM7NSw3IEBACiAKICNpbmNsdWRlICZsdDtsaW51eC9hbm9uX2lub2Rlcy5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2RlbGF5LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L25vc3BlYy5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3BvbGwuaCZndDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uYwppbmRleCBhNTI4OWE5ZGY4ZDI1Li5jMDQ4OWE4ZDhhNjI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uYwpAQCAtNSw3ICYjNDM7NSw3IEBACiAKICNpbmNsdWRlICYjMzQ7eGVfcG0uaCYjMzQ7CiAKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvcG1fcnVudGltZS5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3N1c3BlbmQuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9kbWkuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wdC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmMKaW5kZXggYTA3MzE2YTQ1ZDc5Yi4uNmM2ZDliZTI3MTdlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmMKQEAgLTUsNiAmIzQzOzUsOCBAQAogCiAjaW5jbHVkZSAmIzM0O3hlX3B0LmgmIzM0OwogCiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwomIzQzOwogI2luY2x1ZGUgJiMzNDtyZWdzL3hlX2d0dF9kZWZzLmgmIzM0OwogI2luY2x1ZGUgJiMzNDt4ZV9iby5oJiMzNDsKICNpbmNsdWRlICYjMzQ7eGVfZGV2aWNlLmgmIzM0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jCmluZGV4IDJmZWYyNzRhNTg1ZTguLjJmMzYzMmFjMjAxYWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHhwLmMKQEAgLTUsNiAmIzQzOzUsOCBAQAogCiAjaW5jbHVkZSAmIzM0O3hlX3B4cC5oJiMzNDsKIAomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKJiM0MzsKICNpbmNsdWRlICZsdDtkcm0vZHJtX21hbmFnZWQuaCZndDsKICNpbmNsdWRlICZsdDt1YXBpL2RybS94ZV9kcm0uaCZndDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3NyaW92LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuYwppbmRleCBmMzgzNTg2N2ZjZTVkLi5lYzI1NGI5NTBkYWY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuYwpAQCAtMyw3ICYjNDM7Myw3IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAyMyBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAKICNpbmNsdWRlICZsdDtkcm0vZHJtX21hbmFnZWQuaCZndDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmMKaW5kZXggMzc4NjY3NjhkNjRjMi4uNzExZGUyMmY0OTg2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3luYy5jCkBAIC02LDYgJiM0Mzs2LDcgQEAKICNpbmNsdWRlICYjMzQ7eGVfc3luYy5oJiMzNDsKIAogI2luY2x1ZGUgJmx0O2xpbnV4L2RtYS1mZW5jZS1hcnJheS5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9rdGhyZWFkLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvc2NoZWQvbW0uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC91YWNjZXNzLmgmZ3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdGlsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3RpbGUuYwppbmRleCA3NGQ5MjVhMzM3Yjc2Li44MTBkZmQ5OGQ4MzAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdGlsZS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmMKQEAgLTMsNyAmIzQzOzMsNyBAQAogICogQ29weXJpZ2h0IMKpIDIwMjMgSW50ZWwgQ29ycG9yYXRpb24KICAqLwogCi0jaW5jbHVkZSAmbHQ7bGludXgvZmF1bHQtaW5qZWN0LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9wYWdlbWFwX3V0aWwuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuYwppbmRleCBiY2VjNDBjYTJkMzVmLi5kM2QzOGI0MzgwYmVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdHVuaW5nLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R1bmluZy5jCkBAIC01LDYgJiM0Mzs1LDggQEAKIAogI2luY2x1ZGUgJiMzNDt4ZV90dW5pbmcuaCYjMzQ7CiAKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiYjNDM7CiAjaW5jbHVkZSAmbHQ7a3VuaXQvdmlzaWJpbGl0eS5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9tYW5hZ2VkLmgmZ3Q7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV91Y19mdy5jCmluZGV4IGE4ZTZmMThjYzliNGEuLmYxNzkyNWFkNTNmNWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV91Y19mdy5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV91Y19mdy5jCkBAIC00LDcgJiM0Mzs0LDcgQEAKICAqLwogCiAjaW5jbHVkZSAmbHQ7bGludXgvYml0ZmllbGQuaCZndDsKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvZmlybXdhcmUuaCZndDsKIAogI2luY2x1ZGUgJmx0O2RybS9kcm1fbWFuYWdlZC5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYwppbmRleCAyMzk1MmFkODk1MWUyLi5mMDAwNTY0ZjFlNTk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYwpAQCAtNiw2ICYjNDM7Niw3IEBACiAjaW5jbHVkZSAmIzM0O3hlX3ZtLmgmIzM0OwogCiAjaW5jbHVkZSAmbHQ7bGludXgvZG1hLWZlbmNlLWFycmF5LmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L25vc3BlYy5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7ZHJtL2RybV9kcnYuaCZndDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmMKaW5kZXggMTM5NDM0OTQ2ZjhmOC4uOThkMmZkZDNiYTZmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmMKQEAgLTgsNyAmIzQzOzgsNyBAQAogI2luY2x1ZGUgJmx0O2RybS9kcm1fbWFuYWdlZC5oJmd0OwogI2luY2x1ZGUgJmx0O2t1bml0L3Zpc2liaWxpdHkuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9jb21waWxlcl90eXBlcy5oJmd0OwotI2luY2x1ZGUgJmx0O2xpbnV4L2ZhdWx0LWluamVjdC5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKIAogI2luY2x1ZGUgJmx0O2dlbmVyYXRlZC94ZV9kZXZpY2Vfd2Ffb29iLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7Z2VuZXJhdGVkL3hlX3dhX29vYi5oJmd0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uYwppbmRleCBmZTY1ZWQyNDY3NzVkLi43ZGExZTNlYmM4MzkxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uYwpAQCAtNSw3ICYjNDM7NSw3IEBACiAKICNpbmNsdWRlICYjMzQ7eGVfd29wY20uaCYjMzQ7CiAKLSNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKJiM0MzsjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7CiAKICNpbmNsdWRlICYjMzQ7cmVncy94ZV9ndWNfcmVncy5oJiMzNDsKICNpbmNsdWRlICYjMzQ7eGVfZGV2aWNlLmgmIzM0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmMgYi9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuYwppbmRleCBhNDE1ZTAyYTZkZjFlLi5lMmQ3ZDNhYmExOTMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuYwpAQCAtMSw1ICYjNDM7MSw2IEBACiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAogCiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L25ldGRldmljZS5oJmd0OwogI2luY2x1ZGUgJmx0O25ldC9wa3Rfc2NoZWQuaCZndDsKICNpbmNsdWRlICZsdDtuZXQvcGt0X2Nscy5oJmd0OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9jb21wYXQuaCBiL2luY2x1ZGUvbGludXgvY29tcGF0LmgKaW5kZXggOGRhMGExNWM5NWY0ZS4uYWQzN2NhNjE3ZTY1YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9jb21wYXQuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL2xpbnV4L2NvbXBhdC5oCkBAIC0xOCw2ICYjNDM7MTgsNyBAQAogI2luY2x1ZGUgJmx0O2xpbnV4L2Fpb19hYmkuaCZndDsJLyogZm9yIGFpb19jb250ZXh0X3QgKi8KICNpbmNsdWRlICZsdDtsaW51eC91YWNjZXNzLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvdW5pc3RkLmgmZ3Q7CiYjNDM7I2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogCiAjaW5jbHVkZSAmbHQ7YXNtL2NvbXBhdC5oJmd0OwogI2luY2x1ZGUgJmx0O2FzbS9zaWdpbmZvLmgmZ3Q7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21vZHVsZS5oIGIvaW5jbHVkZS9saW51eC9tb2R1bGUuaAppbmRleCA5NmNjOTg1NjhlZWE1Li5iM2EzZDU4MjczODRmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21vZHVsZS5oCiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbGludXgvbW9kdWxlLmgKQEAgLTI0LDcgJiM0MzsyNCw2IEBACiAjaW5jbHVkZSAmbHQ7bGludXgvanVtcF9sYWJlbC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L2V4cG9ydC5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3JidHJlZV9sYXRjaC5oJmd0OwotI2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3RyYWNlcG9pbnQtZGVmcy5oJmd0OwogI2luY2x1ZGUgJmx0O2xpbnV4L3NyY3UuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9zdGF0aWNfY2FsbF90eXBlcy5oJmd0OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oIGIvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oCmluZGV4IDg0MTNiNjI0YWQ0NzguLjU1MmQ5NzEwYTBkNTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaAomIzQzOyYjNDM7JiM0MzsgYi9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmgKQEAgLTkyLDYgJiM0Mzs5Miw3IEBAIHN0cnVjdCBmaWxlX2F0dHI7CiAjaW5jbHVkZSAmbHQ7bGludXgvcXVvdGEuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9rZXkuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9wZXJzb25hbGl0eS5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDt0cmFjZS9zeXNjYWxsLmgmZ3Q7CiAKICNpZmRlZiBDT05GSUdfQVJDSF9IQVNfU1lTQ0FMTF9XUkFQUEVSCmRpZmYgLS1naXQgYS9rZXJuZWwvbW9kdWxlL21haW4uYyBiL2tlcm5lbC9tb2R1bGUvbWFpbi5jCmluZGV4IGQwZTFlMGJkMmFkMDYuLmYxMzkyYzEwOTA3YTIgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9tb2R1bGUvbWFpbi5jCiYjNDM7JiM0MzsmIzQzOyBiL2tlcm5lbC9tb2R1bGUvbWFpbi5jCkBAIC02MCw2ICYjNDM7NjAsNyBAQAogI2luY2x1ZGUgJmx0O2xpbnV4L2NvZGV0YWcuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9kZWJ1Z2ZzLmgmZ3Q7CiAjaW5jbHVkZSAmbHQ7bGludXgvZXhlY21lbS5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDt1YXBpL2xpbnV4L21vZHVsZS5oJmd0OwogI2luY2x1ZGUgJiMzNDtpbnRlcm5hbC5oJiMzNDsKIApkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jIGIvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jCmluZGV4IDQyMzVkYjZiZGZhZDUuLjJjN2Y1MTliZWY4MDAgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3NrYl9mYXVsdF9pbmplY3Rpb24uYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmMKQEAgLTEsNiAmIzQzOzEsNyBAQAogLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQogCiAjaW5jbHVkZSAmbHQ7bGludXgvZGVidWdmcy5oJmd0OwomIzQzOyNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9mYXVsdC1pbmplY3QuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9uZXRkZXZpY2UuaCZndDsKICNpbmNsdWRlICZsdDtsaW51eC9za2J1ZmYuaCZndDsKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjgtZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTAwOTAKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAxMjcyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIEtlcm5lbCBQYXRjaCBTZXJpZXM6IEhlYWRlciBGaWxlIEluY2x1c2lvbiBSZWZhY3RvcmluZyoqCgpPa2F5LCBzbyB0aGUgdXNlciB3YW50cyBtZSB0byBldmFsdWF0ZSBhIHBhdGNoIHNlcmllcyBhcHBsaWVkIGFzIEhFQUQgaW4gdGhlIGtlcm5lbC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGdyYWIgdGhlIGNvbW1pdCBtZXNzYWdlIGFuZCBnZXQgdGhlIGNvbXBsZXRlIGNvbnRleHQgdXNpbmcgYGdpdCBsb2dgLiBCdXQgaG9sZCBvbiwgYW0gSSBhYmxlIHRvIGFjdHVhbGx5IHJ1biBgZ2l0IGxvZ2AgZGlyZWN0bHksIG9yIGRvIEkgaGF2ZSBzb21lIG90aGVyIHRvb2xpbmcgYXQgbXkgZGlzcG9zYWw/IExldCYjMzk7cyBzZWUuLi4gd2hhdCB0b29scyBkbyBJIGhhdmU/IEkmIzM5O3ZlIGdvdCBgcmVhZC1maWxlYCwgYGNvZGVzZWFyY2gtZGlyLWluZGV4YCwgYGdyZXBwZXJgLCBhbmQgYHNldC1yZXN1bHRzYC4gUmlnaHQsIEkgZG9uJiMzOTt0IHNlZSBhbnl0aGluZyBleHBsaWNpdGx5IGZvciBnaXQgb3BlcmF0aW9ucy4gCgpMZXQmIzM5O3Mgc3dpdGNoIGdlYXJzIGFuZCBmb2N1cyBvbiB0aGUgZGlmZiBwcm92aWRlZC4gSXQgbG9va3MgbGlrZSBpdCBpcyBqdXN0IGAjaW5jbHVkZWAgbW9kaWZpY2F0aW9ucywgc3BlY2lmaWNhbGx5IGZvciBgbGludXgvZXJyb3ItaW5qZWN0aW9uLmhgLiBJIHNlZSBtYW55IGZpbGVzIG5vdyBpbmNsdWRlIHRoaXMgaGVhZGVyIGZpbGUsIGFuZCBJIHNlZSBhIGxvdCBvZiBpbnN0YW5jZXMgd2hlcmUgYGZhdWx0LWluamVjdC5oYCBpcyBiZWluZyByZXBsYWNlZCB3aXRoIGBlcnJvci1pbmplY3Rpb24uaGAuIFRoaXMgaW5jbHVkZXMgY2hhbmdlcyBpbiBgYmxvY2svYmxrLWNvcmUuY2AsIHNldmVyYWwgRFJNL2k5MTUgYW5kIERSTS94ZSBkcml2ZXIgZmlsZXMsIGBkcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuY2AsIHNvbWUgaGVhZGVyIGZpbGVzLCBhbmQgYGtlcm5lbC9tb2R1bGUvbWFpbi5jYCwgYW5kIGBuZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmNgLgoKT2theSwgdGhlIGRpZmYgY29uZmlybXMgaXQuIFRoZSBPTkxZIGNoYW5nZSBpbiBldmVyeSBmaWxlIG1vZGlmaWVkIGlzIGVpdGhlciB0aGUgYWRkaXRpb24gb2YgYCNpbmNsdWRlICZsdDtsaW51eC9lcnJvci1pbmplY3Rpb24uaCZndDtgIG9yIGEgcmVwbGFjZW1lbnQgb2YgYGZhdWx0LWluamVjdC5oYCB3aXRoIGBlcnJvci1pbmplY3Rpb24uaGAuIEl0IGxvb2tzIGxpa2UgdGhlcmUmIzM5O3Mgbm8gZXhlY3V0YWJsZSBjb2RlIGNoYW5nZSBoZXJlLgoKU28sIHdoeSBhcmUgd2Ugc2VlaW5nIHRoaXM/IFRoZSByZW1vdmFsIG9mIGAjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7YCBmcm9tIGBpbmNsdWRlL2xpbnV4L21vZHVsZS5oYCBpcyB0aGUga2V5LiBQcmV2aW91c2x5LCBmaWxlcyBpbmNsdWRpbmcgYG1vZHVsZS5oYCBpbXBsaWNpdGx5IGluY2x1ZGVkIGBlcnJvci1pbmplY3Rpb24uaGAuIFRoaXMgcmVmYWN0b3JpbmcgaXMgbGlrZWx5IHRvIGRlY291cGxlIGhlYWRlciBkZXBlbmRlbmNpZXMsIHByb2JhYmx5IGFzIHBhcnQgb2YgYSBjbGVhbnVwIG9yIG1vZHVsYXJpemF0aW9uIGVmZm9ydC4gVGhlIGhlYWRlciBpcyBiZWluZyBpbmNsdWRlZCBleHBsaWNpdGx5IHdoZXJlIGl0JiMzOTtzIGFjdHVhbGx5IG5lZWRlZC4gQW5kIGluIHRoZSBEUk0veGUgZHJpdmVyLCBpdCBpcyBiZWluZyByZWZhY3RvcmVkIGZyb20gYGZhdWx0LWluamVjdC5oYCB0byBgZXJyb3ItaW5qZWN0aW9uLmhgLiBUaGUgZmlsZXMgYWZmZWN0ZWQgaW5jbHVkZSB0aGUgcmVsZXZhbnQgbWFjcm9zLCBzdWNoIGFzIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gLCBldGMuCgpMZXQgbWUgY29uZmlybSB0aGF0IEkgY2FuIGFjY2VzcyB0aGUgbGluZSB3aGVyZSB0aGUgaW5jbHVkZSB3YXMgcmVtb3ZlZCBmcm9tIGBpbmNsdWRlL2xpbnV4L21vZHVsZS5oYCBhcm91bmQgbGluZSAyNC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMSAxNTo0NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvbW9kdWxlLmgmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAyMCwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAyMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgIDIwOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvZWxmLmhcdTAwM2VcbiAgMjE6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9zdHJpbmdpZnkuaFx1MDAzZVxuICAyMjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2tvYmplY3QuaFx1MDAzZVxuICAyMzpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L21vZHVsZXBhcmFtLmhcdTAwM2VcbiAgMjQ6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9qdW1wX2xhYmVsLmhcdTAwM2VcbiAgMjU6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9leHBvcnQuaFx1MDAzZVxuICAyNjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L3JidHJlZV9sYXRjaC5oXHUwMDNlXG4gIDI3Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvdHJhY2Vwb2ludC1kZWZzLmhcdTAwM2VcbiAgMjg6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9zcmN1LmhcdTAwM2VcbiAgMjk6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9zdGF0aWNfY2FsbF90eXBlcy5oXHUwMDNlXG4gIDMwOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvZHluYW1pY19kZWJ1Zy5oXHUwMDNlXG4gIDMxOlx0XG4gIDMyOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvcGVyY3B1LmhcdTAwM2VcbiAgMzM6XHQjaW5jbHVkZSBcdTAwM2Nhc20vbW9kdWxlLmhcdTAwM2VcbiAgMzQ6XHRcbiAgMzU6XHQjZGVmaW5lIE1PRFVMRV9OQU1FX0xFTiBfX01PRFVMRV9OQU1FX0xFTlxuICAzNjpcdFxuICAzNzpcdHN0cnVjdCBtb2R2ZXJzaW9uX2luZm8ge1xuICAzODpcdFx0dW5zaWduZWQgbG9uZyBjcmM7XG4gIDM5Olx0XHRjaGFyIG5hbWVbTU9EVUxFX05BTUVfTEVOXTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMSAxNTo0NjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuOC1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxMjIwMQoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDE5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqRGl2aW5nIGludG8gYGtlcm5lbC9tb2R1bGUvbWFpbi5jYCoqCgpPa2F5LCB0aW1lIHRvIHRyb3VibGVzaG9vdCB0aGlzIGlzc3VlLiBJJiMzOTttIGdvaW5nIHRvIHN0YXJ0IGJ5IHRha2luZyBhIGxvb2sgYXQgYGtlcm5lbC9tb2R1bGUvbWFpbi5jYC4gTXkgaHVuY2ggaXMgdGhhdCB0aGUgcHJvYmxlbSBtaWdodCBiZSByZWxhdGVkIHRvIG1vZHVsZSBsb2FkaW5nIG9yIHVubG9hZGluZywgc28gSSYjMzk7bGwgYmUgemVyb2luZyBpbiBvbiB0aGF0IGFyZWEuIFNwZWNpZmljYWxseSwgbGV0JiMzOTtzIHplcm8gaW4gb24gdGhlIHZpY2luaXR5IG9mIGxpbmUgNjAuIEkgc3VzcGVjdCB0aGF0IHRoZXJlIG1pZ2h0IGJlIHNvbWV0aGluZyBoYXBwZW5pbmcgYXJvdW5kIHRoZSBlYXJseSBzdGFnZSBvciBsYXRlIHN0YWdlIG9mIHRoZSBtb2R1bGUgbGlmZSBjeWNsZS4gTGV0JiMzOTtzIHNlZSBpZiB0aGlzIGh1bmNoIGhvbGRzIGFueSB3ZWlnaHQsIEkmIzM5O2xsIHN0YXJ0IHdpdGggdGhpcyBmaWxlIGFuZCBnbyBmcm9tIHRoZXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7a2VybmVsL21vZHVsZS9tYWluLmMmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiA1NSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAyMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgIDU1Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvcGZuLmhcdTAwM2VcbiAgNTY6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9ic2VhcmNoLmhcdTAwM2VcbiAgNTc6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9keW5hbWljX2RlYnVnLmhcdTAwM2VcbiAgNTg6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9hdWRpdC5oXHUwMDNlXG4gIDU5Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvY2ZpLmhcdTAwM2VcbiAgNjA6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9jb2RldGFnLmhcdTAwM2VcbiAgNjE6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9kZWJ1Z2ZzLmhcdTAwM2VcbiAgNjI6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9leGVjbWVtLmhcdTAwM2VcbiAgNjM6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICA2NDpcdCNpbmNsdWRlIFx1MDAzY3VhcGkvbGludXgvbW9kdWxlLmhcdTAwM2VcbiAgNjU6XHQjaW5jbHVkZSBcJiMzNDtpbnRlcm5hbC5oXCYjMzQ7XG4gIDY2Olx0XG4gIDY3Olx0I2RlZmluZSBDUkVBVEVfVFJBQ0VfUE9JTlRTXG4gIDY4Olx0I2luY2x1ZGUgXHUwMDNjdHJhY2UvZXZlbnRzL21vZHVsZS5oXHUwMDNlXG4gIDY5Olx0XG4gIDcwOlx0LypcbiAgNzE6XHQgKiBNdXRleCBwcm90ZWN0czpcbiAgNzI6XHQgKiAxKSBMaXN0IG9mIG1vZHVsZXMgKGFsc28gc2FmZWx5IHJlYWRhYmxlIHdpdGhpbiBSQ1UgcmVhZCBzZWN0aW9uKSxcbiAgNzM6XHQgKiAyKSBtb2R1bGVfdXNlIGxpbmtzLFxuICA3NDpcdCAqIDMpIG1vZF90cmVlLmFkZHJfbWluL21vZF90cmVlLmFkZHJfbWF4LlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy44LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDEyNzE2CgkJCQkJCQlvdXRwdXQ6IDM1CgkJCQkJCQl0aG91Z2h0czogMjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOgoKKipEaXZpbmcgaW50byB0aGUgS2VybmVsJiMzOTtzIFN5c3RlbSBDYWxsIERlZmluaXRpb25zKioKCk9rYXksIHRpbWUgdG8gZ2V0IHRvIHRoZSBoZWFydCBvZiB0aGlzLiBNeSBndXQgZmVlbGluZyB0ZWxscyBtZSB0aGUgYW5zd2VyIEkgbmVlZCBpcyBwcm9iYWJseSBoYW5naW5nIGFyb3VuZCB0aGUgc3lzdGVtIGNhbGwgZGVmaW5pdGlvbnMuIExldCYjMzk7cyBzdGFydCB3aXRoIHRoZSBzdGFuZGFyZCBsb2NhdGlvbiwgYGluY2x1ZGUvbGludXgvc3lzY2FsbHMuaGAuIEkmIzM5O20gc3BlY2lmaWNhbGx5IGFpbWluZyBmb3IgYXJvdW5kIGxpbmUgOTIuIEhvcGVmdWxseSwgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIHJlbGV2YW50IG1hY3JvIG9yIHN0cnVjdCBkZWNsYXJhdGlvbiBJJiMzOTttIGh1bnRpbmcgZm9yLiBNeSBleHBlcmllbmNlIHRlbGxzIG1lIHRoYXQmIzM5O3MgYSBwcmltZSBzcG90IGZvciB0aGUgY29yZSBkZWZpbml0aW9ucy4gSXQmIzM5O3Mgb2Z0ZW4gd2hlcmUgdGhlIGludGVyZmFjZSB0byB0aGUgc3lzdGVtIGNhbGwgdGFibGUgaXMgZGVzY3JpYmVkIG9yLCBmYWlsaW5nIHRoYXQsIHdoZXJlIG9uZSBjYW4gZmluZCB0aGUga2V5IGRhdGEgc3RydWN0dXJlcyBpbnZvbHZlZCBpbiB0aGUgZGlzcGF0Y2hpbmcgbWVjaGFuaXNtLiBMZXQmIzM5O3Mgc2VlIHdoYXQmIzM5O3Mgd2hhdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMSAxNTo0NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaCYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDkwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDE1Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgOTA6XHQjaW5jbHVkZSBcdTAwM2Nhc20vc2lnaW5mby5oXHUwMDNlXG4gIDkxOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvdW5pc3RkLmhcdTAwM2VcbiAgOTI6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9xdW90YS5oXHUwMDNlXG4gIDkzOlx0I2luY2x1ZGUgXHUwMDNjbGludXgva2V5LmhcdTAwM2VcbiAgOTQ6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9wZXJzb25hbGl0eS5oXHUwMDNlXG4gIDk1Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAgOTY6XHQjaW5jbHVkZSBcdTAwM2N0cmFjZS9zeXNjYWxsLmhcdTAwM2VcbiAgOTc6XHRcbiAgOTg6XHQjaWZkZWYgQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBFUlxuICA5OTpcdC8qXG4gMTAwOlx0ICogSXQgbWF5IGJlIHVzZWZ1bCBmb3IgYW4gYXJjaGl0ZWN0dXJlIHRvIG92ZXJyaWRlIHRoZSBkZWZpbml0aW9ucyBvZiB0aGVcbiAxMDE6XHQgKiBTWVNDQUxMX0RFRklORTAoKSBhbmQgX19TWVNDQUxMX0RFRklORXgoKSBtYWNyb3MsIGluIHBhcnRpY3VsYXIgdG8gdXNlIGFcbiAxMDI6XHQgKiBkaWZmZXJlbnQgY2FsbGluZyBjb252ZW50aW9uIGZvciBzeXNjYWxscy4gVG8gYWxsb3cgZm9yIHRoYXQsIHRoZSBwcm90b3R5cGVzXG4gMTAzOlx0ICogZm9yIHRoZSBzeXNfKigpIGZ1bmN0aW9ucyBiZWxvdyB3aWxsICpub3QqIGJlIGluY2x1ZGVkIGlmXG4gMTA0Olx0ICogQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBFUiBpcyBlbmFibGVkLlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy44LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDEzMjExCgkJCQkJCQlvdXRwdXQ6IDM1CgkJCQkJCQl0aG91Z2h0czogMjM1CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgV29ydGhGdXp6aW5nPWZhbHNlIENyaXRlcmlhKioKCk9rYXksIGxldCYjMzk7cyBkcmlsbCBkb3duIGludG8gdGhlc2UgbmVnYXRpdmUgY3JpdGVyaWEgZm9yIGRldGVybWluaW5nIHdoZW4gYSBwYXRjaCBpc24mIzM5O3QgJiMzNDtXb3J0aEZ1enppbmcuJiMzNDsgV2UmIzM5O3JlIGxvb2tpbmcgYXQgc2NlbmFyaW9zIHdoZXJlIGEgY2hhbmdlICpzaG91bGRuJiMzOTt0KiB0cmlnZ2VyIGZ1enppbmcuIFRoZSBrZXkgaGVyZSBpcyB0byBxdWlja2x5IGlkZW50aWZ5IG1vZGlmaWNhdGlvbnMgdGhhdCBhcmUgZnVuZGFtZW50YWxseSBiZW5pZ24gZnJvbSBhIGNvZGUgZXhlY3V0aW9uIHBlcnNwZWN0aXZlLgoKUmlnaHQsIHNvIHdlJiMzOTtyZSBzdGFydGluZyB3aXRoIHRoaW5ncyBsaWtlIG5vbi1rZXJuZWwgYW5kIG5vbi1leGVjdXRhYmxlIGNoYW5nZXM6IGRvY3VtZW50YXRpb24gdXBkYXRlcywgY29tbWVudCBhZGp1c3RtZW50cywgc3BlbGxpbmcgZml4ZXPigJR0aGF0JiMzOTtzIGFsbCBvYnZpb3VzIGFuZCBzYWZlLiBVc2VyLXNwYWNlIHN0dWZmIGxpa2UgdG9vbHMsIHNhbXBsZXMsIHNjcmlwdHMgKHVuZGVyIGB0b29scy9gLCBgc2FtcGxlcy9gLCBgc2NyaXB0cy9gLCBgdXNyL2ApIHRoYXQgZG9uJiMzOTt0IHRvdWNoIHRoZSBrZXJuZWwgaW1hZ2UgKGB2bWxpbnV4YCkgb3Iga2VybmVsIG1vZHVsZXMgYXJlIGFsc28gY2xlYXJseSBleGNsdWRlZC4gUHVyZWx5IGRlY29yYXRpdmUgbG9nZ2luZywgbGlrZSBsb2cgbWVzc2FnZXMgaW4gYHByX2VycmAsIGBwcmludGtgLCBgZGV2X2luZm9gLCBvciB0cmFjZXBvaW50cywgd2hpY2ggZG9uJiMzOTt0IG1lc3Mgd2l0aCBjb250cm9sIGZsb3cgb3IgZGF0YSBzdHJ1Y3R1cmVzLCBzaG91bGQgYmUgZXhjbHVkZWQgYXMgd2VsbC4gQW5kLCBhcyBleHBlY3RlZCwgYnVpbGQgc3lzdGVtIGNoYW5nZXMgb3IgS2NvbmZpZyBtb2RpZmljYXRpb25zIHRoYXQgZG9uJiMzOTt0IHRvdWNoIHRoZSBhY3R1YWwgY29tcGlsZWQgQyBsb2dpYyBhcmUgb2ZmIHRoZSBsaXN0IHRvby4KCkJ1dC4uLiBoYW5nIG9uIGEgbWludXRlLiBXaGF0IGFib3V0IHJlb3JnYW5pemluZyBoZWFkZXIgaW5jbHVzaW9ucyB3aXRob3V0IGFsdGVyaW5nIGFueSBsb2dpYz8gTGV0JiMzOTtzIHNheSBJJiMzOTttIHNpbXBseSBzaHVmZmxpbmcgYCNpbmNsdWRlYCBkaXJlY3RpdmVzIGFyb3VuZC4gRG9lcyB0aGF0IGNoYW5nZSBhbnl0aGluZyBzaWduaWZpY2FudD8gRG9lcyAqYWRkaW5nKiBvciAqcmVtb3ZpbmcqIHNvbWV0aGluZyBsaWtlIGAjaW5jbHVkZSAmbHQ7bGludXgvZXJyb3ItaW5qZWN0aW9uLmgmZ3Q7YCB0cnVseSBsZWF2ZSB0aGUgQyBsb2dpYyB1bnRvdWNoZWQ/IEkmIzM5O20gZ2V0dGluZyBhIGxpdHRsZSB1bmVhc3kgYWJvdXQgdGhhdC4gSSBuZWVkIHRvIGJlIGFic29sdXRlbHkgc3VyZS4KCk9rYXksIGxldCYjMzk7cyBzdG9wIGFuZCByZWFsbHkgbG9vayBhdCB0aGF0IGBlcnJvci1pbmplY3Rpb24uaGAgaGVhZGVyIGZpbGUuIFdoYXQgZG9lcyBpdCBhY3R1YWxseSBjb250YWluPyBJZiBpdCYjMzk7cyAqanVzdCogbWFjcm8gZGVmaW5pdGlvbnMsIHdvdWxkIGFkZGluZyBvciByZW1vdmluZyBpdCBmcm9tIGEgZmlsZSBsaWtlIGBtb2R1bGUuaGAsIG9yIHNvbWV3aGVyZSBlbHNlLCBzdWJ0bHkgYWx0ZXIgYW55IG1hY3JvIGRlZmluaXRpb25zIG9yIGJlaGF2aW9yPyBJIG5lZWQgdG8gY2hlY2sgdGhlIGFjdHVhbCBjb250ZW50cy4gVGltZSB0byBwdWxsIHVwIGBpbmNsdWRlL2xpbnV4L2Vycm9yLWluamVjdGlvbi5oYCBhbmQgaW52ZXN0aWdhdGUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7aW5jbHVkZS9saW51eC9lcnJvci1pbmplY3Rpb24uaCYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogODAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovXG4gICAyOlx0I2lmbmRlZiBfTElOVVhfRVJST1JfSU5KRUNUSU9OX0hcbiAgIDM6XHQjZGVmaW5lIF9MSU5VWF9FUlJPUl9JTkpFQ1RJT05fSFxuICAgNDpcdFxuICAgNTpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2NvbXBpbGVyLmhcdTAwM2VcbiAgIDY6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJuby5oXHUwMDNlXG4gICA3Olx0I2luY2x1ZGUgXHUwMDNjYXNtLWdlbmVyaWMvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAgIDg6XHRcbiAgIDk6XHQjaWZkZWYgQ09ORklHX0ZVTkNUSU9OX0VSUk9SX0lOSkVDVElPTlxuICAxMDpcdFxuICAxMTpcdGV4dGVybiBib29sIHdpdGhpbl9lcnJvcl9pbmplY3Rpb25fbGlzdCh1bnNpZ25lZCBsb25nIGFkZHIpO1xuICAxMjpcdGV4dGVybiBpbnQgZ2V0X2luamVjdGFibGVfZXJyb3JfdHlwZSh1bnNpZ25lZCBsb25nIGFkZHIpO1xuICAxMzpcdFxuICAxNDpcdCNlbHNlIC8qICFDT05GSUdfRlVOQ1RJT05fRVJST1JfSU5KRUNUSU9OICovXG4gIDE1Olx0XG4gIDE2Olx0c3RhdGljIGlubGluZSBib29sIHdpdGhpbl9lcnJvcl9pbmplY3Rpb25fbGlzdCh1bnNpZ25lZCBsb25nIGFkZHIpXG4gIDE3Olx0e1xuICAxODpcdFx0cmV0dXJuIGZhbHNlO1xuICAxOTpcdH1cbiAgMjA6XHRcbiAgMjE6XHRzdGF0aWMgaW5saW5lIGludCBnZXRfaW5qZWN0YWJsZV9lcnJvcl90eXBlKHVuc2lnbmVkIGxvbmcgYWRkcilcbiAgMjI6XHR7XG4gIDIzOlx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4gIDI0Olx0fVxuICAyNTpcdFxuICAyNjpcdCNlbmRpZlxuICAyNzpcdFxuICAyODpcdCNlbmRpZiAvKiBfTElOVVhfRVJST1JfSU5KRUNUSU9OX0ggKi9cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjgtZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTQyNDUKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiAxNQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSB0YWtlIG9uIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHN1bW1hcml6ZWQgYXMgeW91IHJlcXVlc3RlZDoKCioqRGl2aW5nIGludG8gRXJyb3IgSW5qZWN0aW9uKioKCk9rYXksIHNvIEkgbmVlZCB0byBnZXQgYSBoYW5kbGUgb24gdGhlIGVycm9yIGluamVjdGlvbiBtZWNoYW5pc21zIGhlcmUuIExldCYjMzk7cyBzZWUuLi4gdGhlIGZpcnN0IGxvZ2ljYWwgc3RlcCBpcyB0byBjaGVjayBvdXQgYGFzbS1nZW5lcmljL2Vycm9yLWluamVjdGlvbi5oYC4gVGhhdCBoZWFkZXIgZmlsZSBpcyB1c3VhbGx5IHRoZSBwbGFjZSB3aGVyZSB0aGVzZSBzb3J0cyBvZiBjb3JlLCBnZW5lcmljIGVycm9yIGluamVjdGlvbiBkZWZpbml0aW9ucyBhcmUga2VwdCwgcmlnaHQ/IEkmIzM5O20gaG9waW5nIGl0JiMzOTtzIHdlbGwtZG9jdW1lbnRlZCBhbmQgcHJvdmlkZXMgYSBjbGVhciBvdmVydmlldyBvZiBob3cgdGhlIHN5c3RlbSBpcyBzdHJ1Y3R1cmVkLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgZnVuZGFtZW50YWwgYnVpbGRpbmcgYmxvY2tzIGJlZm9yZSBJIGNhbiBzdGFydCB0byBkaXNzZWN0IGFueSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMgb3IgZmlndXJlIG91dCBob3cgdGhpcyBpcyBpbnRlZ3JhdGVkIGludG8gdGhlIGxhcmdlciBjb250ZXh0LiBUaGlzIGhlYWRlciB3aWxsIGxpa2VseSBjb250YWluIHRoZSBtYWNyb3MsIGRhdGEgc3RydWN0dXJlcywgb3IgZnVuY3Rpb24gcHJvdG90eXBlcyByZWxhdGVkIHRvIGhvdyBhbmQgd2hlcmUgZXJyb3JzIGFyZSBpbmplY3RlZCBpbnRvIHRoZSBrZXJuZWwuIEl04oCZcyB0aGUgc3RhcnRpbmcgcG9pbnQgZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoaXMgcGFydGljdWxhciBtb2R1bGUgaGFuZGxlcyBpdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtpbmNsdWRlL2FzbS1nZW5lcmljL2Vycm9yLWluamVjdGlvbi5oJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiA1MAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgICAxOlx0LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi9cbiAgIDI6XHQjaWZuZGVmIF9BU01fR0VORVJJQ19FUlJPUl9JTkpFQ1RJT05fSFxuICAgMzpcdCNkZWZpbmUgX0FTTV9HRU5FUklDX0VSUk9SX0lOSkVDVElPTl9IXG4gICA0Olx0XG4gICA1Olx0I2lmIGRlZmluZWQoX19LRVJORUxfXykgXHUwMDI2XHUwMDI2ICFkZWZpbmVkKF9fQVNTRU1CTFlfXylcbiAgIDY6XHRlbnVtIHtcbiAgIDc6XHRcdEVJX0VUWVBFX05VTEwsXHRcdC8qIFJldHVybiBOVUxMIGlmIGZhaWx1cmUgKi9cbiAgIDg6XHRcdEVJX0VUWVBFX0VSUk5PLFx0XHQvKiBSZXR1cm4gLUVSUk5PIGlmIGZhaWx1cmUgKi9cbiAgIDk6XHRcdEVJX0VUWVBFX0VSUk5PX05VTEwsXHQvKiBSZXR1cm4gLUVSUk5PIG9yIE5VTEwgaWYgZmFpbHVyZSAqL1xuICAxMDpcdFx0RUlfRVRZUEVfVFJVRSxcdFx0LyogUmV0dXJuIHRydWUgaWYgZmFpbHVyZSAqL1xuICAxMTpcdH07XG4gIDEyOlx0XG4gIDEzOlx0c3RydWN0IGVycm9yX2luamVjdGlvbl9lbnRyeSB7XG4gIDE0Olx0XHR1bnNpZ25lZCBsb25nXHRhZGRyO1xuICAxNTpcdFx0aW50XHRcdGV0eXBlO1xuICAxNjpcdH07XG4gIDE3Olx0XG4gIDE4Olx0c3RydWN0IHB0X3JlZ3M7XG4gIDE5Olx0XG4gIDIwOlx0I2lmZGVmIENPTkZJR19GVU5DVElPTl9FUlJPUl9JTkpFQ1RJT05cbiAgMjE6XHQvKlxuICAyMjpcdCAqIFdoaXRlbGlzdCBnZW5lcmF0aW5nIG1hY3JvLiBTcGVjaWZ5IGZ1bmN0aW9ucyB3aGljaCBjYW4gYmUgZXJyb3ItaW5qZWN0YWJsZVxuICAyMzpcdCAqIHVzaW5nIHRoaXMgbWFjcm8uIElmIHlvdSB1bnN1cmUgd2hhdCBpcyByZXF1aXJlZCBmb3IgdGhlIGVycm9yLWluamVjdGFibGVcbiAgMjQ6XHQgKiBmdW5jdGlvbnMsIHBsZWFzZSByZWFkIERvY3VtZW50YXRpb24vZmF1bHQtaW5qZWN0aW9uL2ZhdWx0LWluamVjdGlvbi5yc3RcbiAgMjU6XHQgKiAmIzM5O0Vycm9yIEluamVjdGFibGUgRnVuY3Rpb25zJiMzOTsgc2VjdGlvbi5cbiAgMjY6XHQgKi9cbiAgMjc6XHQjZGVmaW5lIEFMTE9XX0VSUk9SX0lOSkVDVElPTihmbmFtZSwgX2V0eXBlKVx0XHRcdFx0XFxcbiAgMjg6XHRzdGF0aWMgc3RydWN0IGVycm9yX2luamVjdGlvbl9lbnRyeSBfX3VzZWRcdFx0XHRcdFxcXG4gIDI5Olx0XHRfX3NlY3Rpb24oXCYjMzQ7X2Vycm9yX2luamVjdGlvbl93aGl0ZWxpc3RcJiMzNDspXHRcdFx0XHRcXFxuICAzMDpcdFx0X2VpbF9hZGRyXyMjZm5hbWUgPSB7XHRcdFx0XHRcdFx0XFxcbiAgMzE6XHRcdFx0LmFkZHIgPSAodW5zaWduZWQgbG9uZylmbmFtZSxcdFx0XHRcdFxcXG4gIDMyOlx0XHRcdC5ldHlwZSA9IEVJX0VUWVBFXyMjX2V0eXBlLFx0XHRcdFx0XFxcbiAgMzM6XHRcdH1cbiAgMzQ6XHRcbiAgMzU6XHR2b2lkIG92ZXJyaWRlX2Z1bmN0aW9uX3dpdGhfcmV0dXJuKHN0cnVjdCBwdF9yZWdzICpyZWdzKTtcbiAgMzY6XHQjZWxzZVxuICAzNzpcdCNkZWZpbmUgQUxMT1dfRVJST1JfSU5KRUNUSU9OKGZuYW1lLCBfZXR5cGUpXG4gIDM4Olx0XG4gIDM5Olx0c3RhdGljIGlubGluZSB2b2lkIG92ZXJyaWRlX2Z1bmN0aW9uX3dpdGhfcmV0dXJuKHN0cnVjdCBwdF9yZWdzICpyZWdzKSB7IH1cbiAgNDA6XHQjZW5kaWZcbiAgNDE6XHQjZW5kaWZcbiAgNDI6XHRcbiAgNDM6XHQjZW5kaWYgLyogX0FTTV9HRU5FUklDX0VSUk9SX0lOSkVDVElPTl9IICovXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy44LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE1MTAwCgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogMjIwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgRXJyb3IgSW5qZWN0aW9uIE1lY2hhbmlzbSoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBjb2RlIGFuZCBpbW1lZGlhdGVseSBJIHNlZSBgZXJyb3ItaW5qZWN0aW9uLmhgIGRlZmluaW5nIGBBTExPV19FUlJPUl9JTkpFQ1RJT04oKWAuIE15IGluaXRpYWwgdGhvdWdodCBpcywgd2hlbiBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAgaW5jbHVkZWQgdGhhdCBoZWFkZXIsIHRoZW4gZXZlcnl0aGluZyB0aGF0IGluY2x1ZGVzIGBtb2R1bGUuaGAgYWxzbyBpbXBsaWNpdGx5IGdldHMgdGhpcyBtYWNyby4gVGhhdCYjMzk7cyBhIGNsYXNzaWMgd2F5IHRvIHByb3BhZ2F0ZSBzZXR0aW5ncywgdGhvdWdoIGl0IGNhbiBjcmVhdGUgZGVwZW5kZW5jaWVzIHRoYXQgbmVlZCB0byBiZSBjYXJlZnVsbHkgbWFuYWdlZC4KClRoZW4gSSBub3RpY2VkIHNvbWV0aGluZyBpbnRlcmVzdGluZyBpbiBgeGVfZGV2aWNlLmNgLiBPcmlnaW5hbGx5LCB0aGVyZSB3YXMgYW4gaW5jbHVkZSBmb3IgYGZhdWx0LWluamVjdC5oYCwgYW5kIG5vdyBpdCYjMzk7cyBiZWVuIHJlcGxhY2VkIHdpdGggYGVycm9yLWluamVjdGlvbi5oYC4gTXkgaW1tZWRpYXRlIGh5cG90aGVzaXMgaXMgdGhhdCB0aGVyZSB3YXMgYSBtaXgtdXAsIHBlcmhhcHMgYSBzaW1wbGUgdHlwbywgb3Igc29tZW9uZSByZWFsaXplZCB0aGV5IHJlYWxseSBuZWVkZWQgYEFMTE9XX0VSUk9SX0lOSkVDVElPTmAgd2hpY2ggaXMgZGVmaW5lZCBpbiBgZXJyb3ItaW5qZWN0aW9uLmhgLiBQZXJoYXBzIGBmYXVsdC1pbmplY3QuaGAgd2FzIGluY2x1ZGVkIGJ5IGFjY2lkZW50LgoKTm93LCBteSBuZXh0IHN0ZXAgaXMgY2xlYXI6IEkgbmVlZCB0byB2ZXJpZnkgaG93IGFuZCB3aGVyZSBgQUxMT1dfRVJST1JfSU5KRUNUSU9OYCBpcyBhY3R1YWxseSB1c2VkIHdpdGhpbiBgeGVfZGV2aWNlLmNgIG9yIG90aGVyIGZpbGVzIHRoYXQgbWlnaHQgYmUgYWZmZWN0ZWQuIEkgc2hvdWxkIGNoZWNrIHNwZWNpZmljYWxseSB3aXRoaW4gdGhlIGBkcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNgIGZpbGUgaXRzZWxmIHRvIHNlZSBpZiB0aGUgbWFjcm8gaXMgZGlyZWN0bHkgdXNlZC4gQSBxdWljayBncmVwIHdpbGwgZ2V0IG1lIHRoZSBhbnN3ZXIgSSBuZWVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMSAxNTo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtBTExPV19FUlJPUl9JTkpFQ1RJT04mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jPTQ4NT1zdHJ1Y3QgeGVfZGV2aWNlICp4ZV9kZXZpY2VfY3JlYXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYy01MTMtfVxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jOjUxNDpBTExPV19FUlJPUl9JTkpFQ1RJT04oeGVfZGV2aWNlX2NyZWF0ZSwgRVJSTk8pOyAvKiBTZWUgeGVfcGNpX3Byb2JlKCkgKi9cbmRyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYy01MTUtXG4tLVxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jPTc3Mj1pbnQgeGVfZGV2aWNlX3Byb2JlX2Vhcmx5KHN0cnVjdCB4ZV9kZXZpY2UgKnhlKVxuLS1cbmRyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYy04MzEtfVxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jOjgzMjpBTExPV19FUlJPUl9JTkpFQ1RJT04oeGVfZGV2aWNlX3Byb2JlX2Vhcmx5LCBFUlJOTyk7IC8qIFNlZSB4ZV9wY2lfcHJvYmUoKSAqL1xuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jLTgzMy1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjgtZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTU4OTkKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiA1NQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJbnZlc3RpZ2F0aW5nIHRoZSBEZXBlbmRlbmN5IG9mIGBzeXNjYWxscy5oYCBvbiBgZXJyb3ItaW5qZWN0aW9uLmhgKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBgaW5jbHVkZS9saW51eC9zeXNjYWxscy5oYCBhbmQgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhpcyBjb25uZWN0aW9uLiBXaHkgd291bGQgYSBmaWxlIGRlZmluaW5nIHN5c3RlbSBjYWxsIGludGVyZmFjZXMgcG9zc2libHkgcmVxdWlyZSBlcnJvciBpbmplY3Rpb24gbWVjaGFuaXNtcz8gVGhhdCBzZWVtcy4uLiB1bnVzdWFsLiBNeSBmaXJzdCBpbnN0aW5jdCBpcyB0byBzZWUgd2hhdCYjMzk7cyBnb2luZyBvbiB3aXRoIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gIHdpdGhpbiB0aGF0IGZpbGUgaXRzZWxmLiBMZXQmIzM5O3Mgc2VlIHdoYXQgdGhhdCBtYWNybyYjMzk7cyBkZWZpbml0aW9uIHJldmVhbHMuIFVuZGVyc3RhbmRpbmcgdGhhdCBzaG91bGQgc2hlZCBzb21lIGxpZ2h0IG9uIHRoaXMgZGVzaWduIGNob2ljZS4gUGVyaGFwcyBpdCYjMzk7cyBjb25kaXRpb25hbCBjb21waWxhdGlvbiBiYXNlZCBvbiBzb21lIGJyb2FkZXIgc3lzdGVtIGNvbmZpZ3VyYXRpb24sIG9yIG1heWJlIGl0JiMzOTtzIGp1c3QgYSBkaWFnbm9zdGljIHRvb2wuIFRpbWUgdG8gZGl2ZSBpbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7QUxMT1dfRVJST1JfSU5KRUNUSU9OJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7aW5jbHVkZS9saW51eC9zeXNjYWxscy5oJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaD0yMTI9c3RhdGljIGlubGluZSBpbnQgaXNfc3lzY2FsbF90cmFjZV9ldmVudChzdHJ1Y3QgdHJhY2VfZXZlbnRfY2FsbCAqdHBfZXZlbnQpXG4tLVxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oLTIyMS1cdGFzbWxpbmthZ2UgbG9uZyBzeXNfIyNzbmFtZSh2b2lkKTtcdFx0XHRcXFxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oOjIyMjpcdEFMTE9XX0VSUk9SX0lOSkVDVElPTihzeXNfIyNzbmFtZSwgRVJSTk8pO1x0XHRcXFxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oLTIyMy1cdGFzbWxpbmthZ2UgbG9uZyBzeXNfIyNzbmFtZSh2b2lkKVxuLS1cbmluY2x1ZGUvbGludXgvc3lzY2FsbHMuaC0yNTYtXHRcdF9fYXR0cmlidXRlX18oKGFsaWFzKF9fc3RyaW5naWZ5KF9fc2Vfc3lzIyNuYW1lKSkpKTtcdFxcXG5pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmg6MjU3Olx0QUxMT1dfRVJST1JfSU5KRUNUSU9OKHN5cyMjbmFtZSwgRVJSTk8pO1x0XHRcdFxcXG5pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmgtMjU4LVx0c3RhdGljIGlubGluZSBsb25nIF9fZG9fc3lzIyNuYW1lKF9fTUFQKHgsX19TQ19ERUNMLF9fVkFfQVJHU19fKSk7XFxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjgtZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTYzNzcKCQkJCQkJCW91dHB1dDogMzMKCQkJCQkJCXRob3VnaHRzOiAxMjcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqSW52ZXN0aWdhdGluZyB0aGUgYEFMTE9XX0VSUk9SX0lOSkVDVElPTmAgTWFjcm8qKgoKT2theSwgc28gSSYjMzk7bSBkaWdnaW5nIGludG8gdGhpcyBjb2RlIGFuZCBJJiMzOTt2ZSBqdXN0IHNwb3R0ZWQgc29tZXRoaW5nIGludGVyZXN0aW5nLiBJdCBsb29rcyBsaWtlIHRoZSBgQUxMT1dfRVJST1JfSU5KRUNUSU9OYCBtYWNybyBpcyBiZWluZyB1c2VkIHJpZ2h0IHRoZXJlIGluIHRoZSBgU1lTQ0FMTF9ERUZJTkV4YCBtYWNyb3MgZGVmaW5lZCBpbiBgaW5jbHVkZS9saW51eC9zeXNjYWxscy5oYC4gTm93LCBJIHJlY2FsbCB0aGlzIG1hY3JvIHVzZWQgdG8gYmUgc291cmNlZCB0aHJvdWdoIGBpbmNsdWRlL2xpbnV4L21vZHVsZS5oYCBvciBzb21ld2hlcmUgc2ltaWxhci4gSSByZW1lbWJlciB3aGVuIHRoZSBgaW5jbHVkZS9saW51eC9lcnJvci1pbmplY3Rpb24uaGAgd2FzIHJlbW92ZWQgZnJvbSBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAsIGNhdXNpbmcgYSByaXBwbGUgZWZmZWN0IHdoZXJlIGZpbGVzIHRoYXQgZGlkbiYjMzk7dCBpbmNsdWRlIGBtb2R1bGUuaGAgZGlyZWN0bHksIG9yIG9ubHkgaW5jbHVkZWQgYHN5c2NhbGxzLmhgLCBzdWRkZW5seSBuZWVkZWQgdG8gZXhwbGljaXRseSBpbmNsdWRlIGBlcnJvci1pbmplY3Rpb24uaGAgdG8gYWNjZXNzIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gLiBJdCB3YXMgYSBmdW4gbGl0dGxlIHJlZmFjdG9yaW5nIGV4ZXJjaXNlIGF0IHRoZSB0aW1lLCBidXQgdGhpcyBicmluZ3MgdXAgc29tZSBxdWVzdGlvbnMuIEkgaGFkIHRvIGxvb2sgYXQgYGNvbXBhdC5oYCBmb3Igc29tZSBvdGhlciBjb250ZXh0LCBzbyBsZXQmIzM5O3Mgc2VlIHdoYXQgdGhhdCBmaWxlIGNhbiB0ZWxsIHVzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE4LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMSAxNTo0NzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtBTExPV19FUlJPUl9JTkpFQ1RJT04mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtpbmNsdWRlL2xpbnV4L2NvbXBhdC5oJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvY29tcGF0LmgtNDgtXHRhc21saW5rYWdlIGxvbmcgY29tcGF0X3N5c18jI25hbWUodm9pZCk7IFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oOjQ5Olx0QUxMT1dfRVJST1JfSU5KRUNUSU9OKGNvbXBhdF9zeXNfIyNuYW1lLCBFUlJOTyk7IFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oLTUwLVx0YXNtbGlua2FnZSBsb25nIGNvbXBhdF9zeXNfIyNuYW1lKHZvaWQpXG4tLVxuaW5jbHVkZS9saW51eC9jb21wYXQuaC04MS1cdFx0X19hdHRyaWJ1dGVfXygoYWxpYXMoX19zdHJpbmdpZnkoX19zZV9jb21wYXRfc3lzIyNuYW1lKSkpKTtcdFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oOjgyOlx0QUxMT1dfRVJST1JfSU5KRUNUSU9OKGNvbXBhdF9zeXMjI25hbWUsIEVSUk5PKTtcdFx0XHRcdFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oLTgzLVx0c3RhdGljIGlubGluZSBsb25nIF9fZG9fY29tcGF0X3N5cyMjbmFtZShfX01BUCh4LF9fU0NfREVDTCxfX1ZBX0FSR1NfXykpO1xcXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzExIDE1OjQ3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy44LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE2OTYwCgkJCQkJCQlvdXRwdXQ6IDEwNwoJCQkJCQkJdGhvdWdodHM6IDIwMTIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHlzaXMgb2YgYSBIZWFkZXIgRmlsZSBSZWZhY3RvcmluZyBQYXRjaCoqCgpBbHJpZ2h0LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLiBJdCBzZWVtcyB0aGlzIHBhdGNoIGlzIGFsbCBhYm91dCB0aWR5aW5nIHVwIGhvdyBgZXJyb3ItaW5qZWN0aW9uLmhgIGlzIGluY2x1ZGVkIGluIHRoZSBrZXJuZWwuIFRoZSBjb3JlIGlkZWEgaXMgdGhhdCBwcmV2aW91c2x5LCB0aGlzIGhlYWRlciB3YXMgaW5jbHVkZWQgdGhyb3VnaCBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAsIGJ1dCBub3cgaXQmIzM5O3MgYmVpbmcgZXhwbGljaXRseSBpbmNsdWRlZCB3aGVyZSBgQUxMT1dfRVJST1JfSU5KRUNUSU9OYCBpcyBhY3R1YWxseSB1c2VkLiAgVGhlcmUmIzM5O3MgYWxzbyBhIG1pbm9yIGNvcnJlY3Rpb24gaW4gdGhlIGB4ZWAgZHJpdmVycywgc3dpdGNoaW5nIGZyb20gYGZhdWx0LWluamVjdC5oYCB0byBgZXJyb3ItaW5qZWN0aW9uLmhgIHdoZXJlIGFwcHJvcHJpYXRlLgoKTXkgcHJpbWFyeSBjb25jZXJuIGlzIHdoZXRoZXIgdGhpcyBjaGFuZ2VzIGFueSBhY3R1YWwgKmNvZGUqLiBMZXQmIzM5O3MgbG9vayBhdCB0aGUgZGlmZjogaXQmIzM5O3MgcHVyZWx5IGFib3V0IGFkZGluZyBvciByZW1vdmluZyBgI2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0O2AuICBJIHNlZSBubyBjaGFuZ2VzIHRvIGZ1bmN0aW9ucywgY29udHJvbCBmbG93LCBkYXRhIHN0cnVjdHVyZXMsIG9yIGFueSBsb2dpYyBhdCBhbGwuICBUaGUgY2hhbmdlcyBhcmUgbGltaXRlZCB0byBhIGxvbmcgbGlzdCBvZiBmaWxlcyBhZGRpbmcgdGhlIHJlbGV2YW50IGhlYWRlciwgYW5kIG9uZSBmaWxlIHdoaWNoIGlzIHJlbW92aW5nIGl0LiBObyBleGVjdXRhYmxlIGNvZGUgaGFzIGJlZW4gYWx0ZXJlZCEKCk5vdywgYXBwbHlpbmcgb3VyIHRyaWFnZSBydWxlcy4uLiAgU2VjdGlvbiAyJiMzOTtzIGNyaXRlcmlhIGZvciBXb3J0aEZ1enppbmc9ZmFsc2Ugc2VlbXMgc3BvdC1vbiBoZXJlLiBUaGlzIHBhdGNoIGlzIG5vdGhpbmcgbW9yZSB0aGFuIGhlYWRlciBmaWxlIGRlcGVuZGVuY3kgYWRqdXN0bWVudHMuIEl0JiMzOTtzIGVzc2VudGlhbGx5ICYjMzQ7bm9uLWtlcm5lbCBhbmQgbm9uLWV4ZWN1dGFibGUsJiMzNDsgZmFsbGluZyBpbnRvIHRoZSAmIzM0O0J1aWxkIHN5c3RlbSBvciBLY29uZmlnIGNoYW5nZXMgdGhhdCBkbyBub3QgYWx0ZXIgY29tcGlsZWQgQyBsb2dpYyYjMzQ7IGNhdGVnb3J5IC0gZXZlbiBpZiBpdCYjMzk7cyBub3QgYSBidWlsZCBzeXN0ZW0gY2hhbmdlICpwZXIgc2UqLCBpdCBpcyBhIGRlcGVuZGVuY3kgY2hhbmdlIHRoYXQgKmRvZXMgbm90KiBhZmZlY3QgY29tcGlsZWQgQyBsb2dpYy4KClRoZXJlZm9yZSwgYFdvcnRoRnV6emluZ2AgaXMgdW5lcXVpdm9jYWxseSBgZmFsc2VgLiBUaGUgYFJlYXNvbmluZ2Agc2hvdWxkIGV4cGxpY2l0bHkgc3RhdGUgdGhpcyAtIHRoZSBwYXRjaCBvbmx5IGludm9sdmVzIGhlYWRlciBmaWxlIGluY2x1c2lvbiBhZGp1c3RtZW50cywgc3BlY2lmaWNhbGx5IG1vdmluZyBgI2luY2x1ZGUgJmx0O2xpbnV4L2Vycm9yLWluamVjdGlvbi5oJmd0O2AgZnJvbSBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAgdG8gaW5kaXZpZHVhbCBmaWxlcyBhbmQgY29ycmVjdGluZyBpbmNsdWRlcyB3aXRoaW4gdGhlIGB4ZWAgZHJpdmVycywgd2l0aCAqbm8qIGltcGFjdCBvbiBleGVjdXRhYmxlIEMgY29kZSwgZGF0YSBzdHJ1Y3R1cmVzLCBjb250cm9sIGZsb3csIG9yIGFzc2VydGlvbnMuIGBGb2N1c1N5bWJvbHNgIHdpbGwgYmUgYW4gZW1wdHkgbGlzdCBgW11gLCBhbmQgYEVuYWJsZUNvbmZpZ3NgIHdpbGwgYWxzbyBiZSBgW11gLiBObyBuZWVkIHRvIGVuYWJsZSBhbnl0aGluZywgYXMgdGhpcyBwYXRjaCBkb2VzIG5vdCBhZGQgYW55IG5ldyBmdW5jdGlvbmFsaXR5LiBJdCYjMzk7cyBzaW1wbHkgYSBjb2RlIGNsZWFudXAuIEkmIzM5O20gY29uZmlkZW50IGluIHRoaXMgYXNzZXNzbWVudC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBzZXJpZXMgY29uc2lzdHMgc29sZWx5IG9mIGhlYWRlciBpbmNsdWRlIHJlb3JnYW5pemF0aW9uczogcmVtb3ZpbmcgJiMzOTsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZSYjMzk7IGZyb20gJiMzOTtpbmNsdWRlL2xpbnV4L21vZHVsZS5oJiMzOTsgYW5kIGFkZGluZyBkaXJlY3QgJiMzOTsjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZSYjMzk7IGRpcmVjdGl2ZXMgYWNyb3NzIHZhcmlvdXMgc291cmNlIGZpbGVzIHRoYXQgcmVseSBvbiBlcnJvciBpbmplY3Rpb24gbWFjcm9zLiBUaGVyZSBhcmUgbm8gZXhlY3V0YWJsZSBDIGxvZ2ljLCBkYXRhIHN0cnVjdHVyZSwgY29udHJvbCBmbG93LCBvciBhc3NlcnRpb24gY2hhbmdlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIHNlcmllcyBjb25zaXN0cyBzb2xlbHkgb2YgaGVhZGVyIGluY2x1ZGUgcmVvcmdhbml6YXRpb25zOiByZW1vdmluZyAmIzM5OyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlJiMzOTsgZnJvbSAmIzM5O2luY2x1ZGUvbGludXgvbW9kdWxlLmgmIzM5OyBhbmQgYWRkaW5nIGRpcmVjdCAmIzM5OyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlJiMzOTsgZGlyZWN0aXZlcyBhY3Jvc3MgdmFyaW91cyBzb3VyY2UgZmlsZXMgdGhhdCByZWx5IG9uIGVycm9yIGluamVjdGlvbiBtYWNyb3MuIFRoZXJlIGFyZSBubyBleGVjdXRhYmxlIEMgbG9naWMsIGRhdGEgc3RydWN0dXJlLCBjb250cm9sIGZsb3csIG9yIGFzc2VydGlvbiBjaGFuZ2VzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMS8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTEgMTU6NDc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPklmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjA0LjYxMzgyODM2OVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEwMDQ0NTQ2ODgyNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2UsXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHNlcmllcyBjb25zaXN0cyBzb2xlbHkgb2YgaGVhZGVyIGluY2x1ZGUgcmVvcmdhbml6YXRpb25zOiByZW1vdmluZyAnI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZScgZnJvbSAnaW5jbHVkZS9saW51eC9tb2R1bGUuaCcgYW5kIGFkZGluZyBkaXJlY3QgJyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2UnIGRpcmVjdGl2ZXMgYWNyb3NzIHZhcmlvdXMgc291cmNlIGZpbGVzIHRoYXQgcmVseSBvbiBlcnJvciBpbmplY3Rpb24gbWFjcm9zLiBUaGVyZSBhcmUgbm8gZXhlY3V0YWJsZSBDIGxvZ2ljLCBkYXRhIHN0cnVjdHVyZSwgY29udHJvbCBmbG93LCBvciBhc3NlcnRpb24gY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjA0LjYxMzgzMzA5OVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjE4MjUxNzE3NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDA2ZDA1MWU0N2ZhNjk3MGI4ZjhhZWQ5M2E1MjdmNDQ4ZmExMzhlYTBcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIEZyaSBTZXAgMTEgMTU6NDY6MDIgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvYmxvY2svYmxrLWNvcmUuYyBiL2Jsb2NrL2Jsay1jb3JlLmNcXG5pbmRleCAxOTZiY2NmMjdmNThkLi4zMjRhMmQxYmI3MjdiIDEwMDY0NFxcbi0tLSBhL2Jsb2NrL2Jsay1jb3JlLmNcXG4rKysgYi9ibG9jay9ibGstY29yZS5jXFxuQEAgLTQwLDYgKzQwLDcgQEBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BhcnRfc3RhdC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvc2NoZWQvc3lzY3RsLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9ibGstY3J5cHRvLmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gXFxuICNkZWZpbmUgQ1JFQVRFX1RSQUNFX1BPSU5UU1xcbiAjaW5jbHVkZSBcXHUwMDNjdHJhY2UvZXZlbnRzL2Jsb2NrLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jXFxuaW5kZXggN2VmOTMzOGQ2N2FiZi4uYTI4Nzg4NGMwMDQ1ZiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuY1xcbkBAIC0yMyw2ICsyMyw3IEBAXFxuICAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG4gICovXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9pMmMuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3NsYWIuaFxcdTAwM2VcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuY1xcbmluZGV4IDcwZDExMmZkNDI4N2EuLjIwNDgxMGExMWU0NjMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RyaXZlci5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RyaXZlci5jXFxuQEAgLTcsNiArNyw3IEBAXFxuICAqIGRldGFpbHMgaGVyZS5cXG4gICovXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC92Z2Ffc3dpdGNoZXJvby5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjYWNwaS92aWRlby5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2Rpc3BsYXkvZHJtX2RwX21zdF9oZWxwZXIuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuY1xcbmluZGV4IGMwZmQzNDlhNDYwMGMuLjJjM2JjN2I2N2MwZDUgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuY1xcbkBAIC0zLDYgKzMsNyBAQFxcbiAgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvblxcbiAgKi9cXG4gXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3N0cmluZ19oZWxwZXJzLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9wcmludC5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuY1xcbmluZGV4IDVjN2Y4NjJmNzEwMGEuLjJmMGUxY2I1NTc4Y2UgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmNcXG5AQCAtMyw2ICszLDggQEBcXG4gICogQ29weXJpZ2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb25cXG4gICovXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuK1xcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vaW50ZWwvaW50ZWwtZ3R0LmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vaW50ZWwvaW50ZWxfZ21kX2ludGVycnVwdF9yZWdzLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmNcXG5pbmRleCAxYzQ1NWQ4NGJmOWQ4Li4wOTFhYTMzZjYyNGFhIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmNcXG5AQCAtNCw2ICs0LDcgQEBcXG4gICovXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvY2lyY19idWYuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgva3RpbWUuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3N0cmluZ19oZWxwZXJzLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC90aW1lNjQuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmNcXG5pbmRleCBiZDA3YzcyYTY2ZmNlLi5kMzY3YTg5N2M4NmIyIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jXFxuQEAgLTMsNiArMyw3IEBAXFxuICAqIENvcHlyaWdodCDCqSAyMDE2LTIwMTkgSW50ZWwgQ29ycG9yYXRpb25cXG4gICovXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9zdHJpbmdfaGVscGVycy5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFxcImd0L2ludGVsX2d0LmhcXFwiXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jXFxuaW5kZXggN2ZhYzk3ZmUzMGE2My4uZDdjNzMxZmU5NzJiZiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuY1xcbkBAIC00LDYgKzQsNyBAQFxcbiAgKi9cXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9iaXRmaWVsZC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9maXJtd2FyZS5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvaGlnaG1lbS5oXFx1MDAzZVxcbiBcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcml2ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJpdmVyLmNcXG5pbmRleCBjZTZkMjA5NTgzMjBjLi5hZWI3YjI0YzgxYzhiIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJpdmVyLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jXFxuQEAgLTMwLDYgKzMwLDcgQEBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2FwZXJ0dXJlLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9hY3BpLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZXZpY2UuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvbW9kdWxlLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9vb20uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BjaS5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuY1xcbmluZGV4IDJmMDNmOTU5NDVmMWIuLjg0YTdkYzZhYjVkYmEgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmNcXG5AQCAtMjIsNiArMjIsOCBAQFxcbiAgKlxcbiAgKi9cXG4gXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4rXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX2NvbG9yX21nbXQuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fZHJ2LmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vaW50ZWwvcGNpX2NvbmZpZy5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jXFxuaW5kZXggMTcwZTgzYThjOWZjMy4uZTM2MGU0ZjlkOWEyZCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jXFxuQEAgLTIxLDYgKzIxLDcgQEBcXG4gICogSU4gVEhFIFNPRlRXQVJFLlxcbiAgKi9cXG4gXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BtX3J1bnRpbWUuaFxcdTAwM2VcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jXFxuaW5kZXggZWU3MzJlNTQ5NWY3ZC4uZmNlZjhkNWZjN2NhMiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNcXG5AQCAtNyw3ICs3LDcgQEBcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9hcGVydHVyZS5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvZGVsYXkuaFxcdTAwM2VcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC91bml0cy5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fY2xpZW50LmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jXFxuaW5kZXggY2QwNTNkZTNjNmI1Ni4uM2U0NmMxNDU4NGM0MiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuY1xcbkBAIC01LDYgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX2V4ZWNfcXVldWUuaFxcXCJcXG4gXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L25vc3BlYy5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fZGV2aWNlLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9nZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jXFxuaW5kZXggOGVjMjM4NjI0NzdmYy4uZTA1NTgyYWQwOThhNiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuY1xcbkBAIC02LDcgKzYsNyBAQFxcbiAjaW5jbHVkZSBcXFwieGVfZ2d0dC5oXFxcIlxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2t1bml0L3Zpc2liaWxpdHkuaFxcdTAwM2VcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9pby02NC1ub25hdG9taWMtbG8taGkuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3NpemVzLmhcXHUwMDNlXFxuIFxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjLmNcXG5pbmRleCA0Mjg2YmQwNWM2ODYxLi4zNGUyMWE3MGQ1YWQ4IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuY1xcbkBAIC01LDYgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX2d1Yy5oXFxcIlxcbiBcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvaW9wb2xsLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFxcdTAwM2VcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2Fkcy5jXFxuaW5kZXggZmY4ZWVlMzgzMWFhMi4uNDFhMmI4YzgwN2Q2OCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2Fkcy5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19hZHMuY1xcbkBAIC01LDcgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX2d1Y19hZHMuaFxcXCJcXG4gXFxuLSNpbmNsdWRlIFxcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXFx1MDAzZVxcbiBcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19jdC5jXFxuaW5kZXggZmU3MGMwZmQ4NWM1Mi4uYWM2Y2JiYWE2Y2MwYSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmNcXG5AQCAtOCw3ICs4LDcgQEBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2JpdGZpZWxkLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9jaXJjX2J1Zi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvZGVsYXkuaFxcdTAwM2VcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNja3VuaXQvc3RhdGljX3N0dWIuaFxcdTAwM2VcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jXFxuaW5kZXggNTM4ZDRkZjBmN2FhNy4uNmYwNzM5MjA0ZDllMiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19sb2cuY1xcbkBAIC01LDcgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX2d1Y19sb2cuaFxcXCJcXG4gXFxuLSNpbmNsdWRlIFxcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3V0c25hbWUuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmNcXG5pbmRleCBlZWQwYTc1MGQyZWIyLi5lNTI4ZDk1YmE3ZmVlIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfcmVsYXkuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfcmVsYXkuY1xcbkBAIC01LDcgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2JpdGZpZWxkLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZWxheS5oXFx1MDAzZVxcbi0jaW5jbHVkZSBcXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFxcdTAwM2VcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuY1xcbmluZGV4IGQ0MmUyNjNlMDYxMWUuLmFjODFmMzgyZTdkYzAgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9jbGFzc19zeXNmcy5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9jbGFzc19zeXNmcy5jXFxuQEAgLTQsNiArNCw3IEBAXFxuICAqL1xcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9rb2JqZWN0LmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9zeXNmcy5oXFx1MDAzZVxcbiBcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9ncm91cC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2VuZ2luZV9ncm91cC5jXFxuaW5kZXggMDgwNGI0MjZiNmY5ZS4uNDE4ZmY0MjdhZTMwOCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmNcXG5AQCAtMyw2ICszLDggQEBcXG4gICogQ29weXJpZ2h0IMKpIDIwMjQgSW50ZWwgQ29ycG9yYXRpb25cXG4gICovXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuK1xcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXFwieGVfYXNzZXJ0LmhcXFwiXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9tbWlvLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jXFxuaW5kZXggN2ZhMThkZmNiNWEyOC4uZDhmOGEyNDUzYmI2NSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uY1xcbkBAIC02LDYgKzYsNyBAQFxcbiAjaW5jbHVkZSBcXFwieGVfbW1pby5oXFxcIlxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2RlbGF5LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2lvLTY0LW5vbmF0b21pYy1sby1oaS5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvbWlubWF4LmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9wY2kuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX29hLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuY1xcbmluZGV4IGFiMDlkY2ZmNTg2MDkuLmIxNWM5NmUzNWZhYmYgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX29hLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuY1xcbkBAIC01LDYgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Fub25faW5vZGVzLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZWxheS5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9ub3NwZWMuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BvbGwuaFxcdTAwM2VcXG4gXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmNcXG5pbmRleCBhNTI4OWE5ZGY4ZDI1Li5jMDQ4OWE4ZDhhNjI1IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wbS5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmNcXG5AQCAtNSw3ICs1LDcgQEBcXG4gXFxuICNpbmNsdWRlIFxcXCJ4ZV9wbS5oXFxcIlxcbiBcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9wbV9ydW50aW1lLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9zdXNwZW5kLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kbWkuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHQuY1xcbmluZGV4IGEwNzMxNmE0NWQ3OWIuLjZjNmQ5YmUyNzE3ZWYgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHQuY1xcbkBAIC01LDYgKzUsOCBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX3B0LmhcXFwiXFxuIFxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuK1xcbiAjaW5jbHVkZSBcXFwicmVncy94ZV9ndHRfZGVmcy5oXFxcIlxcbiAjaW5jbHVkZSBcXFwieGVfYm8uaFxcXCJcXG4gI2luY2x1ZGUgXFxcInhlX2RldmljZS5oXFxcIlxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHhwLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHhwLmNcXG5pbmRleCAyZmVmMjc0YTU4NWU4Li4yZjM2MzJhYzIwMWFiIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9weHAuY1xcbkBAIC01LDYgKzUsOCBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX3B4cC5oXFxcIlxcbiBcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbitcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjdWFwaS9kcm0veGVfZHJtLmhcXHUwMDNlXFxuIFxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zcmlvdi5jXFxuaW5kZXggZjM4MzU4NjdmY2U1ZC4uZWMyNTRiOTUwZGFmNCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zcmlvdi5jXFxuQEAgLTMsNyArMyw3IEBAXFxuICAqIENvcHlyaWdodCDCqSAyMDIzIEludGVsIENvcnBvcmF0aW9uXFxuICAqL1xcbiBcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcXHUwMDNlXFxuIFxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3luYy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuY1xcbmluZGV4IDM3ODY2NzY4ZDY0YzIuLjcxMWRlMjJmNDk4NjQgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmNcXG5AQCAtNiw2ICs2LDcgQEBcXG4gI2luY2x1ZGUgXFxcInhlX3N5bmMuaFxcXCJcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kbWEtZmVuY2UtYXJyYXkuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgva3RocmVhZC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvc2NoZWQvbW0uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3VhY2Nlc3MuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3RpbGUuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcXG5pbmRleCA3NGQ5MjVhMzM3Yjc2Li44MTBkZmQ5OGQ4MzAwIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdGlsZS5jXFxuQEAgLTMsNyArMyw3IEBAXFxuICAqIENvcHlyaWdodCDCqSAyMDIzIEludGVsIENvcnBvcmF0aW9uXFxuICAqL1xcbiBcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX3BhZ2VtYXBfdXRpbC5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdHVuaW5nLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdHVuaW5nLmNcXG5pbmRleCBiY2VjNDBjYTJkMzVmLi5kM2QzOGI0MzgwYmVjIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuY1xcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuY1xcbkBAIC01LDYgKzUsOCBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX3R1bmluZy5oXFxcIlxcbiBcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbitcXG4gI2luY2x1ZGUgXFx1MDAzY2t1bml0L3Zpc2liaWxpdHkuaFxcdTAwM2VcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuY1xcbmluZGV4IGE4ZTZmMThjYzliNGEuLmYxNzkyNWFkNTNmNWIgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3VjX2Z3LmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuY1xcbkBAIC00LDcgKzQsNyBAQFxcbiAgKi9cXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9iaXRmaWVsZC5oXFx1MDAzZVxcbi0jaW5jbHVkZSBcXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Zpcm13YXJlLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmNcXG5pbmRleCAyMzk1MmFkODk1MWUyLi5mMDAwNTY0ZjFlNTk2IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmNcXG5AQCAtNiw2ICs2LDcgQEBcXG4gI2luY2x1ZGUgXFxcInhlX3ZtLmhcXFwiXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvZG1hLWZlbmNlLWFycmF5LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L25vc3BlYy5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fZHJ2LmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmNcXG5pbmRleCAxMzk0MzQ5NDZmOGY4Li45OGQyZmRkM2JhNmY4IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jXFxuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmNcXG5AQCAtOCw3ICs4LDcgQEBcXG4gI2luY2x1ZGUgXFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNja3VuaXQvdmlzaWJpbGl0eS5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvY29tcGlsZXJfdHlwZXMuaFxcdTAwM2VcXG4tI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuIFxcbiAjaW5jbHVkZSBcXHUwMDNjZ2VuZXJhdGVkL3hlX2RldmljZV93YV9vb2IuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2dlbmVyYXRlZC94ZV93YV9vb2IuaFxcdTAwM2VcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uY1xcbmluZGV4IGZlNjVlZDI0Njc3NWQuLjdkYTFlM2ViYzgzOTEgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmNcXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uY1xcbkBAIC01LDcgKzUsNyBAQFxcbiBcXG4gI2luY2x1ZGUgXFxcInhlX3dvcGNtLmhcXFwiXFxuIFxcbi0jaW5jbHVkZSBcXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gXFxuICNpbmNsdWRlIFxcXCJyZWdzL3hlX2d1Y19yZWdzLmhcXFwiXFxuICNpbmNsdWRlIFxcXCJ4ZV9kZXZpY2UuaFxcXCJcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmMgYi9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuY1xcbmluZGV4IGE0MTVlMDJhNmRmMWUuLmUyZDdkM2FiYTE5MzMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmNcXG4rKysgYi9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuY1xcbkBAIC0xLDUgKzEsNiBAQFxcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMFxcbiBcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvbmV0ZGV2aWNlLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NuZXQvcGt0X3NjaGVkLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NuZXQvcGt0X2Nscy5oXFx1MDAzZVxcbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2NvbXBhdC5oIGIvaW5jbHVkZS9saW51eC9jb21wYXQuaFxcbmluZGV4IDhkYTBhMTVjOTVmNGUuLmFkMzdjYTYxN2U2NWMgMTAwNjQ0XFxuLS0tIGEvaW5jbHVkZS9saW51eC9jb21wYXQuaFxcbisrKyBiL2luY2x1ZGUvbGludXgvY29tcGF0LmhcXG5AQCAtMTgsNiArMTgsNyBAQFxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvYWlvX2FiaS5oXFx1MDAzZVxcdC8qIGZvciBhaW9fY29udGV4dF90ICovXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC91YWNjZXNzLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC91bmlzdGQuaFxcdTAwM2VcXG4rI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiBcXG4gI2luY2x1ZGUgXFx1MDAzY2FzbS9jb21wYXQuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2FzbS9zaWdpbmZvLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW9kdWxlLmggYi9pbmNsdWRlL2xpbnV4L21vZHVsZS5oXFxuaW5kZXggOTZjYzk4NTY4ZWVhNS4uYjNhM2Q1ODI3Mzg0ZiAxMDA2NDRcXG4tLS0gYS9pbmNsdWRlL2xpbnV4L21vZHVsZS5oXFxuKysrIGIvaW5jbHVkZS9saW51eC9tb2R1bGUuaFxcbkBAIC0yNCw3ICsyNCw2IEBAXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9qdW1wX2xhYmVsLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9leHBvcnQuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3JidHJlZV9sYXRjaC5oXFx1MDAzZVxcbi0jaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC90cmFjZXBvaW50LWRlZnMuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3NyY3UuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3N0YXRpY19jYWxsX3R5cGVzLmhcXHUwMDNlXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaCBiL2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaFxcbmluZGV4IDg0MTNiNjI0YWQ0NzguLjU1MmQ5NzEwYTBkNTcgMTAwNjQ0XFxuLS0tIGEvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oXFxuKysrIGIvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oXFxuQEAgLTkyLDYgKzkyLDcgQEAgc3RydWN0IGZpbGVfYXR0cjtcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3F1b3RhLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9rZXkuaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BlcnNvbmFsaXR5LmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY3RyYWNlL3N5c2NhbGwuaFxcdTAwM2VcXG4gXFxuICNpZmRlZiBDT05GSUdfQVJDSF9IQVNfU1lTQ0FMTF9XUkFQUEVSXFxuZGlmZiAtLWdpdCBhL2tlcm5lbC9tb2R1bGUvbWFpbi5jIGIva2VybmVsL21vZHVsZS9tYWluLmNcXG5pbmRleCBkMGUxZTBiZDJhZDA2Li5mMTM5MmMxMDkwN2EyIDEwMDY0NFxcbi0tLSBhL2tlcm5lbC9tb2R1bGUvbWFpbi5jXFxuKysrIGIva2VybmVsL21vZHVsZS9tYWluLmNcXG5AQCAtNjAsNiArNjAsNyBAQFxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvY29kZXRhZy5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvZGVidWdmcy5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvZXhlY21lbS5oXFx1MDAzZVxcbisjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2N1YXBpL2xpbnV4L21vZHVsZS5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXFwiaW50ZXJuYWwuaFxcXCJcXG4gXFxuZGlmZiAtLWdpdCBhL25ldC9jb3JlL3NrYl9mYXVsdF9pbmplY3Rpb24uYyBiL25ldC9jb3JlL3NrYl9mYXVsdF9pbmplY3Rpb24uY1xcbmluZGV4IDQyMzVkYjZiZGZhZDUuLjJjN2Y1MTliZWY4MDAgMTAwNjQ0XFxuLS0tIGEvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jXFxuKysrIGIvbmV0L2NvcmUvc2tiX2ZhdWx0X2luamVjdGlvbi5jXFxuQEAgLTEsNiArMSw3IEBAXFxuIC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcXG4gXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZWJ1Z2ZzLmhcXHUwMDNlXFxuKyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXFx1MDAzZVxcbiAjaW5jbHVkZSBcXHUwMDNjbGludXgvbmV0ZGV2aWNlLmhcXHUwMDNlXFxuICNpbmNsdWRlIFxcdTAwM2NsaW51eC9za2J1ZmYuaFxcdTAwM2VcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTFUMTU6NDY6MDYuNzk3MTcyMzU2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiY29yZSIsIkR1cmF0aW9uIjo5ODI2MjExMDU2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggc2VyaWVzIGNvbnNpc3RzIHNvbGVseSBvZiBoZWFkZXIgaW5jbHVkZSByZW9yZ2FuaXphdGlvbnM6IHJlbW92aW5nICcjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcXHUwMDNlJyBmcm9tICdpbmNsdWRlL2xpbnV4L21vZHVsZS5oJyBhbmQgYWRkaW5nIGRpcmVjdCAnI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZScgZGlyZWN0aXZlcyBhY3Jvc3MgdmFyaW91cyBzb3VyY2UgZmlsZXMgdGhhdCByZWx5IG9uIGVycm9yIGluamVjdGlvbiBtYWNyb3MuIFRoZXJlIGFyZSBubyBleGVjdXRhYmxlIEMgbG9naWMsIGRhdGEgc3RydWN0dXJlLCBjb250cm9sIGZsb3csIG9yIGFzc2VydGlvbiBjaGFuZ2VzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIgYW5kIHNlY3VyaXR5IGVuZ2luZWVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBldmFsdWF0ZSB3aGV0aGVyIGl0IHdhcnJhbnRzIGZ1enppbmcgd2l0aCBzeXprYWxsZXIuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIGludGVybmFsIGFzc3VtcHRpb25zLiBZb3UgbXVzdCBhY3RpdmVseSB1c2UgeW91ciBjb2RlIGFjY2Vzc1xudG9vbHMgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlLCBjYWxsZXJzLCBhbmQgc3Vycm91bmRpbmcgY29udGV4dC5cblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjEuIENPUkUgVFJJQUdFIFBISUxPU09QSFlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5UaGUgZ29hbCBvZiBwYXRjaCBmdXp6aW5nIGlzIHRvIGRpc2NvdmVyIGNyYXNoZXMsIHJlZ3Jlc3Npb25zLCBleHBvc2VkIGxhdGVudCBidWdzLFxuYW5kIG5ld2x5IHRyaWdnZXJlZCBhc3NlcnRpb25zIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIHNlcmllcy5cblxuLSBSRUFDSEFCSUxJVFkgSVMgVEhFIFBSSU1BUlkgR0FURTpcbiAgRnV6emluZyBjYW4gb25seSBkaXNjb3ZlciBidWdzIGluIGNvZGUgdGhhdCBjYW4gYWN0dWFsbHkgZXhlY3V0ZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZFxuICBlbnZpcm9ubWVudHMgKEdDRSBvciBRRU1VLCB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgZGV2aWNlcyBsaWtlIFVTQiBnYWRnZXRzLCBuZXRkZXYsIHR1bi90YXApLlxuICBJZiB0aGUgbW9kaWZpZWQgY29kZSBpcyBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgKHNlZSBTZWN0aW9uIDIpLCBpdCBNVVNUIE5PVCBiZSBmdXp6ZWQsXG4gIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBhZGRzIGFzc2VydGlvbnMgb3IgY29tcGxleCBsb2dpYy5cblxuLSBETyBOT1QgQkxJTkRMWSBUUlVTVCBcIk5PIEZVTkNUSU9OQUwgQ0hBTkdFXCIgKE5GQ0kpIE9SIFwiUkVGQUNUT1JJTkdcIiBDTEFJTVM6XG4gIFBhdGNoIGF1dGhvcnMgcm91dGluZWx5IGxhYmVsIGNoYW5nZXMgYXMgXCJjbGVhbnVwc1wiLCBcInJlZmFjdG9yaW5nc1wiLCBvciBzdGF0ZVxuICBcIk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkXCIuIERvIE5PVCB0YWtlIHRoZXNlIGNsYWltcyBhdCBmYWNlIHZhbHVlLlxuICBDb2RlIHJlZmFjdG9yaW5ncyB0aGF0IHJlYXJyYW5nZSBsb2dpYywgaW50cm9kdWNlIGhlbHBlciBmdW5jdGlvbnMsIG9yIGFsdGVyIHN0YXRlIG1hbmFnZW1lbnRcbiAgaW4gY29yZSBzdWJzeXN0ZW1zIGZyZXF1ZW50bHkgaW50cm9kdWNlIHN1YnRsZSBzZW1hbnRpYyBzaGlmdHMgb3IgdW5jb3ZlciBsYXRlbnQga2VybmVsIGJ1Z3MuXG4gIElmIHJlYWNoYWJsZSBleGVjdXRhYmxlIGNvZGUgaXMgbW9kaWZpZWQgb3IgcmVmYWN0b3JlZCwgaXQgTVVTVCBiZSBmdXp6ZWQuXG5cbi0gTkVXIE9SIE1PRElGSUVEIEFTU0VSVElPTlMgSU4gUkVBQ0hBQkxFIENPREUgTVVTVCBCRSBGVVpaRUQ6XG4gIFdoZW4gYSBwYXRjaCBpbnRyb2R1Y2VzIG9yIG1vZGlmaWVzIHJ1bnRpbWUgY2hlY2tzIG9yIGFzc2VydGlvbnMgKGUuZy4sIFdBUk5fT04qLCBWTV9XQVJOX09OKixcbiAgQlVHX09OKiwgbG9ja2RlcF9hc3NlcnQqKSBpbiByZWFjaGFibGUgY29kZSBwYXRocywgaXQgZW5mb3JjZXMgbmV3IG9yIHN0cmljdGVyIGludmFyaWFudHMuXG4gIEV2ZW4gaWYgdGhlIGF1dGhvciBiZWxpZXZlcyB0aGUgaW52YXJpYW50IGFsd2F5cyBob2xkcywgZnV6emluZyBpcyBlc3NlbnRpYWwgdG8gdmVyaWZ5IHdoZXRoZXJcbiAgYW4gdW51c3VhbCBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zIGNhbiB2aW9sYXRlIGl0LlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMi4gV0hFTiBUTyBSRVRVUk4gV29ydGhGdXp6aW5nPWZhbHNlIChORUdBVElWRSBDUklURVJJQSlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIE9OTFkgSUYgYWxsIG1vZGlmaWVkIGNvZGUgZmFsbHMgc3RyaWN0bHkgaW50byBvbmUgb3IgbW9yZSBvZiB0aGVzZSBjYXRlZ29yaWVzOlxuXG4tIE5vbi1rZXJuZWwgYW5kIG5vbi1leGVjdXRhYmxlIGNoYW5nZXM6XG4gICogTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgY29tbWVudHMsIG9yIHNwZWxsaW5nIGZpeGVzLlxuICAqIFVzZXItc3BhY2UgZGlyZWN0b3JpZXMsIHNlbGYtdGVzdHMsIHNhbXBsZXMsIG9yIHNjcmlwdHMgKGUuZy4sIHRvb2xzLywgc2FtcGxlcy8sIHNjcmlwdHMvLCB1c3IvKVxuICAgIHRoYXQgZG8gbm90IGFmZmVjdCB0aGUgY29tcGlsZWQga2VybmVsIGltYWdlICh2bWxpbnV4KSBvciBrZXJuZWwgbW9kdWxlcy5cbiAgKiBQdXJlbHkgZGVjb3JhdGl2ZSBsb2dnaW5nIChlLmcuLCBtZXNzYWdlIHN0cmluZ3MgaW4gcHJfZXJyLCBwcmludGssIGRldl9pbmZvKSBvciB0cmFjZXBvaW50c1xuICAgIHRoYXQgZG8gbm90IGFsdGVyIGNvbnRyb2wgZmxvdyBvciBkYXRhIHN0cnVjdHVyZXMuXG4gICogQnVpbGQgc3lzdGVtIG9yIEtjb25maWcgY2hhbmdlcyB0aGF0IGRvIG5vdCBhbHRlciBjb21waWxlZCBDIGxvZ2ljLlxuLSBTdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmU6XG4gICogVmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoZXMsIFNtYXJ0TklDcywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICAgIGlvbmljLCBhbWRncHUpIHJlcXVpcmluZyBwaHlzaWNhbCBBU0lDL1BDSWUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRoczpcbiAgKiBEcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzICgucmVtb3ZlLCAuc2h1dGRvd24sIHBjaV91bnJlZ2lzdGVyX2RyaXZlcikgZXhlY3V0ZWQgb25seSBkdXJpbmdcbiAgICBwaHlzaWNhbCBQQ0kgaG90LXVucGx1ZyBvciBtYW51YWwgc3lzZnMgZHJpdmVyIHVuYmluZGluZy5cbiAgKiBDb2RlIHBhdGhzIGV4Y2x1c2l2ZSB0byBhcmNoaXRlY3R1cmVzIG90aGVyIHRoYW4gdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4zLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9dHJ1ZSAoUE9TSVRJVkUgQ1JJVEVSSUEpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuUmV0dXJuIFdvcnRoRnV6emluZz10cnVlIHdoZW5ldmVyIHRoZSBwYXRjaCB0b3VjaGVzIHJlYWNoYWJsZSBleGVjdXRhYmxlIGNvZGUsIGluY2x1ZGluZzpcbi0gQ29yZSBTdWJzeXN0ZW1zOlxuICAqIEFueSBsb2dpYyBtb2RpZmljYXRpb25zIGluIG1lbW9yeSBtYW5hZ2VtZW50IChtbS8pLCBzeW5jaHJvbml6YXRpb24vbG9ja2luZyAoa2VybmVsL2xvY2tpbmcvKSxcbiAgICBCUEYsIHNjaGVkdWxlciwgY29yZSBuZXR3b3JraW5nLCBWRlMsIG9yIHN5c2NhbGwgaGFuZGxpbmcuXG4tIFJlZmFjdG9yaW5ncyBhbmQgQ29kZSBDbGVhbnVwczpcbiAgKiBBbnkgcmVzdHJ1Y3R1cmluZyBvZiByZWFjaGFibGUgZGF0YSBzdHJ1Y3R1cmVzLCBoZWxwZXIgYWJzdHJhY3Rpb25zLCBvciBhbGdvcml0aG0gZmxvd3MuXG4tIFJ1bnRpbWUgQXNzZXJ0aW9ucyBhbmQgRGVmZW5zaXZlIENoZWNrczpcbiAgKiBBbnkgaW50cm9kdWN0aW9uIG9yIGFsdGVyYXRpb24gb2YgYXNzZXJ0aW9ucyAoV0FSTl9PTiosIFZNX1dBUk5fT04qLCBCVUdfT04qLCBldGMuKSBpbiByZWFjaGFibGUgcGF0aHMuXG4tIFJlYWNoYWJsZSBEcml2ZXJzIGFuZCBQcm90b2NvbHM6XG4gICogRHJpdmVycyBhY2Nlc3NpYmxlIHZpYSB2aXJ0dWFsIGJ1c2VzICh2aXJ0aW8sIFVTQiBnYWRnZXQsIGxvb3BiYWNrLCBuZXRsaW5rLCBiaW5kZXIsIHNvY2tldHMsIGV0Yy4pLlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuNC4gRVhUUkFDVElORyBGb2N1c1N5bWJvbHMgKFBSRVZFTlRJTkcgRElMVVRJT04pXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuV2hlbiBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IG11c3QgZXh0cmFjdCBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIGludG8gRm9jdXNTeW1ib2xzIHRvIGd1aWRlIHRoZSBmdXp6ZXI6XG5cbi0gQVZPSUQgVUJJUVVJVE9VUyBMSUZFQ1lDTEUgSE9ULVBBVEhTOlxuICBEbyBOT1QgbGlzdCBnZW5lcmljLCB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYWxsZWQgYnkgYWxtb3N0IGV2ZXJ5IHByb2dyYW0gaW4gdGhlIGNvcnB1c1xuICAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG86IGdlbmVyYWwgbWVtb3J5IGFsbG9jYXRvcnMgYW5kIGRlYWxsb2NhdG9ycywgcGFnZSBmYXVsdFxuICBhbmQgdHJhcCBoYW5kbGVycywgb3IgY29yZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlczsgdGhpcyBpcyBub3QgYW4gZXhoYXVzdGl2ZSBsaXN0KS5cbiAgTGlzdGluZyB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYXVzZXMgdGhlIGZ1enplciB0byBjbGFzc2lmeSB0aG91c2FuZHMgb2YgdW5yZWxhdGVkIHRlc3RzIGFzIFwiZm9jdXNlZFwiLFxuICB3aGljaCBzZXZlcmVseSBkaWx1dGVzIGZ1enppbmcgZWZmb3J0IGF3YXkgZnJvbSB0aGUgYWN0dWFsIGNoYW5nZXMuXG5cbi0gVEFSR0VUIFNQRUNJRklDIEZFQVRVUkUgTE9HSUMgQU5EIEVOVFJZUE9JTlRTOlxuICBMaXN0IGZ1bmN0aW9ucyB0aGF0IHNwZWNpZmljYWxseSBpbXBsZW1lbnQgdGhlIGxvZ2ljIGJlaW5nIGFkZGVkIG9yIGFsdGVyZWQsIG9yIGRpcmVjdCBBUEkgZW50cnlwb2ludHNcbiAgZm9yIHRoZSBzdWJzeXN0ZW0gZmVhdHVyZSB1bmRlciByZXZpZXcuXG5cbi0gSEFORExJTkcgU1RBVElDIElOTElORSBGVU5DVElPTlMgSU4gSEVBREVSUyAoLmgpOlxuICBDb21waWxlci1pbmxpbmVkIHN0YXRpYyBmdW5jdGlvbnMgKHN1Y2ggYXMgc3RhdGljIGlubGluZXMgaW4gbW0vKi5oIG9yIGluY2x1ZGUvbGludXgvKi5oKSBsYWNrXG4gIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMgaW4gdm1saW51eCBhbmQgY2Fubm90IGJlIHRhcmdldGVkIGRpcmVjdGx5IGJ5IHN5bWJvbCBjb3ZlcmFnZSBmaWx0ZXJzLlxuICBJZiB0aGUgY2hhbmdlcyBhcmUgcHJpbWFyaWx5IGluIHN0YXRpYyBpbmxpbmUgaGVscGVycywgaWRlbnRpZnkgbm9uLXN0YXRpYywgZmVhdHVyZS1zcGVjaWZpYyBjYWxsZXJcbiAgZnVuY3Rpb25zIGluIC5jIGZpbGVzIHRoYXQgZXhlcmNpc2UgdGhlbSAoYXZvaWRpbmcgdWJpcXVpdG91cyBsaWZlY3ljbGUgd3JhcHBlcnMpLlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuNS4gSURFTlRJRllJTkcgRW5hYmxlQ29uZmlnc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbklkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgY29tcGlsZSBhbmQgcmVhY2ggdGhlIG1vZGlmaWVkIGNvZGU6XG4tIEluc3BlY3QgS2NvbmZpZyBmaWxlcyBhbmQgI2lmZGVmIGd1YXJkczsgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4tIENoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncyBuZWVkZWQuXG4tIFN0cmlwIGFueSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJUYXJnZXQgYXJjaGl0ZWN0dXJlOiBhbWQ2NFxuXG5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAwNmQwNTFlNDdmYTY5NzBiOGY4YWVkOTNhNTI3ZjQ0OGZhMTM4ZWEwXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBTZXAgMTEgMTU6NDY6MDIgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9ibG9jay9ibGstY29yZS5jIGIvYmxvY2svYmxrLWNvcmUuY1xuaW5kZXggMTk2YmNjZjI3ZjU4ZC4uMzI0YTJkMWJiNzI3YiAxMDA2NDRcbi0tLSBhL2Jsb2NrL2Jsay1jb3JlLmNcbisrKyBiL2Jsb2NrL2Jsay1jb3JlLmNcbkBAIC00MCw2ICs0MCw3IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcGFydF9zdGF0LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zY2hlZC9zeXNjdGwuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2Jsay1jcnlwdG8uaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2RlZmluZSBDUkVBVEVfVFJBQ0VfUE9JTlRTXG4gI2luY2x1ZGUgXHUwMDNjdHJhY2UvZXZlbnRzL2Jsb2NrLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuY1xuaW5kZXggN2VmOTMzOGQ2N2FiZi4uYTI4Nzg4NGMwMDQ1ZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29ubmVjdG9yLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29ubmVjdG9yLmNcbkBAIC0yMyw2ICsyMyw3IEBAXG4gICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuICAqL1xuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaTJjLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9zbGFiLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmNcbmluZGV4IDcwZDExMmZkNDI4N2EuLjIwNDgxMGExMWU0NjMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuY1xuQEAgLTcsNiArNyw3IEBAXG4gICogZGV0YWlscyBoZXJlLlxuICAqL1xuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvdmdhX3N3aXRjaGVyb28uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2FjcGkvdmlkZW8uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9kaXNwbGF5L2RybV9kcF9tc3RfaGVscGVyLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jXG5pbmRleCBjMGZkMzQ5YTQ2MDBjLi4yYzNiYzdiNjdjMGQ1IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jXG5AQCAtMyw2ICszLDcgQEBcbiAgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvc3RyaW5nX2hlbHBlcnMuaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fcHJpbnQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jXG5pbmRleCA1YzdmODYyZjcxMDBhLi4yZjBlMWNiNTU3OGNlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuY1xuQEAgLTMsNiArMyw4IEBAXG4gICogQ29weXJpZ2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb25cbiAgKi9cbiBcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuK1xuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2ludGVsL2ludGVsLWd0dC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2ludGVsL2ludGVsX2dtZF9pbnRlcnJ1cHRfcmVncy5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2N0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuY1xuaW5kZXggMWM0NTVkODRiZjlkOC4uMDkxYWEzM2Y2MjRhYSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19jdC5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfY3QuY1xuQEAgLTQsNiArNCw3IEBAXG4gICovXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvY2lyY19idWYuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgva3RpbWUuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3N0cmluZ19oZWxwZXJzLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC90aW1lNjQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jXG5pbmRleCBiZDA3YzcyYTY2ZmNlLi5kMzY3YTg5N2M4NmIyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuY1xuQEAgLTMsNiArMyw3IEBAXG4gICogQ29weXJpZ2h0IMKpIDIwMTYtMjAxOSBJbnRlbCBDb3Jwb3JhdGlvblxuICAqL1xuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvc3RyaW5nX2hlbHBlcnMuaFx1MDAzZVxuIFxuICNpbmNsdWRlIFwiZ3QvaW50ZWxfZ3QuaFwiXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmNcbmluZGV4IDdmYWM5N2ZlMzBhNjMuLmQ3YzczMWZlOTcyYmYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jXG5AQCAtNCw2ICs0LDcgQEBcbiAgKi9cbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9iaXRmaWVsZC5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9maXJtd2FyZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaGlnaG1lbS5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcml2ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJpdmVyLmNcbmluZGV4IGNlNmQyMDk1ODMyMGMuLmFlYjdiMjRjODFjOGIgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RyaXZlci5jXG5AQCAtMzAsNiArMzAsNyBAQFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2FwZXJ0dXJlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9hY3BpLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kZXZpY2UuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvbW9kdWxlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9vb20uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3BjaS5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmNcbmluZGV4IDJmMDNmOTU5NDVmMWIuLjg0YTdkYzZhYjVkYmEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jXG5AQCAtMjIsNiArMjIsOCBAQFxuICAqXG4gICovXG4gXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbitcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX2NvbG9yX21nbXQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fZHJ2LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vaW50ZWwvcGNpX2NvbmZpZy5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuY1xuaW5kZXggMTcwZTgzYThjOWZjMy4uZTM2MGU0ZjlkOWEyZCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuY1xuQEAgLTIxLDYgKzIxLDcgQEBcbiAgKiBJTiBUSEUgU09GVFdBUkUuXG4gICovXG4gXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9wbV9ydW50aW1lLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuY1xuaW5kZXggZWU3MzJlNTQ5NWY3ZC4uZmNlZjhkNWZjN2NhMiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jXG5AQCAtNyw3ICs3LDcgQEBcbiBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9hcGVydHVyZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGVsYXkuaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91bml0cy5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9jbGllbnQuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9leGVjX3F1ZXVlLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZXhlY19xdWV1ZS5jXG5pbmRleCBjZDA1M2RlM2M2YjU2Li4zZTQ2YzE0NTg0YzQyIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2V4ZWNfcXVldWUuY1xuQEAgLTUsNiArNSw3IEBAXG4gXG4gI2luY2x1ZGUgXCJ4ZV9leGVjX3F1ZXVlLmhcIlxuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvbm9zcGVjLmhcdTAwM2VcbiBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX2RldmljZS5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2dndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9nZ3R0LmNcbmluZGV4IDhlYzIzODYyNDc3ZmMuLmUwNTU4MmFkMDk4YTYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ2d0dC5jXG5AQCAtNiw3ICs2LDcgQEBcbiAjaW5jbHVkZSBcInhlX2dndHQuaFwiXG4gXG4gI2luY2x1ZGUgXHUwMDNja3VuaXQvdmlzaWJpbGl0eS5oXHUwMDNlXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2lvLTY0LW5vbmF0b21pYy1sby1oaS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvc2l6ZXMuaFx1MDAzZVxuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuY1xuaW5kZXggNDI4NmJkMDVjNjg2MS4uMzRlMjFhNzBkNWFkOCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWMuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Yy5jXG5AQCAtNSw2ICs1LDcgQEBcbiBcbiAjaW5jbHVkZSBcInhlX2d1Yy5oXCJcbiBcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2lvcG9sbC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2Fkcy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19hZHMuY1xuaW5kZXggZmY4ZWVlMzgzMWFhMi4uNDFhMmI4YzgwN2Q2OCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfYWRzLmNcbkBAIC01LDcgKzUsNyBAQFxuIFxuICNpbmNsdWRlIFwieGVfZ3VjX2Fkcy5oXCJcbiBcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmNcbmluZGV4IGZlNzBjMGZkODVjNTIuLmFjNmNiYmFhNmNjMGEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2N0LmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfY3QuY1xuQEAgLTgsNyArOCw3IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYml0ZmllbGQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2NpcmNfYnVmLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9kZWxheS5oXHUwMDNlXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2t1bml0L3N0YXRpY19zdHViLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX2xvZy5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2d1Y19sb2cuY1xuaW5kZXggNTM4ZDRkZjBmN2FhNy4uNmYwNzM5MjA0ZDllMiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfbG9nLmNcbkBAIC01LDcgKzUsNyBAQFxuIFxuICNpbmNsdWRlIFwieGVfZ3VjX2xvZy5oXCJcbiBcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvdXRzbmFtZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmNcbmluZGV4IGVlZDBhNzUwZDJlYjIuLmU1MjhkOTViYTdmZWUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfZ3VjX3JlbGF5LmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9ndWNfcmVsYXkuY1xuQEAgLTUsNyArNSw3IEBAXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYml0ZmllbGQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlbGF5LmhcdTAwM2Vcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmNcbmluZGV4IGQ0MmUyNjNlMDYxMWUuLmFjODFmMzgyZTdkYzAgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2NsYXNzX3N5c2ZzLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfY2xhc3Nfc3lzZnMuY1xuQEAgLTQsNiArNCw3IEBAXG4gICovXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2tvYmplY3QuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3N5c2ZzLmhcdTAwM2VcbiBcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmNcbmluZGV4IDA4MDRiNDI2YjZmOWUuLjQxOGZmNDI3YWUzMDggMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZW5naW5lX2dyb3VwLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lbmdpbmVfZ3JvdXAuY1xuQEAgLTMsNiArMyw4IEBAXG4gICogQ29weXJpZ2h0IMKpIDIwMjQgSW50ZWwgQ29ycG9yYXRpb25cbiAgKi9cbiBcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuK1xuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXCJ4ZV9hc3NlcnQuaFwiXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX21taW8uYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9tbWlvLmNcbmluZGV4IDdmYTE4ZGZjYjVhMjguLmQ4ZjhhMjQ1M2JiNjUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfbW1pby5jXG5AQCAtNiw2ICs2LDcgQEBcbiAjaW5jbHVkZSBcInhlX21taW8uaFwiXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGVsYXkuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvaW8tNjQtbm9uYXRvbWljLWxvLWhpLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9taW5tYXguaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3BjaS5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX29hLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuY1xuaW5kZXggYWIwOWRjZmY1ODYwOS4uYjE1Yzk2ZTM1ZmFiZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9vYS5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfb2EuY1xuQEAgLTUsNiArNSw3IEBAXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYW5vbl9pbm9kZXMuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlbGF5LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L25vc3BlYy5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcG9sbC5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uY1xuaW5kZXggYTUyODlhOWRmOGQyNS4uYzA0ODlhOGQ4YTYyNSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wbS5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcG0uY1xuQEAgLTUsNyArNSw3IEBAXG4gXG4gI2luY2x1ZGUgXCJ4ZV9wbS5oXCJcbiBcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvcG1fcnVudGltZS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvc3VzcGVuZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZG1pLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHQuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wdC5jXG5pbmRleCBhMDczMTZhNDVkNzliLi42YzZkOWJlMjcxN2VmIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B0LmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9wdC5jXG5AQCAtNSw2ICs1LDggQEBcbiBcbiAjaW5jbHVkZSBcInhlX3B0LmhcIlxuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4rXG4gI2luY2x1ZGUgXCJyZWdzL3hlX2d0dF9kZWZzLmhcIlxuICNpbmNsdWRlIFwieGVfYm8uaFwiXG4gI2luY2x1ZGUgXCJ4ZV9kZXZpY2UuaFwiXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jXG5pbmRleCAyZmVmMjc0YTU4NWU4Li4yZjM2MzJhYzIwMWFiIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3B4cC5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfcHhwLmNcbkBAIC01LDYgKzUsOCBAQFxuIFxuICNpbmNsdWRlIFwieGVfcHhwLmhcIlxuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4rXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N1YXBpL2RybS94ZV9kcm0uaFx1MDAzZVxuIFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zcmlvdi5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3NyaW92LmNcbmluZGV4IGYzODM1ODY3ZmNlNWQuLmVjMjU0Yjk1MGRhZjQgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3Jpb3YuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3NyaW92LmNcbkBAIC0zLDcgKzMsNyBAQFxuICAqIENvcHlyaWdodCDCqSAyMDIzIEludGVsIENvcnBvcmF0aW9uXG4gICovXG4gXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3N5bmMuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9zeW5jLmNcbmluZGV4IDM3ODY2NzY4ZDY0YzIuLjcxMWRlMjJmNDk4NjQgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3luYy5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfc3luYy5jXG5AQCAtNiw2ICs2LDcgQEBcbiAjaW5jbHVkZSBcInhlX3N5bmMuaFwiXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZG1hLWZlbmNlLWFycmF5LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2t0aHJlYWQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3NjaGVkL21tLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91YWNjZXNzLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdGlsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3RpbGUuY1xuaW5kZXggNzRkOTI1YTMzN2I3Ni4uODEwZGZkOThkODMwMCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90aWxlLmNcbkBAIC0zLDcgKzMsNyBAQFxuICAqIENvcHlyaWdodCDCqSAyMDIzIEludGVsIENvcnBvcmF0aW9uXG4gICovXG4gXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9wYWdlbWFwX3V0aWwuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuY1xuaW5kZXggYmNlYzQwY2EyZDM1Zi4uZDNkMzhiNDM4MGJlYyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV90dW5pbmcuY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3R1bmluZy5jXG5AQCAtNSw2ICs1LDggQEBcbiBcbiAjaW5jbHVkZSBcInhlX3R1bmluZy5oXCJcbiBcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuK1xuICNpbmNsdWRlIFx1MDAzY2t1bml0L3Zpc2liaWxpdHkuaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fbWFuYWdlZC5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuY1xuaW5kZXggYThlNmYxOGNjOWI0YS4uZjE3OTI1YWQ1M2Y1YiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV91Y19mdy5jXG4rKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfdWNfZncuY1xuQEAgLTQsNyArNCw3IEBAXG4gICovXG4gXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvYml0ZmllbGQuaFx1MDAzZVxuLSNpbmNsdWRlIFx1MDAzY2xpbnV4L2ZhdWx0LWluamVjdC5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9maXJtd2FyZS5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZHJtL2RybV9tYW5hZ2VkLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfdm0uYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jXG5pbmRleCAyMzk1MmFkODk1MWUyLi5mMDAwNTY0ZjFlNTk2IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3ZtLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV92bS5jXG5AQCAtNiw2ICs2LDcgQEBcbiAjaW5jbHVkZSBcInhlX3ZtLmhcIlxuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RtYS1mZW5jZS1hcnJheS5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9ub3NwZWMuaFx1MDAzZVxuIFxuICNpbmNsdWRlIFx1MDAzY2RybS9kcm1fZHJ2LmhcdTAwM2VcbmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfd2EuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jXG5pbmRleCAxMzk0MzQ5NDZmOGY4Li45OGQyZmRkM2JhNmY4IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dhLmNcbisrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93YS5jXG5AQCAtOCw3ICs4LDcgQEBcbiAjaW5jbHVkZSBcdTAwM2Nkcm0vZHJtX21hbmFnZWQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2t1bml0L3Zpc2liaWxpdHkuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2NvbXBpbGVyX3R5cGVzLmhcdTAwM2Vcbi0jaW5jbHVkZSBcdTAwM2NsaW51eC9mYXVsdC1pbmplY3QuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjZ2VuZXJhdGVkL3hlX2RldmljZV93YV9vb2IuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2dlbmVyYXRlZC94ZV93YV9vb2IuaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV93b3BjbS5jIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmNcbmluZGV4IGZlNjVlZDI0Njc3NWQuLjdkYTFlM2ViYzgzOTEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfd29wY20uY1xuKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3hlX3dvcGNtLmNcbkBAIC01LDcgKzUsNyBAQFxuIFxuICNpbmNsdWRlIFwieGVfd29wY20uaFwiXG4gXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbisjaW5jbHVkZSBcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFx1MDAzZVxuIFxuICNpbmNsdWRlIFwicmVncy94ZV9ndWNfcmVncy5oXCJcbiAjaW5jbHVkZSBcInhlX2RldmljZS5oXCJcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuYyBiL2RyaXZlcnMvbmV0L25ldGRldnNpbS90Yy5jXG5pbmRleCBhNDE1ZTAyYTZkZjFlLi5lMmQ3ZDNhYmExOTMzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvbmV0ZGV2c2ltL3RjLmNcbisrKyBiL2RyaXZlcnMvbmV0L25ldGRldnNpbS90Yy5jXG5AQCAtMSw1ICsxLDYgQEBcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMFxuIFxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvbmV0ZGV2aWNlLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NuZXQvcGt0X3NjaGVkLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NuZXQvcGt0X2Nscy5oXHUwMDNlXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9jb21wYXQuaCBiL2luY2x1ZGUvbGludXgvY29tcGF0LmhcbmluZGV4IDhkYTBhMTVjOTVmNGUuLmFkMzdjYTYxN2U2NWMgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL2xpbnV4L2NvbXBhdC5oXG4rKysgYi9pbmNsdWRlL2xpbnV4L2NvbXBhdC5oXG5AQCAtMTgsNiArMTgsNyBAQFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2Fpb19hYmkuaFx1MDAzZVx0LyogZm9yIGFpb19jb250ZXh0X3QgKi9cbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91YWNjZXNzLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC91bmlzdGQuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gXG4gI2luY2x1ZGUgXHUwMDNjYXNtL2NvbXBhdC5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjYXNtL3NpZ2luZm8uaFx1MDAzZVxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW9kdWxlLmggYi9pbmNsdWRlL2xpbnV4L21vZHVsZS5oXG5pbmRleCA5NmNjOTg1NjhlZWE1Li5iM2EzZDU4MjczODRmIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9tb2R1bGUuaFxuKysrIGIvaW5jbHVkZS9saW51eC9tb2R1bGUuaFxuQEAgLTI0LDcgKzI0LDYgQEBcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9qdW1wX2xhYmVsLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9leHBvcnQuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3JidHJlZV9sYXRjaC5oXHUwMDNlXG4tI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC90cmFjZXBvaW50LWRlZnMuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3NyY3UuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3N0YXRpY19jYWxsX3R5cGVzLmhcdTAwM2VcbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmggYi9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmhcbmluZGV4IDg0MTNiNjI0YWQ0NzguLjU1MmQ5NzEwYTBkNTcgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmhcbisrKyBiL2luY2x1ZGUvbGludXgvc3lzY2FsbHMuaFxuQEAgLTkyLDYgKzkyLDcgQEAgc3RydWN0IGZpbGVfYXR0cjtcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9xdW90YS5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgva2V5LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9wZXJzb25hbGl0eS5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N0cmFjZS9zeXNjYWxsLmhcdTAwM2VcbiBcbiAjaWZkZWYgQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBFUlxuZGlmZiAtLWdpdCBhL2tlcm5lbC9tb2R1bGUvbWFpbi5jIGIva2VybmVsL21vZHVsZS9tYWluLmNcbmluZGV4IGQwZTFlMGJkMmFkMDYuLmYxMzkyYzEwOTA3YTIgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvbW9kdWxlL21haW4uY1xuKysrIGIva2VybmVsL21vZHVsZS9tYWluLmNcbkBAIC02MCw2ICs2MCw3IEBAXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvY29kZXRhZy5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZGVidWdmcy5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZXhlY21lbS5oXHUwMDNlXG4rI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2N1YXBpL2xpbnV4L21vZHVsZS5oXHUwMDNlXG4gI2luY2x1ZGUgXCJpbnRlcm5hbC5oXCJcbiBcbmRpZmYgLS1naXQgYS9uZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmMgYi9uZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmNcbmluZGV4IDQyMzVkYjZiZGZhZDUuLjJjN2Y1MTliZWY4MDAgMTAwNjQ0XG4tLS0gYS9uZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmNcbisrKyBiL25ldC9jb3JlL3NrYl9mYXVsdF9pbmplY3Rpb24uY1xuQEAgLTEsNiArMSw3IEBAXG4gLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuIFxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L2RlYnVnZnMuaFx1MDAzZVxuKyNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlXG4gI2luY2x1ZGUgXHUwMDNjbGludXgvZmF1bHQtaW5qZWN0LmhcdTAwM2VcbiAjaW5jbHVkZSBcdTAwM2NsaW51eC9uZXRkZXZpY2UuaFx1MDAzZVxuICNpbmNsdWRlIFx1MDAzY2xpbnV4L3NrYnVmZi5oXHUwMDNlXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMVQxNTo0NjowNi43OTcxNzQxODZaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjo5MDkzNDM4MDMwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIEtlcm5lbCBQYXRjaCBTZXJpZXM6IEhlYWRlciBGaWxlIEluY2x1c2lvbiBSZWZhY3RvcmluZyoqXG5cbk9rYXksIHNvIHRoZSB1c2VyIHdhbnRzIG1lIHRvIGV2YWx1YXRlIGEgcGF0Y2ggc2VyaWVzIGFwcGxpZWQgYXMgSEVBRCBpbiB0aGUga2VybmVsLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZ3JhYiB0aGUgY29tbWl0IG1lc3NhZ2UgYW5kIGdldCB0aGUgY29tcGxldGUgY29udGV4dCB1c2luZyBgZ2l0IGxvZ2AuIEJ1dCBob2xkIG9uLCBhbSBJIGFibGUgdG8gYWN0dWFsbHkgcnVuIGBnaXQgbG9nYCBkaXJlY3RseSwgb3IgZG8gSSBoYXZlIHNvbWUgb3RoZXIgdG9vbGluZyBhdCBteSBkaXNwb3NhbD8gTGV0J3Mgc2VlLi4uIHdoYXQgdG9vbHMgZG8gSSBoYXZlPyBJJ3ZlIGdvdCBgcmVhZC1maWxlYCwgYGNvZGVzZWFyY2gtZGlyLWluZGV4YCwgYGdyZXBwZXJgLCBhbmQgYHNldC1yZXN1bHRzYC4gUmlnaHQsIEkgZG9uJ3Qgc2VlIGFueXRoaW5nIGV4cGxpY2l0bHkgZm9yIGdpdCBvcGVyYXRpb25zLiBcblxuTGV0J3Mgc3dpdGNoIGdlYXJzIGFuZCBmb2N1cyBvbiB0aGUgZGlmZiBwcm92aWRlZC4gSXQgbG9va3MgbGlrZSBpdCBpcyBqdXN0IGAjaW5jbHVkZWAgbW9kaWZpY2F0aW9ucywgc3BlY2lmaWNhbGx5IGZvciBgbGludXgvZXJyb3ItaW5qZWN0aW9uLmhgLiBJIHNlZSBtYW55IGZpbGVzIG5vdyBpbmNsdWRlIHRoaXMgaGVhZGVyIGZpbGUsIGFuZCBJIHNlZSBhIGxvdCBvZiBpbnN0YW5jZXMgd2hlcmUgYGZhdWx0LWluamVjdC5oYCBpcyBiZWluZyByZXBsYWNlZCB3aXRoIGBlcnJvci1pbmplY3Rpb24uaGAuIFRoaXMgaW5jbHVkZXMgY2hhbmdlcyBpbiBgYmxvY2svYmxrLWNvcmUuY2AsIHNldmVyYWwgRFJNL2k5MTUgYW5kIERSTS94ZSBkcml2ZXIgZmlsZXMsIGBkcml2ZXJzL25ldC9uZXRkZXZzaW0vdGMuY2AsIHNvbWUgaGVhZGVyIGZpbGVzLCBhbmQgYGtlcm5lbC9tb2R1bGUvbWFpbi5jYCwgYW5kIGBuZXQvY29yZS9za2JfZmF1bHRfaW5qZWN0aW9uLmNgLlxuXG5Pa2F5LCB0aGUgZGlmZiBjb25maXJtcyBpdC4gVGhlIE9OTFkgY2hhbmdlIGluIGV2ZXJ5IGZpbGUgbW9kaWZpZWQgaXMgZWl0aGVyIHRoZSBhZGRpdGlvbiBvZiBgI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VgIG9yIGEgcmVwbGFjZW1lbnQgb2YgYGZhdWx0LWluamVjdC5oYCB3aXRoIGBlcnJvci1pbmplY3Rpb24uaGAuIEl0IGxvb2tzIGxpa2UgdGhlcmUncyBubyBleGVjdXRhYmxlIGNvZGUgY2hhbmdlIGhlcmUuXG5cblNvLCB3aHkgYXJlIHdlIHNlZWluZyB0aGlzPyBUaGUgcmVtb3ZhbCBvZiBgI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VgIGZyb20gYGluY2x1ZGUvbGludXgvbW9kdWxlLmhgIGlzIHRoZSBrZXkuIFByZXZpb3VzbHksIGZpbGVzIGluY2x1ZGluZyBgbW9kdWxlLmhgIGltcGxpY2l0bHkgaW5jbHVkZWQgYGVycm9yLWluamVjdGlvbi5oYC4gVGhpcyByZWZhY3RvcmluZyBpcyBsaWtlbHkgdG8gZGVjb3VwbGUgaGVhZGVyIGRlcGVuZGVuY2llcywgcHJvYmFibHkgYXMgcGFydCBvZiBhIGNsZWFudXAgb3IgbW9kdWxhcml6YXRpb24gZWZmb3J0LiBUaGUgaGVhZGVyIGlzIGJlaW5nIGluY2x1ZGVkIGV4cGxpY2l0bHkgd2hlcmUgaXQncyBhY3R1YWxseSBuZWVkZWQuIEFuZCBpbiB0aGUgRFJNL3hlIGRyaXZlciwgaXQgaXMgYmVpbmcgcmVmYWN0b3JlZCBmcm9tIGBmYXVsdC1pbmplY3QuaGAgdG8gYGVycm9yLWluamVjdGlvbi5oYC4gVGhlIGZpbGVzIGFmZmVjdGVkIGluY2x1ZGUgdGhlIHJlbGV2YW50IG1hY3Jvcywgc3VjaCBhcyBgQUxMT1dfRVJST1JfSU5KRUNUSU9OYCwgZXRjLlxuXG5MZXQgbWUgY29uZmlybSB0aGF0IEkgY2FuIGFjY2VzcyB0aGUgbGluZSB3aGVyZSB0aGUgaW5jbHVkZSB3YXMgcmVtb3ZlZCBmcm9tIGBpbmNsdWRlL2xpbnV4L21vZHVsZS5oYCBhcm91bmQgbGluZSAyNC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTAwOTAsIk91dHB1dFRva2VucyI6MzQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMjcyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTFUMTU6NDY6MTUuODkwNjE0NjY2WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTk4NzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiaW5jbHVkZS9saW51eC9tb2R1bGUuaFwiLFxuICBcIkZpcnN0TGluZVwiOiAyMCxcbiAgXCJMaW5lQ291bnRcIjogMjBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiICAyMDpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvZWxmLmhcXHUwMDNlXFxuICAyMTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvc3RyaW5naWZ5LmhcXHUwMDNlXFxuICAyMjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgva29iamVjdC5oXFx1MDAzZVxcbiAgMjM6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L21vZHVsZXBhcmFtLmhcXHUwMDNlXFxuICAyNDpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvanVtcF9sYWJlbC5oXFx1MDAzZVxcbiAgMjU6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2V4cG9ydC5oXFx1MDAzZVxcbiAgMjY6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L3JidHJlZV9sYXRjaC5oXFx1MDAzZVxcbiAgMjc6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L3RyYWNlcG9pbnQtZGVmcy5oXFx1MDAzZVxcbiAgMjg6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L3NyY3UuaFxcdTAwM2VcXG4gIDI5OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9zdGF0aWNfY2FsbF90eXBlcy5oXFx1MDAzZVxcbiAgMzA6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2R5bmFtaWNfZGVidWcuaFxcdTAwM2VcXG4gIDMxOlxcdFxcbiAgMzI6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L3BlcmNwdS5oXFx1MDAzZVxcbiAgMzM6XFx0I2luY2x1ZGUgXFx1MDAzY2FzbS9tb2R1bGUuaFxcdTAwM2VcXG4gIDM0OlxcdFxcbiAgMzU6XFx0I2RlZmluZSBNT0RVTEVfTkFNRV9MRU4gX19NT0RVTEVfTkFNRV9MRU5cXG4gIDM2OlxcdFxcbiAgMzc6XFx0c3RydWN0IG1vZHZlcnNpb25faW5mbyB7XFxuICAzODpcXHRcXHR1bnNpZ25lZCBsb25nIGNyYztcXG4gIDM5OlxcdFxcdGNoYXIgbmFtZVtNT0RVTEVfTkFNRV9MRU5dO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMVQxNTo0NjoxNS44OTA3MTY2MzZaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjoxOTUxMjY1Mzg1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkRpdmluZyBpbnRvIGBrZXJuZWwvbW9kdWxlL21haW4uY2AqKlxuXG5Pa2F5LCB0aW1lIHRvIHRyb3VibGVzaG9vdCB0aGlzIGlzc3VlLiBJJ20gZ29pbmcgdG8gc3RhcnQgYnkgdGFraW5nIGEgbG9vayBhdCBga2VybmVsL21vZHVsZS9tYWluLmNgLiBNeSBodW5jaCBpcyB0aGF0IHRoZSBwcm9ibGVtIG1pZ2h0IGJlIHJlbGF0ZWQgdG8gbW9kdWxlIGxvYWRpbmcgb3IgdW5sb2FkaW5nLCBzbyBJJ2xsIGJlIHplcm9pbmcgaW4gb24gdGhhdCBhcmVhLiBTcGVjaWZpY2FsbHksIGxldCdzIHplcm8gaW4gb24gdGhlIHZpY2luaXR5IG9mIGxpbmUgNjAuIEkgc3VzcGVjdCB0aGF0IHRoZXJlIG1pZ2h0IGJlIHNvbWV0aGluZyBoYXBwZW5pbmcgYXJvdW5kIHRoZSBlYXJseSBzdGFnZSBvciBsYXRlIHN0YWdlIG9mIHRoZSBtb2R1bGUgbGlmZSBjeWNsZS4gTGV0J3Mgc2VlIGlmIHRoaXMgaHVuY2ggaG9sZHMgYW55IHdlaWdodCwgSSdsbCBzdGFydCB3aXRoIHRoaXMgZmlsZSBhbmQgZ28gZnJvbSB0aGVyZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTIyMDEsIk91dHB1dFRva2VucyI6MzQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxOSwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjE3Ljg0MTk4Mzk2MVoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1ODcxMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJrZXJuZWwvbW9kdWxlL21haW4uY1wiLFxuICBcIkZpcnN0TGluZVwiOiA1NSxcbiAgXCJMaW5lQ291bnRcIjogMjBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiICA1NTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvcGZuLmhcXHUwMDNlXFxuICA1NjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvYnNlYXJjaC5oXFx1MDAzZVxcbiAgNTc6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2R5bmFtaWNfZGVidWcuaFxcdTAwM2VcXG4gIDU4OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9hdWRpdC5oXFx1MDAzZVxcbiAgNTk6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2NmaS5oXFx1MDAzZVxcbiAgNjA6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2NvZGV0YWcuaFxcdTAwM2VcXG4gIDYxOlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9kZWJ1Z2ZzLmhcXHUwMDNlXFxuICA2MjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvZXhlY21lbS5oXFx1MDAzZVxcbiAgNjM6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAgNjQ6XFx0I2luY2x1ZGUgXFx1MDAzY3VhcGkvbGludXgvbW9kdWxlLmhcXHUwMDNlXFxuICA2NTpcXHQjaW5jbHVkZSBcXFwiaW50ZXJuYWwuaFxcXCJcXG4gIDY2OlxcdFxcbiAgNjc6XFx0I2RlZmluZSBDUkVBVEVfVFJBQ0VfUE9JTlRTXFxuICA2ODpcXHQjaW5jbHVkZSBcXHUwMDNjdHJhY2UvZXZlbnRzL21vZHVsZS5oXFx1MDAzZVxcbiAgNjk6XFx0XFxuICA3MDpcXHQvKlxcbiAgNzE6XFx0ICogTXV0ZXggcHJvdGVjdHM6XFxuICA3MjpcXHQgKiAxKSBMaXN0IG9mIG1vZHVsZXMgKGFsc28gc2FmZWx5IHJlYWRhYmxlIHdpdGhpbiBSQ1UgcmVhZCBzZWN0aW9uKSxcXG4gIDczOlxcdCAqIDIpIG1vZHVsZV91c2UgbGlua3MsXFxuICA3NDpcXHQgKiAzKSBtb2RfdHJlZS5hZGRyX21pbi9tb2RfdHJlZS5hZGRyX21heC5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTFUMTU6NDY6MTcuODQyMTQ1MjExWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjgtZmxhc2giLCJEdXJhdGlvbiI6NTEwMzI3NTQ1NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZTpcblxuKipEaXZpbmcgaW50byB0aGUgS2VybmVsJ3MgU3lzdGVtIENhbGwgRGVmaW5pdGlvbnMqKlxuXG5Pa2F5LCB0aW1lIHRvIGdldCB0byB0aGUgaGVhcnQgb2YgdGhpcy4gTXkgZ3V0IGZlZWxpbmcgdGVsbHMgbWUgdGhlIGFuc3dlciBJIG5lZWQgaXMgcHJvYmFibHkgaGFuZ2luZyBhcm91bmQgdGhlIHN5c3RlbSBjYWxsIGRlZmluaXRpb25zLiBMZXQncyBzdGFydCB3aXRoIHRoZSBzdGFuZGFyZCBsb2NhdGlvbiwgYGluY2x1ZGUvbGludXgvc3lzY2FsbHMuaGAuIEknbSBzcGVjaWZpY2FsbHkgYWltaW5nIGZvciBhcm91bmQgbGluZSA5Mi4gSG9wZWZ1bGx5LCB0aGF0IHdpbGwgY29udGFpbiB0aGUgcmVsZXZhbnQgbWFjcm8gb3Igc3RydWN0IGRlY2xhcmF0aW9uIEknbSBodW50aW5nIGZvci4gTXkgZXhwZXJpZW5jZSB0ZWxscyBtZSB0aGF0J3MgYSBwcmltZSBzcG90IGZvciB0aGUgY29yZSBkZWZpbml0aW9ucy4gSXQncyBvZnRlbiB3aGVyZSB0aGUgaW50ZXJmYWNlIHRvIHRoZSBzeXN0ZW0gY2FsbCB0YWJsZSBpcyBkZXNjcmliZWQgb3IsIGZhaWxpbmcgdGhhdCwgd2hlcmUgb25lIGNhbiBmaW5kIHRoZSBrZXkgZGF0YSBzdHJ1Y3R1cmVzIGludm9sdmVkIGluIHRoZSBkaXNwYXRjaGluZyBtZWNoYW5pc20uIExldCdzIHNlZSB3aGF0J3Mgd2hhdC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTI3MTYsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjIyLjk0NTQyNDg5NloiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE2MTU5MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJpbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmhcIixcbiAgXCJGaXJzdExpbmVcIjogOTAsXG4gIFwiTGluZUNvdW50XCI6IDE1XG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgOTA6XFx0I2luY2x1ZGUgXFx1MDAzY2FzbS9zaWdpbmZvLmhcXHUwMDNlXFxuICA5MTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvdW5pc3RkLmhcXHUwMDNlXFxuICA5MjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvcXVvdGEuaFxcdTAwM2VcXG4gIDkzOlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9rZXkuaFxcdTAwM2VcXG4gIDk0OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9wZXJzb25hbGl0eS5oXFx1MDAzZVxcbiAgOTU6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZVxcbiAgOTY6XFx0I2luY2x1ZGUgXFx1MDAzY3RyYWNlL3N5c2NhbGwuaFxcdTAwM2VcXG4gIDk3OlxcdFxcbiAgOTg6XFx0I2lmZGVmIENPTkZJR19BUkNIX0hBU19TWVNDQUxMX1dSQVBQRVJcXG4gIDk5OlxcdC8qXFxuIDEwMDpcXHQgKiBJdCBtYXkgYmUgdXNlZnVsIGZvciBhbiBhcmNoaXRlY3R1cmUgdG8gb3ZlcnJpZGUgdGhlIGRlZmluaXRpb25zIG9mIHRoZVxcbiAxMDE6XFx0ICogU1lTQ0FMTF9ERUZJTkUwKCkgYW5kIF9fU1lTQ0FMTF9ERUZJTkV4KCkgbWFjcm9zLCBpbiBwYXJ0aWN1bGFyIHRvIHVzZSBhXFxuIDEwMjpcXHQgKiBkaWZmZXJlbnQgY2FsbGluZyBjb252ZW50aW9uIGZvciBzeXNjYWxscy4gVG8gYWxsb3cgZm9yIHRoYXQsIHRoZSBwcm90b3R5cGVzXFxuIDEwMzpcXHQgKiBmb3IgdGhlIHN5c18qKCkgZnVuY3Rpb25zIGJlbG93IHdpbGwgKm5vdCogYmUgaW5jbHVkZWQgaWZcXG4gMTA0OlxcdCAqIENPTkZJR19BUkNIX0hBU19TWVNDQUxMX1dSQVBQRVIgaXMgZW5hYmxlZC5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTFUMTU6NDY6MjIuOTQ1NTg5NDc2WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjgtZmxhc2giLCJEdXJhdGlvbiI6OTYzNTIyMTI1MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIFdvcnRoRnV6emluZz1mYWxzZSBDcml0ZXJpYSoqXG5cbk9rYXksIGxldCdzIGRyaWxsIGRvd24gaW50byB0aGVzZSBuZWdhdGl2ZSBjcml0ZXJpYSBmb3IgZGV0ZXJtaW5pbmcgd2hlbiBhIHBhdGNoIGlzbid0IFwiV29ydGhGdXp6aW5nLlwiIFdlJ3JlIGxvb2tpbmcgYXQgc2NlbmFyaW9zIHdoZXJlIGEgY2hhbmdlICpzaG91bGRuJ3QqIHRyaWdnZXIgZnV6emluZy4gVGhlIGtleSBoZXJlIGlzIHRvIHF1aWNrbHkgaWRlbnRpZnkgbW9kaWZpY2F0aW9ucyB0aGF0IGFyZSBmdW5kYW1lbnRhbGx5IGJlbmlnbiBmcm9tIGEgY29kZSBleGVjdXRpb24gcGVyc3BlY3RpdmUuXG5cblJpZ2h0LCBzbyB3ZSdyZSBzdGFydGluZyB3aXRoIHRoaW5ncyBsaWtlIG5vbi1rZXJuZWwgYW5kIG5vbi1leGVjdXRhYmxlIGNoYW5nZXM6IGRvY3VtZW50YXRpb24gdXBkYXRlcywgY29tbWVudCBhZGp1c3RtZW50cywgc3BlbGxpbmcgZml4ZXPigJR0aGF0J3MgYWxsIG9idmlvdXMgYW5kIHNhZmUuIFVzZXItc3BhY2Ugc3R1ZmYgbGlrZSB0b29scywgc2FtcGxlcywgc2NyaXB0cyAodW5kZXIgYHRvb2xzL2AsIGBzYW1wbGVzL2AsIGBzY3JpcHRzL2AsIGB1c3IvYCkgdGhhdCBkb24ndCB0b3VjaCB0aGUga2VybmVsIGltYWdlIChgdm1saW51eGApIG9yIGtlcm5lbCBtb2R1bGVzIGFyZSBhbHNvIGNsZWFybHkgZXhjbHVkZWQuIFB1cmVseSBkZWNvcmF0aXZlIGxvZ2dpbmcsIGxpa2UgbG9nIG1lc3NhZ2VzIGluIGBwcl9lcnJgLCBgcHJpbnRrYCwgYGRldl9pbmZvYCwgb3IgdHJhY2Vwb2ludHMsIHdoaWNoIGRvbid0IG1lc3Mgd2l0aCBjb250cm9sIGZsb3cgb3IgZGF0YSBzdHJ1Y3R1cmVzLCBzaG91bGQgYmUgZXhjbHVkZWQgYXMgd2VsbC4gQW5kLCBhcyBleHBlY3RlZCwgYnVpbGQgc3lzdGVtIGNoYW5nZXMgb3IgS2NvbmZpZyBtb2RpZmljYXRpb25zIHRoYXQgZG9uJ3QgdG91Y2ggdGhlIGFjdHVhbCBjb21waWxlZCBDIGxvZ2ljIGFyZSBvZmYgdGhlIGxpc3QgdG9vLlxuXG5CdXQuLi4gaGFuZyBvbiBhIG1pbnV0ZS4gV2hhdCBhYm91dCByZW9yZ2FuaXppbmcgaGVhZGVyIGluY2x1c2lvbnMgd2l0aG91dCBhbHRlcmluZyBhbnkgbG9naWM/IExldCdzIHNheSBJJ20gc2ltcGx5IHNodWZmbGluZyBgI2luY2x1ZGVgIGRpcmVjdGl2ZXMgYXJvdW5kLiBEb2VzIHRoYXQgY2hhbmdlIGFueXRoaW5nIHNpZ25pZmljYW50PyBEb2VzICphZGRpbmcqIG9yICpyZW1vdmluZyogc29tZXRoaW5nIGxpa2UgYCNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlYCB0cnVseSBsZWF2ZSB0aGUgQyBsb2dpYyB1bnRvdWNoZWQ/IEknbSBnZXR0aW5nIGEgbGl0dGxlIHVuZWFzeSBhYm91dCB0aGF0LiBJIG5lZWQgdG8gYmUgYWJzb2x1dGVseSBzdXJlLlxuXG5Pa2F5LCBsZXQncyBzdG9wIGFuZCByZWFsbHkgbG9vayBhdCB0aGF0IGBlcnJvci1pbmplY3Rpb24uaGAgaGVhZGVyIGZpbGUuIFdoYXQgZG9lcyBpdCBhY3R1YWxseSBjb250YWluPyBJZiBpdCdzICpqdXN0KiBtYWNybyBkZWZpbml0aW9ucywgd291bGQgYWRkaW5nIG9yIHJlbW92aW5nIGl0IGZyb20gYSBmaWxlIGxpa2UgYG1vZHVsZS5oYCwgb3Igc29tZXdoZXJlIGVsc2UsIHN1YnRseSBhbHRlciBhbnkgbWFjcm8gZGVmaW5pdGlvbnMgb3IgYmVoYXZpb3I/IEkgbmVlZCB0byBjaGVjayB0aGUgYWN0dWFsIGNvbnRlbnRzLiBUaW1lIHRvIHB1bGwgdXAgYGluY2x1ZGUvbGludXgvZXJyb3ItaW5qZWN0aW9uLmhgIGFuZCBpbnZlc3RpZ2F0ZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTMyMTEsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMzUsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0xMVQxNTo0NjozMi41ODA4MTMyNThaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTYyMDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwiaW5jbHVkZS9saW51eC9lcnJvci1pbmplY3Rpb24uaFwiLFxuICBcIkZpcnN0TGluZVwiOiAxLFxuICBcIkxpbmVDb3VudFwiOiA4MFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wICovXFxuICAgMjpcXHQjaWZuZGVmIF9MSU5VWF9FUlJPUl9JTkpFQ1RJT05fSFxcbiAgIDM6XFx0I2RlZmluZSBfTElOVVhfRVJST1JfSU5KRUNUSU9OX0hcXG4gICA0OlxcdFxcbiAgIDU6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2NvbXBpbGVyLmhcXHUwMDNlXFxuICAgNjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvZXJybm8uaFxcdTAwM2VcXG4gICA3OlxcdCNpbmNsdWRlIFxcdTAwM2Nhc20tZ2VuZXJpYy9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2VcXG4gICA4OlxcdFxcbiAgIDk6XFx0I2lmZGVmIENPTkZJR19GVU5DVElPTl9FUlJPUl9JTkpFQ1RJT05cXG4gIDEwOlxcdFxcbiAgMTE6XFx0ZXh0ZXJuIGJvb2wgd2l0aGluX2Vycm9yX2luamVjdGlvbl9saXN0KHVuc2lnbmVkIGxvbmcgYWRkcik7XFxuICAxMjpcXHRleHRlcm4gaW50IGdldF9pbmplY3RhYmxlX2Vycm9yX3R5cGUodW5zaWduZWQgbG9uZyBhZGRyKTtcXG4gIDEzOlxcdFxcbiAgMTQ6XFx0I2Vsc2UgLyogIUNPTkZJR19GVU5DVElPTl9FUlJPUl9JTkpFQ1RJT04gKi9cXG4gIDE1OlxcdFxcbiAgMTY6XFx0c3RhdGljIGlubGluZSBib29sIHdpdGhpbl9lcnJvcl9pbmplY3Rpb25fbGlzdCh1bnNpZ25lZCBsb25nIGFkZHIpXFxuICAxNzpcXHR7XFxuICAxODpcXHRcXHRyZXR1cm4gZmFsc2U7XFxuICAxOTpcXHR9XFxuICAyMDpcXHRcXG4gIDIxOlxcdHN0YXRpYyBpbmxpbmUgaW50IGdldF9pbmplY3RhYmxlX2Vycm9yX3R5cGUodW5zaWduZWQgbG9uZyBhZGRyKVxcbiAgMjI6XFx0e1xcbiAgMjM6XFx0XFx0cmV0dXJuIC1FT1BOT1RTVVBQO1xcbiAgMjQ6XFx0fVxcbiAgMjU6XFx0XFxuICAyNjpcXHQjZW5kaWZcXG4gIDI3OlxcdFxcbiAgMjg6XFx0I2VuZGlmIC8qIF9MSU5VWF9FUlJPUl9JTkpFQ1RJT05fSCAqL1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMVQxNTo0NjozMi41ODA5MTM3NzhaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjgtZmxhc2giLCJEdXJhdGlvbiI6ODY2MzYzNjc2MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRha2Ugb24gdGhlIHRob3VnaHQgcHJvY2Vzcywgc3VtbWFyaXplZCBhcyB5b3UgcmVxdWVzdGVkOlxuXG4qKkRpdmluZyBpbnRvIEVycm9yIEluamVjdGlvbioqXG5cbk9rYXksIHNvIEkgbmVlZCB0byBnZXQgYSBoYW5kbGUgb24gdGhlIGVycm9yIGluamVjdGlvbiBtZWNoYW5pc21zIGhlcmUuIExldCdzIHNlZS4uLiB0aGUgZmlyc3QgbG9naWNhbCBzdGVwIGlzIHRvIGNoZWNrIG91dCBgYXNtLWdlbmVyaWMvZXJyb3ItaW5qZWN0aW9uLmhgLiBUaGF0IGhlYWRlciBmaWxlIGlzIHVzdWFsbHkgdGhlIHBsYWNlIHdoZXJlIHRoZXNlIHNvcnRzIG9mIGNvcmUsIGdlbmVyaWMgZXJyb3IgaW5qZWN0aW9uIGRlZmluaXRpb25zIGFyZSBrZXB0LCByaWdodD8gSSdtIGhvcGluZyBpdCdzIHdlbGwtZG9jdW1lbnRlZCBhbmQgcHJvdmlkZXMgYSBjbGVhciBvdmVydmlldyBvZiBob3cgdGhlIHN5c3RlbSBpcyBzdHJ1Y3R1cmVkLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgZnVuZGFtZW50YWwgYnVpbGRpbmcgYmxvY2tzIGJlZm9yZSBJIGNhbiBzdGFydCB0byBkaXNzZWN0IGFueSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMgb3IgZmlndXJlIG91dCBob3cgdGhpcyBpcyBpbnRlZ3JhdGVkIGludG8gdGhlIGxhcmdlciBjb250ZXh0LiBUaGlzIGhlYWRlciB3aWxsIGxpa2VseSBjb250YWluIHRoZSBtYWNyb3MsIGRhdGEgc3RydWN0dXJlcywgb3IgZnVuY3Rpb24gcHJvdG90eXBlcyByZWxhdGVkIHRvIGhvdyBhbmQgd2hlcmUgZXJyb3JzIGFyZSBpbmplY3RlZCBpbnRvIHRoZSBrZXJuZWwuIEl04oCZcyB0aGUgc3RhcnRpbmcgcG9pbnQgZm9yIHVuZGVyc3RhbmRpbmcgaG93IHRoaXMgcGFydGljdWxhciBtb2R1bGUgaGFuZGxlcyBpdC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTQyNDUsIk91dHB1dFRva2VucyI6MzcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNSwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjQxLjI0NDU1NDI4OFoiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5MjY5MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJpbmNsdWRlL2FzbS1nZW5lcmljL2Vycm9yLWluamVjdGlvbi5oXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDUwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi9cXG4gICAyOlxcdCNpZm5kZWYgX0FTTV9HRU5FUklDX0VSUk9SX0lOSkVDVElPTl9IXFxuICAgMzpcXHQjZGVmaW5lIF9BU01fR0VORVJJQ19FUlJPUl9JTkpFQ1RJT05fSFxcbiAgIDQ6XFx0XFxuICAgNTpcXHQjaWYgZGVmaW5lZChfX0tFUk5FTF9fKSBcXHUwMDI2XFx1MDAyNiAhZGVmaW5lZChfX0FTU0VNQkxZX18pXFxuICAgNjpcXHRlbnVtIHtcXG4gICA3OlxcdFxcdEVJX0VUWVBFX05VTEwsXFx0XFx0LyogUmV0dXJuIE5VTEwgaWYgZmFpbHVyZSAqL1xcbiAgIDg6XFx0XFx0RUlfRVRZUEVfRVJSTk8sXFx0XFx0LyogUmV0dXJuIC1FUlJOTyBpZiBmYWlsdXJlICovXFxuICAgOTpcXHRcXHRFSV9FVFlQRV9FUlJOT19OVUxMLFxcdC8qIFJldHVybiAtRVJSTk8gb3IgTlVMTCBpZiBmYWlsdXJlICovXFxuICAxMDpcXHRcXHRFSV9FVFlQRV9UUlVFLFxcdFxcdC8qIFJldHVybiB0cnVlIGlmIGZhaWx1cmUgKi9cXG4gIDExOlxcdH07XFxuICAxMjpcXHRcXG4gIDEzOlxcdHN0cnVjdCBlcnJvcl9pbmplY3Rpb25fZW50cnkge1xcbiAgMTQ6XFx0XFx0dW5zaWduZWQgbG9uZ1xcdGFkZHI7XFxuICAxNTpcXHRcXHRpbnRcXHRcXHRldHlwZTtcXG4gIDE2OlxcdH07XFxuICAxNzpcXHRcXG4gIDE4OlxcdHN0cnVjdCBwdF9yZWdzO1xcbiAgMTk6XFx0XFxuICAyMDpcXHQjaWZkZWYgQ09ORklHX0ZVTkNUSU9OX0VSUk9SX0lOSkVDVElPTlxcbiAgMjE6XFx0LypcXG4gIDIyOlxcdCAqIFdoaXRlbGlzdCBnZW5lcmF0aW5nIG1hY3JvLiBTcGVjaWZ5IGZ1bmN0aW9ucyB3aGljaCBjYW4gYmUgZXJyb3ItaW5qZWN0YWJsZVxcbiAgMjM6XFx0ICogdXNpbmcgdGhpcyBtYWNyby4gSWYgeW91IHVuc3VyZSB3aGF0IGlzIHJlcXVpcmVkIGZvciB0aGUgZXJyb3ItaW5qZWN0YWJsZVxcbiAgMjQ6XFx0ICogZnVuY3Rpb25zLCBwbGVhc2UgcmVhZCBEb2N1bWVudGF0aW9uL2ZhdWx0LWluamVjdGlvbi9mYXVsdC1pbmplY3Rpb24ucnN0XFxuICAyNTpcXHQgKiAnRXJyb3IgSW5qZWN0YWJsZSBGdW5jdGlvbnMnIHNlY3Rpb24uXFxuICAyNjpcXHQgKi9cXG4gIDI3OlxcdCNkZWZpbmUgQUxMT1dfRVJST1JfSU5KRUNUSU9OKGZuYW1lLCBfZXR5cGUpXFx0XFx0XFx0XFx0XFxcXFxcbiAgMjg6XFx0c3RhdGljIHN0cnVjdCBlcnJvcl9pbmplY3Rpb25fZW50cnkgX191c2VkXFx0XFx0XFx0XFx0XFxcXFxcbiAgMjk6XFx0XFx0X19zZWN0aW9uKFxcXCJfZXJyb3JfaW5qZWN0aW9uX3doaXRlbGlzdFxcXCIpXFx0XFx0XFx0XFx0XFxcXFxcbiAgMzA6XFx0XFx0X2VpbF9hZGRyXyMjZm5hbWUgPSB7XFx0XFx0XFx0XFx0XFx0XFx0XFxcXFxcbiAgMzE6XFx0XFx0XFx0LmFkZHIgPSAodW5zaWduZWQgbG9uZylmbmFtZSxcXHRcXHRcXHRcXHRcXFxcXFxuICAzMjpcXHRcXHRcXHQuZXR5cGUgPSBFSV9FVFlQRV8jI19ldHlwZSxcXHRcXHRcXHRcXHRcXFxcXFxuICAzMzpcXHRcXHR9XFxuICAzNDpcXHRcXG4gIDM1OlxcdHZvaWQgb3ZlcnJpZGVfZnVuY3Rpb25fd2l0aF9yZXR1cm4oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpO1xcbiAgMzY6XFx0I2Vsc2VcXG4gIDM3OlxcdCNkZWZpbmUgQUxMT1dfRVJST1JfSU5KRUNUSU9OKGZuYW1lLCBfZXR5cGUpXFxuICAzODpcXHRcXG4gIDM5OlxcdHN0YXRpYyBpbmxpbmUgdm9pZCBvdmVycmlkZV9mdW5jdGlvbl93aXRoX3JldHVybihzdHJ1Y3QgcHRfcmVncyAqcmVncykgeyB9XFxuICA0MDpcXHQjZW5kaWZcXG4gIDQxOlxcdCNlbmRpZlxcbiAgNDI6XFx0XFxuICA0MzpcXHQjZW5kaWYgLyogX0FTTV9HRU5FUklDX0VSUk9SX0lOSkVDVElPTl9IICovXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ2OjQxLjI0NDY0OTU3OFoiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjo0MDA2NzA0Njk4NCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEVycm9yIEluamVjdGlvbiBNZWNoYW5pc20qKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIGNvZGUgYW5kIGltbWVkaWF0ZWx5IEkgc2VlIGBlcnJvci1pbmplY3Rpb24uaGAgZGVmaW5pbmcgYEFMTE9XX0VSUk9SX0lOSkVDVElPTigpYC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCB3aGVuIGBpbmNsdWRlL2xpbnV4L21vZHVsZS5oYCBpbmNsdWRlZCB0aGF0IGhlYWRlciwgdGhlbiBldmVyeXRoaW5nIHRoYXQgaW5jbHVkZXMgYG1vZHVsZS5oYCBhbHNvIGltcGxpY2l0bHkgZ2V0cyB0aGlzIG1hY3JvLiBUaGF0J3MgYSBjbGFzc2ljIHdheSB0byBwcm9wYWdhdGUgc2V0dGluZ3MsIHRob3VnaCBpdCBjYW4gY3JlYXRlIGRlcGVuZGVuY2llcyB0aGF0IG5lZWQgdG8gYmUgY2FyZWZ1bGx5IG1hbmFnZWQuXG5cblRoZW4gSSBub3RpY2VkIHNvbWV0aGluZyBpbnRlcmVzdGluZyBpbiBgeGVfZGV2aWNlLmNgLiBPcmlnaW5hbGx5LCB0aGVyZSB3YXMgYW4gaW5jbHVkZSBmb3IgYGZhdWx0LWluamVjdC5oYCwgYW5kIG5vdyBpdCdzIGJlZW4gcmVwbGFjZWQgd2l0aCBgZXJyb3ItaW5qZWN0aW9uLmhgLiBNeSBpbW1lZGlhdGUgaHlwb3RoZXNpcyBpcyB0aGF0IHRoZXJlIHdhcyBhIG1peC11cCwgcGVyaGFwcyBhIHNpbXBsZSB0eXBvLCBvciBzb21lb25lIHJlYWxpemVkIHRoZXkgcmVhbGx5IG5lZWRlZCBgQUxMT1dfRVJST1JfSU5KRUNUSU9OYCB3aGljaCBpcyBkZWZpbmVkIGluIGBlcnJvci1pbmplY3Rpb24uaGAuIFBlcmhhcHMgYGZhdWx0LWluamVjdC5oYCB3YXMgaW5jbHVkZWQgYnkgYWNjaWRlbnQuXG5cbk5vdywgbXkgbmV4dCBzdGVwIGlzIGNsZWFyOiBJIG5lZWQgdG8gdmVyaWZ5IGhvdyBhbmQgd2hlcmUgYEFMTE9XX0VSUk9SX0lOSkVDVElPTmAgaXMgYWN0dWFsbHkgdXNlZCB3aXRoaW4gYHhlX2RldmljZS5jYCBvciBvdGhlciBmaWxlcyB0aGF0IG1pZ2h0IGJlIGFmZmVjdGVkLiBJIHNob3VsZCBjaGVjayBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBgZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jYCBmaWxlIGl0c2VsZiB0byBzZWUgaWYgdGhlIG1hY3JvIGlzIGRpcmVjdGx5IHVzZWQuIEEgcXVpY2sgZ3JlcCB3aWxsIGdldCBtZSB0aGUgYW5zd2VyIEkgbmVlZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTUxMDAsIk91dHB1dFRva2VucyI6MzksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMjAsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0xMVQxNTo0NzoyMS4zMTE2OTkzMjJaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ1NjQ4MjUyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIkFMTE9XX0VSUk9SX0lOSkVDVElPTlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jPTQ4NT1zdHJ1Y3QgeGVfZGV2aWNlICp4ZV9kZXZpY2VfY3JlYXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxcbi0tXFxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jLTUxMy19XFxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jOjUxNDpBTExPV19FUlJPUl9JTkpFQ1RJT04oeGVfZGV2aWNlX2NyZWF0ZSwgRVJSTk8pOyAvKiBTZWUgeGVfcGNpX3Byb2JlKCkgKi9cXG5kcml2ZXJzL2dwdS9kcm0veGUveGVfZGV2aWNlLmMtNTE1LVxcbi0tXFxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jPTc3Mj1pbnQgeGVfZGV2aWNlX3Byb2JlX2Vhcmx5KHN0cnVjdCB4ZV9kZXZpY2UgKnhlKVxcbi0tXFxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jLTgzMS19XFxuZHJpdmVycy9ncHUvZHJtL3hlL3hlX2RldmljZS5jOjgzMjpBTExPV19FUlJPUl9JTkpFQ1RJT04oeGVfZGV2aWNlX3Byb2JlX2Vhcmx5LCBFUlJOTyk7IC8qIFNlZSB4ZV9wY2lfcHJvYmUoKSAqL1xcbmRyaXZlcnMvZ3B1L2RybS94ZS94ZV9kZXZpY2UuYy04MzMtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjIxLjM1NzM1NTA0NVoiLCJTZXEiOjE1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjoyMTg3OTM5ODc3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgdGhlIERlcGVuZGVuY3kgb2YgYHN5c2NhbGxzLmhgIG9uIGBlcnJvci1pbmplY3Rpb24uaGAqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCBgaW5jbHVkZS9saW51eC9zeXNjYWxscy5oYCBhbmQgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhpcyBjb25uZWN0aW9uLiBXaHkgd291bGQgYSBmaWxlIGRlZmluaW5nIHN5c3RlbSBjYWxsIGludGVyZmFjZXMgcG9zc2libHkgcmVxdWlyZSBlcnJvciBpbmplY3Rpb24gbWVjaGFuaXNtcz8gVGhhdCBzZWVtcy4uLiB1bnVzdWFsLiBNeSBmaXJzdCBpbnN0aW5jdCBpcyB0byBzZWUgd2hhdCdzIGdvaW5nIG9uIHdpdGggYEFMTE9XX0VSUk9SX0lOSkVDVElPTmAgd2l0aGluIHRoYXQgZmlsZSBpdHNlbGYuIExldCdzIHNlZSB3aGF0IHRoYXQgbWFjcm8ncyBkZWZpbml0aW9uIHJldmVhbHMuIFVuZGVyc3RhbmRpbmcgdGhhdCBzaG91bGQgc2hlZCBzb21lIGxpZ2h0IG9uIHRoaXMgZGVzaWduIGNob2ljZS4gUGVyaGFwcyBpdCdzIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIGJhc2VkIG9uIHNvbWUgYnJvYWRlciBzeXN0ZW0gY29uZmlndXJhdGlvbiwgb3IgbWF5YmUgaXQncyBqdXN0IGEgZGlhZ25vc3RpYyB0b29sLiBUaW1lIHRvIGRpdmUgaW4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE1ODk5LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDktMTFUMTU6NDc6MjMuNTQ1Mjk5MTQxWiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NzYxNzc4MiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJBTExPV19FUlJPUl9JTkpFQ1RJT05cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiaW5jbHVkZS9saW51eC9zeXNjYWxscy5oXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImluY2x1ZGUvbGludXgvc3lzY2FsbHMuaD0yMTI9c3RhdGljIGlubGluZSBpbnQgaXNfc3lzY2FsbF90cmFjZV9ldmVudChzdHJ1Y3QgdHJhY2VfZXZlbnRfY2FsbCAqdHBfZXZlbnQpXFxuLS1cXG5pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmgtMjIxLVxcdGFzbWxpbmthZ2UgbG9uZyBzeXNfIyNzbmFtZSh2b2lkKTtcXHRcXHRcXHRcXFxcXFxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oOjIyMjpcXHRBTExPV19FUlJPUl9JTkpFQ1RJT04oc3lzXyMjc25hbWUsIEVSUk5PKTtcXHRcXHRcXFxcXFxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oLTIyMy1cXHRhc21saW5rYWdlIGxvbmcgc3lzXyMjc25hbWUodm9pZClcXG4tLVxcbmluY2x1ZGUvbGludXgvc3lzY2FsbHMuaC0yNTYtXFx0XFx0X19hdHRyaWJ1dGVfXygoYWxpYXMoX19zdHJpbmdpZnkoX19zZV9zeXMjI25hbWUpKSkpO1xcdFxcXFxcXG5pbmNsdWRlL2xpbnV4L3N5c2NhbGxzLmg6MjU3OlxcdEFMTE9XX0VSUk9SX0lOSkVDVElPTihzeXMjI25hbWUsIEVSUk5PKTtcXHRcXHRcXHRcXFxcXFxuaW5jbHVkZS9saW51eC9zeXNjYWxscy5oLTI1OC1cXHRzdGF0aWMgaW5saW5lIGxvbmcgX19kb19zeXMjI25hbWUoX19NQVAoeCxfX1NDX0RFQ0wsX19WQV9BUkdTX18pKTtcXFxcXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjIzLjU5MjkyMzE4M1oiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjo3Mjk3Njk0NTcxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgdGhlIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gIE1hY3JvKipcblxuT2theSwgc28gSSdtIGRpZ2dpbmcgaW50byB0aGlzIGNvZGUgYW5kIEkndmUganVzdCBzcG90dGVkIHNvbWV0aGluZyBpbnRlcmVzdGluZy4gSXQgbG9va3MgbGlrZSB0aGUgYEFMTE9XX0VSUk9SX0lOSkVDVElPTmAgbWFjcm8gaXMgYmVpbmcgdXNlZCByaWdodCB0aGVyZSBpbiB0aGUgYFNZU0NBTExfREVGSU5FeGAgbWFjcm9zIGRlZmluZWQgaW4gYGluY2x1ZGUvbGludXgvc3lzY2FsbHMuaGAuIE5vdywgSSByZWNhbGwgdGhpcyBtYWNybyB1c2VkIHRvIGJlIHNvdXJjZWQgdGhyb3VnaCBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAgb3Igc29tZXdoZXJlIHNpbWlsYXIuIEkgcmVtZW1iZXIgd2hlbiB0aGUgYGluY2x1ZGUvbGludXgvZXJyb3ItaW5qZWN0aW9uLmhgIHdhcyByZW1vdmVkIGZyb20gYGluY2x1ZGUvbGludXgvbW9kdWxlLmhgLCBjYXVzaW5nIGEgcmlwcGxlIGVmZmVjdCB3aGVyZSBmaWxlcyB0aGF0IGRpZG4ndCBpbmNsdWRlIGBtb2R1bGUuaGAgZGlyZWN0bHksIG9yIG9ubHkgaW5jbHVkZWQgYHN5c2NhbGxzLmhgLCBzdWRkZW5seSBuZWVkZWQgdG8gZXhwbGljaXRseSBpbmNsdWRlIGBlcnJvci1pbmplY3Rpb24uaGAgdG8gYWNjZXNzIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gLiBJdCB3YXMgYSBmdW4gbGl0dGxlIHJlZmFjdG9yaW5nIGV4ZXJjaXNlIGF0IHRoZSB0aW1lLCBidXQgdGhpcyBicmluZ3MgdXAgc29tZSBxdWVzdGlvbnMuIEkgaGFkIHRvIGxvb2sgYXQgYGNvbXBhdC5oYCBmb3Igc29tZSBvdGhlciBjb250ZXh0LCBzbyBsZXQncyBzZWUgd2hhdCB0aGF0IGZpbGUgY2FuIHRlbGwgdXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE2Mzc3LCJPdXRwdXRUb2tlbnMiOjMzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTI3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjMwLjg5MDYyMDY5M1oiLCJTZXEiOjE4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzM5OTY5MDgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiQUxMT1dfRVJST1JfSU5KRUNUSU9OXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImluY2x1ZGUvbGludXgvY29tcGF0LmhcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiaW5jbHVkZS9saW51eC9jb21wYXQuaC00OC1cXHRhc21saW5rYWdlIGxvbmcgY29tcGF0X3N5c18jI25hbWUodm9pZCk7IFxcXFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oOjQ5OlxcdEFMTE9XX0VSUk9SX0lOSkVDVElPTihjb21wYXRfc3lzXyMjbmFtZSwgRVJSTk8pOyBcXFxcXFxuaW5jbHVkZS9saW51eC9jb21wYXQuaC01MC1cXHRhc21saW5rYWdlIGxvbmcgY29tcGF0X3N5c18jI25hbWUodm9pZClcXG4tLVxcbmluY2x1ZGUvbGludXgvY29tcGF0LmgtODEtXFx0XFx0X19hdHRyaWJ1dGVfXygoYWxpYXMoX19zdHJpbmdpZnkoX19zZV9jb21wYXRfc3lzIyNuYW1lKSkpKTtcXHRcXFxcXFxuaW5jbHVkZS9saW51eC9jb21wYXQuaDo4MjpcXHRBTExPV19FUlJPUl9JTkpFQ1RJT04oY29tcGF0X3N5cyMjbmFtZSwgRVJSTk8pO1xcdFxcdFxcdFxcdFxcXFxcXG5pbmNsdWRlL2xpbnV4L2NvbXBhdC5oLTgzLVxcdHN0YXRpYyBpbmxpbmUgbG9uZyBfX2RvX2NvbXBhdF9zeXMjI25hbWUoX19NQVAoeCxfX1NDX0RFQ0wsX19WQV9BUkdTX18pKTtcXFxcXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjMwLjk2NDYyNTc3MloiLCJTZXEiOjE5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuOC1mbGFzaCIsIkR1cmF0aW9uIjoxNDA5NDYzMTczMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXNpcyBvZiBhIEhlYWRlciBGaWxlIFJlZmFjdG9yaW5nIFBhdGNoKipcblxuQWxyaWdodCwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLiBJdCBzZWVtcyB0aGlzIHBhdGNoIGlzIGFsbCBhYm91dCB0aWR5aW5nIHVwIGhvdyBgZXJyb3ItaW5qZWN0aW9uLmhgIGlzIGluY2x1ZGVkIGluIHRoZSBrZXJuZWwuIFRoZSBjb3JlIGlkZWEgaXMgdGhhdCBwcmV2aW91c2x5LCB0aGlzIGhlYWRlciB3YXMgaW5jbHVkZWQgdGhyb3VnaCBgaW5jbHVkZS9saW51eC9tb2R1bGUuaGAsIGJ1dCBub3cgaXQncyBiZWluZyBleHBsaWNpdGx5IGluY2x1ZGVkIHdoZXJlIGBBTExPV19FUlJPUl9JTkpFQ1RJT05gIGlzIGFjdHVhbGx5IHVzZWQuICBUaGVyZSdzIGFsc28gYSBtaW5vciBjb3JyZWN0aW9uIGluIHRoZSBgeGVgIGRyaXZlcnMsIHN3aXRjaGluZyBmcm9tIGBmYXVsdC1pbmplY3QuaGAgdG8gYGVycm9yLWluamVjdGlvbi5oYCB3aGVyZSBhcHByb3ByaWF0ZS5cblxuTXkgcHJpbWFyeSBjb25jZXJuIGlzIHdoZXRoZXIgdGhpcyBjaGFuZ2VzIGFueSBhY3R1YWwgKmNvZGUqLiBMZXQncyBsb29rIGF0IHRoZSBkaWZmOiBpdCdzIHB1cmVseSBhYm91dCBhZGRpbmcgb3IgcmVtb3ZpbmcgYCNpbmNsdWRlIFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXHUwMDNlYC4gIEkgc2VlIG5vIGNoYW5nZXMgdG8gZnVuY3Rpb25zLCBjb250cm9sIGZsb3csIGRhdGEgc3RydWN0dXJlcywgb3IgYW55IGxvZ2ljIGF0IGFsbC4gIFRoZSBjaGFuZ2VzIGFyZSBsaW1pdGVkIHRvIGEgbG9uZyBsaXN0IG9mIGZpbGVzIGFkZGluZyB0aGUgcmVsZXZhbnQgaGVhZGVyLCBhbmQgb25lIGZpbGUgd2hpY2ggaXMgcmVtb3ZpbmcgaXQuIE5vIGV4ZWN1dGFibGUgY29kZSBoYXMgYmVlbiBhbHRlcmVkIVxuXG5Ob3csIGFwcGx5aW5nIG91ciB0cmlhZ2UgcnVsZXMuLi4gIFNlY3Rpb24gMidzIGNyaXRlcmlhIGZvciBXb3J0aEZ1enppbmc9ZmFsc2Ugc2VlbXMgc3BvdC1vbiBoZXJlLiBUaGlzIHBhdGNoIGlzIG5vdGhpbmcgbW9yZSB0aGFuIGhlYWRlciBmaWxlIGRlcGVuZGVuY3kgYWRqdXN0bWVudHMuIEl0J3MgZXNzZW50aWFsbHkgXCJub24ta2VybmVsIGFuZCBub24tZXhlY3V0YWJsZSxcIiBmYWxsaW5nIGludG8gdGhlIFwiQnVpbGQgc3lzdGVtIG9yIEtjb25maWcgY2hhbmdlcyB0aGF0IGRvIG5vdCBhbHRlciBjb21waWxlZCBDIGxvZ2ljXCIgY2F0ZWdvcnkgLSBldmVuIGlmIGl0J3Mgbm90IGEgYnVpbGQgc3lzdGVtIGNoYW5nZSAqcGVyIHNlKiwgaXQgaXMgYSBkZXBlbmRlbmN5IGNoYW5nZSB0aGF0ICpkb2VzIG5vdCogYWZmZWN0IGNvbXBpbGVkIEMgbG9naWMuXG5cblRoZXJlZm9yZSwgYFdvcnRoRnV6emluZ2AgaXMgdW5lcXVpdm9jYWxseSBgZmFsc2VgLiBUaGUgYFJlYXNvbmluZ2Agc2hvdWxkIGV4cGxpY2l0bHkgc3RhdGUgdGhpcyAtIHRoZSBwYXRjaCBvbmx5IGludm9sdmVzIGhlYWRlciBmaWxlIGluY2x1c2lvbiBhZGp1c3RtZW50cywgc3BlY2lmaWNhbGx5IG1vdmluZyBgI2luY2x1ZGUgXHUwMDNjbGludXgvZXJyb3ItaW5qZWN0aW9uLmhcdTAwM2VgIGZyb20gYGluY2x1ZGUvbGludXgvbW9kdWxlLmhgIHRvIGluZGl2aWR1YWwgZmlsZXMgYW5kIGNvcnJlY3RpbmcgaW5jbHVkZXMgd2l0aGluIHRoZSBgeGVgIGRyaXZlcnMsIHdpdGggKm5vKiBpbXBhY3Qgb24gZXhlY3V0YWJsZSBDIGNvZGUsIGRhdGEgc3RydWN0dXJlcywgY29udHJvbCBmbG93LCBvciBhc3NlcnRpb25zLiBgRm9jdXNTeW1ib2xzYCB3aWxsIGJlIGFuIGVtcHR5IGxpc3QgYFtdYCwgYW5kIGBFbmFibGVDb25maWdzYCB3aWxsIGFsc28gYmUgYFtdYC4gTm8gbmVlZCB0byBlbmFibGUgYW55dGhpbmcsIGFzIHRoaXMgcGF0Y2ggZG9lcyBub3QgYWRkIGFueSBuZXcgZnVuY3Rpb25hbGl0eS4gSXQncyBzaW1wbHkgYSBjb2RlIGNsZWFudXAuIEknbSBjb25maWRlbnQgaW4gdGhpcyBhc3Nlc3NtZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjoxNjk2MCwiT3V0cHV0VG9rZW5zIjoxMDcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDEyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjQ1LjA1OTI1OTM5M1oiLCJTZXEiOjIwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIxNDgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHNlcmllcyBjb25zaXN0cyBzb2xlbHkgb2YgaGVhZGVyIGluY2x1ZGUgcmVvcmdhbml6YXRpb25zOiByZW1vdmluZyAnI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZScgZnJvbSAnaW5jbHVkZS9saW51eC9tb2R1bGUuaCcgYW5kIGFkZGluZyBkaXJlY3QgJyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2UnIGRpcmVjdGl2ZXMgYWNyb3NzIHZhcmlvdXMgc291cmNlIGZpbGVzIHRoYXQgcmVseSBvbiBlcnJvciBpbmplY3Rpb24gbWFjcm9zLiBUaGVyZSBhcmUgbm8gZXhlY3V0YWJsZSBDIGxvZ2ljLCBkYXRhIHN0cnVjdHVyZSwgY29udHJvbCBmbG93LCBvciBhc3NlcnRpb24gY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIHNlcmllcyBjb25zaXN0cyBzb2xlbHkgb2YgaGVhZGVyIGluY2x1ZGUgcmVvcmdhbml6YXRpb25zOiByZW1vdmluZyAnI2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Vycm9yLWluamVjdGlvbi5oXFx1MDAzZScgZnJvbSAnaW5jbHVkZS9saW51eC9tb2R1bGUuaCcgYW5kIGFkZGluZyBkaXJlY3QgJyNpbmNsdWRlIFxcdTAwM2NsaW51eC9lcnJvci1pbmplY3Rpb24uaFxcdTAwM2UnIGRpcmVjdGl2ZXMgYWNyb3NzIHZhcmlvdXMgc291cmNlIGZpbGVzIHRoYXQgcmVseSBvbiBlcnJvciBpbmplY3Rpb24gbWFjcm9zLiBUaGVyZSBhcmUgbm8gZXhlY3V0YWJsZSBDIGxvZ2ljLCBkYXRhIHN0cnVjdHVyZSwgY29udHJvbCBmbG93LCBvciBhc3NlcnRpb24gY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTExVDE1OjQ3OjQ1LjA1OTI4NjIzM1oiLCJTZXEiOjIxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjkzMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowqbmzz[1] Phase: Running StartedAt: 2026-09-11 15:47:49 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowqbmzz[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-09-11 15:47:49 +0000 UTC FinishedAt: 2026-09-11 15:47:54 +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,}