PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgc3RhbmRhbG9uZT0ibm8iPz4NCjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+QVNGOiBCdWlsZGluZyBUaGUgRG9jdW1lbnRzPC90aXRsZT4NCjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIC8+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIiAvPg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVzb3VyY2VzL2FwYWNoZS14YWxhbi5jc3MiIC8+DQo8L2hlYWQ+DQo8IS0tDQogKiBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lDQogKiBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gU2VlIHRoZSBOT1RJQ0UgZmlsZQ0KICogZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24NCiAqIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLiBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZQ0KICogdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiAqDQogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAtLT4NCjxib2R5Pg0KPGRpdiBpZD0idGl0bGUiPg0KPHRhYmxlIGNsYXNzPSJIZHJUaXRsZSI+DQo8dGJvZHk+DQo8dHI+DQo8dGggcm93c3Bhbj0iMiI+DQo8YSBocmVmPSIuLi9pbmRleC5odG1sIj4NCjxpbWcgYWx0PSJUcmFkZW1hcmsgTG9nbyIgc3JjPSJyZXNvdXJjZXMvWGFsYW5DLUxvZ28tdG0ucG5nIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjkwIiAvPg0KPC9hPg0KPC90aD4NCjx0aCB0ZXh0LWFsaWduPSJjZW50ZXIiIHdpZHRoPSI3NSUiPg0KPGEgaHJlZj0iaW5kZXguaHRtbCI+WGFsYW4tQy9DKysgVmVyc2lvbiAxLjExPC9hPg0KPC90aD4NCjwvdHI+DQo8dHI+DQo8dGQgdmFsaWduPSJtaWRkbGUiPkJ1aWxkaW5nIFRoZSBEb2N1bWVudHM8L3RkPg0KPC90cj4NCjwvdGJvZHk+DQo8L3RhYmxlPg0KPHRhYmxlIGNsYXNzPSJIZHJCdXR0b25zIiBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjEiPg0KPHRib2R5Pg0KPHRyPg0KPHRkPg0KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnIj5BcGFjaGUgRm91bmRhdGlvbjwvYT4NCjwvdGQ+DQo8dGQ+DQo8YSBocmVmPSJodHRwOi8veGFsYW4uYXBhY2hlLm9yZyI+WGFsYW4gUHJvamVjdDwvYT4NCjwvdGQ+DQo8dGQ+DQo8YSBocmVmPSJodHRwOi8veGVyY2VzLmFwYWNoZS5vcmciPlhlcmNlcyBQcm9qZWN0PC9hPg0KPC90ZD4NCjx0ZD4NCjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSIj5XZWIgQ29uc29ydGl1bTwvYT4NCjwvdGQ+DQo8dGQ+DQo8YSBocmVmPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL3N0YW5kYXJkcyI+T2FzaXMgT3BlbjwvYT4NCjwvdGQ+DQo8L3RyPg0KPC90Ym9keT4NCjwvdGFibGU+DQo8L2Rpdj4NCjxkaXYgaWQ9Im5hdkxlZnQiPg0KPHVsPg0KPGxpPg0KPGEgaHJlZj0icmVzb3VyY2VzLmh0bWwiPlJlc291cmNlczwvYT4NCjxiciAvPg0KPC9saT4NCjxsaT4NCjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPkhvbWU8L2E+DQo8L2xpPjwvdWw+PGhyIC8+PHVsPg0KPGxpPg0KPGEgaHJlZj0iaW5kZXguaHRtbCI+WGFsYW4tQysrIDEuMTE8L2E+DQo8L2xpPg0KPGxpPg0KPGEgaHJlZj0id2hhdHNuZXcuaHRtbCI+V2hhdCdzIE5ldzwvYT4NCjwvbGk+DQo8bGk+DQo8YSBocmVmPSJsaWNlbnNlLmh0bWwiPkxpY2Vuc2VzPC9hPg0KPC9saT48L3VsPjxociAvPjx1bD4NCjxsaT4NCjxhIGhyZWY9Im92ZXJ2aWV3Lmh0bWwiPk92ZXJ2aWV3PC9hPg0KPC9saT4NCjxsaT4NCjxhIGhyZWY9ImNoYXJ0ZXIuaHRtbCI+Q2hhcnRlcjwvYT4NCjwvbGk+PC91bD48aHIgLz48dWw+DQo8bGk+DQo8YSBocmVmPSJkb3dubG9hZC5odG1sIj5Eb3dubG9hZDwvYT4NCjwvbGk+DQo8bGk+DQo8YSBocmVmPSJidWlsZGxpYnMuaHRtbCI+QnVpbGQgTGlicmFyaWVzPC9hPg0KPC9saT4NCjxsaT4NCjxhIGhyZWY9Imluc3RhbGwuaHRtbCI+SW5zdGFsbGF0aW9uPC9hPg0KPC9saT4NCjxsaT5CdWlsZCBEb2N1bWVudHM8YnIgLz4NCjwvbGk+PC91bD48aHIgLz48dWw+DQo8bGk+DQo8YSBocmVmPSJzYW1wbGVzLmh0bWwiPlNhbXBsZSBBcHBzPC9hPg0KPC9saT4NCjxsaT4NCjxhIGhyZWY9ImNvbW1hbmRsaW5lLmh0bWwiPkNvbW1hbmQgTGluZTwvYT4NCjwvbGk+DQo8bGk+DQo8YSBocmVmPSJ1c2FnZXBhdHRlcm5zLmh0bWwiPlVzYWdlIFBhdHRlcm5zPC9hPg0KPC9saT48L3VsPjxociAvPjx1bD4NCjxsaT4NCjxhIGhyZWY9InByb2dyYW1taW5nLmh0bWwiPlByb2dyYW1taW5nPC9hPg0KPC9saT4NCjxsaT4NCjxhIGhyZWY9ImV4dGVuc2lvbnMuaHRtbCI+RXh0ZW5zaW9uczwvYT4NCjwvbGk+DQo8bGk+DQo8YSBocmVmPSJleHRlbnNpb25zbGliLmh0bWwiPkV4dGVuc2lvbnMgTGlicmFyeTwvYT4NCjwvbGk+DQo8bGk+DQo8YSBocmVmPSJhcGlEb2NzL2luZGV4Lmh0bWwiPkFQSSBSZWZlcmVuY2U8L2E+DQo8L2xpPjwvdWw+PGhyIC8+PHVsPg0KPGxpPg0KPGEgaHJlZj0iZmFxLmh0bWwiPlhhbGFuLUMgRkFRczwvYT4NCjwvbGk+PC91bD48aHIgLz48dWw+DQo8bGk+DQo8YSBocmVmPSJ3aGF0c25ldy5odG1sI2J1Z3MiPkJ1Z3M8L2E+DQo8L2xpPg0KPGxpPg0KPGEgaHJlZj0iaHR0cDovL3htbC5hcGFjaGUub3JnL3hhbGFuLWovdGVzdC9ydW4uaHRtbCNob3ctdG8tcnVuLWMiPlRlc3Rpbmc8L2E+DQo8L2xpPg0KPGxpPg0KPGEgaHJlZj0ic2VjdXJld2ViLmh0bWwiPldlYiBTZWN1cml0eTwvYT4NCjwvbGk+DQo8L3VsPg0KPC9kaXY+DQo8ZGl2IGlkPSJjb250ZW50Ij4NCjxoMj5CdWlsZGluZyBUaGUgRG9jdW1lbnRzPC9oMj4NCg0KPHVsPg0KPGxpPg0KPGEgaHJlZj0iI2J1aWxkd2ViIj5CdWlsZGluZyB0aGUgWGFsYW4tQyBXZWIgUGFnZXM8L2E+DQo8L2xpPg0KICA8dWw+DQogIDxsaT4NCjxhIGhyZWY9IiNiX3dlYl8xIj5Eb2N1bWVudGF0aW9uIFNvdXJjZSBUcmVlPC9hPg0KPC9saT4NCiAgPGxpPg0KPGEgaHJlZj0iI2Jfd2ViXzIiPkRlc3RpbmF0aW9uIEJ1aWxkIFRyZWU8L2E+DQo8L2xpPg0KICA8bGk+DQo8YSBocmVmPSIjYl93ZWJfMyI+VGhlIFdlYiBQYWdlIEJ1aWxkIEVudmlyb25tZW50PC9hPg0KPC9saT4NCiAgPGxpPg0KPGEgaHJlZj0iI2Jfd2ViXzQiPlByZXBhcmluZyB0aGUgTmF2aWdhdGlvbiBGaWxlPC9hPg0KPC9saT4NCiAgPGxpPg0KPGEgaHJlZj0iI2Jfd2ViXzUiPkNyZWF0aW5nIHRoZSBXZWIgUGFnZXM8L2E+DQo8L2xpPg0KICA8L3VsPg0KPGxpPg0KPGEgaHJlZj0iI2J1aWxkYXBpIj5CdWlsZGluZyB0aGUgWGFsYW4tQyBBUEkgUmVmZXJlbmNlPC9hPg0KPC9saT4NCiAgPHVsPg0KICA8bGk+DQo8YSBocmVmPSIjYl9hcGlfMSI+QVBJIENvbmZpZ3VyYXRpb24gU291cmNlIFRyZWU8L2E+DQo8L2xpPg0KICA8bGk+DQo8YSBocmVmPSIjYl9hcGlfMiI+RGVzdGluYXRpb24gUGF0aCBmb3IgQVBJIFdlYiBQYWdlczwvYT4NCjwvbGk+DQogIDxsaT4NCjxhIGhyZWY9IiNiX2FwaV8zIj5CdWlsZCB0aGUgQVBJIFdlYiBQYWdlczwvYT4NCjwvbGk+DQogIDwvdWw+DQo8bGk+DQo8YSBocmVmPSIjaW50ZWdyYXRlYXBpIj5JbnRlZ3JhdGUgQVBJIFdpdGggWGFsYW4tQyBQcm9qZWN0IFdlYiBQYWdlczwvYT4NCjwvbGk+DQo8L3VsPg0KDQo8YSBuYW1lPSJidWlsZHdlYiI+JiM4MjA0OzwvYT4NCjxwIGFsaWduPSJyaWdodCIgc2l6ZT0iMiI+DQo8YSBocmVmPSIjY29udGVudCI+KHRvcCk8L2E+DQo8L3A+DQo8aDM+QnVpbGRpbmcgdGhlIFhhbGFuLUMgV2ViIFBhZ2VzPC9oMz4NCg0KPHA+VGhpcyBzZWN0aW9uIHNob3dzIGhvdyB0byBidWlsZCB0aGUgZG9jdW1lbnRhdGlvbiBwcm9kdWN0cyBmb3IgWGFsYW4tQy9DKysuIA0KVGhpcyBpcyBhIHN1YnByb2plY3Qgb2YgdGhlIEFTRiBYQUxBTiBQTUMuDQo8L3A+DQo8cD5UaGUgWEFMQU4gUE1DIHByb2plY3Qgd2ViIHBhZ2UgWzxhIGhyZWY9Imh0dHA6Ly94YWxhbi5hcGFjaGUub3JnIj5odHRwOi8veGFsYW4uYXBhY2hlLm9yZzwvYT5dIGlzIGEgdG9wLWxldmVsIHBhZ2UgDQp3aXRoIGJyYW5jaGVzIHRvIHRoZSBzdWJwcm9qZWN0cyB0aGF0IGluY2x1ZGUgdGhlIEphdmEgYW5kIEMvQysrIGNvZGUgbGlicmFyaWVzLg0KPC9wPg0KPHA+VGhlIFhhbGFuLUMvQysrIGhvbWUgd2ViIHBhZ2UgWzxhIGhyZWY9Imh0dHA6Ly94bWwuYXBhY2hlLm9yZy94YWxhbi1jIj5odHRwOi8veG1sLmFwYWNoZS5vcmcveGFsYW4tYzwvYT5dIA0KaXMgdGhlIGNvbnRlbnQgDQpjb25zdHJ1Y3Rpb24gdGhhdCBpcyBiZWluZyBkZXNjcmliZWQgaGVyZS4NCjwvcD4NCjxwPlRoZSBBcGFjaGUgU3R5bGVCb29rIEphdmEgcHJvZ3JhbSBpcyBubyBsb25nZXIgbmVlZGVkIHRvIGNyZWF0ZSB1c2VmdWwgd2ViIHBhZ2VzLiANCllvdSBzaG91bGQgaGF2ZSBhIHN0YW5kYXJkIFhTTFQgdHJhbnNmb3JtIHV0aWxpdHkuIA0KVGhlICJYYWxhbiIgY29tbWFuZC1saW5lIHByb2dyYW0gZGlzdHJpYnV0ZWQgd2l0aCBYYWxhbi1DIHdvcmtzIGp1c3QgZmluZS4NCjwvcD4NCg0KPGEgbmFtZT0iYl93ZWJfMSI+JiM4MjA0OzwvYT4NCjxwIGFsaWduPSJyaWdodCIgc2l6ZT0iMiI+DQo8YSBocmVmPSIjY29udGVudCI+KHRvcCk8L2E+DQo8L3A+DQo8aDQ+RG9jdW1lbnRhdGlvbiBTb3VyY2UgVHJlZTwvaDQ+DQoNCjxibG9ja3F1b3RlIGNsYXNzPSJzb3VyY2UiPg0KPHByZT4NCnhhbGFuL2MvdHJ1bmsveGRvY3Mvc291cmNlcy8NCiAgICBlbnRpdGllcy5lbnQgICAgICAgIC0tIFByb2R1Y3Qgc3BlY2lmaWMgZW50aXRpZXMNCiAgICBtYWtlLWJvb2suYmF0ICAgICAgIC0tIEJ1aWxkIEFsbCBXZWIgUGFnZXMNCiAgICBtYWtlLXhhbGFuLmJhdCAgICAgIC0tIEJ1aWxkIFNpbmdsZSBXZWIgUGFnZQ0KICAgIHhhbGFuLWJvb2sueHNsdCAgICAgLS0gVHJhbnNmb3JtYXRpb24gZm9yIFN0eWxlQm9vayBYTUwNCiAgICB4YWxhbi54bWwJICAgICAgICAtLSBUaGUgTmF2aWdhdGlvbiBQYW5lbCBmb3IgWGFsYW4tQyBQYWdlcw0KDQp4YWxhbi9jL3RydW5rL3hkb2NzL3NvdXJjZXMveHNsdC1yZXNvdXJjZXMvDQogICAge0NvbW1vbiBjb21wb25lbnRzIHVzZWQgYnkgWGFsYW4tQyBXZWIgUGFnZXN9DQogICAgYXBhY2hlLXhhbGFuLmNzcyAgICAtLSBUaGUgV2ViIFBhZ2UgUHJlc2VudGF0aW9uIFN0eWxlDQogICAgYXNmX2xvZ28ucG5nICAgICAgICAtLSBUaGUgQVNGIFRyYWRlbWFyayBMb2dvDQogICAgbm90ZS5naWYgICAgICAgICAgICAtLSBBIChub3RlOikgZ3JhcGhpYw0KDQp4YWxhbi9jL3RydW5rL3hkb2NzL3NvdXJjZXMveGFsYW4vDQogICAge1RoZSBTdHlsZUJvb2sgWE1MIFNvdXJjZXMgZm9yIFhhbGFuLUMgV2ViIFBhZ2VzfQ0KICAgIGluZGV4LnhtbCAgICAgICAgICAgLS0gVGhpcyBjcmVhdGVzIHRoZSByb290IGluZGV4Lmh0bWwNCiAgICByZXNvdXJjZXMueG1sICAgICAgIC0tIEEgcmVzb3VyY2VzIGRpc3BhdGNoIHBhZ2UNCg0KeGFsYW4vYy90cnVuay94ZG9jcy9zdHlsZS9kdGQvDQogICAge1Jlc291cmNlcyBmb3IgQXBhY2hlIFN0eWxlQm9vayBWYWxpZGF0aW9ufQ0KICAgIGJsb2Nrcy5lbnQNCiAgICBib29rLmR0ZA0KICAgIGNoYW5nZXMuZHRkDQogICAgY2hhcmFjdGVycy5lbnQNCiAgICBkb2N1bWVudC5kdGQNCiAgICBmYXFzLmR0ZA0KICAgIGxpbmtzLmVudA0KICAgIG1hcmt1cC5lbnQNCjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KDQoNCjxhIG5hbWU9ImJfd2ViXzIiPiYjODIwNDs8L2E+DQo8cCBhbGlnbj0icmlnaHQiIHNpemU9IjIiPg0KPGEgaHJlZj0iI2NvbnRlbnQiPih0b3ApPC9hPg0KPC9wPg0KPGg0PkRlc3RpbmF0aW9uIEJ1aWxkIFRyZWU8L2g0Pg0KDQo8YmxvY2txdW90ZSBjbGFzcz0ic291cmNlIj4NCjxwcmU+DQp4YWxhbi9jL3RydW5rL2J1aWxkL2RvY3MvaHRtbC8NCiAgICB7VGhlIFhhbGFuLUMgcHJvamVjdCBodG1sIFdlYiBQYWdlcyBnbyBoZXJlfQ0KICAgIGluZGV4Lmh0bWwgICAgICAgICAgLS0gVGhpcyBpcyB0aGUgcm9vdCBvZiB0aGUgWGFsYW4tQyBzdWJwcm9qZWN0DQoNCnhhbGFuL2MvdHJ1bmsvYnVpbGQvZG9jcy9odG1sL3Jlc291cmNlcy8NCiAgICB7UmVzb3VyY2VzIHRvIHN1cHBvcnQgWGFsYW4tQyBwcm9qZWN0IGh0bWwgV2ViIFBhZ2VzfQ0KICAgIGFwYWNoZS14YWxhbi5jc3MNCiAgICBhc2ZfbG9nby5wbmcNCiAgICBub3RlLmdpZg0KDQp4YWxhbi9jL3RydW5rL2J1aWxkL2RvY3MvaHRtbC9hcGlEb2NzLw0KICAgIHtUaGUgWGFsYW4tQyBBUEkgV2ViIFBhZ2VzIGdvIGhlcmV9DQogICAgaW5kZXguaHRtbCAgICAgICAgICAtLSBUaGlzIGlzIHRoZSByb290IG9mIHRoZSBYYWxhbi1DIEFQSSBEb2N1bWVudHMNCjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KDQoNCjxhIG5hbWU9ImJfd2ViXzMiPiYjODIwNDs8L2E+DQo8cCBhbGlnbj0icmlnaHQiIHNpemU9IjIiPg0KPGEgaHJlZj0iI2NvbnRlbnQiPih0b3ApPC9hPg0KPC9wPg0KPGg0PlRoZSBXZWIgUGFnZSBCdWlsZCBFbnZpcm9ubWVudDwvaDQ+DQoNCjxwPlRoZSBleGFtcGxlcyBoZXJlIGRlc2NyaWJlIGhvdyB0byBidWlsZCB0aGUgWGFsYW4tQy9DKysgd2ViIHBhZ2VzIHdoZW4NCmNvbm5lY3RlZCB0byB0aGUgYSBjb3B5IG9mIHRoZSAoeGRvY3Mvc291cmNlcykgZGlyZWN0b3J5LiBTbyBjb25uZWN0IHRvIGl0Lg0KPC9wPg0KPHA+VGhlIFN0eWxlQm9vayBEVEQgdmFsaWRhdGlvbiBmaWxlcyBhcmUgaW4gdGhlICh4ZG9jcy9zdHlsZS9kdGQpIGRpcmVjdG9yeS4NCjwvcD4NCjxwPlRoZSBTdHlsZUJvb2sgWE1MIHNvdXJjZXMgZm9yIHRoZSB3ZWIgcGFnZXMgYXJlIGluIHRoZSAoeGRvY3Mvc291cmNlcy94YWxhbikgZGlyZWN0b3J5LiAgRWFjaCB3ZWIgcGFnZSBpcyBhc3NvY2lhdGVkIHdpdGggYW4gWE1MIGZpbGUgaW4gdGhpcyBkaXJlY3RvcnkuICBUaGUgdHJhbnNmb3JtZWQgb3V0cHV0IGlzIHRvIGJlIHBsYWNlZCBpbiB0aGUgKGJ1aWxkL2RvY3MvaHRtbCkgZGlyZWN0b3J5LiAgVGhlIHNvdXJjZSBYTUwgZmlsZSBhbmQgdGhlIGRlc3RpbmF0aW9uIEhUTUwgZmlsZSBoYXZlIHRoZSBzYW1lIGJhc2UgZmlsZW5hbWUuDQo8L3A+DQo8cD5UaGUgV2ViIFBhZ2Ugb3V0cHV0IGRpcmVjdG9yeSBpcyAoYnVpbGQvZG9jcy9odG1sKS4NCjwvcD4NCjxwPkFmdGVyIGNyZWF0aW5nIHRoZSB3ZWIgcGFnZXMsIGNvcHkgdGhlICh4ZG9jcy9zb3VyY2VzL3hzbHQtcmVzb3VyY2VzLyopIGZpbGVzIHRvIHRoZSAoYnVpbGQvZG9jcy9odG1sL3Jlc291cmNlcykgZGlyZWN0b3J5Lg0KPC9wPg0KPHA+R3JhcGhpYyBpbWFnZXMgZm9yIGluZGl2aWR1YWwgd2ViIHBhZ2VzIGFyZSBpbiB0aGUgKHhkb2NzL3hhbGFuLWdyYXBoaWMpIGRpcmVjdG9yeSBhbmQgbGF0ZXIgY29waWVkIHRvIHRoZSAoYnVpbGQvZG9jcy9odG1sKSBkaXJlY3RvcnkuDQo8L3A+DQoNCg0KPGEgbmFtZT0iYl93ZWJfNCI+JiM4MjA0OzwvYT4NCjxwIGFsaWduPSJyaWdodCIgc2l6ZT0iMiI+DQo8YSBocmVmPSIjY29udGVudCI+KHRvcCk8L2E+DQo8L3A+DQo8aDQ+UHJlcGFyaW5nIHRoZSBOYXZpZ2F0aW9uIEZpbGU8L2g0Pg0KDQo8cD5UaGUgKHhkb2NzL3NvdXJjZXMveGFsYW4ueG1sKSBpcyB0aGUgcHJvamVjdCBuYXZpZ2F0aW9uIGZpbGUgdGhhdCBpcyBvbiANCnRoZSBsZWZ0IHNpZGUgb2YgZWFjaCB3ZWIgcGFnZS4gDQpUaGUgcm9vdCBlbGVtZW50IGlzICZsdDtib29rJmd0OyANCmNvbnRhaW5pbmcgY2hpbGQgZWxlbWVudHMgb2YgJmx0O2hpZGRlbiZndDssICZsdDtleHRlcm5hbCZndDssIA0KJmx0O2RvY3VtZW50Jmd0OywgJmx0O3Jlc291cmNlcyZndDssICZsdDtmYXFzJmd0OywgYW5kICZsdDtzZXBhcmF0b3ImZ3Q7LiAgVGhlIGZvcm1hdCBvZiB0aGlzIG5hdmlnYXRpb24gZmlsZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgU3R5bGVCb29rIEphdmEgcHJvZ3JhbS4gIE91ciBzdHlsZXNoZWV0IHVzZXMgdGhlICZsdDtib29rJmd0OyB0byBwcm92aWRlIG9ubHkgYSBuYXZpZ2F0aW9uIHBhbmVsLiAgSXQgZG9lcyBub3QgY29udHJvbCB0aGUgcHJvZHVjdGlvbiBvZiB0aGUgZW50aXJlIHN1aXRlIG9mIHdlYiBwYWdlcy4NCjwvcD4NCjxwPlRoZSBtYXJrdXAgaXMgdmFsaWRhdGVkIGJ5IERURCBhbmQgZW50aXR5IGRlZmluaXRpb25zIGluIHRoZSAoeGRvY3Mvc3R5bGUvZHRkKSBkaXJlY3RvcnkuDQo8L3A+DQo8cD5UaGUgImlkPSIgYXR0cmlidXRlIGlzIHRoZSBuYW1lIG9mIHRoZSB3ZWIgcGFnZSBmaWxlIHdpdGhvdXQgZXh0ZW5zaW9uLg0KPC9wPg0KPHA+VGhlICJsYWJlbD0iIGF0dHJpYnV0ZSBpcyB0aGUgbmF2aWdhdGlvbiB0ZXh0Lg0KPC9wPg0KPHA+VGhlICJzb3VyY2U9IiBhdHRyaWJ1dGUgaXMgdGhlIG5hbWUgb2YgdGhlIFN0eWxlQm9vayBYTUwgc291cmNlIGZpbGUuDQo8L3A+DQo8cD5UaGUgImhyZWY9IiBhdHRyaWJ1dGUgaXMgYSBsaW5rIHRvIGFuIGV4dGVybmFsIHJlc291cmNlLg0KPC9wPg0KDQoNCjxhIG5hbWU9ImJfd2ViXzUiPiYjODIwNDs8L2E+DQo8cCBhbGlnbj0icmlnaHQiIHNpemU9IjIiPg0KPGEgaHJlZj0iI2NvbnRlbnQiPih0b3ApPC9hPg0KPC9wPg0KPGg0PkNyZWF0aW5nIHRoZSBXZWIgUGFnZXM8L2g0Pg0KDQo8cD5UaGUgWFNMVCB0cmFuc2Zvcm1hdGlvbiB1dGlsaXR5IG11c3Qgc3VwcG9ydCB0b3AtbGV2ZWwgcGFyYW1ldGVycy4gDQpUaGUgPGNvZGU+WGFsYW48L2NvZGU+IGNvbW1hbmQtbGluZSBwcm9ncmFtIGJ1aWx0IGFuZCBkaXN0cmlidXRlZCB3aXRoIHRoZSB0aGlzIHByb2plY3QgDQpoYXMgc3VmZmljaWVudCBjYXBhYmlsaXR5IHRvIGNyZWF0ZSB0aGUgcHJvamVjdCB3ZWIgcGFnZXMuIA0KVGhlIDxjb2RlPnhhbGFuLWJvb2sueHNsdDwvY29kZT4gc3R5bGVzaGVldCBpcyBkZXNpZ25lZCB0byBpbnRlcnByZXQgU3R5bGVCb29rIFhNTCBhbmQgY3JlYXRlIFhIVE1MIHdlYiBwYWdlcyBmb3IgdGhlIFhhbGFuLUMgcHJvamVjdC4NCjwvcD4NCjxwPkV4YW1wbGU6IENyZWF0ZSB0aGUgPGNvZGU+aW5kZXguaHRtbDwvY29kZT4gd2ViIHBhZ2UgZnJvbSA8Y29kZT5pbmRleC54bWw8L2NvZGU+IHNvdXJjZS4gVGhlIGFyZ3VtZW50cyBhcmUgc2hvd24gb24gc2VwYXJhdGUgbGluZXMgZm9yIGNvbnZlbmllbmNlIG9mIHByZXNlbnRhdGlvbi4NCjwvcD4NCjxibG9ja3F1b3RlIGNsYXNzPSJzb3VyY2UiPg0KPHByZT4NClhhbGFuLmV4ZSANCiAgICAtcCBzZWN0aW9uaWQgIidpbmRleCciIA0KICAgIC1wIGNyZWF0ZWRhdGUgIidUdWUgMDgvMDkvMjAxMSciIA0KICAgIHhhbGFuXGluZGV4LnhtbA0KICAgIHhhbGFuLWJvb2sueHNsdA0KICAgICZndDsgLi5cLi5cYnVpbGRcZG9jc1xodG1sXGluZGV4Lmh0bWwNCjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KDQo8cD5EbyB0aGUgc2FtZSBmb3IgZWFjaCB3ZWIgcGFnZSByZXBsYWNpbmcgPGNvZGU+aW5kZXg8L2NvZGU+LCANCjxjb2RlPmluZGV4LnhtbDwvY29kZT4sIGFuZCA8Y29kZT5pbmRleC5odG1sPC9jb2RlPiBpbiB0aGUgYWJvdmUgZXhhbXBsZS4NCjwvcD4NCjxwPk90aGVyIGNvbW1hbmQtbGluZSBYU0xUIHByb2Nlc3NvcnMgd291bGQgaGF2ZSBhIGRpZmZlcmVudCBjYWxsaW5nIHN5bnRheC4NCkNoZWNrIHlvdXIgZG9jdW1lbnRhdGlvbi48L3A+DQo8cD5JIHVzZSBiYXRjaCBmaWxlcyBvciBzaGVsbCBzY3JpcHRzIHRvIGF1dG9tYXRlIHRoaXMgcHJvY2Vzcy4gDQpUaGUgZm9sbG93aW5nIGJhdGNoIGZpbGVzIGFyZSB3aGF0IEkgdXNlIG9uIFdpbmRvd3MgcGxhdGZvcm1zLg0KPC9wPg0KPHA+VGhlIDxjb2RlPm1ha2UtYm9vay5iYXQ8L2NvZGU+IGZpbGUgaXMgdXNlZCB0byBjcmVhdGUgYWxsIHdlYiBwYWdlczoNCjwvcD4NCjxibG9ja3F1b3RlIGNsYXNzPSJzb3VyY2UiPg0KPHByZT4NCiAgbWtkaXIgLi5cLi5cYnVpbGRcZG9jc1xodG1sXHJlc291cmNlcw0KDQogIGNhbGwgbWFrZS14YWxhbiB1c2FnZXBhdHRlcm5zDQogIGNhbGwgbWFrZS14YWxhbiBzYW1wbGVzDQogIGNhbGwgbWFrZS14YWxhbiByZXNvdXJjZXMNCiAgY2FsbCBtYWtlLXhhbGFuIGluc3RhbGwNCiAgY2FsbCBtYWtlLXhhbGFuIGRvd25sb2FkDQogIGNhbGwgbWFrZS14YWxhbiBvdmVydmlldw0KICBjYWxsIG1ha2UteGFsYW4gY2hhcnRlcg0KICBjYWxsIG1ha2UteGFsYW4gd2hhdHNuZXcNCiAgY2FsbCBtYWtlLXhhbGFuIGV4dGVuc2lvbnNsaWINCiAgY2FsbCBtYWtlLXhhbGFuIGNvbW1hbmRsaW5lDQogIGNhbGwgbWFrZS14YWxhbiByZWFkbWUNCiAgY2FsbCBtYWtlLXhhbGFuIHJlbGVhc2Vub3Rlcw0KICBjYWxsIG1ha2UteGFsYW4gcHJvZ3JhbW1pbmcNCiAgY2FsbCBtYWtlLXhhbGFuIGdldHN0YXJ0ZWQNCiAgY2FsbCBtYWtlLXhhbGFuIGluZGV4DQogIGNhbGwgbWFrZS14YWxhbiBleHRlbnNpb25zDQogIGNhbGwgbWFrZS14YWxhbiBmYXENCiAgY2FsbCBtYWtlLXhhbGFuIGxpY2Vuc2UNCiAgY2FsbCBtYWtlLXhhbGFuIGJ1aWxkbGlicw0KICBjYWxsIG1ha2UteGFsYW4gc2VjdXJld2ViDQoNCiAgY29weSB4YWxhbi1ncmFwaGljXCouKiAuLlwuLlxidWlsZFxkb2NzXGh0bWwNCiAgY29weSB4c2x0LXJlc291cmNlc1wqLiogLi5cLi5cYnVpbGRcZG9jc1xodG1sXHJlc291cmNlcw0KPC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQoNCjxwPlRoZSA8Y29kZT5tYWtlLXhhbGFuLmJhdDwvY29kZT4gZmlsZSB0byBjcmVhdGUgYSBzaW5nbGUgd2ViIHBhZ2U6DQo8L3A+DQo8YmxvY2txdW90ZSBjbGFzcz0ic291cmNlIj4NCjxwcmU+DQogIDo6DQogIDo6IFNldCB0aGUgY3VycmVudCBwYXRoIHRvIGluY2x1ZGUgYSBzdHlsZXNoZWV0IHRyYW5zZm9ybWF0aW9uIHV0aWxpdHkNCiAgOjoNCiAgOjogJTEgICAgICAgICAgICAgICBUaGUgZG9jdW1lbnQgZmlsZW5hbWUgKHdpdGhvdXQgZXh0ZW5zaW9uKSB0byB0cmFuc2Zvcm0NCiAgOjoNCiAgOjogJVhBTEFORVhTTFQlICAgICBUaGUgZXhzbHQgc3R5bGVzaGVldCB0cmFuc2Zvcm1hdGlvbiB1dGlsaXR5DQogIDo6DQogIDo6ICVYQUxBTlNUWUxFJSAgICAgVGhlIFhTTFQgc3R5bGVzaGVldCB0byBjb252ZXJ0IFNUWUxFQk9PSyBtYXJrdXANCiAgOjoNCiAgOjogJVhBTEFOWE1MRElSJSAgICBTb3VyY2UgZGlyZWN0b3J5IG9mIFNUWUxFQk9PSyBtYXJrdXAgWE1MIGRvY3VtZW50cw0KICA6Og0KICA6OiAlWEFMQU5PVVRESVIlICAgIFRhcmdldCBkaXJlY3Rvcnkgb2YgWEhUTUwgd2ViIHBhZ2UgZG9jdW1lbnRzDQogIDo6DQogIDo6ICVXRUJDUkVBVEVEJSAgICAgV2ViIFBhZ2UgQ3JlYXRpb24gRGF0ZQ0KICA6Og0KICA6OiBzZWN0aW9uaWQgICAgICAgIFRvcC1sZXZlbCBzdHlsZXNoZWV0IHBhcmFtZXRlciAoZG9jdW1lbnQgZmlsZSBpZCkNCiAgOjoNCiAgOjogY3JlYXRlZGF0ZSAgICAgICBUb3AtbGV2ZWwgc3R5bGVzaGVldCBwYXJhbWV0ZXIgKHdlYiBwYWdlIGNyZWF0aW9uIGRhdGUpDQogIDo6DQoNCiAgU0VUIFdFQkNSRUFURUQ9JURBVEUlDQogIFNFVCBYQUxBTkVYU0xUPS4uXC4uXGJpblx4YWxhbi5leGUNCiAgU0VUIFhBTEFOU1RZTEU9eGFsYW4tYm9vay54c2x0DQogIFNFVCBYQUxBTlhNTERJUj14YWxhbg0KICBTRVQgWEFMQU5PVVRESVI9Li5cLi5cYnVpbGRcZG9jc1xodG1sDQoNCiAgIiVYQUxBTkVYU0xUJSIgLXAgc2VjdGlvbmlkICInJTEnIiAtcCBjcmVhdGVkYXRlICInJVdFQkNSRUFURUQlJyIgICBcDQogICAgICAlWEFMQU5YTUxESVIlXCUxLnhtbCAlWEFMQU5TVFlMRSUgICZndDslIFhBTEFOT1VURElSJVwlMS5odG1sDQo8L3ByZT4NCjwvYmxvY2txdW90ZT4NCg0KDQoNCjxhIG5hbWU9ImJ1aWxkYXBpIj4mIzgyMDQ7PC9hPg0KPHAgYWxpZ249InJpZ2h0IiBzaXplPSIyIj4NCjxhIGhyZWY9IiNjb250ZW50Ij4odG9wKTwvYT4NCjwvcD4NCjxoMz5CdWlsZGluZyB0aGUgWGFsYW4tQyBBUEkgUmVmZXJlbmNlPC9oMz4NCg0KPHA+VGhpcyBzZWN0aW9uIHNob3dzIGhvdyB0byBidWlsZCB0aGUgWGFsYW4tQy9DKysgYXBwbGljYXRpb24gcHJvZ3JhbSBpbnRlcmZhY2UgKEFQSSkgZG9jdW1lbnRzIHVzaW5nIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmRveHlnZW4ub3JnIj5Eb3h5Z2VuPC9hPiBhbmQgDQo8YSBocmVmPSJodHRwOi8vd3d3LmdyYXBodml6Lm9yZyI+R3JhcGhWaXo8L2E+IHByb2dyYW1zLiAgVGhlc2UgcmVxdWlyZWQgc29mdHdhcmUgcGFja2FnZXMgYXJlIGF2YWlsYWJsZSBmb3IgbW9zdCBVbml4IHN5c3RlbXMuDQo8L3A+DQoNCjxhIG5hbWU9ImJfYXBpXzEiPiYjODIwNDs8L2E+DQo8cCBhbGlnbj0icmlnaHQiIHNpemU9IjIiPg0KPGEgaHJlZj0iI2NvbnRlbnQiPih0b3ApPC9hPg0KPC9wPg0KPGg0PkFQSSBDb25maWd1cmF0aW9uIFNvdXJjZSBUcmVlPC9oND4NCg0KPGJsb2NrcXVvdGUgY2xhc3M9InNvdXJjZSI+DQo8cHJlPg0KeGFsYW4vYy90cnVuay9zcmMveGFsYW5jLyAgICAgICAtLSBbKi5oLCAqLmhwcF0gc291cmNlIGNvZGUgZmlsZXMNCg0KeGFsYW4vYy90cnVuay94ZG9jcy8NCiAgICBEb3h5ZmlsZVhhbGFuICAgICAgICAgICAgICAgLS0gVGhlIGRveHlnZW4gY29uZmlndXJhdGlvbiBmaWxlDQoNCnhhbGFuL2MvdHJ1bmsveGRvY3MvaHRtbC9hcGlEb2NzLw0KICAgIGFzZl9sb2dvX3dpZGUuZ2lmICAgICAgICAgICAtLSBUaGUgd2lkZSBBU0YgdHJhZGVtYXJrIGxvZ28NCiAgICBmb290ZXIuaHRtbCAgICAgICAgICAgICAgICAgLS0gVGhlIGZvb3RlciBodG1sIGZyYWdtZW50IGZvciBjb3B5cmlnaHQNCiAgICBoZWFkZXIuaHRtbCAgICAgICAgICAgICAgICAgLS0gSGVhZGVyIGh0bWwgZnJhZ21lbnQgZm9yIGRvY3VtZW50IHRpdGxlDQogICAgaGVhZGVyLWxvY2FsLmh0bWwgICAgICAgICAgIC0tIEhlYWRlciBodG1sIGZyYWdtZW50IGZvciBvcHRpb25hbCB0aXRsZQ0KPC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQoNCjxwPk5vdGU6IChBcGFjaGVMb2dvLmpwZykgaXMgcmVwbGFjZWQgd2l0aCAoYXNmX2xvZ29fd2lkZS5naWYpLg0KPC9wPg0KPHA+Tm90ZTogKGRpYWdyYW1ub3Rlcy5odG1sKSBpcyByZXBsYWNlZCB3aXRoIChncmFwaF9sZWdlbmQuaHRtbCkgY3JlYXRlZCBieSBkb3h5Z2VuLg0KPC9wPg0KDQoNCjxhIG5hbWU9ImJfYXBpXzIiPiYjODIwNDs8L2E+DQo8cCBhbGlnbj0icmlnaHQiIHNpemU9IjIiPg0KPGEgaHJlZj0iI2NvbnRlbnQiPih0b3ApPC9hPg0KPC9wPg0KPGg0PkRlc3RpbmF0aW9uIFBhdGggZm9yIEFQSSBXZWIgUGFnZXM8L2g0Pg0KDQo8cD5UaGUgWGFsYW4tQy9DKysgQVBJIHBhZ2VzIGFyZSBjb25zdHJ1Y3RlZCBoZXJlLjwvcD4NCjxibG9ja3F1b3RlIGNsYXNzPSJzb3VyY2UiPg0KPHByZT4NCiAgICB4YWxhbi9jL3RydW5rL2J1aWxkL2RvY3MvYXBpRG9jcy9odG1sDQo8L3ByZT4NCjwvYmxvY2txdW90ZT4NCg0KDQo8YSBuYW1lPSJiX2FwaV8zIj4mIzgyMDQ7PC9hPg0KPHAgYWxpZ249InJpZ2h0IiBzaXplPSIyIj4NCjxhIGhyZWY9IiNjb250ZW50Ij4odG9wKTwvYT4NCjwvcD4NCjxoND5CdWlsZCB0aGUgQVBJIFdlYiBQYWdlczwvaDQ+DQoNCjxwPllvdSBtdXN0IGhhdmUgdXNhYmxlICJkb3h5Z2VuIiBhbmQgImRvdCIgcHJvZ3JhbXMgaW4geW91ciBwYXRoLiAgVGhlICJkb3QiIHByb2dyYW0gaXMgcGFydCBvZiB0aGUgR3JhcGhWaXogZGlzdHJpYnV0aW9uLg0KPC9wPg0KPHA+Q29ubmVjdCB0byB5b3VyIGRldmVsb3BtZW50IHNvdXJjZXMgb3IgU1ZOIHNuYXBzaG90LjxiciAvPg0KPGJsb2NrcXVvdGUgY2xhc3M9InNvdXJjZSI+DQo8cHJlPg0KeGFsYW4vYy90cnVuay94ZG9jcy8NCjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KUnVuIHRoZSBkb3h5Z2VuIChvciBkb3h5d2l6YXJkKSBwcm9ncmFtLjxiciAvPg0KPGJsb2NrcXVvdGUgY2xhc3M9InNvdXJjZSI+DQo8cHJlPg0KZG94eWdlbiBEb3h5ZmlsZVhhbGFuIDImZ3Q7ZXJyb3JzLmxvZyB8IHRlZSBkb3h5Z2VuLmxvZw0KPC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQpFeGFtaW5lIHRoZSAoZXJyb3JzLmxvZykgZmlsZSBmb3IgYW55IGZhdGFsIGVycm9ycy4gIExvdHMgb2Ygd2FybmluZ3MgYXJlIG9rLg0KWW91IGNhbiBleGFtaW5lIHRoZSBjb25zdHJ1Y3RlZCB3ZWIgcGFnZXMgd2l0aCB5b3VyIGZhdm9yaXRlIGJyb3dzZXIuPGJyIC8+DQo8YmxvY2txdW90ZSBjbGFzcz0ic291cmNlIj4NCjxwcmU+DQolIGNkIHhhbGFuL2MvdHJ1bmsvYnVpbGQvZG9jcy9hcGlEb2NzL2h0bWwNCiUgaWNld2Vhc2VsIGluZGV4Lmh0bWwgJmFtcDsNCjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KPC9wPg0KDQoNCg0KPGEgbmFtZT0iaW50ZWdyYXRlYXBpIj4mIzgyMDQ7PC9hPg0KPHAgYWxpZ249InJpZ2h0IiBzaXplPSIyIj4NCjxhIGhyZWY9IiNjb250ZW50Ij4odG9wKTwvYT4NCjwvcD4NCjxoMz5JbnRlZ3JhdGUgQVBJIFdpdGggWGFsYW4tQyBQcm9qZWN0IFdlYiBQYWdlczwvaDM+DQoNCjxwPkNvcHkgdGhlIGNvbnRlbnRzIG9mIDxiciAvPg0KPGJsb2NrcXVvdGUgY2xhc3M9InNvdXJjZSI+DQo8cHJlPg0KeGFsYW4vYy90cnVuay9idWlsZC9kb2NzL2FwaURvY3MvaHRtbC8qDQo8L3ByZT4NCjwvYmxvY2txdW90ZT4NCnRvIHRoZSBYYWxhbi1DIFByb2plY3QgV2ViIFBhZ2VzIGZvdW5kIGF0IDxiciAvPg0KPGJsb2NrcXVvdGUgY2xhc3M9InNvdXJjZSI+DQo8cHJlPnhhbGFuL2MvdHJ1bmsvYnVpbGQvZG9jcy9odG1sL2FwaURvY3MvDQo8L3ByZT4NCjwvYmxvY2txdW90ZT4NCkNvcHkgdGhlIHRyYWRlbWFyayBsb2dvIDxiciAvPg0KPGJsb2NrcXVvdGUgY2xhc3M9InNvdXJjZSI+DQo8cHJlPg0KeGFsYW4vYy90cnVuay94ZG9jcy9odG1sL2FwaURvY3MvYXNmX2xvZ29fd2lkZS5naWYNCjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KdG8gaXRzIGZpbmFsIHJlc3RpbmcgcGxhY2UgPGJyIC8+DQo8YmxvY2txdW90ZSBjbGFzcz0ic291cmNlIj4NCjxwcmU+DQp4YWxhbi9jL3RydW5rL2J1aWxkL2RvY3MvaHRtbC9hcGlEb2NzLw0KPC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQo8L3A+DQoNCjxwIGFsaWduPSJyaWdodCIgc2l6ZT0iMiI+DQo8YSBocmVmPSIjY29udGVudCI+KHRvcCk8L2E+DQo8L3A+DQo8L2Rpdj4NCjxkaXYgaWQ9ImZvb3RlciI+Q29weXJpZ2h0IKkgMTk5OS0yMDEyIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjxiciAvPkFwYWNoZSwgWGFsYW4sIGFuZCB0aGUgRmVhdGhlciBsb2dvIGFyZSB0cmFkZW1hcmtzIG9mIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjxkaXYgY2xhc3M9InNtYWxsIj5XZWIgUGFnZSBjcmVhdGVkIG9uIC0gRnJpIDA2LzE1LzIwMTI8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K