PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPjMuNi6gVXNpbmcgU291cmNlcnkgRysrIExpdGUgb24gR05VL0xpbnV4IFRhcmdldHM8L3RpdGxlPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3MuY3NzIiB0eXBlPSJ0ZXh0L2NzcyI+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43NC4wIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJTb3VyY2VyeSBHKysgTGl0ZSI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iY2hhcC10YXJnZXQuaHRtbCIgdGl0bGU9IkNoYXB0ZXKgMy6gU291cmNlcnkgRysrIExpdGUgZm9yIEFSTSBHTlUvTGludXgiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0ic2VjLWR5bmFtaWMtbG9hZGVyLXZlcnNpb24uaHRtbCIgdGl0bGU9IjMuNS6gVGFyZ2V0IER5bmFtaWMgTG9hZGVyIFJlcXVpcmVtZW50cyI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJsaW51eC1nZGJzZXJ2ZXIuaHRtbCIgdGl0bGU9IjMuNy6gVXNpbmcgR0RCIFNlcnZlciBmb3IgRGVidWdnaW5nIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj4zLjYuoFVzaW5nIFNvdXJjZXJ5IEcrKyBMaXRlIG9uIEdOVS9MaW51eCBUYXJnZXRzPC90aD48L3RyPjx0cj48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ic2VjLWR5bmFtaWMtbG9hZGVyLXZlcnNpb24uaHRtbCI+UHJldjwvYT6gPC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+Q2hhcHRlcqAzLqBTb3VyY2VyeSBHKysgTGl0ZSBmb3IgQVJNIEdOVS9MaW51eDwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGludXgtZ2Ric2VydmVyLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIGxhbmc9ImVuIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImluY2x1ZGVkLWxpYnJhcmllcyI+PC9hPjMuNi6gVXNpbmcgU291cmNlcnkgRysrIExpdGUgb24gR05VL0xpbnV4IFRhcmdldHM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgpJbiBvcmRlciB0byBydW4gYW5kIGRlYnVnIHByb2dyYW1zIHByb2R1Y2VkIGJ5IFNvdXJjZXJ5IEcrKyBvbiBhIEdOVS9MaW51eAp0YXJnZXQsIHlvdSBtdXN0IGluc3RhbGwgcnVudGltZSBzdXBwb3J0IGZpbGVzIG9uIHRoZSB0YXJnZXQuICBZb3UgbWF5IGFsc28KbmVlZCB0byBzZXQgYXBwcm9wcmlhdGUgYnVpbGQgb3B0aW9ucyBzbyB0aGF0IHlvdXIgZXhlY3V0YWJsZXMgY2FuIGZpbmQKdGhlIGNvcnJlY3QgZHluYW1pYyBsaW5rZXIgYW5kIGxpYnJhcmllcyBhdCBydW50aW1lLgoKPC9wPjxwPgpUaGUgcnVudGltZSBzdXBwb3J0IGZpbGVzLCByZWZlcnJlZCB0byBhcyB0aGUgPGVtIGNsYXNzPSJmaXJzdHRlcm0iPnN5c3Jvb3Q8L2VtPiwKYXJlIGZvdW5kIGluIHRoZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmFybS1ub25lLWxpbnV4LWdudWVhYmkvbGliYzwvY29kZT4gZGlyZWN0b3J5IG9mIHlvdXIKU291cmNlcnkgRysrIExpdGUgaW5zdGFsbGF0aW9uLiAgVGhlIHN5c3Jvb3QgY29uc2lzdHMgb2YgdGhlIGNvbnRlbnRzIG9mIHRoZSAKPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5ldGM8L2NvZGU+LCA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmxpYjwvY29kZT4sIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+c2JpbjwvY29kZT4sIAphbmQgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj51c3I8L2NvZGU+IGRpcmVjdG9yaWVzLgo8c3Bhbj4KICBUaGVyZSBtYXkgYmUgb3RoZXIgZGlyZWN0b3JpZXMgaW4gPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5hcm0tbm9uZS1saW51eC1nbnVlYWJpL2xpYmM8L2NvZGU+CiAgdGhhdCBjb250YWluIGFkZGl0aW9uYWwgc3lzcm9vdHMgY3VzdG9taXplZCBmb3IgcGFydGljdWxhciBjb21iaW5hdGlvbnMgb2YgCiAgY29tbWFuZC1saW5lIGNvbXBpbGVyIGZsYWdzLCBvciA8ZW0gY2xhc3M9ImZpcnN0dGVybSI+bXVsdGlsaWJzPC9lbT4uCiAgUmVmZXIgdG8gPGEgY2xhc3M9InhyZWYiIGhyZWY9InNlYy1tdWx0aWxpYnMuaHRtbCIgdGl0bGU9IjMuMi6gTGlicmFyeSBDb25maWd1cmF0aW9ucyI+U2VjdGlvbqAzLjIsICYjODIyMDtMaWJyYXJ5IENvbmZpZ3VyYXRpb25zJiM4MjIxOzwvYT4gZm9yIGEgbGlzdCBvZiB0aGUgaW5jbHVkZWQgbXVsdGlsaWJzCiAgaW4gdGhpcyB2ZXJzaW9uIG9mIFNvdXJjZXJ5IEcrKyBMaXRlLCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgc3lzcm9vdCBkaXJlY3RvcnkKICBwYXRobmFtZXMuCjwvc3Bhbj4KPC9wPjxkaXYgY2xhc3M9Im5vdGUiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IG1hcmdpbi1yaWdodDogMC41aW47Ij48aDMgY2xhc3M9InRpdGxlIj5Ob3RlIGZvciBXaW5kb3dzIEhvc3QgVXNlcnM8L2gzPjxwPgogICBUaGUKICAgCiAgIHN5c3Jvb3RzIHByb3ZpZGVkIGluIFdpbmRvd3MgaG9zdCBwYWNrYWdlcyBmb3IgU291cmNlcnkgRysrIGFyZSBub3QgCiAgIGRpcmVjdGx5IHVzYWJsZSBvbiB0aGUgR05VL0xpbnV4IHRhcmdldAogICBiZWNhdXNlIG9mIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlCiAgIFdpbmRvd3MgYW5kIEdOVS9MaW51eCBmaWxlIHN5c3RlbXMuCiAgIFNvbWUgZmlsZXMgdGhhdCBhcmUgaGFyZCBsaW5rcywgb3IgY29waWVzLCBpbiB0aGUgc3lzcm9vdCAKICAgYXMgaW5zdGFsbGVkIG9uIHRoZSBXaW5kb3dzIGZpbGUgc3lzdGVtIHNob3VsZCBiZSBzeW1ib2xpYyBsaW5rcyAKICAgb24gdGhlIEdOVS9MaW51eCB0YXJnZXQuICAKICAgQWRkaXRpb25hbGx5LCBzb21lIGZpbGVzIGluIHRoZSBzeXNyb290IHRoYXQgc2hvdWxkIGJlIG1hcmtlZCAKICAgZXhlY3V0YWJsZSBvbiB0aGUgR05VL0xpbnV4IHRhcmdldAogICBhcmUgbm90IG1hcmtlZCBleGVjdXRhYmxlIG9uIFdpbmRvd3MuCiAgIElmIHlvdSBpbnRlbmQgdG8gdXNlIHRoZQogICAKICAgc3lzcm9vdCBwcm92aWRlZCB3aXRoIFNvdXJjZXJ5IEcrKyBvbiBhIAogICBXaW5kb3dzIGhvc3Qgc3lzdGVtIGFzIHRoZSBiYXNpcyBmb3IgeW91ciBHTlUvTGludXggdGFyZ2V0CiAgIGZpbGVzeXN0ZW0sIAogICB5b3UgbXVzdCBjb3JyZWN0IHRoZXNlIGlzc3VlcyBhZnRlciBjb3B5aW5nIHRoZSBzeXNyb290IHRvIHRoZSB0YXJnZXQuCiAgIAogICAKIDwvcD48L2Rpdj48cD4KICBZb3UgaGF2ZSB0aGVzZSBjaG9pY2VzIGZvciBpbnN0YWxsaW5nIHRoZSBzeXNyb290IG9uIHRoZSB0YXJnZXQ6CjwvcD48ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCB0eXBlPSJkaXNjIj48bGk+PHA+CiAgICBZb3UgY2FuIGluc3RhbGwgdGhlIGZpbGVzIGluIHRoZSBmaWxlc3lzdGVtIHJvb3Qgb24gdGhlIHRhcmdldAogICAgKHRoYXQgaXMsIGluc3RhbGxpbmcgdGhlIGZpbGVzIGRpcmVjdGx5IGluIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+L2V0Yy88L2NvZGU+LAogICAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj4vbGliLzwvY29kZT4sIGFuZCBzbyBvbikuICBBbGwgYXBwbGljYXRpb25zIG9uIHRoZQogICAgdGFyZ2V0IHRoZW4gYXV0b21hdGljYWxseSB1c2UgdGhlIFNvdXJjZXJ5IEcrKyBsaWJyYXJpZXMuCiAgICBUaGlzIG1ldGhvZCBpcyBwcmltYXJpbHkgdXNlZnVsIHdoZW4geW91IGFyZQogICAgYnVpbGRpbmcgYSBHTlUvTGludXggcm9vdCBmaWxlc3lzdGVtIGZyb20gc2NyYXRjaC4KICAgIElmIHlvdXIgdGFyZ2V0IGJvYXJkIGFscmVhZHkgaGFzIGEgR05VL0xpbnV4IGZpbGVzeXN0ZW0gaW5zdGFsbGVkLAogICAgb3ZlcndyaXRpbmcgdGhlIGV4aXN0aW5nIEMgbGlicmFyeSBmaWxlcyBpcyBub3QgcmVjb21tZW5kZWQsIGFzIHRoaXMKICAgIG1heSBicmVhayBvdGhlciBhcHBsaWNhdGlvbnMgb24geW91ciBzeXN0ZW0sIG9yIGNhdXNlIGl0IHRvIGZhaWwgdG8gYm9vdC4KICA8L3A+PC9saT48bGk+PHA+CiAgICBZb3UgY2FuIGluc3RhbGwgdGhlIHN5c3Jvb3QgaW4gYW4gYWx0ZXJuYXRlIGxvY2F0aW9uIGFuZCBidWlsZCB5b3VyCiAgICBhcHBsaWNhdGlvbiB3aXRoIHRoZSA8Y29kZSBjbGFzcz0ib3B0aW9uIj4tcnBhdGg8L2NvZGU+IGFuZCAKICAgIDxjb2RlIGNsYXNzPSJvcHRpb24iPi0tZHluYW1pYy1saW5rZXI8L2NvZGU+IGxpbmtlciBvcHRpb25zIHRvIHNwZWNpZnkgdGhlIHN5c3Jvb3QKICAgIGxvY2F0aW9uLgogIDwvcD48L2xpPjxsaT48cD4KICAgIFlvdSBjYW4gaW5zdGFsbCB0aGUgc3lzcm9vdCBpbiBhbiBhbHRlcm5hdGUgbG9jYXRpb24gYW5kIGV4cGxpY2l0bHkKICAgIGludm9rZSB5b3VyIGFwcGxpY2F0aW9uIHRocm91Z2ggdGhlIGR5bmFtaWMgbGlua2VyIHRvIHNwZWNpZnkgdGhlCiAgICBzeXNyb290IGxvY2F0aW9uLgogICAgSWYgeW91IGFyZSBqdXN0IGdldHRpbmcgc3RhcnRlZCB3aXRoIFNvdXJjZXJ5IEcrKyBMaXRlLCB0aGlzIG1heSBiZSB0aGUgZWFzaWVzdAogICAgd2F5IHRvIGdldCB5b3VyIGFwcGxpY2F0aW9uIHJ1bm5pbmcsIGJ1dCB0aGlzIG1ldGhvZCBkb2VzIG5vdCBzdXBwb3J0IHVzZQogICAgb2YgdGhlIGRlYnVnZ2VyLgogICAgCiAgPC9wPjwvbGk+PC91bD48L2Rpdj48cD4KU2V0dGluZyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgPGNvZGUgY2xhc3M9ImVudmFyIj5MRF9MSUJSQVJZX1BBVEg8L2NvZGU+IApvbiB0aGUgdGFyZ2V0IGlzIG5vdCBzdWZmaWNpZW50LCBzaW5jZSBleGVjdXRhYmxlcyBwcm9kdWNlZCBieSBTb3VyY2VyeSBHKysKZGVwZW5kIG9uIHRoZSBTb3VyY2VyeSBHKysgZHluYW1pYyBsaW5rZXIgaW5jbHVkZWQgaW4gdGhlIHN5c3Jvb3QgYXMgd2VsbCAKYXMgdGhlIFNvdXJjZXJ5IEcrKyBydW50aW1lIGxpYnJhcmllcy4KPC9wPjxkaXYgY2xhc3M9InNlY3Rpb24iIGxhbmc9ImVuIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJzZWMtaW5zdGFsbGluZy1zeXNyb290Ij48L2E+My42LjEuoEluc3RhbGxpbmcgdGhlIFN5c3Jvb3Q8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgpJZiB5b3UgYXJlIG1vZGlmeWluZyBhbiBleGlzdGluZyBzeXN0ZW0sIHJhdGhlciB0aGFuIGNyZWF0aW5nIGEgbmV3CnN5c3RlbSBmcm9tIHNjcmF0Y2gsIHlvdSBzaG91bGQgcGxhY2UgdGhlIHN5c3Jvb3QgZmlsZXMgaW4gYSBuZXcgZGlyZWN0b3J5LApyYXRoZXIgdGhhbiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgeW91ciB0YXJnZXQgc3lzdGVtLgo8L3A+PHA+CklmIHlvdSBjaG9vc2UgdG8gb3ZlcndyaXRlIHlvdXIgZXhpc3RpbmcgQyBsaWJyYXJ5LCB5b3UgbWF5IG5vdCBiZQphYmxlIHRvIGJvb3QgeW91ciBzeXN0ZW0uICBZb3Ugc2hvdWxkIGJhY2sgdXAgeW91ciBleGlzdGluZyBzeXN0ZW0KYmVmb3JlIG92ZXJ3cml0aW5nIHRoZSBDIGxpYnJhcnkgYW5kIGVuc3VyZSB0aGF0IHlvdSBjYW4gcmVzdG9yZSB0aGUKYmFja3VwIGV2ZW4gd2l0aCB5b3VyIHN5c3RlbSBvZmZsaW5lLiAKPC9wPjxwPgpUaGUgbmV4dCBzdGVwIGlzIHRvIGlkZW50aWZ5IHRoZSBjb3JyZWN0IHN5c3Jvb3Qgc3ViZGlyZWN0b3J5IAppbiB0aGUgU291cmNlcnkgRysrIExpdGUgaW5zdGFsbCBkaXJlY3Rvcnkgb24geW91ciBob3N0IHN5c3RlbS4KVGhlIHN5c3Jvb3QgeW91IGNvcHkgdG8gdGhlIHRhcmdldCBtdXN0IGJlIHRoZSBvbmUgdGhhdCBjb3JyZXNwb25kcwp0byB0aGUgbGlua2VyIG9wdGlvbnMgeW91IGFyZSB1c2luZyB0byBidWlsZCB5b3VyIGFwcGxpY2F0aW9ucy4gIApUaGUgdGFibGVzIGluIDxhIGNsYXNzPSJ4cmVmIiBocmVmPSJzZWMtbXVsdGlsaWJzLmh0bWwiIHRpdGxlPSIzLjIuoExpYnJhcnkgQ29uZmlndXJhdGlvbnMiPlNlY3Rpb26gMy4yLCAmIzgyMjA7TGlicmFyeSBDb25maWd1cmF0aW9ucyYjODIyMTs8L2E+CnRlbGwgeW91IHdoaWNoIHN5c3Jvb3Qgc3ViZGlyZWN0b3JpZXMgY29ycmVzcG9uZCB0byB3aGljaCBzZXRzIG9mCmNvbW1hbmQtbGluZSBvcHRpb25zLgoKRnJvbSB0aGUgY29tbWFuZCBsaW5lLCB5b3UgY2FuIGlkZW50aWZ5IHRoZSBhcHByb3ByaWF0ZQpzeXNyb290IGZvciB5b3VyIHByb2dyYW0gYnkgaW52b2tpbmcgdGhlIGNvbXBpbGVyIHdpdGgKPGNvZGUgY2xhc3M9Im9wdGlvbiI+LXByaW50LXN5c3Jvb3Q8L2NvZGU+IGFkZGVkIHRvIHlvdXIgb3RoZXIgYnVpbGQgb3B0aW9ucy4KVGhpcyBjYXVzZXMgR0NDIHRvIHByaW50IHRoZSBob3N0IHN5c3Jvb3QgcGF0aG5hbWUgYW5kIGV4aXQuCjwvcD48cD4KVGhlIG1lY2hhbmlzbSB5b3UgdXNlIGZvciBjb3B5aW5nIHRoZSBzeXNyb290IHRvIHlvdXIgdGFyZ2V0IGJvYXJkIGRlcGVuZHMKb24gaXRzIGhhcmR3YXJlIGFuZCBzb2Z0d2FyZSBjb25maWd1cmF0aW9uLiAgCllvdSBtYXkgYmUgYWJsZSB0byB1c2UgRlRQIG9yIFNTSCB3aXRoIGEgc2VydmVyCmFscmVhZHkgcnVubmluZyBvbiB5b3VyIHRhcmdldC4gIAoKSWYgeW91ciB0YXJnZXQgYm9hcmQgZG9lcyBub3QgaGF2ZSBuZXR3b3JraW5nIGNvbmZpZ3VyZWQsIHlvdSBtYXkgYmUKYWJsZSB0byBjb3B5IGZpbGVzIHVzaW5nIGFuIFNEIGNhcmQgb3IgVVNCIG1lbW9yeSBzdGljaywgb3IgdmlhIGEKZmlsZSB0cmFuc2ZlciB1dGlsaXR5IG92ZXIgYSBzZXJpYWwgbGluZS4gIFRoZSBpbnN0cnVjdGlvbnMgdGhhdCBjb21lCndpdGggeW91ciBib2FyZCBtYXkgaW5jbHVkZSBzcGVjaWZpYyBzdWdnZXN0aW9ucy4KPC9wPjxwPgpXaGVuIHJ1bm5pbmcgU291cmNlcnkgRysrIG9uIGEgR05VL0xpbnV4IGhvc3QsIGFzIGFuIGFsdGVybmF0aXZlIHRvCmNvcHlpbmcgZmlsZXMgdG8gdGhlIHRhcmdldCBzeXN0ZW0sIHlvdSBtYXkgYmUgYWJsZSB0byBORlMtbW91bnQgdGhlClNvdXJjZXJ5IEcrKyBMaXRlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgZnJvbSB5b3VyIGhvc3Qgc3lzdGVtIG9uIHRoZSB0YXJnZXQKc3lzdGVtLiAgSXQgaXMgZXNwZWNpYWxseSBjb252ZW5pZW50IGZvciBkZWJ1Z2dpbmcgaWYgeW91IGNhbiBtYWtlIHRoZQpzeXNyb290IHBhdGhuYW1lIG9uIHRoZSB0YXJnZXQgc3lzdGVtIGJlIGlkZW50aWNhbCB0byB0aGF0IG9uIHRoZQpHTlUvTGludXggaG9zdCBzeXN0ZW07IHJlZmVyIHRvIDxhIGNsYXNzPSJ4cmVmIiBocmVmPSJsaW51eC1nZGJzZXJ2ZXIuaHRtbCNzZWMtZ2RiLXN5c3Jvb3QiIHRpdGxlPSIzLjcuMy6gU2V0dGluZyB0aGUgU3lzcm9vdCBpbiB0aGUgRGVidWdnZXIiPlNlY3Rpb26gMy43LjMsICYjODIyMDtTZXR0aW5nIHRoZSBTeXNyb290IGluIHRoZSBEZWJ1Z2dlciYjODIyMTs8L2E+CmZvciBmdXJ0aGVyIGRpc2N1c3Npb24gb2YgdGhpcyBpc3N1ZS4KPC9wPjxwPgpPdGhlcndpc2UsIHlvdSBtdXN0IGNvcHkgZmlsZXMgZnJvbSB0aGUgCjxzcGFuPgogIGFwcHJvcHJpYXRlCiAgIAogICBzeXNyb290IHN1YmRpcmVjdG9yeSBpbiB0aGUKPC9zcGFuPgo8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmFybS1ub25lLWxpbnV4LWdudWVhYmkvbGliYzwvY29kZT4gZGlyZWN0b3J5IG9mCnlvdXIgU291cmNlcnkgRysrIExpdGUgaW5zdGFsbCB0byB0aGUgdGFyZ2V0IHN5c3RlbS4KSW4gbWFueSBjYXNlcywgeW91IGRvIG5vdCBuZWVkIHRvIGNvcHkgYWxsIG9mIHRoZSBmaWxlcyBpbiB0aGUgc3lzcm9vdC4KRm9yIGV4YW1wbGUsIHRoZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPnVzci9pbmNsdWRlPC9jb2RlPiBzdWJkaXJlY3RvcnkgY29udGFpbnMgCmZpbGVzIHRoYXQgYXJlIG9ubHkgbmVlZGVkIGlmIHlvdSB3aWxsIGFjdHVhbGx5IGJlIHJ1bm5pbmcgdGhlIGNvbXBpbGVyIApvbiB5b3VyIHRhcmdldCBzeXN0ZW0uICBZb3UgZG8gbm90IG5lZWQgdGhlc2UgZmlsZXMgZm9yIG5vbi1uYXRpdmUgY29tcGlsZXJzLgpZb3UgYWxzbyBkbyBub3QgbmVlZCBhbnkgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj4ubzwvY29kZT4gb3IgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj4uYTwvY29kZT4KZmlsZXM7IHRoZXNlIGFyZSB1c2VkIGJ5IHRoZSBjb21waWxlciB3aGVuIGxpbmtpbmcgcHJvZ3JhbXMsIGJ1dCBhcmUgbm90IApuZWVkZWQgdG8gcnVuIHByb2dyYW1zLiAgWW91IHNob3VsZCBkZWZpbml0ZWx5IGNvcHkgYWxsIAo8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPi5zbzwvY29kZT4gZmlsZXMgYW5kIHRoZSBleGVjdXRhYmxlIGZpbGVzIGluCjxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+dXNyL2JpbjwvY29kZT4gYW5kIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+c2JpbjwvY29kZT4uCjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0ic2VjLWxpbmtlci1zeXNyb290Ij48L2E+My42LjIuoFVzaW5nIExpbmtlciBPcHRpb25zIHRvIFNwZWNpZnkgdGhlIFN5c3Jvb3QgTG9jYXRpb248L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgpJZiB5b3UgaGF2ZSBpbnN0YWxsZWQgdGhlIHN5c3Jvb3Qgb24gdGhlIHRhcmdldCBpbiBhIGxvY2F0aW9uIG90aGVyIHRoYW4KdGhlIGZpbGUgc3lzdGVtIHJvb3QsIHlvdSBjYW4gdXNlIHRoZSA8Y29kZSBjbGFzcz0ib3B0aW9uIj4tcnBhdGg8L2NvZGU+IGFuZAo8Y29kZSBjbGFzcz0ib3B0aW9uIj4tLWR5bmFtaWMtbGlua2VyPC9jb2RlPiBsaW5rZXIgb3B0aW9ucyB0byBzcGVjaWZ5IHRoZSBzeXNyb290CmxvY2F0aW9uLgo8L3A+PHA+CklmIHlvdSBhcmUgdXNpbmcgU291cmNlcnkgRysrIGZyb20gdGhlIGNvbW1hbmQgbGluZSwgZm9sbG93IHRoZXNlIHN0ZXBzOgo8L3A+PGRpdiBjbGFzcz0ib3JkZXJlZGxpc3QiPjxvbCB0eXBlPSIxIj48bGk+PHA+CiAgRmlyc3QgZmluZCB0aGUgY29ycmVjdCBzeXNyb290IGRpcmVjdG9yeSwgZHluYW1pYyBsaW5rZXIsIGFuZCBsaWJyYXJ5CiAgc3ViZGlyZWN0b3J5IGZvciB5b3VyCiAgc2VsZWN0ZWQgbXVsdGlsaWIuICBSZWZlciB0byA8YSBjbGFzcz0ieHJlZiIgaHJlZj0ic2VjLW11bHRpbGlicy5odG1sIiB0aXRsZT0iMy4yLqBMaWJyYXJ5IENvbmZpZ3VyYXRpb25zIj5TZWN0aW9uoDMuMiwgJiM4MjIwO0xpYnJhcnkgQ29uZmlndXJhdGlvbnMmIzgyMjE7PC9hPi4KICBJbiB0aGUgZm9sbG93aW5nIHN0ZXBzLAogIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnN5c3Jvb3Q8L2NvZGU+PC9lbT4gaXMgdGhlIGFic29sdXRlIHBhdGggdG8gdGhlCiAgc3lzcm9vdCBkaXJlY3Rvcnkgb24gdGhlIHRhcmdldCBjb3JyZXNwb25kaW5nIHRvIHlvdXIgc2VsZWN0ZWQgbXVsdGlsaWIuCiAgRm9yIHRoZSBkZWZhdWx0IG11bHRpbGliLCB0aGUgZHluYW1pYyBsaW5rZXIgcGF0aCByZWxhdGl2ZSB0byB0aGUgc3lzcm9vdCBpcwogIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+bGliL2xkLWxpbnV4LnNvLjM8L2NvZGU+LCBhbmQgdGhlIGxpYnJhcnkgc3ViZGlyZWN0b3J5IGlzCiAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5saWI8L2NvZGU+LgogIFRoaXMgaXMgdXNlZCBpbiB0aGUgZXhhbXBsZSBiZWxvdy4KICA8L3A+PC9saT48bGk+PHA+CiAgV2hlbiBpbnZva2luZyA8Y29kZSBjbGFzcz0iY29tbWFuZCI+YXJtLW5vbmUtbGludXgtZ251ZWFiaS1nY2M8L2NvZGU+IHRvIGxpbmsgeW91ciBleGVjdXRhYmxlLAogIGluY2x1ZGUgdGhlIGNvbW1hbmQtbGluZSBvcHRpb25zOgoKICA8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4tV2wsLXJwYXRoPTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnN5c3Jvb3Q8L2NvZGU+PC9lbT4vbGliOjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnN5c3Jvb3Q8L2NvZGU+PC9lbT4vdXNyL2xpYiBcCi1XbCwtLWR5bmFtaWMtbGlua2VyPTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnN5c3Jvb3Q8L2NvZGU+PC9lbT4vbGliL2xkLWxpbnV4LnNvLjM8L3ByZT48cD4KCiAgd2hlcmUgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+c3lzcm9vdDwvY29kZT48L2VtPiBpcyB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUKICBzeXNyb290IGRpcmVjdG9yeSBvbiB0aGUgdGFyZ2V0IGNvcnJlc3BvbmRpbmcgdG8geW91ciBzZWxlY3RlZCBtdWx0aWxpYi4KICA8L3A+PC9saT48bGk+PHA+CiAgQ29weSB0aGUgZXhlY3V0YWJsZSB0byB0aGUgdGFyZ2V0IGFuZCBleGVjdXRlIGl0IG5vcm1hbGx5LgogIDwvcD48L2xpPjwvb2w+PC9kaXY+PHA+Ck5vdGUgdGhhdCBpZiB5b3Ugc3BlY2lmeSBhbiBpbmNvcnJlY3QgcGF0aCBmb3IgCjxjb2RlIGNsYXNzPSJvcHRpb24iPi0tZHluYW1pYy1saW5rZXI8L2NvZGU+LCB0aGUgY29tbW9uIGZhaWx1cmUgbW9kZSBzZWVuIHdoZW4gcnVubmluZwp5b3VyIGFwcGxpY2F0aW9uIG9uIHRoZSB0YXJnZXQgaXMgc2ltaWxhciB0bwo8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4mZ3Q7IC4vZmFjdG9yaWFsCi4vZmFjdG9yaWFsOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5PC9wcmU+PHA+CgpvcgoKPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Jmd0OyAuL2ZhY3RvcmlhbAouL2ZhY3RvcmlhbDogYmFkIEVMRiBpbnRlcnByZXRlcjogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeTwvcHJlPjxwPgoKVGhpcyBjYW4gYmUgcXVpdGUgY29uZnVzaW5nIHNpbmNlIGl0IGFwcGVhcnMgZnJvbSB0aGUgZXJyb3IgbWVzc2FnZSAKYXMgaWYgaXQgaXMgdGhlICA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPi4vZmFjdG9yaWFsPC9jb2RlPiBleGVjdXRhYmxlIHRoYXQgaXMgCm1pc3NpbmcgcmF0aGVyIHRoYW4gdGhlIGR5bmFtaWMgbGlua2VyIGl0IHJlZmVyZW5jZXMuCjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0ic2VjLXJ1bnRpbWUtc3lzcm9vdCI+PC9hPjMuNi4zLqBTcGVjaWZ5aW5nIHRoZSBTeXNyb290IExvY2F0aW9uIGF0IFJ1bnRpbWU8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgpZb3UgY2FuIGludm9rZSB0aGUgU291cmNlcnkgRysrIGR5bmFtaWMgbGlua2VyIG9uIHRoZSB0YXJnZXQgdG8gcnVuIHlvdXIgCmFwcGxpY2F0aW9uIHdpdGhvdXQgaGF2aW5nIHRvIGNvbXBpbGUgaXQgd2l0aCBzcGVjaWZpYyBsaW5rZXIgb3B0aW9ucy4gIAoKPC9wPjxwPgpUbyBkbyB0aGlzLCBmb2xsb3cgdGhlc2Ugc3RlcHM6CjwvcD48ZGl2IGNsYXNzPSJvcmRlcmVkbGlzdCI+PG9sIHR5cGU9IjEiPjxsaT48cD4KICBCdWlsZCB5b3VyIGFwcGxpY2F0aW9uIG9uIHRoZSBob3N0LCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIGxpbmtlciBvcHRpb25zLAogIGFuZCBjb3B5IHRoZSBleGVjdXRhYmxlIHRvIHlvdXIgdGFyZ2V0IHN5c3RlbS4KICA8L3A+PC9saT48bGk+PHA+CiAgRmluZCB0aGUgY29ycmVjdCBzeXNyb290IGRpcmVjdG9yeSwgZHluYW1pYyBsaW5rZXIsIGFuZCBsaWJyYXJ5CiAgc3ViZGlyZWN0b3J5IGZvciB5b3VyCiAgc2VsZWN0ZWQgbXVsdGlsaWIuICBSZWZlciB0byA8YSBjbGFzcz0ieHJlZiIgaHJlZj0ic2VjLW11bHRpbGlicy5odG1sIiB0aXRsZT0iMy4yLqBMaWJyYXJ5IENvbmZpZ3VyYXRpb25zIj5TZWN0aW9uoDMuMiwgJiM4MjIwO0xpYnJhcnkgQ29uZmlndXJhdGlvbnMmIzgyMjE7PC9hPi4KICBJbiB0aGUgZm9sbG93aW5nIHN0ZXBzLAogIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnN5c3Jvb3Q8L2NvZGU+PC9lbT4gaXMgdGhlIGFic29sdXRlIHBhdGggdG8gdGhlCiAgc3lzcm9vdCBkaXJlY3Rvcnkgb24gdGhlIHRhcmdldCBjb3JyZXNwb25kaW5nIHRvIHlvdXIgc2VsZWN0ZWQgbXVsdGlsaWIuCiAgRm9yIHRoZSBkZWZhdWx0IG11bHRpbGliLCB0aGUgZHluYW1pYyBsaW5rZXIgaXMKICA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmxpYi9sZC1saW51eC5zby4zPC9jb2RlPiwgYW5kIHRoZSBsaWJyYXJ5IHN1YmRpcmVjdG9yeSBpcwogIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+bGliPC9jb2RlPi4KICBUaGlzIGlzIHVzZWQgaW4gdGhlIGV4YW1wbGUgYmVsb3cuCiAgPC9wPjwvbGk+PGxpPjxwPgogIE9uIHRoZSB0YXJnZXQgc3lzdGVtLCBpbnZva2UgdGhlIGR5bmFtaWMgbGlua2VyIHdpdGggeW91ciBleGVjdXRhYmxlIGFzOgoKICA8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4mZ3Q7IDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnN5c3Jvb3Q8L2NvZGU+PC9lbT4vbGliL2xkLWxpbnV4LnNvLjMgXAogIC0tbGlicmFyeS1wYXRoIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnN5c3Jvb3Q8L2NvZGU+PC9lbT4vbGliOjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnN5c3Jvb3Q8L2NvZGU+PC9lbT4vdXNyL2xpYiBcCiAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+L3BhdGgvdG8veW91ci1leGVjdXRhYmxlPC9jb2RlPjwvZW0+PC9wcmU+PHA+CgogIHdoZXJlIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnN5c3Jvb3Q8L2NvZGU+PC9lbT4gaXMgdGhlIGFic29sdXRlIHBhdGggdG8gdGhlCiAgc3lzcm9vdCBkaXJlY3Rvcnkgb24gdGhlIHRhcmdldCBjb3JyZXNwb25kaW5nIHRvIHlvdXIgc2VsZWN0ZWQKICBtdWx0aWxpYi4KICA8L3A+PHA+SW52b2tpbmcgdGhlIGxpbmtlciBpbiB0aGlzIG1hbm5lciByZXF1aXJlcyB0aGF0CiAgeW91IHByb3ZpZGUgZWl0aGVyIGFuIGFic29sdXRlIHBhdGhuYW1lIHRvIHlvdXIgZXhlY3V0YWJsZSwgb3IgYSByZWxhdGl2ZQogIHBhdGhuYW1lIHByZWZpeGVkIHdpdGggPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj4uLzwvY29kZT4uICBTcGVjaWZ5aW5nIG9ubHkgdGhlIG5hbWUKICBvZiBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGRvZXMgbm90IHdvcmsuCiAgPC9wPjwvbGk+PC9vbD48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9InNlYy1keW5hbWljLWxvYWRlci12ZXJzaW9uLmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iY2hhcC10YXJnZXQuaHRtbCI+VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaW51eC1nZGJzZXJ2ZXIuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjMuNS6gVGFyZ2V0IER5bmFtaWMgTG9hZGVyIFJlcXVpcmVtZW50c6A8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+oDMuNy6gVXNpbmcgR0RCIFNlcnZlciBmb3IgRGVidWdnaW5nPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4K