ZGlmZiAtLWdpdCBhL0NIQU5HRUxPRyBiL0NIQU5HRUxPRwppbmRleCA1YjI2ZTk1Li45ZDExYTBmIDEwMDY0NAotLS0gYS9DSEFOR0VMT0cKKysrIGIvQ0hBTkdFTE9HCkBAIC0yLDYgKzIsMTUgQEAKIENoYW5nZXMgc2luY2UgZm9yIFUtQm9vdCAwLjEuMDoKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAorKiBQYXRjaCBieSBEYW5pZWwgRW5nc3Ry9m0sIDE4IE5vdiAyMDAyOgorICBGaXhlcyBmb3IgeDg2IHBvcnQgKG1vc3RseSBzdHJpbmdzIGlzc3VlcykKKworKiBQYXRjaCBieSBLZW4gQ2hvdSwgMTggTm92IDIwMDI6CisgIEZpeCBmb3IgbmF0c2VtaSBOSUMgY2FyZHMgKERQODM4MTUpCisKKyogUGF0Y2ggYnkgUGllcnJlIEF1YmVydCwgMTkgTm92IDIwMDI6CisgIGZpeCBhIGJ1ZyBmb3IgdGhlIE1JSSBjb25maWd1cmF0aW9uLCBhbmQgc29tZSB3YXJuaW5ncworCiAqIFBhdGNoIGJ5IFRob21hcyBGcmllZGVuLCAxMyBOb3YgMjAwMjoKICAgQWRkIGNvZGUgZm9yIEFtaWdhT25lIGJvYXJkCiAgIChwcmVsaW1pbmFyeSBtZXJnZSB0byBVLUJvb3QsIHN0aWxsIFdJUCkKZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKaW5kZXggZWMyMTQwMC4uNmM5OGM4NCAxMDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTE0Miw3ICsxNDIsOSBAQAogCQkkKE9CSkRVTVApIC1kICQ8ID4gJEAKIAogdS1ib290OgkJZGVwZW5kIHN1YmRpcnMgJChPQkpTKSAkKExJQlMpICQoTERTQ1JJUFQpCi0JCSQoTEQpICQoTERGTEFHUykgJChPQkpTKSAkKExJQlMpICQoTElCUykgLU1hcCB1LWJvb3QubWFwIC1vIHUtYm9vdAorCQkkKExEKSAkKExERkxBR1MpICQoT0JKUykgXAorCQkJLS1zdGFydC1ncm91cCAkKExJQlMpIC0tZW5kLWdyb3VwIFwKKwkJCS1NYXAgdS1ib290Lm1hcCAtbyB1LWJvb3QKIAogc3ViZGlyczoKIAkJQGZvciBkaXIgaW4gJChTVUJESVJTKSA7IGRvICQoTUFLRSkgLUMgJCRkaXIgfHwgZXhpdCAxIDsgZG9uZQpkaWZmIC0tZ2l0IGEvYm9hcmQvUlBYQ2xhc3NpYy9SUFhDbGFzc2ljLmMgYi9ib2FyZC9SUFhDbGFzc2ljL1JQWENsYXNzaWMuYwppbmRleCA0ZDIxMDBiLi5hZWQ5NDc5IDEwMDY0NAotLS0gYS9ib2FyZC9SUFhDbGFzc2ljL1JQWENsYXNzaWMuYworKysgYi9ib2FyZC9SUFhDbGFzc2ljL1JQWENsYXNzaWMuYwpAQCAtMTI3LDEyICsxMjcsMTIgQEAKIAkJCX0KIAkJfQogCQkvKiBTY2FuIHRvIHRoZSBlbmQgb2YgdGhlIHJlY29yZAkJKi8KLQkJd2hpbGUgKCgqY3AgIT0gJ1xuJykgJiYgKCpjcCAhPSAweGZmKSkgeworCQl3aGlsZSAoKCpjcCAhPSAnXG4nKSAmJiAoKmNwICE9IChjaGFyKTB4ZmYpKSB7CiAJCQljcCsrOwogCQl9CiAJCS8qIElmIHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhIFxuLCAwIG9yIGZmLCB3ZSBhcmUgZG9uZS4JKi8KIAkJY3ArKzsKLQkJaWYgKCgqY3AgPT0gJ1xuJykgfHwgKCpjcCA9PSAwKSB8fCAoKmNwID09IDB4ZmYpKQorCQlpZiAoKCpjcCA9PSAnXG4nKSB8fCAoKmNwID09IDApIHx8ICgqY3AgPT0gKGNoYXIpMHhmZikpCiAJCQlicmVhazsKIAl9CiAKQEAgLTE0MCwxMiArMTQwLDYgQEAKIAkvKiBUaGUgTUFDIGFkZHJlc3MgaXMgdGhlIHNhbWUgYXMgbm9ybWFsIGV0aGVybmV0IGV4Y2VwdCB0aGUgM3JkIGJ5dGUJICovCiAJLyogKFNlZSB0aGUgRS5QLiBQbGFuZXQgQ29yZSBPdmVydmlldyBtYW51YWwJCSovCiAJZW5ldFszXSB8PSAweDgwOwotCi0JLyogVmFsaWRhdGUgdGhlIGZhc3QgZXRoZXJuZXQgdHJhbmNlaXZlcgkJKi8KLQkqKCh2b2xhdGlsZSB1Y2hhciAqKSBCQ1NSMikgJj0gfkJDU1IyX01JSUNUTDsKLQkqKCh2b2xhdGlsZSB1Y2hhciAqKSBCQ1NSMikgJj0gfkJDU1IyX01JSVBXUkRXTjsKLQkqKCh2b2xhdGlsZSB1Y2hhciAqKSBCQ1NSMikgfD0gQkNTUjJfTUlJUlNUOwotCSooKHZvbGF0aWxlIHVjaGFyICopIEJDU1IyKSB8PSBCQ1NSMl9NSUlQV1JEV047CiAjZW5kaWYKIAogCXByaW50ZiAoIk1BQyBhZGRyZXNzID0gJTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4OiUwMnhcbiIsCkBAIC0xNTgsNiArMTUyLDE1IEBACiAJLyogRW5hYmxlIE5WUkFNICovCiAJKigodWNoYXIgKikgQkNTUjApIHw9IEJDU1IwX0VOTlZSQU07CiAKKyNpZmRlZiBDT05GSUdfRkVDX0VORVQKKworCS8qIFZhbGlkYXRlIHRoZSBmYXN0IGV0aGVybmV0IHRyYW5jZWl2ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisJKigodm9sYXRpbGUgdWNoYXIgKikgQkNTUjIpICY9IH5CQ1NSMl9NSUlDVEw7CisJKigodm9sYXRpbGUgdWNoYXIgKikgQkNTUjIpICY9IH5CQ1NSMl9NSUlQV1JEV047CisJKigodm9sYXRpbGUgdWNoYXIgKikgQkNTUjIpIHw9IEJDU1IyX01JSVJTVDsKKwkqKCh2b2xhdGlsZSB1Y2hhciAqKSBCQ1NSMikgfD0gQkNTUjJfTUlJUFdSRFdOOworI2VuZGlmCisKIH0KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpAQCAtMjU0LDYgKzI1NywxMCBAQAogCX0KIAlyZXR1cm4gKG1heHNpemUpOwogfQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogYXNjaGV4X3RvX2J5dGUgLS0gCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGFzY2hleF90b19ieXRlICh1bnNpZ25lZCBjaGFyICpjcCkKIHsKIAl1X2NoYXIgYnl0ZSwgYzsKZGlmZiAtLWdpdCBhL2JvYXJkL3RyYWIvdS1ib290LmxkcyBiL2JvYXJkL3RyYWIvdS1ib290LmxkcwppbmRleCA1OTgzNGFmLi45MmEzNjlmIDEwMDY0NAotLS0gYS9ib2FyZC90cmFiL3UtYm9vdC5sZHMKKysrIGIvYm9hcmQvdHJhYi91LWJvb3QubGRzCkBAIC0zMyw3ICszMyw2IEBACiAJLnRleHQgICAgICA6CiAJewogCSAgY3B1L2FybTkyMHQvc3RhcnQubwkoLnRleHQpCi0JICBsaWJfYXJtL191ZGl2c2kzLm8JKC50ZXh0KQogCSAgbGliX2FybS9fdW1vZHNpMy5vCSgudGV4dCkKIAkgIGxpYl9nZW5lcmljL3psaWIubwkoLnRleHQpCiAJICBsaWJfZ2VuZXJpYy9jcmMzMi5vCSgudGV4dCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmF0c2VtaS5jIGIvZHJpdmVycy9uYXRzZW1pLmMKaW5kZXggNWE4YzViNC4uMGJlZDA0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uYXRzZW1pLmMKKysrIGIvZHJpdmVycy9uYXRzZW1pLmMKQEAgLTMwNiw4ICszMDYsOCBAQAogCQkJYnJlYWs7CiAJCX0KIAotCQlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2bm8sIFBDSV9CQVNFX0FERFJFU1NfMCwgJmlvYmFzZSk7Ci0JCWlvYmFzZSAmPSB+MHgzOwkvKiAxOiB1bnVzZWQgYW5kIDA6SS9PIFNwYWNlIEluZGljYXRvciAqLworCQlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2bm8sIFBDSV9CQVNFX0FERFJFU1NfMSwgJmlvYmFzZSk7CisJCWlvYmFzZSAmPSB+MHhGOwkvKiBNYXNrZWQgb3V0IHRoZSBsb3cgYml0cyB0aGF0IGFyZSBhZGRyZXNzZXMuICovCiAKIAkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXZubywgUENJX0NPTU1BTkQsCiAJCQkJICAgICAgIFBDSV9DT01NQU5EX01FTU9SWSB8IFBDSV9DT01NQU5EX01BU1RFUik7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vc3RyaW5nLmggYi9pbmNsdWRlL2FzbS1hcm0vc3RyaW5nLmgKaW5kZXggYjY1YTc2Ni4uYzNlYTU4MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3N0cmluZy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9zdHJpbmcuaApAQCAtNiwyMyArNiwyMyBAQAogICogb3B0aW1pc2VkIGlubGluZSBhc20gdmVyc2lvbnMgYXJlIG5vdCBzbWFsbC4KICAqLwogCi0jZGVmaW5lIF9fSEFWRV9BUkNIX1NUUlJDSFIKKyN1bmRlZiBfX0hBVkVfQVJDSF9TVFJSQ0hSCiBleHRlcm4gY2hhciAqIHN0cnJjaHIoY29uc3QgY2hhciAqIHMsIGludCBjKTsKIAotI2RlZmluZSBfX0hBVkVfQVJDSF9TVFJDSFIKKyN1bmRlZiBfX0hBVkVfQVJDSF9TVFJDSFIKIGV4dGVybiBjaGFyICogc3RyY2hyKGNvbnN0IGNoYXIgKiBzLCBpbnQgYyk7CiAKLSNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNQ1BZCisjdW5kZWYgX19IQVZFX0FSQ0hfTUVNQ1BZCiBleHRlcm4gdm9pZCAqIG1lbWNweSh2b2lkICosIGNvbnN0IHZvaWQgKiwgX19rZXJuZWxfc2l6ZV90KTsKIAotI2RlZmluZSBfX0hBVkVfQVJDSF9NRU1NT1ZFCisjdW5kZWYgX19IQVZFX0FSQ0hfTUVNTU9WRQogZXh0ZXJuIHZvaWQgKiBtZW1tb3ZlKHZvaWQgKiwgY29uc3Qgdm9pZCAqLCBfX2tlcm5lbF9zaXplX3QpOwogCi0jZGVmaW5lIF9fSEFWRV9BUkNIX01FTUNIUgorI3VuZGVmIF9fSEFWRV9BUkNIX01FTUNIUgogZXh0ZXJuIHZvaWQgKiBtZW1jaHIoY29uc3Qgdm9pZCAqLCBpbnQsIF9fa2VybmVsX3NpemVfdCk7CiAKLSNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNWkVSTwotI2RlZmluZSBfX0hBVkVfQVJDSF9NRU1TRVQKKyN1bmRlZiBfX0hBVkVfQVJDSF9NRU1aRVJPCisjdW5kZWYgX19IQVZFX0FSQ0hfTUVNU0VUCiBleHRlcm4gdm9pZCAqIG1lbXNldCh2b2lkICosIGludCwgX19rZXJuZWxfc2l6ZV90KTsKIAogI2lmIDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWkzODYvcHJvY2Vzc29yLmggYi9pbmNsdWRlL2FzbS1pMzg2L3Byb2Nlc3Nvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxNzUxOTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1pMzg2L3Byb2Nlc3Nvci5oCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiAoQykgQ29weXJpZ2h0IDIwMDIKKyAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZQorICogCisgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcworICogcHJvamVjdC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCisjaWZuZGVmIF9fQVNNX1BST0NFU1NPUl9IXworI2RlZmluZSBfX0FTTV9QUk9DRVNTT1JfSF8gMQorLyogQ3VycmVudGx5IHRoaXMgaGVhZGVyIGlzIHVudXNlZCBpbiB0aGUgaTM4NiBwb3J0CisgKiBidXQgc29tZSBnZW5lcmljIGZpbGVzICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisgKiBzbyB0aGlzIGZpbGUgaXMgYSBwbGFjZWhvbGRlci4gKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20taTM4Ni9zdHJpbmcuaCBiL2luY2x1ZGUvYXNtLWkzODYvc3RyaW5nLmgKaW5kZXggYzM3ODIyMi4uOTFhMjNmOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20taTM4Ni9zdHJpbmcuaAorKysgYi9pbmNsdWRlL2FzbS1pMzg2L3N0cmluZy5oCkBAIC02LDI1ICs2LDI1IEBACiAgKiBvcHRpbWlzZWQgaW5saW5lIGFzbSB2ZXJzaW9ucyBhcmUgbm90IHNtYWxsLgogICovCiAKLSNkZWZpbmUgX19IQVZFX0FSQ0hfU1RSUkNIUgorI3VuZGVmIF9fSEFWRV9BUkNIX1NUUlJDSFIKIGV4dGVybiBjaGFyICogc3RycmNocihjb25zdCBjaGFyICogcywgaW50IGMpOwogCi0jZGVmaW5lIF9fSEFWRV9BUkNIX1NUUkNIUgorI3VuZGVmIF9fSEFWRV9BUkNIX1NUUkNIUgogZXh0ZXJuIGNoYXIgKiBzdHJjaHIoY29uc3QgY2hhciAqIHMsIGludCBjKTsKIAotI2RlZmluZSBfX0hBVkVfQVJDSF9NRU1DUFkKKyN1bmRlZiBfX0hBVkVfQVJDSF9NRU1DUFkKIGV4dGVybiB2b2lkICogbWVtY3B5KHZvaWQgKiwgY29uc3Qgdm9pZCAqLCBfX2tlcm5lbF9zaXplX3QpOwogCi0jZGVmaW5lIF9fSEFWRV9BUkNIX01FTU1PVkUKKyN1bmRlZiBfX0hBVkVfQVJDSF9NRU1NT1ZFCiBleHRlcm4gdm9pZCAqIG1lbW1vdmUodm9pZCAqLCBjb25zdCB2b2lkICosIF9fa2VybmVsX3NpemVfdCk7CiAKLSNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNQ0hSCisjdW5kZWYgX19IQVZFX0FSQ0hfTUVNQ0hSCiBleHRlcm4gdm9pZCAqIG1lbWNocihjb25zdCB2b2lkICosIGludCwgX19rZXJuZWxfc2l6ZV90KTsKIAotI2RlZmluZSBfX0hBVkVfQVJDSF9NRU1TRVQKKyN1bmRlZiBfX0hBVkVfQVJDSF9NRU1TRVQKIGV4dGVybiB2b2lkICogbWVtc2V0KHZvaWQgKiwgaW50LCBfX2tlcm5lbF9zaXplX3QpOwogCi0jZGVmaW5lIF9fSEFWRV9BUkNIX01FTVpFUk8KKyN1bmRlZiBfX0hBVkVfQVJDSF9NRU1aRVJPCiBleHRlcm4gdm9pZCBtZW16ZXJvKHZvaWQgKnB0ciwgX19rZXJuZWxfc2l6ZV90IG4pOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYl9nZW5lcmljL3N0cmluZy5jIGIvbGliX2dlbmVyaWMvc3RyaW5nLmMKaW5kZXggMWUxZTJlMy4uZjRkMjQ1NyAxMDA2NDQKLS0tIGEvbGliX2dlbmVyaWMvc3RyaW5nLmMKKysrIGIvbGliX2dlbmVyaWMvc3RyaW5nLmMKQEAgLTIwLDMwICsyMCw2IEBACiAjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KICNpbmNsdWRlIDxtYWxsb2MuaD4KIAotI2lmZGVmCUNPTkZJR19BUk0KLSN1bmRlZiAgX19IQVZFX0FSQ0hfTUVNQ01QCi0jdW5kZWYgIF9fSEFWRV9BUkNIX01FTUNQWQotI3VuZGVmICBfX0hBVkVfQVJDSF9NRU1NT1ZFCi0jdW5kZWYgIF9fSEFWRV9BUkNIX01FTVNFVAotI3VuZGVmICBfX0hBVkVfQVJDSF9CQ09QWQotI3VuZGVmICBfX0hBVkVfQVJDSF9TVFJDQVQKLSN1bmRlZiAgX19IQVZFX0FSQ0hfU1RSQ0hSCi0jdW5kZWYgIF9fSEFWRV9BUkNIX1NUUkNNUAotI3VuZGVmICBfX0hBVkVfQVJDSF9TVFJDUFkKLSN1bmRlZiAgX19IQVZFX0FSQ0hfU1RSTEVOCi0jdW5kZWYgIF9fSEFWRV9BUkNIX1NUUk5DUFkKLSNlbHNlCi0jZGVmaW5lIF9fSEFWRV9BUkNIX01FTUNNUAotI2RlZmluZSBfX0hBVkVfQVJDSF9NRU1DUFkKLSNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNTU9WRQotI2RlZmluZSBfX0hBVkVfQVJDSF9NRU1TRVQKLSNkZWZpbmUgX19IQVZFX0FSQ0hfQkNPUFkKLSNkZWZpbmUgX19IQVZFX0FSQ0hfU1RSQ0FUCi0jZGVmaW5lIF9fSEFWRV9BUkNIX1NUUkNNUAotI2RlZmluZSBfX0hBVkVfQVJDSF9TVFJDUFkKLSNkZWZpbmUgX19IQVZFX0FSQ0hfU1RSTEVOCi0jZGVmaW5lIF9fSEFWRV9BUkNIX1NUUk5DUFkKLSNlbmRpZgogCiAjaWZuZGVmIF9fSEFWRV9BUkNIX1NUUk5JQ01QCiAvKioKZGlmZiAtLWdpdCBhL2xpYl9pMzg2L3BjaV90eXBlMS5jIGIvbGliX2kzODYvcGNpX3R5cGUxLmMKaW5kZXggZTU1NzdlOC4uOGQzNTcxNiAxMDA2NDQKLS0tIGEvbGliX2kzODYvcGNpX3R5cGUxLmMKKysrIGIvbGliX2kzODYvcGNpX3R5cGUxLmMKQEAgLTE0LDcgKzE0LDYgQEAKIAogI2lmZGVmIENPTkZJR19QQ0kKIAotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxwY2kuaD4KIAo=