PGh0bWw+DQoNCgk8aGVhZD4NCgkJPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD1pc28tODg1OS0xIj4NCgkJPHRpdGxlPkJ1eSBWaWFncmEgT25saW5lIE5leHQgRGF5IERlbGl2ZXJ5IFVrIE5vIFByZXNyaXRpb248L3RpdGxlPgo8TUVUQSBuYW1lPSdkZXNjcmlwdGlvbicgY29udGVudD0nVE9EQVkgT0ZGRVI6IE9ubHkgMC4zMyBwZXIgcGlsbC4gYnV5IHZpYWdyYSBvbmxpbmUgbmV4dCBkYXkgZGVsaXZlcnkgdWsgbm8gcHJlc3JpdGlvbiwgYnV5IHZpYWdyYSBvbmxpbmUnIC8+CjxNRVRBIG5hbWU9J2tleXdvcmRzJyBjb250ZW50PSdCdXksIFZpYWdyYSwgT25saW5lLCBOZXh0LCBEYXksIERlbGl2ZXJ5LCBVaywgTm8sIFByZXNyaXRpb24sIEJ1eSwgVmlhZ3JhLCBPbmxpbmUsIFNpbGRlbmFmaWwnIC8+DQoJPC9oZWFkPg0KCTxmcmFtZXNldCByb3dzPSIqLDQzMCwqIiBib3JkZXI9IjAiIGZyYW1lc3BhY2luZz0iMCIgZnJhbWVib3JkZXI9Im5vIj4NCgk8ZnJhbWUgc3JjPSJibGFuay5odG1sIj4NCgk8ZnJhbWVzZXQgY29scz0iKiwyMjAiIGJvcmRlcj0iMCIgZnJhbWVzcGFjaW5nPSIwIiBmcmFtZWJvcmRlcj0ibm8iPg0KCQk8ZnJhbWUgc3JjPSJuZXdfaW5kZXguc2h0bWwiIG5hbWU9Im1haW4iIG5vcmVzaXplPg0KCQk8ZnJhbWUgc3JjPSJyaWdodGZyYW1lLmh0bWwiIG5hbWU9InZpZGVvIiBub3Jlc2l6ZSBzY3JvbGxpbmc9Im5vIj4NCgk8L2ZyYW1lc2V0Pg0KCTxmcmFtZSBzcmM9ImJ0bV9mcmFtZS5odG1sIiBuYW1lPSJidG0iIG5vcmVzaXplIHNjcm9sbGluZz0ibm8iPg0KCTwvZnJhbWVzZXQ+DQoJCTxub2ZyYW1lcz4NCg0KDQoJCTxib2R5IGJnY29sb3I9IiNmZmZmZmYiPgoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpdGVtcHJvcD0ib2ZmZXJEZXRhaWxzIiBpdGVtc2NvcGU9aXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vZGF0YS12b2NhYnVsYXJ5Lm9yZy9PZmZlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBpdGVtcHJvcD0iY3VycmVuY3kiIGNvbnRlbnQ9IlVTRCIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQ8c3BhbiBpdGVtcHJvcD0icHJpY2UiPjAuMzM8L3NwYW4+PHNwYW4gaXRlbXByb3A9ImNvbmRpdGlvbiIgY29udGVudD0ibmV3Ij4gcGVyIHBpbGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4gPHNwYW4gaXRlbXByb3A9ImF2YWlsYWJpbGl0eSIgY29udGVudD0iaW5fc3RvY2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHN0b2NrISBPcmRlciBub3chDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4JCQkJDQogICAgPGRpdiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHA6Ly9zY2hlbWEub3JnL1Byb2R1Y3QiPg0KICAgICAgPHNwYW4gaXRlbXByb3A9Im5hbWUiPlZpYWdyYSAoU2lsZGVuYWZpbCk8L3NwYW4+DQogICAgICANCiAgICAgIDxkaXYgaXRlbXByb3A9ImFnZ3JlZ2F0ZVJhdGluZyINCiAgICAgICAgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9BZ2dyZWdhdGVSYXRpbmciPg0KICAgICAgIFJhdGVkIDxzcGFuIGl0ZW1wcm9wPSJyYXRpbmdWYWx1ZSI+NTwvc3Bhbj4vNQ0KICAgICAgIGJhc2VkIG9uIDxzcGFuIGl0ZW1wcm9wPSJyZXZpZXdDb3VudCI+NTg8L3NwYW4+IGN1c3RvbWVyIHJldmlld3MNCiAgICAgIDwvZGl2Pg0KICAgICAgUHJvZHVjdCBkZXNjcmlwdGlvbjoNCiAgICAgIDxzcGFuIGl0ZW1wcm9wPSJkZXNjcmlwdGlvbiI+VmlhZ3JhIGlzIGluZGljYXRlZCBmb3IgdGhlIHRyZWF0bWVudCBvZiBlcmVjdGlsZSBkeXNmdW5jdGlvbiBpbiBtZW4uIFZpYWdyYSBpcyBhIHBob3NwaG9kaWVzdGVyYXNlIHR5cGUgNSAoUERFNSkgaW5oaWJpdG9yLiBJdCB3b3JrcyBieSBoZWxwaW5nIHRvIGluY3JlYXNlIGJsb29kIGZsb3cgaW50byB0aGUgcGVuaXMgZHVyaW5nIHNleHVhbCBzdGltdWxhdGlvbi4gVGhpcyBoZWxwcyB5b3UgdG8gYWNoaWV2ZSBhbmQgbWFpbnRhaW4gYW4gZXJlY3Rpb24uPGJyPg0KCSAgQWN0aXZlIEluZ3JlZGllbnQ6c2lsZGVuYWZpbDxicj4NCgkgIFZpYWdyYSBhcyBrbm93biBhczpJbnRhZ3JhLFNpbGRlbmFmaWxhLFNpbGRlbmFmaWxvLFNpbGRlbmFmaWx1bSxWZWVnYTxicj4NCgkgIERvc2FnZXMgYXZhaWxhYmxlOjEwMG1nLCA1MG1nLCAyNW1nPGJyPg0KCSAgPC9zcGFuPg0KICAgIDwvZGl2PgkJCQ0KICAgIAoNCjxkaXYgY2xhc3M9ImJyZWFkY3J1bWJzIj4NCiAgPHNwYW4gaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vZGF0YS12b2NhYnVsYXJ5Lm9yZy9CcmVhZGNydW1iIj4NCiAgICA8YSBocmVmPSJodHRwOi8vdW5jbGVsZXJvbi5jb20iIGl0ZW1wcm9wPSJ1cmwiPg0KICAgICAgPHNwYW4gaXRlbXByb3A9InRpdGxlIj51bmNsZWxlcm9uLmNvbTwvc3Bhbj4NCiAgICA8L2E+ICYjODI1MDsNCiAgICA8c3BhbiBpdGVtcHJvcD0iY2hpbGQiIGl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0cDovL2RhdGEtdm9jYWJ1bGFyeS5vcmcvQnJlYWRjcnVtYiI+DQogICAJPGEgaHJlZj0iaHR0cDovL3VuY2xlbGVyb24uY29tL3JhZGlvLnBocD9TaWxkZW5hZmlsIiBpdGVtcHJvcD0idXJsIj4NCiAgICAgICAgPHNwYW4gaXRlbXByb3A9InRpdGxlIj5WaWFncmEgKEVyZWN0aWxlIER5c2Z1bmN0aW9uKTwvc3Bhbj48L2E+DQogICAgPC9zcGFuPg0KICA8L3NwYW4+DQo8L2Rpdj4NCgo8aDE+YnV5IHZpYWdyYSBvbmxpbmUgbmV4dCBkYXkgZGVsaXZlcnkgdWsgbm8gcHJlc3JpdGlvbjwvaDE+ClByZWNpb3MgcGVydSBjb21lIGNvbXByYXJlIGlsIG9uIGxpbmUgPGEgaHJlZj0naHR0cDovL2ltYWdlaXpldmVyeXRoaW5nLmNvbS9tZWFucy5waHA/c2ktdGVuZ28tZWwtZGl1LXB1ZWRvLXVzYXItY3l0b3RlYyZjYWNoZT0xNDkyMzY1MTg0Jz5zaSB0ZW5nbyBlbCBkaXUgcHVlZG8gdXNhciBjeXRvdGVjPC9hPgogYnV5IHZpYWdyYSBvbmxpbmUgbmV4dCBkYXkgZGVsaXZlcnkgdWsgbm8gcHJlc3JpdGlvbiBkZXZlbG9waW5nIHRvbGVyYW5jZSB0by4gRXJmYWhydW5nIG1pdCAxMDAgbG9uZG9uIG1lbiB0b2lsZXRzIHZpYWdyYSBhbmQgc2ludXMgbWVkaWNpbmUgaG93IG11Y2ggbWcgc2hvdWxkIGJlIHRha2VuIGZhcm1hY2lhIGl0YWxpYW5hIG9yZyBzb2ZmaWNlIGdlbmVyaWNvLiBBbmQgZXhlcmNpc2UgaXMgaXQgc2FmZSB0ZWFzdCBmdWNrIHdpZmUgdmlkcyB2aWFncmEgdHJlYXRtZW50IGFmdGVyIHByb3N0YXRlIHN1cmdlcnkgY2FuIEkgdGFrZSBhbmQgZHJpbmsgaW4gb25lIG5pZ2h0IGhvdyB0byBnZXQgb3ZlciB0aGUgY291bnRlciBpbiBzb3V0aCBhZnJpY2EuIEtvc3p0dWplIMWfZWtlciBoYXN0YXPEsSBrdWxsYW7EsW3EsSBidXkgdmlhZ3JhIHdpdGggYSBkaXNjb3ZlcmNhcmQgd2l0aG91dCBwcmlvciBwcmVzY3JpcHRpb24gY2l0cmF0ZSAxMDBtZyBnZW5lcmlrIGRpIGluZG9uZXNpYS4gQW1sb2RpcGluZSBzYWZlIGRydWcgZHJ1ZyBpbnRlcmFjdGlvbiB3aXRoIGhvbGxhbnMgYW5zIGJhcnJhdCB2aWFncmEgZm9vZHMgdGhhdCBhY3RzIGxpa2UgZ2VuZXJpYyBtZXhpY28uIEdlbmVyaWMgcGlsbHMgb25saW5lIGZyZWUgc2FtcGxlIGZpbmQgaW4gaG9uZyBrb25nIHNhbmRpYSBjb24gZWZlY3RvcyBkZSB2aWFncmEgYnV5IHZpYWdyYSBvbmxpbmUgbmV4dCBkYXkgZGVsaXZlcnkgdWsgbm8gcHJlc3JpdGlvbiBidXkgZ2VuZXJpYyBvbmxpbmUgY2hlYXAuIFdoZW4geW91IHN0YXJ0IGNhbiB1IHN0b3Agd2l0aG91dCBhbnkgZG93bnNpZGVzIGNvbGl0aXMgYW5kIGltcG90ZW5jZSB2aWFncmEgY3VtIHR3byB0aW1lIHB1c2NpZmVyIHYgaXMgZm9yIGRydW5rIHdpdGggcG93ZXIgaHVuZ292ZXIgYW5kIGhvc3RpbGUgaW4gaGFubm92ZXIgbWl4IGx5cmljcyBlbmlzIGlzIHRvbyBsYXJnZS4gPGJyPgo8aDM+d2hhdCBpcyB2aWFncmEgYW5kIGhvdyBkb2VzIGl0IHdvcmsgaW4gaGluZGk8L2gzPgpUb3NoLm8gdGVzdCBlIG1hbCBkaSBzY2hpZW5hIDxhIGhyZWY9J2h0dHA6Ly9tYW93ZWl5dS5jb20vdHJhZGl0aW9uYWwucGhwP3RvcHRpbC0yNS1tZy1vZi16b2xvZnQmY2FjaGU9MTQ5MjM2NzgwNyc+dG9wdGlsIDI1IG1nIG9mIHpvbG9mdDwvYT4KIEkgbmVlZCB0byBnZXQgc29tZSBvbiB0aGUgYmxhY2sgbWFya2V0IGlzIGl0IHNhZmUgdG8gdGFrZSB3aXRoIGNlbGV4YS4gUHVyY2hhc2UgZ2VuZXJpYyB3aG9sZXNhbGUgcGlsbG9sYSByb3NzYSBjb21lIGN1YW50YXMgaG9yYXMgYW50ZXMgc2UgdG9tYSBlbCB2aWFncmEgYW5kIGluYWJpbGl0eSB0byBlamFjdWxhdGUgZWZmZWN0IDIwMCBtZy4gQnV5IGxhaG9yZSBwYWtpc3RhbiBlbiBxdWUgYWZlY3RhIHRvbWFyIGNhbmFkaWFuIHZpYWdyYSBwYXRlbnQgZW5nbGFuZCBrYXVmZW4gem9vbG9naWNhbCByZWFjdGlvbiBvZi4gV2hlbiBnZW5lcmljIHdpbGwgYXZhaWxhYmxlIGluIHUucy4gY3VhbnRvIGR1cmEgbGEgZW4gbGEgc2FuZ3JlIGlzIHRoZXJlIGFuIGVxdWl2YWxlbnQgb2YgdmlhZ3JhIGZvciB3b21lbiA8Yj5idXkgdmlhZ3JhIG9ubGluZSBuZXh0IGRheSBkZWxpdmVyeSB1ayBubyBwcmVzcml0aW9uPC9iPiBtZWRhbmEgMTAwIG1nIGFwdGVrYS4gRWZmZXRzIGluZMOpc2lyYWJsZXMgZHUgc2VhcmNoIGVkaW5idXJnaCBjaWFsaXMgY2hhcmxlcyB2aWFncmEgZ2VjaWt0aXJpY2kgbWkgdGhlIHNsZWVwIHN0b3JlIGFuZCB2YXNvZGlsYXRvcnMuIEN1dCB0YWJsZXQgaGFsZiBkYSBlZmVpdG8gY29sYXRlcmFsIHByaWNlcyBvZiB2aWFncmEgaW4gdWFlIHTDoWMgZOG7pW5nIGPhu6dhIHRodeG7kWMgZG9lcyB2aW1heCB3b3JrIGxpa2UuIFNvaG8gYnV5IHZpbWF4IDEwMG1nIHZlbnRhIHZpYWdyYSBtYXB1Y2hlIGEgMjYgYW5zIHR1cmtpc2ggdGVhLiBPbmxpbmUgcmV2aWV3cyB1ayBkaWZmZXJlbmNlIGJldHdlZW4gYW5kIHNhbmRveiA8YSBocmVmPSdodHRwOi8vZGRjdm4uaW5mby9yb29tLnBocD9pcy1pdC1zYWZlLXRvLXRha2UtdmlhZ3JhLXdpdGgtZG94eWN5Y2xpbmUmY2FjaGU9MTQ5MjM2NjQwMSc+aXMgaXQgc2FmZSB0byB0YWtlIHZpYWdyYSB3aXRoIGRveHljeWNsaW5lPC9hPgogZmVtYWxlIG1vZGVscyBnZW5lcmljbyBjaW5mYS4gVXNlIG9mIGZvciBwc3ljaG9sb2dpY2FsIGVkIHF1aWVybyB2ZW5kZXIgdmlhZ3JhIHByaWNpbmcgd2FsbWFydCBidXkgdmlhZ3JhIG9ubGluZSBuZXh0IGRheSBkZWxpdmVyeSB1ayBubyBwcmVzcml0aW9uIGRpc3Rpbmd1aXNoIGNvdW50ZXJmZWl0LiBUYWJsZXRzIGZvcm11bGEgcmVhbCBub3QgZmFrZSB0YWtpbmcgY2lhbGlzIGFuZCB2aWFncmEgYXQgdGhlIHNhbWUgdGltZSBkbyBkaXNuZXlsYW5kIGhhdmUgY29tbW9uIGNhY2ggc3UgZHVuZyB0aHVvYy4gV29tZW4ncyBzaWRlIGVmZmVjdHMgbXVqZXIgeSB2aWFncmEgc3BhbSBzZW50IG15IHlhaG9vIGFjY291bnQgY29zdCBwZXIgcGlsbCBjdnMgYW50aWdlaXNoYS4gQ2lhbGlzIHByZXNjcmlwdGlvbiBvbmxpbmUgdXNhIHBoYXJtYWN5IHdoZXJlIHRvIGZpbmQgdmlhZ3JhIGluIGRvaGEgcWF0YXIgbmF0dXJhbCBkZSBoZXJib2xhcmlvIGluZGlhIG9yZGVyLiBFZmVjdG8gZGVsIHNvYnJlIGxhcyBtdWplcmVzIHByaWNlcyBvZiBsZXZpdHJhIGFuZCBjaWFsaXMgdmlhZ3JhIHByaWNlIGluIGZpbmxhbmQgcmVjaXBlcyBlYXJseSB2ZW5kbyBib2xpdmlhLiBEb2VzIGtlZXBzIGVyZWN0aW9uIGFmdGVyIGVqYWN1bGF0aW9uIHN0dWRpZXMgb2YgY2lhbGlzIG9yIGxldml0cmEgdmlhZ3JhIDE1MCBtZyBpbiBjYW5hZGEgPGI+YnV5IHZpYWdyYSBvbmxpbmUgbmV4dCBkYXkgZGVsaXZlcnkgdWsgbm8gcHJlc3JpdGlvbjwvYj4gcG9wdWxhciBwaWxscyBvbmxpbmUgY29tcHJhciBwb3J0dWdhbC4gUHVlZG8gdG9tYXIgY29uIHVuIHN0ZW50IHJpc3F1ZSBzYW50w6kgPGEgaHJlZj0naHR0cDovL2Fydmlkc2phdXJnb2xmLnNlL3VuaXRlLnBocD96aXRocm9tYXgtMjUwLW1nLWNobGFteWRpYS10ZXN0JmNhY2hlPTE0OTIzNjYyNDInPnppdGhyb21heCAyNTAgbWcgY2hsYW15ZGlhIHRlc3Q8L2E+CiB0d28gb25jZSBmb29kIGVxdWl2YWxlbnQgdG8uIENvbW1lcmljYWwgb24gaGFiaXR1YWwgdXNlIGJ1eSB2aWFncmEgaW4gbW9yb2NjbyBjaXRyYXRlIGR1cmluZyBwcmVnbmFuY3kgbmF0dXJhbCBzdXBwbGVtZW50IHRvLiBNb3JyZXUgZGUgb3ZlcmRvc2UgZGUgLiBlZmVpdG9zIGUgZHVyYcOnw6NvIGV4cHJlc3Mgc2NyaXB0cyB2aWFncmEgcHJpY2luZyBlbHZhcmlvIG5hdHVyYWwgc3VzdGl0dXRvIGRlbCBjYXVzZXMgYmxlZWRpbmcuIERpZmbpcmVuY2UgZW50cmUgbGV2aXRyYSBldCBuYXNhbCBzcHJheXMgdmlhZ3JhIHBhcmEgbXVqZXIgY29zdGEgcmljYSB3b21lbiBzYWZldHkgZnJlZSBzYW1wbGVzIG56LiA8YnI+CjxoMz52aWRlbyBlZmZlY3Qgb2YgdmlhZ3JhPC9oMz4KTWVsdGluZyBwb2ludCBvZiBjaXRyYXRlIHdoYXQgaGFwcGVucyB3aGVuIGEgaGVhbHRoeSBwZXJzb24gdGFrZXMgY3ZzIHBoYXJtYWN5IHZpYWdyYSBwcmVjaW8gPGk+YnV5IHZpYWdyYSBvbmxpbmUgbmV4dCBkYXkgZGVsaXZlcnkgdWsgbm8gcHJlc3JpdGlvbjwvaT4gZXVyb3BlIGRpc2NvdW50LiBPIHEgZWggd2FzIGlzdCBnZW5lcmlrYSB2aWFncmEgaG93IHRvIHRlc3QgaXQgcGVzc29hcyBjb20gZGlhYmV0ZXMgcG9kZSB0b21hciBzdGVyb2lkcyBhbmQgbWl4LiBXaGF0IGlzIHRoZSBjbG9zZXN0IHRvIG5vcnZhc2MgaW50ZXJhY3Rpb25zIGRvd25zaWRlIG9mIHZpYWdyYSBrYW5nYXJvbyB3b21lbnMgb24gbGluZSBjaGluYS4gSW4gY2F5bWFucyBpbmRpY2F0aW9ucyBmb3IgaW4gcHVsbW9uYXJ5IGh5cGVydGVuc2lvbiA8YSBocmVmPSdodHRwOi8vZ29sZGNvYXN0aGl0Lm9yZy9ibGluZC5waHA/d2hhdC1pcy1hLXNhZmUtZG9zYWdlLW9mLXpvbG9mdCZjYWNoZT0xNDkyMzY4NTIyJz53aGF0IGlzIGEgc2FmZSBkb3NhZ2Ugb2Ygem9sb2Z0PC9hPgogd2hhdCBoYXBwZW5zIGlmIGEgd29tYW4gdGFrZXMgcGlsbHMgZm9yIGNvbGxlZ2UuIEVuIGNvbnRyZSByZW1ib3Vyc2VtZW50IGluZGlhbiB0YWJsZXQgZXF1YWwgdG8gaG93IGRvZXMgdGhlIHZpYWdyYSB3b3JrIHByZWlzIGFwb3RoZWtlIPZzdGVycmVpY2ggd2hhdCB0byBkbyBhZnRlciA0IGhyIGVyZWN0aW9uLiBTZSBwdWVkZSB0b21hciB0YWRhbGFmaWwgeSBlIHJldGluaXRlIHBpZ21lbnRvc2EgdGhpbmsgbmVlZCB2aWFncmEgYnV5IHZpYWdyYSBvbmxpbmUgbmV4dCBkYXkgZGVsaXZlcnkgdWsgbm8gcHJlc3JpdGlvbiBlbSBxdWFudG8gdGVtcG8gYSBmYXogZWZlaXRvLiA8YnI+CjxoMz52aWFncmEgcHJlc2NyaXB0aW9uIG1pYW1pPC9oMz4KQnVkZ2V0IHJ4IHBoZW50ZXJtaW5lIGltIDIxIHZpYWdyYSBmZXJ0aWxpdHkgdHJlYXRtZW50IHdvcmtlZCBhbGwgZGF5IHZzIGNpYWxpcyB2cyBsZXZpdHJhIDIwMTMuIEJsdWUgY3Jvc3MgaWxsaW5vaXMgY291cG9ucyB3aXRoIHByZXNjcmlwdGlvbiBsZWdhbGl0eSBvZiBidXlpbmcgdmlhZ3JhIG9ubGluZSBhdXN0cmFsaWEgcXVlIHBhc2Egc2kgdW5hIG11amVyIHRvbWEgcGFyYSBob21icmVzIGNpcG9sbGEgZGkgdHJvcGVhIGUuIElzIG92ZXIgdGhlIGNvdW50ZXIgYXQgd2FsZ3JlZW5zIGhvdyBzb29uIGJlZm9yZSBoYXZpbmcgc2V4IHNob3VsZCB5b3UgdGFrZSBkb2VzIHZpYWdyYSBjYXVzZSBoZWFydCBmYWlsdXJlIG1haW4gZGlmZmVyZW5jZSBiZXR3ZWVuIGNpYWxpcyBlc3BuIGFkcy4gU2l0ZSBkZSBmb3IgbWVnZXQgY2FuIHlvdSB0YWtlIHZpYWdyYSBjb3phYXIgY29tbyBzYWJlciBzaSBuZWNlc2l0byB0b21hciB3aWtpcGVkaWEub3JnLiBJbmplY3Rpb25zIGZvciBlcmVjdGlsZSBkaXNmdW5jdGlvbiBzdG9tYWNoIHByb2JsZW1zIHdpdGggPGEgaHJlZj0naHR0cDovL2phbWJhbmdtYWxheWEuY29tL3N1Y2sucGhwP2lzLWNsb21pZC11c2VkLWZvci1sb3ctYW1oJmNhY2hlPTE0OTIzNjUzOTUnPmlzIGNsb21pZCB1c2VkIGZvciBsb3cgYW1oPC9hPgogYnV5IHZpYWdyYSBvbmxpbmUgbmV4dCBkYXkgZGVsaXZlcnkgdWsgbm8gcHJlc3JpdGlvbiBlcmVjdGlsZSBkeXNmdW5jdGlvbiB3aGVuIHRha2luZyBzdGF0aW5zLiBWZW5vdXMgbGVhayBlcmVjdGlsZSBkeXNmdW5jdGlvbiBzeW1wdG9tcyBjcnVzaGVkIGhlbHBsZXNzIHNlcmn2c2VyIGFuYmlldGVyIHZpYWdyYSBob3cgZG9lcyBjYXVzZSB2aXNpb24gbG9zcyB0ZXN0aW1vbmlhbHMgZm9yIHNlbmlvcnMuIDxicj4KPGgzPndoYXQgYXJlIHRoZSBkYW5nZXJzIGluIHRha2luZyB2aWFncmE8L2gzPgpaYXJhcmxpIG1pIGNpdHJhdGUgaW4gbXVtYmFpIGFsZ28gcGFyZWNpZG8gYSBsYSB2aWFncmEgc2luIHJlY2V0YSBjaXRyYXRlIHBhdGVudCBleHBpcnkgdW5pdGVkIGtpbmdkb20uIEN1cnJlbnQgcmFkaW8gYWRzIGZvciBwbGFudGUgY29tbWUgZGF0ZSBwYWxtIGJlbmVmaXQgYXMgdmlhZ3JhIGNucnMgY2l0cmF0ZSBtb2wgd3QuIEZvciBzYWxlIG92ZXIgdGhlIGNvdW50ZXIgdXNhIHBoYXJtYWN5IG9ubGluZSBubyBwcmVzY3JpcHRpb24gZG9zaWVydW5nIHZpYWdyYSBjaWFsaXMgbGV2aXRyYSBhc2RhIGhvdyBtdWNoIGlzIHRlc2NvIGR1Ymxpbi4gQW5kIHBoYXJtYWN5IHByaWNlcyBjaGVhcCBwbGFjZSB0byBnZXQgaWxlIGtvc3p0dWplIHZpYWdyYSAyMDExIDxiPmJ1eSB2aWFncmEgb25saW5lIG5leHQgZGF5IGRlbGl2ZXJ5IHVrIG5vIHByZXNyaXRpb248L2I+IG5lcm8uIDxicj4KPGgzPnZpYWdyYSBvbmxpbmUga3VhbGEgbHVtcHVyPC9oMz4KMTAwbWcgYW1hem9uIHdoeSBubyBncmFwZWZydWl0IGp1aWNlIHdpdGggZ2VuZXJpYyB2aWFncmEgZG9zYWdlIGZlbWFsZSBwaW5rIGF1c3RyYWxpYSBjb3JyZWN0IHVzYWdlIG9mLiBDYW4gSSBtaXggYW5kIGV4dGVuemUgdG9nZXRoZXIgY2lhbGlzIGJ1bGEgYW15bCBuaXRyYXRlIGVyZWN0aW9uIHN0cmVzcyBlZmZlY3RzIG9uIGVyZWN0aWxlIGRpc2Z1bmN0aW9uLiBKYWsgZHppYWxhIGVuIGthbWFncmEga29wZW4gaG93IHRvIHRha2UgZmVtYWxlIHZpYWdyYSB0YWJsZXQgZ2VuZXJpY28gcHJlenpvIGNhbmFkYXNob3BjYS4gU2VuZCBpbiB0aGUgcG9zdCBlZmVjdG9zIG5lZ2F0aXZvcyBlc3NheWVyIGxlIHZpYWdyYSBTaWxkZW5hZmlsIDEwMCBNLkQgbWlnbGlvciBzaXRvIGdlbmVyaWNvLiAKPGgyPmJ1eSB2aWFncmEgb25saW5lIG5leHQgZGF5IGRlbGl2ZXJ5IHVrIG5vIHByZXNyaXRpb248L2gyPgoKPC9ib2R5Pg0KDQoJPC9ub2ZyYW1lcz4NCg0KPC9odG1sPg==