LlwiIFRoaXMgaXMgYW4gLSotIG5yb2ZmIC0qLSBzb3VyY2UgZmlsZS4KLlwiIGRwa2ctbmFtZSBhbmQgdGhpcyBtYW5wYWdlIGFyZSBDb3B5cmlnaHQgwqkgMTk5NSwxOTk2IGJ5IEVyaWNrIEJyYW5kZXJob3JzdC4KLlwiCi5cIiBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2VuY2UgdmVyc2lvbiAyCi5cIiBvciBsYXRlciBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8gd2FycmFudHkuCi5cIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLlwiCi5cIiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCB3aXRoIHBvNGEuIFRyYW5zbGF0ZSB0aGUgc291cmNlIGZpbGUuCi5cIgouXCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi5USCBkcGtnXC1uYW1lIDEgMjAxMVwtMDhcLTE0ICJQcm95ZWN0byBEZWJpYW4iICJIZXJyYW1pZW50YXMgZGUgZHBrZyIKLlNIIE5PTUJSRQpkcGtnXC1uYW1lIFwtIFJlbm9tYnJhIHBhcXVldGVzIGRlIERlYmlhbiBhIG5vbWJyZXMgY29tcGxldG9zIGRlIHBhcXVldGUKLgouU0ggU0lOT1BTSVMKXGZCZHBrZ1wtbmFtZVxmUCBbXGZJb3B0aW9uXGZQLi4uXSBbXGZCXC1cLVxmUF0gXGZJZmlsZVxmUC4uLgouCi5TSCBERVNDUklQQ0nTTgouUFAKVGhpcyBtYW51YWwgcGFnZSBkb2N1bWVudHMgdGhlIFxmQmRwa2dcLW5hbWVcZlAgcHJvZ3JhbSB3aGljaCBwcm92aWRlcyBhbiBlYXN5CndheSB0byByZW5hbWUgXGZCRGViaWFuXGZQIHBhY2thZ2VzIGludG8gdGhlaXIgZnVsbCBwYWNrYWdlIG5hbWVzLiBBIGZ1bGwKcGFja2FnZSBuYW1lIGNvbnNpc3RzIG9mClxmSXBhY2thZ2VcZlBcZkJfXGZQXGZJdmVyc2lvblxmUFxmQl9cZlBcZklhcmNoaXRlY3R1cmVcZlBcZkIuXGZQXGZJcGFja2FnZVwtdHlwZVxmUCBhcyBzcGVjaWZpZWQKaW4gdGhlIGNvbnRyb2wgZmlsZSBvZiB0aGUgcGFja2FnZS4gVGhlIFxmSXZlcnNpb25cZlAgcGFydCBvZiB0aGUgZmlsZW5hbWUKY29uc2lzdHMgb2YgdGhlIHVwc3RyZWFtIHZlcnNpb24gaW5mb3JtYXRpb24gb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhIGh5cGhlbgphbmQgdGhlIHJldmlzaW9uIGluZm9ybWF0aW9uLiBUaGUgXGZJcGFja2FnZVwtdHlwZVxmUCBwYXJ0IGNvbWVzIGZyb20gdGhhdCBmaWVsZAppZiBwcmVzZW50IG9yIGZhbGxiYWNrcyB0byBcZkJkZWJcZlAuCi4KLlNIIE9QQ0lPTkVTCi5UUCAKXGZCXC1hXGZQLCBcZkJcLVwtbm9cLWFyY2hpdGVjdHVyZVxmUApFbCBub21icmUgZGVsIGZpY2hlcm8gZGUgZGVzdGlubyBubyBpbmNsdWly4SBpbmZvcm1hY2nzbiBzb2JyZSBsYQphcnF1aXRlY3R1cmEuCi5UUCAKXGZCXC1rXGZQLCBcZkJcLVwtc3ltbGlua1xmUApDcmVhIHVuIGVubGFjZSBzaW1i82xpY28gZW4gdmV6IGRlIG1vdmVyIGVsIGZpY2hlcm8uCi5UUCAKXGZCXC1vXGZQLCBcZkJcLVwtb3ZlcndyaXRlXGZQCkxvcyBmaWNoZXJvcyBleGlzdGVudGVzIHNlIHNvYnJlZXNjcmliaXLhbiBzaSBwb3NlZW4gZWwgbWlzbW8gbm9tYnJlIHF1ZSBlbApmaWNoZXJvIGRlIGRlc3Rpbm8uCi5UUCAKXGZCXC1zXGZQLCBcZkJcLVwtc3ViZGlyXGZQIFtcZklkaXJlY3RvcmlvXGZQXQpGaWxlcyB3aWxsIGJlIG1vdmVkIGludG8gYSBzdWJkaXJlY3RvcnkuIElmIHRoZSBkaXJlY3RvcnkgZ2l2ZW4gYXMgYXJndW1lbnQKZXhpc3RzIHRoZSBmaWxlcyB3aWxsIGJlIG1vdmVkIGludG8gdGhhdCBkaXJlY3Rvcnkgb3RoZXJ3aXNlIHRoZSBuYW1lIG9mIHRoZQp0YXJnZXQgZGlyZWN0b3J5IGlzIGV4dHJhY3RlZCBmcm9tIHRoZSBzZWN0aW9uIGZpZWxkIGluIHRoZSBjb250cm9sIHBhcnQgb2YKdGhlIHBhY2thZ2UuIFRoZSB0YXJnZXQgZGlyZWN0b3J5IHdpbGwgYmUKYHVuc3RhYmxlL2JpbmFyeVwtXGZJYXJjaGl0ZWN0dXJlXGZQL1xmSXNlY3Rpb25cZlAnLiBJZiB0aGUgc2VjdGlvbiBpcyBub3QgZm91bmQgaW4KdGhlIGNvbnRyb2wsIHRoZW4gYG5vXC1zZWN0aW9uJyBpcyBhc3N1bWVkLCBhbmQgaW4gdGhpcyBjYXNlLCBhcyB3ZWxsIGFzIGZvcgpzZWN0aW9ucyBgbm9uXC1mcmVlJyBhbmQgYGNvbnRyaWInIHRoZSB0YXJnZXQgZGlyZWN0b3J5IGlzCmBcZklzZWN0aW9uXGZQL2JpbmFyeVwtXGZJYXJjaGl0ZWN0dXJlXGZQJy4gVGhlIHNlY3Rpb24gZmllbGQgaXNuJ3QgcmVxdWlyZWQgc28gYQpsb3Qgb2YgcGFja2FnZXMgd2lsbCBmaW5kIHRoZWlyIHdheSB0byB0aGUgYG5vXC1zZWN0aW9uJyBhcmVhLiBVc2UgdGhpcwpvcHRpb24gd2l0aCBjYXJlLCBpdCdzIG1lc3N5LgouVFAgClxmQlwtY1xmUCwgXGZCXC1cLWNyZWF0ZVwtZGlyXGZQCkVzdGEgb3BjafNuIHNlIHB1ZWRlIHVzYXIganVudG8gY29uIGxhIG9wY2nzbiCrXC1zuy4gU2kgbm8gc2UgZW5jdWVudHJhCm5pbmf6biBkaXJlY3RvcmlvIGRlIGRlc3Rpbm8sIHNlIGNyZWFy4SBhdXRvbeF0aWNhbWVudGUuIFxmQlVzZSBlc3RhIG9wY2nzbgpjb24gY3VpZGFkby5cZlAKLlRQIApcZkJcLWhcZlAsIFxmQlwtXC1oZWxwXGZQCk11ZXN0cmEgZWwgbW9kbyBkZSB1c28geSB0ZXJtaW5hLgouVFAgClxmQlwtdlxmUCwgXGZCXC1cLXZlcnNpb25cZlAKTXVlc3RyYSBsYSB2ZXJzafNuIHkgdGVybWluYS4KLgouU0ggRUpFTVBMT1MKLlRQIApcZkJkcGtnXC1uYW1lIGJhclwtZm9vLmRlYlxmUApFbCBmaWNoZXJvIKtiYXJcLWZvby5kZWK7IHNlIHJlbm9tYnJhcuEgYSCrYmFyXC1mb29fMS4wXC0yX2kzODYuZGViuyBvIHNpbWlsYXIKKGRlcGVuZGllbmRvIGRlIGN1YWwgc2VhIGxhIGluZm9ybWFjafNuIGVuIGxhIHNlY2Np824gZGUgY29udHJvbCBkZQqrYmFyXC1mb28uZGViuykuCi5UUCAKXGZCZmluZCAvcm9vdC9kZWJpYW4vIFwtbmFtZSBcKGFxKi5kZWJcKGFxIHwgeGFyZ3MgXC1uIDEgZHBrZ1wtbmFtZSBcLWFcZlDnCmRwa2dcLW5hbWUgcmVub21icmFy4SB0b2RvcyBsb3MgZmljaGVyb3MgY29uIGxhIGV4dGVuc2nzbiCrLmRlYrsgZGVudHJvIGRlbApkaXJlY3RvcmlvIKsvcm9vdC9kZWJpYW67IHkgc3VzIHN1YmRpcmVjdG9yaW9zLCBlbiBjYXNvIGRlIHNlciBuZWNlc2FyaW8sIGEKbm9tYnJlcyBzaW4gaW5mb3JtYWNp824gZGUgYXJxdWl0ZWN0dXJhLgouVFAgClxmQmZpbmQgXC1uYW1lIFwoYXEqLmRlYlwoYXEgfCB4YXJncyBcLW4gMSBkcGtnXC1uYW1lIFwtYSBcLW8gXC1zIFwtY1xmUApcZkJObyBoYWdhIGVzdG8uXGZQIFN1IGFyY2hpdm8gc2UgY29ycm9tcGVy4SBjb21wbGV0YW1lbnRlIGRlYmlkbyBhIHF1ZSB1bmEKZ3JhbiBjYW50aWRhZCBkZSBwYXF1ZXRlcyBubyBpbmNsdXllbiB1bmEgc2VjY2nzbiBkZSBpbmZvcm1hY2nzbi4gXGZCTm8gaGFnYQplc3RvLlxmUAouVFAgClxmQmRwa2cgXC1cLWJ1aWxkIGRlYmlhblwtdG1wICYmIGRwa2dcLW5hbWUgXC1vIFwtcyAuLiBkZWJpYW5cLXRtcC5kZWJcZlAKUHVlZGUgdXRpbGl6YXIgZXN0byBhbCBjb25zdHJ1aXIgcGFxdWV0ZXMgbnVldm9zLgouCi5TSCBGQUxMT1MKU29tZSBwYWNrYWdlcyBkb24ndCBmb2xsb3cgdGhlIG5hbWUgc3RydWN0dXJlClxmSXBhY2thZ2VcZlBcZkJfXGZQXGZJdmVyc2lvblxmUFxmQl9cZlBcZklhcmNoaXRlY3R1cmVcZlBcZkIuZGViXGZQLiAgUGFja2FnZXMgcmVuYW1lZCBieQpkcGtnXC1uYW1lIHdpbGwgZm9sbG93IHRoaXMgc3RydWN0dXJlLiBHZW5lcmFsbHkgdGhpcyB3aWxsIGhhdmUgbm8gaW1wYWN0IG9uCmhvdyBwYWNrYWdlcyBhcmUgaW5zdGFsbGVkIGJ5IFxmQmRzZWxlY3RcZlAoMSkvXGZCZHBrZ1xmUCgxKSwgYnV0IG90aGVyCmluc3RhbGxhdGlvbiB0b29scyBtaWdodCBkZXBlbmQgb24gdGhpcyBuYW1pbmcgc3RydWN0dXJlLgouCi5TSCAiVslBU0UgVEFNQknJTiIKXGZCZGViXGZQKDUpLCBcZkJkZWJcLWNvbnRyb2xcZlAoNSksIFxmQmRwa2dcZlAoMSksIFxmQmRwa2dcLWRlYlxmUCgxKSwgXGZCZmluZFxmUCgxKSwKXGZCeGFyZ3NcZlAoMSkuCi4KLlNIIEFVVE9SCkNvcHlyaWdodCBcKGNvIDE5OTUsMTk5NiBFcmljayBCcmFuZGVyaG9yc3QKLnNwCkVzdG8gZXMgc29mdHdhcmUgbGlicmU7IHZlYSBsYSB2ZXJzafNuIDIgbyBwb3N0ZXJpb3IgZGUgbGEgTGljZW5jaWEgUPpibGljYQpHZW5lcmFsIEdOVSBwYXJhIGNvbmRpY2lvbmVzIGRlIGNvcGlhLiBOTyBoYXkgbmluZ3VuYSBnYXJhbnTtYS4KLlNIICJUUkFEVUNUT1IiClJ1ZHkgR29kb3kgPHJ1ZHlAa2VybmVsXC1wYW5pay5vcmc+LApSdWLpbiBQb3JyYXMgPG5haG9vQGluaWNpYS5lcz4sCkJydW5vIEJhcnJlcmEgQy4gPGJydW5vLmJhcnJlcmFAaWdsb28uY2w+LApDYXJsb3MgSXpxdWllcmRvIDxnaGVlc2hAZXJ0aXMubmV0PiwKRXN0ZWJhbiBNYW5jaGFkbyB5Ck5PSy4KRGViaWFuIEwxMG4gU3BhbmlzaCA8ZGViaWFuXC1sMTBuXC1zcGFuaXNoQGxpc3RzLmRlYmlhbi5vcmc+LgouYnIKUmV2aXNpb25lcyBwb3IgU2FudGlhZ28gVmlsYSA8c2FudmlsYUB1bmV4LmVzPiwKSmF2aWVyIEZlcm7hbmRlelwtU2FuZ3Vpbm8sIFJ1YuluIFBvcnJhcywKTHVpcyBVcmliZSB5IE9tYXIgQ2FtcGFnbmUuCg==