LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQ29weXJpZ2h0IChDKSBNYXJ2ZWxsIEludGVybmF0aW9uYWwgTHRkLiBhbmQgaXRzIGFmZmlsaWF0ZXMKClRoaXMgc29mdHdhcmUgZmlsZSAodGhlICJGaWxlIikgaXMgb3duZWQgYW5kIGRpc3RyaWJ1dGVkIGJ5IE1hcnZlbGwgCkludGVybmF0aW9uYWwgTHRkLiBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMgKCJNYXJ2ZWxsIikgdW5kZXIgdGhlIGZvbGxvd2luZwphbHRlcm5hdGl2ZSBsaWNlbnNpbmcgdGVybXMuICBPbmNlIHlvdSBoYXZlIG1hZGUgYW4gZWxlY3Rpb24gdG8gZGlzdHJpYnV0ZSB0aGUKRmlsZSB1bmRlciBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFsdGVybmF0aXZlcywgcGxlYXNlIChpKSBkZWxldGUgdGhpcwppbnRyb2R1Y3Rvcnkgc3RhdGVtZW50IHJlZ2FyZGluZyBsaWNlbnNlIGFsdGVybmF0aXZlcywgKGlpKSBkZWxldGUgdGhlIHR3bwpsaWNlbnNlIGFsdGVybmF0aXZlcyB0aGF0IHlvdSBoYXZlIG5vdCBlbGVjdGVkIHRvIHVzZSBhbmQgKGlpaSkgcHJlc2VydmUgdGhlCk1hcnZlbGwgY29weXJpZ2h0IG5vdGljZSBhYm92ZS4KCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCk1hcnZlbGwgQ29tbWVyY2lhbCBMaWNlbnNlIE9wdGlvbgoKSWYgeW91IHJlY2VpdmVkIHRoaXMgRmlsZSBmcm9tIE1hcnZlbGwgYW5kIHlvdSBoYXZlIGVudGVyZWQgaW50byBhIGNvbW1lcmNpYWwKbGljZW5zZSBhZ3JlZW1lbnQgKGEgIkNvbW1lcmNpYWwgTGljZW5zZSIpIHdpdGggTWFydmVsbCwgdGhlIEZpbGUgaXMgbGljZW5zZWQKdG8geW91IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgYXBwbGljYWJsZSBDb21tZXJjaWFsIExpY2Vuc2UuCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpNYXJ2ZWxsIEdQTCBMaWNlbnNlIE9wdGlvbgoKSWYgeW91IHJlY2VpdmVkIHRoaXMgRmlsZSBmcm9tIE1hcnZlbGwsIHlvdSBtYXkgb3B0IHRvIHVzZSwgcmVkaXN0cmlidXRlIGFuZC9vciAKbW9kaWZ5IHRoaXMgRmlsZSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHZW5lcmFsIApQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDIsIEp1bmUgMTk5MSAodGhlICJHUEwgTGljZW5zZSIpLCBhIGNvcHkgb2Ygd2hpY2ggaXMgCmF2YWlsYWJsZSBhbG9uZyB3aXRoIHRoZSBGaWxlIGluIHRoZSBsaWNlbnNlLnR4dCBmaWxlIG9yIGJ5IHdyaXRpbmcgdG8gdGhlIEZyZWUgClNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgb3IgCm9uIHRoZSB3b3JsZHdpZGUgd2ViIGF0IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwudHh0LiAKClRIRSBGSUxFIElTIERJU1RSSUJVVEVEIEFTLUlTLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBBTkQgVEhFIElNUExJRUQgCldBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBFWFBSRVNTTFkgCkRJU0NMQUlNRUQuICBUaGUgR1BMIExpY2Vuc2UgcHJvdmlkZXMgYWRkaXRpb25hbCBkZXRhaWxzIGFib3V0IHRoaXMgd2FycmFudHkgCmRpc2NsYWltZXIuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCk1hcnZlbGwgQlNEIExpY2Vuc2UgT3B0aW9uCgpJZiB5b3UgcmVjZWl2ZWQgdGhpcyBGaWxlIGZyb20gTWFydmVsbCwgeW91IG1heSBvcHQgdG8gdXNlLCByZWRpc3RyaWJ1dGUgYW5kL29yIAptb2RpZnkgdGhpcyBGaWxlIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zaW5nIHRlcm1zLiAKUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCmFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKCiAgICAqICAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAoJICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAoKICAgICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogICAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKICAgICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKCiAgICAqICAgTmVpdGhlciB0aGUgbmFtZSBvZiBNYXJ2ZWxsIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgCiAgICAgICAgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCAKICAgICAgICBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAogICAgClRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgCkFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIApXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIApESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIApBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgCihJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgCkxPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiAKQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgCihJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIApTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgojaWZuZGVmIF9fSU5DbXZQTUZsYXNoU3BlY0gKI2RlZmluZSBfX0lOQ212UE1GbGFzaFNwZWNICgojaW5jbHVkZSAibXZNRmxhc2hTcGVjLmgiCgovKiBkZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHRpbWluZyByZWdpc3RlcnMgKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9UMSAgICAgICAgICAgICAgICAgICAgICAgMHg3ICAgICAvKiBSZWFkIEFjY2VzcyBUaW1lIFQxIJYgc3Vub2wyIGRlZmF1bHQgKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9UMiAgICAgICAgICAgICAgICAgICAgICAgMHg3ICAgICAvKiBSZWFkIEFjY2VzcyBUaW1lIFQyIJYgc3Vub2wyIGRlZmF1bHQgKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9UNyAgICAgICAgICAgICAgICAgICAgICAgMHgyOSAgICAvKiBEaXZpZGVyIE51bWJlciBmb3IgVDcgliBzdW5vbDIgZGVmYXVsdCAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX1BDTEtfT1VUICAgICAgICAgICAgICAgICAweDAgICAgIC8qIEhvbGQgVGltZSBiZXR3ZWVuIHJlZmVyZW5jZSBjbG9jayBhbmQgUENMSyAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX1NMRVdfMF8xICAgICAgICAgICAgICAgICAweDIgICAgIC8qIHNsZXcgcmF0ZSBmb3IgUENMS19PVVQgYml0cyAwLTEgKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9TTEVXXzJfMyAgICAgICAgICAgICAgICAgMHgzICAgICAvKiBzbGV3IHJhdGUgZm9yIFBDTEtfT1VUIGJpdHMgMi0zICovCgovKiBQcm9ncmFtbWluZyBhbGxpZ25tZW50IG1hc2sgKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9QUk9HX1dPUkRTX1BFUl9DSFVOSwkJKE1WX01GTEFTSF9QUk9HX0NIVU5LX1NJWkUgLyAyKQoKLyogSVJlYWQgQWxsaWdubWV0IGRlZmluaXRpb25zICovCiNkZWZpbmUJCU1WX1BNRkxBU0hfSVJFQURfQUxJR05fTUFTSwkJCTB4MDAwNyAgLyogSVJFQUQgc2hvdWxkIGJlIGFsbGlnbmVkIHRvIDhieXRlcyAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX0lSRUFEX0NIVU5LX1NJWkUJCQkoTVZfUE1GTEFTSF9JUkVBRF9BTElHTl9NQVNLICsgMSkKCi8qIHdyb2QgY291bnQgZm9yIHRoZSBJbmRpcmVjdCByZWFkIGNvbW1hbmRzIChJUkVBRCBhbmQgUkVBRCBJRCkgKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9JUkVBRF8xNkJJVF9DT1VOVAkJMHg0CQkJLyogOCBieXRlcyBwZXIgSVJFQUQgY29tbWFuZCAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX1JFQURfSURfMTZCSVRfQ09VTlQJCTB4MwkJCS8qIDYgYnl0ZXMgPSA0IG1hbmYgSUQgKyAyIERldiBJRCAqLwoKLyogTUZsYXNoIGNvbW1hbmQgb3Bjb2RlcyAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX09QQ0RfUFJPR1JBTQkJCQkweDAyCiNkZWZpbmUJCU1WX1BNRkxBU0hfT1BDRF9QUkdfQ01QCQkJCTB4MDcKI2RlZmluZQkJTVZfUE1GTEFTSF9PUENEX0lQUk9HUkFNCQkJMHg4MgojZGVmaW5lCQlNVl9QTUZMQVNIX09QQ0RfSVBSR19DTVAJCQkweDg3CiNkZWZpbmUJCU1WX1BNRkxBU0hfT1BDRF9QQUdFX0VSQVNFCQkJMHg1MgojZGVmaW5lCQlNVl9QTUZMQVNIX09QQ0RfSVBBR0VfRVJBU0UJCQkweEQyCiNkZWZpbmUJCU1WX1BNRkxBU0hfT1BDRF9DSElQX0VSQVNFCQkJMHhFMgojZGVmaW5lCQlNVl9QTUZMQVNIX09QQ0RfTUFJTl9FUkFTRQkJCTB4NjIKI2RlZmluZQkJTVZfUE1GTEFTSF9PUENEX1JEU1IJCQkJMHgwNQojZGVmaW5lCQlNVl9QTUZMQVNIX09QQ0RfSVJFQUQJCQkJMHg4MwojZGVmaW5lCQlNVl9QTUZMQVNIX09QQ0RfU0VUX0NGRzEJCQkweEIwCiNkZWZpbmUJCU1WX1BNRkxBU0hfT1BDRF9TRVRfQ0ZHMgkJCTB4QjEKI2RlZmluZQkJTVZfUE1GTEFTSF9PUENEX1NFVF9DRkczCQkJMHhCMgojZGVmaW5lCQlNVl9QTUZMQVNIX09QQ0RfU0VUX0NGRzQJCQkweEIzCiNkZWZpbmUJCU1WX1BNRkxBU0hfT1BDRF9SRUFEX0NGRzEJCQkweEI0CiNkZWZpbmUJCU1WX1BNRkxBU0hfT1BDRF9SRUFEX0NGRzIJCQkweEI1CiNkZWZpbmUJCU1WX1BNRkxBU0hfT1BDRF9SRUFEX0NGRzMJCQkweEI2CiNkZWZpbmUJCU1WX1BNRkxBU0hfT1BDRF9SRUFEX0NGRzQJCQkweEI3CiNkZWZpbmUJCU1WX1BNRkxBU0hfT1BDRF9TSFVURE9XTgkJCTB4QTQKI2RlZmluZQkJTVZfUE1GTEFTSF9PUENEX1NFVF9TTEVXCQkJMHhBNQojZGVmaW5lCQlNVl9QTUZMQVNIX09QQ0RfUkVBRF9JRAkJCQkweDE1CgovKiBNYXJ2ZWxsIEZsYXNoIERldmljZSBDb250cm9sbGVyIFJlZ2lzdGVycyAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX0NUUkxSX09GU1QJCQkJMHgxMDUwMAojZGVmaW5lCQlNVl9QTUZMQVNIX0lGX0NUUkxfUkVHCQkJCShNVl9QTUZMQVNIX0NUUkxSX09GU1QgKyAweDAwKQojZGVmaW5lCQlNVl9QTUZMQVNIX0lGX0NGR19SRUcJCQkJKE1WX1BNRkxBU0hfQ1RSTFJfT0ZTVCArIDB4MDQpCiNkZWZpbmUJCU1WX1BNRkxBU0hfQUREUl9MT1dfUkVHCQkJCShNVl9QTUZMQVNIX0NUUkxSX09GU1QgKyAweDA4KQojZGVmaW5lCQlNVl9QTUZMQVNIX0FERFJfSElfUkVHCQkJCShNVl9QTUZMQVNIX0NUUkxSX09GU1QgKyAweDBjKQojZGVmaW5lCQlNVl9QTUZMQVNIX0NNRF9PUENPREVfUkVHCQkJKE1WX1BNRkxBU0hfQ1RSTFJfT0ZTVCArIDB4MTApCiNkZWZpbmUJCU1WX1BNRkxBU0hfSUZfU1RBVFVTX1JFRwkJCShNVl9QTUZMQVNIX0NUUkxSX09GU1QgKyAweDE0KQojZGVmaW5lCQlNVl9QTUZMQVNIX1NUQVRVU19SRUcJCQkJKE1WX1BNRkxBU0hfQ1RSTFJfT0ZTVCArIDB4MTgpCiNkZWZpbmUJCU1WX1BNRkxBU0hfREFUQV9SRUcJCQkJCShNVl9QTUZMQVNIX0NUUkxSX09GU1QgKyAweDIwKQoKLyogRmxhc2ggSW50ZXJmYWNlIGNvbmZpZ3VyYXRpb24gKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9TRVJJQUxfTU9ERV9PRkZTRVQJCTAJCS8qIGJpdCAwICovCiNkZWZpbmUJCU1WX1BNRkxBU0hfUkVTRVRfT0ZGU0VUCQkJCTQJCS8qIGJpdCA0ICovCiNkZWZpbmUJCU1WX1BNRkxBU0hfSUZfUkVTRVRfT0ZGU0VUCQkJNQkJLyogYml0IDUgKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9XUF9QUk9URUNUX09GRlNFVAkJNgkJLyogYml0IDYgKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9FWFRfRkxBU0hfT0ZGU0VUCQkJMTIJICAgIC8qIGJpdCAxMiAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX0VYVF9QUk9HUkFNTUVSX09GRlNFVAkxMwkgICAgLyogYml0IDEzICovCiNkZWZpbmUJCU1WX1BNRkxBU0hfU0VSSUFMX01PREVfTUFTSwkJCSgweDEgIDw8IE1WX1BNRkxBU0hfU0VSSUFMX01PREVfT0ZGU0VUKQojZGVmaW5lCQlNVl9QTUZMQVNIX1JFU0VUX01BU0sJCQkJKDB4MSAgPDwgTVZfUE1GTEFTSF9SRVNFVF9PRkZTRVQpCiNkZWZpbmUJCU1WX1BNRkxBU0hfSUZfUkVTRVRfTUFTSwkJCSgweDEgIDw8IE1WX1BNRkxBU0hfSUZfUkVTRVRfT0ZGU0VUKQojZGVmaW5lCQlNVl9QTUZMQVNIX1dQX1BST1RFQ1RfTUFTSwkJCSgweDEgIDw8IE1WX1BNRkxBU0hfV1BfUFJPVEVDVF9PRkZTRVQpCiNkZWZpbmUJCU1WX1BNRkxBU0hfRVhUX0ZMQVNIX01BU0sJCQkoMHgxICA8PCBNVl9QTUZMQVNIX0VYVF9GTEFTSF9PRkZTRVQpCiNkZWZpbmUJCU1WX1BNRkxBU0hfRVhUX1BST0dSQU1NRVJfTUFTSwkJKDB4MSAgPDwgTVZfUE1GTEFTSF9FWFRfUFJPR1JBTU1FUl9PRkZTRVQpCgojZGVmaW5lICAgICBNVl9QTUZMQVNIX1NQSV9CVVNfTU9ERV9NQVNLICAgICAgICAoTVZfUE1GTEFTSF9TRVJJQUxfTU9ERV9NQVNLIHwgTVZfUE1GTEFTSF9FWFRfRkxBU0hfTUFTSyB8IE1WX1BNRkxBU0hfRVhUX1BST0dSQU1NRVJfTUFTSykKI2RlZmluZSAgICAgTVZfUE1GTEFTSF9TUElfQlVTX1RPX01GTEFTSCAgICAgICAgMHgxMDAxCiNkZWZpbmUgICAgIE1WX1BNRkxBU0hfU1BJX0JVU19UT19FWFRfU0ZMQVNIICAgIDB4MDAwMAojZGVmaW5lICAgICBNVl9QTUZMQVNIX1NQSV9CVVNfRVhUX1BST0dSQU1FUiAgICAweDIwMDEKCi8qIENvbW1hbmQgT3Bjb2RlIFJlZ2lzdGVyIE1hc2tzICovCiNkZWZpbmUJCU1WX1BNRkxBU0hfQ01EX09QQ0RfT0ZGU0VUCQkJMAkJLyogYml0cyAwLTcgKi8KI2RlZmluZSAgICAgTVZfUE1GTEFTSF9FQUQ5XzhfT0ZGU0VUICAgICAgICAgICAgOCAgICAgICAvKiBiaXQgOCAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX1dSX09QRVJfU1RSVF9PRkZTRVQJCTEyICAJLyogYml0IDEyICovCiNkZWZpbmUJCU1WX1BNRkxBU0hfRVJBU0VfU1RSVF9PRkZTRVQJCTEzCSAgICAvKiBiaXQgMTMgKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9SRFNSX1NFVF9PRkZTRVQJCQkxNAkgICAgLyogYml0IDE0ICovCiNkZWZpbmUJCU1WX1BNRkxBU0hfSU5GX1JFQURfU1RSVF9PRkZTRVQJCTE1CSAgICAvKiBiaXQgMTUgKi8KI2RlZmluZSAgICAgTVZfUE1GTEFTSF9FQUQ5XzhfTUFTSyAgICAgICAgICAgICAgKDB4MyAgPDwgTVZfUE1GTEFTSF9FQUQ5XzhfT0ZGU0VUKQojZGVmaW5lCQlNVl9QTUZMQVNIX0NNRF9PUENEX01BU0sJCQkoMHhGRiA8PCBNVl9QTUZMQVNIX0NNRF9PUENEX09GRlNFVCkKI2RlZmluZQkJTVZfUE1GTEFTSF9XUl9PUEVSX1NUUlRfTUFTSwkJKDB4MSAgPDwgTVZfUE1GTEFTSF9XUl9PUEVSX1NUUlRfT0ZGU0VUKQojZGVmaW5lCQlNVl9QTUZMQVNIX0VSQVNFX1NUUlRfTUFTSwkJCSgweDEgIDw8IE1WX1BNRkxBU0hfRVJBU0VfU1RSVF9PRkZTRVQpCiNkZWZpbmUJCU1WX1BNRkxBU0hfUkRTUl9TRVRfTUFTSwkJCSgweDEgIDw8IE1WX1BNRkxBU0hfUkRTUl9TRVRfT0ZGU0VUKQojZGVmaW5lCQlNVl9QTUZMQVNIX0lORl9SRUFEX1NUUlRfTUFTSwkJKDB4MSAgPDwgTVZfUE1GTEFTSF9JTkZfUkVBRF9TVFJUX09GRlNFVCkKCi8qIEZsYXNoIEludGVyZmFjZSBTdGF0dXMgUmVnaXN0ZXIgTWFza3MgKi8KI2RlZmluZSAgICAgTVZfUE1GTEFTSF9DTURfRE9ORV9PRkZTRVQJCQkwCQkvKiBiaXQgMCAqLwojZGVmaW5lICAgICBNVl9QTUZMQVNIX0NNRF9ET05FX01BU0sJCQkoMHgxICA8PCBNVl9QTUZMQVNIX0NNRF9ET05FX09GRlNFVCkKCi8qIEZsYXNoIFN0YXR1cyBSZWdpc3RlciBNYXNrcyAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX1NUQVRVU19PRkZTRVQJCQkwCQkvKiBiaXRzIDAtNyAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX1NUQVRfV0lQX09GRlNFVAkJCTAJCS8qIGJpdCAwICovCiNkZWZpbmUgICAgIE1WX1BNRkxBU0hfU1RBVF9DTVBfT0ZGU0VUICAgICAgICAgIDYgICAgICAgLyogYml0IDYgKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9TVEFUVVNfTUFTSwkJCQkoMHhGRiA8PCBNVl9QTUZMQVNIX1NUQVRVU19PRkZTRVQpCiNkZWZpbmUJCU1WX1BNRkxBU0hfU1RBVF9XSVBfTUFTSwkJCSgweDEgIDw8IE1WX1BNRkxBU0hfU1RBVF9XSVBfT0ZGU0VUKQojZGVmaW5lCQlNVl9QTUZMQVNIX1NUQVRfQ01QX01BU0sJCQkoMHgxICA8PCBNVl9QTUZMQVNIX1NUQVRfQ01QX09GRlNFVCkKCi8qIE1GbGFzaCBDT05GSUc0IHJlZ2lzdGVyIGJpdCBNYXNrcyAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX0NGRzRfUEdfU1pfT0ZGU0VUCQkwCQkvKiBiaXQgMCAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX0NGRzRfV1BfT0ZGU0VUCQkJNwkJLyogYml0IDcgKi8KI2RlZmluZQkJTVZfUE1GTEFTSF9DRkc0X1BHX1NaX01BU0sJCQkoMHgxICA8PCBNVl9QTUZMQVNIX0NGRzRfUEdfU1pfT0ZGU0VUKQojZGVmaW5lCQlNVl9QTUZMQVNIX0NGRzRfV1BfTUFTSwkJCQkoMHgxICA8PCBNVl9QTUZMQVNIX0NGRzRfV1BfT0ZGU0VUKQoKLyogTUZsYXNoIENPTkZJRzIgcmVnaXN0ZXIgYml0IE1hc2tzICovCiNkZWZpbmUJCU1WX1BNRkxBU0hfQ0ZHMl9QUkZUQ0hfT0ZGU0VUCQk3CSAgICAvKiBiaXQgNyAqLwojZGVmaW5lCQlNVl9QTUZMQVNIX0NGRzJfUFJGVENIX01BU0sJCQkoMHgxICA8PCBNVl9QTUZMQVNIX0NGRzJfUFJGVENIX09GRlNFVCkKCiNlbmRpZiAvKiBfX0lOQ212UE1GbGFzaFNwZWNIICovCg==