PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPkFwYWNoZSBDaGlsZCBQcm9jZXNzZXMgTGlmZWN5Y2xlIGFuZCBSZXF1ZXN0IFByb2Nlc3Npbmc8L3RpdGxlPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InJpdmV0LmNzcyI+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43Ni4xIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJBcGFjaGUgUml2ZXQiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJBcGFjaGUgUml2ZXQiPjxsaW5rIHJlbD0icHJldiIgaHJlZj0iaW5zdGFsbGF0aW9uLmh0bWwiIHRpdGxlPSJBcGFjaGUgUml2ZXQgSW5zdGFsbGF0aW9uIj48bGluayByZWw9Im5leHQiIGhyZWY9ImRpcmVjdGl2ZXMuaHRtbCIgdGl0bGU9IlJpdmV0IEFwYWNoZSBEaXJlY3RpdmVzIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5BcGFjaGUgQ2hpbGQgUHJvY2Vzc2VzIExpZmVjeWNsZSBhbmQgUmVxdWVzdCBQcm9jZXNzaW5nPC90aD48L3RyPjx0cj48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iaW5zdGFsbGF0aW9uLmh0bWwiPjxpbWcgc3JjPSJpbWFnZXMvcHJldi5wbmciIGFsdD0iUHJldiI+PC9hPqA8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj6gPC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJkaXJlY3RpdmVzLmh0bWwiPjxpbWcgc3JjPSJpbWFnZXMvbmV4dC5wbmciIGFsdD0iTmV4dCI+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJBcGFjaGUgQ2hpbGQgUHJvY2Vzc2VzIExpZmVjeWNsZSBhbmQgUmVxdWVzdCBQcm9jZXNzaW5nIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aHI+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJyZXF1ZXN0Ij48L2E+QXBhY2hlIENoaWxkIFByb2Nlc3NlcyBMaWZlY3ljbGUgYW5kIFJlcXVlc3QgUHJvY2Vzc2luZzwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2ltcGxlc2VjdCIgdGl0bGU9IkFwYWNoZSBDaGlsZCBQcm9jZXNzIExpZmVjeWNsZSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWRwNDc1NjU0NCI+PC9hPkFwYWNoZSBDaGlsZCBQcm9jZXNzIExpZmVjeWNsZTwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CiAgICAgICAgICAgIEFwYWNoZSBSaXZldCBkZWxlZ2F0ZXMgdG8gdGhlIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iIiB0YXJnZXQ9Il90b3AiPk11bHRpLVByb2Nlc3NpbmcgTW9kdWxlIChNUE0pPC9hPgogICAgICAgICAgICB0aGUgdGFzayBvZiBtYW5hZ2luZyB0aGUgYWdlbnRzIHJlc3BvbmRpbmcgdG8gbmV0d29yayByZXF1ZXN0cy4gCiAgICAgICAgICAgIEFuIE1QTSBpcyByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgc3VjaCBhZ2VudHMgZHVyaW5nIHRoZSBzdGFydC11cCwgCiAgICAgICAgICAgIGFuZCBpcyBpbiBjaGFyZ2UgZm9yIHRlcm1pbmF0aW5nIGV4aXN0aW5nIG9uZXMgYW5kIHJlY3JlYXRpbmcgbmV3IAogICAgICAgICAgICBhZ2VudHMgd2hlbiB0aGUgd29ya2xvYWQgaXMgcmVxdWlyaW5nIGl0LiAKICAgICAgIDwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KICAgICAgICAgICAgQXBhY2hlIFJpdmV0IGlzIGN1cnJlbnRseSBzdXBwb3J0aW5nIG9ubHkgdGhlCiAgICAgICAgICAgIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvbW9kL3ByZWZvcmsuaHRtbCIgdGFyZ2V0PSJfdG9wIj5wcmVmb3JrPC9hPgogICAgICAgICAgICBNUE0gd2hpY2ggY3JlYXRlcyBmdWxsIGZsZWRnZWQgY2hpbGQgcHJvY2Vzc2VzIGFzIGluZGVwZW5kZW50IGFnZW50cyAKICAgICAgICAgICAgcmVzcG9uZGluZyB0byBuZXR3b3JrIHJlcXVlc3RzLiAKICAgICAgICAgICAgRWZmb3J0cyBhcmUgdW5kZXIgd2F5IHRvIGV4dGVuZCB0aGUgc3VwcG9ydCB0bwogICAgICAgICAgICB0aGUgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLzIuMi9tb2Qvd29ya2VyLmh0bWwiIHRhcmdldD0iX3RvcCI+d29ya2VyPC9hPiBNUE0sCiAgICAgICAgICAgIGEgaHlicmlkIG1vZGVsIHdoZXJlIGZvcmtlZCBjaGlsZCBwcm9jZXNzZXMgaW4gdHVybiBjcmVhdGUgdGhyZWFkcyBhcyByZWFsCiAgICAgICAgICAgIG5ldHdvcmsgYWdlbnRzLiBJZiB3ZSBjYW4gYWNoaWV2ZSB0aGlzIHRoZSBnb2FsIHdvdWxkIG9wZW4gdGhlIHBvc3NpYmlsaXR5IG9mCiAgICAgICAgICAgIHN1cHBvcnRpbmcgYWxzbyB0aGUgV2luZG93c6kgc3BlY2lmaWMgCiAgICAgICAgICAgIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvbW9kL21wbV93aW5udC5odG1sIiB0YXJnZXQ9Il90b3AiPndpbm50PC9hPiBNUE0sIAogICAgICAgICAgICB3aGVyZSBhIHNpbmdsZSBwcm9jZXNzIGNyZWF0ZXMgYW5kIG1hbmFnZXMgYSBsYXJnZSBudW1iZXIgb2YgdGhyZWFkIGFnZW50cy4KICAgICAgIDwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgICAJCUNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBhYm91dCB0aGlzIGNyaXRpY2FsIHBvaW50IGNhbiBiZSByZWFkIGluIHRoZQoJICAgIAkJPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLzIuMi9taXNjL3BlcmYtdHVuaW5nLmh0bWwiIHRhcmdldD0iX3RvcCI+QXBhY2hlCgkgICAgCQlkb2N1bWVudGF0aW9uPC9hPi4gCgkgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgIAkJVGhlcmUgYXJlIDQgc3RhZ2VzIGluIHRoZSBsaWZldGltZSBvZiBhbiBBcGFjaGUgd2Vic2VydmVyIHRoYXQgYXJlIHJlbGV2YW50CgkgICAgCQl0byBSaXZldDogCgkgICAgPC9wPjxkaXYgY2xhc3M9Im9yZGVyZWRsaXN0Ij48b2wgY2xhc3M9Im9yZGVyZWRsaXN0IiB0eXBlPSIxIj48bGkgY2xhc3M9Imxpc3RpdGVtIj48aDQ+PGEgbmFtZT0iaWRwNDgwNjk0NCI+PC9hPlNpbmdsZSBQcm9jZXNzIEluaXRpYWxpemF0aW9uPC9oND48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KICAgICAgICAgICAgICAgQXBhY2hlcyBzdGFydHMgdXAgYXMgYSBzaW5nbGUgcHJvY2Vzcy4gRHVyaW5nIHRoaXMgc3RhZ2UgQXBhY2hlIHBlcmZvcm1zIAogICAgICAgICAgICAgICB2YXJpb3VzIHByZWxpbWluYXJ5IHRhc2tzIGluY2x1ZGluZyByZWFkaW5nIGFuZCBwYXJzaW5nIHRoZSBjb25maWd1cmF0aW9uLiAKCQkJCQlBZnRlciB0aGUgY29uZmlndXJhdGlvbiBoYXMgYmVlbiByZWFkIFJpdmV0IHNldHMgdXAgc29tZSBpbnRlcm5hbCByZXNvdXJjZXMKCQkJCQlhbmQgaWYgYSBUY2wgc2NyaXB0IGlzIHNldCBhcyBhcmd1bWVudCBvZiBhIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPlNlcnZlckluaXRTY3JpcHQ8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBkaXJlY3RpdmUKCQkJCQl0aGUgc2NyaXB0IGlzIGV4ZWN1dGVkLiAKCQkJCQlWYXJpYWJsZXMsIGFycmF5cyBvciBkaWN0aW9uYXJpZXMgY3JlYXRlZCBkdXJpbmcgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHNjcmlwdCAKCQkJCQl3aWxsIGJlIHByZXNlcnZlZCBhbmQgbGF0ZXIgcmVwbGljYXRlZCBpbiB0aGUgY2hpbGQgcHJvY2VzcyBpbnRlcHJldGVycywKCQkJCQlzaW5jZSB0aGUgcHJlZm9yayBNUE0gY3JlYXRlcyBuZXcgY2hpbGQgcHJvY2Vzc2VzIHdpdGggYSBmb3JrKCkgc3lzdGVtIGNhbGwgKHdoaWNoCiAgICAgICAgICAgICAgIGludm9sdmVzIG9ubHkgaW4gbWVtb3J5IGNvcHkgb2Ygc2VjdGlvbnMgb2YgYSBwcm9jZXNzIGFkZHJlc3Mgc3BhY2UpLiBUaHVzCiAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPlNlcnZlckluaXRTY3JpcHQ8L3N0cm9uZz48L3NwYW4+PC9zcGFuPgoJCSAgICAJCWlzIGEgZ29vZCBwbGFjZSB0byBkbyBnbG9iYWwgaW5pdGlhbGl6YXRpb24gdGhhdCBkb2Vzbid0IGludm9sdmUKCQkgICAgCQljcmVhdGlvbiBvZiBwcml2YXRlIGRhdGEuIEV4YW1wbGUgb2YgdGFza3MgdGhhdCBjYW4gYmUgZG9uZQoJCSAgICAJCWluIHRoaXMgY29udGV4dCBhcmUgaW1wb3J0aW5nIG5hbWVzcGFjZSBjb21tYW5kcyBhbmQgbG9hZGluZyBwYWNrYWdlcwoJCSAgICAJCXByb3ZpZGluZyBjb2RlIG9mIGdlbmVyYWwgaW50ZXJlc3QgZm9yIGV2ZXJ5IGFwcGxpY2F0aW9uIHRvCgkJICAgIAkJYmUgc2VydmVkLiBBbHNvIElQQyBtZXRob2RzIGNhbiBiZSBpbml0aWFsaXplZCBpbiB0aGlzIHN0YWdlLgoJICAgIAkJPC9kaXY+PC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj48aDQ+PGEgbmFtZT0iaWRwNDgxMDQ2NCI+PC9hPkNoaWxkIFByb2Nlc3MgSW5pdGlhbGl6YXRpb248L2g0PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgICAJCVJpZ2h0IGFmdGVyIHRoZSB3ZWJzZXJ2ZXIgaGFzIGZvcmtlZCBpdHMgY2hpbGQgcHJvY2Vzc2VzIAoJCSAgICAJCXRoZXJlIGlzIGEgY2hhbmNlIHRvIHBlcmZvcm0gc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24gb2YgdGhlaXIgVGNsIGludGVycHJldGVycy4KICAgICAgICAgICAgICAgVGhpcyBpcyB0aGUgc3RhZ2Ugd2hlcmUgbW9zdCBsaWtlbHkgeW91IHdhbnQgdG8gb3BlbiBJL08gY2hhbm5lbHMsIAogICAgICAgICAgICAgICBkYXRhYmFzZSBjb25uZWN0aW9ucyBvciBhbnkgb3RoZXIgcmVzb3VyY2UgdGhhdCBoYXMgdG8gYmUgcHJpdmF0ZSB0byBhbiAKICAgICAgICAgICAgICAgaW50ZXJwcmV0ZXIuIFdoZW4gdGhlIG9wdGlvbiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5TZXBhcmF0ZVZpcnR1YWxJbnRlcnBzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gaXMgCiAgICAgICAgICAgICAgIHR1cm5lZCBvZmYgY2hpbGQgcHJvY2Vzc2VzIHdpbGwgaGF2ZSBhIHNpbmdsZSBpbnRlcnByZXRlciByZWdhcmRsZXNzCgkJICAgIAkJdGhlIG51bWJlciBvZiB2aXJ0dWFsIGhvc3RzIGNvbmZpZ3VyZWQuIFRoZQogICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5HbG9iYWxJbml0U2NyaXB0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gaXMgdGhlIGNvbmZpZ3VyYXRpb24gc2NyaXB0IAogICAgICAgICAgICAgICB0aGUgY2hpbGQgcHJvY2VzcyB3aWxsIHJ1biBvbmNlIGJlZm9yZSBnZXR0aW5nIHJlYWR5IHRvIAogICAgICAgICAgICAgICBzZXJ2ZSByZXF1ZXN0cwoJICAgIAkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkgICAgCQkJV2hlbiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5TZXBhcmF0ZVZpcnR1YWxJbnRlcnBzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gaXMgdHVybmVkIG9uIAoJICAgIAkJCWVhY2ggY29uZmlndXJlZCB2aXJ0dWFsIGhvc3Qgd2lsbCBoYXZlIGl0cyBvd24gc2xhdmUgaW50ZXJwcmV0ZXIgd2hpY2gKCSAgICAJCQljYW4gd2lsbCBydW4gdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkNoaWxkSW5pdFNjcmlwdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGRpcmVjdGl2ZSBhcwoJICAgIAkJCWluaXRpYWxpemF0aW9uIHNjcmlwdC4gVGhlCSAgICAJCQkKCSAgICAJCQk8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5DaGlsZEluaXRTY3JpcHQ8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBoYXMgdG8gYmUKCSAgICAJCQlwbGFjZWQgd2l0aGluIGEgJmx0O1ZpcnR1YWxIb3N0Li4uJmd0Oy4uLiZsdDsvVmlydHVhbEhvc3QgLi4uJmd0OwoJICAgIAkJCXN0YW56YSB0byBhc3NvY2lhdGUgYSBzY3JpcHQgdG8gYSBzcGVjaWZpYyB2aXJ0dWFsIGhvc3QgaW5pdGlhbGl6YXRpb24uCgkgICAgCQkJVGhpcyBzY2VuYXJpbyBvZiBpbnRlcnByZXRlciBzZXBhcmF0aW9uIGlzIGV4dHJlbWVseSB1c2VmdWwgdG8KCSAgICAJCQlwcmV2ZW50IHJlc291cmNlIGNvbmZsaWN0cyB3aGVuIGRpZmZlcmVudCB2aXJ0dWFsIGhvc3RzIGFyZSAKCSAgICAJCQlzZXJ2aW5nIGRpZmZlcmVudCB3ZWIgYXBwbGljYXRpb25zLiAKCSAgICAJCTwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJICAgIAkJCTxkaXYgY2xhc3M9Im5vdGUiIHRpdGxlPSJOb3RlIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyBtYXJnaW4tcmlnaHQ6IDAuNWluOyI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iTm90ZSI+PHRyPjx0ZCByb3dzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjI1Ij48aW1nIGFsdD0iW05vdGVdIiBzcmM9ImltYWdlcy9ub3RlLnBuZyI+PC90ZD48dGggYWxpZ249ImxlZnQiPk5vdGU8L3RoPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkdsb2JhbEluaXRTY3JpcHQ8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBoYXMgbm8gZWZmZWN0IHRvIHdvcmtpbmcgaW50ZXJwcmV0ZXJzCgkgICAgCQkJCXdoZW4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+U2VwYXJhdGVWaXJ0dWFsSW50ZXJwczwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGlzIHNldC4KCSAgICAJCQk8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj4KCSAgICAJCTwvZGl2PjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PGg0PjxhIG5hbWU9ImlkcDQ4MTg3NjgiPjwvYT5SZXF1ZXN0IFByb2Nlc3NpbmcgYW5kIENvbnRlbnQgR2VuZXJhdGlvbjwvaDQ+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CiAgICAgICAgICAgICAgICAgQWZ0ZXIgYSBjaGlsZCBoYXMgYmVlbiBpbml0aWFsaXplZCBpdCdzIHJlYWR5IHRvIHNlcnZlIHJlcXVlc3RzLiAKICAgICAgICAgICAgICAgICBBIGNoaWxkIHByb2Nlc3MnIGxpZmV0aW1lIGlzIGFsbW9zdCBlbnRpcmVseSBzcGVudCBpbiB0aGlzIHBoYXNlLCB3YWl0aW5nCiAgICAgICAgICAgICAgICAgZm9yIGNvbm5lY3Rpb25zIGFuZCByZXNwb25kaW5nIHRvIHJlcXVlc3RzLiBBdCBldmVyeSByZXF1ZXN0IHRoZSBVUkwgCiAgICAgICAgICAgICAgICAgZ29lcyB0aHJvdWdoIGZpbHRlciBwcm9jZXNzaW5nIGFuZCwgaW4gY2FzZSwgcmV3cml0dGVuCiAgICAgICAgICAgICAgICAgKG1vZF9yZXdyaXRlLCBBbGlhcyBkaXJlY3RpdmVzLCBldGMpLiAKICAgICAgICAgICAgICAgICBQYXJhbWV0ZXIgdmFsdWVzIGVuY29kZWQgaW4gdGhlIHJlcXVlc3QgYXJlIG1hZGUgYXZhaWxhYmxlIHRvIHRoZSAKICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudCBhbmQgZmluYWxseSB0aGUgc2NyaXB0IGVuY29kZWQgaW4gdGhlIFVSTCBpcyBydW4uIAogICAgICAgICAgICAgICAgIFRoZSBkZXZlbG9wZXIgY2FuIHRlbGwgUml2ZXQgaWYgb3B0aW9uYWxseSB0aGUgZXhlY3V0aW9uIGhhcyB0bwogICAgICAgICAgICAgICAgIGJlICBwcmVjZWRlZCBieSBhIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkJlZm9yZVNjcmlwdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGFuZCBmb2xsb3dlZCBieSBhbgogICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkFmdGVyU2NyaXB0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4uIFRoZSByZWFsIHNjcmlwdCBtb2Rfcml2ZXQgd2lsbAogICAgICAgICAgICAgICAgIGV4ZWN1dGUgaXMgdGhlIHJlc3VsdCBvZiB0aGUgY29uY2F0ZW5hdGlvbiBvZiB0aGUgCiAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+QmVmb3JlU2NyaXB0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4sCiAgICAgICAgICAgICAgICAgdGhlIHNjcmlwdCBlbmNvZGVkIGluIHRoZSBVUkwgYW5kIHRoZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5BZnRlclNjcmlwdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+LgogICAgICAgICAgICAgICAgIFRodXMgdGhlIHdob2xlIGVuc2VtYmxlIG9mIGNvZGUgdGhhdCBtYWtlcyB1cCBhIHdlYiBhcHBsaWNhdGlvbiBtaWdodAogICAgICAgICAgICAgICAgIGJlIHJ1bm5pbmcgd2l0aGluIHRoZSBzYW1lICJiZWZvcmUiIGFuZCAiYWZ0ZXIiIHNjcmlwdHMgdG8gd2hpY2ggCiAgICAgICAgICAgICAgICAgdGhlIHByb2dyYW1tZXIgY2FuIGRldm9sdmUgdGFza3MgY29tbW9uIHRvIGV2ZXJ5IAogICAgICAgICAgICAgICAgIHBhZ2Ugb2YgYW4gYXBwbGljYXRpb24uCiAgICAgICAgICAgIDwvZGl2PjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PGg0PjxhIG5hbWU9ImlkcDQ4MjM2MTYiPjwvYT5DaGlsZCBQcm9jZXNzIEV4aXQ8L2g0PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgogICAgICAgICAgICAgICAgIElmIG5vIGVycm9yIGNvbmRpdGlvbiBmb3JjZXMgdGhlIGNoaWxkIHByb2Nlc3MgdG8gYSBwcmVtYXR1cmUgZXhpdCwgaGlzCiAgICAgICAgICAgICAgICAgbGlmZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBBcGFjaGUgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLiBUbyByZWR1Y2UKICAgICAgICAgICAgICAgICB0aGUgZWZmZWN0cyBvZiBtZW1vcnkgbGVha3MgaW4gYnVnZ3kgYXBwbGljYXRpb25zIHRoZSBBcGFjaGUgd2Vic2VydmVyIAogICAgICAgICAgICAgICAgIGZvcmNlcyBhIGNoaWxkIHByb2Nlc3MgdG8gZXhpdCBhZnRlciBhCiAgICAgICAgICAgICAgICAgY2VydGFpbiBudW1iZXIgb2YgcmVxdWVzdHMgc2VydmVkLiBBIGNoaWxkIHByb2Nlc3MgZ2V0cyByZXBsYWNlZCAKICAgICAgICAgICAgICAgICB3aXRoIGEgYnJhbmQgbmV3IG9uZSBpZiB0aGUgd29ya2xvYWQgb2Ygd2Vic2VydmVyIHJlcXVpcmVzIHNvLiAKICAgICAgICAgICAgICAgICBCZWZvcmUgdGhlIHByb2Nlc3MgcXVpdHMgYW4gZXhpdCBoYW5kbGVyIGNhbiBiZSBydW4KICAgICAgICAgICAgICAgICB0byBkbyBzb21lIGhvdXNla2VlcGluZywganVzdCBpbiBjYXNlIHNvbWV0aGluZyB0aGUgY291bGQgaGF2ZSBiZWVuIAogICAgICAgICAgICAgICAgIGxlZnQgYmVoaW5kIGhhcyB0byBiZSBjbGVhbmVkIHVwLiBMaWtlIHRoZSBpbml0aWFsaXphdGlvbiBzY3JpcHRzCiAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Q2hpbGRFeGl0U2NyaXB0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gdG9vIGlzIGEgIm9uZSBzaG90IiBzY3JpcHQuCiAgICAgICAgICAgICA8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KICAgICAgICAgICAgICAgICBUaGUgVGNsIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmV4aXQ8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBjb21tYW5kIGZvcmNlcyBhbiBpbnRlcnByZXRlciB0bwogICAgICAgICAgICAgICAgIHF1aXQsIHRodXMgcmVtb3ZpbmcgdGhlIGFiaWxpdHkgb2YgdGhlIHByb2Nlc3MgZW1iZWRkaW5nIGl0IAogICAgICAgICAgICAgICAgIHRvIHJ1biBtb3JlIFRjbCBzY3JpcHRzLiBUaGUgY2hpbGQgcHJvY2VzcyB0aGVuIGlzIGZvcmNlZAogICAgICAgICAgICAgICAgIHRvIGV4aXQgYW5kIGJlIHJlcGxhY2VkIGJ5IGEgbmV3IG9uZSB3aGVuIHRoZSB3b3JrbG9hZCBkZW1hbmRzIGl0LgogICAgICAgICAgICAgICAgIFRoaXMgb3BlcmF0aW9uIGltcGxpZXMgdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkNoaWxkRXhpdFNjcmlwdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGJlCiAgICAgICAgICAgICAgICAgcnVuIGJlZm9yZSB0aGUgaW50ZXJwcmV0ZXIgaXMgYWN0dWFsbHkgZGVsZXRlZC4KICAgICAgICAgICAgIDwvZGl2PjwvbGk+PC9vbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzaW1wbGVzZWN0IiB0aXRsZT0iQXBhY2hlIFJpdmV0IEVycm9yIGFuZCBFeGNlcHRpb24gU2NyaXB0cyBEaXJlY3RpdmVzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpZHA0ODI4MjA4Ij48L2E+QXBhY2hlIFJpdmV0IEVycm9yIGFuZCBFeGNlcHRpb24gU2NyaXB0cyBEaXJlY3RpdmVzPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KICAgICAgICAgICAgUml2ZXQgaXMgaGlnaGx5IGNvbmZpZ3VyYWJsZSBhbmQgZWFjaCBvZiB0aGUgd2Vic2VydmVyIGxpZmVjeWNsZSBzdGFnZXMgCiAgICAgICAgICAgIGNhbiBiZSBleHBsb2l0ZWQgdG8gY29udHJvbCBhIHdlYiBhcHBsaWNhdGlvbi4gCiAgICAgICAgICAgIE5vdCBvbmx5IHRoZSBvcmRlcmx5IHNlcXVlbmNlIG9mIHN0YWdlcwogICAgICAgICAgICBpbiBhIGNoaWxkIGxpZmVjeWNsZSBjYW4gYmUgY29udHJvbGxlZCB3aXRoIFRjbCBzY3JpcHRzLCBidXQgYWxzbwogICAgICAgICAgICBUY2wgZXJyb3Igb3IgYWJub3JtYWwgY29uZGl0aW9ucyB0YWtpbmcgcGxhY2UgZHVyaW5nCiAgICAgICAgICAgIHRoZSBleGVjdXRpb24gY2FuIGJlIGNhdWdodCBhbmQgaGFuZGxlZCB3aXRoIHNwZWNpZmljIHNjcmlwdHMuCiAgICAgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgIAlUY2wgZXJyb3JzIChjb25kaXRpb25zIGdlbmVyYXRlZCB3aGVuIGEgY29tbWFuZCBleGl0cyB3aXRoIGNvZGUgVENMX0VSUk9SKSAKCSAgICAJdXN1YWxseSByZXN1bHQgaW4gdGhlIHByaW50aW5nIG9mIGEgYmFja3RyYWNlIG9mIHRoZSBjb2RlIGZyYWdtZW50CgkgICAgCXJlbGV2YW50IHRvIHRoZSBlcnJvci4KCSAgICAJUml2ZXQgY2FuIHNldCB1cCBzY3JpcHRzIHRvIHRyYXAgdGhlc2UgZXJyb3JzIGFuZCBydW4gaW5zdGVhZAoJICAgIAlhbiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5FcnJvclNjcmlwdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IHRvIGhhbmRsZSBpdCBhbmQgY29uY2VhbCBkZXRhaWxzCgkgICAgCXRoYXQgdXN1YWxseSBoYXZlIG5vIGludGVyZXN0IGZvciB0aGUgZW5kIHVzZXIgYW5kIGl0CgkgICAgCW1heSBzaG93IGxpbmVzIG9mIGNvZGUgdGhhdCBvdWdodCB0byByZW1haW4gcHJpdmF0ZS4gVGhlIEVycm9yU2NyaXB0CgkgICAgCWhhbmRsZXIgbWlnaHQgY3JlYXRlIGEgcG9saXRlIGVycm9yIHBhZ2Ugd2hlcmUgdGhpbmdzCgkgICAgCWNhbiBiZSBleHBsYWluZWQgaW4gaHVtYW4gcmVhZGFibGUgZm9ybSwgdGh1cyBlbmFibGluZyB0aGUgZW5kIHVzZXIKCSAgICAJdG8gcHJvdmlkZSBtZWFuaW5nZnVsIGZlZWRiYWNrIGluZm9ybWF0aW9uLiAKCSAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgICAgCUluIG90aGVyIGNhc2VzIGFuIHVubWFuYWdlYWJsZSBjb25kaXRpb25zIG1pZ2h0IHRha2UgcGxhY2UgaW4gdGhlIGRhdGEgYW5kCgkgICAgCXRoaXMgY291bGQgZGVtYW5kIGFuIGltbWVkaWF0ZSBpbnRlcnJ1cHRpb24gb2YgdGhlIGNvbnRlbnQgZ2VuZXJhdGlvbi4gVGhlc2UgYWJvcnQgCgkgICAgCWNvbmRpdGlvbnMgY2FuIGJlIGZpcmVkIGJ5IHRoZSA8YSBjbGFzcz0ieHJlZiIgaHJlZj0iYWJvcnRfcGFnZS5odG1sIiB0aXRsZT0iYWJvcnRfcGFnZSI+YWJvcnRfcGFnZTwvYT4gY29tbWFuZCwgd2hpY2gKCSAgICAJaW4gdHVybiBmaXJlcyB0aGUgZXhlY3V0aW9uIG9mIGFuIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkFib3J0U2NyaXB0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gdG8gaGFuZGxlCgkgICAgCXRoZSBhYm5vcm1hbCBjb25kaXRpb24uIFN0YXJ0aW5nIHdpdGggUml2ZXQgMi4xLjAgPGEgY2xhc3M9InhyZWYiIGhyZWY9ImFib3J0X3BhZ2UuaHRtbCIgdGl0bGU9ImFib3J0X3BhZ2UiPmFib3J0X3BhZ2U8L2E+CgkgICAgCWFjY2VwdHMgYSBmcmVlIGZvcm0gcGFyYW1ldGVyIHRoYXQgY2FuIGJlIHJldHJpZXZlZCBsYXRlciB3aXRoIHRoZSBjb21tYW5kIAoJICAgIAk8YSBjbGFzcz0ieHJlZiIgaHJlZj0iYWJvcnRfY29kZS5odG1sIiB0aXRsZT0iYWJvcnRfY29kZSI+YWJvcnRfY29kZTwvYT4KCSAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2ltcGxlc2VjdCIgdGl0bGU9IlRjbCBOYW1lc3BhY2VzIGluIFJpdmV0IGFuZCB0aGUgOjpyZXF1ZXN0IE5hbWVzcGFjZSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWRwNDgzNDQ0OCI+PC9hPlRjbCBOYW1lc3BhY2VzIGluIFJpdmV0IGFuZCB0aGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+OjpyZXF1ZXN0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gTmFtZXNwYWNlPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCQkJV2l0aCB0aGUgc29sZSBleGNlcHRpb24gb2YgLnJ2dCB0ZW1wbGF0ZXMsIFJpdmV0IHJ1bnMgcHVyZSBUY2wgc2NyaXB0cyAKCQkJYXQgdGhlIGdsb2JhbCBuYW1lc3BhY2UuIFRoYXQgbWVhbnMgdGhhdCBldmVyeSB2YXJpYWJsZSBvciBwcm9jZWR1cmUgCgkJCWNyZWF0ZWQgaW4gVGNsIHNjcmlwdHMgcmVzaWRlcyBieSBkZWZhdWx0IGluIHRoZSAKCQkJIjo6IiBuYW1lc3BhY2UgKGp1c3QgbGlrZSBpbiB0cmFkaXRpb25hbCBUY2wgc2NyaXB0aW5nKSBhbmQgdGhleQoJCQlhcmUgcGVyc2lzdGVudCBhY3Jvc3MgZGlmZmVyZW50IHJlcXVlc3RzIHVudGlsIGV4cGxpY2l0bHkgdW5zZXQgb3IKCQkJdW50aWwgdGhlIGludGVycHJldGVyIGlzIGRlbGV0ZWQuCgkJCVlvdSBjYW4gY3JlYXRlIHlvdXIgb3duIGFwcGxpY2F0aW9uIG5hbWVzcGFjZXMgdG8gc3RvcmUgZGF0YSBidXQKCQkJaXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgc3Vic2VxdWVudCByZXF1ZXN0cyB3aWxsIGluIGdlbmVyYWwgYmUgc2VydmVkIAoJCQlieSBkaWZmZXJlbnQgY2hpbGQgcHJvY2Vzc2VzLiBZb3VyIGFwcGxpY2F0aW9uIGNhbiByZWx5IG9uIHRoZSBmYWN0IHRoYXQgCgkJCWNlcnRhaW4gYXBwbGljYXRpb24gZGF0YSB3aWxsIGJlIGluIHRoZSBpbnRlcnByZXRlciwgYnV0IHlvdSBzaG91bGRuJ3QgCgkJCWFzc3VtZSB0aGUgc3RhdGUgb2YgYSB0cmFuc2FjdGlvbiBzcGFubmluZyBzZXZlcmFsIHBhZ2VzIAoJCQljYW4gYmUgc3RvcmVkIGluIHRoaXMgd2F5IGFuZCBiZSBzYWZlbHkga2VwdCBhdmFpbGFibGUgdG8gYSAKCQkJc3BlY2lmaWMgY2xpZW50LiBTZXNzaW9ucyBleGlzdCBmb3IgdGhpcyBwdXJwb3NlIGFuZCBSaXZldCBzaGlwcyBpdHMgb3duIAoJCQlzZXNzaW9uIHBhY2thZ2Ugd2l0aCBzdXBwb3J0IGZvciBtb3N0IG9mIHBvcHVsYXIgREJNUy4gTm9uZXRoZWxlc3MgCgkJCXN0b3JpbmcgZGF0YSBpbiB0aGUgZ2xvYmFsIG5hbWVzcGFjZSBjYW4gYmUgdXNlZnVsLCBldmVuIHRob3VnaCBzY29waW5nIAoJCQlkYXRhIGluIGEgbmFtZXNwYWNlIGlzIHJlY29tbWVuZGVkLiBJL08gY2hhbm5lbHMgYW5kCgkJCWRhdGFiYXNlIGNvbm5lY3Rpb25zIGFyZSBleGFtcGxlcyBvZiBpbmZvcm1hdGlvbiB1c3VhbGx5IHNwZWNpZmljIAoJCQl0byBhIHByb2Nlc3MgZm9yIHdoaWNoIHlvdSBkb24ndCB3YW50IHRvIHBheSB0aGUgb3ZlcmhlYWQgb2YgY3JlYXRpbmcgdGhlbQoJCQlhdCBldmVyeSByZXF1ZXN0LCBwcm9iYWJseSBjYXVzaW5nIGEgZHJhbWF0aWMgbG9zcyBpbiB0aGUgYXBwbGljYXRpb24KCQkJcGVyZm9ybWFuY2UuCgkJPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJCQlBIHNwZWNpYWwgcm9sZSBpbiB0aGUgaW50ZXJwcmV0ZXIgaXMgcGxheWVkIGJ5IHRoZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz46OnJlcXVlc3Q8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiAKCQkJbmFtZXNwYWNlLglUaGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+OjpyZXF1ZXN0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gbmFtZXNwYWNlIGlzIGRlbGV0ZWQgYW5kIHJlY3JlYXRlZAoJCQlhdCBldmVyeSByZXF1ZXN0IGFuZCBSaXZldCB0ZW1wbGF0ZXMgKC5ydnQgZmlsZXMpIGFyZSBleGVjdXRlZCB3aXRoaW4gaXQuCgkJPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPiAKCQkJVW5sZXNzIHlvdSdyZSBmdWxseSBxdWFsaWZ5aW5nIHZhcmlhYmxlIG5hbWVzIG91dHNpZGUgdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPjo6cmVxdWVzdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IAoJCQluYW1lc3BhY2UsIGV2ZXJ5IHZhcmlhYmxlIGFuZCBwcm9jZWR1cmUgY3JlYXRlZCBpbiAucnZ0IGZpbGVzIGlzIGJ5IGRlZmF1bHQgcGxhY2VkIGluCgkJCWl0IGFuZCBkZWxldGVkIGJlZm9yZSBhbnkgb3RoZXIgcmVxdWVzdHMgZ2V0cyBwcm9jZXNzZWQuIEl0IGlzIHRoZXJlZm9yZSBzYWZlIHRvCgkJCWNyZWF0ZSB2YXJpYWJsZXMgb3Igb2JqZWN0IGluc3RhbmNlcyBpbiB0ZW1wbGF0ZSBmaWxlcyBhbmQgZm9yZXNha2UgYWJvdXQgdGhlbTogUml2ZXQKCQkJd2lsbCB0YWtlIGNhcmUgb2YgY2xlYW5pbmcgdGhlIG5hbWVzcGFjZSB1cCBhbmQgZXZlcnl0aGluZyBjcmVhdGVkIGluc2lkZSB0aGUgbmFtZXNwYWNlCgkJCXdpbGwgYmUgZGVzdHJveWVkLgoJCTwvcD48dGFibGUgaWQ9Im5hbWVzcGFjZXMiPjx0aGVhZD48dGQ+U3RhZ2U8L3RkPjx0ZD5TY3JpcHQ8L3RkPjx0ZD5OYW1lc3BhY2U8L3RkPjwvdGhlYWQ+PHRib2R5Pjx0ciBjbGFzcz0iaW5pdCI+PHRkPkFwYWNoZSBJbml0aWFsaXphdGlvbjwvdGQ+PHRkPlNlcnZlckluaXRTY3JpcHQ8L3RkPjx0ZD46OjwvdGQ+PC90cj48dHIgY2xhc3M9ImNoaWxkaW5pdCI+PHRkIHJvd3NwYW49IjIiPkNoaWxkIEluaXRpYWxpemF0aW9uPC90ZD48dGQ+R2xvYmFsSW5pdFNjcmlwdDwvdGQ+PHRkPjo6PC90ZD48L3RyPjx0ciBjbGFzcz0iY2hpbGRpbml0Ij48dGQ+Q2hpbGRJbml0U2NyaXB0PC90ZD48dGQ+Ojo8L3RkPjwvdHI+PHRyIGNsYXNzPSJwcm9jZXNzaW5nIj48dGQgcm93c3Bhbj0iNiI+UmVxdWVzdCBQcm9jZXNzaW5nPC90ZD48dGQ+QmVmb3JlU2NyaXB0PC90ZD48dGQ+Ojo8L3RkPjwvdHI+PHRyIGNsYXNzPSJwcm9jZXNzaW5nIj48dGQ+LnJ2dDwvdGQ+PHRkPjo6cmVxdWVzdDwvdGQ+PC90cj48dHIgY2xhc3M9InByb2Nlc3NpbmciPjx0ZD4udGNsPC90ZD48dGQ+Ojo8L3RkPjwvdHI+PHRyIGNsYXNzPSJwcm9jZXNzaW5nIj48dGQ+QWZ0ZXJTY3JpcHQ8L3RkPjx0ZD46OjwvdGQ+PC90cj48dHIgY2xhc3M9InByb2Nlc3NpbmciPjx0ZD5BYm9ydFNjcmlwdDwvdGQ+PHRkPjo6PC90ZD48L3RyPjx0ciBjbGFzcz0icHJvY2Vzc2luZyI+PHRkPkFmdGVyRXZlcnlTY3JpcHQ8L3RkPjx0ZD46OjwvdGQ+PC90cj48dHIgY2xhc3M9InByb2Nlc3NpbmciPjx0ZD5FcnJvciBIYW5kbGluZzwvdGQ+PHRkPkVycm9yU2NyaXB0PC90ZD48dGQ+Ojo8L3RkPjwvdHI+PHRyIGNsYXNzPSJjaGlsZGV4aXQiPjx0ZD5DaGlsZCBUZXJtaW5hdGlvbjwvdGQ+PHRkPkNoaWxkRXhpdFNjcmlwdDwvdGQ+PHRkPjo6PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9Imluc3RhbGxhdGlvbi5odG1sIj48aW1nIHNyYz0iaW1hZ2VzL3ByZXYucG5nIiBhbHQ9IlByZXYiPjwvYT6gPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+oDwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZGlyZWN0aXZlcy5odG1sIj48aW1nIHNyYz0iaW1hZ2VzL25leHQucG5nIiBhbHQ9Ik5leHQiPjwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPkFwYWNoZSBSaXZldCBJbnN0YWxsYXRpb26gPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0iaW1hZ2VzL2hvbWUucG5nIiBhbHQ9IkhvbWUiPjwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gUml2ZXQgQXBhY2hlIERpcmVjdGl2ZXM8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgo=