SElTVE9SWSBvZiB0aGUgTFpNQSBTREsNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCjkuMzggYmV0YSAgICAgIDIwMTUtMDEtMDMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0JDQotIFRoZSBCVUcgaW4gOS4zMC05LjM3IHdhcyBmaXhlZDoNCiAgSUFyY2hpdmVHZXRSYXdQcm9wcyBpbnRlcmZhY2Ugd2FzIGRpc2FibGVkIGZvciA3eiBhcmNoaXZlcy4NCi0gVGhlIEJVRyBpbiA5LjI2LTkuMzYgd2FzIGZpeGVkOg0KICBTb21lIGNvZGUgaW4gQ1BQXDd6aXBcQXJjaGl2ZVw3elwgd29ya2VkIGNvcnJlY3RseSBvbmx5IHVuZGVyIFdpbmRvd3MuDQoNCg0KOS4zNiBiZXRhICAgICAgMjAxNC0xMi0yNg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQkNCi0gVGhlIEJVRyBpbiBjb21tYW5kIGxpbmUgdmVyc2lvbiB3YXMgZml4ZWQ6DQogIDctWmlwIGNyZWF0ZWQgdGVtcG9yYXJ5IGFyY2hpdmUgaW4gY3VycmVudCBmb2xkZXIgZHVyaW5nIHVwZGF0ZSBhcmNoaXZlDQogIG9wZXJhdGlvbiwgaWYgLXd7UGF0aH0gc3dpdGNoIHdhcyBub3Qgc3BlY2lmaWVkLiANCiAgVGhlIGZpeGVkIDctWmlwIGNyZWF0ZXMgdGVtcG9yYXJ5IGFyY2hpdmUgaW4gZm9sZGVyIHRoYXQgY29udGFpbnMgdXBkYXRlZCBhcmNoaXZlLg0KLSBUaGUgQlVHIGluIDkuMzMtOS4zNSB3YXMgZml4ZWQ6DQogIDctWmlwIHNpbGVudGx5IGlnbm9yZWQgZmlsZSByZWFkaW5nIGVycm9ycyBkdXJpbmcgN3ogb3IgZ3ogYXJjaGl2ZSBjcmVhdGlvbiwNCiAgYW5kIHRoZSBjcmVhdGVkIGFyY2hpdmUgY29udGFpbmVkIG9ubHkgcGFydCBvZiBmaWxlIHRoYXQgd2FzIHJlYWQgYmVmb3JlIGVycm9yLg0KICBUaGUgZml4ZWQgNy1aaXAgc3RvcHMgYXJjaGl2ZSBjcmVhdGlvbiBhbmQgaXQgcmVwb3J0cyBhYm91dCBlcnJvci4NCg0KDQo5LjM1IGJldGEgICAgICAyMDE0LTEyLTA3DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQ0KLSA3enIuZXhlIG5vdyBzdXBwb3J0IEFFUyBlbmNyeXB0aW9uLg0KLSBTRlggbXVkdWxlcyB3ZXJlIGFkZGVkIHRvIExaTUEgU0RLDQotIFNvbWUgYnVncyB3ZXJlIGZpeGVkLg0KDQoNCjkuMjEgYmV0YSAgICAgIDIwMTEtMDQtMTENCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0JDQotIE5ldyBjbGFzcyBGU3RyaW5nIGZvciBmaWxlIG5hbWVzIGF0IGZpbGUgc3lzdGVtcy4NCi0gU3BlZWQgb3B0aW1pemF0aW9uIGluIENSQyBjb2RlIGZvciBiaWctZW5kaWFuIENQVXMuDQotIFRoZSBCVUcgaW4gTHptYTJEZWMuYyB3YXMgZml4ZWQ6DQogICAgTHptYTJEZWNvZGUgZnVuY3Rpb24gZGlkbid0IHdvcmsuDQoNCg0KOS4xOCBiZXRhICAgICAgMjAxMC0xMS0wMg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQkNCi0gTmV3IHNtYWxsIFNGWCBtb2R1bGUgZm9yIGluc3RhbGxlcnMgKFNmeFNldHVwKS4NCg0KDQo5LjEyIGJldGEgICAgICAyMDEwLTAzLTI0DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFRoZSBCVUcgaW4gTFpNQSBTREsgOS4qIHdhcyBmaXhlZDogTFpNQTIgY29kZWMgZGlkbid0IHdvcmssDQogIGlmIG1vcmUgdGhhbiAxMCB0aHJlYWRzIHdlcmUgdXNlZCAob3IgbW9yZSB0aGFuIDIwIHRocmVhZHMgaW4gc29tZSBtb2RlcykuDQoNCg0KOS4xMSBiZXRhICAgICAgMjAxMC0wMy0xNQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBQUE1kIGNvbXByZXNzaW9uIG1ldGhvZCBzdXBwb3J0DQogICANCg0KOS4wOSAgICAgICAgICAgMjAwOS0xMi0xMg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBUaGUgYnVnIHdhcyBmaXhlZDoNCiAgIFV0ZjE2X1RvX1V0ZjggZnVuc3Rpb25zIGluIFVURkNvbnZlcnQuY3BwIGFuZCA3ek1haW4uYw0KICAgaW5jb3JyZWN0bHkgY29udmVydGVkIHN1cnJvZ2F0ZSBjaGFyYWN0ZXJzICh0aGUgY29kZSA+PSAweDEwMDAwKSB0byBVVEYtOC4NCi0gU29tZSBidWdzIHdlcmUgZml4ZWQNCg0KDQo5LjA2ICAgICAgICAgICAyMDA5LTA4LTE3DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFNvbWUgY2hhbmdlcyBpbiBBTlNJLUMgN3ogRGVjb2RlciBpbnRlcmZhY2VzLg0KDQoNCjkuMDQgICAgICAgICAgIDIwMDktMDUtMzANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gTFpNQTIgY29tcHJlc3Npb24gbWV0aG9kIHN1cHBvcnQNCi0geHogZm9ybWF0IHN1cHBvcnQNCg0KDQo0LjY1ICAgICAgICAgICAyMDA5LTAyLTAzDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFNvbWUgbWlub3IgZml4ZXMNCg0KDQo0LjYzICAgICAgICAgICAyMDA4LTEyLTMxDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFNvbWUgbWlub3IgZml4ZXMNCg0KDQo0LjYxIGJldGEgICAgICAyMDA4LTExLTIzDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFRoZSBidWcgaW4gQU5TSS1DIExaTUEgRGVjb2RlciB3YXMgZml4ZWQ6DQogICAgSWYgZW5jb2RlZCBzdHJlYW0gd2FzIGNvcnJ1cHRlZCwgZGVjb2RlciBjb3VsZCBhY2Nlc3MgbWVtb3J5IA0KICAgIG91dHNpZGUgb2YgYWxsb2NhdGVkIHJhbmdlLg0KLSBTb21lIGNoYW5nZXMgaW4gQU5TSS1DIDd6IERlY29kZXIgaW50ZXJmYWNlcy4NCi0gTFpNQSBTREsgaXMgcGxhY2VkIGluIHRoZSBwdWJsaWMgZG9tYWluLg0KDQoNCjQuNjAgYmV0YSAgICAgIDIwMDgtMDgtMTkNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gU29tZSBtaW5vciBmaXhlcy4NCg0KDQo0LjU5IGJldGEgICAgICAyMDA4LTA4LTEzDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFRoZSBidWcgd2FzIGZpeGVkOg0KICAgIExaTUEgRW5jb2RlciBpbiBmYXN0IGNvbXByZXNzaW9uIG1vZGUgY291bGQgYWNjZXNzIG1lbW9yeSBvdXRzaWRlIG9mIA0KICAgIGFsbG9jYXRlZCByYW5nZSBpbiBzb21lIHJhcmUgY2FzZXMuDQoNCg0KNC41OCBiZXRhICAgICAgMjAwOC0wNS0wNQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBBTlNJLUMgTFpNQSBEZWNvZGVyIHdhcyByZXdyaXR0ZW4gZm9yIHNwZWVkIG9wdGltaXphdGlvbnMuDQotIEFOU0ktQyBMWk1BIEVuY29kZXIgd2FzIGluY2x1ZGVkIHRvIExaTUEgU0RLLg0KLSBDKysgTFpNQSBjb2RlIG5vdyBpcyBqdXN0IHdyYXBwZXIgb3ZlciBBTlNJLUMgY29kZS4NCg0KDQo0LjU3ICAgICAgICAgICAyMDA3LTEyLTEyDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFNwZWVkIG9wdGltaXphdGlvbnMgaW4g0SsrIExaTUEgRGVjb2Rlci4gDQotIFNtYWxsIGNoYW5nZXMgZm9yIG1vcmUgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgQy9DKysgY29tcGlsZXJzLg0KDQoNCjQuNDkgYmV0YSAgICAgIDIwMDctMDctMDUNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gLjd6IEFOU0ktQyBEZWNvZGVyOg0KICAgICAtIG5vdyBpdCBzdXBwb3J0cyBCQ0ogYW5kIEJDSjIgZmlsdGVycw0KICAgICAtIG5vdyBpdCBzdXBwb3J0cyBmaWxlcyBsYXJnZXIgdGhhbiA0IEdCLg0KICAgICAtIG5vdyBpdCBzdXBwb3J0cyAiTGFzdCBXcml0ZSBUaW1lIiBmaWVsZCBmb3IgZmlsZXMuDQotIEMrKyBjb2RlIGZvciAuN3ogYXJjaGl2ZXMgY29tcHJlc3NpbmcvZGVjb21wcmVzc2luZyBmcm9tIDctemlwIA0KICB3YXMgaW5jbHVkZWQgdG8gTFpNQSBTREsuDQogIA0KDQo0LjQzICAgICAgICAgICAyMDA2LTA2LTA0DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFNtYWxsIGNoYW5nZXMgZm9yIG1vcmUgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgQy9DKysgY29tcGlsZXJzLg0KICANCg0KNC40MiAgICAgICAgICAgMjAwNi0wNS0xNQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBTbWFsbCBjaGFuZ2VzIGluIC5oIGZpbGVzIGluIEFOU0ktQyB2ZXJzaW9uLg0KICANCg0KNC4zOSBiZXRhICAgICAgMjAwNi0wNC0xNA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBUaGUgYnVnIGluIHZlcnNpb25zIDQuMzNiOjQuMzhiIHdhcyBmaXhlZDoNCiAgQysrIHZlcnNpb24gb2YgTFpNQSBlbmNvZGVyIGNvdWxkIG5vdCBjb3JyZWN0bHkgY29tcHJlc3MgDQogIGZpbGVzIGxhcmdlciB0aGFuIDIgR0Igd2l0aCBIQzQgbWF0Y2ggZmluZGVyICgtbWZoYzQpLg0KICANCg0KNC4zNyBiZXRhICAgICAgMjAwNS0wNC0wNg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBGaXhlcyBpbiBDKysgY29kZTogY29kZSBjb3VsZCBubyBiZSBjb21waWxlZCBpZiBfTk9fRVhDRVBUSU9OUyB3YXMgZGVmaW5lZC4gDQoNCg0KNC4zNSBiZXRhICAgICAgMjAwNS0wMy0wMg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBUaGUgYnVnIHdhcyBmaXhlZCBpbiBDKysgdmVyc2lvbiBvZiBMWk1BIERlY29kZXI6DQogICAgSWYgZW5jb2RlZCBzdHJlYW0gd2FzIGNvcnJ1cHRlZCwgZGVjb2RlciBjb3VsZCBhY2Nlc3MgbWVtb3J5IA0KICAgIG91dHNpZGUgb2YgYWxsb2NhdGVkIHJhbmdlLg0KDQoNCjQuMzQgYmV0YSAgICAgIDIwMDYtMDItMjcNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gQ29tcHJlc3Npbmcgc3BlZWQgYW5kIG1lbW9yeSByZXF1aXJlbWVudHMgZm9yIGNvbXByZXNzaW5nIHdlcmUgaW5jcmVhc2VkDQotIExaTUEgbm93IGNhbiB1c2Ugb25seSB0aGVzZSBtYXRjaCBmaW5kZXJzOiBIQzQsIEJUMiwgQlQzLCBCVDQNCg0KDQo0LjMyICAgICAgICAgICAyMDA1LTEyLTA5DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIEphdmEgdmVyc2lvbiBvZiBMWk1BIFNESyB3YXMgaW5jbHVkZWQNCg0KDQo0LjMwICAgICAgICAgICAyMDA1LTExLTIwDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIENvbXByZXNzaW9uIHJhdGlvIHdhcyBpbXByb3ZlZCBpbiAtYTIgbW9kZQ0KLSBTcGVlZCBvcHRpbWl6YXRpb25zIGZvciBjb21wcmVzc2luZyBpbiAtYTIgbW9kZQ0KLSAtZmIgc3dpdGNoIG5vdyBzdXBwb3J0cyB2YWx1ZXMgdXAgdG8gMjczDQotIFRoZSBidWcgaW4gN3pfQyAoN3pJbi5jKSB3YXMgZml4ZWQ6DQogIEl0IHVzZWQgQWxsb2MvRnJlZSBmdW5jdGlvbnMgZnJvbSBkaWZmZXJlbnQgbWVtb3J5IHBvb2xzLg0KICBTbyBpZiBwcm9ncmFtIHVzZWQgdHdvIG1lbW9yeSBwb29scywgaXQgd29ya2VkIGluY29ycmVjdGx5Lg0KLSA3el9DOiAuN3ogZm9ybWF0IHN1cHBvcnRpbmcgd2FzIGltcHJvdmVkDQotIExaTUEjIFNESyAoQyMuTkVUIHZlcnNpb24pIHdhcyBpbmNsdWRlZA0KDQoNCjQuMjcgKFVwZGF0ZWQpIDIwMDUtMDktMjENCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gU29tZSBHVUlEcy9pbnRlcmZhY2VzIGluIEMrKyB3ZXJlIGNoYW5nZWQuDQogSVN0cmVhbS5oOg0KICAgSVNlcXVlbnRpYWxJblN0cmVhbTo6UmVhZCBub3cgd29ya3MgYXMgb2xkIFJlYWRQYXJ0DQogICBJU2VxdWVudGlhbE91dFN0cmVhbTo6V3JpdGUgbm93IHdvcmtzIGFzIG9sZCBXcml0ZVBhcnQNCg0KDQo0LjI3ICAgICAgICAgICAyMDA1LTA4LTA3DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFRoZSBidWcgaW4gTHptYURlY29kZVNpemUuYyB3YXMgZml4ZWQ6DQogICBpZiBfTFpNQV9JTl9DQiBhbmQgX0xaTUFfT1VUX1JFQUQgd2VyZSBkZWZpbmVkLA0KICAgZGVjb21wcmVzc2luZyB3b3JrZWQgaW5jb3JyZWN0bHkuDQoNCg0KNC4yNiAgICAgICAgICAgMjAwNS0wOC0wNQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBGaXhlcyBpbiA3el9DIGNvZGUgYW5kIEx6bWFUZXN0LmM6DQogIHByZXZpb3VzIHZlcnNpb25zIGNvdWxkIHdvcmsgaW5jb3JyZWN0bHksDQogIGlmIG1hbGxvYygwKSByZXR1cm5zIDANCg0KDQo0LjIzICAgICAgICAgICAyMDA1LTA2LTI5DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFNtYWxsIGZpeGVzIGluIEMrKyBjb2RlDQoNCg0KNC4yMiAgICAgICAgICAgMjAwNS0wNi0xMA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBTbWFsbCBmaXhlcw0KDQoNCjQuMjEgICAgICAgICAgIDIwMDUtMDYtMDgNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gSW50ZXJmYWNlcyBmb3IgQU5TSS1DIExaTUEgRGVjb2RlciAoTHptYURlY29kZS5jKSB3ZXJlIGNoYW5nZWQNCi0gTmV3IGFkZGl0aW9uYWwgdmVyc2lvbiBvZiBBTlNJLUMgTFpNQSBEZWNvZGVyIHdpdGggemxpYi1saWtlIGludGVyZmFjZToNCiAgICAtIEx6bWFTdGF0ZURlY29kZS5oDQogICAgLSBMem1hU3RhdGVEZWNvZGUuYw0KICAgIC0gTHptYVN0YXRlVGVzdC5jDQotIEFOU0ktQyBMWk1BIERlY29kZXIgbm93IGNhbiBkZWNvbXByZXNzIGZpbGVzIGxhcmdlciB0aGFuIDQgR0INCg0KDQo0LjE3ICAgICAgICAgICAyMDA1LTA0LTE4DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIE5ldyBleGFtcGxlIGZvciBSQU0tPlJBTSBjb21wcmVzc2luZy9kZWNvbXByZXNzaW5nOiANCiAgTFpNQSArIEJDSiAoZmlsdGVyIGZvciB4ODYgY29kZSk6DQogICAgLSBMem1hUmFtLmgNCiAgICAtIEx6bWFSYW0uY3BwDQogICAgLSBMem1hUmFtRGVjb2RlLmgNCiAgICAtIEx6bWFSYW1EZWNvZGUuYw0KICAgIC0gLWY4NiBzd2l0Y2ggZm9yIGx6bWEuZXhlDQoNCg0KNC4xNiAgICAgICAgICAgMjAwNS0wMy0yOQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBUaGUgYnVnIHdhcyBmaXhlZCBpbiBMem1hRGVjb2RlLmMgKEFOU0ktQyBMWk1BIERlY29kZXIpOiANCiAgIElmIF9MWk1BX09VVF9SRUFEIHdhcyBkZWZpbmVkLCBhbmQgaWYgZW5jb2RlZCBzdHJlYW0gd2FzIGNvcnJ1cHRlZCwNCiAgIGRlY29kZXIgY291bGQgYWNjZXNzIG1lbW9yeSBvdXRzaWRlIG9mIGFsbG9jYXRlZCByYW5nZS4NCi0gU3BlZWQgb3B0aW1pemF0aW9uIG9mIEFOU0ktQyBMWk1BIERlY29kZXIgKG5vdyBpdCdzIGFib3V0IDIwJSBmYXN0ZXIpLg0KICBPbGQgdmVyc2lvbiBvZiBMWk1BIERlY29kZXIgbm93IGlzIGluIGZpbGUgTHptYURlY29kZVNpemUuYy4gDQogIEx6bWFEZWNvZGVTaXplLmMgY2FuIHByb3ZpZGUgc2xpZ2h0bHkgc21hbGxlciBjb2RlIHRoYW4gTHptYURlY29kZS5jDQotIFNtYWxsIHNwZWVkIG9wdGltaXphdGlvbiBpbiBMWk1BIEMrKyBjb2RlDQotIGZpbHRlciBmb3IgU1BBUkMncyBjb2RlIHdhcyBhZGRlZA0KLSBTaW1wbGlmaWVkIHZlcnNpb24gb2YgLjd6IEFOU0ktQyBEZWNvZGVyIHdhcyBpbmNsdWRlZA0KDQoNCjQuMDYgICAgICAgICAgIDIwMDQtMDktMDUNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gVGhlIGJ1ZyBpbiB2NC4wNSB3YXMgZml4ZWQ6DQogICAgTFpNQS1FbmNvZGVyIGRpZG4ndCByZWxlYXNlIG91dHB1dCBzdHJlYW0gaW4gc29tZSBjYXNlcy4NCg0KDQo0LjA1ICAgICAgICAgICAyMDA0LTA4LTI1DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFNvdXJjZSBjb2RlIG9mIGZpbHRlcnMgZm9yIHg4NiwgSUEtNjQsIEFSTSwgQVJNLVRodW1iIA0KICBhbmQgUG93ZXJQQyBjb2RlIHdhcyBpbmNsdWRlZCB0byBTREsNCi0gU29tZSBpbnRlcm5hbCBtaW5vciBjaGFuZ2VzDQoNCg0KNC4wNCAgICAgICAgICAgMjAwNC0wNy0yOA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBNb3JlIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIEMrKyBjb21waWxlcnMNCg0KDQo0LjAzICAgICAgICAgICAyMDA0LTA2LTE4DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICJCZW5jaG1hcmsiIGNvbW1hbmQgd2FzIGFkZGVkLiBJdCBtZWFzdXJlcyBjb21wcmVzc2luZyANCiAgYW5kIGRlY29tcHJlc3Npbmcgc3BlZWQgYW5kIHNob3dzIHJhdGluZyB2YWx1ZXMuIA0KICBBbHNvIGl0IGNoZWNrcyBoYXJkd2FyZSBlcnJvcnMuDQoNCg0KNC4wMiAgICAgICAgICAgMjAwNC0wNi0xMA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSBDKysgTFpNQSBFbmNvZGVyL0RlY29kZXIgY29kZSBub3cgaXMgbW9yZSBwb3J0YWJsZQ0KICBhbmQgaXQgY2FuIGJlIGNvbXBpbGVkIGJ5IEdDQyBvbiBMaW51eC4NCg0KDQo0LjAxICAgICAgICAgICAyMDA0LTAyLTE1DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIFNvbWUgZGV0ZWN0aW9uIG9mIGRhdGEgY29ycnVwdGlvbiB3YXMgZW5hYmxlZC4NCiAgICBMem1hRGVjb2RlLmMgLyBSYW5nZURlY29kZXJSZWFkQnl0ZQ0KICAgIC4uLi4uDQogICAgew0KICAgICAgcmQtPkV4dHJhQnl0ZXMgPSAxOw0KICAgICAgcmV0dXJuIDB4RkY7DQogICAgfQ0KDQoNCjQuMDAgICAgICAgICAgIDIwMDQtMDItMTMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gT3JpZ2luYWwgdmVyc2lvbiBvZiBMWk1BIFNESw0KDQoNCg0KSElTVE9SWSBvZiB0aGUgTFpNQQ0KLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAyMDAxLTIwMDg6ICBJbXByb3ZlbWVudHMgdG8gTFpNQSBjb21wcmVzc2luZy9kZWNvbXByZXNzaW5nIGNvZGUsIA0KICAgICAgICAgICAgICBrZWVwaW5nIGNvbXBhdGliaWxpdHkgd2l0aCBvcmlnaW5hbCBMWk1BIGZvcm1hdA0KICAxOTk2LTIwMDE6ICBEZXZlbG9wbWVudCBvZiBMWk1BIGNvbXByZXNzaW9uIGZvcm1hdA0KDQogIFNvbWUgbWlsZXN0b25lczoNCg0KICAyMDAxLTA4LTMwOiBMWk1BIGNvbXByZXNzaW9uIHdhcyBhZGRlZCB0byA3LVppcA0KICAxOTk5LTAxLTAyOiBGaXJzdCB2ZXJzaW9uIG9mIDctWmlwIHdhcyByZWxlYXNlZA0KICANCg0KRW5kIG9mIGRvY3VtZW50DQo=