ZGlmZiAtLWdpdCBhL2RvYy9kZXZfZ3VpZGUvYXYxX2VuY29kZXIuZG94IGIvZG9jL2Rldl9ndWlkZS9hdjFfZW5jb2Rlci5kb3gKaW5kZXggMTY0ZjBhNS4uMzZjMjYwNSAxMDA2NDQKLS0tIGEvZG9jL2Rldl9ndWlkZS9hdjFfZW5jb2Rlci5kb3gKKysrIGIvZG9jL2Rldl9ndWlkZS9hdjFfZW5jb2Rlci5kb3gKQEAgLTEsMTkgKzEsMTc5IEBACi0vKiFccGFnZSBlbmNvZGVyX2d1aWRlIEFWMSBFTkNPRElORyBURUNITklRVUVTCisvKiFccGFnZSBlbmNvZGVyX2d1aWRlIEFWMSBFTkNPREVSIEdVSURFCiAKLSAgQVYxIGVuY29kaW5nIGFsZ29yaXRobSBjb25zaXN0cyBmb2xsb3dpbmcgbW9kdWxlczoKLSAgICAtIFxyZWYgaGlnaF9sZXZlbF9hbGdvCi0gICAgICAtIFxyZWYgZnJhbWVfY29kaW5nX3BpcGVsaW5lCi0gICAgICAtIFxyZWYgdHdvX3Bhc3NfYWxnbwotICAgICAgLSBccmVmIGxvb2tfYWhlYWRfYnVmZmVyCi0gICAgLSBccmVmIHBhcnRpdGlvbl9zZWFyY2gKLSAgICAtIFxyZWYgaW50cmFfbW9kZV9zZWFyY2gKLSAgICAtIFxyZWYgaW50ZXJfbW9kZV9zZWFyY2gKLSAgICAtIFxyZWYgdHJhbnNmb3JtX3NlYXJjaAotICAgIC0gXHJlZiBpbl9sb29wX2ZpbHRlcgotICAgIC0gXHJlZiBpbl9sb29wX2NkZWYKLSAgICAtIFxyZWYgaW5fbG9vcF9yZXN0b3JhdGlvbgotICAgIC0gXHJlZiByYXRlX2NvbnRyb2wKLSAgICAqLworXHRhYmxlb2Zjb250ZW50cworCitcc2VjdGlvbiBhcmNoaXRlY3R1cmVfaW50cm9kdWN0aW9uIEludHJvZHVjdGlvbgorCitUaGlzIGRvY3VtZW50IHByb3ZpZGVzIGFuIGFyY2hpdGVjdHVyYWwgb3ZlcnZpZXcgb2YgdGhlIGxpYmFvbSBBVjEgZW5jb2Rlci4KKworSXQgaXMgaW50ZW5kZWQgYXMgYSBoaWdoIGxldmVsIHN0YXJ0aW5nIHBvaW50IGZvciBhbnlvbmUgd2lzaGluZyB0byBjb250cmlidXRlCit0byB0aGUgcHJvamVjdCwgdGhhdCB3aWxsIGhlbHAgdGhlbSB0byBtb3JlIHF1aWNrbHkgdW5kZXJzdGFuZCB0aGUgc3RydWN0dXJlCitvZiB0aGUgZW5jb2RlciBhbmQgZmluZCB0aGVpciB3YXkgYXJvdW5kIHRoZSBjb2RlYmFzZS4KKworSXQgc3RhbmRzIGFib3ZlIGFuZCB3aWxsIHdoZXJlIG5lY2Vzc2FyeSBsaW5rIHRvIG1vcmUgZGV0YWlsZWQgZnVuY3Rpb24KK2xldmVsIGRvY3VtZW50cy4KKworXHNlY3Rpb24gIGFyY2hpdGVjdHVyZV9nZW5jb2RlY3MgR2VuZXJpYyBCbG9jayBUcmFuc2Zvcm0gQmFzZWQgQ29kZWNzCisKK01vc3QgbW9kZXJuIHZpZGVvIGVuY29kZXJzIGluY2x1ZGluZyBWUDgsIEguMjY0LCBWUDksIEhFVkMgYW5kIEFWMQorKGluIGluY3JlYXNpbmcgb3JkZXIgb2YgY29tcGxleGl0eSkgc2hhcmUgYSBjb21tb24gYmFzaWMgcGFyYWRpZ20uIFRoaXMKK2NvbXByaXNlcyBzZXBhcmF0aW5nIGEgc3RyZWFtIG9mIHJhdyB2aWRlbyBmcmFtZXMgaW50byBhIHNlcmllcyBvZiBkaXNjcmV0ZQorYmxvY2tzIChvZiBvbmUgb3IgbW9yZSBzaXplcyksIHRoZW4gY29tcHV0aW5nIGEgcHJlZGljdGlvbiBzaWduYWwgYW5kIGEKK3F1YW50aXplZCwgdHJhbnNmb3JtIGNvZGVkLCByZXNpZHVhbCBlcnJvciBzaWduYWwuIFRoZSBwcmVkaWN0aW9uIGFuZCByZXNpZHVhbAorZXJyb3Igc2lnbmFsLCBhbG9uZyB3aXRoIGFueSBzaWRlIGluZm9ybWF0aW9uIG5lZWRlZCBieSB0aGUgZGVjb2RlciwgYXJlIHRoZW4KK2VudHJvcHkgY29kZWQgYW5kIHBhY2tlZCB0byBmb3JtIHRoZSBlbmNvZGVkIGJpdHN0cmVhbS4gU2VlIEZpZ3VyZSAxOiBiZWxvdywKK3doZXJlIHRoZSBibHVlIGJsb2NrcyBhcmUsIHRvIGFsbCBpbnRlbnRzIGFuZCBwdXJwb3NlcywgdGhlIGxvc3NsZXNzIHBhcnRzIG9mCit0aGUgZW5jb2RlciBhbmQgdGhlIHJlZCBibG9jayBpcyB0aGUgbG9zc3kgcGFydC4KKworVGhpcyBpcyBvZiBjb3Vyc2UgYSBncm9zcyBvdmVyc2ltcGxpZmljYXRpb24sIGV2ZW4gaW4gcmVnYXJkIHRvIHRoZSBzaW1wbGVzdAorb2YgdGhlIGFib3ZlIGNvZGVjcy4gIEZvciBleGFtcGxlLCBhbGwgb2YgdGhlbSBhbGxvdyBmb3IgYmxvY2sgYmFzZWQKK3ByZWRpY3Rpb24gYXQgbXVsdGlwbGUgZGlmZmVyZW50IHNjYWxlcyAoaS5lLiBkaWZmZXJlbnQgYmxvY2sgc2l6ZXMpIGFuZCBtYXkKK3VzZSBwcmV2aW91c2x5IGNvZGVkIHBpeGVscyBpbiB0aGUgY3VycmVudCBmcmFtZSBmb3IgcHJlZGljdGlvbiBvciBwaXhlbHMgZnJvbQorb25lIG9yIG1vcmUgcHJldmlvdXNseSBlbmNvZGVkIGZyYW1lcy4gRnVydGhlciwgdGhleSBtYXkgc3VwcG9ydCBtdWx0aXBsZQorZGlmZmVyZW50IHRyYW5zZm9ybXMgYW5kIHRyYW5zZm9ybSBzaXplcyBhbmQgcXVhbGl0eSBvcHRpbWl6YXRpb24gdG9vbHMgbGlrZQorbG9vcCBmaWx0ZXJpbmcuCisKK1xpbWFnZSBodG1sIGdlbmVyaWNjb2RlY2Zsb3cucG5nICIiIHdpZHRoPTcwJQorCitcc2VjdGlvbiBhcmNoaXRlY3R1cmVfYXYxX3N0cnVjdHVyZSBBVjEgU3RydWN0dXJlIGFuZCBDb21wbGV4aXR5CisKK0FzIHByZXZpb3VzbHkgc3RhdGVkLCBBVjEgYWRvcHRzIHRoZSBzYW1lIHVuZGVybHlpbmcgcGFyYWRpZ20gYXMgb3RoZXIgYmxvY2sKK3RyYW5zZm9ybSBiYXNlZCBjb2RlY3MuIEhvd2V2ZXIsIGl0IGlzIG11Y2ggbW9yZSBjb21wbGljYXRlZCB0aGFuIHByZXZpb3VzCitnZW5lcmF0aW9uIGNvZGVjcyBhbmQgc3VwcG9ydHMgbWFueSBtb3JlIGJsb2NrIHBhcnRpdGlvbmluZywgcHJlZGljdGlvbiBhbmQKK3RyYW5zZm9ybSBvcHRpb25zLgorCitBVjEgc3VwcG9ydHMgYmxvY2sgcGFydGl0aW9ucyBvZiB2YXJpb3VzIHNpemVzIGZyb20gMTI4eDEyOCBwaXhlbHMgZG93biB0byA0eDQKK3BpeGVscyB1c2luZyBhIG11bHRpLWxheWVyIHJlY3Vyc2l2ZSB0cmVlIHN0cnVjdHVyZSBhcyBpbGx1c3RyYXRlZCBpbiBmaWd1cmUgMgorYmVsb3cuCisKK1xpbWFnZSBodG1sIGF2MXBhcnRpdGlvbnMucG5nICIiIHdpZHRoPTcwJQorCitBVjEgYWxzbyBwcm92aWRlcyA3MSBiYXNpYyBpbnRyYSBwcmVkaWN0aW9uIG1vZGVzLCA1NiBzaW5nbGUgZnJhbWUgaW50ZXIgcHJlZGljdGlvbgorbW9kZXMgKDcgcmVmZXJlbmNlIGZyYW1lcyB4IDQgbW9kZXMgeCAyIGZvciBPQk1DIChvdmVybGFwcGVkIGJsb2NrIG1vdGlvbgorY29tcGVuc2F0aW9uKSksIDEyNzY4IGNvbXBvdW5kIGludGVyIHByZWRpY3Rpb24gbW9kZXMgKHRoYXQgY29tYmluZSBpbnRlcgorcHJlZGljdG9ycyBmcm9tIHR3byByZWZlcmVuY2UgZnJhbWVzKSBhbmQgMzY3MDggY29tcG91bmQgaW50ZXIgLyBpbnRyYQorcHJlZGljdGlvbiBtb2Rlcy4gRnVydGhlcm1vcmUsIGluIGFkZGl0aW9uIHRvIHNpbXBsZSBpbnRlciBtb3Rpb24gZXN0aW1hdGlvbiwKK0FWMSBhbHNvIHN1cHBvcnRzIHdhcnBlZCBtb3Rpb24gcHJlZGljdGlvbiB1c2luZyBhZmZpbmUgdHJhbnNmb3Jtcy4KKworSW4gdGVybXMgb2YgdHJhbnNmb3JtIGNvZGluZywgaXQgaGFzIDE2IHNlcGFyYWJsZSAyLUQgdHJhbnNmb3JtIGtlcm5lbHMKK3sgRENULCBBRFNULCBmQURTVCwgSURUWCB9MiB0aGF0IGNhbiBiZSBhcHBsaWVkIGF0IHVwIHRvIDE5IGRpZmZlcmVudCBzY2FsZXMKK2Zyb20gNjR4NjQgZG93biB0byA0eDQgcGl4ZWxzLgorCitXaGVuIGNvbWJpbmVkIHRvZ2V0aGVyLCB0aGlzIG1lYW5zIHRoYXQgZm9yIGFueSBvbmUgOHg4IHBpeGVsIGJsb2NrIGluIGEKK3NvdXJjZSBmcmFtZSwgdGhlcmUgYXJlIGFwcHJveGltYXRlbHkgNDUsMDAwLDAwMCBkaWZmZXJlbnQgd2F5cyB0aGF0IGl0IGNhbgorYmUgZW5jb2RlZC4KKworQ29uc2VxdWVudGx5LCBBVjEgcmVxdWlyZXMgY29tcGxleCBjb250cm9sIHByb2Nlc3Nlcy4gV2hpbGUgbm90IG5lY2Vzc2FyaWx5CithIG5vcm1hdGl2ZSBwYXJ0IG9mIHRoZSBiaXRzdHJlYW0sIHRoZXNlIGFyZSB0aGUgYWxnb3JpdGhtcyB0aGF0IHR1cm4gYSBzZXQKK29mIGNvbXByZXNzaW9uIHRvb2xzIGFuZCBhIGJpdHN0cmVhbSBmb3JtYXQgc3BlY2lmaWNhdGlvbiwgaW50byBhIGNvaGVyZW50CithbmQgdXNlZnVsIGNvZGVjIGltcGxlbWVudGF0aW9uLiBUaGVzZSBtYXkgaW5jbHVkZSBidXQgYXJlIG5vdCBsaW1pdGVkIHRvCit0aGluZ3MgbGlrZSA6LQorCistIFJhdGUgZGlzdG9ydGlvbiBvcHRpbWl6YXRpb24gKFRoZSBwcm9jZXNzIG9mIHRyeWluZyB0byBjaG9vc2UgdGhlIG1vc3QKKyAgZWZmaWNpZW50IGNvbWJpbmF0aW9uIG9mIGJsb2NrIHNpemUsIHByZWRpY3Rpb24gbW9kZSwgdHJhbnNmb3JtIHR5cGUKKyAgZXRjLikKKy0gUmF0ZSBjb250cm9sIChyZWd1bGF0aW9uIG9mIHRoZSBvdXRwdXQgYml0cmF0ZSkKKy0gRW5jb2RlciBzcGVlZCB2cyBxdWFsaXR5IHRyYWRlIG9mZnMuCistIEZlYXR1cmVzIHN1Y2ggYXMgdHdvIHBhc3MgZW5jb2Rpbmcgb3Igb3B0aW1pemF0aW9uIGZvciBsb3cgZGVsYXkKKyAgZW5jb2RpbmcuCisKK0ZvciBhIG1vcmUgZGV0YWlsZWQgb3ZlcnZpZXcgb2YgQVYxknMgZW5jb2RpbmcgdG9vbHMgYW5kIGEgZGlzY3Vzc2lvbiBvZiBzb21lCitvZiB0aGUgZGVzaWduIGNvbnNpZGVyYXRpb25zIGFuZCBoYXJkd2FyZSBjb25zdHJhaW50cyB0aGF0IGhhZCB0byBiZQorYWNjb21tb2RhdGVkLCBwbGVhc2UgcmVmZXIgdG8gKioqIFRPRE8gbGluayB0byBKaW5nbmluZ5JzIEFWMSBvdmVydmlldyBwYXBlci4KKworRmlndXJlIDMgcHJvdmlkZXMgYSBzbGlnaHRseSBleHBhbmRlZCBidXQgc3RpbGwgc2ltcGxpc3RpYyB2aWV3IG9mIHRoZQorQVYxIGVuY29kZXIgYXJjaGl0ZWN0dXJlIHdpdGggYmxvY2tzIHRoYXQgcmVsYXRlIHRvIHNvbWUgb2YgdGhlIHN1YnNlcXVlbnQKK3NlY3Rpb25zIG9mIHRoaXMgZG9jdW1lbnQuIEluIHRoaXMgZGlhZ3JhbSwgdGhlIHJhdyB1bmNvbXByZXNzZWQgZnJhbWUgYnVmZmVycworYXJlIHNob3duIGluIGRhcmsgZ3JlZW4gYW5kIHRoZSByZWNvbnN0cnVjdGVkIGZyYW1lIGJ1ZmZlcnMgdXNlZCBmb3IKK3ByZWRpY3Rpb24gaW4gbGlnaHQgZ3JlZW4uIFJlZCBpbmRpY2F0ZXMgdGhvc2UgcGFydHMgb2YgdGhlIGNvZGVjIHRoYXQgYXJlCisob3IgbWF5IGJlKSCTbG9zc3mULCB3aGVyZSBmaWRlbGl0eSBjYW4gYmUgdHJhZGVkIG9mZiBhZ2FpbnN0IGNvbXByZXNzaW9uCitlZmZpY2llbmN5LCB3aGlsc3QgbGlnaHQgYmx1ZSBzaG93cyBhbGdvcml0aG1zIG9yIGNvZGluZyB0b29scyB0aGF0IGFyZQorbG9zc2xlc3MuIFRoZSB5ZWxsb3cgYmxvY2tzIHJlcHJlc2VudCBub24tYml0c3RyZWFtIG5vcm1hdGl2ZSBjb25maWd1cmF0aW9uCithbmQgY29udHJvbCBhbGdvcml0aG1zLgorCitcaW1hZ2UgaHRtbCBhdjFlbmNvZGVyZmxvdy5wbmcgIiIgd2lkdGg9NzAlCisKK1xzZWN0aW9uIGFyY2hpdGVjdHVyZV9jb21tYW5kX2xpbmUgVGhlIExpYmFvbSBDb21tYW5kIExpbmUgSW50ZXJmYWNlCisKKyBBZGQgZGV0YWlscyBvciBsaW5rcyBoZXJlOiBUT0RPID8gZWxsaW90a0AKKworXHNlY3Rpb24gYXJjaGl0ZWN0dXJlX2VuY19kYXRhX3N0cnVjdHVyZXMgTWFpbiBFbmNvZGVyIERhdGEgU3RydWN0dXJlcworCisgVGhlIGZvbGxvd2luZyBhcmUgdGhlIG1haW4gaGlnaCBsZXZlbCBkYXRhIHN0cnVjdHVyZXMgdXNlZCBieSB0aGUgbGliYW9tIEFWMSBlbmNvZGVyOgorCisgLSBccmVmIEFWMV9DT01QCisgLSBBZGQgZGV0YWlscywgcmVmZXJlbmNlcyBvciBsaW5rcyBoZXJlOiBUT0RPID8gdXJ2YW5nQAorCisKK1xzZWN0aW9uIGFyY2hpdGVjdHVyZV9lbmNfdXNlX2Nhc2VzIEVuY29kZXIgVXNlIENhc2VzCisKKyBBZGQgZGV0YWlscyBoZXJlLgorCitcc2VjdGlvbiBhcmNoaXRlY3R1cmVfZW5jX3JhdGVfY3RybCBSYXRlIENvbnRyb2wKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzdWJzZWN0aW9uIGFyY2hpdGVjdHVyZV9lbmNfdmJyIFZhcmlhYmxlIEJpdHJhdGUgKFZCUikgRW5jb2RpbmcKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzdWJzZWN0aW9uIGFyY2hpdGVjdHVyZV9lbmNfMXBhc3NfbGFnZ2VkIDEgUGFzcyBMYWdnZWQgVkJSIEVuY29kaW5nCisKKyBBZGQgZGV0YWlscyBoZXJlLgorCitcc3Vic2VjdGlvbiBhcmNoaXRlY3R1cmVfZW5jX3JjX2xvb3AgVGhlIE1haW4gUmF0ZSBDb250cm9sIExvb3AKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzdWJzZWN0aW9uIGFyY2hpdGVjdHVyZV9lbmNfZml4ZWRfcSBGaXhlZCBRIE1vZGUKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzZWN0aW9uIGFyY2hpdGVjdHVyZV9lbmNfc3JjX3Byb2MgU291cmNlIEZyYW1lIFByb2Nlc3NpbmcKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzZWN0aW9uIGFyY2hpdGVjdHVyZV9lbmNfaGllcmFjaGljYWwgSGllcmFyY2hpY2FsIENvZGluZworCisgQWRkIGRldGFpbHMgaGVyZS4KKworXHNlY3Rpb24gYXJjaGl0ZWN0dXJlX2VuY190cGwgVGVtcG9yYWwgRGVwZW5kZW5jeSBNb2RlbGxpbmcKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzZWN0aW9uIGFyY2hpdGVjdHVyZV9lbmNfcGFydGl0aW9ucyBCbG9jayBQYXJ0aXRpb24gU2VhcmNoCisKKyBBZGQgZGV0YWlscyBoZXJlLgorCitcc2VjdGlvbiBhcmNoaXRlY3R1cmVfZW5jX2ludGVyX21vZGVzIEludGVyIFByZWRpY3Rpb24gTW9kZSBTZWFyY2gKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzZWN0aW9uIGFyY2hpdGVjdHVyZV9lbmNfaW50cmFfbW9kZXMgSW50cmEgTW9kZSBTZWFyY2gKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzZWN0aW9uIGFyY2hpdGVjdHVyZV9lbmNfdHhfc2VhcmNoIFRyYW5zZm9ybSBTZWFyY2gKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzZWN0aW9uIGFyY2hpdGVjdHVyZV9sb29wX2ZpbHQgTG9vcCBGaWx0ZXJpbmcKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzZWN0aW9uIGFyY2hpdGVjdHVyZV9sb29wX3Jlc3QgTG9vcCBSZXN0b3JhdGlvbiBGaWx0ZXJpbmcKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzZWN0aW9uIGFyY2hpdGVjdHVyZV9jZGVmIENERUYKKworIEFkZCBkZXRhaWxzIGhlcmUuCisKK1xzZWN0aW9uIGFyY2hpdGVjdHVyZV9lbnRyb3B5IEVudHJvcHkgQ29kaW5nCisKKyBBZGQgZGV0YWlscyBoZXJlLgorCisqLwogCiAvKiFcZGVmZ3JvdXAgZW5jb2Rlcl9hbGdvIEVuY29kZXIgQWxnb3JpdGhtCiAgKgpAQCAtMjk5LDQgKzQ1OSw0IEBACiAgKiBNb3JlIGRldGFpbHMgd2lsbCBiZSBhZGRlZC4KICAqIEB7CiAgKi8KLS8qISBAfSAtIGVuZCBkZWZncm91cCByYXRlX2NvbnRyb2wgKi8KKy8qISBAfSAtIGVuZCBkZWZncm91cCByYXRlX2NvbnRyb2wgKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvZGV2X2d1aWRlL2F2MWVuY29kZXJmbG93LnBuZyBiL2RvYy9kZXZfZ3VpZGUvYXYxZW5jb2RlcmZsb3cucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNjlmY2UKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvZGV2X2d1aWRlL2F2MWVuY29kZXJmbG93LnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9kb2MvZGV2X2d1aWRlL2F2MXBhcnRpdGlvbnMucG5nIGIvZG9jL2Rldl9ndWlkZS9hdjFwYXJ0aXRpb25zLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjU0MzlmCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL2Rldl9ndWlkZS9hdjFwYXJ0aXRpb25zLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9kb2MvZGV2X2d1aWRlL2dlbmVyaWNjb2RlY2Zsb3cucG5nIGIvZG9jL2Rldl9ndWlkZS9nZW5lcmljY29kZWNmbG93LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWE2YjJmCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL2Rldl9ndWlkZS9nZW5lcmljY29kZWNmbG93LnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCg==