Iw0KIyBNYWtlZmlsZSBmb3IgRnJlZVR5cGUyIGxpbmsgbGlicmFyeSB1c2luZyBnY2MgNC4wLjMgZnJvbSB0aGUNCiMgQW1pZ2FPUzQgU0RLDQojDQoNCg0KIyBDb3B5cmlnaHQgMjAwNS0yMDE1IGJ5DQojIFdlcm5lciBMZW1iZXJnIGFuZCBEZXRsZWYgV/xya25lci4NCiMNCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEZyZWVUeXBlIHByb2plY3QsIGFuZCBtYXkgb25seSBiZSB1c2VkLCBtb2RpZmllZCwNCiMgYW5kIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRnJlZVR5cGUgcHJvamVjdCBsaWNlbnNlLA0KIyBMSUNFTlNFLlRYVC4gIEJ5IGNvbnRpbnVpbmcgdG8gdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBmaWxlIHlvdQ0KIyBpbmRpY2F0ZSB0aGF0IHlvdSBoYXZlIHJlYWQgdGhlIGxpY2Vuc2UgYW5kIHVuZGVyc3RhbmQgYW5kIGFjY2VwdCBpdA0KIyBmdWxseS4NCg0KDQojIHRvIGJ1aWxkIGZyb20gdGhlIGJ1aWxkcy9hbWlnYSBkaXJlY3RvcnkgY2FsbA0KIw0KIyAgbWFrZSAtZiBtYWtlZmlsZS5vczQNCiMNCiMgWW91ciBwcm9ncmFtcyBzb3VyY2UgY29kZSBzaG91bGQgc3RhcnQgd2l0aCB0aGlzDQojICh1bmNvbW1lbnQgdGhlIHBhcnRzIHlvdSBkbyBub3QgbmVlZCB0byBrZWVwIHRoZSBwcm9ncmFtIHNtYWxsKToNCiMgLS0tODwtLS0NCiNkZWZpbmUgRlRfVVNFX0FVVE9GSVQgLy8gYXV0b2ZpdHRlcg0KI2RlZmluZSBGVF9VU0VfUkFTVEVSICAvLyBtb25vY2hyb21lIHJhc3Rlcml6ZXINCiNkZWZpbmUgRlRfVVNFX1NNT09USCAgLy8gYW50aS1hbGlhc2luZyByYXN0ZXJpemVyDQojZGVmaW5lIEZUX1VTRV9UVCAgICAgIC8vIHRydWV0eXBlIGZvbnQgZHJpdmVyDQojZGVmaW5lIEZUX1VTRV9UMSAgICAgIC8vIHR5cGUxIGZvbnQgZHJpdmVyDQojZGVmaW5lIEZUX1VTRV9UNDIgICAgIC8vIHR5cGU0MiBmb250IGRyaXZlcg0KI2RlZmluZSBGVF9VU0VfVDFDSUQgICAvLyBjaWQta2V5ZWQgdHlwZTEgZm9udCBkcml2ZXINCiNkZWZpbmUgRlRfVVNFX0NGRiAgICAgLy8gb3BlbnR5cGUgZm9udCBkcml2ZXINCiNkZWZpbmUgRlRfVVNFX0JERiAgICAgLy8gYmRmIGJpdG1hcCBmb250IGRyaXZlcg0KI2RlZmluZSBGVF9VU0VfUENGICAgICAvLyBwY2YgYml0bWFwIGZvbnQgZHJpdmVyDQojZGVmaW5lIEZUX1VTRV9QRlIgICAgIC8vIHBmciBmb250IGRyaXZlcg0KI2RlZmluZSBGVF9VU0VfV0lORk5UICAvLyB3aW5kb3dzIC5mbnR8LmZvbiBiaXRtYXAgZm9udCBkcml2ZXINCiNkZWZpbmUgRlRfVVNFX09UViAgICAgLy8gb3BlbnR5cGUgdmFsaWRhdG9yDQojZGVmaW5lIEZUX1VTRV9HWFYgICAgIC8vIHRydWV0eXBlIGd4IHZhbGlkYXRvcg0KI2luY2x1ZGUgIkZUOnNyYy9iYXNlL2Z0aW5pdC5jIg0KIyAtLS04PC0tLQ0KIw0KIyBsaW5rIHlvdXIgcHJvZ3JhbXMgd2l0aCBsaWJmdDJfcHBjLmEgYW5kIGVpdGhlciBmdHN5c3RlbS5wcGMubyBvciBmdHN5c3RlbXB1cmUucHBjLm8NCiMgKGFuZCBlaXRoZXIgZnRkZWJ1Zy5wcGMubyBvciBmdGRlYnVncHVyZS5wcGMubyBpZiB5b3UgZW5hYmxlZCBGVF9ERUJVR19MRVZFTF9FUlJPUiBvcg0KIyBGVF9ERUJVR19MRVZFTF9UUkFDRSBpbiBpbmNsdWRlL2ZyZWV0eXBlL2NvbmZpZy9mdG9wdGlvbi5oKS4NCg0KYWxsOglhc3NpZ24gbGliZnQyX3BwYy5hIGZ0c3lzdGVtLnBwYy5vIGZ0c3lzdGVtcHVyZS5wcGMubw0KDQphc3NpZ246DQoJYXNzaWduIEZUOiAvLw0KDQpDQyA9ICAgICBwcGMtYW1pZ2Fvcy1nY2MNCkFSID0gICAgIHBwYy1hbWlnYW9zLWFyDQpSQU5MSUIgPSBwcGMtYW1pZ2Fvcy1yYW5saWINCg0KRElSRkxBR1MgID0gLUlpbmNsdWRlIC1JL0ZUL3NyYyAtSS9GVC9pbmNsdWRlIC1JL1NESy9pbmNsdWRlDQoNCldBUk5JTkdTID0gLVdhbGwgLVcgLVd1bmRlZiAtV3BvaW50ZXItYXJpdGggLVdiYWQtZnVuY3Rpb24tY2FzdCBcDQoJICAgLVdhZ2dyZWdhdGUtcmV0dXJuIC1Xd3JpdGUtc3RyaW5ncyAtV3NoYWRvdw0KDQpPUFRJT05TICA9IC1ERlQyX0JVSUxEX0xJQlJBUlkgLUROREVCVUcgLWZuby1idWlsdGluDQpPUFRJTUlaRSA9IC1PMiAtZm9taXQtZnJhbWUtcG9pbnRlciAtZnN0cmVuZ3RoLXJlZHVjZSAtZmlubGluZS1mdW5jdGlvbnMNCg0KQ0ZMQUdTICAgPSAtbWNydD1jbGliMiAkKERJUkZMQUdTKSAkKFdBUk5JTkdTKSAkKEZUMkZMQUdTKSAkKE9QVElPTlMpICQoT1BUSU1JWkUpDQoNCiMNCiMgRnJlZVR5cGUyIGxpYnJhcnkgYmFzZQ0KIw0KZnRiYXNlLnBwYy5vOiBGVDpzcmMvYmFzZS9mdGJhc2UuYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL2Jhc2UvZnRiYXNlLmMNCg0KZnRpbml0LnBwYy5vOiBGVDpzcmMvYmFzZS9mdGluaXQuYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL2Jhc2UvZnRpbml0LmMNCg0KZnRzeXN0ZW0ucHBjLm86IEZUOnNyYy9iYXNlL2Z0c3lzdGVtLmMNCgkkKENDKSAtYyAkKENGTEFHUykgLW8gJEAgL0ZUL3NyYy9iYXNlL2Z0c3lzdGVtLmMNCg0KIyBwdXJlIHZlcnNpb24gZm9yIHVzZSBpbiBydW4tdGltZSBsaWJyYXJ5IGV0Yw0KZnRzeXN0ZW1wdXJlLnBwYy5vOiBzcmMvYmFzZS9mdHN5c3RlbS5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIHNyYy9iYXNlL2Z0c3lzdGVtLmMNCg0KIw0KIyBGcmVlVHlwZTIgbGlicmFyeSBiYXNlIGV4dGVuc2lvbnMNCiMNCmZ0YmJveC5wcGMubzogRlQ6c3JjL2Jhc2UvZnRiYm94LmMNCgkkKENDKSAtYyAkKENGTEFHUykgLW8gJEAgL0ZUL3NyYy9iYXNlL2Z0YmJveC5jDQoNCmZ0YmRmLnBwYy5vOiBGVDpzcmMvYmFzZS9mdGJkZi5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvYmFzZS9mdGJkZi5jDQoNCmZ0Yml0bWFwLnBwYy5vOiBGVDpzcmMvYmFzZS9mdGJpdG1hcC5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvYmFzZS9mdGJpdG1hcC5jDQoNCmZ0Y2lkLnBwYy5vOiBGVDpzcmMvYmFzZS9mdGNpZC5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvYmFzZS9mdGNpZC5jDQoNCmZ0ZGVidWcucHBjLm86IEZUOnNyYy9iYXNlL2Z0ZGVidWcuYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL2Jhc2UvZnRkZWJ1Zy5jDQoNCiMgcHVyZSB2ZXJzaW9uIGZvciB1c2UgaW4gcnVuLXRpbWUgbGlicmFyeSBldGMNCmZ0ZGVidWdwdXJlLnBwYy5vOiBzcmMvYmFzZS9mdGRlYnVnLmMNCgkkKENDKSAtYyAkKENGTEFHUykgLW8gJEAgc3JjL2Jhc2UvZnRkZWJ1Zy5jDQoNCmZ0Zm50Zm10LnBwYy5vOiBGVDpzcmMvYmFzZS9mdGZudGZtdC5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvYmFzZS9mdGZudGZtdC5jDQoNCmZ0ZnN0eXBlLnBwYy5vOiBGVDpzcmMvYmFzZS9mdGZzdHlwZS5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvYmFzZS9mdGZzdHlwZS5jDQoNCmZ0Z2FzcC5wcGMubzogRlQ6c3JjL2Jhc2UvZnRnYXNwLmMNCgkkKENDKSAtYyAkKENGTEFHUykgLW8gJEAgL0ZUL3NyYy9iYXNlL2Z0Z2FzcC5jDQoNCmZ0Z2x5cGgucHBjLm86IEZUOnNyYy9iYXNlL2Z0Z2x5cGguYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL2Jhc2UvZnRnbHlwaC5jDQoNCmZ0Z3h2YWwucHBjLm86IEZUOnNyYy9iYXNlL2Z0Z3h2YWwuYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL2Jhc2UvZnRneHZhbC5jDQoNCmZ0bGNkZmlsLnBwYy5vOiBGVDpzcmMvYmFzZS9mdGxjZGZpbC5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvYmFzZS9mdGxjZGZpbC5jDQoNCmZ0bW0ucHBjLm86IEZUOnNyYy9iYXNlL2Z0bW0uYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL2Jhc2UvZnRtbS5jDQoNCmZ0b3R2YWwucHBjLm86IEZUOnNyYy9iYXNlL2Z0b3R2YWwuYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL2Jhc2UvZnRvdHZhbC5jDQoNCmZ0cGF0ZW50LnBwYy5vOiBGVDpzcmMvYmFzZS9mdHBhdGVudC5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvYmFzZS9mdHBhdGVudC5jDQoNCmZ0cGZyLnBwYy5vOiBGVDpzcmMvYmFzZS9mdHBmci5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvYmFzZS9mdHBmci5jDQoNCmZ0c3Ryb2tlLnBwYy5vOiBGVDpzcmMvYmFzZS9mdHN0cm9rZS5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvYmFzZS9mdHN0cm9rZS5jDQoNCmZ0c3ludGgucHBjLm86IEZUOnNyYy9iYXNlL2Z0c3ludGguYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL2Jhc2UvZnRzeW50aC5jDQoNCmZ0dHlwZTEucHBjLm86IEZUOnNyYy9iYXNlL2Z0dHlwZTEuYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL2Jhc2UvZnR0eXBlMS5jDQoNCmZ0d2luZm50LnBwYy5vOiBGVDpzcmMvYmFzZS9mdHdpbmZudC5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvYmFzZS9mdHdpbmZudC5jDQoNCiMNCiMgRnJlZVR5cGUyIGxpYnJhcnkgYXV0b2ZpdHRpbmcgbW9kdWxlDQojDQphdXRvZml0LnBwYy5vOiBGVDpzcmMvYXV0b2ZpdC9hdXRvZml0LmMNCgkkKENDKSAtYyAkKENGTEFHUykgLW8gJEAgL0ZUL3NyYy9hdXRvZml0L2F1dG9maXQuYw0KDQojDQojIEZyZWVUeXBlMiBsaWJyYXJ5IHBvc3RzY3JpcHQgaGludGluZyBtb2R1bGUNCiMNCnBzaGludGVyLnBwYy5vOiBGVDpzcmMvcHNoaW50ZXIvcHNoaW50ZXIuYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL3BzaGludGVyL3BzaGludGVyLmMNCg0KIw0KIyBGcmVlVHlwZTIgbGlicmFyeSBQUyBzdXBwb3J0IG1vZHVsZQ0KIw0KcHNhdXgucHBjLm86IEZUOnNyYy9wc2F1eC9wc2F1eC5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvcHNhdXgvcHNhdXguYw0KDQojDQojIEZyZWVUeXBlMiBsaWJyYXJ5IFBTIGdseXBoIG5hbWVzIG1vZHVsZQ0KIw0KcHNuYW1lcy5wcGMubzogRlQ6c3JjL3BzbmFtZXMvcHNuYW1lcy5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvcHNuYW1lcy9wc25hbWVzLmMNCg0KIw0KIyBGcmVlVHlwZTIgbGlicmFyeSBtb25vY2hyb21lIHJhc3RlciBtb2R1bGUNCiMNCnJhc3Rlci5wcGMubzogRlQ6c3JjL3Jhc3Rlci9yYXN0ZXIuYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL3Jhc3Rlci9yYXN0ZXIuYw0KDQojDQojIEZyZWVUeXBlMiBsaWJyYXJ5IGFudGktYWxpYXNpbmcgcmFzdGVyIG1vZHVsZQ0KIw0Kc21vb3RoLnBwYy5vOiBGVDpzcmMvc21vb3RoL3Ntb290aC5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvc21vb3RoL3Ntb290aC5jDQoNCiMNCiMgRnJlZVR5cGUyIGxpYnJhcnkgJ3NmbnQnIG1vZHVsZQ0KIw0Kc2ZudC5wcGMubzogRlQ6c3JjL3NmbnQvc2ZudC5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvc2ZudC9zZm50LmMNCg0KIw0KIyBGcmVlVHlwZTIgbGlicmFyeSBnbHlwaCBhbmQgaW1hZ2UgY2FjaGluZyBzeXN0ZW0NCiMNCmZ0Y2FjaGUucHBjLm86IEZUOnNyYy9jYWNoZS9mdGNhY2hlLmMNCgkkKENDKSAtYyAkKENGTEFHUykgLW8gJEAgL0ZUL3NyYy9jYWNoZS9mdGNhY2hlLmMNCg0KIw0KIyBGcmVlVHlwZTIgbGlicmFyeSBPcGVuVHlwZSBmb250IGRyaXZlcg0KIw0KY2ZmLnBwYy5vOiBGVDpzcmMvY2ZmL2NmZi5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvY2ZmL2NmZi5jDQoNCiMNCiMgRnJlZVR5cGUyIGxpYnJhcnkgVHJ1ZVR5cGUgZm9udCBkcml2ZXINCiMNCnRydWV0eXBlLnBwYy5vOiBGVDpzcmMvdHJ1ZXR5cGUvdHJ1ZXR5cGUuYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL3RydWV0eXBlL3RydWV0eXBlLmMNCg0KIw0KIyBGcmVlVHlwZTIgbGlicmFyeSBUeXBlMSBmb250IGRyaXZlcg0KIw0KdHlwZTEucHBjLm86IEZUOnNyYy90eXBlMS90eXBlMS5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvdHlwZTEvdHlwZTEuYw0KDQojDQojIEZyZWVUeXBlMiBsaWJyYXJ5IFR5cGU0MiBmb250IGRyaXZlcg0KIw0KdHlwZTQyLnBwYy5vOiBGVDpzcmMvdHlwZTQyL3R5cGU0Mi5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvdHlwZTQyL3R5cGU0Mi5jDQoNCiMNCiMgRnJlZVR5cGUyIGxpYnJhcnkgQ0lELWtleWVkIFR5cGUxIGZvbnQgZHJpdmVyDQojDQp0eXBlMWNpZC5wcGMubzogRlQ6c3JjL2NpZC90eXBlMWNpZC5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvY2lkL3R5cGUxY2lkLmMNCg0KIw0KIyBGcmVlVHlwZTIgbGlicmFyeSBCREYgYml0bWFwIGZvbnQgZHJpdmVyDQojDQpiZGYucHBjLm86IEZUOnNyYy9iZGYvYmRmLmMNCgkkKENDKSAtYyAkKENGTEFHUykgLW8gJEAgL0ZUL3NyYy9iZGYvYmRmLmMNCg0KIw0KIyBGcmVlVHlwZTIgbGlicmFyeSBQQ0YgYml0bWFwIGZvbnQgZHJpdmVyDQojDQpwY2YucHBjLm86IEZUOnNyYy9wY2YvcGNmLmMNCgkkKENDKSAtYyAkKENGTEFHUykgLW8gJEAgL0ZUL3NyYy9wY2YvcGNmLmMNCg0KIw0KIyBGcmVlVHlwZTIgbGlicmFyeSBnemlwIHN1cHBvcnQgZm9yIGNvbXByZXNzZWQgUENGIGJpdG1hcCBmb250cw0KIw0KZ3ppcC5wcGMubzogRlQ6c3JjL2d6aXAvZnRnemlwLmMNCgkkKENDKSAtYyAkKENGTEFHUykgLW8gJEAgL0ZUL3NyYy9nemlwL2Z0Z3ppcC5jDQoNCiMNCiMgRnJlZVR5cGUyIGxpYnJhcnkgYnppcDIgc3VwcG9ydCBmb3IgY29tcHJlc3NlZCBQQ0YgYml0bWFwIGZvbnRzDQojDQpiemlwMi5wcGMubzogRlQ6c3JjL2J6aXAyL2Z0YnppcDIuYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL2J6aXAyL2Z0YnppcDIuYw0KDQojDQojIEZyZWVUeXBlMiBsaWJyYXJ5IGNvbXByZXNzIHN1cHBvcnQgZm9yIGNvbXByZXNzZWQgUENGIGJpdG1hcCBmb250cw0KIw0KbHp3LnBwYy5vOiBGVDpzcmMvbHp3L2Z0bHp3LmMNCgkkKENDKSAtYyAkKENGTEFHUykgLW8gJEAgL0ZUL3NyYy9sencvZnRsencuYw0KDQojDQojIEZyZWVUeXBlMiBsaWJyYXJ5IFBGUiBmb250IGRyaXZlcg0KIw0KcGZyLnBwYy5vOiBGVDpzcmMvcGZyL3Bmci5jDQoJJChDQykgLWMgJChDRkxBR1MpIC1vICRAIC9GVC9zcmMvcGZyL3Bmci5jDQoNCiMNCiMgRnJlZVR5cGUyIGxpYnJhcnkgV2luZG93cyBGTlQvRk9OIGJpdG1hcCBmb250IGRyaXZlcg0KIw0Kd2luZm50LnBwYy5vOiBGVDpzcmMvd2luZm9udHMvd2luZm50LmMNCgkkKENDKSAtYyAkKENGTEFHUykgLW8gJEAgL0ZUL3NyYy93aW5mb250cy93aW5mbnQuYw0KDQojDQojIEZyZWVUeXBlMiBsaWJyYXJ5IFRydWVUeXBlR1ggVmFsaWRhdG9yDQojDQpneHZhbGlkLnBwYy5vOiBGVDpzcmMvZ3h2YWxpZC9neHZhbGlkLmMNCgkkKENDKSAtYyAkKENGTEFHUykgLVduby1hZ2dyZWdhdGUtcmV0dXJuIC1vICRAIC9GVC9zcmMvZ3h2YWxpZC9neHZhbGlkLmMNCg0KIw0KIyBGcmVlVHlwZTIgbGlicmFyeSBPcGVuVHlwZSB2YWxpZGF0b3INCiMNCm90dmFsaWQucHBjLm86IEZUOnNyYy9vdHZhbGlkL290dmFsaWQuYw0KCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtbyAkQCAvRlQvc3JjL290dmFsaWQvb3R2YWxpZC5jDQoNCkJBU0UgPSBmdGJhc2UucHBjLm8gZnRiYm94LnBwYy5vIGZ0YmRmLnBwYy5vIGZ0Yml0bWFwLnBwYy5vIGZ0Y2lkLnBwYy5vIFwNCiAgICAgICBmdGZudGZtdC5wcGMubyBmdGZzdHlwZS5wcGMubyBmdGdhc3AucHBjLm8gZnRnbHlwaC5wcGMubyAgICAgICAgIFwNCiAgICAgICBmdGd4dmFsLnBwYy5vIGZ0bGNkZmlsLnBwYy5vIGZ0bW0ucHBjLm8gZnRvdHZhbC5wcGMubyAgICAgICAgICAgIFwNCiAgICAgICBmdHBhdGVudC5wcGMubyBmdHBmci5wcGMubyBmdHN0cm9rZS5wcGMubyBmdHN5bnRoLnBwYy5vICAgICAgICAgIFwNCiAgICAgICBmdHR5cGUxLnBwYy5vIGZ0d2luZm50LnBwYy5vDQoNCkRFQlVHID0gZnRkZWJ1Zy5wcGMubyBmdGRlYnVncHVyZS5wcGMubw0KDQpBRklUID0gYXV0b2ZpdC5wcGMubw0KDQpHWFYgPSBneHZhbGlkLnBwYy5vDQoNCk9UViA9IG90dmFsaWQucHBjLm8NCg0KUFMgPSBwc2F1eC5wcGMubyBwc25hbWVzLnBwYy5vIHBzaGludGVyLnBwYy5vDQoNClJBU1RFUiA9IHJhc3Rlci5wcGMubyBzbW9vdGgucHBjLm8NCg0KRk9OVEQgPSBjZmYucHBjLm8gdHlwZTEucHBjLm8gdHlwZTQyLnBwYy5vIHR5cGUxY2lkLnBwYy5vIHRydWV0eXBlLnBwYy5vXA0KCWJkZi5wcGMubyBwY2YucHBjLm8gcGZyLnBwYy5vIHdpbmZudC5wcGMubw0KDQpsaWJmdDJfcHBjLmE6ICAgICAgJChCQVNFKSAkKEFGSVQpICQoR1hWKSAkKE9UVikgJChQUykgJChSQVNURVIpIHNmbnQucHBjLm8gZnRjYWNoZS5wcGMubyAkKEZPTlREKSBnemlwLnBwYy5vIGx6dy5wcGMubw0KCSQoQVIpIHIgJEAgJChCQVNFKSAkKEFGSVQpICQoR1hWKSAkKE9UVikgJChQUykgJChSQVNURVIpIHNmbnQucHBjLm8gZnRjYWNoZS5wcGMubyAkKEZPTlREKSBnemlwLnBwYy5vIGx6dy5wcGMubw0KCSQoUkFOTElCKSAkQA0KDQojTG9jYWwgVmFyaWFibGVzOg0KI2NvZGluZzogbGF0aW4tMQ0KI0VuZDoNCg==