IyEvYmluL3NoCiMgICRIZWFkZXI6IC9ob21lL2plcmVua3JhbnR6L3RtcC9jb21tb25zL2NvbW1vbnMtY29udmVydC9jdnMvaG9tZS9jdnMvamFrYXJ0YS1jb21tb25zLy92YWxpZGF0b3IvZXRjL2pzZG9jLnNoLHYgMS40IDIwMDQvMDUvMjEgMTQ6Mjg6MTIgcmxlbGFuZCBFeHAgJAojICAkUmV2aXNpb24kCiMgICREYXRlJAojIAojICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQojICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKIyAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCiMgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KIyAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKIyAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKIyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKIyAKIyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAojIAojICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiMgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiMgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgojICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiMgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgojCgojIGpzZG9jIGlzIGEgcGVybCBzY3JpcHQgZm9yIGdlbmVyYXRpbmcgamF2YWRvYyBmb3IgamF2YXNjcmlwdC4KIyBUaGUgbGF0ZXN0IHZlcnNpb24gY2FuIGJlIGRvd25sb2FkZWQgZnJvbSA6CiMgICAgICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2pzZG9jLwojCgpkaXJ0b3Byb2Nlc3M9JDIKb3V0cHV0dG89JDMKcGFja2FnZT0vb3JnL2FwYWNoZS9jb21tb25zL3ZhbGlkYXRvci9qYXZhc2NyaXB0CnBlcmwgJDEvanNkb2MucGwgLS1wcm9qZWN0LXN1bW1hcnkgJHtkaXJ0b3Byb2Nlc3N9JHtwYWNrYWdlfS9wYWNrYWdlLmh0bWwgLS1wcm9qZWN0LW5hbWUgIlBhY2thZ2Ugb3JnLmFwYWNoZS5jb21tb25zLnZhbGlkYXRvci5qYXZhc2NyaXB0IiAtLXBhZ2UtZm9vdGVyICJDb3B5cmlnaHQgqSAyMDAwLTIwMTQgLSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbgoiIC1kICR7b3V0cHV0dG99LyR7cGFja2FnZX0gLXIgJGRpcnRvcHJvY2Vzcwo=