R3VpZG8gdmFuIFJvc3N1bSwgYXMgd2VsbCBhcyBiZWluZyB0aGUgY3JlYXRvciBvZiB0aGUgUHl0aG9uIGxhbmd1YWdlLCBpcyB0aGUKb3JpZ2luYWwgY3JlYXRvciBvZiBJRExFLiAgT3RoZXIgY29udHJpYnV0b3JzIHByaW9yIHRvIFZlcnNpb24gMC44IGluY2x1ZGUKTWFyayBIYW1tb25kLCBKZXJlbXkgSHlsdG9uLCBUaW0gUGV0ZXJzLCBhbmQgTW9zaGUgWmFka2EuCgpJRExFJ3MgcmVjZW50IGRldmVsb3BtZW50IGhhcyBiZWVuIGNhcnJpZWQgb3V0IGluIHRoZSBJRExFZm9yayBwcm9qZWN0LgpUaGUgb2JqZWN0aXZlIHdhcyB0byBkZXZlbG9wIGEgdmVyc2lvbiBvZiBJRExFIHdoaWNoIGhhZCBhbiBleGVjdXRpb24KZW52aXJvbm1lbnQgd2hpY2ggY291bGQgYmUgaW5pdGlhbGl6ZWQgcHJpb3IgdG8gZWFjaCBydW4gb2YgdXNlciBjb2RlLgoKVGhlIElETEVmb3JrIHByb2plY3Qgd2FzIGluaXRpYXRlZCBieSBEYXZpZCBTY2hlcmVyLCB3aXRoIHNvbWUgaGVscCBmcm9tIFBldGVyClNjaG5laWRlci1LYW1wIGFuZCBOaWNob2xhcyBSaWxleS4gIERhdmlkIHdyb3RlIHRoZSBmaXJzdCB2ZXJzaW9uIG9mIHRoZSBSUEMKY29kZSBhbmQgZGVzaWduZWQgYSBmYXN0IHR1cm4tYXJvdW5kIGVudmlyb25tZW50IGZvciBWUHl0aG9uLiAgR3VpZG8gZGV2ZWxvcGVkCnRoZSBSUEMgY29kZSBhbmQgUmVtb3RlIERlYnVnZ2VyIGN1cnJlbnRseSBpbnRlZ3JhdGVkIGluIElETEUuICBCcnVjZSBTaGVyd29vZApjb250cmlidXRlZCBjb25zaWRlcmFibGUgdGltZSB0ZXN0aW5nIGFuZCBzdWdnZXN0aW5nIGltcHJvdmVtZW50cy4KCkJlc2lkZXMgRGF2aWQgYW5kIEd1aWRvLCB0aGUgbWFpbiBkZXZlbG9wZXJzIHdobyBoYXZlIGJlZW4gYWN0aXZlIG9uIElETEVmb3JrCmFyZSBTdGVwaGVuIE0uIEdhdmEsIHdobyBpbXBsZW1lbnRlZCB0aGUgY29uZmlndXJhdGlvbiBHVUksIHRoZSBuZXcKY29uZmlndXJhdGlvbiBzeXN0ZW0sIGFuZCB0aGUgQWJvdXQgZGlhbG9nLCBhbmQgS3VydCBCLiBLYWlzZXIsIHdobyBjb21wbGV0ZWQKdGhlIGludGVncmF0aW9uIG9mIHRoZSBSUEMgYW5kIHJlbW90ZSBkZWJ1Z2dlciwgaW1wbGVtZW50ZWQgdGhlIHRocmVhZGVkCnN1YnByb2Nlc3MsIGFuZCBtYWRlIGEgbnVtYmVyIG9mIHVzYWJpbGl0eSBlbmhhbmNlbWVudHMuCgpPdGhlciBjb250cmlidXRvcnMgaW5jbHVkZSBSYXltb25kIEhldHRpbmdlciwgVG9ueSBMb3duZHMgKE1hYyBpbnRlZ3JhdGlvbiksCk5lYWwgTm9yd2l0eiAoY29kZSBjaGVjayBhbmQgY2xlYW4tdXApLCBhbmQgQ2h1aSBUZXkgKFJQQyBpbnRlZ3JhdGlvbiwgZGVidWdnZXIKaW50ZWdyYXRpb24gYW5kIHBlcnNpc3RlbnQgYnJlYWtwb2ludHMpLgoKU2NvdHQgRGF2aWQgRGFuaWVscywgSGVybmFuIEZvZmZhbmksIENocmlzdG9zIEdlb3JnaW91LCBNYXJ0aW4gdi4gTPZ3aXMsIApKYXNvbiBPcmVuZG9yZmYsIE5vYW0gUmFwaGFlbCwgSm9zaCBSb2JiLCBOaWdlbCBSb3dlLCBCcnVjZSBTaGVyd29vZCwgYW5kCkplZmYgU2h1dGUgaGF2ZSBzdWJtaXR0ZWQgdXNlZnVsIHBhdGNoZXMuICBUaGFua3MsIGd1eXMhCgpGb3IgYWRkaXRpb25hbCBkZXRhaWxzIHJlZmVyIHRvIE5FV1MudHh0IGFuZCBDaGFuZ2Vsb2cuCgpQbGVhc2UgY29udGFjdCB0aGUgSURMRSBtYWludGFpbmVyIHRvIGhhdmUgeW91cnNlbGYgaW5jbHVkZWQgaGVyZSBpZiB5b3UKYXJlIG9uZSBvZiB0aG9zZSB3ZSBtaXNzZWQhIAoKCgo=