ZGlmZiAtLWdpdCBhL0NIQU5HRUxPRyBiL0NIQU5HRUxPRwppbmRleCAyMGY3MmU4Li5iZWNjNTVjIDEwMDY0NAotLS0gYS9DSEFOR0VMT0cKKysrIGIvQ0hBTkdFTE9HCkBAIC0xLDE5ICsxLDIwIEBACiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBDaGFuZ2VzIHNpbmNlIFUtQm9vdCAxLjEuNDoKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSogRml4IGRiYXUxeDAwIEJvYXJkCi0gIC0gRml4IGRiYXUxeDAwIGJvYXJkcyBicm9rZW4gYnkgZGJhdTE1NTAgcGF0Y2gKLSAgICBQTEw6cyB3ZXJlIG5vdCBzZXQgZm9yIGJvYXJkcyBvdGhlciB0aGFuIDE1NTAuCi0gICAgRmxhc2ggQ0ZJIGNhdXNlZCBjYXJkIHRvIGhhbmcgZHVlIHRvIHVuZGVmaW5lZCBDRkdfRkxBU0hfQkFOS1NfTElTVC4KLSAgICBEZWZhdWx0IGJvb3QgaXMgbm93IGJvb3RwIGZvciBjYXJkcyBvdGhlciB0aGFuIDE1NTAuCi0gIFBhdGNoIGJ5IFRob21hcyBMYW5nZSBBdWcgMTAgMjAwNQogCi0qIEZpeGVzIGNvbW1vbi9jbWRfZmxhc2guYzoKKyogU29tZSBjb2RlIGNsZWFudXAKIAotICAgLSBmaXggc29tZSBjb21waWxlci9wYXJzZXIgZXJyb3IsIGlmIHVzaW5nIG02OGsgdG9vbCBjaGFpbgotICAgLSBvcHRpY2FsIGZpeCBmb3IgcHJvdGVjdCBvbi9vZmYgYWxsIG1lc3NhZ2VzLCBpZiB1c2luZyBtb3JlCi0gICAgIHRoZW4gb25lIGJhbmsKLSAgUGF0Y2ggYnkgSmVucyBTY2hhcnNpZywgMjggSnVseSAyMDA1CisqIEZpeCBkYmF1MXgwMCBib2FyZHMgYnJva2VuIGJ5IGRiYXUxNTUwIHBhdGNoCisgIFBMTDpzIHdlcmUgbm90IHNldCBmb3IgYm9hcmRzIG90aGVyIHRoYW4gMTU1MC4KKyAgRmxhc2ggQ0ZJIGNhdXNlZCBjYXJkIHRvIGhhbmcgZHVlIHRvIHVuZGVmaW5lZCBDRkdfRkxBU0hfQkFOS1NfTElTVC4KKyAgRGVmYXVsdCBib290IGlzIG5vdyBib290cCBmb3IgY2FyZHMgb3RoZXIgdGhhbiAxNTUwLgorICBQYXRjaCBieSBUaG9tYXMgTGFuZ2UsIDEwIEF1ZyAyMDA1CisKKyogRml4ZXMgY29tbW9uL2NtZF9mbGFzaC5jOgorICAtIGZpeCBzb21lIGNvbXBpbGVyL3BhcnNlciBlcnJvciwgaWYgdXNpbmcgbTY4ayB0b29sIGNoYWluCisgIC0gb3B0aWNhbCBmaXggZm9yIHByb3RlY3Qgb24vb2ZmIGFsbCBtZXNzYWdlcywgaWYgdXNpbmcgbW9yZQorICAgIHRoZW4gb25lIGJhbmsKKyAgUGF0Y2ggYnkgSmVucyBTY2hhcnNpZywgMjggSnVsIDIwMDUKIAogKiBGaXggUXVhZCBVQVJUIG1hcHBpbmcgb24gTUNDMjAwIGJvYXJkIGR1ZSB0byBuZXcgSFcgcmV2aXNpb24KIApAQCAtNTcsMTggKzU4LDE4IEBACiAqIFVwZGF0ZXMgdG8gY29tbW9uIFBQQzR4eCBvbmJvYXJkIChERFIpU0RSQU0gaW5pdCBjb2RlICg0MDUgYW5kIDQ0MCkKIAogICA0MDUgU0RSQU06IC0gVGhlIFNEUkFNIHBhcmFtZXRlcnMgY2FuIG5vdyBiZSBkZWZpbmVkIGluIHRoZSBib2FyZAotICAgICAgICAgICAgICAgY29uZmlnIGZpbGUgYW5kIHRoZSA0MDUgU0RSQU0gY29udHJvbGxlciB2YWx1ZXMgd2lsbAotICAgICAgICAgICAgICAgYmUgY2FsY3VsYXRlZCB1cG9uIGJvb3R1cCAoc2VlIFBQQ2hhbWVsZW9uRVZCKS4KLSAgICAgICAgICAgICAgIFdoZW4gdGhvc2Ugc2V0dGluZ3MgYXJlIG5vdCBkZWZpbmVkIGluIHRoZSBib2FyZAotICAgICAgICAgICAgICAgY29uZmlnIGZpbGUsIHRoZSByZWdpc3RlciBzZXR1cCB3aWxsIGJlIGFzIGl0IGlzIG5vdywKLSAgICAgICAgICAgICAgIHNvIHRoaXMgaW1wbGVtZW50YXRpb24gc2hvdWxkIG5vdCBicmVhayBhbnkgY3VycmVudAotICAgICAgICAgICAgICAgZGVzaWduIHVzaW5nIHRoaXMgY29kZS4KKwkgICAgICAgY29uZmlnIGZpbGUgYW5kIHRoZSA0MDUgU0RSQU0gY29udHJvbGxlciB2YWx1ZXMgd2lsbAorCSAgICAgICBiZSBjYWxjdWxhdGVkIHVwb24gYm9vdHVwIChzZWUgUFBDaGFtZWxlb25FVkIpLgorCSAgICAgICBXaGVuIHRob3NlIHNldHRpbmdzIGFyZSBub3QgZGVmaW5lZCBpbiB0aGUgYm9hcmQKKwkgICAgICAgY29uZmlnIGZpbGUsIHRoZSByZWdpc3RlciBzZXR1cCB3aWxsIGJlIGFzIGl0IGlzIG5vdywKKwkgICAgICAgc28gdGhpcyBpbXBsZW1lbnRhdGlvbiBzaG91bGQgbm90IGJyZWFrIGFueSBjdXJyZW50CisJICAgICAgIGRlc2lnbiB1c2luZyB0aGlzIGNvZGUuCiAKLSAgICAgICAgICAgICAgIFRoYW5rcyB0byBBbmRyZWEgTWFyc29uIGZyb20gREFWRSBmb3IgdGhpcyBwYXRjaC4KKwkgICAgICAgVGhhbmtzIHRvIEFuZHJlYSBNYXJzb24gZnJvbSBEQVZFIGZvciB0aGlzIHBhdGNoLgogCiAgIDQ0MCBERFI6ICAgLSBBZGRlZCBmdW5jdGlvbiBzZHJhbV90cjFfc2V0IHRvIGF1dG8gY2FsY3VsYXRlIHRoZQotICAgICAgICAgICAgICAgVFIxIHZhbHVlIGZvciB0aGUgRERSLgotICAgICAgICAgICAgIC0gQWRkZWQgRUNDIHN1cHBvcnQgKHNlZSBwM3A0NDApLgorCSAgICAgICBUUjEgdmFsdWUgZm9yIHRoZSBERFIuCisJICAgICAtIEFkZGVkIEVDQyBzdXBwb3J0IChzZWUgcDNwNDQwKS4KIAogICBQYXRjaCBieSBTdGVmYW4gUm9lc2UsIDE3IE1hciAyMDA2CiAKQEAgLTQ0Miw3ICs0NDMsNyBAQAogICBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBkZWZhdWx0IFUtQm9vdCBidWlsZC4KICAgRW5hYmxlIERFQlVHIGZvciBsaWJfYXJtL2JvYXJkLmMgdG8gZW5hYmxlIGRlYnVnIG1lc3NhZ2VzLgogICBOZXcgQ09ORklHX0RJU1BMQVlfQ1BVSU5GTyBhbmQgQ09ORklHX0RJU1BMQVlfQk9BUkRJTkZPIG9wdGlvbnMuCi0gIFBhdGNoICBieSBTdGVmYW4gUm9lc2UsIDI0IEphbiAyMDA2CisgIFBhdGNoCSBieSBTdGVmYW4gUm9lc2UsIDI0IEphbiAyMDA2CiAKICogRml4IHZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3Mgb24gcHBjNHh4IGJ1aWxkcyAoRUxESyA0LjApCiAgIFBhdGNoIGJ5IFN0ZWZhbiBSb2VzZSwgMTggSmFuIDIwMDYKQEAgLTU4OCwxMSArNTg5LDExIEBACiAKICogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIFBIWXMuCiAgIFRlc3RlZCBvbiB0aGUgZm9sbG93aW5nIGJvYXJkczoKLQljbWNwdTIgICAgICAoYXQ5MXJtOTIwMC9ldGhlci5jKQorCWNtY3B1MgkgICAgKGF0OTFybTkyMDAvZXRoZXIuYykKIAlQUENoYW1lbGVvbiAocHBjNHh4LzR4eF9lbmV0LmMpCi0JeXVrb24gICAgICAgKG1wYzgyMjAvZmVjLmMpCi0JdWMxMDAgICAgICAgKG1wYzh4eC9mZWMuYykKLQl0cW04MzR4ICAgICAobXBjODM0eC90c2VjLmMpIHdpdGggRUVQUk8xMDAKKwl5dWtvbgkgICAgKG1wYzgyMjAvZmVjLmMpCisJdWMxMDAJICAgIChtcGM4eHgvZmVjLmMpCisJdHFtODM0eAkgICAgKG1wYzgzNHgvdHNlYy5jKSB3aXRoIEVFUFJPMTAwCiAJbGl0ZTUyMDAgICAgKG1wYzV4eHgvZmVjLmMpIHdpdGggRUVQUk8xMDAgY2FyZCAoZHJpdmVycy9lZXBybzEwMC5jKQogICBNYWluIGNoYW5nZXMgaW5jbHVkZToKICAgY29tbW9uL21paXBoeXV0aWwuYwpAQCAtMTEzMiwxOCArMTEzMywxOCBAQAogICBUaGUgZmlyc3Qgb25lIGlzIHRvIGRlZmluZSBhIHNpbmdsZSwgc3RhdGljIHBhcnRpdGlvbjoKIAogICAjdW5kZWYgQ09ORklHX0pGRlMyX0NNRExJTkUKLSAgI2RlZmluZSBDT05GSUdfSkZGUzJfREVWICAgICAgICAgICAgICAgIm5vcjAiCi0gICNkZWZpbmUgQ09ORklHX0pGRlMyX1BBUlRfU0laRSAgICAgICAgIDB4RkZGRkZGRkYJLyogdXNlIHdob2xlIGRldmljZSAqLwotICAjZGVmaW5lIENPTkZJR19KRkZTMl9QQVJUX1NJWkUgICAgICAgICAweDAwMTAwMDAwCS8qIHVzZSAxTUIgKi8KLSAgI2RlZmluZSBDT05GSUdfSkZGUzJfUEFSVF9PRkZTRVQgICAgICAgMHgwMDAwMDAwMAorICAjZGVmaW5lIENPTkZJR19KRkZTMl9ERVYJCSAibm9yMCIKKyAgI2RlZmluZSBDT05GSUdfSkZGUzJfUEFSVF9TSVpFCSAweEZGRkZGRkZGCS8qIHVzZSB3aG9sZSBkZXZpY2UgKi8KKyAgI2RlZmluZSBDT05GSUdfSkZGUzJfUEFSVF9TSVpFCSAweDAwMTAwMDAwCS8qIHVzZSAxTUIgKi8KKyAgI2RlZmluZSBDT05GSUdfSkZGUzJfUEFSVF9PRkZTRVQJIDB4MDAwMDAwMDAKIAogICBUaGUgc2Vjb25kIG1ldGhvZCB1c2VzIHRoZSBtdGRwYXJ0cyBjb21tYW5kIGxpbmUgb3B0aW9uIGFuZCBkeW5hbWljCiAgIHBhcnRpdGlvbmluZzoKIAogICAvKiBtdGRwYXJ0cyBjb21tYW5kIGxpbmUgc3VwcG9ydCAqLwogICAjZGVmaW5lIENPTkZJR19KRkZTMl9DTURMSU5FCi0gICNkZWZpbmUgTVRESURTX0RFRkFVTFQgICAgICAgICAibm9yMT16dW1hLTEsbm9yMj16dW1hLTIiCi0gICNkZWZpbmUgTVREUEFSVFNfREVGQVVMVCAgICAgICAibXRkcGFydHM9enVtYS0xOi0oamZmczIpLHp1bWEtMjotKHVzZXIpIgorICAjZGVmaW5lIE1URElEU19ERUZBVUxUCSAibm9yMT16dW1hLTEsbm9yMj16dW1hLTIiCisgICNkZWZpbmUgTVREUEFSVFNfREVGQVVMVAkgIm10ZHBhcnRzPXp1bWEtMTotKGpmZnMyKSx6dW1hLTI6LSh1c2VyKSIKIAogICBDb21tYW5kIGxpbmUgb2YgY291cnNlIHByb2R1Y2VzIGJpZ2dlciBpbWFnZXMsIGFuZCBtYXkgYmUgaW5hcHByb3ByaWF0ZQogICBmb3Igc29tZSB0YXJnZXRzLCBzbyBieSBkZWZhdWx0IGl0J3Mgb2ZmLgpAQCAtMzQ1Niw3ICszNDU3LDcgQEAKICAgQnJpbmcgQVJNIG1lbW9yeSBsYXlvdXQgaW4gc3luYyB3aXRoIHRoZSBkb2N1bWVudGF0aW9uOgogICBzdGFjayBhbmQgbWFsbG9jLWhlYXAgYXJlIG5vdyBsb2NhdGVkIF9iZWxvd18gdGhlIFUtQm9vdCBjb2RlCiAKLSogQWNjZWxlcmF0ZSBib290aW5nIG9uIFRSQUIgYm9hcmQ6IHJlYWQgYW5kIGNoZWNrICBhdXRvdXBkYXRlICBpbWFnZQorKiBBY2NlbGVyYXRlIGJvb3Rpbmcgb24gVFJBQiBib2FyZDogcmVhZCBhbmQgY2hlY2sgIGF1dG91cGRhdGUJaW1hZ2UKICAgaGVhZGVycyBmaXJzdCBpbnN0ZWFkIG9mIGFsd2F5cyByZWFkaW5nIHRoZSB3aG9sZSBpbWFnZXMuCiAKICogRml4IHR5cGUgaW4gTVBDNVhYWCBjb2RlIChwb2ludGVkIG91dCBieSBWaWN0b3IgV3JlbikKQEAgLTM1NzYsNyArMzU3Nyw3IEBACiAqIE1ha2UgNTIwMCByZXNldCBjb21tYW5kIF9yZWFsbHlfIHJlc2V0IHRoZSBib2FyZCwgd2l0aG91dCBydW5uaW5nCiAgIGFueSBvdGhlciBjb2RlIGFmdGVyIGl0CiAKLSogRml4IGVycm9ycyB3aXRoIGZsYXNoIGVyYXNlIHdoZW4gcmFuZ2Ugc3BhbnMgIGFjcm9zcyBiYW5rcworKiBGaXggZXJyb3JzIHdpdGggZmxhc2ggZXJhc2Ugd2hlbiByYW5nZSBzcGFucwlhY3Jvc3MgYmFua3MKICAgdGhhdCBhcmUgbWFwcGVkIGluIHJldmVyc2Ugb3JkZXIKIAogKiBGaXggZmxhc2ggbWFwcGluZyBhbmQgZGlzcGxheSBvbiBQM0c0IGJvYXJkCkBAIC0zODIwLDcgKzM4MjEsNyBAQAogICBvciAxIHggQU0yOUxWNjUyICh0d28gTFYwNjUgaW4gb25lIGNoaXAgPSAxNiBNQik7CiAgIFJ1biBJUEIgYXQgMTMzIE1oejsgYWRqdXN0IHRoZSBNSUkgY2xvY2sgZnJlcXVlbmN5IGFjY29yZGluZ2x5CiAKLSogU2V0IEJSR19DTEsgb24gUE04MjUvODI2IHRvIDY0TUh6IChWQ09fT1VUIC8gNCwgaW5zdGVhZCBvZiAxNiAgTUh6KQorKiBTZXQgQlJHX0NMSyBvbiBQTTgyNS84MjYgdG8gNjRNSHogKFZDT19PVVQgLyA0LCBpbnN0ZWFkIG9mIDE2CSBNSHopCiAgIHRvIGFsbG93IGZvciBtb3JlIGFjY3VyYXRlIGJhdWRyYXRlIHNldHRpbmdzCiAgIChlcnJvciBub3cgMC43JSBhdCAxMTUga2JwcywgaW5zdGVhZCBvZiAzLjUlIGJlZm9yZSkKIApAQCAtNDMwNyw3ICs0MzA4LDcgQEAKICAgVXBkYXRlIGZvciBNUEM4MjY2QURTIGJvYXJkCiAKICogR2V0IChtb3N0bHkpIHJpZCBvZiBDRkdfTU9OSVRPUl9MRU4gZGVmaW5pdGlvbjsgY29tcHV0ZSByZWFsIGxlbmd0aAotICBpbnN0ZWFkIENGR19NT05JVE9SX0xFTiBpcyBub3cgb25seSB1c2VkIHRvIGRldGVybWluZSAgX2F0X2NvbXBpbGVfCisgIGluc3RlYWQgQ0ZHX01PTklUT1JfTEVOIGlzIG5vdyBvbmx5IHVzZWQgdG8gZGV0ZXJtaW5lCSBfYXRfY29tcGlsZV8KICAgX3RpbWVfICAoISkgaWYgdGhlIGVudmlyb25tZW50IGlzIGVtYmVkZGVkIHdpdGhpbiB0aGUgVS1Cb290IGltYWdlLAogICBvciBpbiBhIHNlcGFyYXRlIGZsYXNoIHNlY3Rvci4KIApAQCAtNDM1Nyw3ICs0MzU4LDcgQEAKICogUGF0Y2ggYnkgVGhvbWFzIFNjaORmZXIsIDI4IEFwciAyMDAzOgogICBGaXggU1BEIGhhbmRsaW5nIGZvciAyNTYgRUNDIERJTU0gb24gV2FsbnV0CiAKLSogQWRkIHN1cHBvcnQgZm9yIGFyYml0cmFyeSBiaXRtYXBzIGZvciBUUkFCJ3MgIFZGRCBjb21tYW5kOworKiBBZGQgc3VwcG9ydCBmb3IgYXJiaXRyYXJ5IGJpdG1hcHMgZm9yIFRSQUIncwlWRkQgY29tbWFuZDsKICAgYWxsb3cgdG8gcGFzcyBib290IGJpdG1hcCBhZGRyZXNzZXMgaW4gZW52aXJvbm1lbnQgdmFyaWFibGVzOwogICBhbGxvdyBmb3IgemVybyBib290IGRlbGF5CiAKQEAgLTQ3MDAsNyArNDcwMSw3IEBACiAKICogQWRkIFZGRCB0eXBlIGRldGVjdGlvbiB0byB0cmFiIGJvYXJkCiAKLSogZXh0ZW5kIGRyaXZlcnMvY3M4OTAwLmMgZHJpdmVyIHRvIHN5bmNocm9uaXplICBldGhhZGRyICBlbnZpcm9ubWVudAorKiBleHRlbmQgZHJpdmVycy9jczg5MDAuYyBkcml2ZXIgdG8gc3luY2hyb25pemUJIGV0aGFkZHIgIGVudmlyb25tZW50CiAgIHZhcmlhYmxlIHdpdGggdmFsdWUgaW4gdGhlIEVFUFJPTQogCiAqIFBhdGNoIGJ5IFN0ZWZhbiBSb2VzZSwgMTAgRmViIDIwMDM6CkBAIC00ODYwLDcgKzQ4NjEsNyBAQAogKiBQYXRjaCBieSBQaWVycmUgQXViZXJ0LCAwNSBOb3YgMjAwMgogICBBZGQgc3VwcG9ydCBmb3Igc2xhdmUgc2VyaWFsIFNwYXJ0YW4gMiBGUEdBcwogCi0qIEZpeCB1bmluaXRpYWxpemVkIG1lbW9yeSAoTUFDICBhZGRyZXNzKSAgaW4gIDh4eCAgU0NDL0ZFQyAgZXRoZXJuZXQKKyogRml4IHVuaW5pdGlhbGl6ZWQgbWVtb3J5IChNQUMJIGFkZHJlc3MpICBpbiAgOHh4ICBTQ0MvRkVDICBldGhlcm5ldAogICBkcml2ZXJzCiAKICogQWRkIHN1cHBvcnQgZm9yIGxvZyBidWZmZXIgd2hpY2ggY2FuIGJlIHBhc3NlZCB0byBMaW51eCBrZXJuZWwncwo=