dHJlZSAyNjdjNGM0MDRiYjU0NzQ4MzM2ZmM2OGI3MWYyMTYzMzcxMWE5OWIxCnBhcmVudCBhOWU5MzRiYmQxODliN2Q4NWFmNDU0ZjAzZWMxYWRlNjkyMTU0ZmQ1CmF1dGhvciBGculk6XJpYyBM6WNhaWxsZSA8ZmxlY2FpbGxlQGhhcHJveHkuY29tPiAxNjYyNDg1ODI4ICswMjAwCmNvbW1pdHRlciBXaWxseSBUYXJyZWF1IDx3QDF3dC5ldT4gMTY2MjQ4OTcyMiArMDIwMAplbmNvZGluZyBsYXRpbjEKCkJVRy9NSU5PUjogcXVpYzogUG9zc2libGUgY3Jhc2ggd2hlbiB2ZXJpZnlpbmcgY2VydGlmaWNhdGVzCgpUaGlzIHZlcmlmaWNhdGlvbiBpcyBkb25lIGJ5IHNzbF9zb2NrX2JpbmRfdmVyaWZ5Y2JrKCkgd2hpY2ggaXMgc2V0IGF0IGRpZmZlcmVudApsb2NhdGlvbnMgaW4gdGhlIHNzbF9zb2NrLmMgY29kZSAuIEFib3V0IFFVSUMgY29ubmVjdGlvbnMsIHRoZXJlIGFyZSBhIGxvdCBvZiBjaGFuY2VzCnRoZSBjb25uZWN0aW9uIG9iamVjdCBpcyBub3QgaW5pdGlhbGl6ZWQgd2hlbiBlbnRlcmluZyB0aGlzIGZ1bmN0aW9uLiBXaGF0IG11c3QKYmUgYWNjZXNzZWQgaXMgdGhlIFNTTCBvYmplY3QgdG8gcmV0cmlldmUgdGhlIGNvbm5lY3Rpb24gb3IgcXVpY19jb25uIG9iamVjdHMsCnRoZW4gdGhlIGJpbmRfY29uZiBvYmplY3Qgb2YgdGhlIGxpc3RlbmVyLiBJZiB0aGUgY29ubmVjdGlvbiBvYmplY3QgaXMgbm90IGZvdW5kLAp3ZSB0cnkgdG8gZmluZCB0aGUgcXVpY19jb25uIG9iamVjdC4KCk1vZGlmeSBzc2xfc29ja19kdW1wX2Vycm9ycygpIGludGVyZmFjZSB3aGljaCB0YWtlcyBhIGNvbm5lY3Rpb24gb2JqZWN0IGFzIHBhcmFtZXRlcgp0byBhbHNvIHBhc3NlZCBhIHF1aWNfY29ubiBvYmplY3QgYXMgcGFyYW1ldGVyLiBBZ2FpbiB0aGlzIGZ1bmN0aW9uIHRyeSBmaXJzdAp0byBhY2Nlc3MgdGhlIGNvbm5lY3Rpb24gb2JqZWN0IGlmIG5vdCBOVUxMIG9yIHRoZSBxdWljX2Nvbm4gb2JqZWN0IGlmIG5vdC4KClRoZXJlIGlzIGEgcmVtYWluaW5nIHRoaW5nIHRvIGRvIGZvciBRVUlDOiBzdG9yZSB0aGUgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGVycm9yCmNvZGUgYXMgaXQgaXMgY3VycmVudGx5IHN0b3JlZCBpbiB0aGUgY29ubmVjdGlvbiBvYmplY3QuIFRoaXMgZXJyb3IgY29kZSBpcyBhdCBsZWFzdAp1c2VkIGJ5IHRoZSAiYmNfZXJyIiBhbmQgImZjX2VyciIgc2FtcGxlIGZldGNoZXMuCgpUaGVyZSBhcmUgY2hhbmNlcyB0aGlzIGJ1ZyBpcyBpbiByZWxhdGlvbiB3aXRoIEdIICMxODUxLiBUaGFuayB5b3UgdG8gQHRhc2F2aXMKZm9yIHRoZSByZXBvcnQuCgpNdXN0IGJlIG1lcmdlZCBpbnRvIDIuNi4K