Q29tcGlsaW5nIEZyZWVUeXBlIDIgd2l0aCBQdXJlQyBjb21waWxlcg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpbU2VlIGJlbG93IGZvciBhIEdlcm1hbiB2ZXJzaW9uLl0NCg0KVG8gY29tcGlsZSBGcmVlVHlwZSAyIGFzIGEgbGlicmFyeSB0aGUgZm9sbG93aW5nIGNoYW5nZXMgbXVzdCBiZSBhcHBsaWVkOg0KDQotIEFsbCAqLmMgZmlsZXMgbXVzdCBzdGFydCB3aXRoIGFuIHVwcGVyY2FzZSBsZXR0ZXIuDQogIChJbiBjYXNlIEdFTVNDUklQVCBpcyBhdmFpbGFibGU6DQogIFNpbXBseSBkcmFnIHRoZSB3aG9sZSBGcmVlVHlwZSAyIGRpcmVjdG9yeSB0byB0aGUgZmlsZSBgRk5hbWVzLlNJQycuKQ0KDQotIFlvdSBoYXZlIHRvIGNoYW5nZSB0aGUgSU5DTFVERSBkaXJlY3RvcnkgaW4gUHVyZUMncyBjb21waWxlciBvcHRpb25zDQogIHRvIGNvbnRhaW4gYm90aCB0aGUgYElOQ0xVREUnIGFuZCBgZnJlZXR5cGUyXGluY2x1ZGUnIGRpcmVjdG9yeS4NCiAgRXhhbXBsZToNCg0KICAgIElOQ0xVREU7RTpcZnJlZXR5cGUyXGluY2x1ZGUNCg0KLSBUaGUgZmlsZSBgZnJlZXR5cGUyL2luY2x1ZGUvRnQyYnVpbGQuaCcgbXVzdCBiZSBwYXRjaGVkIGFzIGZvbGxvd3MgdG8NCiAgaW5jbHVkZSBBVEFSSS5IOg0KDQogICAgI2lmbmRlZiBfX0ZUMl9CVUlMRF9HRU5FUklDX0hfXw0KICAgICNkZWZpbmUgX19GVDJfQlVJTERfR0VORVJJQ19IX18NCg0KICAgICNpbmNsdWRlICJBVEFSSS5IIg0KDQoNCg0KQ29tcGlsaWVyZW4gdm9uIEZyZWVUeXBlIDIgbWl0IFB1cmVDDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KVW0gRnJlZVR5cGUgMiBhbHMgZWluZSBCaWJsaW90aGVrIChsaWJyYXJ5KSB6dSBjb21waWxpZXJlbiwgbXVzcyBmb2xnZW5kZXMNCmdlhG5kZXJ0IHdlcmRlbjoNCg0KLSBBbGxlICouYy1maWxlcyBtgXNzZW4gbWl0IGVpbmVtIEdST1NTQlVDSFNUQUJFTiBiZWdpbm5lbi4NCiAgKEZhbGxzIEdFTVNDUklQVCB6dXIgVmVyZoFndW5nIHN0ZWh0Og0KICBEZW4ga29tcGxldHRlbiBPcmRuZXIgZnJlZXR5cGUyIGF1ZiBkaWUgRGF0ZWkgYEZOYW1lcy5TSUMnIGRyYWdnZW4uKQ0KDQotIEluIGRlbiBDb21waWxlci1PcHRpb25lbiB2b24gUHVyZUMgbXVzcyBkYXMgSU5DTFVERSBkaXJlY3RvcnkgYXVmIElOQ0xVREUNCiAgdW5kIGZyZWV0eXBlMlxpbmNsdWRlIHZlcndlaXNlbi4gWi5CLjoNCg0KICAgIElOQ0xVREU7RTpcZnJlZXR5cGUyXGluY2x1ZGUNCg0KLSBJbiBkZXIgRGF0ZWkgZnJlZXR5cGUyL2luY2x1ZGUvRnQyYnVpbGQuaCBtdXNzIHp1IEJlZ2lubg0KICBlaW4gI2luY2x1ZGUgIkFUQVJJLkgiIHdpZSBmb2xndCBlaW5nZWaBZ3Qgd2VyZGVuOg0KDQogICAgI2lmbmRlZiBfX0ZUMl9CVUlMRF9HRU5FUklDX0hfXw0KICAgICNkZWZpbmUgX19GVDJfQlVJTERfR0VORVJJQ19IX18NCg0KICAgICNpbmNsdWRlICJBVEFSSS5IIg0KDQotLS0gZW5kIG9mIFJFQURNRS5UWFQgLS0tDQo=