LlRIIFNTIDgKLlNIIE5BTUUKc3MgXC0gYW5vdGhlciB1dGlsaXR5IHRvIGludmVzdGlnYXRlIHNvY2tldHMKLlNIIFNZTk9QU0lTCi5CIHNzCi5SSSBbIG9wdGlvbnMgXSAiIFsgRklMVEVSIF0iCi5TSCBERVNDUklQVElPTgouQiBzcwppcyB1c2VkIHRvIGR1bXAgc29ja2V0IHN0YXRpc3RpY3MuIEl0IGFsbG93cyBzaG93aW5nIGluZm9ybWF0aW9uIHNpbWlsYXIKdG8KLklSIG5ldHN0YXQgLgpJdCBjYW4gZGlzcGxheSBtb3JlIFRDUCBhbmQgc3RhdGUgaW5mb3JtYXRpb25zIHRoYW4gb3RoZXIgdG9vbHMuCgouU0ggT1BUSU9OUwpUaGVzZSBwcm9ncmFtcyBmb2xsb3cgdGhlIHVzdWFsIEdOVSBjb21tYW5kIGxpbmUgc3ludGF4LCB3aXRoIGxvbmcKb3B0aW9ucyBzdGFydGluZyB3aXRoIHR3byBkYXNoZXMgKGAtJykuCkEgc3VtbWFyeSBvZiBvcHRpb25zIGlzIGluY2x1ZGVkIGJlbG93LgouVFAKLkIgXC1oLCBcLVwtaGVscApTaG93IHN1bW1hcnkgb2Ygb3B0aW9ucy4KLlRQCi5CIFwtViwgXC1cLXZlcnNpb24KT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24uCi5UUAouQiBcLW4sIFwtXC1udW1lcmljCkRvIG5vdyB0cnkgdG8gcmVzb2x2ZSBzZXJ2aWNlIG5hbWVzLgouVFAKLkIgXC1yLCBcLVwtcmVzb2x2ZQpUcnkgdG8gcmVzb2x2ZSBudW1lcmljIGFkZHJlc3MvcG9ydHMuCi5UUAouQiBcLWEsIFwtXC1hbGwKRGlzcGxheSBhbGwgc29ja2V0cy4KLlRQCi5CIFwtbCwgXC1cLWxpc3RlbmluZwpEaXNwbGF5IGxpc3RlbmluZyBzb2NrZXRzLgouVFAKLkIgXC1vLCBcLVwtb3B0aW9ucwpTaG93IHRpbWVyIGluZm9ybWF0aW9uLgouVFAKLkIgXC1lLCBcLVwtZXh0ZW5kZWQKU2hvdyBkZXRhaWxlZCBzb2NrZXQgaW5mb3JtYXRpb24KLlRQCi5CIFwtbSwgXC1cLW1lbW9yeQpTaG93IHNvY2tldCBtZW1vcnkgdXNhZ2UuCi5UUAouQiBcLXAsIFwtXC1wcm9jZXNzZXMKU2hvdyBwcm9jZXNzIHVzaW5nIHNvY2tldC4KLlRQCi5CIFwtaSwgXC1cLWluZm8KU2hvdyBpbnRlcm5hbCBUQ1AgaW5mb3JtYXRpb24uCi5UUAouQiBcLXMsIFwtXC1zdW1tYXJ5ClByaW50IHN1bW1hcnkgc3RhdGlzdGljcy4gVGhpcyBvcHRpb24gZG9lcyBub3QgcGFyc2Ugc29ja2V0IGxpc3RzIG9idGFpbmluZwpzdW1tYXJ5IGZyb20gdmFyaW91cyBzb3VyY2VzLiBJdCBpcyB1c2VmdWwgd2hlbiBhbW91bnQgb2Ygc29ja2V0cyBpcyBzbyBodWdlCnRoYXQgcGFyc2luZyAvcHJvYy9uZXQvdGNwIGlzIHBhaW5mdWwuCi5UUAouQiBcLTQsIFwtXC1pcHY0CkRpc3BsYXkgb25seSBJUCB2ZXJzaW9uIDQgc29ja2V0cyAoYWxpYXMgZm9yIC1mIGluZXQpLgouVFAKLkIgXC02LCBcLVwtaXB2NgpEaXNwbGF5IG9ubHkgSVAgdmVyc2lvbiA2IHNvY2tldHMgKGFsaWFzIGZvciAtZiBpbmV0NikuCi5UUAouQiBcLTAsIFwtXC1wYWNrZXQKRGlzcGxheSBQQUNLRVQgc29ja2V0cy4KLlRQCi5CIFwtdCwgXC1cLXRjcApEaXNwbGF5IG9ubHkgVENQIHNvY2tldHMuCi5UUAouQiBcLXUsIFwtXC11ZHAKRGlzcGxheSBvbmx5IFVEUCBzb2NrZXRzLgouVFAKLkIgXC1kLCBcLVwtZGNjcApEaXNwbGF5IG9ubHkgRENDUCBzb2NrZXRzLgouVFAKLkIgXC13LCBcLVwtcmF3CkRpc3BsYXkgb25seSBSQVcgc29ja2V0cy4KLlRQCi5CIFwteCwgXC1cLXVuaXgKRGlzcGxheSBvbmx5IFVuaXggZG9tYWluIHNvY2tldHMuCi5UUAouQiBcLWYgRkFNSUxZLCBcLVwtZmFtaWx5PUZBTUlMWQpEaXNwbGF5IHNvY2tldHMgb2YgdHlwZSBGQU1JTFkuCkN1cnJlbnRseSB0aGUgZm9sbG93aW5nIGZhbWlsaWVzIGFyZSBzdXBwb3J0ZWQ6IHVuaXgsIGluZXQsIGluZXQ2LCBsaW5rLCBuZXRsaW5rLgouVFAKLkIgXC1BIFFVRVJZLCBcLVwtcXVlcnk9UVVFUlkKTGlzdCBvZiBzb2NrZXQgdGFibGVzIHRvIGR1bXAsIHNlcGFyYXRlZCBieSBjb21tYXMuIFRoZSBmb2xsb3dpbmcgaWRlbnRpZmllcnMKYXJlIHVuZGVyc3Rvb2Q6IGFsbCwgaW5ldCwgdGNwLCB1ZHAsIHJhdywgdW5peCwgcGFja2V0LCBuZXRsaW5rLCB1bml4X2RncmFtLAp1bml4X3N0cmVhbSwgcGFja2V0X3JhdywgcGFja2V0X2RncmFtLgouVFAKLkIgXC1EIEZJTEUKRG8gbm90IGRpc3BsYXkgYW55dGhpbmcsIGp1c3QgZHVtcCByYXcgaW5mb3JtYXRpb24gYWJvdXQgVENQIHNvY2tldHMgdG8gRklMRSBhZnRlciBhcHBseWluZyBmaWx0ZXJzLiBJZiBGSUxFIGlzIC0gc3Rkb3V0IGlzIHVzZWQuCi5UUAouQiBcLUYgRklMRSwgXC1cLWZpbHRlcj1GSUxFClJlYWQgZmlsdGVyIGluZm9ybWF0aW9uIGZyb20gRklMRS4KRWFjaCBsaW5lIG9mIEZJTEUgaXMgaW50ZXJwcmV0ZWQgbGlrZSBzaW5nbGUgY29tbWFuZCBsaW5lIG9wdGlvbi4gSWYgRklMRSBpcyAtIHN0ZGluIGlzIHVzZWQuCi5UUAouQiBGSUxURVIgOj0gWyBzdGF0ZSBUQ1AtU1RBVEUgXSBbIEVYUFJFU1NJT04gXQpQbGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIG9mZmljaWFsIGRvY3VtZW50YXRpb24gKERlYmlhbiBwYWNrYWdlIGlwcm91dGUtZG9jKSBmb3IgZGV0YWlscyByZWdhcmRpbmcgZmlsdGVycy4KLlNIIFVTQUdFIEVYQU1QTEVTCi5UUAouQiBzcyAtdCAtYQpEaXNwbGF5IGFsbCBUQ1Agc29ja2V0cy4KLlRQCi5CIHNzIC11IC1hCkRpc3BsYXkgYWxsIFVEUCBzb2NrZXRzLgouVFAKLkIgc3MgLW8gc3RhdGUgZXN0YWJsaXNoZWQgJyggZHBvcnQgPSA6c3NoIG9yIHNwb3J0ID0gOnNzaCApJwpEaXNwbGF5IGFsbCBlc3RhYmxpc2hlZCBzc2ggY29ubmVjdGlvbnMuCi5UUAouQiBzcyAteCBzcmMgL3RtcC8uWDExLXVuaXgvKgpGaW5kIGFsbCBsb2NhbCBwcm9jZXNzZXMgY29ubmVjdGVkIHRvIFggc2VydmVyLgouVFAKLkIgc3MgLW8gc3RhdGUgZmluLXdhaXQtMSAnKCBzcG9ydCA9IDpodHRwIG9yIHNwb3J0ID0gOmh0dHBzICknIGRzdCAxOTMuMjMzLjcvMjQKTGlzdCBhbGwgdGhlIHRjcCBzb2NrZXRzIGluIHN0YXRlIEZJTi1XQUlULTEgZm9yIG91ciBhcGFjaGUgdG8gbmV0d29yayAxOTMuMjMzLjcvMjQgYW5kIGxvb2sgYXQgdGhlaXIgdGltZXJzLgouU0ggU0VFIEFMU08KLkJSIGlwICg4KSwKLkJSIC91c3Ivc2hhcmUvZG9jL2lwcm91dGUtZG9jL3NzLmh0bWwgIiAocGFja2FnZSBpcHJvdXRlrWRvYykiCi5TSCBBVVRIT1IKLkkgc3MgCndhcyB3cml0dGVuIGJ5IEFsZXhleSBLdXpuZXRvc3YsIDxrdXpuZXRAbXMyLmluci5hYy5ydT4uCi5QUApUaGlzIG1hbnVhbCBwYWdlIHdhcyB3cml0dGVuIGJ5IE1pY2hhZWwgUHJva29wIDxtaWthQGdybWwub3JnPgpmb3IgdGhlIERlYmlhbiBwcm9qZWN0IChidXQgbWF5IGJlIHVzZWQgYnkgb3RoZXJzKS4K