From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v4 06/26] xen/x86: Annotate VM applicability in featureset Date: Wed, 23 Mar 2016 16:36:09 +0000 Message-ID: <1458750989-28967-7-git-send-email-andrew.cooper3@citrix.com> References: <1458750989-28967-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458750989-28967-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org VXNlIGF0dHJpYnV0ZXMgdG8gc3BlY2lmeSB3aGV0aGVyIGEgZmVhdHVyZSBpcyBhcHBsaWNhYmxl IHRvIGJlIGV4cG9zZWQgdG86CiAxKSBBbGwgZ3Vlc3RzCiAyKSBIVk0gZ3Vlc3RzCiAzKSBIVk0g SEFQIGd1ZXN0cwphbmQsIHZpYSBhYnNlbmNlIG9mIGFuIGF0dHJpYnV0ZSwgdG8gbm8gZ3Vlc3Rz LgoKVGhlcmUgaXMgbm8gY3VycmVudCBuZWVkIGZvciBvdGhlciBjYXRlZ29yaWVzIChlLmcuIFBW LW9ubHkgZmVhdHVyZXMpLCBhbmQKc3VjaCBjYXRlZ29yaWVzIHNob3VsZCBub3QgYmUgaW50cm9k dWNlZCBpZiBwb3NzaWJsZS4gIFRoZXNlIGNhdGVnb3JpZXMgZm9sbG93CmZyb20gdGhlIGZhY3Qg dGhhdCwgd2l0aCBpbmNyZWFzZWQgaGFyZHdhcmUgc3VwcG9ydCwgYSBndWVzdCBnZXRzIG1vcmUK ZmVhdHVyZXMgdG8gdXNlLgoKVGhlc2Ugc2V0dGluZ3MgYXJlIGRlcml2ZWQgZnJvbSB0aGUgZXhp c3RpbmcgY29kZSBpbiB7cHYsaHZtfV9jcHVpZCgpLCBhbmQKeGNfY3B1aWRfeDg2LmMuICBPbmUg bm90YWJsZSBleGNlcHRpb24gaXMgRVhUQVBJQyB3aGljaCB3YXMgcHJldmlvdXNseQplcnJvbmVv dXNseSBleHBvc2VkIHRvIGd1ZXN0cy4gIFBWIGd1ZXN0cyBkb24ndCBnZXQgdG8gdXNlIHRoZSBB UElDIGFuZCB0aGUKSFZNIEFQSUMgZW11bGF0aW9uIGRvZXNuJ3Qgc3VwcG9ydCBleHRlbmRlZCBz cGFjZS4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp eC5jb20+ClJldmlld2VkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9y YWNsZS5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgoKdjI6CiAq IEFubm90YXRlIGZlYXR1cmVzIHVzaW5nIGEgbWFnaWMgY29tbWVudCBhbmQgYXV0b2dlbmVyYXRp b24uCnYzOgogKiBSZWJhc2Ugb3ZlciB0aGUgbmV3IG5hbWVzcGFjZWluZyBjaGFuZ2VzLgogKiBF eHBhbmQgY29tbWl0IG1lc3NhZ2UuCiAqIENvcnJlY3QgUFNFMzYgdG8gYmVpbmcgYSBIQVAtb25s eSBmZWF0dXJlLgp2NDoKICogUmUtYnJlYWsgUFNFMzYuCiAqIEhpZGUgTFdQIGZyb20gUFYgZ3Vl c3RzLgotLS0KIHhlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0LmggfCAx ODcgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogeGVuL3Rvb2xzL2dlbi1jcHVpZC5weSAg ICAgICAgICAgICAgICAgICAgICB8ICAzMCArKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAxMjUgaW5z ZXJ0aW9ucygrKSwgOTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVi bGljL2FyY2gteDg2L2NwdWZlYXR1cmVzZXQuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4 Ni9jcHVmZWF0dXJlc2V0LmgKaW5kZXggODMwODk3Mi4uNzVkZDJhYyAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2NwdWZlYXR1cmVzZXQuaAorKysgYi94ZW4vaW5jbHVk ZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCkBAIC04MSwxMzUgKzgxLDE0MCBAQCBl bnVtIHsKICAqICAgVGhpcyBiaXQgaGFzIHNwZWNpYWwgcHJvcGVydGllcyBhbmQgaXMgbm90IGEg c3RyYWlnaHQgaW5kaWNhdGlvbiBvZiBhCiAgKiAgIHBpZWNlIG9mIG5ldyBmdW5jdGlvbmFsaXR5 LiAgWGVuIHdpbGwgaGFuZGxlIHRoZXNlIGRpZmZlcmVudGx5LAogICogICBhbmQgbWF5IG92ZXJy aWRlIHRvb2xzdGFjayBzZXR0aW5ncyBjb21wbGV0ZWx5LgorICoKKyAqIEFwcGxpY2FiaWxpdHkg dG8gZ3Vlc3RzOiAnQScsICdTJyBvciAnSCcKKyAqICAgJ0EnID0gQWxsIGd1ZXN0cy4KKyAqICAg J1MnID0gQWxsIEhWTSBndWVzdHMgKG5vdCBQViBndWVzdHMpLgorICogICAnSCcgPSBIVk0gSEFQ IGd1ZXN0cyAobm90IFBWIG9yIEhWTSBTaGFkb3cgZ3Vlc3RzKS4KICAqLwogCiAvKiBJbnRlbC1k ZWZpbmVkIENQVSBmZWF0dXJlcywgQ1BVSUQgbGV2ZWwgMHgwMDAwMDAwMS5lZHgsIHdvcmQgMCAq LwotWEVOX0NQVUZFQVRVUkUoRlBVLCAgICAgICAgICAgMCozMisgMCkgLyogICBPbmJvYXJkIEZQ VSAqLwotWEVOX0NQVUZFQVRVUkUoVk1FLCAgICAgICAgICAgMCozMisgMSkgLyogICBWaXJ0dWFs IE1vZGUgRXh0ZW5zaW9ucyAqLwotWEVOX0NQVUZFQVRVUkUoREUsICAgICAgICAgICAgMCozMisg MikgLyogICBEZWJ1Z2dpbmcgRXh0ZW5zaW9ucyAqLwotWEVOX0NQVUZFQVRVUkUoUFNFLCAgICAg ICAgICAgMCozMisgMykgLyogICBQYWdlIFNpemUgRXh0ZW5zaW9ucyAqLwotWEVOX0NQVUZFQVRV UkUoVFNDLCAgICAgICAgICAgMCozMisgNCkgLyogICBUaW1lIFN0YW1wIENvdW50ZXIgKi8KLVhF Tl9DUFVGRUFUVVJFKE1TUiwgICAgICAgICAgIDAqMzIrIDUpIC8qICAgTW9kZWwtU3BlY2lmaWMg UmVnaXN0ZXJzLCBSRE1TUiwgV1JNU1IgKi8KLVhFTl9DUFVGRUFUVVJFKFBBRSwgICAgICAgICAg IDAqMzIrIDYpIC8qICAgUGh5c2ljYWwgQWRkcmVzcyBFeHRlbnNpb25zICovCi1YRU5fQ1BVRkVB VFVSRShNQ0UsICAgICAgICAgICAwKjMyKyA3KSAvKiAgIE1hY2hpbmUgQ2hlY2sgQXJjaGl0ZWN0 dXJlICovCi1YRU5fQ1BVRkVBVFVSRShDWDgsICAgICAgICAgICAwKjMyKyA4KSAvKiAgIENNUFhD SEc4IGluc3RydWN0aW9uICovCi1YRU5fQ1BVRkVBVFVSRShBUElDLCAgICAgICAgICAwKjMyKyA5 KSAvKiEgIE9uYm9hcmQgQVBJQyAqLwotWEVOX0NQVUZFQVRVUkUoU0VQLCAgICAgICAgICAgMCoz MisxMSkgLyogICBTWVNFTlRFUi9TWVNFWElUICovCi1YRU5fQ1BVRkVBVFVSRShNVFJSLCAgICAg ICAgICAwKjMyKzEyKSAvKiAgIE1lbW9yeSBUeXBlIFJhbmdlIFJlZ2lzdGVycyAqLwotWEVOX0NQ VUZFQVRVUkUoUEdFLCAgICAgICAgICAgMCozMisxMykgLyogICBQYWdlIEdsb2JhbCBFbmFibGUg Ki8KLVhFTl9DUFVGRUFUVVJFKE1DQSwgICAgICAgICAgIDAqMzIrMTQpIC8qICAgTWFjaGluZSBD aGVjayBBcmNoaXRlY3R1cmUgKi8KLVhFTl9DUFVGRUFUVVJFKENNT1YsICAgICAgICAgIDAqMzIr MTUpIC8qICAgQ01PViBpbnN0cnVjdGlvbiAoRkNNT1ZDQyBhbmQgRkNPTUkgdG9vIGlmIEZQVSBw cmVzZW50KSAqLwotWEVOX0NQVUZFQVRVUkUoUEFULCAgICAgICAgICAgMCozMisxNikgLyogICBQ YWdlIEF0dHJpYnV0ZSBUYWJsZSAqLwotWEVOX0NQVUZFQVRVUkUoUFNFMzYsICAgICAgICAgMCoz MisxNykgLyogICAzNi1iaXQgUFNFcyAqLwotWEVOX0NQVUZFQVRVUkUoQ0xGTFVTSCwgICAgICAg MCozMisxOSkgLyogICBDTEZMVVNIIGluc3RydWN0aW9uICovCitYRU5fQ1BVRkVBVFVSRShGUFUs ICAgICAgICAgICAwKjMyKyAwKSAvKkEgIE9uYm9hcmQgRlBVICovCitYRU5fQ1BVRkVBVFVSRShW TUUsICAgICAgICAgICAwKjMyKyAxKSAvKlMgIFZpcnR1YWwgTW9kZSBFeHRlbnNpb25zICovCitY RU5fQ1BVRkVBVFVSRShERSwgICAgICAgICAgICAwKjMyKyAyKSAvKkEgIERlYnVnZ2luZyBFeHRl bnNpb25zICovCitYRU5fQ1BVRkVBVFVSRShQU0UsICAgICAgICAgICAwKjMyKyAzKSAvKlMgIFBh Z2UgU2l6ZSBFeHRlbnNpb25zICovCitYRU5fQ1BVRkVBVFVSRShUU0MsICAgICAgICAgICAwKjMy KyA0KSAvKkEgIFRpbWUgU3RhbXAgQ291bnRlciAqLworWEVOX0NQVUZFQVRVUkUoTVNSLCAgICAg ICAgICAgMCozMisgNSkgLypBICBNb2RlbC1TcGVjaWZpYyBSZWdpc3RlcnMsIFJETVNSLCBXUk1T UiAqLworWEVOX0NQVUZFQVRVUkUoUEFFLCAgICAgICAgICAgMCozMisgNikgLypBICBQaHlzaWNh bCBBZGRyZXNzIEV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKE1DRSwgICAgICAgICAgIDAq MzIrIDcpIC8qQSAgTWFjaGluZSBDaGVjayBBcmNoaXRlY3R1cmUgKi8KK1hFTl9DUFVGRUFUVVJF KENYOCwgICAgICAgICAgIDAqMzIrIDgpIC8qQSAgQ01QWENIRzggaW5zdHJ1Y3Rpb24gKi8KK1hF Tl9DUFVGRUFUVVJFKEFQSUMsICAgICAgICAgIDAqMzIrIDkpIC8qIUEgT25ib2FyZCBBUElDICov CitYRU5fQ1BVRkVBVFVSRShTRVAsICAgICAgICAgICAwKjMyKzExKSAvKkEgIFNZU0VOVEVSL1NZ U0VYSVQgKi8KK1hFTl9DUFVGRUFUVVJFKE1UUlIsICAgICAgICAgIDAqMzIrMTIpIC8qUyAgTWVt b3J5IFR5cGUgUmFuZ2UgUmVnaXN0ZXJzICovCitYRU5fQ1BVRkVBVFVSRShQR0UsICAgICAgICAg ICAwKjMyKzEzKSAvKlMgIFBhZ2UgR2xvYmFsIEVuYWJsZSAqLworWEVOX0NQVUZFQVRVUkUoTUNB LCAgICAgICAgICAgMCozMisxNCkgLypBICBNYWNoaW5lIENoZWNrIEFyY2hpdGVjdHVyZSAqLwor WEVOX0NQVUZFQVRVUkUoQ01PViwgICAgICAgICAgMCozMisxNSkgLypBICBDTU9WIGluc3RydWN0 aW9uIChGQ01PVkNDIGFuZCBGQ09NSSB0b28gaWYgRlBVIHByZXNlbnQpICovCitYRU5fQ1BVRkVB VFVSRShQQVQsICAgICAgICAgICAwKjMyKzE2KSAvKkEgIFBhZ2UgQXR0cmlidXRlIFRhYmxlICov CitYRU5fQ1BVRkVBVFVSRShQU0UzNiwgICAgICAgICAwKjMyKzE3KSAvKlMgIDM2LWJpdCBQU0Vz ICovCitYRU5fQ1BVRkVBVFVSRShDTEZMVVNILCAgICAgICAwKjMyKzE5KSAvKkEgIENMRkxVU0gg aW5zdHJ1Y3Rpb24gKi8KIFhFTl9DUFVGRUFUVVJFKERTLCAgICAgICAgICAgIDAqMzIrMjEpIC8q ICAgRGVidWcgU3RvcmUgKi8KLVhFTl9DUFVGRUFUVVJFKEFDUEksICAgICAgICAgIDAqMzIrMjIp IC8qICAgQUNQSSB2aWEgTVNSICovCi1YRU5fQ1BVRkVBVFVSRShNTVgsICAgICAgICAgICAwKjMy KzIzKSAvKiAgIE11bHRpbWVkaWEgRXh0ZW5zaW9ucyAqLwotWEVOX0NQVUZFQVRVUkUoRlhTUiwg ICAgICAgICAgMCozMisyNCkgLyogICBGWFNBVkUgYW5kIEZYUlNUT1IgaW5zdHJ1Y3Rpb25zICov Ci1YRU5fQ1BVRkVBVFVSRShTU0UsICAgICAgICAgICAwKjMyKzI1KSAvKiAgIFN0cmVhbWluZyBT SU1EIEV4dGVuc2lvbnMgKi8KLVhFTl9DUFVGRUFUVVJFKFNTRTIsICAgICAgICAgIDAqMzIrMjYp IC8qICAgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucy0yICovCi1YRU5fQ1BVRkVBVFVSRShIVFQs ICAgICAgICAgICAwKjMyKzI4KSAvKiEgIEh5cGVyLVRocmVhZGluZyBUZWNobm9sb2d5ICovCitY RU5fQ1BVRkVBVFVSRShBQ1BJLCAgICAgICAgICAwKjMyKzIyKSAvKkEgIEFDUEkgdmlhIE1TUiAq LworWEVOX0NQVUZFQVRVUkUoTU1YLCAgICAgICAgICAgMCozMisyMykgLypBICBNdWx0aW1lZGlh IEV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKEZYU1IsICAgICAgICAgIDAqMzIrMjQpIC8q QSAgRlhTQVZFIGFuZCBGWFJTVE9SIGluc3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoU1NF LCAgICAgICAgICAgMCozMisyNSkgLypBICBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zICovCitY RU5fQ1BVRkVBVFVSRShTU0UyLCAgICAgICAgICAwKjMyKzI2KSAvKkEgIFN0cmVhbWluZyBTSU1E IEV4dGVuc2lvbnMtMiAqLworWEVOX0NQVUZFQVRVUkUoSFRULCAgICAgICAgICAgMCozMisyOCkg LyohQSBIeXBlci1UaHJlYWRpbmcgVGVjaG5vbG9neSAqLwogWEVOX0NQVUZFQVRVUkUoVE0xLCAg ICAgICAgICAgMCozMisyOSkgLyogICBUaGVybWFsIE1vbml0b3IgMSAqLwogWEVOX0NQVUZFQVRV UkUoUEJFLCAgICAgICAgICAgMCozMiszMSkgLyogICBQZW5kaW5nIEJyZWFrIEVuYWJsZSAqLwog CiAvKiBJbnRlbC1kZWZpbmVkIENQVSBmZWF0dXJlcywgQ1BVSUQgbGV2ZWwgMHgwMDAwMDAwMS5l Y3gsIHdvcmQgMSAqLwotWEVOX0NQVUZFQVRVUkUoU1NFMywgICAgICAgICAgMSozMisgMCkgLyog ICBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zLTMgKi8KLVhFTl9DUFVGRUFUVVJFKFBDTE1VTFFE USwgICAgIDEqMzIrIDEpIC8qICAgQ2FycnktbGVzcyBtdWxpdHBsaWNhdGlvbiAqLworWEVOX0NQ VUZFQVRVUkUoU1NFMywgICAgICAgICAgMSozMisgMCkgLypBICBTdHJlYW1pbmcgU0lNRCBFeHRl bnNpb25zLTMgKi8KK1hFTl9DUFVGRUFUVVJFKFBDTE1VTFFEUSwgICAgIDEqMzIrIDEpIC8qQSAg Q2FycnktbGVzcyBtdWxpdHBsaWNhdGlvbiAqLwogWEVOX0NQVUZFQVRVUkUoRFRFUzY0LCAgICAg ICAgMSozMisgMikgLyogICA2NC1iaXQgRGVidWcgU3RvcmUgKi8KIFhFTl9DUFVGRUFUVVJFKE1P TklUT1IsICAgICAgIDEqMzIrIDMpIC8qICAgTW9uaXRvci9Nd2FpdCBzdXBwb3J0ICovCiBYRU5f Q1BVRkVBVFVSRShEU0NQTCwgICAgICAgICAxKjMyKyA0KSAvKiAgIENQTCBRdWFsaWZpZWQgRGVi dWcgU3RvcmUgKi8KLVhFTl9DUFVGRUFUVVJFKFZNWCwgICAgICAgICAgIDEqMzIrIDUpIC8qICAg VmlydHVhbCBNYWNoaW5lIEV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKFZNWCwgICAgICAg ICAgIDEqMzIrIDUpIC8qUyAgVmlydHVhbCBNYWNoaW5lIEV4dGVuc2lvbnMgKi8KIFhFTl9DUFVG RUFUVVJFKFNNWCwgICAgICAgICAgIDEqMzIrIDYpIC8qICAgU2FmZXIgTW9kZSBFeHRlbnNpb25z ICovCiBYRU5fQ1BVRkVBVFVSRShFSVNULCAgICAgICAgICAxKjMyKyA3KSAvKiAgIEVuaGFuY2Vk IFNwZWVkU3RlcCAqLwogWEVOX0NQVUZFQVRVUkUoVE0yLCAgICAgICAgICAgMSozMisgOCkgLyog ICBUaGVybWFsIE1vbml0b3IgMiAqLwotWEVOX0NQVUZFQVRVUkUoU1NTRTMsICAgICAgICAgMSoz MisgOSkgLyogICBTdXBwbGVtZW50YWwgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucy0zICovCi1Y RU5fQ1BVRkVBVFVSRShGTUEsICAgICAgICAgICAxKjMyKzEyKSAvKiAgIEZ1c2VkIE11bHRpcGx5 IEFkZCAqLwotWEVOX0NQVUZFQVRVUkUoQ1gxNiwgICAgICAgICAgMSozMisxMykgLyogICBDTVBY Q0hHMTZCICovCitYRU5fQ1BVRkVBVFVSRShTU1NFMywgICAgICAgICAxKjMyKyA5KSAvKkEgIFN1 cHBsZW1lbnRhbCBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zLTMgKi8KK1hFTl9DUFVGRUFUVVJF KEZNQSwgICAgICAgICAgIDEqMzIrMTIpIC8qQSAgRnVzZWQgTXVsdGlwbHkgQWRkICovCitYRU5f Q1BVRkVBVFVSRShDWDE2LCAgICAgICAgICAxKjMyKzEzKSAvKkEgIENNUFhDSEcxNkIgKi8KIFhF Tl9DUFVGRUFUVVJFKFhUUFIsICAgICAgICAgIDEqMzIrMTQpIC8qICAgU2VuZCBUYXNrIFByaW9y aXR5IE1lc3NhZ2VzICovCiBYRU5fQ1BVRkVBVFVSRShQRENNLCAgICAgICAgICAxKjMyKzE1KSAv KiAgIFBlcmYvRGVidWcgQ2FwYWJpbGl0eSBNU1IgKi8KLVhFTl9DUFVGRUFUVVJFKFBDSUQsICAg ICAgICAgIDEqMzIrMTcpIC8qICAgUHJvY2VzcyBDb250ZXh0IElEICovCitYRU5fQ1BVRkVBVFVS RShQQ0lELCAgICAgICAgICAxKjMyKzE3KSAvKkggIFByb2Nlc3MgQ29udGV4dCBJRCAqLwogWEVO X0NQVUZFQVRVUkUoRENBLCAgICAgICAgICAgMSozMisxOCkgLyogICBEaXJlY3QgQ2FjaGUgQWNj ZXNzICovCi1YRU5fQ1BVRkVBVFVSRShTU0U0XzEsICAgICAgICAxKjMyKzE5KSAvKiAgIFN0cmVh bWluZyBTSU1EIEV4dGVuc2lvbnMgNC4xICovCi1YRU5fQ1BVRkVBVFVSRShTU0U0XzIsICAgICAg ICAxKjMyKzIwKSAvKiAgIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMgNC4yICovCi1YRU5fQ1BV RkVBVFVSRShYMkFQSUMsICAgICAgICAxKjMyKzIxKSAvKiEgIEV4dGVuZGVkIHhBUElDICovCi1Y RU5fQ1BVRkVBVFVSRShNT1ZCRSwgICAgICAgICAxKjMyKzIyKSAvKiAgIG1vdmJlIGluc3RydWN0 aW9uICovCi1YRU5fQ1BVRkVBVFVSRShQT1BDTlQsICAgICAgICAxKjMyKzIzKSAvKiAgIFBPUENO VCBpbnN0cnVjdGlvbiAqLwotWEVOX0NQVUZFQVRVUkUoVFNDX0RFQURMSU5FLCAgMSozMisyNCkg LyogICBUU0MgRGVhZGxpbmUgVGltZXIgKi8KLVhFTl9DUFVGRUFUVVJFKEFFU05JLCAgICAgICAg IDEqMzIrMjUpIC8qICAgQUVTIGluc3RydWN0aW9ucyAqLwotWEVOX0NQVUZFQVRVUkUoWFNBVkUs ICAgICAgICAgMSozMisyNikgLyogICBYU0FWRS9YUlNUT1IvWFNFVEJWL1hHRVRCViAqLworWEVO X0NQVUZFQVRVUkUoU1NFNF8xLCAgICAgICAgMSozMisxOSkgLypBICBTdHJlYW1pbmcgU0lNRCBF eHRlbnNpb25zIDQuMSAqLworWEVOX0NQVUZFQVRVUkUoU1NFNF8yLCAgICAgICAgMSozMisyMCkg LypBICBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zIDQuMiAqLworWEVOX0NQVUZFQVRVUkUoWDJB UElDLCAgICAgICAgMSozMisyMSkgLyohQSBFeHRlbmRlZCB4QVBJQyAqLworWEVOX0NQVUZFQVRV UkUoTU9WQkUsICAgICAgICAgMSozMisyMikgLypBICBtb3ZiZSBpbnN0cnVjdGlvbiAqLworWEVO X0NQVUZFQVRVUkUoUE9QQ05ULCAgICAgICAgMSozMisyMykgLypBICBQT1BDTlQgaW5zdHJ1Y3Rp b24gKi8KK1hFTl9DUFVGRUFUVVJFKFRTQ19ERUFETElORSwgIDEqMzIrMjQpIC8qUyAgVFNDIERl YWRsaW5lIFRpbWVyICovCitYRU5fQ1BVRkVBVFVSRShBRVNOSSwgICAgICAgICAxKjMyKzI1KSAv KkEgIEFFUyBpbnN0cnVjdGlvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKFhTQVZFLCAgICAgICAgIDEq MzIrMjYpIC8qQSAgWFNBVkUvWFJTVE9SL1hTRVRCVi9YR0VUQlYgKi8KIFhFTl9DUFVGRUFUVVJF KE9TWFNBVkUsICAgICAgIDEqMzIrMjcpIC8qISAgT1NYU0FWRSAqLwotWEVOX0NQVUZFQVRVUkUo QVZYLCAgICAgICAgICAgMSozMisyOCkgLyogICBBZHZhbmNlZCBWZWN0b3IgRXh0ZW5zaW9ucyAq LwotWEVOX0NQVUZFQVRVUkUoRjE2QywgICAgICAgICAgMSozMisyOSkgLyogICBIYWxmLXByZWNp c2lvbiBjb252ZXJ0IGluc3RydWN0aW9uICovCi1YRU5fQ1BVRkVBVFVSRShSRFJBTkQsICAgICAg ICAxKjMyKzMwKSAvKiAgIERpZ2l0YWwgUmFuZG9tIE51bWJlciBHZW5lcmF0b3IgKi8KLVhFTl9D UFVGRUFUVVJFKEhZUEVSVklTT1IsICAgIDEqMzIrMzEpIC8qISAgUnVubmluZyB1bmRlciBzb21l IGh5cGVydmlzb3IgKi8KK1hFTl9DUFVGRUFUVVJFKEFWWCwgICAgICAgICAgIDEqMzIrMjgpIC8q QSAgQWR2YW5jZWQgVmVjdG9yIEV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKEYxNkMsICAg ICAgICAgIDEqMzIrMjkpIC8qQSAgSGFsZi1wcmVjaXNpb24gY29udmVydCBpbnN0cnVjdGlvbiAq LworWEVOX0NQVUZFQVRVUkUoUkRSQU5ELCAgICAgICAgMSozMiszMCkgLypBICBEaWdpdGFsIFJh bmRvbSBOdW1iZXIgR2VuZXJhdG9yICovCitYRU5fQ1BVRkVBVFVSRShIWVBFUlZJU09SLCAgICAx KjMyKzMxKSAvKiFBICBSdW5uaW5nIHVuZGVyIHNvbWUgaHlwZXJ2aXNvciAqLwogCiAvKiBBTUQt ZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4ODAwMDAwMDEuZWR4LCB3b3JkIDIg Ki8KLVhFTl9DUFVGRUFUVVJFKFNZU0NBTEwsICAgICAgIDIqMzIrMTEpIC8qICAgU1lTQ0FMTC9T WVNSRVQgKi8KLVhFTl9DUFVGRUFUVVJFKE5YLCAgICAgICAgICAgIDIqMzIrMjApIC8qICAgRXhl Y3V0ZSBEaXNhYmxlICovCi1YRU5fQ1BVRkVBVFVSRShNTVhFWFQsICAgICAgICAyKjMyKzIyKSAv KiAgIEFNRCBNTVggZXh0ZW5zaW9ucyAqLwotWEVOX0NQVUZFQVRVUkUoRkZYU1IsICAgICAgICAg MiozMisyNSkgLyogICBGRlhTUiBpbnN0cnVjdGlvbiBvcHRpbWl6YXRpb25zICovCi1YRU5fQ1BV RkVBVFVSRShQQUdFMUdCLCAgICAgICAyKjMyKzI2KSAvKiAgIDFHYiBsYXJnZSBwYWdlIHN1cHBv cnQgKi8KLVhFTl9DUFVGRUFUVVJFKFJEVFNDUCwgICAgICAgIDIqMzIrMjcpIC8qICAgUkRUU0NQ ICovCi1YRU5fQ1BVRkVBVFVSRShMTSwgICAgICAgICAgICAyKjMyKzI5KSAvKiAgIExvbmcgTW9k ZSAoeDg2LTY0KSAqLwotWEVOX0NQVUZFQVRVUkUoM0ROT1dFWFQsICAgICAgMiozMiszMCkgLyog ICBBTUQgM0ROb3chIGV4dGVuc2lvbnMgKi8KLVhFTl9DUFVGRUFUVVJFKDNETk9XLCAgICAgICAg IDIqMzIrMzEpIC8qICAgM0ROb3chICovCitYRU5fQ1BVRkVBVFVSRShTWVNDQUxMLCAgICAgICAy KjMyKzExKSAvKkEgIFNZU0NBTEwvU1lTUkVUICovCitYRU5fQ1BVRkVBVFVSRShOWCwgICAgICAg ICAgICAyKjMyKzIwKSAvKkEgIEV4ZWN1dGUgRGlzYWJsZSAqLworWEVOX0NQVUZFQVRVUkUoTU1Y RVhULCAgICAgICAgMiozMisyMikgLypBICBBTUQgTU1YIGV4dGVuc2lvbnMgKi8KK1hFTl9DUFVG RUFUVVJFKEZGWFNSLCAgICAgICAgIDIqMzIrMjUpIC8qQSAgRkZYU1IgaW5zdHJ1Y3Rpb24gb3B0 aW1pemF0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoUEFHRTFHQiwgICAgICAgMiozMisyNikgLypI ICAxR2IgbGFyZ2UgcGFnZSBzdXBwb3J0ICovCitYRU5fQ1BVRkVBVFVSRShSRFRTQ1AsICAgICAg ICAyKjMyKzI3KSAvKlMgIFJEVFNDUCAqLworWEVOX0NQVUZFQVRVUkUoTE0sICAgICAgICAgICAg MiozMisyOSkgLypBICBMb25nIE1vZGUgKHg4Ni02NCkgKi8KK1hFTl9DUFVGRUFUVVJFKDNETk9X RVhULCAgICAgIDIqMzIrMzApIC8qQSAgQU1EIDNETm93ISBleHRlbnNpb25zICovCitYRU5fQ1BV RkVBVFVSRSgzRE5PVywgICAgICAgICAyKjMyKzMxKSAvKkEgIDNETm93ISAqLwogCiAvKiBBTUQt ZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4ODAwMDAwMDEuZWN4LCB3b3JkIDMg Ki8KLVhFTl9DUFVGRUFUVVJFKExBSEZfTE0sICAgICAgIDMqMzIrIDApIC8qICAgTEFIRi9TQUhG IGluIGxvbmcgbW9kZSAqLwotWEVOX0NQVUZFQVRVUkUoQ01QX0xFR0FDWSwgICAgMyozMisgMSkg LyohICBJZiB5ZXMgSHlwZXJUaHJlYWRpbmcgbm90IHZhbGlkICovCi1YRU5fQ1BVRkVBVFVSRShT Vk0sICAgICAgICAgICAzKjMyKyAyKSAvKiAgIFNlY3VyZSB2aXJ0dWFsIG1hY2hpbmUgKi8KK1hF Tl9DUFVGRUFUVVJFKExBSEZfTE0sICAgICAgIDMqMzIrIDApIC8qQSAgTEFIRi9TQUhGIGluIGxv bmcgbW9kZSAqLworWEVOX0NQVUZFQVRVUkUoQ01QX0xFR0FDWSwgICAgMyozMisgMSkgLyohQSBJ ZiB5ZXMgSHlwZXJUaHJlYWRpbmcgbm90IHZhbGlkICovCitYRU5fQ1BVRkVBVFVSRShTVk0sICAg ICAgICAgICAzKjMyKyAyKSAvKlMgIFNlY3VyZSB2aXJ0dWFsIG1hY2hpbmUgKi8KIFhFTl9DUFVG RUFUVVJFKEVYVEFQSUMsICAgICAgIDMqMzIrIDMpIC8qICAgRXh0ZW5kZWQgQVBJQyBzcGFjZSAq LwotWEVOX0NQVUZFQVRVUkUoQ1I4X0xFR0FDWSwgICAgMyozMisgNCkgLyogICBDUjggaW4gMzIt Yml0IG1vZGUgKi8KLVhFTl9DUFVGRUFUVVJFKEFCTSwgICAgICAgICAgIDMqMzIrIDUpIC8qICAg QWR2YW5jZWQgYml0IG1hbmlwdWxhdGlvbiAqLwotWEVOX0NQVUZFQVRVUkUoU1NFNEEsICAgICAg ICAgMyozMisgNikgLyogICBTU0UtNEEgKi8KLVhFTl9DUFVGRUFUVVJFKE1JU0FMSUdOU1NFLCAg IDMqMzIrIDcpIC8qICAgTWlzYWxpZ25lZCBTU0UgbW9kZSAqLwotWEVOX0NQVUZFQVRVUkUoM0RO T1dQUkVGRVRDSCwgMyozMisgOCkgLyogICAzRE5vdyBwcmVmZXRjaCBpbnN0cnVjdGlvbnMgKi8K K1hFTl9DUFVGRUFUVVJFKENSOF9MRUdBQ1ksICAgIDMqMzIrIDQpIC8qUyAgQ1I4IGluIDMyLWJp dCBtb2RlICovCitYRU5fQ1BVRkVBVFVSRShBQk0sICAgICAgICAgICAzKjMyKyA1KSAvKkEgIEFk dmFuY2VkIGJpdCBtYW5pcHVsYXRpb24gKi8KK1hFTl9DUFVGRUFUVVJFKFNTRTRBLCAgICAgICAg IDMqMzIrIDYpIC8qQSAgU1NFLTRBICovCitYRU5fQ1BVRkVBVFVSRShNSVNBTElHTlNTRSwgICAz KjMyKyA3KSAvKkEgIE1pc2FsaWduZWQgU1NFIG1vZGUgKi8KK1hFTl9DUFVGRUFUVVJFKDNETk9X UFJFRkVUQ0gsIDMqMzIrIDgpIC8qQSAgM0ROb3cgcHJlZmV0Y2ggaW5zdHJ1Y3Rpb25zICovCiBY RU5fQ1BVRkVBVFVSRShPU1ZXLCAgICAgICAgICAzKjMyKyA5KSAvKiAgIE9TIFZpc2libGUgV29y a2Fyb3VuZCAqLwotWEVOX0NQVUZFQVRVUkUoSUJTLCAgICAgICAgICAgMyozMisxMCkgLyogICBJ bnN0cnVjdGlvbiBCYXNlZCBTYW1wbGluZyAqLwotWEVOX0NQVUZFQVRVUkUoWE9QLCAgICAgICAg ICAgMyozMisxMSkgLyogICBleHRlbmRlZCBBVlggaW5zdHJ1Y3Rpb25zICovCitYRU5fQ1BVRkVB VFVSRShJQlMsICAgICAgICAgICAzKjMyKzEwKSAvKlMgIEluc3RydWN0aW9uIEJhc2VkIFNhbXBs aW5nICovCitYRU5fQ1BVRkVBVFVSRShYT1AsICAgICAgICAgICAzKjMyKzExKSAvKkEgIGV4dGVu ZGVkIEFWWCBpbnN0cnVjdGlvbnMgKi8KIFhFTl9DUFVGRUFUVVJFKFNLSU5JVCwgICAgICAgIDMq MzIrMTIpIC8qICAgU0tJTklUL1NUR0kgaW5zdHJ1Y3Rpb25zICovCiBYRU5fQ1BVRkVBVFVSRShX RFQsICAgICAgICAgICAzKjMyKzEzKSAvKiAgIFdhdGNoZG9nIHRpbWVyICovCi1YRU5fQ1BVRkVB VFVSRShMV1AsICAgICAgICAgICAzKjMyKzE1KSAvKiAgIExpZ2h0IFdlaWdodCBQcm9maWxpbmcg Ki8KLVhFTl9DUFVGRUFUVVJFKEZNQTQsICAgICAgICAgIDMqMzIrMTYpIC8qICAgNCBvcGVyYW5k cyBNQUMgaW5zdHJ1Y3Rpb25zICovCitYRU5fQ1BVRkVBVFVSRShMV1AsICAgICAgICAgICAzKjMy KzE1KSAvKlMgIExpZ2h0IFdlaWdodCBQcm9maWxpbmcgKi8KK1hFTl9DUFVGRUFUVVJFKEZNQTQs ICAgICAgICAgIDMqMzIrMTYpIC8qQSAgNCBvcGVyYW5kcyBNQUMgaW5zdHJ1Y3Rpb25zICovCiBY RU5fQ1BVRkVBVFVSRShOT0RFSURfTVNSLCAgICAzKjMyKzE5KSAvKiAgIE5vZGVJZCBNU1IgKi8K LVhFTl9DUFVGRUFUVVJFKFRCTSwgICAgICAgICAgIDMqMzIrMjEpIC8qICAgdHJhaWxpbmcgYml0 IG1hbmlwdWxhdGlvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKFRCTSwgICAgICAgICAgIDMqMzIrMjEp IC8qQSAgdHJhaWxpbmcgYml0IG1hbmlwdWxhdGlvbnMgKi8KIFhFTl9DUFVGRUFUVVJFKFRPUE9F WFQsICAgICAgIDMqMzIrMjIpIC8qICAgdG9wb2xvZ3kgZXh0ZW5zaW9ucyBDUFVJRCBsZWFmcyAq LwotWEVOX0NQVUZFQVRVUkUoREJFWFQsICAgICAgICAgMyozMisyNikgLyogICBkYXRhIGJyZWFr cG9pbnQgZXh0ZW5zaW9uICovCitYRU5fQ1BVRkVBVFVSRShEQkVYVCwgICAgICAgICAzKjMyKzI2 KSAvKkEgIGRhdGEgYnJlYWtwb2ludCBleHRlbnNpb24gKi8KIFhFTl9DUFVGRUFUVVJFKE1PTklU T1JYLCAgICAgIDMqMzIrMjkpIC8qICAgTU9OSVRPUiBleHRlbnNpb24gKE1PTklUT1JYL01XQUlU WCkgKi8KIAogLyogSW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4MDAw MDAwMEQ6MS5lYXgsIHdvcmQgNCAqLwotWEVOX0NQVUZFQVRVUkUoWFNBVkVPUFQsICAgICAgNCoz MisgMCkgLyogICBYU0FWRU9QVCBpbnN0cnVjdGlvbiAqLwotWEVOX0NQVUZFQVRVUkUoWFNBVkVD LCAgICAgICAgNCozMisgMSkgLyogICBYU0FWRUMvWFJTVE9SQyBpbnN0cnVjdGlvbnMgKi8KLVhF Tl9DUFVGRUFUVVJFKFhHRVRCVjEsICAgICAgIDQqMzIrIDIpIC8qICAgWEdFVEJWIHdpdGggJWVj eD0xICovCi1YRU5fQ1BVRkVBVFVSRShYU0FWRVMsICAgICAgICA0KjMyKyAzKSAvKiAgIFhTQVZF Uy9YUlNUT1JTIGluc3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoWFNBVkVPUFQsICAgICAg NCozMisgMCkgLypBICBYU0FWRU9QVCBpbnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUoWFNB VkVDLCAgICAgICAgNCozMisgMSkgLypBICBYU0FWRUMvWFJTVE9SQyBpbnN0cnVjdGlvbnMgKi8K K1hFTl9DUFVGRUFUVVJFKFhHRVRCVjEsICAgICAgIDQqMzIrIDIpIC8qQSAgWEdFVEJWIHdpdGgg JWVjeD0xICovCitYRU5fQ1BVRkVBVFVSRShYU0FWRVMsICAgICAgICA0KjMyKyAzKSAvKlMgIFhT QVZFUy9YUlNUT1JTIGluc3RydWN0aW9ucyAqLwogCiAvKiBJbnRlbC1kZWZpbmVkIENQVSBmZWF0 dXJlcywgQ1BVSUQgbGV2ZWwgMHgwMDAwMDAwNzowLmVieCwgd29yZCA1ICovCi1YRU5fQ1BVRkVB VFVSRShGU0dTQkFTRSwgICAgICA1KjMyKyAwKSAvKiAgIHtSRCxXUn17RlMsR1N9QkFTRSBpbnN0 cnVjdGlvbnMgKi8KLVhFTl9DUFVGRUFUVVJFKFRTQ19BREpVU1QsICAgIDUqMzIrIDEpIC8qICAg VFNDX0FESlVTVCBNU1IgYXZhaWxhYmxlICovCi1YRU5fQ1BVRkVBVFVSRShCTUkxLCAgICAgICAg ICA1KjMyKyAzKSAvKiAgIDFzdCBiaXQgbWFuaXB1bGF0aW9uIGV4dGVuc2lvbnMgKi8KLVhFTl9D UFVGRUFUVVJFKEhMRSwgICAgICAgICAgIDUqMzIrIDQpIC8qICAgSGFyZHdhcmUgTG9jayBFbGlz aW9uICovCi1YRU5fQ1BVRkVBVFVSRShBVlgyLCAgICAgICAgICA1KjMyKyA1KSAvKiAgIEFWWDIg aW5zdHJ1Y3Rpb25zICovCitYRU5fQ1BVRkVBVFVSRShGU0dTQkFTRSwgICAgICA1KjMyKyAwKSAv KkEgIHtSRCxXUn17RlMsR1N9QkFTRSBpbnN0cnVjdGlvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKFRT Q19BREpVU1QsICAgIDUqMzIrIDEpIC8qUyAgVFNDX0FESlVTVCBNU1IgYXZhaWxhYmxlICovCitY RU5fQ1BVRkVBVFVSRShCTUkxLCAgICAgICAgICA1KjMyKyAzKSAvKkEgIDFzdCBiaXQgbWFuaXB1 bGF0aW9uIGV4dGVuc2lvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKEhMRSwgICAgICAgICAgIDUqMzIr IDQpIC8qQSAgSGFyZHdhcmUgTG9jayBFbGlzaW9uICovCitYRU5fQ1BVRkVBVFVSRShBVlgyLCAg ICAgICAgICA1KjMyKyA1KSAvKkEgIEFWWDIgaW5zdHJ1Y3Rpb25zICovCiBYRU5fQ1BVRkVBVFVS RShGRFBfRVhDUF9PTkxZLCA1KjMyKyA2KSAvKiEgIHg4NyBGRFAgb25seSB1cGRhdGVkIG9uIGV4 Y2VwdGlvbi4gKi8KLVhFTl9DUFVGRUFUVVJFKFNNRVAsICAgICAgICAgIDUqMzIrIDcpIC8qICAg U3VwZXJ2aXNvciBNb2RlIEV4ZWN1dGlvbiBQcm90ZWN0aW9uICovCi1YRU5fQ1BVRkVBVFVSRShC TUkyLCAgICAgICAgICA1KjMyKyA4KSAvKiAgIDJuZCBiaXQgbWFuaXB1bGF0aW9uIGV4dGVuc2lv bnMgKi8KLVhFTl9DUFVGRUFUVVJFKEVSTVMsICAgICAgICAgIDUqMzIrIDkpIC8qICAgRW5oYW5j ZWQgUkVQIE1PVlNCL1NUT1NCICovCi1YRU5fQ1BVRkVBVFVSRShJTlZQQ0lELCAgICAgICA1KjMy KzEwKSAvKiAgIEludmFsaWRhdGUgUHJvY2VzcyBDb250ZXh0IElEICovCi1YRU5fQ1BVRkVBVFVS RShSVE0sICAgICAgICAgICA1KjMyKzExKSAvKiAgIFJlc3RyaWN0ZWQgVHJhbnNhY3Rpb25hbCBN ZW1vcnkgKi8KK1hFTl9DUFVGRUFUVVJFKFNNRVAsICAgICAgICAgIDUqMzIrIDcpIC8qUyAgU3Vw ZXJ2aXNvciBNb2RlIEV4ZWN1dGlvbiBQcm90ZWN0aW9uICovCitYRU5fQ1BVRkVBVFVSRShCTUky LCAgICAgICAgICA1KjMyKyA4KSAvKkEgIDJuZCBiaXQgbWFuaXB1bGF0aW9uIGV4dGVuc2lvbnMg Ki8KK1hFTl9DUFVGRUFUVVJFKEVSTVMsICAgICAgICAgIDUqMzIrIDkpIC8qQSAgRW5oYW5jZWQg UkVQIE1PVlNCL1NUT1NCICovCitYRU5fQ1BVRkVBVFVSRShJTlZQQ0lELCAgICAgICA1KjMyKzEw KSAvKkggIEludmFsaWRhdGUgUHJvY2VzcyBDb250ZXh0IElEICovCitYRU5fQ1BVRkVBVFVSRShS VE0sICAgICAgICAgICA1KjMyKzExKSAvKkEgIFJlc3RyaWN0ZWQgVHJhbnNhY3Rpb25hbCBNZW1v cnkgKi8KIFhFTl9DUFVGRUFUVVJFKFBRTSwgICAgICAgICAgIDUqMzIrMTIpIC8qICAgUGxhdGZv cm0gUW9TIE1vbml0b3JpbmcgKi8KIFhFTl9DUFVGRUFUVVJFKE5PX0ZQVV9TRUwsICAgIDUqMzIr MTMpIC8qISAgRlBVIENTL0RTIHN0b3JlZCBhcyB6ZXJvICovCi1YRU5fQ1BVRkVBVFVSRShNUFgs ICAgICAgICAgICA1KjMyKzE0KSAvKiAgIE1lbW9yeSBQcm90ZWN0aW9uIEV4dGVuc2lvbnMgKi8K K1hFTl9DUFVGRUFUVVJFKE1QWCwgICAgICAgICAgIDUqMzIrMTQpIC8qUyAgTWVtb3J5IFByb3Rl Y3Rpb24gRXh0ZW5zaW9ucyAqLwogWEVOX0NQVUZFQVRVUkUoUFFFLCAgICAgICAgICAgNSozMisx NSkgLyogICBQbGF0Zm9ybSBRb1MgRW5mb3JjZW1lbnQgKi8KLVhFTl9DUFVGRUFUVVJFKFJEU0VF RCwgICAgICAgIDUqMzIrMTgpIC8qICAgUkRTRUVEIGluc3RydWN0aW9uICovCi1YRU5fQ1BVRkVB VFVSRShBRFgsICAgICAgICAgICA1KjMyKzE5KSAvKiAgIEFEQ1gsIEFET1ggaW5zdHJ1Y3Rpb25z ICovCi1YRU5fQ1BVRkVBVFVSRShTTUFQLCAgICAgICAgICA1KjMyKzIwKSAvKiAgIFN1cGVydmlz b3IgTW9kZSBBY2Nlc3MgUHJldmVudGlvbiAqLwotWEVOX0NQVUZFQVRVUkUoUENPTU1JVCwgICAg ICAgNSozMisyMikgLyogICBQQ09NTUlUIGluc3RydWN0aW9uICovCi1YRU5fQ1BVRkVBVFVSRShD TEZMVVNIT1BULCAgICA1KjMyKzIzKSAvKiAgIENMRkxVU0hPUFQgaW5zdHJ1Y3Rpb24gKi8KLVhF Tl9DUFVGRUFUVVJFKENMV0IsICAgICAgICAgIDUqMzIrMjQpIC8qICAgQ0xXQiBpbnN0cnVjdGlv biAqLwotWEVOX0NQVUZFQVRVUkUoU0hBLCAgICAgICAgICAgNSozMisyOSkgLyogICBTSEExICYg U0hBMjU2IGluc3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoUkRTRUVELCAgICAgICAgNSoz MisxOCkgLypBICBSRFNFRUQgaW5zdHJ1Y3Rpb24gKi8KK1hFTl9DUFVGRUFUVVJFKEFEWCwgICAg ICAgICAgIDUqMzIrMTkpIC8qQSAgQURDWCwgQURPWCBpbnN0cnVjdGlvbnMgKi8KK1hFTl9DUFVG RUFUVVJFKFNNQVAsICAgICAgICAgIDUqMzIrMjApIC8qUyAgU3VwZXJ2aXNvciBNb2RlIEFjY2Vz cyBQcmV2ZW50aW9uICovCitYRU5fQ1BVRkVBVFVSRShQQ09NTUlULCAgICAgICA1KjMyKzIyKSAv KkEgIFBDT01NSVQgaW5zdHJ1Y3Rpb24gKi8KK1hFTl9DUFVGRUFUVVJFKENMRkxVU0hPUFQsICAg IDUqMzIrMjMpIC8qQSAgQ0xGTFVTSE9QVCBpbnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUo Q0xXQiwgICAgICAgICAgNSozMisyNCkgLypBICBDTFdCIGluc3RydWN0aW9uICovCitYRU5fQ1BV RkVBVFVSRShTSEEsICAgICAgICAgICA1KjMyKzI5KSAvKkEgIFNIQTEgJiBTSEEyNTYgaW5zdHJ1 Y3Rpb25zICovCiAKIC8qIEludGVsLWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZlbCAw eDAwMDAwMDA3OjAuZWN4LCB3b3JkIDYgKi8KLVhFTl9DUFVGRUFUVVJFKFBSRUZFVENIV1QxLCAg IDYqMzIrIDApIC8qICAgUFJFRkVUQ0hXVDEgaW5zdHJ1Y3Rpb24gKi8KLVhFTl9DUFVGRUFUVVJF KFBLVSwgICAgICAgICAgIDYqMzIrIDMpIC8qICAgUHJvdGVjdGlvbiBLZXlzIGZvciBVc2Vyc3Bh Y2UgKi8KK1hFTl9DUFVGRUFUVVJFKFBSRUZFVENIV1QxLCAgIDYqMzIrIDApIC8qQSAgUFJFRkVU Q0hXVDEgaW5zdHJ1Y3Rpb24gKi8KK1hFTl9DUFVGRUFUVVJFKFBLVSwgICAgICAgICAgIDYqMzIr IDMpIC8qSCAgUHJvdGVjdGlvbiBLZXlzIGZvciBVc2Vyc3BhY2UgKi8KIFhFTl9DUFVGRUFUVVJF KE9TUEtFLCAgICAgICAgIDYqMzIrIDQpIC8qISAgT1MgUHJvdGVjdGlvbiBLZXlzIEVuYWJsZSAq LwogCiAvKiBBTUQtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4ODAwMDAwMDcu ZWR4LCB3b3JkIDcgKi8KQEAgLTIxNyw3ICsyMjIsNyBAQCBYRU5fQ1BVRkVBVFVSRShJVFNDLCAg ICAgICAgICA3KjMyKyA4KSAvKiAgIEludmFyaWFudCBUU0MgKi8KIFhFTl9DUFVGRUFUVVJFKEVG Uk8sICAgICAgICAgIDcqMzIrMTApIC8qICAgQVBFUkYvTVBFUkYgUmVhZCBPbmx5IGludGVyZmFj ZSAqLwogCiAvKiBBTUQtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4ODAwMDAw MDguZWJ4LCB3b3JkIDggKi8KLVhFTl9DUFVGRUFUVVJFKENMWkVSTywgICAgICAgIDgqMzIrIDAp IC8qICAgQ0xaRVJPIGluc3RydWN0aW9uICovCitYRU5fQ1BVRkVBVFVSRShDTFpFUk8sICAgICAg ICA4KjMyKyAwKSAvKkEgIENMWkVSTyBpbnN0cnVjdGlvbiAqLwogCiAjZW5kaWYgLyogWEVOX0NQ VUZFQVRVUkUgKi8KIApkaWZmIC0tZ2l0IGEveGVuL3Rvb2xzL2dlbi1jcHVpZC5weSBiL3hlbi90 b29scy9nZW4tY3B1aWQucHkKaW5kZXggNTA3NmZiOS4uNGZkNjAzZCAxMDA3NTUKLS0tIGEveGVu L3Rvb2xzL2dlbi1jcHVpZC5weQorKysgYi94ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5CkBAIC0xNywx MiArMTcsMTggQEAgY2xhc3MgU3RhdGUob2JqZWN0KToKICAgICAgICAgIyBTdGF0ZSBwYXJzZWQg ZnJvbSBpbnB1dAogICAgICAgICBzZWxmLm5hbWVzID0ge30gIyBOYW1lID0+IHZhbHVlIG1hcHBp bmcKICAgICAgICAgc2VsZi5yYXdfc3BlY2lhbCA9IHNldCgpCisgICAgICAgIHNlbGYucmF3X3B2 ID0gc2V0KCkKKyAgICAgICAgc2VsZi5yYXdfaHZtX3NoYWRvdyA9IHNldCgpCisgICAgICAgIHNl bGYucmF3X2h2bV9oYXAgPSBzZXQoKQogCiAgICAgICAgICMgU3RhdGUgY2FsY3VsYXRlZAogICAg ICAgICBzZWxmLm5yX2VudHJpZXMgPSAwICMgTnVtYmVyIG9mIHdvcmRzIGluIGEgZmVhdHVyZXNl dAogICAgICAgICBzZWxmLmNvbW1vbl8xZCA9IDAgIyBDb21tb24gZmVhdHVyZXMgYmV0d2VlbiAx ZCBhbmQgZTFkCiAgICAgICAgIHNlbGYua25vd24gPSBbXSAjIEFsbCBrbm93biBmZWF0dXJlcwog ICAgICAgICBzZWxmLnNwZWNpYWwgPSBbXSAjIEZlYXR1cmVzIHdpdGggc3BlY2lhbCBzZW1hbnRp Y3MKKyAgICAgICAgc2VsZi5wdiA9IFtdCisgICAgICAgIHNlbGYuaHZtX3NoYWRvdyA9IFtdCisg ICAgICAgIHNlbGYuaHZtX2hhcCA9IFtdCiAKIGRlZiBwYXJzZV9kZWZpbml0aW9ucyhzdGF0ZSk6 CiAgICAgIiIiCkBAIC0zMiw3ICszOCw3IEBAIGRlZiBwYXJzZV9kZWZpbml0aW9ucyhzdGF0ZSk6 CiAgICAgZmVhdF9yZWdleCA9IHJlLmNvbXBpbGUoCiAgICAgICAgIHIiXlhFTl9DUFVGRUFUVVJF XCgoW0EtWjAtOV9dKyksIgogICAgICAgICAiXHMrKFtcc1xkXStcKltcc1xkXStcK1tcc1xkXSsp XCkiCi0gICAgICAgICJccysvXCooWyFdKikgLiokIikKKyAgICAgICAgIlxzKy9cKihbXHchXSop IC4qJCIpCiAKICAgICB0aGlzID0gc3lzLm1vZHVsZXNbX19uYW1lX19dCiAKQEAgLTcyLDYgKzc4 LDE2IEBAIGRlZiBwYXJzZV9kZWZpbml0aW9ucyhzdGF0ZSk6CiAKICAgICAgICAgICAgIGlmIGEg PT0gIiEiOgogICAgICAgICAgICAgICAgIHN0YXRlLnJhd19zcGVjaWFsLmFkZCh2YWwpCisgICAg ICAgICAgICBlbGlmIGEgaW4gIkFTSCI6CisgICAgICAgICAgICAgICAgaWYgYSA9PSAiQSI6Cisg ICAgICAgICAgICAgICAgICAgIHN0YXRlLnJhd19wdi5hZGQodmFsKQorICAgICAgICAgICAgICAg ICAgICBzdGF0ZS5yYXdfaHZtX3NoYWRvdy5hZGQodmFsKQorICAgICAgICAgICAgICAgICAgICBz dGF0ZS5yYXdfaHZtX2hhcC5hZGQodmFsKQorICAgICAgICAgICAgICAgIGVsaWYgYXR0ciA9PSAi UyI6CisgICAgICAgICAgICAgICAgICAgIHN0YXRlLnJhd19odm1fc2hhZG93LmFkZCh2YWwpCisg ICAgICAgICAgICAgICAgICAgIHN0YXRlLnJhd19odm1faGFwLmFkZCh2YWwpCisgICAgICAgICAg ICAgICAgZWxpZiBhdHRyID09ICJIIjoKKyAgICAgICAgICAgICAgICAgICAgc3RhdGUucmF3X2h2 bV9oYXAuYWRkKHZhbCkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmFpc2Ug RmFpbCgiVW5yZWNvZ25pc2VkIGF0dHJpYnV0ZSAnJXMnIGZvciAlcyIgJSAoYSwgbmFtZSkpCiAK QEAgLTEyNCw2ICsxNDAsOSBAQCBkZWYgY3J1bmNoX251bWJlcnMoc3RhdGUpOgogCiAgICAgc3Rh dGUuY29tbW9uXzFkID0gZmVhdHVyZXNldF90b191aW50MzJzKGNvbW1vbl8xZCwgMSlbMF0KICAg ICBzdGF0ZS5zcGVjaWFsID0gZmVhdHVyZXNldF90b191aW50MzJzKHN0YXRlLnJhd19zcGVjaWFs LCBucl9lbnRyaWVzKQorICAgIHN0YXRlLnB2ID0gZmVhdHVyZXNldF90b191aW50MzJzKHN0YXRl LnJhd19wdiwgbnJfZW50cmllcykKKyAgICBzdGF0ZS5odm1fc2hhZG93ID0gZmVhdHVyZXNldF90 b191aW50MzJzKHN0YXRlLnJhd19odm1fc2hhZG93LCBucl9lbnRyaWVzKQorICAgIHN0YXRlLmh2 bV9oYXAgPSBmZWF0dXJlc2V0X3RvX3VpbnQzMnMoc3RhdGUucmF3X2h2bV9oYXAsIG5yX2VudHJp ZXMpCiAKIAogZGVmIHdyaXRlX3Jlc3VsdHMoc3RhdGUpOgpAQCAtMTQ1LDEwICsxNjQsMTkgQEAg ZGVmIHdyaXRlX3Jlc3VsdHMoc3RhdGUpOgogI2RlZmluZSBJTklUX0tOT1dOX0ZFQVRVUkVTIHsg XFxcbiVzXG59CiAKICNkZWZpbmUgSU5JVF9TUEVDSUFMX0ZFQVRVUkVTIHsgXFxcbiVzXG59CisK KyNkZWZpbmUgSU5JVF9QVl9GRUFUVVJFUyB7IFxcXG4lc1xufQorCisjZGVmaW5lIElOSVRfSFZN X1NIQURPV19GRUFUVVJFUyB7IFxcXG4lc1xufQorCisjZGVmaW5lIElOSVRfSFZNX0hBUF9GRUFU VVJFUyB7IFxcXG4lc1xufQogIiIiICUgKHN0YXRlLm5yX2VudHJpZXMsCiAgICAgICAgc3RhdGUu Y29tbW9uXzFkLAogICAgICAgIGZvcm1hdF91aW50MzJzKHN0YXRlLmtub3duLCA0KSwKICAgICAg ICBmb3JtYXRfdWludDMycyhzdGF0ZS5zcGVjaWFsLCA0KSwKKyAgICAgICBmb3JtYXRfdWludDMy cyhzdGF0ZS5wdiwgNCksCisgICAgICAgZm9ybWF0X3VpbnQzMnMoc3RhdGUuaHZtX3NoYWRvdywg NCksCisgICAgICAgZm9ybWF0X3VpbnQzMnMoc3RhdGUuaHZtX2hhcCwgNCksCiAgICAgICAgKSkK IAogICAgIHN0YXRlLm91dHB1dC53cml0ZSgKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK