ZGlmZiAtLWdpdCBhL0ZpbGVsaXN0IGIvRmlsZWxpc3QKaW5kZXggNTU4NGM5ZS4uYTgzMmE5YyAxMDA2NDQKLS0tIGEvRmlsZWxpc3QKKysrIGIvRmlsZWxpc3QKQEAgLTMzMyw3ICszMzMsOCBAQAogCQlzcmMvdmltLnRsYiBcCiAJCXNyYy92aW10YmFyLmxpYiBcCiAJCXNyYy92aW10YmFyLmRsbCBcCi0JCW5zaXMvaWNvbnMgXAorCQluc2lzL2ljb25zLyouYm1wIFwKKwkJbnNpcy9pY29ucy8qLmljbyBcCiAKICMgc291cmNlIGZpbGVzIGZvciBBbWlnYSwgRE9TLCBldGMuIChhbHNvIGluIHRoZSBleHRyYSBhcmNoaXZlKQogU1JDX0FNSV9ET1MgPQlcCmRpZmYgLS1naXQgYS9uc2lzL2ljb25zL3ZpbV91bmluc3RfMTZjLmljbyBiL25zaXMvaWNvbnMvdmltX3VuaW5zdF8xNmMuaWNvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMTFmMjgKLS0tIC9kZXYvbnVsbAorKysgYi9uc2lzL2ljb25zL3ZpbV91bmluc3RfMTZjLmljbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9ldmFsLnR4dCBiL3J1bnRpbWUvZG9jL2V2YWwudHh0CmluZGV4IDA4ZTU2ZDAuLmJjZGI5NDggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2V2YWwudHh0CisrKyBiL3J1bnRpbWUvZG9jL2V2YWwudHh0CkBAIC0xLDQgKzEsNCBAQAotKmV2YWwudHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDIyCisqZXZhbC50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGIuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTQ3MTAsNiArNDcxMCwxMSBAQAogCQkgICAgdGFicGFnZXdpbm5yKDQsICckJykgICAgIiBudW1iZXIgb2Ygd2luZG93cyBpbiB0YWIgcGFnZSA0CiA8CQlXaGVuIHt0YWJhcmd9IGlzIGludmFsaWQgemVybyBpcyByZXR1cm5lZC4KIAorCQkJCQkJCSp0YWdmaWxlcygpKgordGFnZmlsZXMoKQlSZXR1cm5zIGEgfExpc3R8IHdpdGggdGhlIGZpbGUgbmFtZXMgdXNlZCB0byBzZWFyY2ggZm9yIHRhZ3MKKwkJZm9yIHRoZSBjdXJyZW50IGJ1ZmZlci4gIFRoaXMgaXMgdGhlICd0YWdzJyBvcHRpb24gZXhwYW5kZWQuCisKKwogdGFnbGlzdCh7ZXhwcn0pCQkJCQkJCSp0YWdsaXN0KCkqCiAJCVJldHVybnMgYSBsaXN0IG9mIHRhZ3MgbWF0Y2hpbmcgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB7ZXhwcn0uCiAJCUVhY2ggbGlzdCBpdGVtIGlzIGEgZGljdGlvbmFyeSB3aXRoIGF0IGxlYXN0IHRoZSBmb2xsb3dpbmcKQEAgLTQ3NDYsMTEgKzQ3NTEsNiBAQAogCQlsb2NhdGVkIGJ5IFZpbS4gUmVmZXIgdG8gfHRhZ3MtZmlsZS1mb3JtYXR8IGZvciB0aGUgZm9ybWF0IG9mCiAJCXRoZSB0YWdzIGZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBkaWZmZXJlbnQgY3RhZ3MgdG9vbHMuCiAKLQkJCQkJCQkqdGFnZmlsZXMoKSoKLXRhZ2ZpbGVzKCkJUmV0dXJucyBhIHxMaXN0fCB3aXRoIHRoZSBmaWxlIG5hbWVzIHVzZWQgdG8gc2VhcmNoIGZvciB0YWdzCi0JCWZvciB0aGUgY3VycmVudCBidWZmZXIuICBUaGlzIGlzIHRoZSAndGFncycgb3B0aW9uIGV4cGFuZGVkLgotCi0KIHRlbXBuYW1lKCkJCQkJCSp0ZW1wbmFtZSgpKiAqdGVtcC1maWxlLW5hbWUqCiAJCVRoZSByZXN1bHQgaXMgYSBTdHJpbmcsIHdoaWNoIGlzIHRoZSBuYW1lIG9mIGEgZmlsZSB0aGF0CiAJCWRvZXNuJ3QgZXhpc3QuICBJdCBjYW4gYmUgdXNlZCBmb3IgYSB0ZW1wb3JhcnkgZmlsZS4gIFRoZSBuYW1lCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dCBiL3J1bnRpbWUvZG9jL3BhdHRlcm4udHh0CmluZGV4IGI0ZjljYjAuLmQ2MWU1NTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3BhdHRlcm4udHh0CisrKyBiL3J1bnRpbWUvZG9jL3BhdHRlcm4udHh0CkBAIC0xLDQgKzEsNCBAQAotKnBhdHRlcm4udHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDA2CisqcGF0dGVybi50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGIuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMjUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTEyMTcsOSArMTIxNyw2IEBACiAJCXdpdGggIjptYXRjaCIgb25seSBleGlzdHMgaW4gdGhlIGN1cnJlbnQgd2luZG93LiAgSXQgaXMga2VwdAogCQl3aGVuIHN3aXRjaGluZyB0byBhbm90aGVyIGJ1ZmZlci4KIAotCQlUaGUgfG1hdGNocGFyZW58IHBsdWdpbiB1c2VzIG1hdGNoIGhpZ2hsaWdodGluZywgdGh1cyB3aWxsCi0JCWRpc2FibGUgeW91ciAiOm1hdGNoIiBjb21tYW5kIGFzIHNvb24gYXMgeW91IG1vdmUgdG8gYSBwYXJlbi4KLQogCQknaWdub3JlY2FzZScgZG9lcyBub3QgYXBwbHksIHVzZSB8L1xjfCBpbiB0aGUgcGF0dGVybiB0bwogCQlpZ25vcmUgY2FzZS4gIE90aGVyd2lzZSBjYXNlIGlzIG5vdCBpZ25vcmVkLgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zdGFydGluZy50eHQgYi9ydW50aW1lL2RvYy9zdGFydGluZy50eHQKaW5kZXggMjQyZjliMS4uZWRhNWU3YSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvc3RhcnRpbmcudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N0YXJ0aW5nLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzdGFydGluZy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYi4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAwNQorKnN0YXJ0aW5nLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDI1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zNzksNyArMzc5LDcgQEAKIAkJZm9yIGV2ZXJ5IGZpbGUgZ2l2ZW4gYXMgYXJndW1lbnQuICBUaGUgbWF4aW11bSBpcyBzZXQgd2l0aAogCQkndGFicGFnZW1heCcgcGFnZXMgKGRlZmF1bHQgMTApLiAgSWYgdGhlcmUgYXJlIG1vcmUgdGFiIHBhZ2VzCiAJCXRoYW4gYXJndW1lbnRzLCB0aGUgbGFzdCBmZXcgdGFiIHBhZ2VzIHdpbGwgYmUgZWRpdGluZyBhbgotCQllbXB0eSBmaWxlLgorCQllbXB0eSBmaWxlLiAgQWxzbyBzZWUgfHRhYnBhZ2V8LgogCQl7bm90IGluIFZpfQogCiAJCQkJCQkJKi1UKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9maWxldHlwZS52aW0gYi9ydW50aW1lL2ZpbGV0eXBlLnZpbQppbmRleCA1YjgyZGJlLi45YTRiOGNmIDEwMDY0NAotLS0gYS9ydW50aW1lL2ZpbGV0eXBlLnZpbQorKysgYi9ydW50aW1lL2ZpbGV0eXBlLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHN1cHBvcnQgZmlsZSB0byBkZXRlY3QgZmlsZSB0eXBlcwogIgogIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZToJMjAwNiBNYXIgMjQKKyIgTGFzdCBDaGFuZ2U6CTIwMDYgTWFyIDI1CiAKICIgTGlzdGVuIHZlcnkgY2FyZWZ1bGx5LCBJIHdpbGwgc2F5IHRoaXMgb25seSBvbmNlCiBpZiBleGlzdHMoImRpZF9sb2FkX2ZpbGV0eXBlcyIpCkBAIC0yNTUsNiArMjU1LDE1IEBACiAKICIgQklORCB6b25lCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgbmFtZWQucm9vdAkJc2V0ZiBiaW5kem9uZQorYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouZGIJCQljYWxsIHM6QmluZHpvbmVDaGVjaygnJykKKworZnVuYyEgczpCaW5kem9uZUNoZWNrKGRlZmF1bHQpCisgIGlmIGdldGxpbmUoMSkuZ2V0bGluZSgyKS5nZXRsaW5lKDMpLmdldGxpbmUoNCkgPX4gJ147IDw8Pj4gRGlHIFswLTkuXVwrIDw8Pj5cfEJJTkQuKm5hbWVkXHwkT1JJR0lOXHwkVFRMXHxJTlxzXCtTT0EnCisgICAgc2V0ZiBiaW5kem9uZQorICBlbHNlaWYgYTpkZWZhdWx0ICE9ICcnCisgICAgZXhlICdzZXRmICcgLiBhOmRlZmF1bHQKKyAgZW5kaWYKK2VuZGZ1bmMKIAogIiBCbGFuawogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouYmwJCQlzZXRmIGJsYW5rCkBAIC00NzgsMTAgKzQ4Nyw3IEBACiAJXCBlbmRpZgogCiAiIERDTCAoRGlnaXRhbCBDb21tYW5kIExhbmd1YWdlIC0gdm1zKSBvciBETlMgem9uZSBmaWxlCi1hdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5jb20KLQlcIGlmIGdldGxpbmUoMSkuZ2V0bGluZSgyKSA9fiAnJE9SSUdJTlx8JFRUTFx8SU5ccypTT0EnCi0JXAl8fCBnZXRsaW5lKDEpLmdldGxpbmUoMikuZ2V0bGluZSgzKS5nZXRsaW5lKDQpID1+ICdCSU5ELipuYW1lZCcKLQlcIHwgc2V0ZiBkbnMgfCBlbHNlIHwgc2V0ZiBkY2wgfCBlbmRpZgorYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouY29tCQkJY2FsbCBzOkJpbmR6b25lQ2hlY2soJ2RjbCcpCiAKICIgRE9UCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5kb3QJCQlzZXRmIGRvdApAQCAtMTk1OCw3ICsxOTY0LDcgQEAKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqYXN0ZXJpc2sqLyp2b2ljZW1haWwuY29uZiogY2FsbCBzOlN0YXJTZXRmKCdhc3Rlcmlza3ZtJykKIAogIiBCSU5EIHpvbmUKLWF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAvdmFyL25hbWVkLyoJCWNhbGwgczpTdGFyU2V0ZignYmluZHpvbmUnKQorYXUgQnVmTmV3RmlsZSxCdWZSZWFkICovbmFtZWQvZGIuKiwqL2JpbmQvZGIuKgljYWxsIHM6U3RhclNldGYoJ2JpbmR6b25lJykKIAogIiBDaGFuZ2Vsb2cKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCBbY0NdaGFuZ2VbbExdb2cqCmRpZmYgLS1naXQgYS9zcmMvb3B0aW9uLmMgYi9zcmMvb3B0aW9uLmMKaW5kZXggZmYzM2UwZi4uNGI2NjliZSAxMDA2NDQKLS0tIGEvc3JjL29wdGlvbi5jCisrKyBiL3NyYy9vcHRpb24uYwpAQCAtNjQ5LDggKzY0OSwxMyBAQAogI2VuZGlmCiAJCQkgICAgfSwKICAgICB7ImNhc2VtYXAiLAkgICAgImNtcCIsICAgUF9TVFJJTkd8UF9WSV9ERUZ8UF9DT01NQXxQX05PRFVQLAorI2lmZGVmIEZFQVRfTUJZVEUKIAkJCSAgICAoY2hhcl91ICopJnBfY21wLCBQVl9OT05FLAogCQkJICAgIHsoY2hhcl91ICopImludGVybmFsLGtlZXBhc2NpaSIsIChjaGFyX3UgKikwTH0KKyNlbHNlCisJCQkgICAgKGNoYXJfdSAqKU5VTEwsIFBWX05PTkUsCisJCQkgICAgeyhjaGFyX3UgKikwTCwgKGNoYXJfdSAqKTBMfQorI2VuZGlmCiAJCQkgICAgfSwKICAgICB7ImNkcGF0aCIsCSAgICAiY2QiLCAgIFBfU1RSSU5HfFBfRVhQQU5EfFBfVklfREVGfFBfQ09NTUF8UF9OT0RVUCwKICNpZmRlZiBGRUFUX1NFQVJDSFBBVEgKQEAgLTQ5MjgsNyArNDkzMyw5IEBACiAgICAgLyogaW5pdGlhbGl6ZSB0aGUgdGFibGUgZm9yICdpc2tleXdvcmQnIGV0LmFsLiAqLwogICAgICh2b2lkKWluaXRfY2hhcnRhYigpOwogCisjaWZkZWYgRkVBVF9NQllURQogICAgICh2b2lkKW9wdF9zdHJpbmdzX2ZsYWdzKHBfY21wLCBwX2NtcF92YWx1ZXMsICZjbXBfZmxhZ3MsIFRSVUUpOworI2VuZGlmCiAgICAgKHZvaWQpb3B0X3N0cmluZ3NfZmxhZ3MocF9ia2MsIHBfYmtjX3ZhbHVlcywgJmJrY19mbGFncywgVFJVRSk7CiAjaWZkZWYgRkVBVF9TRVNTSU9OCiAgICAgKHZvaWQpb3B0X3N0cmluZ3NfZmxhZ3MocF9zc29wLCBwX3Nzb3BfdmFsdWVzLCAmc3NvcF9mbGFncywgVFJVRSk7CkBAIC02Mzc3LDEyICs2Mzg0LDE0IEBACiAJICAgIGVycm1zZyA9IGVfaW52YXJnOwogICAgIH0KIAorI2lmZGVmIEZFQVRfTUJZVEUKICAgICAvKiAnY2FzZW1hcCcgKi8KICAgICBlbHNlIGlmICh2YXJwID09ICZwX2NtcCkKICAgICB7CiAJaWYgKG9wdF9zdHJpbmdzX2ZsYWdzKHBfY21wLCBwX2NtcF92YWx1ZXMsICZjbXBfZmxhZ3MsIFRSVUUpICE9IE9LKQogCSAgICBlcnJtc2cgPSBlX2ludmFyZzsKICAgICB9CisjZW5kaWYKIAogI2lmZGVmIEZFQVRfRElGRgogICAgIC8qICdkaWZmb3B0JyAqLwpkaWZmIC0tZ2l0IGEvc3JjL29wdGlvbi5oIGIvc3JjL29wdGlvbi5oCmluZGV4IDFiZDlkN2QuLjdiYzk1MmUgMTAwNjQ0Ci0tLSBhL3NyYy9vcHRpb24uaAorKysgYi9zcmMvb3B0aW9uLmgKQEAgLTM1MCwxMyArMzUwLDE1IEBACiAjaWZkZWYgRkVBVF9MSU5FQlJFQUsKIEVYVEVSTiBjaGFyX3UJKnBfYnJlYWthdDsJLyogJ2JyZWFrYXQnICovCiAjZW5kaWYKKyNpZmRlZiBGRUFUX01CWVRFCiBFWFRFUk4gY2hhcl91CSpwX2NtcDsJCS8qICdjYXNlbWFwJyAqLwogRVhURVJOIHVuc2lnbmVkCWNtcF9mbGFnczsKLSNpZmRlZiBJTl9PUFRJT05fQworIyBpZmRlZiBJTl9PUFRJT05fQwogc3RhdGljIGNoYXIgKihwX2NtcF92YWx1ZXNbXSkgPSB7ImludGVybmFsIiwgImtlZXBhc2NpaSIsIE5VTEx9OworIyBlbmRpZgorIyBkZWZpbmUgQ01QX0lOVEVSTkFMCQkweDAwMQorIyBkZWZpbmUgQ01QX0tFRVBBU0NJSQkJMHgwMDIKICNlbmRpZgotI2RlZmluZSBDTVBfSU5URVJOQUwJCTB4MDAxCi0jZGVmaW5lIENNUF9LRUVQQVNDSUkJCTB4MDAyCiAjaWZkZWYgRkVBVF9NQllURQogRVhURVJOIGNoYXJfdQkqcF9lbmM7CQkvKiAnZW5jb2RpbmcnICovCiBFWFRFUk4gaW50CXBfZGVjbzsJCS8qICdkZWxjb21iaW5lJyAqLwpkaWZmIC0tZ2l0IGEvc3JjL3BvL2phLnNqaXMucG8gYi9zcmMvcG8vamEuc2ppcy5wbwppbmRleCA1NmE0YTYzLi40MTFmYzNmIDEwMDY0NAotLS0gYS9zcmMvcG8vamEuc2ppcy5wbworKysgYi9zcmMvcG8vamEuc2ppcy5wbwpAQCAtNDcwOCw3ICs0NzA4LDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJNaXNzaW5nIEZPTC9MT1cvVVBQIGxpbmUgaW4gJXMiCi1tc2dzdHIgIiVkII1zltqCySBGT0wvTE9XL1VQUCCCqoKgguiC3IK5gvEiCittc2dzdHIgIiVzII1zltqCySBGT0wvTE9XL1VQUCCCqoKgguiC3IK5gvEiCiAKIG1zZ2lkICJDT01QT1VORFNZTE1BWCB1c2VkIHdpdGhvdXQgU1lMTEFCTEUiCiBtc2dzdHIgIlNZTExBQkxFIIKqjneS6IKzguqCyIKiIENPTVBPVU5EU1lMTUFYIgpAQCAtNDc3Miw3ICs0NzcyLDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWFkaW5nIHdvcmQgZmlsZSAlcyAuLi4iCi1tc2dzdHIgIpVXj4CT/JfNgqmC55PHjZ6C3ZKGLi4uIgorbXNnc3RyICKVV4+Ak/yXzYKpgueTx42egt2ShiAlcyAuLi4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRHVwbGljYXRlIC9lbmNvZGluZz0gbGluZSBpZ25vcmVkIGluICVzIGxpbmUgJWQ6ICVzIgpAQCAtNDc4MCw3ICs0NzgwLDcgQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICIvZW5jb2Rpbmc9IGxpbmUgYWZ0ZXIgd29yZCBpZ25vcmVkIGluICVzIGxpbmUgJWQ6ICVzIgotbXNnc3RyICKBk3MggswgJWQgjXOW2oLMIJJQjOqCzIzjgswgL2VuY29kaW5nPSCNc4LwlrOOi4K1gtyCtYK9OiAlcyIKK21zZ3N0ciAiJXMggZNzIILMICVkII1zltqCzCCSUIzqgsyM44LMIC9lbmNvZGluZz0gjXOC8JazjouCtYLcgrWCvTogJXMiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRHVwbGljYXRlIC9yZWdpb25zPSBsaW5lIGlnbm9yZWQgaW4gJXMgbGluZSAlZDogJXMiCkBAIC00ODkxLDcgKzQ4OTEsNyBAQAogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3Nzk6IE9sZCAuc3VnIGZpbGUsIG5lZWRzIHRvIGJlIHVwZGF0ZWQ6ICVzIgotbXNnc3RyICJFNzc5OiCMw4KiIC5zdWcgg3SDQINDg4uCyILMgsUsIINBg2KDdoNmgVuDZ4K1gsSCrYK+grOCoiIKK21zZ3N0ciAiRTc3OTogjMOCoiAuc3VnIIN0g0CDQ4OLgsiCzILFLCCDQYNig3aDZoFbg2eCtYLEgq2CvoKzgqI6ICVzIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3ODA6IC5zdWcgZmlsZSBpcyBmb3IgbmV3ZXIgdmVyc2lvbiBvZiBWaW06ICVzIgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDYxLmluIGIvc3JjL3Rlc3RkaXIvdGVzdDYxLmluCmluZGV4IDE3MmMzNmUuLjc0OWQ4YWQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3Q2MS5pbgorKysgYi9zcmMvdGVzdGRpci90ZXN0NjEuaW4KQEAgLTMwLDcgKzMwLDcgQEAKIDoiCiA6L14yMjIvdyA+PnRlc3Qub3V0CiA6IiBEZWxheSBmb3IgdGhyZWUgc2Vjb25kcyBhbmQgZ28gc29tZSBzZWNvbmRzIGZvcndhcmQgYW5kIGJhY2t3YXJkCi06c2xlZXAgMworOnNsZWVwIDIKIEFhGzpzZXQgdWw9MTAwCiBBYhs6c2V0IHVsPTEwMAogQWMbOnNldCB1bD0xMDAK