ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC92aXNvci5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL3Zpc29yLmMKaW5kZXggMGFjMDM3Ny4uMzlhZDBjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3Zpc29yLmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL3Zpc29yLmMKQEAgLTcsMTM5ICs3LDEwIEBACiAgKgogICoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UuCiAgKgogICogU2VlIERvY3VtZW50YXRpb24vdXNiL3VzYi1zZXJpYWwudHh0IGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHVzaW5nIHRoaXMgZHJpdmVyCiAgKgotICogKDA2LzAzLzIwMDMpIEp1ZGQgTW9udGdvbWVyeSA8anVkZCBhdCBqcGlsb3Qub3JnPgotICogICAgIEFkZGVkIHN1cHBvcnQgZm9yIG1vZHVsZSBwYXJhbWV0ZXIgb3B0aW9ucyBmb3IgdW50ZXN0ZWQvdW5rbm93bgotICogICAgIGRldmljZXMuCi0gKgotICogKDAzLzA5LzIwMDMpIGdraAotICoJQWRkZWQgc3VwcG9ydCBmb3IgdGhlIFNvbnkgQ2xpZSBOWjkwViBkZXZpY2UuICBUaGFua3MgdG8gTWFydGluIEJyYWNodGwKLSAqCTxicmFjaHRsQHJlZGdyZXAuY3o+IGZvciB0aGUgaW5mb3JtYXRpb24uCi0gKgotICogKDAzLzA1LzIwMDMpIGdraAotICoJVGhpbmsgVHJlbyBzdXBwb3J0IGlzIG5vdyB3b3JraW5nLgotICoKLSAqICgwNC8wMy8yMDAyKSBna2gKLSAqCUFkZGVkIHN1cHBvcnQgZm9yIHRoZSBTb255IE9TIDQuMSBkZXZpY2VzLiAgVGhhbmtzIHRvIEhpcm95dWtpIEFSQUtJCi0gKgk8aGlyb0B6b2IubmUuanA+IGZvciB0aGUgaW5mb3JtYXRpb24uCi0gKgotICogKDAzLzI3LzIwMDIpIGdraAotICoJUmVtb3ZlZCBhc3N1bXB0aW9ucyB0aGF0IHBvcnQtPnR0eSB3YXMgYWx3YXlzIHZhbGlkIChpcyBub3QgdHJ1ZQotICoJZm9yIHVzYiBzZXJpYWwgY29uc29sZSBkZXZpY2VzLikKLSAqCi0gKiAoMDMvMjMvMjAwMikgZ2toCi0gKglBZGRlZCBzdXBwb3J0IGZvciB0aGUgUGFsbSBpNzA1IGRldmljZSwgdGhhbmtzIHRvIFRob21hcyBSaWVtZXIKLSAqCTx0b21AbmV0bWVjaC5jb20+IGZvciB0aGUgaW5mb3JtYXRpb24uCi0gKgotICogKDAzLzIxLzIwMDIpIGdraAotICoJQWRkZWQgc3VwcG9ydCBmb3IgdGhlIFBhbG0gbTEzMCBkZXZpY2UsIHRoYW5rcyB0byBVZG8gRWlzZW5iYXJ0aAotICoJPHVkby5laXNlbmJhcnRoQHdlYi5kZT4gZm9yIHRoZSBpbmZvcm1hdGlvbi4KLSAqCi0gKiAoMDIvMjcvMjAwMikgZ2toCi0gKglSZXdvcmtlZCB0aGUgdXJiIGhhbmRsaW5nIGxvZ2ljLiAgV2UgaGF2ZSBubyBtb3JlIHBvb2wsIGJ1dCBkeW5hbWljYWxseQotICoJYWxsb2NhdGUgdGhlIHVyYiBhbmQgdGhlIHRyYW5zZmVyIGJ1ZmZlciBvbiB0aGUgZmx5LiAgSW4gdGVzdGluZyB0aGlzCi0gKglkb2VzIG5vdCBpbmN1cmUgYW55IG1lYXN1cmFibGUgb3ZlcmhlYWQuICBUaGlzIGFsc28gcmVsaWVzIG9uIHRoZSBmYWN0Ci0gKgl0aGF0IHdlIGhhdmUgcHJvcGVyIHJlZmVyZW5jZSBjb3VudGluZyBsb2dpYyBmb3IgdXJicy4KLSAqCi0gKiAoMDIvMjEvMjAwMikgU2lsYVMKLSAqICBBZGRlZCBpbml0aWFsIHN1cHBvcnQgZm9yIHRoZSBQYWxtIG01MTUgZGV2aWNlcy4KLSAqCi0gKiAoMDIvMTQvMjAwMikgZ2toCi0gKglBZGRlZCBzdXBwb3J0IGZvciB0aGUgQ2xpZSBTLTM2MCBkZXZpY2UuCi0gKgotICogKDEyLzE4LzIwMDEpIGdraAotICoJQWRkZWQgYmV0dGVyIENsaWUgc3VwcG9ydCBmb3IgMy41IGRldmljZXMuICBUaGFua3MgdG8gR2VvZmZyZXkgTGV2YW5kCi0gKglmb3IgdGhlIHBhdGNoLgotICoKLSAqICgxMS8xMS8yMDAxKSBna2gKLSAqCUFkZGVkIHN1cHBvcnQgZm9yIHRoZSBtMTI1IGRldmljZXMsIGFuZCBhZGRlZCBjaGVjayB0byBwcmV2ZW50IG9vcHNlcwotICoJZm9yIENsaekgZGV2aWNlcyB0aGF0IGxpZSBhYm91dCB0aGUgbnVtYmVyIG9mIHBvcnRzIHRoZXkgaGF2ZS4KLSAqCi0gKiAoMDgvMzAvMjAwMSkgZ2toCi0gKglBZGRlZCBzdXBwb3J0IGZvciB0aGUgQ2xpZSBkZXZpY2VzLCBib3RoIHRoZSAzLjUgYW5kIDQuMCBvcyB2ZXJzaW9ucy4KLSAqCU1hbnkgdGhhbmtzIHRvIERhbmllbCBCdXJrZSwgYW5kIEJyeWFuIFBheW5lIGZvciBoZWxwaW5nIHdpdGggdGhpcy4KLSAqCi0gKiAoMDgvMjMvMjAwMSkgZ2toCi0gKglmaXhlZCBhIGZldyBwb3RlbnRpYWwgYnVncyBwb2ludGVkIG91dCBieSBPbGl2ZXIgTmV1a3VtLgotICoKLSAqICgwNS8zMC8yMDAxKSBna2gKLSAqCXN3aXRjaGVkIGZyb20gdXNpbmcgc3BpbmxvY2sgdG8gYSBzZW1hcGhvcmUsIHdoaWNoIGZpeGVzIGxvdHMgb2YgcHJvYmxlbXMuCi0gKgotICogKDA1LzI4LzIwMDApIGdraAotICoJQWRkZWQgaW5pdGlhbCBzdXBwb3J0IGZvciB0aGUgUGFsbSBtNTAwIGFuZCBQYWxtIG01MDUgZGV2aWNlcy4KLSAqCi0gKiAoMDQvMDgvMjAwMSkgZ2IKLSAqCUlkZW50aWZ5IHZlcnNpb24gb24gbW9kdWxlIGxvYWQuCi0gKgotICogKDAxLzIxLzIwMDApIGdraAotICoJQWRkZWQgd3JpdGVfcm9vbSBhbmQgY2hhcnNfaW5fYnVmZmVyLCBhcyB0aGV5IHdlcmUgcHJldmlvdXNseSB1c2luZyB0aGUKLSAqCWdlbmVyaWMgZHJpdmVyIHZlcnNpb25zIHdoaWNoIGlzIGFsbCB3cm9uZyBub3cgdGhhdCB3ZSBhcmUgdXNpbmcgYW4gdXJiCi0gKglwb29sLiAgVGhhbmtzIHRvIFdvbGZnYW5nIEdyYW5kZWdnZXIgZm9yIHBvaW50aW5nIHRoaXMgb3V0IHRvIG1lLgotICoJUmVtb3ZlZCBjb3VudCBhc3NpZ25tZW50IGluIHRoZSB3cml0ZSBmdW5jdGlvbiwgd2hpY2ggd2FzIG5vdCBuZWVkZWQgYW55bW9yZQotICoJZWl0aGVyLiAgVGhhbmtzIHRvIEFsIEJvcmNoZXJzIGZvciBwb2ludGluZyB0aGlzIG91dC4KLSAqCi0gKiAoMTIvMTIvMjAwMCkgZ2toCi0gKglNb3ZlZCBNT0RfREVDIHRvIGVuZCBvZiB2aXNvcl9jbG9zZSB0byBiZSBuaWNlciwgYXMgdGhlIGZpbmFsIHdyaXRlIAotICoJbWVzc2FnZSBjYW4gc2xlZXAuCi0gKiAKLSAqICgxMS8xMi8yMDAwKSBna2gKLSAqCUZpeGVkIGJ1ZyB3aXRoIGRhdGEgYmVpbmcgZHJvcHBlZCBvbiB0aGUgZmxvb3IgYnkgZm9yY2luZyB0dHktPmxvd19sYXRlbmN5Ci0gKgl0byBiZSBvbi4gIEhvcGVmdWxseSB0aGlzIGZpeGVzIHRoZSBPSENJIGlzc3VlIQotICoKLSAqICgxMS8wMS8yMDAwKSBBZGFtIEouIFJpY2h0ZXIKLSAqCXVzYl9kZXZpY2VfaWQgdGFibGUgc3VwcG9ydAotICogCi0gKiAoMTAvMDUvMjAwMCkgZ2toCi0gKglGaXhlZCBidWcgd2l0aCB1cmItPmRldiBub3QgYmVpbmcgc2V0IHByb3Blcmx5LCBub3cgdGhhdCB0aGUgdXNiCi0gKgljb3JlIG5lZWRzIGl0LgotICogCi0gKiAoMDkvMTEvMjAwMCkgZ2toCi0gKglHb3QgcmlkIG9mIGFsd2F5cyBjYWxsaW5nIGttYWxsb2MgZm9yIGV2ZXJ5IHVyYiB3ZSB3cm90ZSBvdXQgdG8gdGhlCi0gKglkZXZpY2UuCi0gKglBZGRlZCB2aXNvcl9yZWFkX2NhbGxiYWNrIHNvIHdlIGNhbiBrZWVwIHRyYWNrIG9mIGJ5dGVzIGluIGFuZCBvdXQgZm9yCi0gKgl0aG9zZSBwZW9wbGUgd2hvIGxpa2UgdG8ga25vdyB0aGUgc3BlZWQgb2YgdGhlaXIgZGV2aWNlLgotICoJUmVtb3ZlZCBERUJVRyAjaWZkZWZzIHdpdGggY2FsbCB0byB1c2Jfc2VyaWFsX2RlYnVnX2RhdGEKLSAqCi0gKiAoMDkvMDYvMjAwMCkgZ2toCi0gKglGaXhlZCBvb3BzIGluIHZpc29yX2V4aXQuICBOZWVkIHRvIHVuY29tbWVudCB1c2JfdW5saW5rX3VyYiBjYWxsIF9hZnRlcl8KLSAqCXRoZSBob3N0IGNvbnRyb2xsZXIgZHJpdmVycyBzZXQgdXJiLT5kZXYgPSBOVUxMIHdoZW4gdGhlIHVyYiBpcyBmaW5pc2hlZC4KLSAqCi0gKiAoMDgvMjgvMjAwMCkgZ2toCi0gKglBZGRlZCBsb2NrcyBmb3IgU01QIHNhZmVuZXNzLgotICoKLSAqICgwOC8wOC8yMDAwKSBna2gKLSAqCUZpeGVkIGVuZGlhbiBwcm9ibGVtIGluIHZpc29yX3N0YXJ0dXAuCi0gKglGaXhlZCBNT0RfSU5DIGFuZCBNT0RfREVDIGxvZ2ljIGFuZCB0aGUgYWJpbGl0eSB0byBvcGVuIGEgcG9ydCBtb3JlIAotICoJdGhhbiBvbmNlLgotICogCi0gKiAoMDcvMjMvMjAwMCkgZ2toCi0gKglBZGRlZCBwb29sIG9mIHdyaXRlIHVyYnMgdG8gc3BlZWQgdXAgdHJhbnNmZXJzIHRvIHRoZSB2aXNvci4KLSAqIAotICogKDA3LzE5LzIwMDApIGdraAotICoJQWRkZWQgbW9kdWxlX2luaXQgYW5kIG1vZHVsZV9leGl0IGZ1bmN0aW9ucyB0byBoYW5kbGUgdGhlIGZhY3QgdGhhdCB0aGlzCi0gKglkcml2ZXIgaXMgYSBsb2FkYWJsZSBtb2R1bGUgbm93LgotICoKLSAqICgwNy8wMy8yMDAwKSBna2gKLSAqCUFkZGVkIHZpc29yX3NldF9pb2N0bCBhbmQgdmlzb3Jfc2V0X3Rlcm1pb3MgZnVuY3Rpb25zICh0aGV5IGRvbid0IGRvIG11Y2gKLSAqCW9mIGFueXRoaW5nLCBidXQgYXJlIGdvb2QgZm9yIGRlYnVnZ2luZy4pCi0gKiAKLSAqICgwNi8yNS8yMDAwKSBna2gKLSAqCUZpeGVkIGJ1ZyBpbiB2aXNvcl91bnRocm90dGxlIHRoYXQgc2hvdWxkIGhlbHAgd2l0aCB0aGUgZGlzY29ubmVjdCBpbiBQUFAKLSAqCWJ1ZyB0aGF0IHBlb3BsZSBoYXZlIGJlZW4gcmVwb3J0aW5nLgotICoKLSAqICgwNi8yMy8yMDAwKSBna2gKLSAqCUNsZWFuZWQgdXAgZGVidWdnaW5nIHN0YXRlbWVudHMgaW4gYSBxdWVzdCB0byBmaW5kIFVIQ0kgdGltZW91dCBidWcuCi0gKgotICogKDA0LzI3LzIwMDApIFJ5YW4gVmFuZGVyQmlqbAotICogCUZpeGVkIG1lbW9yeSBsZWFrIGluIHZpc29yX2Nsb3NlCi0gKgotICogKDAzLzI2LzIwMDApIGdraAotICoJU3BsaXQgZHJpdmVyIHVwIGludG8gZGV2aWNlIHNwZWNpZmljIHBpZWNlcy4KLSAqIAogICovCiAKICNpbmNsdWRlIDxsaW51eC9jb25maWcuaD4K