PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPjIuNC6gSW5zdGFsbGluZyBTb3VyY2VyeSBHKysgTGl0ZTwvdGl0bGU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjcy5jc3MiIHR5cGU9InRleHQvY3NzIj48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc0LjAiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IlNvdXJjZXJ5IEcrKyBMaXRlIj48bGluayByZWw9InVwIiBocmVmPSJjaGFwLWluc3RhbGxhdGlvbi5odG1sIiB0aXRsZT0iQ2hhcHRlcqAyLqBJbnN0YWxsYXRpb24gYW5kIENvbmZpZ3VyYXRpb24iPjxsaW5rIHJlbD0icHJldiIgaHJlZj0iY2gwMnMwMy5odG1sIiB0aXRsZT0iMi4zLqBEb3dubG9hZGluZyBhbiBJbnN0YWxsZXIiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0ic2VjLXVwZGF0aW5nLmh0bWwiIHRpdGxlPSIyLjUuoEluc3RhbGxpbmcgU291cmNlcnkgRysrIExpdGUgVXBkYXRlcyI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+Mi40LqBJbnN0YWxsaW5nIFNvdXJjZXJ5IEcrKyBMaXRlPC90aD48L3RyPjx0cj48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iY2gwMnMwMy5odG1sIj5QcmV2PC9hPqA8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj5DaGFwdGVyoDIuoEluc3RhbGxhdGlvbiBhbmQgQ29uZmlndXJhdGlvbjwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ic2VjLXVwZGF0aW5nLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIGxhbmc9ImVuIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9InNlYy1pbnN0YWxsaW5nIj48L2E+Mi40LqBJbnN0YWxsaW5nIFNvdXJjZXJ5IEcrKyBMaXRlPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48cD4KICAgICAgVGhlIG1ldGhvZCB1c2VkIHRvIGluc3RhbGwgU291cmNlcnkgRysrIExpdGUgZGVwZW5kcyBvbgogICAgICA8c3Bhbj55b3VyIGhvc3Qgc3lzdGVtIGFuZDwvc3Bhbj4KICAgICAgdGhlIGtpbmQgb2YgaW5zdGFsbGF0aW9uIHBhY2thZ2UgeW91IGhhdmUgZG93bmxvYWRlZC4KICAgIDwvcD48ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWQyNzYwNDEiPjwvYT4yLjQuMS6gVXNpbmcgdGhlIFNvdXJjZXJ5IEcrKyBMaXRlIEluc3RhbGxlciBvbiBNaWNyb3NvZnQgV2luZG93czwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHA+CiAgICAgICAgSWYgeW91IGhhdmUgcmVjZWl2ZWQgU291cmNlcnkgRysrIExpdGUgb24gQ0QsIGluc2VydCB0aGUgQ0QgaW4geW91ciBjb21wdXRlci4KICAgICAgICBPbiBtb3N0IGNvbXB1dGVycywgdGhlIGluc3RhbGxlciB0aGVuIHN0YXJ0cyBhdXRvbWF0aWNhbGx5LiAgSWYKICAgICAgICB5b3VyIGNvbXB1dGVyIGhhcyBiZWVuIGNvbmZpZ3VyZWQgbm90IHRvIGF1dG9tYXRpY2FsbHkgcnVuIENEcywKICAgICAgICBvcGVuIDxjb2RlIGNsYXNzPSJndWlsYWJlbCI+TXkgQ29tcHV0ZXI8L2NvZGU+LCBhbmQgZG91YmxlIGNsaWNrIG9uIHRoZSBDRC4KICAgICAgICBJZiB5b3UgZG93bmxvYWRlZCBTb3VyY2VyeSBHKysgTGl0ZSwgZG91YmxlLWNsaWNrIG9uIHRoZSBpbnN0YWxsZXIuCiAgICAgIDwvcD48cD4KICAgICAgICBBZnRlciB0aGUgaW5zdGFsbGVyIHN0YXJ0cywgZm9sbG93IHRoZSBvbi1zY3JlZW4gZGlhbG9ncyB0bwogICAgICAgIGluc3RhbGwgU291cmNlcnkgRysrIExpdGUuICAKICAgICAgICBUaGUgaW5zdGFsbGVyIGlzIGludGVuZGVkIHRvIGJlIHNlbGYtZXhwbGFuYXRvcnkgYW5kIG9uIG1vc3QKICAgICAgICBwYWdlcyB0aGUgZGVmYXVsdHMgYXJlIGFwcHJvcHJpYXRlLiAgCiAgICAgIDwvcD48ZGl2IGNsYXNzPSJpbmZvcm1hbGZpZ3VyZSI+PGRpdiBjbGFzcz0ibWVkaWFvYmplY3QiIGFsaWduPSJjZW50ZXIiPjxpbWcgc3JjPSJpbWFnZXMvaW5zdGFsbDEucG5nIiBhbGlnbj0ibWlkZGxlIj48ZGl2IGNsYXNzPSJjYXB0aW9uIj48cD48Yj5SdW5uaW5nIHRoZSBJbnN0YWxsZXIuoDwvYj4KICAgICAgICAgICAgICAgIFRoZSBncmFwaGljYWwgaW5zdGFsbGVyIGd1aWRlcyB5b3UgdGhyb3VnaCB0aGUgc3RlcHMKICAgICAgICAgICAgICAgIHRvIGluc3RhbGwgU291cmNlcnkgRysrIExpdGUuCiAgICAgICAgICAgICAgPC9wPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgogICAgICAgIFlvdSBtYXkgd2FudCB0byBjaGFuZ2UgdGhlIGluc3RhbGwgZGlyZWN0b3J5IHBhdGhuYW1lIGFuZAogICAgICAgIGN1c3RvbWl6ZSB0aGUgc2hvcnRjdXQgaW5zdGFsbGF0aW9uLgogICAgICA8L3A+PGRpdiBjbGFzcz0iaW5mb3JtYWxmaWd1cmUiPjxkaXYgY2xhc3M9Im1lZGlhb2JqZWN0IiBhbGlnbj0iY2VudGVyIj48aW1nIHNyYz0iaW1hZ2VzL2luc3RhbGwyLnBuZyIgYWxpZ249Im1pZGRsZSI+PGRpdiBjbGFzcz0iY2FwdGlvbiI+PHA+PGI+Q2hvb3NlIEluc3RhbGwgRm9sZGVyLqA8L2I+CiAgICAgICAgICAgICAgICBTZWxlY3QgdGhlIHBhdGhuYW1lIHRvIHlvdXIgaW5zdGFsbCBkaXJlY3RvcnkuCiAgICAgICAgICAgICAgPC9wPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImluZm9ybWFsZmlndXJlIj48ZGl2IGNsYXNzPSJtZWRpYW9iamVjdCIgYWxpZ249ImNlbnRlciI+PGltZyBzcmM9ImltYWdlcy9pbnN0YWxsMy5wbmciIGFsaWduPSJtaWRkbGUiPjxkaXYgY2xhc3M9ImNhcHRpb24iPjxwPjxiPkNob29zZSBTaG9ydGN1dCBGb2xkZXIuoDwvYj4KICAgICAgICAgICAgICAgIFlvdSBjYW4gY3VzdG9taXplIHdoZXJlIHRoZSBpbnN0YWxsZXIgY3JlYXRlcyBzaG9ydGN1dHMKICAgICAgICAgICAgICAgIGZvciBxdWljayBhY2Nlc3MgdG8gU291cmNlcnkgRysrIExpdGUuCiAgICAgICAgICAgICAgPC9wPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgogICAgICAgIFdoZW4gdGhlIGluc3RhbGxlciBoYXMgZmluaXNoZWQsIGl0IGFza3MgaWYgeW91IHdhbnQgdG8gbGF1bmNoCiAgICAgICAgCiAgICAgICAgYSB2aWV3ZXIgZm9yIHRoZSBHZXR0aW5nIFN0YXJ0ZWQgZ3VpZGUuICBGaW5hbGx5LCB0aGUgaW5zdGFsbGVyIAogICAgICAgIGRpc3BsYXlzIGEgc3VtbWFyeSBzY3JlZW4gdG8gY29uZmlybSBhIHN1Y2Nlc3NmdWwgaW5zdGFsbAogICAgICAgIGJlZm9yZSBpdCBleGl0cy4KICAgICAgPC9wPjxkaXYgY2xhc3M9ImluZm9ybWFsZmlndXJlIj48ZGl2IGNsYXNzPSJtZWRpYW9iamVjdCIgYWxpZ249ImNlbnRlciI+PGltZyBzcmM9ImltYWdlcy9pbnN0YWxsNC5wbmciIGFsaWduPSJtaWRkbGUiPjxkaXYgY2xhc3M9ImNhcHRpb24iPjxwPjxiPkluc3RhbGwgQ29tcGxldGUuoDwvYj4KICAgICAgICAgICAgICAgIFlvdSBzaG91bGQgc2VlIGEgc2NyZWVuIHNpbWlsYXIgdG8gdGhpcyBhZnRlciBhIHN1Y2Nlc3NmdWwKICAgICAgICAgICAgICAgIGluc3RhbGwuCiAgICAgICAgICAgICAgPC9wPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgogICAgICAgIElmIHlvdSBwcmVmZXIsIHlvdSBjYW4gcnVuIHRoZSBpbnN0YWxsZXIgaW4gY29uc29sZSBtb2RlIHJhdGhlciB0aGFuCgl1c2luZyB0aGUgZ3JhcGhpY2FsIGludGVyZmFjZS4gIFRvIGRvIHRoaXMsIGludm9rZSB0aGUgaW5zdGFsbGVyCgl3aXRoIHRoZSA8Y29kZSBjbGFzcz0ib3B0aW9uIj4taSBjb25zb2xlPC9jb2RlPiBjb21tYW5kLWxpbmUgb3B0aW9uLiAgRm9yIGV4YW1wbGU6CiAgICAgICAgPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Jmd0OyAvcGF0aC90by9wYWNrYWdlLmV4ZSAtaSBjb25zb2xlPC9wcmU+PHA+CiAgICAgIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWQyNzYyODQiPjwvYT4yLjQuMi6gVXNpbmcgdGhlIFNvdXJjZXJ5IEcrKyBMaXRlIEluc3RhbGxlciBvbiBHTlUvTGludXggSG9zdHM8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwPgogICAgICAgIFN0YXJ0IHRoZSBncmFwaGljYWwgaW5zdGFsbGVyIGJ5IGludm9raW5nIHRoZSBleGVjdXRhYmxlIHNoZWxsIHNjcmlwdDoKICAgICAgICA8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4mZ3Q7IC9iaW4vc2ggLi9wYXRoL3RvL3BhY2thZ2UuYmluPC9wcmU+PHA+CiAgICAgIDwvcD48cD4KICAgICAgICBBZnRlciB0aGUgaW5zdGFsbGVyIHN0YXJ0cywgZm9sbG93IHRoZSBvbi1zY3JlZW4gZGlhbG9ncyB0byAKICAgICAgICBpbnN0YWxsIFNvdXJjZXJ5IEcrKyBMaXRlLgogICAgICAgIDxzcGFuPgogICAgICAgICAgRm9yIGFkZGl0aW9uYWwgZGV0YWlscyBvbiBydW5uaW5nIHRoZSBpbnN0YWxsZXIsCiAgICAgICAgICBzZWUgdGhlIGRpc2N1c3Npb24gYW5kIHNjcmVlbiBzaG90cyBpbiB0aGUKICAgICAgICAgIE1pY3Jvc29mdCBXaW5kb3dzIHNlY3Rpb24gYWJvdmUuCiAgICAgICAgPC9zcGFuPgogICAgICA8L3A+PHA+CiAgICAgICAgSWYgeW91IHByZWZlciwgb3IgaWYgeW91ciBob3N0IHN5c3RlbSBkb2VzIG5vdCBydW4gdGhlCglYIFdpbmRvdyBTeXN0ZW0sIHlvdSBjYW4gcnVuIHRoZSBpbnN0YWxsZXIgaW4gY29uc29sZSBtb2RlIHJhdGhlciB0aGFuCgl1c2luZyB0aGUgZ3JhcGhpY2FsIGludGVyZmFjZS4gIFRvIGRvIHRoaXMsIGludm9rZSB0aGUgaW5zdGFsbGVyCgl3aXRoIHRoZSA8Y29kZSBjbGFzcz0ib3B0aW9uIj4taSBjb25zb2xlPC9jb2RlPiBjb21tYW5kLWxpbmUgb3B0aW9uLiAgRm9yIGV4YW1wbGU6CiAgICAgICAgPC9wPjxwcmUgY2xhc3M9InNjcmVlbiI+Jmd0OyAvYmluL3NoIC4vcGF0aC90by9wYWNrYWdlLmJpbiAtaSBjb25zb2xlPC9wcmU+PHA+CiAgICAgIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0idGJ6Mmluc3QiPjwvYT4yLjQuMy6gSW5zdGFsbGluZyBTb3VyY2VyeSBHKysgTGl0ZSBmcm9tIGEgQ29tcHJlc3NlZCBBcmNoaXZlPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cD4KICAgICAgICBZb3UgZG8gbm90IG5lZWQgdG8gYmUgYSBzeXN0ZW0gYWRtaW5pc3RyYXRvciB0byBpbnN0YWxsIFNvdXJjZXJ5IEcrKyBMaXRlCglmcm9tIGEgY29tcHJlc3NlZCBhcmNoaXZlLiAgWW91IG1heSBpbnN0YWxsIFNvdXJjZXJ5IEcrKyBMaXRlIHVzaW5nIGFueSB1c2VyCiAgICAgICAgYWNjb3VudCBhbmQgaW4gYW55IGRpcmVjdG9yeSB0byB3aGljaCB5b3UgaGF2ZQogICAgICAgIHdyaXRlIGFjY2Vzcy4gIFRoaXMgZ3VpZGUgYXNzdW1lcyB0aGF0IHlvdSBoYXZlIGRlY2lkZWQgdG8gaW5zdGFsbAogICAgICAgIFNvdXJjZXJ5IEcrKyBMaXRlIGluIHRoZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPiRIT01FL0NvZGVTb3VyY2VyeTwvY29kZT4gc3ViZGlyZWN0b3J5IG9mCiAgICAgICAgeW91ciBob21lIGRpcmVjdG9yeSBhbmQgdGhhdCB0aGUgZmlsZW5hbWUgb2YgdGhlIHBhY2thZ2UgeW91IGhhdmUKICAgICAgICBkb3dubG9hZGVkIGlzIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+L3BhdGgvdG8vcGFja2FnZS50YXIuYnoyPC9jb2RlPi4gQWZ0ZXIgaW5zdGFsbGF0aW9uCiAgICAgICAgdGhlIHRvb2xjaGFpbiB3aWxsIGJlIGluIAogICAgICAgIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+JEhPTUUvQ29kZVNvdXJjZXJ5L3NvdXJjZXJ5ZysrLTIwMTEuMDM8L2NvZGU+LgogICAgICA8L3A+PHA+CiAgICAgICAgRmlyc3QsIHVuY29tcHJlc3MgdGhlIHBhY2thZ2UgZmlsZToKICAgICAgICA8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4mZ3Q7IGJ1bnppcDIgL3BhdGgvdG8vcGFja2FnZS50YXIuYnoyPC9wcmU+PHA+CiAgICAgICAgTmV4dCwgY3JlYXRlIHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggeW91IHdpc2ggdG8gaW5zdGFsbCB0aGUgcGFja2FnZToKICAgICAgICA8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4mZ3Q7IG1rZGlyIC1wICRIT01FL0NvZGVTb3VyY2VyeTwvcHJlPjxwPgogICAgICAgIENoYW5nZSB0byB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeToKICAgICAgICA8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4mZ3Q7IGNkICRIT01FL0NvZGVTb3VyY2VyeTwvcHJlPjxwPgogICAgICAgIFVucGFjayB0aGUgcGFja2FnZToKICAgICAgICA8L3A+PHByZSBjbGFzcz0ic2NyZWVuIj4mZ3Q7IHRhciB4ZiAvcGF0aC90by9wYWNrYWdlLnRhcjwvcHJlPjxwPgogICAgICA8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJjaDAyczAzLmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iY2hhcC1pbnN0YWxsYXRpb24uaHRtbCI+VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJzZWMtdXBkYXRpbmcuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjIuMy6gRG93bmxvYWRpbmcgYW4gSW5zdGFsbGVyoDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gMi41LqBJbnN0YWxsaW5nIFNvdXJjZXJ5IEcrKyBMaXRlIFVwZGF0ZXM8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgo=