PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPkFwYWNoZSBSaXZldDwvdGl0bGU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyaXZldC5jc3MiIHR5cGU9InRleHQvY3NzIj48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc1LjIiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0iYXJ0aWNsZSIgdGl0bGU9IkFwYWNoZSBSaXZldCI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWQzNjAxMjMiPjwvYT5BcGFjaGUgUml2ZXQ8L2gyPjwvZGl2PjxkaXY+PGRpdiBjbGFzcz0iYXV0aG9yIj48aDMgY2xhc3M9ImF1dGhvciI+PHNwYW4gY2xhc3M9ImZpcnN0bmFtZSI+VGhlIFJpdmV0IFRlYW08L3NwYW4+PC9oMz48ZGl2IGNsYXNzPSJhZmZpbGlhdGlvbiI+PHNwYW4gY2xhc3M9Im9yZ25hbWUiPlRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjxicj48L3NwYW4+PGRpdiBjbGFzcz0iYWRkcmVzcyI+PHA+PGJyPgoJoKA8Y29kZSBjbGFzcz0iZW1haWwiPiZsdDs8YSBjbGFzcz0iZW1haWwiIGhyZWY9Im1haWx0bzpyaXZldC1kZXZAdGNsLmFwYWNoZS5vcmciPnJpdmV0LWRldkB0Y2wuYXBhY2hlLm9yZzwvYT4mZ3Q7PC9jb2RlPjxicj4KCTwvcD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2PjxwIGNsYXNzPSJjb3B5cmlnaHQiPkNvcHlyaWdodCCpIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb248L3A+PC9kaXY+PC9kaXY+PGhyPjwvZGl2PjxkaXYgY2xhc3M9InRvYyI+PHA+PGI+VGFibGUgb2YgQ29udGVudHM8L2I+PC9wPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InNlY3Rpb24iPjxhIGhyZWY9IiNpbnRyb2R1Y3Rpb24iPkludHJvZHVjdGlvbiB0byBBcGFjaGUgUml2ZXQ8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaW5zdGFsbGF0aW9uIj5BcGFjaGUgUml2ZXQgSW5zdGFsbGF0aW9uPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2RpcmVjdGl2ZXMiPlJpdmV0IEFwYWNoZSBEaXJlY3RpdmVzPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2NvbW1hbmRzIj5SaXZldCBUY2wgQ29tbWFuZHMgYW5kIFZhcmlhYmxlczwvYT48L3NwYW4+PC9kdD48ZGQ+PGRsPjxkdD48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PGEgaHJlZj0iI3ZhciI+dmFyPC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0icmVmcHVycG9zZSI+ICYjODIxMjsgZ2V0IHRoZSB2YWx1ZSBvZiBhIGZvcm0gdmFyaWFibGUuPC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj48YSBocmVmPSIjdXBsb2FkIj51cGxvYWQ8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBoYW5kbGUgYSBmaWxlIHVwbG9hZGVkIGJ5IGEgY2xpZW50Ljwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PGEgaHJlZj0iI2xvYWRfcmVzcG9uc2UiPmxvYWRfcmVzcG9uc2U8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBsb2FkIGZvcm0gdmFyaWFibGVzIGludG8gYW4gYXJyYXkuPC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj48YSBocmVmPSIjbG9hZF9oZWFkZXJzIj5sb2FkX2hlYWRlcnM8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBnZXQgY2xpZW50IHJlcXVlc3QncyBoZWFkZXJzLjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PGEgaHJlZj0iI2xvYWRfY29va2llcyI+bG9hZF9jb29raWVzPC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0icmVmcHVycG9zZSI+ICYjODIxMjsgZ2V0IGFueSBjb29raWUgdmFyaWFibGVzIHNlbnQgYnkgdGhlIGNsaWVudC48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPjxhIGhyZWY9IiNsb2FkX2VudiI+bG9hZF9lbnY8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBnZXQgdGhlIHJlcXVlc3QncyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuPC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj48YSBocmVmPSIjZW52Ij5lbnY8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBMb2FkcyBhIHNpbmdsZQoJImVudmlyb25tZW50YWwgdmFyaWFibGUiIGludG8gYSBUY2wgdmFyaWFibGUuPC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj48YSBocmVmPSIjaW5jbHVkZSI+aW5jbHVkZTwvYT48L3NwYW4+PHNwYW4gY2xhc3M9InJlZnB1cnBvc2UiPiAmIzgyMTI7IGluY2x1ZGVzIGEgZmlsZSBpbnRvIHRoZSBvdXRwdXQgc3RyZWFtIHdpdGhvdXQgbW9kaWZpY2F0aW9uLjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PGEgaHJlZj0iI3BhcnNlIj5wYXJzZTwvYT48L3NwYW4+PHNwYW4gY2xhc3M9InJlZnB1cnBvc2UiPiAmIzgyMTI7IHBhcnNlcyBhIFJpdmV0IHRlbXBsYXRlIGZpbGUuPC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj48YSBocmVmPSIjaGVhZGVycyI+aGVhZGVyczwvYT48L3NwYW4+PHNwYW4gY2xhc3M9InJlZnB1cnBvc2UiPiAmIzgyMTI7IHNldCBhbmQgcGFyc2UgSFRUUCBoZWFkZXJzLjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PGEgaHJlZj0iI21ha2V1cmwiPm1ha2V1cmw8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBjb25zdHJ1Y3QgdXJsJ3MgYmFzZWQgb24gaG9zdG5hbWUsIHBvcnQuPC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj48YSBocmVmPSIjY29va2llIj5jb29raWU8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBnZXQgYW5kIHNldCBjb29raWVzLjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PGEgaHJlZj0iI2Nsb2NrX3RvX3JmYyI+Y2xvY2tfdG9fcmZjODUwX2dtdDwvYT48L3NwYW4+PHNwYW4gY2xhc3M9InJlZnB1cnBvc2UiPiAmIzgyMTI7IGNyZWF0ZSBhIHJmYzg1MCB0aW1lIGZyb20gW2Nsb2NrIHNlY29uZHNdLjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PGEgaHJlZj0iI2h0bWwiPmh0bWw8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBjb25zdHJ1Y3QgaHRtbCB0YWdnZWQgdGV4dC48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPjxhIGhyZWY9IiNpbmNyMCI+aW5jcjA8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBpbmNyZW1lbnQgYSB2YXJpYWJsZSBvciBzZXQgaXQgdG8gMSBpZiBub25leGlzdGFudC48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPjxhIGhyZWY9IiNwYXJyYXkiPnBhcnJheTwvYT48L3NwYW4+PHNwYW4gY2xhc3M9InJlZnB1cnBvc2UiPiAmIzgyMTI7IFRjbCdzIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnBhcnJheTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IHdpdGggaHRtbCBmb3JtYXR0aW5nLjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PGEgaHJlZj0iI2Fib3J0X3BhZ2UiPmFib3J0X3BhZ2U8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBTdG9wcyBvdXRwdXRpbmcgZGF0YSB0byB3ZWIgcGFnZSwgc2ltaWxhciBpbgoJICBwdXJwb3NlIHRvIFBIUCdzIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmRpZTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGNvbW1hbmQuPC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj48YSBocmVmPSIjbm9fYm9keSI+bm9fYm9keTwvYT48L3NwYW4+PHNwYW4gY2xhc3M9InJlZnB1cnBvc2UiPiAmIzgyMTI7IFByZXZlbnRzIFJpdmV0IGZyb20gc2VuZGluZyBhbnkgY29udGVudC48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPjxhIGhyZWY9IiNlc2NhcGVfc3RyaW5nIj5lc2NhcGVfc3RyaW5nPC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0icmVmcHVycG9zZSI+ICYjODIxMjsgY29udmVydCBhIHN0cmluZyBpbnRvIGVzY2FwZWQgY2hhcmFjdGVycy48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPjxhIGhyZWY9IiNlc2NhcGVfc2dtbF9jaGFycyI+ZXNjYXBlX3NnbWxfY2hhcnM8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBlc2NhcGUgc3BlY2lhbCBTR01MIGNoYXJhY3RlcnMgaW4gYSBzdHJpbmcuPC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj48YSBocmVmPSIjZXNjYXBlX3NoZWxsX2NvbW1hbmQiPmVzY2FwZV9zaGVsbF9jb21tYW5kPC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0icmVmcHVycG9zZSI+ICYjODIxMjsgZXNjYXBlIHNoZWxsIG1ldGFjaGFyYWN0ZXJzIGluIGEgc3RyaW5nLjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PGEgaHJlZj0iI3VuZXNjYXBlX3N0cmluZyI+dW5lc2NhcGVfc3RyaW5nPC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0icmVmcHVycG9zZSI+ICYjODIxMjsgdW5lc2NhcGUgZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGEgc3RyaW5nLjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PGEgaHJlZj0iI2FwYWNoZV9sb2dfZXJyb3IiPmFwYWNoZV9sb2dfZXJyb3I8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBsb2cgbWVzc2FnZXMgdG8gdGhlIEFwYWNoZSBlcnJvciBsb2c8L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPjxhIGhyZWY9IiNhcGFjaGVfdGFibGUiPmFwYWNoZV90YWJsZTwvYT48L3NwYW4+PHNwYW4gY2xhc3M9InJlZnB1cnBvc2UiPiAmIzgyMTI7IGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBBcGFjaGUgdGFibGVzIGluIHRoZSByZXF1ZXN0IHN0cnVjdHVyZS48L3NwYW4+PC9kdD48L2RsPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjZXhhbXBsZXMiPkV4YW1wbGVzIGFuZCBVc2FnZTwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3Rpb24iPjxhIGhyZWY9IiN0Y2xfcGFja2FnZXMiPlJpdmV0IFRjbCBQYWNrYWdlczwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3Rpb24iPjxhIGhyZWY9IiNkaW8iPkRJTyAtIERhdGFiYXNlIEludGVyZmFjZSBPYmplY3RzPC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj48YSBocmVmPSIjZGlvX3BhY2thZ2UiPkRJTzwvYT48L3NwYW4+PHNwYW4gY2xhc3M9InJlZnB1cnBvc2UiPiAmIzgyMTI7IERhdGFiYXNlIEludGVyZmFjZSBPYmplY3RzPC9zcGFuPjwvZHQ+PC9kbD48L2RkPjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2Rpb2Rpc3BsYXkiPkRJT0Rpc3BsYXkgLSBEYXRhYmFzZSBJbnRlcmZhY2UgT2JqZWN0cyBEaXNwbGF5IENsYXNzPC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj48YSBocmVmPSIjZGlvZGlzcGxheV9wYWNrYWdlIj5ESU9EaXNwbGF5PC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0icmVmcHVycG9zZSI+ICYjODIxMjsgRGF0YWJhc2UgSW50ZXJmYWNlIE9iamVjdHMgRGlzcGxheSBDbGFzczwvc3Bhbj48L2R0PjwvZGw+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InNlY3Rpb24iPjxhIGhyZWY9IiNzZXNzaW9uX3BhY2thZ2UiPlNlc3Npb24gUGFja2FnZTwvYT48L3NwYW4+PC9kdD48ZGQ+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2lkMzgxMDI2Ij5JbnRyb2R1Y3Rpb248L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjcmVxdWlyZW1lbnRzIj5SZXF1aXJlbWVudHM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaWQzODEzNjIiPlByZXBhcmluZyBUbyBVc2UgSXQ8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaWQzODE0MDciPkV4YW1wbGUgVXNhZ2U8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaWQzODE0NjMiPlVzaW5nIFNlc3Npb25zIEZyb20gWW91ciBDb2RlPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2lkMzgxNjYwIj5TZXNzaW9uIENvbmZpZ3VyYXRpb24gT3B0aW9uczwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3Rpb24iPjxhIGhyZWY9IiNpZDM4MTg4OCI+U2Vzc2lvbiBNZXRob2RzPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2lkMzgyMTE0Ij5HZXR0aW5nIEFkZGl0aW9uYWwgUmFuZG9tbmVzcyBGcm9tIFRoZSBFbnRyb3B5IEZpbGU8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2Zvcm0iPkZvcm06IEFuIEhUTUwgRm9ybSBGaWVsZHMgR2VuZXJhdGlvbiBVdGlsaXR5PC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaWQzODI3NDQiPkludHJvZHVjdGlvbjwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPjxhIGhyZWY9IiNmb3JtX3BhY2thZ2UiPmZvcm08L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyAgYSBUY2wgY29tbWFuZCBvYmplY3QgZm9yIGNyZWF0aW5nIEhUTUwgZm9ybXM8L3NwYW4+PC9kdD48L2RsPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjY2FsZW5kYXJfcGFja2FnZSI+Q2FsZW5kYXIgUGFja2FnZTwvYT48L3NwYW4+PC9kdD48ZGQ+PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2lkMzg3NTE0Ij5JbnRyb2R1Y3Rpb248L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj48YSBocmVmPSIjY2FsZW5kYXIiPkNhbGVuZGFyPC9hPjwvc3Bhbj48c3BhbiBjbGFzcz0icmVmcHVycG9zZSI+ICYjODIxMjsgVXRpbGl0eSBjbGFzcyB0aGUgYnVpbGRzIGFuZCBwcmludHMgYSBjYWxlbmRhciB0YWJsZTwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PGEgaHJlZj0iI3htbF9jYWxlbmRhciI+WG1sQ2FsZW5kYXI8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBQcmludHMgWE1MIGZvcm1hdHRlZCBjYWxlbmRhciB0YWJsZXM8L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPjxhIGhyZWY9IiNodG1sX2NhbGVuZGFyIj5IdG1sQ2FsZW5kYXI8L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWZwdXJwb3NlIj4gJiM4MjEyOyBDb25jcmV0ZSBjbGFzcyBkZXJpdmVkIGZyb20gWG1sQ2FsZW5kYXI8L3NwYW4+PC9kdD48L2RsPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaGVscCI+UmVzb3VyY2VzIC0gSG93IHRvIEdldCBIZWxwPC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaWQzODk1MDEiPk1haWxpbmcgTGlzdHM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaWQzODk1MjgiPk5ld3Nncm91cDwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3Rpb24iPjxhIGhyZWY9IiN3ZWJzaXRlcyI+V2ViIFNpdGVzPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2lkMzg5OTAxIj5CdWcgVHJhY2tpbmcgU3lzdGVtPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2lkMzg5OTE3Ij5JUkM8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaWQzODk5MjgiPkVkaXRpbmcgUml2ZXQgVGVtcGxhdGUgRmlsZXM8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2ludGVybmFscyI+Uml2ZXQgSW50ZXJuYWxzPC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaWQzODk3MzUiPkluaXRpYWxpemF0aW9uPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2lkMzg5Njg2Ij5SaXZldENoYW48L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaWQzOTAyNTUiPlRoZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5nbG9iYWw8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBDb21tYW5kPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2lkMzkwMzAwIj5QYWdlIFBhcnNpbmcsIEV4ZWN1dGlvbiBhbmQgQ2FjaGluZzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3Rpb24iPjxhIGhyZWY9IiNpZDM5MDM0MiI+RGVidWdnaW5nIFJpdmV0IGFuZCBBcGFjaGU8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI3VwZ3JhZGluZyI+VXBncmFkaW5nIGZyb20gbW9kX2R0Y2wgb3IgTmVvV2ViU2NyaXB0PC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSIjaWQzOTA0NzYiPm1vZF9kdGNsPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iI2lkMzkwNDg3Ij5OZW9XZWJTY3JpcHQ8L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjwvZGw+PC9kaXY+PGRpdiBjbGFzcz0ibGlzdC1vZi1leGFtcGxlcyI+PHA+PGI+TGlzdCBvZiBFeGFtcGxlczwvYj48L3A+PGRsPjxkdD4xLiA8YSBocmVmPSIjaGVsbG8lMjB3b3JsZCI+SGVsbG8gV29ybGQ8L2E+PC9kdD48ZHQ+Mi4gPGEgaHJlZj0iI2lkMzY5Mjc5Ij5HZW5lcmF0ZSBhIFRhYmxlPC9hPjwvZHQ+PGR0PjMuIDxhIGhyZWY9IiN2YXJpYWJsZV9hY2Nlc3MiPlZhcmlhYmxlIEFjY2VzczwvYT48L2R0PjxkdD40LiA8YSBocmVmPSIjZmlsZV91cGxvYWQiPkZpbGUgVXBsb2FkPC9hPjwvZHQ+PGR0PjUuIDxhIGhyZWY9IiNmaWxlX2Rvd25sb2FkIj5GaWxlIERvd25sb2FkPC9hPjwvZHQ+PGR0PjYuIDxhIGhyZWY9IiNhamF4X3htbF9tZXNzYWdpbmciPlhNTCBNZXNzYWdlcyBhbmQgQWpheDwvYT48L2R0PjwvZGw+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CiAgICBEb2N1bWVudCByZXZpc2lvbjogJFJldmlzaW9uOiA5NTk4MjEgJCwgbGFzdCBtb2RpZmllZCAyMDEwLTA3LTIwoDIxOjQ5OjA0KzAyOjAwJCBieSAkQXV0aG9yOiBteG1hbmdoaSAkLgogIDwvcD48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iSW50cm9kdWN0aW9uIHRvIEFwYWNoZSBSaXZldCI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGhyPjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iaW50cm9kdWN0aW9uIj48L2E+SW50cm9kdWN0aW9uIHRvIEFwYWNoZSBSaXZldDwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CiAgICAgIEFwYWNoZSBSaXZldCBpcyBhIHN5c3RlbSBmb3IgY3JlYXRpbmcgZHluYW1pYyB3ZWIgY29udGVudCB2aWEgYQogICAgICBwcm9ncmFtbWluZyBsYW5ndWFnZSBpbnRlZ3JhdGVkIHdpdGggQXBhY2hlIFdlYiBTZXJ2ZXIuICBJdCBpcwogICAgICBkZXNpZ25lZCB0byBiZSBmYXN0LCBwb3dlcmZ1bCBhbmQgZXh0ZW5zaWJsZSwgY29uc3VtZSBmZXcgc3lzdGVtCiAgICAgIHJlc291cmNlcywgYmUgZWFzeSB0byBsZWFybiwgYW5kIHRvIHByb3ZpZGUgdGhlIHVzZXIgd2l0aCBhCiAgICAgIHBsYXRmb3JtIHRoYXQgY2FuIGFsc28gYmUgdXNlZCBmb3Igb3RoZXIgcHJvZ3JhbW1pbmcgdGFza3MKICAgICAgb3V0c2lkZSB0aGUgd2ViIChHVUkncywgc3lzdGVtIGFkbWluaXN0cmF0aW9uIHRhc2tzLCB0ZXh0CiAgICAgIHByb2Nlc3NpbmcsIGRhdGFiYXNlIG1hbmlwdWxhdGlvbiwgWE1MLCBhbmQgc28gb24pLiAgSW4gb3JkZXIgdG8KICAgICAgbWVldCB0aGVzZSBnb2Fscywgd2UgaGF2ZSBjaG9zZW4gdGhlIFRjbCBwcm9ncmFtbWluZyBsYW5ndWFnZSB0bwogICAgICBjb21iaW5lIHdpdGggdGhlIEFwYWNoZSBXZWIgU2VydmVyLgogICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgogICAgICBJbiB0aGlzIG1hbnVhbCwgd2UgYWltIHRvIGhlbHAgZ2V0IHlvdSBzdGFydGVkLCBhbmQgdGhlbgogICAgICB3cml0aW5nIHByb2R1Y3RpdmUgY29kZSBhcyBxdWlja2x5IGFzIHBvc3NpYmxlLCBhcyB3ZWxsIGFzCiAgICAgIGdpdmluZyB5b3UgaWRlYXMgb24gaG93IHRvIGJlc3QgdGFrZSBhZHZhbnRhZ2Ugb2YgUml2ZXQncwogICAgICBhcmNoaXRlY3R1cmUgdG8gY3JlYXRlIGRpZmZlcmVudCBzdHlsZXMgb2Ygd2ViIHNpdGUuCiAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CiAgICAgIFRoaXMgZG9jdW1lbnRhdGlvbiBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MsIGFuZCwgbGlrZSBldmVyeXRoaW5nCiAgICAgIGVsc2UgYWJvdXQgQXBhY2hlIFJpdmV0LCBpdCBpcyBGcmVlIFNvZnR3YXJlLiAgSWYgeW91IHNlZQogICAgICBzb21ldGhpbmcgdGhhdCBuZWVkcyBpbXByb3ZpbmcsIGFuZCBoYXZlIGlkZWFzIG9yIHN1Z2dlc3Rpb25zLAogICAgICBkb24ndCBoZXNpdGF0ZSB0byBsZXQgdXMga25vdy4gIElmIHlvdSB3YW50IHRvIGNvbnRyaWJ1dGUKICAgICAgZGlyZWN0bHksIGJldHRlciB5ZXQhCiAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiIgdGl0bGU9IkFwYWNoZSBSaXZldCBJbnN0YWxsYXRpb24iPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2Pjxocj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9Imluc3RhbGxhdGlvbiI+PC9hPkFwYWNoZSBSaXZldCBJbnN0YWxsYXRpb248L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InByb2NlZHVyZSI+PG9sIGNsYXNzPSJwcm9jZWR1cmUiIHR5cGU9IjEiPjxsaSBjbGFzcz0ic3RlcCIgdGl0bGU9IkNoZWNrIERlcGVuZGVuY2llcyI+PHAgY2xhc3M9InRpdGxlIj48Yj5DaGVjayBEZXBlbmRlbmNpZXM8L2I+PC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBUbyBpbnN0YWxsIFJpdmV0LCB5b3Ugd2lsbCBuZWVkIFRjbCA4LjQgb3IgZ3JlYXRlci4gUml2ZXQgY2FuIGJlIGNvbXBpbGVkIHRvIHdvcmsgCgkgIHdpdGggZWl0aGVyIEFwYWNoZSAxLjMueHggb3IgQXBhY2hlIDIuMi54eCBzZXJ2ZXIuCgkgIEl0IGlzIGtub3duIHRvIHJ1biBvbiBMaW51eCwgRnJlZUJTRCwgT3BlbkJTRCwgU29sYXJpcyBhbmQgSFBVWC4gV2luZG93cyBOVCBpcyBhbHNvIHBvc3NpYmxlCgkgIC0gcGxlYXNlIHNlZSB0aGUgZGlyZWN0aW9ucyBpbiB0aGUgZGlzdHJpYnV0aW9uLiAgCgk8L3A+PC9saT48bGkgY2xhc3M9InN0ZXAiIHRpdGxlPSJHZXQgUml2ZXQiPjxwIGNsYXNzPSJ0aXRsZSI+PGI+R2V0IFJpdmV0PC9iPjwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgRG93bmxvYWQgdGhlIHNvdXJjZXMgYXQgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vdGNsLmFwYWNoZS5vcmcvcml2ZXQvZG93bmxvYWQuaHRtbCIgdGFyZ2V0PSJfdG9wIj5odHRwOi8vdGNsLmFwYWNoZS5vcmcvcml2ZXQvZG93bmxvYWQuaHRtbDwvYT4uICBDdXJyZW50bHkKCSAgdGhlIG9ubHkgd2F5IHRvIG9idGFpbiBSaXZldC4gIEluIHRoZSBmdXR1cmUsIHdlIGhvcGUgdG8gaGF2ZSBhIEZyZWVCU0QgcG9ydCwgRGViaWFuIHBhY2thZ2UsIFJQTSdzLCBhbmQgd2luZG93cwoJICBiaW5hcmllcy4KCTwvcD48L2xpPjxsaSBjbGFzcz0ic3RlcCIgdGl0bGU9Ikluc3RhbGwgVGNsIj48cCBjbGFzcz0idGl0bGUiPjxiPkluc3RhbGwgVGNsPC9iPjwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgSWYgeW91IGRvbid0IGhhdmUgVGNsIGFscmVhZHksIHlvdSBuZWVkIGl0ISAgSWYgeW91IGFscmVhZHkKCSAgaGF2ZSBpdCwgeW91IHNob3VsZCBqdXN0IGJlIGFibGUgdG8gdXNlIHlvdXIgc3lzdGVtIFRjbCBhcwoJICBsb25nIGFzIGl0IGlzIHJlY2VudC4gIFlvdSBjYW4gdGVsbCBSaXZldCBidWlsZCBzY3JpcHRzIHdoZXJlIFRjbCBpcyB2aWEKCSAgdGhlIC0td2l0aC10Y2wgb3B0aW9uIHRvIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmNvbmZpZ3VyZTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IChzZWUgYmVsb3cpLgoJPC9wPjwvbGk+PGxpIGNsYXNzPSJzdGVwIiB0aXRsZT0iR2V0IGFuZCBJbnN0YWxsIEFwYWNoZSBTb3VyY2VzIj48cCBjbGFzcz0idGl0bGUiPjxiPkdldCBhbmQgSW5zdGFsbCBBcGFjaGUgU291cmNlczwvYj48L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CiAgICAgICAgICBSaXZldCBuZWVkcyBzb21lIEFwYWNoZSBpbmNsdWRlICguaCkgZmlsZXMgaW4gb3JkZXIgdG8gYnVpbGQuICBUaGUgZWFzaWVzdCB3YXkgCgkgIHRvIGdldCB0aGVtIGlzIHRvIGRvd25sb2FkIHRoZSBzb3VyY2UgY29kZSBvZiB0aGUgQXBhY2hlIHdlYiBzZXJ2ZXIsIGFsdGhvdWdoIHNvbWUgc3lzdGVtcwoJICAoRGViaWFuIEdOVS9MaW51eCBmb3IgZXhhbXBsZSkgbWFrZSBpdCBwb3NzaWJsZSB0byBpbnN0YWxsIG9ubHkgdGhlIGhlYWRlcnMgYW5kIG90aGVyIAoJICBkZXZlbG9wbWVudCBmaWxlcy4gIElmIHlvdSBpbnRlbmQgdG8gYnVpbGQgUml2ZXQgc3RhdGljYWxseSAoY29tcGlsZWQgaW50byB0aGUgQXBhY2hlIHdlYgoJICBzZXJ2ZXIgaW5zdGVhZCBvZiBsb2FkZWQgZHluYW1pY2FsbHkpLCB5b3UgZGVmaW5pdGVseSBuZWVkIHRoZSBzb3VyY2VzLiAgCgkgICAgV2UgcmVjb21tZW5kIHRoYXQgeW91IGJ1aWxkIFJpdmV0IGFzIGEgbG9hZGFibGUgc2hhcmVkIGxpYnJhcnksIGZvciBtYXhpbXVtIGZsZXhpYmlsaXR5LAoJICAgIG1lYW5pbmcgdGhhdCB5b3UgYWxzbyBidWlsZCBBcGFjaGUgdG8gYmUgYWJsZSB0byBsb2FkIG1vZHVsZXMuIE90aGVyIHRoYW4gdGhhdCwgCgkgICAgdGhlIGRlZmF1bHQgQXBhY2hlIGluc3RhbGwgaXMgZmluZS4gIFdlIHdpbGwgdGVsbCBSaXZldCB3aGVyZSBpdCBpcyBsb2NhdGVkIHZpYSB0aGUgCgkgICAgLS13aXRoLWFweHMgb3B0aW9uIHRvIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmNvbmZpZ3VyZTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IChzZWUgYmVsb3cpLgoJPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgogICAgICAgICAgVGhlIHNvdXJjZSBjb2RlIGZvciB0aGUgQXBhY2hlIHdlYiBzZXJ2ZXIgbWF5IGJlIGZvdW5kIGJ5CiAgICAgICAgICBmb2xsb3dpbmcgdGhlIGxpbmtzIGhlcmU6IDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvIiB0YXJnZXQ9Il90b3AiPmh0dHA6Ly9odHRwZC5hcGFjaGUub3JnLzwvYT4uCgk8L3A+PC9saT48bGkgY2xhc3M9InN0ZXAiIHRpdGxlPSJVbmNvbXByZXNzIFNvdXJjZXMiPjxwIGNsYXNzPSJ0aXRsZSI+PGI+VW5jb21wcmVzcyBTb3VyY2VzPC9iPjwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgV2Ugd2lsbCBhc3N1bWUgdGhhdCB5b3UgaGF2ZSBBcGFjaGUgaW5zdGFsbGVkIGF0IHRoaXMgcG9pbnQuCgkgIFlvdSBtdXN0IHVuY29tcHJlc3MgdGhlIFJpdmV0IHNvdXJjZXMgaW4gdGhlIGRpcmVjdG9yeSB3aGVyZSB5b3UKCSAgd2lzaCB0byBjb21waWxlIHRoZW0uCgoJICA8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Z3VuemlwIHJpdmV0LVguWC5YLnRhci5negp0YXIgLXh2ZiByaXZldC1YLlguWC50YXIuZ3o8L3ByZT48cCBzdHlsZT0id2lkdGg6OTAlIj4KCgk8L3A+PC9saT48bGkgY2xhc3M9InN0ZXAiIHRpdGxlPSJCdWlsZGluZyBSaXZldCI+PHAgY2xhc3M9InRpdGxlIj48Yj5CdWlsZGluZyBSaXZldDwvYj48L3A+PG9sIHR5cGU9ImEiIGNsYXNzPSJzdWJzdGVwcyI+PGxpIGNsYXNzPSJzdGVwIiB0aXRsZT0iU3RlcCA2LmEiPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgICAgT24gTGludXggb3IgVW5peCBzeXN0ZW1zLCBSaXZldCB1c2VzIHRoZSBzdGFuZGFyZCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz4uL2NvbmZpZ3VyZSA7IG1ha2UgOyBtYWtlIGluc3RhbGw8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiB0ZWNobmlxdWUuCgkgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgICAgVGhlcmUgYXJlIHNldmVyYWwgcml2ZXQgc3BlY2lmaWMgb3B0aW9ucyB0byBjb25maWd1cmUgdGhhdCBtaWdodCBiZSB1c2VmdWwgKG9yIG5lZWRlZCk6CgkgICAgICA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4tLXdpdGgtdGNsPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgICAgIFRoaXMgcG9pbnRzIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlCgkJICAgICAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj50Y2xDb25maWcuc2g8L2NvZGU+IGZpbGUgaXMgbG9jYXRlZC4KCQkgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPi0td2l0aC10Y2xzaDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5UaGlzIHBvaW50cyB0byB0aGUgbG9jYXRpb24gb2YgdGhlCgkJICAgICAgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj50Y2xzaDwvY29kZT4gZXhlY3V0YWJsZS48L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+LS13aXRoLWFweHM8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+VGhlIGxvY2F0aW9uIG9mIHRoZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmFweHM8L2NvZGU+CgkJICAgICAgcHJvZ3JhbSB0aGF0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZQoJCSAgICAgIGNvbmZpZ3VyYXRpb24gYW5kIGNvbXBpbGF0aW9uIG9wdGlvbnMgb2YgQXBhY2hlIG1vZHVsZXMuPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPi0td2l0aC1hcGFjaGUtdmVyc2lvbj1bMXwyXTwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJVGhpcyBvcHRpb24gdGVsbHMgdGhlIGJ1aWxkIHNjcmlwdHMgd2hldGhlciB5b3Ugd2FudCB0byBidWlsZCBSaXZldCBmb3IgdGhlCgkJCUFwYWNoZSAxLnggb3IgQXBhY2hlIDIueCBzZXJ2ZXIuCgkJICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4tLXdpdGgtYXBhY2hlLWluY2x1ZGVbPURJUl08L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCSAgICBMb2NhdGVzIHRoZSBBcGFjaGUgaW5jbHVkZSBmaWxlcyBvbiB5b3VyIGNvbXB1dGVyLCBpZiB0aGV5J3JlIG5vdCBpbiBzdGFuZGFyZCBkaXJlY3RvcnkuIAoJCSAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+LS1lbmFibGUtdmVyc2lvbi1kaXNwbGF5PVt5ZXN8bm9dPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQlUaGlzIG9wdGlvbiBlbmFibGVzIFJpdmV0IHRvIGRpc3BsYXkgaXRzIHZlcnNpb24gaW4gdGhlIGxvZ2ZpbGVzIHdoZW4gQXBhY2hlIGlzIHN0YXJ0ZWQuIAoJCQlUaGUgZGVmYXVsdCBpcyB0byBrZWVwIFJpdmV0IHZlcnNpb24gaGlkZGVuLgoJCSAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+LS13aXRoLXJpdmV0LXRhcmdldC1kaXI9RElSPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkgICAgVGhpcyBvcHRpb24gdGVsbHMgdGhlIGluc3RhbGwgc2NyaXB0IHdoZXJlIFJpdmV0J3MgVGNsIHBhY2thZ2VzIGhhdmUgdG8gYmUgY29waWVkLiAKCQkJPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgIDwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCQlFeGFtcGxlOiBjb25maWd1cmluZyB0aGUgYnVpbGQgc3lzdGVtIHRvIGNvbXBpbGUgUml2ZXQgZm9yIGFuIGFwYWNoZSAyLnggc2VydmVyLCB1c2luZyB0Y2w4LjUgYW5kCgkJc3BlY2lmeWluZyBhIGN1c3RvbSBuYW1lIGZvciB0aGUgYXB4cyBwcm9ncmFtLiAKCSAgICA8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Ci4vY29uZmlndXJlIC0td2l0aC10Y2w9L3Vzci9saWIvdGNsOC41LyAtLXdpdGgtdGNsc2g9L3Vzci9iaW4vdGNsc2g4LjUgXAoJICAgIC0td2l0aC1hcHhzPS91c3IvYmluL2FweHMyIC0td2l0aC1hcGFjaGU9L3VzciAtLXdpdGgtYXBhY2hlLXZlcnNpb249MgoJPC9wcmU+PC9saT48bGkgY2xhc3M9InN0ZXAiIHRpdGxlPSJSdW4gbWFrZSI+PHAgY2xhc3M9InRpdGxlIj48Yj5SdW4gbWFrZTwvYj48L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgICAgICBBdCB0aGlzIHBvaW50LCB5b3UgYXJlIHJlYWR5IHRvIHJ1biBtYWtlLCB3aGljaCBzaG91bGQKCSAgICAgIHJ1biB0byBjb21wbGV0aW9uIHdpdGhvdXQgYW55IGVycm9ycyAoYSB3YXJuaW5nIG9yIHR3bwoJICAgICAgaXMgb2ssIGdlbmVyYWxseSkuCgkgICAgPC9wPjwvbGk+PGxpIGNsYXNzPSJzdGVwIiB0aXRsZT0iSW5zdGFsbCI+PHAgY2xhc3M9InRpdGxlIj48Yj5JbnN0YWxsPC9iPjwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgICAgIE5vdywgeW91IGFyZSByZWFkeSB0byBydW4gdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPm1ha2UKCQlpbnN0YWxsPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gdG8gaW5zdGFsbCB0aGUgcmVzdWx0aW5nIGZpbGVzLgoJCVRoaXMgc2hvdWxkIGNvcHkgdGhlIHNoYXJlZCBvYmplY3QgKGxpa2UKCQk8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPm1vZF9yaXZldC5zbzwvY29kZT4sIGlmIG9uZSB3YXMKCQlzdWNjZXNzZnVsbHkgY3JlYXRlZCwgaW50byBBcGFjaGUncwoJCTxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+bGliZXhlYzwvY29kZT4gZGlyZWN0b3J5LCBhcyB3ZWxsIGFzCgkJaW5zdGFsbCBzb21lIHN1cHBvcnQgc2NyaXB0cyBhbmQgdmFyaW91cyBjb2RlLgoJICAgIDwvcD48L2xpPjwvb2w+PC9saT48bGkgY2xhc3M9InN0ZXAiIHRpdGxlPSJBcGFjaGUgQ29uZmlndXJhdGlvbiBGaWxlcyI+PHAgY2xhc3M9InRpdGxlIj48Yj5BcGFjaGUgQ29uZmlndXJhdGlvbiBGaWxlczwvYj48L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgIFJpdmV0IGlzIHJlbGF0aXZlbHkgZWFzeSB0byBjb25maWd1cmUgLSB3ZSBzdGFydCBvZmYgYnkKCSAgYWRkaW5nIHRoZSBtb2R1bGUgaXRzZWxmOgoJPC9wPjxwcmUgc3R5bGU9ImJhY2tncm91bmQ6I2NjYzsgbWFyZ2luOiAyZXg7IG1hcmdpbi1yaWdodDogMTAlOyAgICAgICBwYWRkaW5nOiAxZXg7IGJvcmRlcjogZGFzaGVkIGJsYWNrIDFweCA7IHdoaXRlLXNwYWNlOiBwcmU7ICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC1zaXplOiA5MCU7IiBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkxvYWRNb2R1bGUgcml2ZXRfbW9kdWxlCTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPi91c3IvbGliL2FwYWNoZTIvbW9kdWxlcy9tb2Rfcml2ZXQuc288L2NvZGU+PC9lbT4KCTwvcHJlPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBUaGlzIHRlbGxzIEFwYWNoZSB0byBsb2FkIHRoZSBSaXZldCBzaGFyZWQgb2JqZWN0LCB3aGVyZXZlcgoJICBpdCBoYXBwZW5zIHRvIHJlc2lkZSBvbiB5b3VyIGZpbGUgc3lzdGVtLiAgTm93IHdlIGhhdmUgdG8KCSAgdGVsbCBBcGFjaGUgd2hhdCBraW5kIG9mIGZpbGVzIGFyZSAiUml2ZXQiIGZpbGVzIGFuZCBob3cgdG8KCSAgcHJvY2VzcyB0aGVtOgoJPC9wPjxwcmUgc3R5bGU9ImJhY2tncm91bmQ6I2NjYzsgbWFyZ2luOiAyZXg7IG1hcmdpbi1yaWdodDogMTAlOyAgICAgICBwYWRkaW5nOiAxZXg7IGJvcmRlcjogZGFzaGVkIGJsYWNrIDFweCA7IHdoaXRlLXNwYWNlOiBwcmU7ICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC1zaXplOiA5MCU7IiBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkFkZFR5cGUgYXBwbGljYXRpb24veC1odHRwZC1yaXZldCAucnZ0CkFkZFR5cGUgYXBwbGljYXRpb24veC1yaXZldC10Y2wgLnRjbDwvcHJlPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBUaGVzZSB0ZWxsIEFwYWNoZSB0byBwcm9jZXNzIGZpbGVzIHdpdGggdGhlCgkgIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+LnJ2dDwvY29kZT4gYW5kIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+LnRjbDwvY29kZT4KCSAgZXh0ZW5zaW9ucyBhcyBSaXZldCBmaWxlcy4KCTwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgVGhlIGNoYXJhY3RlcnMgZW5jb2RpbmcgY2FuIGJlIGNoYW5nZWQgdXNpbmcgdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmhlYWRlciB0eXBlPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZCwKCSAgYnV0IHlvdSBjYW4gYWxzbyBjaGFuZ2UgdGhlIGRlZmF1bHQgY2hhcnNldCBmb3IgdGhlIHdob2xlIHNpdGU6Cgk8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+QWRkVHlwZSAnYXBwbGljYXRpb24veC1odHRwZC1yaXZldDtjaGFyc2V0PXV0Zi04JyBydnQ8L3ByZT48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgIEFsbCB0aGUgcGFnZXMgZ2VuZXJhdGVkIGJ5IFJpdmV0IG9uIHRoaXMgc2l0ZSB3aWxsIGJlIHNlbnQgd2l0aCBhIAoJICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkNvbnRlbnQtVHlwZTondGV4dC9odG1sO2NoYXJzZXQ9dXRmLTgnPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gaGVhZGVyLgoJPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPllvdSBtYXkgYWxzbyB3aXNoIHRvIHVzZSBSaXZldCBmaWxlcyBhcyBpbmRleCBmaWxlcyBmb3IKCWRpcmVjdG9yaWVzLiAgSW4gdGhhdCBjYXNlLCB5b3Ugd291bGQgZG8gdGhlIGZvbGxvd2luZzo8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RGlyZWN0b3J5SW5kZXggaW5kZXguaHRtbCBpbmRleC5odG0gaW5kZXguc2h0bWwgaW5kZXguY2dpIGluZGV4LnRjbCBpbmRleC5ydnQ8L3ByZT48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgRm9yIG90aGVyIGRpcmVjdGl2ZXMgdGhhdCBSaXZldCBwcm92aWRlcyBmb3IgQXBhY2hlCgkgIGNvbmZpZ3VyYXRpb24sIHBsZWFzZSBzZWUgPGEgY2xhc3M9InhyZWYiIGhyZWY9IiNkaXJlY3RpdmVzIiB0aXRsZT0iUml2ZXQgQXBhY2hlIERpcmVjdGl2ZXMiPnRoZSBzZWN0aW9uIGNhbGxlZCAmIzgyMjA7Uml2ZXQgQXBhY2hlIERpcmVjdGl2ZXMmIzgyMjE7PC9hPi4KCTwvcD48L2xpPjwvb2w+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiIgdGl0bGU9IlJpdmV0IEFwYWNoZSBEaXJlY3RpdmVzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aHI+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJkaXJlY3RpdmVzIj48L2E+Uml2ZXQgQXBhY2hlIERpcmVjdGl2ZXM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgogICAgICBUaGVzZSBkaXJlY3RpdmVzIGFyZSB1c2VkIHdpdGhpbiB0aGUgQXBhY2hlIGh0dHBkIHNlcnZlcgogICAgICBjb25maWd1cmF0aW9uIGZpbGVzIHRvIG1vZGlmeSBBcGFjaGUgUml2ZXQncyBiZWhhdmlvci4gIFRoZWlyCiAgICAgIHByZWNlZGVuY2UgaXMgYXMgZm9sbG93czogPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Uml2ZXREaXJDb25mPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4sCiAgICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPlJpdmV0VXNlckNvbmY8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiwKICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Uml2ZXRTZXJ2ZXJDb25mPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4sIG1lYW5pbmcgdGhhdCBEaXJDb25mIHdpbGwKICAgICAgb3ZlcnJpZGUgVXNlckNvbmYsIHdoaWNoIHdpbGwgaW4gdHVybiBvdmVycmlkZSBTZXJ2ZXJDb25mLgogICAgPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+Uml2ZXRTZXJ2ZXJDb25mPC9zcGFuPiAgKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Q2FjaGVTaXplPC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+R2xvYmFsSW5pdFNjcmlwdDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPkNoaWxkSW5pdFNjcmlwdDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPkNoaWxkRXhpdFNjcmlwdDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPkJlZm9yZVNjcmlwdDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPkFmdGVyU2NyaXB0PC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+RXJyb3JTY3JpcHQ8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5VcGxvYWREaXJlY3Rvcnk8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5VcGxvYWRNYXhTaXplPC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+VXBsb2FkRmlsZXNUb1Zhcjwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPlNlcGFyYXRlVmlydHVhbEludGVycHM8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5Ib25vckhlYWRlck9ubHlSZXF1ZXN0czwvc3Bhbj4pPC9kaXY+PC9kaXY+Cgk8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Uml2ZXRTZXJ2ZXJDb25mPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gc3BlY2lmaWVzIGEgZ2xvYmFsCgkgICAgb3B0aW9uIHRoYXQgaXMgdmFsaWQgZm9yIHRoZSB3aG9sZSBzZXJ2ZXIuICBJZiB5b3UgaGF2ZSBhCgkgICAgdmlydHVhbCBob3N0LCBpbiBzb21lIGNhc2VzLCB0aGUgb3B0aW9uIHNwZWNpZmllZCBpbiB0aGUKCSAgICB2aXJ0dWFsaG9zdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlICdnbG9iYWwnIHZlcnNpb24uCgkgIDwvZGl2PjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPkNhY2hlU2l6ZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnNpemU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgU2V0cyB0aGUgc2l6ZSBvZiB0aGUgaW50ZXJuYWwgcGFnZSBjYWNoZSwgd2hlcmUKCQkgIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnNpemU8L2NvZGU+PC9lbT4gaXMKCQkgIHRoZSBudW1iZXIgb2YgYnl0ZS1jb21waWxlZCBwYWdlcyB0byBiZSBjYWNoZWQgZm9yCgkJICBmdXR1cmUgdXNlLiAgRGVmYXVsdCBpcwoJCSAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+TWF4UmVxdWVzdHNQZXJDaGlsZDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IC8gNSwgb3IgNTAsCgkJICBpZiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5NYXhSZXF1ZXN0c1BlckNoaWxkPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gaXMgMC4KCQk8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIFRoaXMgb3B0aW9uIGlzIGNvbXBsZXRlbHkgZ2xvYmFsLCBldmVuIHdoZW4gdXNpbmcKCQkgIHNlcGFyYXRlLCBwZXItdmlydHVhbCBob3N0IGludGVycHJldGVycy4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPkdsb2JhbEluaXRTY3JpcHQ8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5zY3JpcHQ8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgVGNsIHNjcmlwdCB0aGF0IGlzIHJ1biB3aGVuIGVhY2ggaW50ZXJwcmV0ZXIgaXMKCQkgIGluaXRpYWxpemVkLiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5zY3JpcHQ8L2NvZGU+PC9lbT4KCQkgIGlzIGFuIGFjdHVhbCBUY2wgc2NyaXB0LCBzbyB0byBydW4gYSBmaWxlLCB5b3Ugd291bGQKCQkgIGRvOgoKCQkgIDxwcmUgc3R5bGU9ImJhY2tncm91bmQ6I2NjYzsgbWFyZ2luOiAyZXg7IG1hcmdpbi1yaWdodDogMTAlOyAgICAgICBwYWRkaW5nOiAxZXg7IGJvcmRlcjogZGFzaGVkIGJsYWNrIDFweCA7IHdoaXRlLXNwYWNlOiBwcmU7ICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC1zaXplOiA5MCU7IiBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlJpdmV0U2VydmVyQ29uZiBHbG9iYWxJbml0U2NyaXB0ICJzb3VyY2UgL3Zhci93d3cvZm9vYmFyLnRjbCI8L3ByZT4KCQk8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIFRoaXMgb3B0aW9uIGlzIGlnbm9yZWQgaW4gdmlydHVhbCBob3N0cy4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPkNoaWxkSW5pdFNjcmlwdDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnNjcmlwdDwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBTY3JpcHQgdG8gYmUgZXZhbHVhdGVkIHdoZW4gZWFjaCBBcGFjaGUgY2hpbGQKCQkgIHByb2Nlc3MgaXMgaW5pdGlhbGl6ZWQuICBUaGlzIGlzIHRoZSByZWNvbW1lbmRlZAoJCSAgcGxhY2UgdG8gbG9hZCBtb2R1bGVzLCBjcmVhdGUgZ2xvYmFsIHZhcmlhYmxlcywgb3BlbgoJCSAgY29ubmVjdGlvbnMgdG8gb3RoZXIgZmFjaWxpdGllcyAoc3VjaCBhcyBkYXRhYmFzZXMpCgkJICBhbmQgc28gb24uCgkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBJbiB2aXJ0dWFsIGhvc3RzLCB0aGlzIHNjcmlwdCBpcyBydW4gaW4gYWRkaXRpb24gdG8KCQkgIGFueSBnbG9iYWwgY2hpbGRpbml0c2NyaXB0LgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Q2hpbGRFeGl0U2NyaXB0PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+c2NyaXB0PC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIFNjcmlwdCB0byBiZSBldmFsdWF0ZWQgd2hlbiBlYWNoIEFwYWNoZSBjaGlsZAoJCSAgcHJvY2VzcyBleGl0cy4gIFRoaXMgaXMgdGhlIGxvZ2ljYWwgcGxhY2UgdG8gY2xlYW4KCQkgIHVwIHJlc291cmNlcyBjcmVhdGVkIGluCgkJICBDaGlsZEluaXRTY3JpcHQsIGlmIG5lY2Vzc2FyeS4KCQk8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIEluIHZpcnR1YWwgaG9zdHMsIHRoaXMgc2NyaXB0IGlzIHJ1biBpbiBhZGRpdGlvbiB0bwoJCSAgYW55IGdsb2JhbCBjaGlsZGV4aXRzY3JpcHQuCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5CZWZvcmVTY3JpcHQ8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5zY3JpcHQ8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgU2NyaXB0IHRvIGJlIGV2YWx1YXRlZCBiZWZvcmUgZWFjaCBzZXJ2ZXIgcGFyc2VkCgkJICAoLnJ2dCkgcGFnZS4gIFRoaXMgY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGEgc3RhbmRhcmQKCQkgIGhlYWRlciwgZm9yIGluc3RhbmNlLiAgSXQgY291bGQgYWxzbyBiZSB1c2VkIHRvIGxvYWQKCQkgIGNvZGUgdGhhdCB5b3UgbmVlZCBmb3IgZXZlcnkgcGFnZSwgaWYgeW91IGRvbid0IHdhbnQKCQkgIHRvIHB1dCBpdCBpbiBhIEdsb2JhbEluaXRTY3JpcHQKCQkgIENoaWxkSW5pdFNjcmlwdCB3aGVuIHlvdSBhcmUgZmlyc3QKCQkgIGRldmVsb3BpbmcgYSB3ZWIgc2l0ZS4KCQkgIDxkaXYgY2xhc3M9Im5vdGUiIHRpdGxlPSJOb3RlIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyBtYXJnaW4tcmlnaHQ6IDAuNWluOyI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iTm90ZSI+PHRyPjx0ZCByb3dzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjI1Ij48aW1nIGFsdD0iW05vdGVdIiBzcmM9ImltYWdlcy9ub3RlLnBuZyI+PC90ZD48dGggYWxpZ249ImxlZnQiPk5vdGU8L3RoPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgoJCSAgICBUaGlzIGNvZGUgaXMgZXZhbHVhdGVkIGF0IHRoZSBnbG9iYWwgbGV2ZWwsIG5vdAoJCSAgICBpbnNpZGUgdGhlIHJlcXVlc3QgbmFtZXNwYWNlIHdoZXJlIHBhZ2VzIGFyZQoJCSAgICBldmFsdWF0ZWQuCgkJICA8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj4KCQk8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIEluIHZpcnR1YWwgaG9zdHMsIHRoaXMgb3B0aW9uIHRha2VzIHByZWNlZGVuY2Ugb3ZlcgoJCSAgdGhlIGdsb2JhbCBzZXR0aW5nLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+QWZ0ZXJTY3JpcHQ8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5zY3JpcHQ8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgU2NyaXB0IHRvIGJlIGNhbGxlZCBhZnRlciBlYWNoIHNlcnZlciBwYXJzZWQgKC5ydnQpIHBhZ2UuCgkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBJbiB2aXJ0dWFsIGhvc3RzLCB0aGlzIG9wdGlvbiB0YWtlcyBwcmVjZWRlbmNlIG92ZXIKCQkgIHRoZSBnbG9iYWwgc2V0dGluZy4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPkVycm9yU2NyaXB0PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+c2NyaXB0PC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIFdoZW4gUml2ZXQgZW5jb3VudGVycyBhbiBlcnJvciBpbiBhIHNjcmlwdCwgaXQKCQkgIGNvbnN0cnVjdHMgYW4gSFRNTCBwYWdlIHdpdGggc29tZSBpbmZvcm1hdGlvbiBhYm91dAoJCSAgdGhlIGVycm9yLCBhbmQgdGhlIHNjcmlwdCB0aGF0IHdhcyBiZWluZwoJCSAgZXZhbHVhdGVkLiBJZiBhbiBFcnJvclNjcmlwdCBpcwoJCSAgc3BlY2lmaWVkLCBpdCBpcyBwb3NzaWJsZSB0byBjcmVhdGUgY3VzdG9tIGVycm9yCgkJICBwYWdlcy4gIFRoaXMgbWF5IGJlIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBtYWtlIHN1cmUKCQkgIHRoYXQgdXNlcnMgbmV2ZXIgdmlldyB5b3VyIHNvdXJjZSBjb2RlLgoJCTwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgSW4gdmlydHVhbCBob3N0cywgdGhpcyBvcHRpb24gdGFrZXMgcHJlY2VkZW5jZSBvdmVyCgkJICB0aGUgZ2xvYmFsIHNldHRpbmcuCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5VcGxvYWREaXJlY3Rvcnk8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5kaXJlY3Rvcnk8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPkRpcmVjdG9yeSB0byBwbGFjZSB1cGxvYWRlZCBmaWxlcy48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIEluIHZpcnR1YWwgaG9zdHMsIHRoaXMgb3B0aW9uIHRha2VzIHByZWNlZGVuY2Ugb3ZlcgoJCSAgdGhlIGdsb2JhbCBzZXR0aW5nLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+VXBsb2FkTWF4U2l6ZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnNpemU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPk1heGltdW0gc2l6ZSBmb3IgdXBsb2FkZWQgZmlsZXMuPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBJbiB2aXJ0dWFsIGhvc3RzLCB0aGlzIG9wdGlvbiB0YWtlcyBwcmVjZWRlbmNlIG92ZXIKCQkgIHRoZSBnbG9iYWwgc2V0dGluZy4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPlVwbG9hZEZpbGVzVG9WYXI8L3NwYW4+ICAoPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij55ZXM8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5ubzwvc3Bhbj4pPC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBUaGlzIG9wdGlvbiBjb250cm9scyB3aGV0aGVyIGl0IGlzIHBvc3NpYmxlIHRvCgkJICB1cGxvYWQgZmlsZXMgdG8gYSBUY2wgdmFyaWFibGUuICBJZiB5b3UgaGF2ZSBhIHNpemUKCQkgIGxpbWl0LCBhbmQgZG9uJ3QgaGF2ZSB0byBkZWFsIHdpdGggbGFyZ2UgZmlsZXMsIHRoaXMKCQkgIG1pZ2h0IGJlIG1vcmUgY29udmVuaWVudCB0aGFuIHNlbmRpbmcgdGhlIGRhdGEgdG8gYQoJCSAgZmlsZSBvbiBkaXNrLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+U2VwYXJhdGVWaXJ0dWFsSW50ZXJwczwvc3Bhbj4gICg8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnllczwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5vPC9zcGFuPik8L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIElmIG9uLCBSaXZldCB3aWxsIGNyZWF0ZSBhIHNlcGFyYXRlIFRjbCBpbnRlcnByZXRlcgoJCSAgZm9yIGVhY2ggQXBhY2hlIHZpcnR1YWwgaG9zdC4gIFRoaXMgaXMgdXNlZnVsIGluIGFuCgkJICBJU1AgdHlwZSBzaXR1YXRpb24gd2hlcmUgaXQgaXMgZGVzaXJhYmxlIHRvIHNlcGFyYXRlCgkJICBjbGllbnRzIGludG8gc2VwYXJhdGUgaW50ZXJwcmV0ZXJzLCBzbyB0aGF0IHRoZXkKCQkgIGRvbid0IGFjY2lkZW50YWxseSBpbnRlcmZlcmUgd2l0aCBvbmUgYW5vdGhlci4KCQk8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5UaGlzIG9wdGlvbiBpcywgYnkgbmF0dXJlLCBvbmx5IGF2YWlsYWJsZSBhdCB0aGUKCQlnbG9iYWwgbGV2ZWwuPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5Ib25vckhlYWRlck9ubHlSZXF1ZXN0czwvc3Bhbj4gICg8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnllczwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5vPC9zcGFuPik8L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIElmIGEgSEVBRCByZXF1ZXN0cyBpcyBpc3N1ZWQgYnkgdGhlIGNsaWVudCBSaXZldCBkZXRlY3RzCgkJICB0aGlzIGNhc2UgYW5kIHNlbmRzIGJhY2sgdG8gdGhlIGNsaWVudCBhIHN0YW5kYXJkIGhlYWRlciAKCQkgIHJlc3BvbnNlLiBJZiB0aGUgcmVhbCBoZWFkZXIgaGFzIHRvIGJlIGV4YW1pbmVkIChlLmcuIAoJCSAgZm9yIGRlYnVnZ2luZykgeW91IGNhbiB0dXJuIHRoaXMgb3B0aW9ucyBvbi4gCgkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+VGhpcyBvcHRpb24gaXMsIGJ5IG5hdHVyZSwgb25seSBhdmFpbGFibGUgYXQgdGhlIGdsb2JhbCBsZXZlbDwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+Uml2ZXREaXJDb25mPC9zcGFuPiAgKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+QmVmb3JlU2NyaXB0PC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+QWZ0ZXJTY3JpcHQ8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5FcnJvclNjcmlwdDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPlVwbG9hZERpcmVjdG9yeTwvc3Bhbj4pPC9kaXY+PC9kaXY+Cgk8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkgICAgVGhlc2Ugb3B0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZm9yCgkgICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Uml2ZXRTZXJ2ZXJDb25mPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4sIGV4Y2VwdCB0aGF0IHRoZXkgYXJlCgkgICAgb25seSB2YWxpZCBmb3IgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGV5IGFyZSBzcGVjaWZpZWQsIGFuZAoJICAgIGl0cyBzdWJkaXJlY3Rvcmllcy4gIEl0IG1heSBiZSBzcGVjaWZpZWQgaW4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+RGlyZWN0b3J5PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gCgkgICAgc2VjdGlvbnMuCgkgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5SaXZldFVzZXJDb25mPC9zcGFuPiAgKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+QmVmb3JlU2NyaXB0PC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+QWZ0ZXJTY3JpcHQ8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5FcnJvclNjcmlwdDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPlVwbG9hZERpcmVjdG9yeTwvc3Bhbj4pPC9kaXY+PC9kaXY+Cgk8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkgICAgVGhlc2Ugb3B0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZm9yCgkgICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Uml2ZXRTZXJ2ZXJDb25mPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4sIGV4Y2VwdCB0aGF0IHRoZXkgYXJlCgkgICAgb25seSB2YWxpZCBmb3IgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGV5IGFyZSBzcGVjaWZpZWQsIGFuZAoJICAgIGl0cyBzdWJkaXJlY3Rvcmllcy4KCSAgPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJSaXZldCBUY2wgQ29tbWFuZHMgYW5kIFZhcmlhYmxlcyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGhyPjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iY29tbWFuZHMiPjwvYT5SaXZldCBUY2wgQ29tbWFuZHMgYW5kIFZhcmlhYmxlczwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmZW50cnkiIHRpdGxlPSJ2YXIiPjxhIG5hbWU9InZhciI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPnZhciwgdmFyX3FzLCB2YXJfcG9zdCAmIzgyMTI7IGdldCB0aGUgdmFsdWUgb2YgYSBmb3JtIHZhcmlhYmxlLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiIgdGl0bGU9IlN5bm9wc2lzIj48aDI+U3lub3BzaXM8L2gyPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+dmFyPC9zcGFuPiAgKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Z2V0PC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bGlzdDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmV4aXN0czwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm51bWJlcjwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFsbDwvc3Bhbj4pPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj52YXJfcXM8L3NwYW4+ICAoPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5nZXQ8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5saXN0PC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZXhpc3RzPC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bnVtYmVyPC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+YWxsPC9zcGFuPik8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPnZhcl9wb3N0PC9zcGFuPiAgKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Z2V0PC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bGlzdDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmV4aXN0czwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm51bWJlcjwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFsbDwvc3Bhbj4pPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIHRpdGxlPSJEZXNjcmlwdGlvbiI+PGEgbmFtZT0iaWQzNjMwNzMiPjwvYT48aDI+RGVzY3JpcHRpb248L2gyPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBUaGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dmFyPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZCByZXRyaWV2ZXMgaW5mb3JtYXRpb24KCSAgYWJvdXQgR0VUIG9yIFBPU1QgdmFyaWFibGVzIHNlbnQgdG8gdGhlIHNjcmlwdCB2aWEgY2xpZW50CgkgIHJlcXVlc3QuICBJdCB0cmVhdHMgYm90aCBHRVQgYW5kIFBPU1QgdmFyaWFibGVzIHRoZSBzYW1lLAoJICByZWdhcmRsZXNzIG9mIHRoZWlyIG9yaWdpbi4gIE5vdGUgdGhhdCB0aGVyZSBhcmUgdHdvCgkgIGFkZGl0aW9uYWwgZm9ybXMgb2YgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dmFyPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj46CgkgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnZhcl9xczwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGFuZCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz52YXJfcG9zdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+LgoJICBUaGVzZSB0d28gcmVzdHJpY3QgdGhlIHJldHJpZXZhbCBvZiBpbmZvcm1hdGlvbiB0bwoJICBwYXJhbWV0ZXJzIGFycml2aW5nIHZpYSB0aGUgcXVlcnlzdHJpbmcKCSAgKD9mb289YmFyJmFtcDtiZWU9Ym9wKSBvciBQT1NUaW5nLCByZXNwZWN0aXZlbHkuCgk8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+dmFyPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Z2V0PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFybmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPj88c3BhbiBjbGFzcz0ib3B0aW9uYWwiPmRlZmF1bHQ8L3NwYW4+PzwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHVybnMgdGhlIHZhbHVlIG9mIHZhcmlhYmxlCgkJPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFybmFtZTwvY29kZT48L2VtPgoJCWFzIGEgc3RyaW5nIChldmVuIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSB2YWx1ZXMpLiAgSWYKCQl0aGUgdmFyaWFibGUgZG9lc24ndCBleGlzdCBhcyBhIEdFVCBvciBQT1NUCgkJdmFyaWFibGUsIHRoZQoJCTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPj88c3BhbiBjbGFzcz0ib3B0aW9uYWwiPmRlZmF1bHQ8L3NwYW4+PzwvY29kZT48L2VtPgoJCXZhbHVlIGlzIHJldHVybmVkLCBvdGhlcndpc2UgIiIgLSBhbiBlbXB0eSBzdHJpbmcgLQoJCWlzIHJldHVybmVkLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj52YXI8L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5saXN0PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFybmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHVybnMgdGhlIHZhbHVlIG9mIHZhcmlhYmxlCgkJPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFybmFtZTwvY29kZT48L2VtPiBhcyBhCgkJbGlzdCwgaWYgdGhlcmUgYXJlIG11bHRpcGxlIHZhbHVlcy4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+dmFyPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZXhpc3RzPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFybmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHVybnMgMSBpZgoJCTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhcm5hbWU8L2NvZGU+PC9lbT4KCQlleGlzdHMsIDAgaWYgaXQgZG9lc24ndC4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+dmFyPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bnVtYmVyPC9zcGFuPiA8L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJUmV0dXJucyB0aGUgbnVtYmVyIG9mIHZhcmlhYmxlcy4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+dmFyPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+YWxsPC9zcGFuPiA8L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJUmV0dXJuIGEgbGlzdCBvZiB2YXJpYWJsZSBuYW1lcyBhbmQgdmFsdWVzLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBTZWUgPGEgY2xhc3M9InhyZWYiIGhyZWY9IiN2YXJpYWJsZV9hY2Nlc3MiIHRpdGxlPSJFeGFtcGxloDMuoFZhcmlhYmxlIEFjY2VzcyI+RXhhbXBsZaAzLCAmIzgyMjA7VmFyaWFibGUgQWNjZXNzJiM4MjIxOzwvYT4uCgk8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmZW50cnkiIHRpdGxlPSJ1cGxvYWQiPjxkaXYgY2xhc3M9InJlZmVudHJ5LnNlcGFyYXRvciI+PGhyPjwvZGl2PjxhIG5hbWU9InVwbG9hZCI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPnVwbG9hZCAmIzgyMTI7IGhhbmRsZSBhIGZpbGUgdXBsb2FkZWQgYnkgYSBjbGllbnQuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj51cGxvYWQ8L3NwYW4+ICAoPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5jaGFubmVsPC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+c2F2ZTwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmRhdGE8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5leGlzdHM8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5zaXplPC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dHlwZTwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmZpbGVuYW1lPC9zcGFuPik8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgdGl0bGU9IkRlc2NyaXB0aW9uIj48YSBuYW1lPSJpZDM2MzQxMSI+PC9hPjxoMj5EZXNjcmlwdGlvbjwvaDI+PHAgc3R5bGU9IndpZHRoOjkwJSI+VGhlIHVwbG9hZCBjb21tYW5kIGlzIGZvciBmaWxlIHVwbG9hZCBtYW5pcHVsYXRpb24uCgkgIFNlZSB0aGUgcmVsZXZhbnQgQXBhY2hlIERpcmVjdGl2ZXMgdG8gZnVydGhlciBjb25maWd1cmUgdGhlCgkgIGJlaGF2aW9yIG9mIHRoaXMgUml2ZXQgZmVhdHVyZS4KCTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj51cGxvYWQ8L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5jaGFubmVsPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dXBsb2FkbmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVdoZW4gZ2l2ZW4gdGhlIG5hbWUgb2YgYSBmaWxlIHVwbG9hZAoJCTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnVwbG9hZG5hbWU8L2NvZGU+PC9lbT4sCgkJcmV0dXJucyBhIFRjbCBjaGFubmVsIHRoYXQgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZQoJCXVwbG9hZGVkIGZpbGUuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkgICAgICA8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPnVwbG9hZDwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnNhdmU8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT51cGxvYWRuYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZmlsZW5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlTYXZlcyB0aGUKCQk8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT51cGxvYWRuYW1lPC9jb2RlPjwvZW0+IGluCgkJdGhlIGZpbGUKCQk8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5maWxlbmFtZTwvY29kZT48L2VtPi4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+dXBsb2FkPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZGF0YTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnVwbG9hZG5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlSZXR1cm5zIGRhdGEgdXBsb2FkZWQgdG8gdGhlIHNlcnZlci4gIFRoaXMgaXMgYmluYXJ5IGNsZWFuCgkJLSBpbiBvdGhlciB3b3JkcywgaXQgd2lsbCB3b3JrIGV2ZW4gd2l0aCBmaWxlcyBsaWtlCgkJaW1hZ2VzLCBleGVjdXRhYmxlcywgY29tcHJlc3NlZCBmaWxlcywgYW5kIHNvIG9uLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj51cGxvYWQ8L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5leGlzdHM8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT51cGxvYWRuYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJUmV0dXJucyB0cnVlIGlmIGFuIHVwbG9hZCBuYW1lZCAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dXBsb2FkbmFtZTwvc3Bhbj4/CgkJZXhpc3RzLiAgVGhpcyBjYW4gYmUgdXNlZCBpbiBzY3JpcHRzIHRoYXQgYXJlIG1lYW50IHRvCgkJYmUgcnVuIGJ5IGRpZmZlcmVudCBmb3JtcyB0aGF0IHNlbmQgb3ZlciB1cGxvYWRzIHRoYXQKCQltaWdodCBuZWVkIHNwZWNpZmljIHByb2Nlc3NpbmcuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkgICAgICA8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPnVwbG9hZDwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnNpemU8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT51cGxvYWRuYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJUmV0dXJucyB0aGUgc2l6ZSBvZiB0aGUgZmlsZSB1cGxvYWRlZC4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+dXBsb2FkPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dHlwZTwvc3Bhbj4gPC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUlmIHRoZSA8Y29kZSBjbGFzcz0idmFybmFtZSI+Q29udGVudC10eXBlPC9jb2RlPiBpcyBzZXQsIGl0IGlzCgkJcmV0dXJuZWQsIG90aGVyd2lzZSwgYW4gZW1wdHkgc3RyaW5nLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj51cGxvYWQ8L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5maWxlbmFtZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnVwbG9hZG5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlSZXR1cm5zIHRoZSBmaWxlbmFtZSBvbiB0aGUgcmVtb3RlIGhvc3QgdGhhdCB1cGxvYWRlZCB0aGUgZmlsZS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+dXBsb2FkPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dGVtcG5hbWU8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT51cGxvYWRuYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJUmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgdGVtcG9yYXJ5IGZpbGUgb24gdGhlIGxvY2FsIGhvc3QgdGhhdCB0aGUgZmlsZSB3YXMgdXBsb2FkZWQgaW50by4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+dXBsb2FkPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bmFtZXM8L3NwYW4+IDwvZGl2PjwvZGl2PgoJICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlSZXR1cm5zIHRoZSB2YXJpYWJsZSBuYW1lcywgYXMgYSBsaXN0LCBvZiBhbGwgdGhlIGZpbGVzCgkJdXBsb2FkZWQuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgIFNlZSA8YSBjbGFzcz0ieHJlZiIgaHJlZj0iI3VwbG9hZCIgdGl0bGU9InVwbG9hZCI+dXBsb2FkPC9hPi4KCTwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZlbnRyeSIgdGl0bGU9ImxvYWRfcmVzcG9uc2UiPjxkaXYgY2xhc3M9InJlZmVudHJ5LnNlcGFyYXRvciI+PGhyPjwvZGl2PjxhIG5hbWU9ImxvYWRfcmVzcG9uc2UiPjwvYT48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjwvZGl2PjxkaXYgY2xhc3M9InJlZm5hbWVkaXYiPjxoMj5OYW1lPC9oMj48cD5sb2FkX3Jlc3BvbnNlICYjODIxMjsgbG9hZCBmb3JtIHZhcmlhYmxlcyBpbnRvIGFuIGFycmF5LjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiIgdGl0bGU9IlN5bm9wc2lzIj48aDI+U3lub3BzaXM8L2gyPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+bG9hZF9yZXNwb25zZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmFycmF5TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIHRpdGxlPSJEZXNjcmlwdGlvbiI+PGEgbmFtZT0iaWQzNjM4MzkiPjwvYT48aDI+RGVzY3JpcHRpb248L2gyPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJCQkJTG9hZCBhbnkgZm9ybSB2YXJpYWJsZXMgcGFzc2VkIHRvIHRoaXMgcGFnZSBpbnRvIGFuCgkJCQlhcnJheS4gSWYgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+bG9hZF9yZXNwb25zZTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGlzIGNhbGxlZCB3aXRob3V0IAoJCQkJYXJndW1lbnRzIHRoZSBhcnJheSByZXNwb25zZSBpcyBjcmVhdGVkIGluIAoJCQkJdGhlIHNjb3BlIG9mIHRoZSBjYWxsZXIuIElmIHRoZSB2YXJpYWJsZXMgdmFyMSx2YXIyLHZhcjMuLi4KCQkJCWhhdmluZyB2YWx1ZXMgdmFsMSx2YWwyLHZhbDMuLi4gYXJlIHBhc3NlZCB0byB0aGUgcGFnZSwgdGhlCgkJCQlyZXN1bHRpbmcgYXJyYXkgd2lsbCBiZSBhIGNvbGxlY3Rpb24gbWFwcGluZyB2YXIxLHZhcjIsdmFyMy4uLgoJCQkJdG8gdGhlaXIgY29ycmVzcG9uZGluZyB2YWx1ZXMuIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmxvYWRfcmVzcG9uc2U8L3N0cm9uZz48L3NwYW4+PC9zcGFuPgoJCQkJd2FzIGluc3BpcmVkIGJ5IHRoZSBzYW1lIE5lb1dlYlNjcmlwdCBwcm9jZWR1cmUgaW4gdGhlIHdheQoJCQkJaXQgZGVhbHMgd2l0aCBtdWx0aXBsZSBhc3NpZ25tZW50czogaWYgYSB2YXJpYWJsZSAKCQkJCWlzIGFzc2lnbmVkIG1vcmUgdGhhbiBvbmNlIHRoZSBjb3JyZXNwb25kaW5nIGFycmF5IGVsZW1lbnQgd2lsbCBiZSBhIAoJCQkJbGlzdCBvZiB0aGUgdmFsdWVzIGZvciB0aGUgdmFyaWFibGUuIFRoaXMgY2FuIGJlIHVzZWZ1bCBpbiB0aGUgY2FzZSAKCQkJCW9mIGZvcm1zIHdpdGggY2hlY2tib3ggb3B0aW9ucyB0aGF0IGFyZSBnaXZlbiB0aGUgc2FtZSBuYW1lLgoJCQkJQ2FsbGluZyA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5sb2FkX3Jlc3BvbnNlPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gc2V2ZXJhbCB0aW1lcyBmb3IgdGhlIHNhbWUKCQkJCWFycmF5IHJlc3VsdHMgaW4gYWRkaW5nIG1vcmUgdmFsdWVzIHRvIHRoZSBhcnJheSBhdCBldmVyeSBjYWxsLiAKCQkJCVdoZW4gbmVlZGVkIGl0IGlzIGxlZnQgdG8gdGhlIGNhbGxlciB0byBlbXB0eSB0aGUgYXJyYXkgYmV0d2VlbiAKCQkJCXR3byBzdWJzZXF1ZW50IGNhbGxzLiAgCgkJCTwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZlbnRyeSIgdGl0bGU9ImxvYWRfaGVhZGVycyI+PGRpdiBjbGFzcz0icmVmZW50cnkuc2VwYXJhdG9yIj48aHI+PC9kaXY+PGEgbmFtZT0ibG9hZF9oZWFkZXJzIj48L2E+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+TmFtZTwvaDI+PHA+bG9hZF9oZWFkZXJzICYjODIxMjsgZ2V0IGNsaWVudCByZXF1ZXN0J3MgaGVhZGVycy48L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiIHRpdGxlPSJTeW5vcHNpcyI+PGgyPlN5bm9wc2lzPC9oMj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmxvYWRfaGVhZGVyczwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmFycmF5X25hbWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iRGVzY3JpcHRpb24iPjxhIG5hbWU9ImlkMzYzOTExIj48L2E+PGgyPkRlc2NyaXB0aW9uPC9oMj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgTG9hZCB0aGUgaGVhZGVycyB0aGF0IGNvbWUgZnJvbSBhIGNsaWVudCByZXF1ZXN0IGludG8gdGhlCgkgIHByb3ZpZGVkIGFycmF5IG5hbWUsIG9yIHVzZSBoZWFkZXJzIGlmIG5vCgkgIG5hbWUgaXMgcHJvdmlkZWQuCgk8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmZW50cnkiIHRpdGxlPSJsb2FkX2Nvb2tpZXMiPjxkaXYgY2xhc3M9InJlZmVudHJ5LnNlcGFyYXRvciI+PGhyPjwvZGl2PjxhIG5hbWU9ImxvYWRfY29va2llcyI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPmxvYWRfY29va2llcyAmIzgyMTI7IGdldCBhbnkgY29va2llIHZhcmlhYmxlcyBzZW50IGJ5IHRoZSBjbGllbnQuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5sb2FkX2Nvb2tpZXM8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5hcnJheV9uYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgdGl0bGU9IkRlc2NyaXB0aW9uIj48YSBuYW1lPSJpZDM2Mzk2MiI+PC9hPjxoMj5EZXNjcmlwdGlvbjwvaDI+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglMb2FkIHRoZSBhcnJheSBvZiBjb29raWUgdmFyaWFibGVzIGludG8gdGhlIHNwZWNpZmllZAoJYXJyYXkgbmFtZS4gIFVzZXMgYXJyYXkgY29va2llcyBieQoJZGVmYXVsdC4KICAgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0ibG9hZF9lbnYiPjxkaXYgY2xhc3M9InJlZmVudHJ5LnNlcGFyYXRvciI+PGhyPjwvZGl2PjxhIG5hbWU9ImxvYWRfZW52Ij48L2E+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+TmFtZTwvaDI+PHA+bG9hZF9lbnYgJiM4MjEyOyBnZXQgdGhlIHJlcXVlc3QncyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5sb2FkX2Vudjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmFycmF5X25hbWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iRGVzY3JpcHRpb24iPjxhIG5hbWU9ImlkMzY0MDEyIj48L2E+PGgyPkRlc2NyaXB0aW9uPC9oMj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgTG9hZCB0aGUgYXJyYXkgb2YgZW52aXJvbm1lbnQgdmFyaWFibGVzIGludG8gdGhlIHNwZWNpZmllZAoJICBhcnJheSBuYW1lLiAgVXNlcyBhcnJheSA6OnJlcXVlc3Q6OmVudiBieQoJICBkZWZhdWx0LgoJPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBBcyBSaXZldCBwYWdlcyBhcmUgcnVuIGluIHRoZSA6OnJlcXVlc3QKCSAgbmFtZXNwYWNlLCBpdCBpc24ndCBuZWNlc3NhcnkgdG8gcXVhbGlmeSB0aGUgYXJyYXkgbmFtZQoJICBmb3IgbW9zdCB1c2VzIC0gaXQncyBvayB0byBhY2Nlc3MgaXQgYXMKCSAgZW52LgoJPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0iZW52Ij48ZGl2IGNsYXNzPSJyZWZlbnRyeS5zZXBhcmF0b3IiPjxocj48L2Rpdj48YSBuYW1lPSJlbnYiPjwvYT48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjwvZGl2PjxkaXYgY2xhc3M9InJlZm5hbWVkaXYiPjxoMj5OYW1lPC9oMj48cD5lbnYgJiM4MjEyOyBMb2FkcyBhIHNpbmdsZQoJImVudmlyb25tZW50YWwgdmFyaWFibGUiIGludG8gYSBUY2wgdmFyaWFibGUuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5lbnY8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YXJOYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgdGl0bGU9IkRlc2NyaXB0aW9uIj48YSBuYW1lPSJpZDM2NDA3NCI+PC9hPjxoMj5EZXNjcmlwdGlvbjwvaDI+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgIElmIGl0IGlzIG9ubHkgbmVjZXNzYXJ5IHRvIGxvYWQgb25lIGVudmlyb25tZW50YWwgdmFyaWFibGUsCgkgIHRoaXMgY29tbWFuZCBtYXkgYmUgdXNlZCB0byBhdm9pZCB0aGUgb3ZlcmhlYWQgb2YgbG9hZGluZwoJICBhbmQgc3RvcmluZyB0aGUgZW50aXJlIGFycmF5LgoJPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0iaW5jbHVkZSI+PGRpdiBjbGFzcz0icmVmZW50cnkuc2VwYXJhdG9yIj48aHI+PC9kaXY+PGEgbmFtZT0iaW5jbHVkZSI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPmluY2x1ZGUgJiM4MjEyOyBpbmNsdWRlcyBhIGZpbGUgaW50byB0aGUgb3V0cHV0IHN0cmVhbSB3aXRob3V0IG1vZGlmaWNhdGlvbi48L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiIHRpdGxlPSJTeW5vcHNpcyI+PGgyPlN5bm9wc2lzPC9oMj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmluY2x1ZGU8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5maWxlbmFtZV9uYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgdGl0bGU9IkRlc2NyaXB0aW9uIj48YSBuYW1lPSJpZDM2NDEyMiI+PC9hPjxoMj5EZXNjcmlwdGlvbjwvaDI+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgIEluY2x1ZGUgYSBmaWxlIHdpdGhvdXQgcGFyc2luZyBpdCBmb3IgcHJvY2Vzc2luZyB0YWdzICZsdDs/CgkgIGFuZCA/Jmd0Oy4gIFRoaXMgaXMgdGhlIGJlc3Qgd2F5IHRvIGluY2x1ZGUgYW4gSFRNTCBmaWxlIG9yCgkgIGFueSBvdGhlciBzdGF0aWMgY29udGVudC4KCTwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZlbnRyeSIgdGl0bGU9InBhcnNlIj48ZGl2IGNsYXNzPSJyZWZlbnRyeS5zZXBhcmF0b3IiPjxocj48L2Rpdj48YSBuYW1lPSJwYXJzZSI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPnBhcnNlICYjODIxMjsgcGFyc2VzIGEgUml2ZXQgdGVtcGxhdGUgZmlsZS48L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiIHRpdGxlPSJTeW5vcHNpcyI+PGgyPlN5bm9wc2lzPC9oMj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPnBhcnNlPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZmlsZW5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iRGVzY3JpcHRpb24iPjxhIG5hbWU9ImlkMzY0MTcyIj48L2E+PGgyPkRlc2NyaXB0aW9uPC9oMj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgTGlrZSB0aGUgVGNsIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnNvdXJjZTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGNvbW1hbmQsIGJ1dCBhbHNvCgkgIHBhcnNlcyBmb3IgUml2ZXQgJmx0Oz8gIGFuZCA/Jmd0OyBwcm9jZXNzaW5nIHRhZ3MuICBVc2luZwoJICB0aGlzIGNvbW1hbmQsIHlvdSBjYW4gdXNlIG9uZSAucnZ0IGZpbGUgZnJvbSBhbm90aGVyLgoJPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0iaGVhZGVycyI+PGRpdiBjbGFzcz0icmVmZW50cnkuc2VwYXJhdG9yIj48aHI+PC9kaXY+PGEgbmFtZT0iaGVhZGVycyI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPmhlYWRlcnMgJiM4MjEyOyBzZXQgYW5kIHBhcnNlIEhUVFAgaGVhZGVycy48L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiIHRpdGxlPSJTeW5vcHNpcyI+PGgyPlN5bm9wc2lzPC9oMj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmhlYWRlcnM8L3NwYW4+ICAoPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5zZXQ8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5yZWRpcmVjdDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFkZDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnR5cGU8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5udW1lcmljPC9zcGFuPik8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgdGl0bGU9IkRlc2NyaXB0aW9uIj48YSBuYW1lPSJpZDM2NDI2MSI+PC9hPjxoMj5EZXNjcmlwdGlvbjwvaDI+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgIFRoZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5oZWFkZXJzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZCBpcyBmb3Igc2V0dGluZyBhbmQKCSAgcGFyc2luZyBIVFRQIGhlYWRlcnMuCgk8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmhlYWRlcnM8L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5zZXQ8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5oZWFkZXJuYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlTZXQgYXJiaXRyYXJ5IGhlYWRlciBuYW1lcyBhbmQgdmFsdWVzLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5oZWFkZXJzPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+cmVkaXJlY3Q8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT51cmk8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlSZWRpcmVjdCBmcm9tIHRoZSBjdXJyZW50IHBhZ2UgdG8gYSBuZXcKCQlVUkkuIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPk11c3Q8L2VtPjwvc3Bhbj4gYmUgZG9uZSBpbiB0aGUgZmlyc3QgYmxvY2sKCQlvZiBUQ0wgY29kZS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+aGVhZGVyczwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFkZDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmhlYWRlcm5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPkFkZCB0ZXh0IHRvIGhlYWRlcgoJCTxjb2RlIGNsYXNzPSJ2YXJuYW1lIj5oZWFkZXJuYW1lPC9jb2RlPi48L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5oZWFkZXJzPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dHlwZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmNvbnRlbnQtdHlwZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVRoaXMgY29tbWFuZCBzZXRzIHRoZSA8Y29kZSBjbGFzcz0iY29uc3RhbnQiPkNvbnRlbnQtdHlwZTwvY29kZT4KCQloZWFkZXIgcmV0dXJuZWQgYnkgdGhlIHNjcmlwdCwgd2hpY2ggaXMgdXNlZnVsIGlmIHlvdSB3aXNoCgkJdG8gc2VuZCBjb250ZW50IG90aGVyIHRoYW4gSFRNTCB3aXRoIFJpdmV0IC0gUE5HIG9yIGpwZWcKCQlpbWFnZXMsIGZvciBleGFtcGxlLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5oZWFkZXJzPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bnVtZXJpYzwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnJlc3BvbnNlIGNvZGU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5TZXQgYSBudW1lcmljIHJlc3BvbnNlIGNvZGUsIHN1Y2ggYXMgMjAwLCA0MDQgb3IgNTAwLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0ibWFrZXVybCI+PGRpdiBjbGFzcz0icmVmZW50cnkuc2VwYXJhdG9yIj48aHI+PC9kaXY+PGEgbmFtZT0ibWFrZXVybCI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPm1ha2V1cmwgJiM4MjEyOyBjb25zdHJ1Y3QgdXJsJ3MgYmFzZWQgb24gaG9zdG5hbWUsIHBvcnQuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5tYWtldXJsPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZmlsZW5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iRGVzY3JpcHRpb24iPjxhIG5hbWU9ImlkMzY0NTM1Ij48L2E+PGgyPkRlc2NyaXB0aW9uPC9oMj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgQ3JlYXRlIGEgc2VsZiByZWZlcmVuY2luZyBVUkwgZnJvbSBhIGZpbGVuYW1lLiAgRm9yIGV4YW1wbGU6CgkgIDwvcD48cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2M7IG1hcmdpbjogMmV4OyBtYXJnaW4tcmlnaHQ6IDEwJTsgICAgICAgcGFkZGluZzogMWV4OyBib3JkZXI6IGRhc2hlZCBibGFjayAxcHggOyB3aGl0ZS1zcGFjZTogcHJlOyAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOTAlOyIgY2xhc3M9InByb2dyYW1saXN0aW5nIj5tYWtldXJsIC90Y2xwLmdpZjwvcHJlPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICByZXR1cm5zCgkgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+aHR0cDovL1tob3N0bmFtZV06W3BvcnRdL3RjbHAuZ2lmPC9jb2RlPi4KCSAgd2hlcmUgaG9zdG5hbWUgYW5kIHBvcnQgYXJlIHRoZSBob3N0bmFtZSBhbmQgcG9ydCBvZiB0aGUKCSAgc2VydmVyIGluIHF1ZXN0aW9uLgoJPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0iY29va2llIj48ZGl2IGNsYXNzPSJyZWZlbnRyeS5zZXBhcmF0b3IiPjxocj48L2Rpdj48YSBuYW1lPSJjb29raWUiPjwvYT48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjwvZGl2PjxkaXYgY2xhc3M9InJlZm5hbWVkaXYiPjxoMj5OYW1lPC9oMj48cD5jb29raWUgJiM4MjEyOyBnZXQgYW5kIHNldCBjb29raWVzLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiIgdGl0bGU9IlN5bm9wc2lzIj48aDI+U3lub3BzaXM8L2gyPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+Y29va2llPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+c2V0PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Y29va2llTmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPj88c3BhbiBjbGFzcz0ib3B0aW9uYWwiPmNvb2tpVmFsdWU8L3NwYW4+PzwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1kYXlzIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmV4cGlyZUluRGF5czwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1ob3VycyA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5leHBpcmVJbkhvdXJzPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LW1pbnV0ZXMgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZXhwaXJlSW5NaW51dGVzPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWV4cGlyZXMgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+V2R5LCBERC1Nb24tWVlZWSBISDpNTTpTUyBHTVQ8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tcGF0aCA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT51cmlQYXRoQ29va2llQXBwbGllc1RvPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LXNlY3VyZSA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4xLzA8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+Y29va2llPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Z2V0PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Y29va2llTmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIHRpdGxlPSJEZXNjcmlwdGlvbiI+PGEgbmFtZT0iaWQzNjQ2OTIiPjwvYT48aDI+RGVzY3JpcHRpb248L2gyPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5jb29raWU8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBnZXRzIG9yIHNldHMgYSBjb29raWUuICBXaGVuIHlvdQoJICBnZXQgYSBjb29raWUsIHRoZSBjb21tYW5kIHJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBjb29raWUsCgkgIG9yIGFuIGVtcHR5IHN0cmluZyBpZiBubyBjb29raWUgZXhpc3RzLgoJPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0iY2xvY2tfdG9fcmZjODUwX2dtdCI+PGRpdiBjbGFzcz0icmVmZW50cnkuc2VwYXJhdG9yIj48aHI+PC9kaXY+PGEgbmFtZT0iY2xvY2tfdG9fcmZjIj48L2E+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+TmFtZTwvaDI+PHA+Y2xvY2tfdG9fcmZjODUwX2dtdCAmIzgyMTI7IGNyZWF0ZSBhIHJmYzg1MCB0aW1lIGZyb20gW2Nsb2NrIHNlY29uZHNdLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiIgdGl0bGU9IlN5bm9wc2lzIj48aDI+U3lub3BzaXM8L2gyPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+Y2xvY2tfdG9fcmZjODUwX2dtdDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnNlY29uZHM8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iRGVzY3JpcHRpb24iPjxhIG5hbWU9ImlkMzY0NzQ1Ij48L2E+PGgyPkRlc2NyaXB0aW9uPC9oMj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgQ29udmVydCBhbiBpbnRlZ2VyLXNlY29uZHMtc2luY2UtMTk3MCBjbGljayB2YWx1ZSB0bwoJICBSRkM4NTAgZm9ybWF0LCB3aXRoIHRoZSBhZGRpdGlvbmFsIHJlcXVpcmVtZW50IHRoYXQgaXQgYmUKCSAgR01UIG9ubHkuCgk8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmZW50cnkiIHRpdGxlPSJodG1sIj48ZGl2IGNsYXNzPSJyZWZlbnRyeS5zZXBhcmF0b3IiPjxocj48L2Rpdj48YSBuYW1lPSJodG1sIj48L2E+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+TmFtZTwvaDI+PHA+aHRtbCAmIzgyMTI7IGNvbnN0cnVjdCBodG1sIHRhZ2dlZCB0ZXh0LjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiIgdGl0bGU9IlN5bm9wc2lzIj48aDI+U3lub3BzaXM8L2gyPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+aHRtbDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnN0cmluZzwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmFyZzwvY29kZT48L2VtPjwvc3Bhbj4uLi4/PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIHRpdGxlPSJEZXNjcmlwdGlvbiI+PGEgbmFtZT0iaWQzNjQ4MDAiPjwvYT48aDI+RGVzY3JpcHRpb248L2gyPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBQcmludCB0ZXh0IHdpdGggdGhlIGFkZGVkIGFiaWxpdHkgdG8gcGFzcyBIVE1MIHRhZ3MKCSAgZm9sbG93aW5nIHRoZSBzdHJpbmcuICBFeGFtcGxlOgoJICA8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aHRtbCAiVGVzdCIgYiBpPC9wcmU+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgIHByb2R1Y2VzOiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPiZsdDtiJmd0OyZsdDtpJmd0O1Rlc3QmbHQ7L2kmZ3Q7Jmx0Oy9iJmd0OzwvY29kZT4KCTwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZlbnRyeSIgdGl0bGU9ImluY3IwIj48ZGl2IGNsYXNzPSJyZWZlbnRyeS5zZXBhcmF0b3IiPjxocj48L2Rpdj48YSBuYW1lPSJpbmNyMCI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPmluY3IwICYjODIxMjsgaW5jcmVtZW50IGEgdmFyaWFibGUgb3Igc2V0IGl0IHRvIDEgaWYgbm9uZXhpc3RhbnQuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5pbmNyMDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhcm5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5udW08L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iRGVzY3JpcHRpb24iPjxhIG5hbWU9ImlkMzY0ODY2Ij48L2E+PGgyPkRlc2NyaXB0aW9uPC9oMj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgSW5jcmVtZW50IGEgdmFyaWFibGUKCSAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFybmFtZTwvY29kZT48L2VtPiBieQoJICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5udW08L2NvZGU+PC9lbT4uICBJZiB0aGUKCSAgdmFyaWFibGUgZG9lc24ndCBleGlzdCwgY3JlYXRlIGl0IGluc3RlYWQgb2YgcmV0dXJuaW5nIGFuCgkgIGVycm9yLgoJPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0icGFycmF5Ij48ZGl2IGNsYXNzPSJyZWZlbnRyeS5zZXBhcmF0b3IiPjxocj48L2Rpdj48YSBuYW1lPSJwYXJyYXkiPjwvYT48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjwvZGl2PjxkaXYgY2xhc3M9InJlZm5hbWVkaXYiPjxoMj5OYW1lPC9oMj48cD5wYXJyYXkgJiM4MjEyOyBUY2wncyA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5wYXJyYXk8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiB3aXRoIGh0bWwgZm9ybWF0dGluZy48L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiIHRpdGxlPSJTeW5vcHNpcyI+PGgyPlN5bm9wc2lzPC9oMj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPnBhcnJheTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmFycmF5TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPj88c3BhbiBjbGFzcz0ib3B0aW9uYWwiPnBhdHRlcm48L3NwYW4+PzwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIHRpdGxlPSJEZXNjcmlwdGlvbiI+PGEgbmFtZT0iaWQzNjQ5MzYiPjwvYT48aDI+RGVzY3JpcHRpb248L2gyPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBBbiBodG1sIHZlcnNpb24gb2YgdGhlIHN0YW5kYXJkIFRjbAoJICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5wYXJyYXk8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBjb21tYW5kLiAgRGlzcGxheXMgdGhlIGVudGlyZQoJICBjb250ZW50cyBvZiBhbiBhcnJheSBpbiBhIHNvcnRlZCwgbmljZWx5LWZvcm1hdHRlZCB3YXkuCgkgIE1vc3RseSB1c2VkIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuCgk8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmZW50cnkiIHRpdGxlPSJhYm9ydF9wYWdlIj48ZGl2IGNsYXNzPSJyZWZlbnRyeS5zZXBhcmF0b3IiPjxocj48L2Rpdj48YSBuYW1lPSJhYm9ydF9wYWdlIj48L2E+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+TmFtZTwvaDI+PHA+YWJvcnRfcGFnZSAmIzgyMTI7IFN0b3BzIG91dHB1dGluZyBkYXRhIHRvIHdlYiBwYWdlLCBzaW1pbGFyIGluCgkgIHB1cnBvc2UgdG8gUEhQJ3MgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZGllPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZC48L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiIHRpdGxlPSJTeW5vcHNpcyI+PGgyPlN5bm9wc2lzPC9oMj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmFib3J0X3BhZ2U8L3NwYW4+IDwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iRGVzY3JpcHRpb24iPjxhIG5hbWU9ImlkMzY0OTg3Ij48L2E+PGgyPkRlc2NyaXB0aW9uPC9oMj48cCBzdHlsZT0id2lkdGg6OTAlIj5UaGlzIGNvbW1hbmQgZmx1c2hlcyB0aGUKCW91dHB1dCBidWZmZXIgYW5kIHN0b3BzIHRoZSBUY2wgc2NyaXB0IGZyb20gc2VuZGluZyBhbnkgbW9yZQoJZGF0YSB0byB0aGUgY2xpZW50LiAgQSBub3JtYWwgVGNsIHNjcmlwdCBtaWdodCB1c2UgdGhlCgk8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5leGl0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZCwgYnV0IHRoYXQgY2Fubm90IGJlIHVzZWQgaW4KCVJpdmV0IHdpdGhvdXQgYWN0dWFsbHkgZXhpdGluZyB0aGUgYXBhY2hlIGNoaWxkCglwcm9jZXNzITwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZlbnRyeSIgdGl0bGU9Im5vX2JvZHkiPjxkaXYgY2xhc3M9InJlZmVudHJ5LnNlcGFyYXRvciI+PGhyPjwvZGl2PjxhIG5hbWU9Im5vX2JvZHkiPjwvYT48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjwvZGl2PjxkaXYgY2xhc3M9InJlZm5hbWVkaXYiPjxoMj5OYW1lPC9oMj48cD5ub19ib2R5ICYjODIxMjsgUHJldmVudHMgUml2ZXQgZnJvbSBzZW5kaW5nIGFueSBjb250ZW50LjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiIgdGl0bGU9IlN5bm9wc2lzIj48aDI+U3lub3BzaXM8L2gyPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+bm9fYm9keTwvc3Bhbj4gPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIHRpdGxlPSJEZXNjcmlwdGlvbiI+PGEgbmFtZT0iaWQzNjUwMzIiPjwvYT48aDI+RGVzY3JpcHRpb248L2gyPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBUaGlzIGNvbW1hbmQgaXMgdXNlZnVsIGZvciBzaXR1YXRpb25zIHdoZXJlIGl0IGlzIG5lY2Vzc2FyeQoJICB0byBvbmx5IHJldHVybiBIVFRQIGhlYWRlcnMgYW5kIG5vIGFjdHVhbCBjb250ZW50LiAgRm9yCgkgIGluc3RhbmNlLCB3aGVuIHJldHVybmluZyBhIDMwNCByZWRpcmVjdC4KCTwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZlbnRyeSIgdGl0bGU9ImVzY2FwZV9zdHJpbmciPjxkaXYgY2xhc3M9InJlZmVudHJ5LnNlcGFyYXRvciI+PGhyPjwvZGl2PjxhIG5hbWU9ImVzY2FwZV9zdHJpbmciPjwvYT48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjwvZGl2PjxkaXYgY2xhc3M9InJlZm5hbWVkaXYiPjxoMj5OYW1lPC9oMj48cD5lc2NhcGVfc3RyaW5nICYjODIxMjsgY29udmVydCBhIHN0cmluZyBpbnRvIGVzY2FwZWQgY2hhcmFjdGVycy48L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiIHRpdGxlPSJTeW5vcHNpcyI+PGgyPlN5bm9wc2lzPC9oMj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmVzY2FwZV9zdHJpbmc8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5zdHJpbmc8L3NwYW4+PzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iRGVzY3JpcHRpb24iPjxhIG5hbWU9ImlkMzY1MDc5Ij48L2E+PGgyPkRlc2NyaXB0aW9uPC9oMj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgICBTY2FucyB0aHJvdWdoIGVhY2ggY2hhcmFjdGVyIGluIHRoZSBzcGVjaWZpZWQgc3RyaW5nIGxvb2tpbmcKCSAgICBmb3Igc3BlY2lhbCBjaGFyYWN0ZXJzLCBlc2NhcGluZyB0aGVtIGFzIG5lZWRlZCwgbWFwcGluZwoJICAgIHNwZWNpYWwgY2hhcmFjdGVycyB0byBhIHF1b3RlZCBoZXhhZGVjaW1hbCBlcXVpdmFsZW50LAoJICAgIHJldHVybmluZyB0aGUgcmVzdWx0LgoJPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgIFRoaXMgaXMgdXNlZnVsIGZvciBxdW90aW5nIHN0cmluZ3MgdGhhdCBhcmUgZ29pbmcgdG8gYmUKCSAgICBwYXJ0IG9mIGEgVVJMLgoJPC9wPjxkaXYgY2xhc3M9Im5vdGUiIHRpdGxlPSJOb3RlIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyBtYXJnaW4tcmlnaHQ6IDAuNWluOyI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iTm90ZSI+PHRyPjx0ZCByb3dzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjI1Ij48aW1nIGFsdD0iW05vdGVdIiBzcmM9ImltYWdlcy9ub3RlLnBuZyI+PC90ZD48dGggYWxpZ249ImxlZnQiPk5vdGU8L3RoPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPiAKCSAgICBZb3UgbXVzdCByZXF1aXJlIHRoZSBSaXZldCBwYWNrYWdlIGluIG9yZGVyIHRvIGdhaW4gYWNjZXNzIHRvIHRoaXMgY29tbWFuZAoJPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmZW50cnkiIHRpdGxlPSJlc2NhcGVfc2dtbF9jaGFycyI+PGRpdiBjbGFzcz0icmVmZW50cnkuc2VwYXJhdG9yIj48aHI+PC9kaXY+PGEgbmFtZT0iZXNjYXBlX3NnbWxfY2hhcnMiPjwvYT48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjwvZGl2PjxkaXYgY2xhc3M9InJlZm5hbWVkaXYiPjxoMj5OYW1lPC9oMj48cD5lc2NhcGVfc2dtbF9jaGFycyAmIzgyMTI7IGVzY2FwZSBzcGVjaWFsIFNHTUwgY2hhcmFjdGVycyBpbiBhIHN0cmluZy48L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiIHRpdGxlPSJTeW5vcHNpcyI+PGgyPlN5bm9wc2lzPC9oMj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmVzY2FwZV9zZ21sX2NoYXJzPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+c3RyaW5nPC9zcGFuPj88L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgdGl0bGU9IkRlc2NyaXB0aW9uIj48YSBuYW1lPSJpZDM2NTEzNCI+PC9hPjxoMj5EZXNjcmlwdGlvbjwvaDI+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgIFNjYW5zIHRocm91Z2ggZWFjaCBjaGFyYWN0ZXIgaW4gdGhlIHNwZWNpZmllZCBzdHJpbmcgbG9va2luZwoJICBmb3IgYW55IHNwZWNpYWwgKHdpdGggcmVzcGVjdCB0byBTR01MLCBhbmQgaGVuY2UgSFRNTCkgY2hhcmFjdGVycwoJICBmcm9tIHRoZSBzcGVjaWZpZWQgc3RyaW5nLCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LiAgCgkgIEZvciBleGFtcGxlLCB0aGUgcmlnaHQgYW5nbGUKCSAgYnJhY2tldCBpcyBlc2NhcGVkIHRvIHRoZSBjb3JyZWN0ZWQgYW1wZXJzYW5kIGd0IHN5bWJvbC4KCTwvcD48ZGl2IGNsYXNzPSJub3RlIiB0aXRsZT0iTm90ZSIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgbWFyZ2luLXJpZ2h0OiAwLjVpbjsiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9Ik5vdGUiPjx0cj48dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IltOb3RlXSIgc3JjPSJpbWFnZXMvbm90ZS5wbmciPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij5Ob3RlPC90aD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4gCgkgICAgWW91IG11c3QgcmVxdWlyZSB0aGUgUml2ZXQgcGFja2FnZSBpbiBvcmRlciB0byBnYWluIGFjY2VzcyB0byB0aGlzIGNvbW1hbmQKCTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0iZXNjYXBlX3NoZWxsX2NvbW1hbmQiPjxkaXYgY2xhc3M9InJlZmVudHJ5LnNlcGFyYXRvciI+PGhyPjwvZGl2PjxhIG5hbWU9ImVzY2FwZV9zaGVsbF9jb21tYW5kIj48L2E+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+TmFtZTwvaDI+PHA+ZXNjYXBlX3NoZWxsX2NvbW1hbmQgJiM4MjEyOyBlc2NhcGUgc2hlbGwgbWV0YWNoYXJhY3RlcnMgaW4gYSBzdHJpbmcuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5lc2NhcGVfc2hlbGxfY29tbWFuZDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnN0cmluZzwvc3Bhbj4/PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIHRpdGxlPSJEZXNjcmlwdGlvbiI+PGEgbmFtZT0iaWQzNjUxODYiPjwvYT48aDI+RGVzY3JpcHRpb248L2gyPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBTY2FucyB0aHJvdWdoIGVhY2ggY2hhcmFjdGVyIGluIHRoZSBzcGVjaWZpZWQgc3RyaW5nIGxvb2tpbmcKCSAgZm9yIGFueSBzaGVsbCBtZXRhY2hhcmFjdGVycywgc3VjaCBhcyBhc3RlcmlzaywgbGVzcyB0aGFuIGFuZAoJICBncmVhdGVyIHRoYW4sIHBhcmVucywgc3F1YXJlIGJyYWNrZXRzLCBjdXJseSBicmFja2V0cywgYW5nbGUgCgkgIGJyYWNrZXRzLCBkb2xsYXIgc2lnbnMsIGJhY2tzbGFzaGVzLCBzZW1pY29sb25zLCBhbXBlcnNhbmRzLAoJICB2ZXJ0aWNhbCBiYXJzLCBldGMuIAkKCTwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgRm9yIGVhY2ggbWV0YWNoYXJhY3RlciBmb3VuZCwgaXQgaXMgcXVvdGVkIGluIHRoZSByZXN1bHQgYnkKCSAgcHJlcGVuZGluZyBpdCB3aXRoIGEgYmFja3NsYXNoLCByZXR1cm5pbmcgdGhlIHJlc3VsdC4KCTwvcD48ZGl2IGNsYXNzPSJub3RlIiB0aXRsZT0iTm90ZSIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgbWFyZ2luLXJpZ2h0OiAwLjVpbjsiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9Ik5vdGUiPjx0cj48dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IltOb3RlXSIgc3JjPSJpbWFnZXMvbm90ZS5wbmciPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij5Ob3RlPC90aD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4gCgkgICAgWW91IG11c3QgcmVxdWlyZSB0aGUgUml2ZXQgcGFja2FnZSBpbiBvcmRlciB0byBnYWluIGFjY2VzcyB0byB0aGlzIGNvbW1hbmQKCTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0idW5lc2NhcGVfc3RyaW5nIj48ZGl2IGNsYXNzPSJyZWZlbnRyeS5zZXBhcmF0b3IiPjxocj48L2Rpdj48YSBuYW1lPSJ1bmVzY2FwZV9zdHJpbmciPjwvYT48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjwvZGl2PjxkaXYgY2xhc3M9InJlZm5hbWVkaXYiPjxoMj5OYW1lPC9oMj48cD51bmVzY2FwZV9zdHJpbmcgJiM4MjEyOyB1bmVzY2FwZSBlc2NhcGVkIGNoYXJhY3RlcnMgaW4gYSBzdHJpbmcuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj51bmVzY2FwZV9zdHJpbmc8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5zdHJpbmc8L3NwYW4+PzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iRGVzY3JpcHRpb24iPjxhIG5hbWU9ImlkMzY1MjQyIj48L2E+PGgyPkRlc2NyaXB0aW9uPC9oMj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgU2NhbnMgdGhyb3VnaCBlYWNoIGNoYXJhY3RlciBpbiB0aGUgc3BlY2lmaWVkIHN0cmluZyBsb29raW5nCgkgIGZvciBlc2NhcGVkIGNoYXJhY3RlciBzZXF1ZW5jZXMgKGNoYXJhY3RlcnMgY29udGFpbmluZyBhCgkgIHBlcmNlbnQgc2lnbiBhbmQgdHdvIGhleGFkZWNpbWFsIGNoYXJhY3RlcnMsIHVuZXNjYXBpbmcgdGhlbSAKCSAgYmFjayB0byB0aGVpciBvcmlnaW5hbCBjaGFyYWN0ZXIgdmFsdWVzLCBhcyBuZWVkZWQsIGFsc28gbWFwcGluZwoJICBwbHVzIHNpZ25zIHRvIHNwYWNlcywgYW5kIHJldHVybmluZyB0aGUgcmVzdWx0LgoJPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgIFRoaXMgaXMgdXNlZnVsIGZvciB1bnF1b3Rpbmcgc3RyaW5ncyB0aGF0IGhhdmUgYmVlbiBxdW90ZWQgdG8KCSAgICBiZSBwYXJ0IG9mIGEgVVJMLgoJPC9wPjxkaXYgY2xhc3M9Im5vdGUiIHRpdGxlPSJOb3RlIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyBtYXJnaW4tcmlnaHQ6IDAuNWluOyI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iTm90ZSI+PHRyPjx0ZCByb3dzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjI1Ij48aW1nIGFsdD0iW05vdGVdIiBzcmM9ImltYWdlcy9ub3RlLnBuZyI+PC90ZD48dGggYWxpZ249ImxlZnQiPk5vdGU8L3RoPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPiAKCSAgICBZb3UgbXVzdCByZXF1aXJlIHRoZSBSaXZldCBwYWNrYWdlIGluIG9yZGVyIHRvIGdhaW4gYWNjZXNzIHRvIHRoaXMgY29tbWFuZAoJPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmZW50cnkiIHRpdGxlPSJhcGFjaGVfbG9nX2Vycm9yIj48ZGl2IGNsYXNzPSJyZWZlbnRyeS5zZXBhcmF0b3IiPjxocj48L2Rpdj48YSBuYW1lPSJhcGFjaGVfbG9nX2Vycm9yIj48L2E+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+TmFtZTwvaDI+PHA+YXBhY2hlX2xvZ19lcnJvciAmIzgyMTI7IGxvZyBtZXNzYWdlcyB0byB0aGUgQXBhY2hlIGVycm9yIGxvZzwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiIgdGl0bGU9IlN5bm9wc2lzIj48aDI+U3lub3BzaXM8L2gyPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+YXBhY2hlX2xvZ19lcnJvcjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnByaW9yaXR5PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bWVzc2FnZTwvc3Bhbj4/PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIHRpdGxlPSJEZXNjcmlwdGlvbiI+PGEgbmFtZT0iaWQzNjUzMDUiPjwvYT48aDI+RGVzY3JpcHRpb248L2gyPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPlRoZSBhcGFjaGVfbG9nX2Vycm9yIGNvbW1hbmQgbG9ncyBhIG1lc3NhZ2UgdG8gdGhlIAoJICBBcGFjaGUgZXJyb3IgbG9nLCB3aG9zZSBuYW1lIGFuZCBsb2NhdGlvbiBoYXZlIGJlZW4KCSAgc2V0IGJ5IHRoZSBFcnJvckxvZyBkaXJlY3RpdmUuCgk8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglQcmlvcml0eSBtdXN0IGJlIG9uZSBvZgoJICAgIGRlYnVnLAoJICAgIGluZm8sCgkgICAgbm90aWNlLAoJICAgIHdhcm5pbmcsCgkgICAgZXJyLAoJICAgIGNyaXQsCgkgICAgYWxlcnQsIG9yCgkgICAgZW1lcmcuCgk8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmZW50cnkiIHRpdGxlPSJhcGFjaGVfdGFibGUiPjxkaXYgY2xhc3M9InJlZmVudHJ5LnNlcGFyYXRvciI+PGhyPjwvZGl2PjxhIG5hbWU9ImFwYWNoZV90YWJsZSI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPmFwYWNoZV90YWJsZSAmIzgyMTI7IGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBBcGFjaGUgdGFibGVzIGluIHRoZSByZXF1ZXN0IHN0cnVjdHVyZS48L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiIHRpdGxlPSJTeW5vcHNpcyI+PGgyPlN5bm9wc2lzPC9oMj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmFwYWNoZV90YWJsZTwvc3Bhbj4gICg8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmdldDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnNldDwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmV4aXN0czwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnVuc2V0PC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bmFtZXM8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcnJheV9nZXQ8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5jbGVhcjwvc3Bhbj4pPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIHRpdGxlPSJEZXNjcmlwdGlvbiI+PGEgbmFtZT0iaWQzNjU0MzUiPjwvYT48aDI+RGVzY3JpcHRpb248L2gyPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPlRoZSBhcGFjaGVfdGFibGUgY29tbWFuZCBpcyBmb3IgYWNjZXNzaW5nIGFuZCBtYW5pcHVsYXRpbmcKCSAgQXBhY2hlIHRhYmxlcyBpbiB0aGUgcmVxdWVzdCBzdHJ1Y3R1cmUuCgk8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglUaGUgdGFibGUgbmFtZSBtdXN0IGJlIG9uZSBvZgoJICAgIG5vdGVzLAoJICAgIGhlYWRlcnNfaW4sCgkgICAgaGVhZGVyc19vdXQsCgkgICAgZXJyX2hlYWRlcnNfb3V0LCBvcgoJICAgIHN1YnByb2Nlc3NfZW52LgoJPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkgICAgICA8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmFwYWNoZV90YWJsZTwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmdldDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnRhYmxlbmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVdoZW4gZ2l2ZW4gdGhlIG5hbWUgb2YgYW4gQXBhY2hlIHRhYmxlCgkJPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dGFibGVuYW1lPC9jb2RlPjwvZW0+CgkJYW5kIHRoZSBuYW1lIG9mIGEga2V5CgkJPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dGFibGVuYW1lPC9jb2RlPjwvZW0+LAoJCXJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBrZXkgaW4gdGhlIHRhYmxlLCBvciBhbiBlbXB0eQoJCXN0cmluZy4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+YXBhY2hlX3RhYmxlPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+c2V0PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dGFibGVuYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+a2V5PC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5hcGFjaGVfdGFibGU8L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5zZXQ8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT50YWJsZW5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5saXN0PC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJU3RvcmVzIHRoZQoJCTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+IGluCgkJdGhlIHRhYmxlCgkJPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dGFibGVuYW1lPC9jb2RlPjwvZW0+CgkJdW5kZXIgdGhlIGtleQoJCTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPi4KCSAgICAgIDwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJICAgICAgICBGb3IgdGhlIGxpc3QgZm9ybSwKCQk8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5saXN0PC9jb2RlPjwvZW0+IGNvbnRhaW5zCgkJYSBsaXN0IG9mIHplcm8gb3IgbW9yZSBwYWlycyBvZiBrZXktdmFsdWUgcGFpcnMgdG8gYmUKCQlzZXQgaW50byB0aGUgdGFibGUKCQk8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT50YWJsZW5hbWU8L2NvZGU+PC9lbT4uCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkgICAgICA8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmFwYWNoZV90YWJsZTwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmV4aXN0czwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnRhYmxlbmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHVybnMgMSBpZiB0aGUgc3BlY2lmaWVkIGtleSwKCQk8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT4sCgkJZXhpc3RzIGluIHRhYmxlCgkJPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dGFibGVuYW1lPC9jb2RlPjwvZW0+LAoJCWVsc2UgMC4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+YXBhY2hlX3RhYmxlPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dW5zZXQ8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT50YWJsZW5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCSAgICAgICAgUmVtb3ZlcyB0aGUga2V5LXZhbHVlIHBhaXIgcmVmZXJlbmNlZCBieQoJCTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPgoJCWZyb20gdGhlIHRhYmxlCgkJPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dGFibGVuYW1lPC9jb2RlPjwvZW0+LgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5hcGFjaGVfdGFibGU8L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5uYW1lczwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnRhYmxlbmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHVybnMgYSBsaXN0IG9mIGFsbCBvZiB0aGUga2V5cyBwcmVzZW50IGluIHRoZSB0YWJsZQoJCTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnRhYmxlbmFtZTwvY29kZT48L2VtPi4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+YXBhY2hlX3RhYmxlPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+YXJyYXlfZ2V0PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dGFibGVuYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkgICAgICAgIFJldHVybnMgYSBsaXN0IG9mIGtleS12YWx1ZSBwYWlycyBmcm9tIHRoZSB0YWJsZQoJCTxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnRhYmxlbmFtZTwvY29kZT48L2VtPi4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+YXBhY2hlX3RhYmxlPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Y2xlYXI8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT50YWJsZW5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlDbGVhcnMgdGhlIGNvbnRlbnRzIG9mIHRoZSBzcGVjaWZpZWQgdGFibGUuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiIgdGl0bGU9IkV4YW1wbGVzIGFuZCBVc2FnZSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGhyPjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZXhhbXBsZXMiPjwvYT5FeGFtcGxlcyBhbmQgVXNhZ2U8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgogICAgICBTb21lIGV4YW1wbGVzIG9mIFJpdmV0IHVzYWdlIGZvbGxvdy4gIFNvbWUgcHJpb3IgVGNsIGtub3dsZWRnZQogICAgICBpcyBhc3N1bWVkLiAgSWYgeW91IGRvbid0IGtub3cgbXVjaCBUY2wsIGRvbid0IHdvcnJ5LCBpdCdzIGVhc3ksCiAgICAgIGFuZCB0aGVyZSBhcmUgc29tZSBnb29kIHJlc291cmNlcyBhdmFpbGFibGUgb24gdGhlIHdlYiB0aGF0IHdpbGwKICAgICAgZ2V0IHlvdSB1cCB0byBzcGVlZCBxdWlja2x5LiAgR28gdG8gdGhlIAogICAgICA8YSBjbGFzcz0ibGluayIgaHJlZj0iI3dlYnNpdGVzIiB0aXRsZT0iV2ViIFNpdGVzIj53ZWIgc2l0ZXM8L2E+IHNlY3Rpb24gYW5kIGhhdmUgYSBsb29rLgogICAgPC9wPjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxhIG5hbWU9ImhlbGxvJTIwd29ybGQiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPkV4YW1wbGWgMS6gSGVsbG8gV29ybGQ8L2I+PC9wPjxkaXYgY2xhc3M9ImV4YW1wbGUtY29udGVudHMiPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJQXMgd2l0aCBhbnkgdG9vbCwgaXQncyBhbHdheXMgbmljZSB0byBzZWUgc29tZXRoaW5nIHdvcmssIHNvCglsZXQncyBjcmVhdGUgYSBzbWFsbCAiSGVsbG8gV29ybGQiIHBhZ2UuPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJQXNzdW1pbmcgeW91IGhhdmUgQXBhY2hlIGNvbmZpZ3VyZWQgY29ycmVjdGx5LCBjcmVhdGUgYSBmaWxlCgljYWxsZWQgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5oZWxsby5ydnQ8L2NvZGU+IHdoZXJlIEFwYWNoZSBjYW4gZmluZAoJaXQsIHdpdGggdGhlIGZvbGxvd2luZyBjb250ZW50OgogICAgICA8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Jmx0Oz8KcHV0cyAiSGVsbG8gV29ybGQiCj8mZ3Q7CjwvcHJlPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJSWYgeW91IHRoZW4gYWNjZXNzIGl0IHdpdGggeW91ciBicm93c2VyLCB5b3Ugc2hvdWxkIHNlZSBhCglibGFuayBwYWdlIHdpdGggdGhlIHRleHQgIkhlbGxvIFdvcmxkIiAod2l0aG91dCB0aGUgcXVvdGVzKSBvbgoJaXQuCiAgICAgIDwvcD48L2Rpdj48L2Rpdj48YnIgY2xhc3M9ImV4YW1wbGUtYnJlYWsiPjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxhIG5hbWU9ImlkMzY5Mjc5Ij48L2E+PHAgY2xhc3M9InRpdGxlIj48Yj5FeGFtcGxloDIuoEdlbmVyYXRlIGEgVGFibGU8L2I+PC9wPjxkaXYgY2xhc3M9ImV4YW1wbGUtY29udGVudHMiPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgIEluIGFub3RoZXIgc2ltcGxlIGV4YW1wbGUsIHdlIGR5bmFtaWNhbGx5IGdlbmVyYXRlIGEgdGFibGU6CgkgIDwvcD48cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2M7IG1hcmdpbjogMmV4OyBtYXJnaW4tcmlnaHQ6IDEwJTsgICAgICAgcGFkZGluZzogMWV4OyBib3JkZXI6IGRhc2hlZCBibGFjayAxcHggOyB3aGl0ZS1zcGFjZTogcHJlOyAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOTAlOyIgY2xhc3M9InByb2dyYW1saXN0aW5nIj4mbHQ7PyBwdXRzICImbHQ7dGFibGUmZ3Q7XG4iCmZvciB7c2V0IGkgMX0geyAkaSAmbHQ7PSA4IH0ge2luY3IgaX0gewogICAgcHV0cyAiJmx0O3RyJmd0O1xuIgogICAgZm9yIHtzZXQgaiAxfSB7JGogJmx0Oz0gOH0ge2luY3Igan0gewogICAgICAgIHNldCBudW0gWyBleHByICRpICogJGogKiA0IC0gMV0KICAgICAgICBwdXRzIFsgZm9ybWF0ICImbHQ7dGQgYmdjb2xvcj1cIiUwMnglMDJ4JTAyeFwiICZndDsgJG51bSAkbnVtICRudW0gJmx0Oy90ZCZndDtcbiIgXAoJCSAgICRudW0gJG51bSAkbnVtIF0KICAgIH0KICAgIHB1dHMgIiZsdDsvdHImZ3Q7XG4iCn0KcHV0cyAiJmx0Oy90YWJsZSZndDtcbiIgPyZndDsKPC9wcmU+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgICAgSWYgeW91IHJlYWQgdGhlIGNvZGUsIHlvdSBjYW4gc2VlIHRoYXQgdGhpcyBpcyBwdXJlIFRjbC4gIFdlCgkgICAgY291bGQgdGFrZSB0aGUgc2FtZSBjb2RlLCBydW4gaXQgb3V0c2lkZSBvZiBSaXZldCwgYW5kIGl0CgkgICAgd291bGQgZ2VuZXJhdGUgdGhlIHNhbWUgSFRNTCEKCSAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgIFRoZSByZXN1bHQgc2hvdWxkIGxvb2sgc29tZXRoaW5nIGxpa2UgdGhpczoKCSAgPC9wPjxkaXY+PGltZyBzcmM9InRhYmxlLnBuZyI+PC9kaXY+PC9kaXY+PC9kaXY+PGJyIGNsYXNzPSJleGFtcGxlLWJyZWFrIj48ZGl2IGNsYXNzPSJleGFtcGxlIj48YSBuYW1lPSJ2YXJpYWJsZV9hY2Nlc3MiPjwvYT48cCBjbGFzcz0idGl0bGUiPjxiPkV4YW1wbGWgMy6gVmFyaWFibGUgQWNjZXNzPC9iPjwvcD48ZGl2IGNsYXNzPSJleGFtcGxlLWNvbnRlbnRzIj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCUhlcmUsIHdlIGRlbW9uc3RyYXRlIGhvdyB0byBhY2Nlc3MgdmFyaWFibGVzIHNldCBieSBHRVQgb3IKCVBPU1Qgb3BlcmF0aW9ucy4KICAgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJR2l2ZW4gYW4gSFRNTCBmb3JtIGxpa2UgdGhlIGZvbGxvd2luZzoKICAgICAgPC9wPjxwcmUgc3R5bGU9ImJhY2tncm91bmQ6I2NjYzsgbWFyZ2luOiAyZXg7IG1hcmdpbi1yaWdodDogMTAlOyAgICAgICBwYWRkaW5nOiAxZXg7IGJvcmRlcjogZGFzaGVkIGJsYWNrIDFweCA7IHdoaXRlLXNwYWNlOiBwcmU7ICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC1zaXplOiA5MCU7IiBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiAgICAgJmx0O2Zvcm0gYWN0aW9uPSJ2YXJzLnJ2dCImZ3Q7CiAgICAgICZsdDt0YWJsZSZndDsKCSZsdDt0Ym9keSZndDsKCSAgJmx0O3RyJmd0OwoJICAgICZsdDt0ZCZndDsmbHQ7YiZndDtUaXRsZTombHQ7L2ImZ3Q7Jmx0Oy90ZCZndDsKCSAgICAmbHQ7dGQmZ3Q7Jmx0O2lucHV0IG5hbWU9InRpdGxlIiZndDsmbHQ7L3RkJmd0OwoJICAmbHQ7L3RyJmd0OwoJICAmbHQ7dHImZ3Q7CgkgICAgJmx0O3RkJmd0OyZsdDtiJmd0O1NhbGFyeTombHQ7L2ImZ3Q7Jmx0Oy90ZCZndDsKCSAgICAmbHQ7dGQmZ3Q7Jmx0O2lucHV0IG5hbWU9InNhbGFyeSImZ3Q7Jmx0Oy90ZCZndDsKCSAgJmx0Oy90ciZndDsKCSAgJmx0O3RyJmd0OwoJICAgICZsdDt0ZCZndDsmbHQ7YiZndDtCb3NzOiZsdDsvYiZndDsmbHQ7L3RkJmd0OwoJICAgICZsdDt0ZCZndDsmbHQ7aW5wdXQgbmFtZT0iYm9zcyImZ3Q7Jmx0Oy90ZCZndDsmbHQ7L3RyJmd0OwoJICAmbHQ7dHImZ3Q7CgkgICAgJmx0O3RkJmd0OyZsdDtiJmd0O1NraWxsczombHQ7L2ImZ3Q7Jmx0Oy90ZCZndDsKCSAgICAmbHQ7dGQmZ3Q7CgkgICAgICAmbHQ7c2VsZWN0IG5hbWU9InNraWxscyIgbXVsdGlwbGU9Im11bHRpcGxlIiZndDsKCQkmbHQ7b3B0aW9uJmd0O2MmbHQ7L29wdGlvbiZndDsKCQkmbHQ7b3B0aW9uJmd0O2phdmEmbHQ7L29wdGlvbiZndDsKCQkmbHQ7b3B0aW9uJmd0O1RjbCZsdDsvb3B0aW9uJmd0OwoJCSZsdDtvcHRpb24mZ3Q7UGVybCZsdDsvb3B0aW9uJmd0OwoJICAgICAgJmx0Oy9zZWxlY3QmZ3Q7CgkgICAgJmx0Oy90ZCZndDsKCSAgJmx0Oy90ciZndDsKCSAgJmx0O3RyJmd0OwoJICAgICZsdDt0ZCZndDsmbHQ7aW5wdXQgdHlwZT0ic3VibWl0IiZndDsmbHQ7L3RkJmd0OwoJICAmbHQ7L3RyJmd0OwoJJmx0Oy90Ym9keSZndDsKICAgICAgJmx0Oy90YWJsZSZndDsKICAgICZsdDsvZm9ybSZndDsKPC9wcmU+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglXZSBjYW4gdXNlIHRoaXMgUml2ZXQgc2NyaXB0IHRvIGdldCB0aGUgdmFyaWFibGUgdmFsdWVzOgogICAgICA8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Jmx0Oz8Kc2V0IGVycmxpc3Qge30KaWYgeyBbdmFyIGV4aXN0cyB0aXRsZV0gfSB7CiAgICBzZXQgdGl0bGUgW3ZhciBnZXQgdGl0bGVdCn0gZWxzZSB7CiAgICBzZXQgZXJybGlzdCAiWW91IG5lZWQgdG8gZW50ZXIgYSB0aXRsZSIKfQoKaWYgeyBbdmFyIGV4aXN0cyBzYWxhcnldIH0gewogICAgc2V0IHNhbGFyeSBbdmFyIGdldCBzYWxhcnldCiAgICBpZiB7ICEgW3N0cmluZyBpcyBkaWdpdCAkc2FsYXJ5XSB9IHsKCWxhcHBlbmQgZXJybGlzdCAiU2FsYXJ5IG11c3QgYmUgYSBudW1iZXIiCiAgICB9Cn0gZWxzZSB7CiAgICBsYXBwZW5kIGVycmxpc3QgIllvdSBuZWVkIHRvIGVudGVyIGEgc2FsYXJ5Igp9CgppZiB7IFt2YXIgZXhpc3RzIGJvc3NdIH0gewogICAgc2V0IGJvc3MgW3ZhciBnZXQgYm9zc10KfSBlbHNlIHsKICAgIHNldCBib3NzICJNci4gQnVybnMiCn0KCmlmIHsgW3ZhciBleGlzdHMgc2tpbGxzXSB9IHsKICAgIHNldCBza2lsbHMgW3ZhciBsaXN0IHNraWxsc10KfSBlbHNlIHsKICAgIGxhcHBlbmQgZXJybGlzdCAiWW91IG5lZWQgdG8gZW50ZXIgc29tZSBza2lsbHMiCn0KCmlmIHsgW2xsZW5ndGggJGVycmxpc3RdICE9IDAgfSB7CiAgICBmb3JlYWNoIGVyciAkZXJybGlzdCB7CglwdXRzICImbHQ7YiZndDsgJGVyciAmbHQ7L2ImZ3Q7IgogICAgfQp9IGVsc2UgewogICAgcHV0cyAiVGhhbmtzIGZvciB0aGUgaW5mb3JtYXRpb24hIgogICAgPyZndDsKICAgICZsdDt0YWJsZSZndDsKICAgICAgJmx0O3Rib2R5Jmd0OwoJJmx0O3RyJmd0OwoJICAmbHQ7dGQmZ3Q7Jmx0O2ImZ3Q7VGl0bGU6Jmx0Oy9iJmd0OyZsdDsvdGQmZ3Q7CgkgICZsdDt0ZCZndDsmbHQ7PyBwdXRzICR0aXRsZSA/Jmd0OyZsdDsvdGQmZ3Q7CgkmbHQ7L3RyJmd0OwoJJmx0O3RyJmd0OwoJICAmbHQ7dGQmZ3Q7Jmx0O2ImZ3Q7Qm9zczombHQ7L2ImZ3Q7Jmx0Oy90ZCZndDsKCSAgJmx0O3RkJmd0OyZsdDs/IHB1dHMgJGJvc3MgPyZndDsmbHQ7L3RkJmd0OwoJJmx0Oy90ciZndDsKCSZsdDt0ciZndDsKCSAgJmx0O3RkJmd0OyZsdDtiJmd0O1NhbGFyeTombHQ7L2ImZ3Q7Jmx0Oy90ZCZndDsKCSAgJmx0O3RkJmd0OyZsdDs/IHB1dHMgJHNhbGFyeSA/Jmd0OyZsdDsvdGQmZ3Q7CgkmbHQ7L3RyJmd0OwoJJmx0O3RyJmd0OwoJICAmbHQ7dGQmZ3Q7Jmx0O2ImZ3Q7U2tpbGxzOiZsdDsvYiZndDsmbHQ7L3RkJmd0OwoJICAmbHQ7dGQmZ3Q7Jmx0Oz8gcHV0cyAkc2tpbGxzID8mZ3Q7Jmx0Oy90ZCZndDsKCSZsdDsvdHImZ3Q7CiAgICAgICZsdDsvdGJvZHkmZ3Q7CiAgICAmbHQ7L3RhYmxlJmd0OwogICAgJmx0Oz8KfQo/Jmd0Owo8L3ByZT48cCBzdHlsZT0id2lkdGg6OTAlIj4KCVRoZSBmaXJzdCBzdGF0ZW1lbnQgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZQoJPGNvZGUgY2xhc3M9InZhcm5hbWUiPmJvc3M8L2NvZGU+IHZhcmlhYmxlIGhhcyBiZWVuIHBhc3NlZCB0byB0aGUKCXNjcmlwdCwgYW5kIHRoZW4gZG9lcyBzb21ldGhpbmcgd2l0aCB0aGF0IGluZm9ybWF0aW9uLiAgSWYKCWl0J3Mgbm90IHByZXNlbnQsIGFuIGVycm9yIGlzIGFkZGVkIHRvIHRoZSBsaXN0IG9mIGVycm9ycy4KICAgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJSW4gdGhlIHNlY29uZCBibG9jayBvZiBjb2RlLCB0aGUgdmFyaWFibGUKCTxjb2RlIGNsYXNzPSJ2YXJuYW1lIj5zYWxhcnk8L2NvZGU+IGlzIGZldGNoZWQsIHdpdGggb25lIG1vcmUgZXJyb3IKCWNoZWNrIC0gYmVjYXVzZSBpdCdzIGEgbnVtYmVyLCBpdCBuZWVkcyB0byBiZSBjb21wb3NlZCBvZgoJZGlnaXRzLgogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglUaGUgPGNvZGUgY2xhc3M9InZhcm5hbWUiPmJvc3M8L2NvZGU+IHZhcmlhYmxlIGlzbid0IHJlcXVpcmVkIHRvIGhhdmUKCWJlZW4gc2VudCAtIHdlIHNldCBpdCB0byAiTXIuIEJ1cm5zIiBpZiBpdCBpc24ndCBhbW9uZyB0aGUKCWluZm9ybWF0aW9uIHdlIHJlY2VpdmVkLgogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglUaGUgbGFzdCBiaXQgb2YgdmFyaWFibGUgaGFuZGluZyBjb2RlIGlzIGEgYml0IHRyaWNraWVyLgoJQmVjYXVzZSA8Y29kZSBjbGFzcz0idmFybmFtZSI+c2tpbGxzPC9jb2RlPiBpcyBhIGxpc3Rib3gsIGFuZCBjYW4KCXBvdGVudGlhbGx5IGhhdmUgbXVsdGlwbGUgdmFsdWVzLCB3ZSBvcHQgdG8gcmVjZWl2ZSB0aGVtIGFzIGEKCWxpc3QsIHNvIHRoYXQgYXQgc29tZSBwb2ludCwgd2UgY291bGQgaXRlcmF0ZSBvdmVyIHRoZW0uCiAgICAgIDwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCVRoZSBzY3JpcHQgdGhlbiBjaGVja3MgdG8gbWFrZSBzdXJlIHRoYXQKCTxjb2RlIGNsYXNzPSJ2YXJuYW1lIj5lcnJsaXN0PC9jb2RlPiBpcyBlbXB0eSBhbmQgb3V0cHV0dGluZyBhIHRoYW5reW91CgltZXNzYWdlLiAgSWYgPGNvZGUgY2xhc3M9InZhcm5hbWUiPmVycmxpc3Q8L2NvZGU+IGlzIG5vdCBlbXB0eSwgdGhlIGxpc3QKCW9mIGVycm9ycyBpdCBjb250YWlucyBpcyBwcmludGVkLgogICAgICA8L3A+PC9kaXY+PC9kaXY+PGJyIGNsYXNzPSJleGFtcGxlLWJyZWFrIj48ZGl2IGNsYXNzPSJleGFtcGxlIj48YSBuYW1lPSJmaWxlX3VwbG9hZCI+PC9hPjxwIGNsYXNzPSJ0aXRsZSI+PGI+RXhhbXBsZaA0LqBGaWxlIFVwbG9hZDwvYj48L3A+PGRpdiBjbGFzcz0iZXhhbXBsZS1jb250ZW50cyI+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglUaGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dXBsb2FkPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZCBlbmRvd3MgUml2ZXQgd2l0aCBhbgoJaW50ZXJmYWNlIHRvIGFjY2VzcyBmaWxlcyB0cmFuc2ZlcnJlZCBvdmVyIGh0dHAgYXMgcGFydHMgb2YgYQoJbXVsdGlwYXJ0IGZvcm0uICBUaGUgZm9sbG93aW5nIEhUTUwgaW4gb25lIGZpbGUsIHNheSwKCTxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+dXBsb2FkLmh0bWw8L2NvZGU+IGNyZWF0ZXMgYSBmb3JtIHdpdGggYSB0ZXh0CglpbnB1dCBlbnRyeS4gQnkgY2xpY2tpbmcgdGhlIGZpbGUgY2hvb3NlciBidXR0b24gdGhlIGZpbGUKCWJyb3dzZXIgc2hvd3MgdXAgYW5kIHRoZSB1c2VyIHNlbGVjdHMgdGhlIGZpbGUgdG8gYmUgdXBsb2FkZWQKCSh0aGUgZmlsZSBwYXRoIHdpbGwgYXBwZWFyIGluIHRoZSB0ZXh0IGlucHV0KS4gIEluIG9yZGVyIHRvIG1ha2UKCXN1cmUgeW91J3JlIHVwbG9hZGluZyB0aGUgd2hvbGUgZmlsZSB5b3UgbXVzdCBjb21iaW5lIHRoZQoJYWN0aW9uIG9mIHRoZSBlbmN0eXBlIGFuZCBtZXRob2QgYXR0cmlidXRlcyBvZiB0aGUKCSZsdDtmb3JtLi4uJmd0OyB0YWcgaW4gdGhlIHdheSBzaG93biBpbiB0aGUgZXhhbXBsZS4gIEZhaWx1cmUKCXRvIGRvIHNvIHdvdWxkIHJlc3VsdCBpbiB0aGUgY2xpZW50IHNlbmRpbmcgb25seSB0aGUgZmlsZSdzCglwYXRoLCByYXRoZXIgdGhhbiB0aGUgYWN0dWFsIGNvbnRlbnRzLgogICAgICA8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Jmx0O2Zvcm0gYWN0aW9uPSJmb28ucnZ0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9InBvc3QiJmd0OwombHQ7aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iTXlVcGxvYWQiJmd0OyZsdDsvaW5wdXQmZ3Q7CiZsdDtpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZW5kIEZpbGUiJmd0OyZsdDsvaW5wdXQmZ3Q7CiZsdDsvZm9ybSZndDsKPC9wcmU+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglJbiB0aGUgc2NyaXB0IGludm9rZWQgYnkgdGhlIGZvcm0KCSg8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPnVwbG9hZC5ydnQ8L2NvZGU+KSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz51cGxvYWQ8L3N0cm9uZz48L3NwYW4+PC9zcGFuPgoJID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFyZ3VtZW50IC4uLjwvc3Bhbj4/IGNvbW1hbmRzIGNhbiBiZSB1c2VkIHRvIG1hbmlwdWxhdGUgdGhlCgl2YXJpb3VzIGZpbGVzIHVwbG9hZGVkLgogICAgICA8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Jmx0Oz8KdXBsb2FkIHNhdmUgTXlVcGxvYWQgL3RtcC91cGxvYWRmaWxlcy9maWxlMQpwdXRzICJTYXZlZCBmaWxlIFt1cGxvYWQgZmlsZW5hbWUgTXlVcGxvYWRdIFwKCShbdXBsb2FkIHNpemUgTXlVcGxvYWRdIGJ5dGVzKSB0byBzZXJ2ZXIiCj8mZ3Q7PC9wcmU+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglEb24ndCBmb3JnZXQgdGhhdCB0aGUgYXBhY2hlIHNlcnZlciBtdXN0IGhhdmUgd3JpdGUgYWNjZXNzIHRvCgl0aGUgZGlyZWN0b3J5IHdoZXJlIGZpbGVzIGFyZSBiZWluZyBjcmVhdGVkLiAgVGhlIFJpdmV0IEFwYWNoZQoJZGlyZWN0aXZlcyBoYXZlIGEgc3Vic3RhbnRpYWwgaW1wYWN0IG9uIHRoZSB1cGxvYWQgcHJvY2VzcywKCXlvdSBoYXZlIHRvIGNhcmVmdWxseSByZWFkIHRoZSBkb2NzIGluIG9yZGVyIHRvIHNldCB0aGUKCWFwcHJvcHJpYXRlIGRpcmVjdGl2ZXMgdmFsdWVzIHRoYXQgd291bGQgbWF0Y2ggeW91cgoJcmVxdWlyZW1lbnRzLgogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglJdCBpcyBhbHNvIGltcG9ydGFudCB0byB1bmRlcnN0YW5kIHRoYXQgc29tZSAKCTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnVwbG9hZDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGNvbW1hbmRzIGFyZSBlZmZlY3RpdmUgb25seSB3aGVuCgl1c2VkIGluIGEgbXV0dWFsbHkgZXhjbHVzaXZlIHdheS4gIEFwYWNoZSBzdG9yZXMgdGhlIGRhdGEgaW4KCXRlbXBvcmFyeSBmaWxlcyB3aGljaCBhcmUgcmVhZCBieSB0aGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dXBsb2FkIHNhdmUKCSA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij51cGxvYWQgbmFtZTwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmZpbGVuYW1lPC9zcGFuPj88L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBvciBieSB0aGUKCTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnVwbG9hZCBkYXRhICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij51cGxvYWQgbmFtZTwvc3Bhbj4/PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4KCWNvbW1hbmQuIFN1YnNlcXVlbnQgY2FsbHMgdG8gdGhlc2UgMiBjb21tYW5kcyB1c2luZyB0aGUgc2FtZQoJID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnVwbG9hZCBuYW1lPC9zcGFuPj8gYXJndW1lbnQgd2lsbCByZXR1cm4gbm8gZGF0YSBvbiB0aGUKCXNlY29uZCBjYWxsLiAgTGlrZXdpc2UgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dXBsb2FkIGNoYW5uZWwgID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnVwbG9hZAoJbmFtZTwvc3Bhbj4/PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gd2lsbCByZXR1cm4gYSBUY2wgZmlsZSBjaGFubmVsIHRoYXQgeW91CgljYW4gdXNlIGluIHJlZ3VsYXIgVGNsIHNjcmlwdHMgb25seSBpZiB5b3UgaGF2ZW4ndCBhbHJlYWR5CglyZWFkIHRoZSBkYXRhLCBmb3IgZXhhbXBsZSB3aXRoIGEgY2FsbCB0byB0aGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+dXBsb2FkCglkYXRhICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij51cGxvYWQgbmFtZTwvc3Bhbj4/PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZC4KICAgICAgPC9wPjwvZGl2PjwvZGl2PjxiciBjbGFzcz0iZXhhbXBsZS1icmVhayI+PGRpdiBjbGFzcz0iZXhhbXBsZSI+PGEgbmFtZT0iZmlsZV9kb3dubG9hZCI+PC9hPjxwIGNsYXNzPSJ0aXRsZSI+PGI+RXhhbXBsZaA1LqBGaWxlIERvd25sb2FkPC9iPjwvcD48ZGl2IGNsYXNzPSJleGFtcGxlLWNvbnRlbnRzIj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCUluIGdlbmVyYWwgc2V0dGluZyB1cCBhIGRhdGEgZmlsZSBmb3IgYmVpbmcgc2VudCBvdmVyIGh0dHAgaXMgCglhcyBlYXN5IGFzIGRldGVybWluaW5nIHRoZSBmaWxlJ3MgVVJJIGFuZCBsZXR0aW5nIEFwYWNoZSdzCglkbyBhbGwgdGhhdCBpcyBuZWVkZWQuIElmIHRoaXMgYXBwcm9hY2ggZml0cyB5b3VyIGRlc2lnbiBhbGwgCgl5b3UgaGF2ZSB0byBkbyBpcyB0byBrZWVwIHRoZSBkb3dubG9hZGFibGUgZmlsZXMgc29tZXdoZXJlIAoJd2l0aGluIEFwYWNoZSdzIERvY3VtZW50Um9vdCAob3IgaW4gYW55IG9mIHRoZSBkaXJlY3RvcmllcyAKCUFwYWNoZSBoYXMgcmlnaHQgdG8gYWNjZXNzKS4KICAgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJV2hlbiBhIGNsaWVudCBzZW5kcyBhIHJlcXVlc3QgZm9yIGEgZmlsZSwgQXBhY2hlIHRha2VzCgljYXJlIG9mIGRldGVybWluaW5nIHRoZSBmaWxldHlwZSwgc2VuZHMgYXBwcm9wcmlhdGUgaGVhZGVycyB0bwoJdGhlIGNsaWVudCBhbmQgdGhlbiB0aGUgZmlsZSBjb250ZW50LiBUaGUgY2xpZW50IGlzIHJlc3BvbnNpYmxlCglmb3IgZGVjaWRpbmcgaG93IHRvIGhhbmRsZSB0aGUgZGF0YSBhY2NvcmRpbmdseSB0byB0aGUgCgkiY29udGVudC10eXBlIiBoZWFkZXJzIGFuZCBpdHMgaW50ZXJuYWwgZGVzaWduLiBGb3IgZXhhbXBsZQoJd2hlbiBicm93c2VycyBnaXZlIHVwIHRyeWluZyB0byBkaXNwbGF5IGEgY2VydGFpbiAiY29udGVudC10eXBlIgoJdGhleSBkaXNwbGF5IGEgZG93bmxvYWQgZGlhbG9nIGJveCBhc2tpbmcgZm9yIGRpcmVjdGlvbnMgZnJvbQoJdGhlIHVzZXIuIAogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglSaXZldCBjYW4gaGVscCBpZiB5b3UgaGF2ZSBtb3JlIHNvZmlzdGljYXRlZCBuZWVkcy4gIEZvcgoJaW5zdGFuY2UgeW91IG1heSBiZSBkZXZlbG9waW5nIGFuIGFwcGxpY2F0aW9uIHRoYXQgdXNlcwoJd2VicGFnZXMgdG8gY29sbGVjdCBpbnB1dCBkYXRhLiBUaGlzIGluZm9ybWF0aW9uIG1pZ2h0IGJlCglwYXNzZWQgb24gdG8gc2NyaXB0cyBvciBwcm9ncmFtcyBmb3IgcHJvY2Vzc2luZy4gCglJbiB0aGlzIGNhc2UgYSByZWFsIGZpbGUgcmVwcmVzZW50aW5nIHRoZQoJZGF0YSBkb2Vzbid0IGV4aXN0IGFuZCB0aGUgY29udGVudCBpcyBnZW5lcmF0ZWQgb24gZGVtYW5kIAoJYnkgdGhlIHNlcnZlci4gCglJbiBvdGhlciBjaXJjdW1zdGFuY2VzIHlvdSBtYXkgbmVlZCB0byBkeW5hbWljYWxseSBpbmhpYml0IAoJdGhlIGRvd25sb2FkIG9mIHNwZWNpZmljIGZpbGVzIGFuZCBoaWRlIHRoZW0gYXdheSwgCglZb3VyIHNjcmlwdHMgbWF5IGV4cHVuZ2UgZnJvbSB0aGUgcGFnZXMKCWV2ZXJ5IGxpbmsgdG8gdGhlc2UgZmlsZXMgKHlvdXIgcGFnZXMgYXJlIGR5bmFtaWMsIGFyZW4ndAoJdGhleT8pIGFuZCBtb3ZlIHRoZW0gb3V0IG9mIHdheSwgYnV0IGl0IGxvb2tzIGxpa2UgYQoJY3VtYmVyc29tZSBzb2x1dGlvbi4KICAgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJUHV0dGluZyBUY2wgYW5kIFJpdmV0IGluIGNoYXJnZSBvZiB0aGUgd2hvbGUgZG93bmxvYWQKCW1lY2hhbmlzbSBoZWxwcyBpbiBidWlsZGluZyBjbGVhbmVyIGFuZCBzYWZlciBhcHByb2FjaGVzIHRvCgl0aGUgZG93bmxvYWQgcHJvYmxlbS4KICAgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJSW4gdGhpcyBleGFtcGxlIGEgcHJvY2VkdXJlIGNoZWNrcyBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBhCglwYXJhbWV0ZXIgcGFzc2VkIGluIGJ5IHRoZSBicm93c2VyLiBUaGUgcGFyYW1ldGVyIGlzIHRoZSBuYW1lCgkod2l0aG91dCBleHRlbnNpb24pIG9mIGEgcGRmIGZpbGUuICAKCVBkZiBmaWxlcyBhcmUgc3RvcmVkIGluIGEgZGlyZWN0b3J5IHdob3NlIHBhdGggaXMKCWluIHRoZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5wZGZfcmVwb3NpdG9yeTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IHZhcmlhYmxlLgogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglUaGlzIGNvZGUgaXMgcmVwb3J0ZWQgYXMgYW4gZXhhbXBsZSBvZiBob3cgdG8gY29udHJvbCAKCXRoZSBwcm90b2NvbCB1c2luZyB0aGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+aGVhZGVyczwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGNvbW1hbmQuCiAgICAgIDwvcD48cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2M7IG1hcmdpbjogMmV4OyBtYXJnaW4tcmlnaHQ6IDEwJTsgICAgICAgcGFkZGluZzogMWV4OyBib3JkZXI6IGRhc2hlZCBibGFjayAxcHggOyB3aGl0ZS1zcGFjZTogcHJlOyAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOTAlOyIgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jIENvZGUgZXhhbXBsZSBmb3IgdGhlIHRyYW5zbWlzc2lvbiBvZiBhIHBkZiBmaWxlLiAKCmlmIHtbdmFyIGV4aXN0cyBwZGZuYW1lXX0gewogICAgc2V0IHBkZm5hbWUgW3ZhciBnZXQgcGRmbmFtZV0KCiMgbGV0J3MgYnVpbGQgdGhlIGZ1bGwgcGF0aCB0byB0aGUgcGRmIGZpbGUuIFRoZSAncGRmX3JlcG9zaXRvcnknCiMgZGlyZWN0b3J5IG11c3QgYmUgcmVhZGFibGUgYnkgdGhlIGFwYWNoZSBjaGlsZHJlbgoKICAgIHNldCBwZGZfZnVsbF9wYXRoIFtmaWxlIGpvaW4gJHBkZl9yZXBvc2l0b3J5ICR7cGRmbmFtZX0ucGRmXQogICAgaWYge1tmaWxlIGV4aXN0cyAkcGRmX2Z1bGxfcGF0aF19IHsKCiMgQmVmb3JlIHRoZSBmaWxlIGlzIHNlbnQgd2UgaW5mb3JtIHRoZSBjbGllbnQgYWJvdXQgdGhlIGZpbGUgdHlwZSBhbmQKIyBmaWxlIG5hbWUuIFRoZSBjbGllbnQgY2FuIGJlIHByb3Bvc2VkIGEgZmlsZW5hbWUgZGlmZmVyZW50IGZyb20gdGhlCiMgb3JpZ2luYWwgb25lLiBJbiB0aGlzIGNhc2UsIHRoaXMgaXMgdGhlIHBvaW50IHdoZXJlIGEgbmV3IGZpbGUgbmFtZQojIG11c3QgYmUgZ2VuZXJhdGVkLgoKCWhlYWRlcnMgdHlwZQkJCSJhcHBsaWNhdGlvbi9wZGYiCgloZWFkZXJzIGFkZCBDb250ZW50LURpc3Bvc2l0aW9uICJhdHRhY2htZW50OyBmaWxlbmFtZT0ke3BkZm5hbWV9LnBkZiIKCWhlYWRlcnMgYWRkIENvbnRlbnQtRGVzY3JpcHRpb24gIlBERiBEb2N1bWVudCIKCiMgVGhlIHBkZiBpcyByZWFkIGFuZCBzdG9yZWQgaW4gYSBUY2wgdmFyaWFibGUuIFRoZSBmaWxlIGhhbmRsZSBpcwojIGNvbmZpZ3VyZWQgZm9yIGEgYmluYXJ5IHJlYWQ6IHdlIGFyZSBqdXN0IHNoaXBwaW5nIHJhdyBkYXRhIHRvIGEKIyBjbGllbnQuIFRoZSBmb2xsb3dpbmcgNCBsaW5lcyBvZiBjb2RlIGNhbiBiZSByZXBsYWNlZCBieSBhbnkgY29kZQojIHRoYXQgaXMgYWJsZSB0byByZXRyaWV2ZSB0aGUgZGF0YSB0byBiZSBzZW50IGZyb20gYW55IGRhdGEgc291cmNlCiMgKGUuZy4gZGF0YWJhc2UsIGV4dGVybmFsIHByb2dyYW0sIG90aGVyIFRjbCBjb2RlKQoKCXNldCBwYXBlcgkgICAgW29wZW4gJHBkZl9mdWxsX3BhdGggcl0KCWZjb25maWd1cmUJICAgICRwYXBlciAtdHJhbnNsYXRpb24gYmluYXJ5CglzZXQgcGRmCQkgICAgW3JlYWQgJHBhcGVyXQoJY2xvc2UgJHBhcGVyCgojIE5vdyB3ZSBnb3QgdGhlIGRhdGE6IGxldCdzIHRlbGwgdGhlIGNsaWVudCBob3cgbWFueSBieXRlcyB3ZSBhcmUKIyBhYm91dCB0byBzZW5kICh1c2VmdWwgZm9yIHRoZSBkb3dubG9hZCBwcm9ncmVzcyBiYXIgb2YgYSBkaWFsb2cgYm94KQoKCWhlYWRlcnMgYWRkIENvbnRlbnQtTGVuZ3RoICBbc3RyaW5nIGxlbmd0aCAkcGRmXQoKIyBMZXQncyBzZW5kIHRoZSBhY3R1YWwgZmlsZSBjb250ZW50CgoJcHV0cyAkcGRmCiAgICB9IGVsc2UgewoJc291cmNlIHBkZl9ub3RfZm91bmRfZXJyb3IucnZ0CiAgICB9Cn0gZWxzZSB7CiAgICBzb3VyY2UgcGFyYW1ldGVyX25vdF9kZWZpbmVkX2Vycm9yLnJ2dAp9CjwvcHJlPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJQmVmb3JlIHRoZSBwZGYgaXMgc2VudCB0aGUgcHJvY2VkdXJlIHNldHMgdGhlCgk8Y29kZSBjbGFzcz0iY29uc3RhbnQiPkNvbnRlbnQtVHlwZTwvY29kZT4sIAoJPGNvZGUgY2xhc3M9ImNvbnN0YW50Ij5Db250ZW50LURpc3Bvc2l0aW9uPC9jb2RlPiwKCTxjb2RlIGNsYXNzPSJjb25zdGFudCI+Q29udGVudC1EZXNjcmlwdGlvbjwvY29kZT4gYW5kCgk8Y29kZSBjbGFzcz0iY29uc3RhbnQiPkNvbnRlbnQtTGVuZ3RoPC9jb2RlPiBoZWFkZXJzIHRvIGluZm9ybQoJdGhlIGNsaWVudCBhYm91dCB0aGUgZmlsZSB0eXBlLCBuYW1lIGFuZCBzaXplLiBOb3RpY2UgdGhhdCBpbgoJb3JkZXIgdG8gc2V0IHRoZSA8Y29kZSBjbGFzcz0iY29uc3RhbnQiPkNvbnRlbnQtVHlwZTwvY29kZT4gaGVhZGVyIFJpdmV0IAoJdXNlcyBhIHNwZWNpYWxpZXplZCBmb3JtIG9mIHRoZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5oZWFkZXJzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gCgljb21tYW5kLiBIZWFkZXJzIG11c3QgYmUgc2VudCBiZWZvcmUgZGF0YSBnZXRzIHNlbnQgZG93biB0aGUgCglvdXRwdXQgY2hhbm5lbC4gTWVzc2luZyB3aXRoIHRoaXMgcHJlc2NyaXB0aW9uIGNhdXNlcyBhbiBlcnJvciAKCXRvIGJlIHJhaXNlZCAoaW4gZmFjdCB0aGUgcHJvdG9jb2wgaXRzZWxmIGlzIGJlZW4gdmlvbGF0ZWQpCiAgICAgIDwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCU1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1lYW5pbmcgb2YgdGhlIG1pbWUgaGVhZGVycyBpbiB0aGUKCWh0dHAgY29udGV4dCBjYW4gYmUgZm91bmQgYXQgCgk8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYuaHRtbCIgdGFyZ2V0PSJfdG9wIj5odHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2Lmh0bWw8L2E+CiAgICAgIDwvcD48L2Rpdj48L2Rpdj48YnIgY2xhc3M9ImV4YW1wbGUtYnJlYWsiPjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxhIG5hbWU9ImFqYXhfeG1sX21lc3NhZ2luZyI+PC9hPjxwIGNsYXNzPSJ0aXRsZSI+PGI+RXhhbXBsZaA2LqBYTUwgTWVzc2FnZXMgYW5kIEFqYXg8L2I+PC9wPjxkaXYgY2xhc3M9ImV4YW1wbGUtY29udGVudHMiPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJVGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmhlYWRlcnM8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBjb21tYW5kIGlzIGNydWNpYWwgZm9yIGdlbmVyYXRpbmcgCglYTUwgbWVzc2FnZXMgdGhhdCBoYXZlIHRvIGJlIHVuZGVyc3Rvb2QgYnkgSmF2YVNjcmlwdCBjb2RlIHVzZWQgCglpbiBBamF4IGFwcGxpY2F0aW9ucy4gCiAgICAgIDwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgICBBamF4IGlzIGEgd2ViIHByb2dyYW1taW5nIHRlY2huaXF1ZSB0aGF0IGhlYXZpbHkgcmVsaWVzIG9uIHRoZSBhYmlsdHkgb2YgYSB3ZWIgYnJvd3NlciB0byBydW4gaW4gYmFja3JvdW5kCgkgICAgSmF2YVNjcmlwdCBmdW5jdGlvbnMuIEphdmFTY3JpcHQgZnVuY3Rpb25zIGNhbiBiZSBydW4gYXMgY2FsbGJhY2tzIG9mIGV2ZW50cyBnZW5lcmF0ZWQgYnkgYSB1c2VyIGludGVyYWN0aW9uIAoJICAgIGJ1dCB0aGV5IGNhbiBhbHNvIHJlYWN0IHRvIG90aGVyIEkvTyBldmVudHMsIGZvciBleGFtcGxlIG5ldHdvcmsgZXZlbnRzLiAKCSAgICBNb2Rlcm4gYnJvd3NlcnMgZW5kb3cgSmF2YVNjcmlwdCB3aXRoIHRoZSBhYmlsaXR5IHRvIGJ1aWxkIGh0dHAgR0VUL1BPU1QgcmVxdWVzdHMgdG8gYmUgc2VudCB0byBhIHJlbW90ZQoJICAgIHdlYnNlcnZlci4gR2VuZXJhbGx5IHRoZXNlIHJlcXVlc3RzIHJlZmVyIHRvIHNjcmlwdHMgKGUuZy4gVGNsIHNjcmlwdHMgcnVuIGJ5IFJpdmV0KSB3aGljaCBpbmhlcml0IGFzIAoJICAgIHZhcmlhYmxlcyB0aGUgYXJndW1lbnRzIGVuY29kZWQgaW4gdGhlIHJlcXVlc3QuIAoJICAgIFRoZSBvdXRwdXQgcHJvZHVjZWQgYnkgdGhlc2Ugc2NyaXB0cyBpcyBzZW50IGJhY2sgdG8gdGhlIGJyb3dzZXIgd2hlcmUgY2FsbGJhY2tzIGZ1bmN0aW9ucyBleHRyYWN0IAoJICAgIGluZm9ybWF0aW9uIGFuZCBoYW5kIGl0IGRvd24gdG8gZnVuY3Rpb25zIHRoYXQgZGlyZWN0bHkgbWFuaXB1bGF0ZSBhIHBhZ2UncyBET00uCgkgICAgVGhlcmVmb3JlIHRocm91Z2ggQWpheCBiZWNvbWVzIHBvc3NpYmxlIHRvIGJ1aWxkIHdlYiBhcHBsaWNhdGlvbnMgdGhhdCBhcmUgbW9yZSByZXNwb25zaXZlIGFuZCBmbGV4aWJsZTogCgkgICAgaW5zdGVhZCBvZiBnb2luZyB0aHJvdWdoIHRoZSBjeWNsZSBvZiByZXF1ZXN0LWdlbmVyYXRpb24tdHJhbnNmZXItZGlzcGxheSAKCSAgICBvZiBhIHdob2xlIHBhZ2UsIEFqYXggc2NyaXB0cyByZXF1ZXN0IGZyb20gYSB3ZWJzZXJ2ZXIgb25seSB0aGUgZXNzZW50aWFsIGRhdGEgdG8gYmUgZGlzcGxheWVkLgoJICAgIEFqYXggZW1waGFzaXplcyB0aGUgcmVxdWlyZW1lbnQgb2Ygc2VwYXJhdGlvbiBiZXR3ZWVuIGRhdGEgYW5kIHVzZXIgaW50ZXJmYWNlLCBzYXZlcyAKCSAgICB0aGUgc2VydmVyIGZyb20gc2VuZGluZyBvdmVyIHRoZSBzYW1lIGh0bWwgY29kZSBhbmQgZ3JhcGhpY3MgaWYgb25seSBhIGZyYWN0aW9uIG9mIGEgcGFnZSBoYXMgdG8gYmUgCgkgICAgdXBkYXRlZCwgYWxsb3dzIHRoZSBwcm9ncmFtbWVyIHRvIGRlc2lnbiBmbGV4aWJsZSBzb2x1dGlvbnMgZm9yIGNvbXBsZXggZm9ybXMgYW5kIG1ha2VzIHBvc3NpYmxlCgkgICAgdG8gZmluZCBuZXcgaW5ub3ZhdGl2ZSBhcHByb2FjaGVzIHRvIHNpbXBsZSBwcm9ibGVtcyAoZS5nLiBHb29nbGUgdGlwcyB0aGF0IHNob3cgdXAgYXMgeW91IHR5cGUgaW4KCSAgICBhIHF1ZXJ5KS4gQSBkb3duc2lkZSBvZiB0aGlzIGFwcHJvYWNoIGlzIHRoZSBsYXJnZSBudW1iZXIgb2YgY29tcGxleGl0aWVzLCBzdWJ0bGV0aWVzIGFuZCBpbmNvbXBhdGliaWxpdGllcyAKCSAgICB0aGF0IHN0aWxsIGV4aXN0IGluIHRoZSB3YXkgZGlmZmVyZW50IHZlcnNpb25zIG9mIHBvcHVsYXIgYnJvd3NlcnMgaGFuZGxlIHRoZSBET00gZWxlbWVudHMgb2YgYSBwYWdlLgoJPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgIEphdmFTY3JpcHQgY2FuIGhhbmRsZSB0aGUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIGNsaWVudCBhbmQgc2VydmVyIHRocm91Z2ggYW4gaW5zdGFuY2Ugb2YgYSAKCSAgICBzcGVjaWFsaXplZCBvYmplY3QuIEZvciBxdWl0ZSBhIGxvbmcgdGltZSAyIGFwcHJvYWNoZXMgZXhpc3RlZCwgdGhlIG5vbi1JRSB3b3JsZCAoRmlyZWZveCxTYWZhcmksT3BlcmEuLi4pIAoJICAgIHVzZWQgdGhlIFhNTEh0dHBSZXF1ZXN0IGNsYXNzIHRvIGNyZWF0ZSB0aGlzIG9iamVjdCwgd2hlcmVhcyBJRSAoYmVmb3JlIElFNykgdXNlZCB0aGUgQWN0aXZlWE9iamVjdCBjbGFzcy4KCSAgICBXaXRoIHRoZSByZWxlYXNlIG9mIElFNyBNaWNyb3NvZnQgaW50cm9kdWNlZCBuYXRpdmUgc3VwcG9ydCBmb3IgWE1MSHR0cFJlcXVlc3QgY2xhc3Mgb2JqZWN0cyB0aHVzIGVuYWJsaW5nCgkgICAgcHJvZ3JhbW1lcnMgd2l0aCBhIHVuaXF1ZSBtZXRob2QgZm9yIHRoZSBkZXZlbG9wbWVudCBvZiBkeW5hbWljIHBhZ2VzLiAKCTwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgICBCeSBjcmVhdGluZyBhbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzIGEgUE9TVCBvciBHRVQgcmVxdWVzdCBjYW4gYmUgc2VudCB0byB0aGUgc2VydmVyIGFuZCB0aGUgcmVzcG9uc2UgaXMgCgkgICAgc3RvcmVkIGluIGEgcHJvcGVydHkgKCdyZXR1cm5lZFRleHQnKSBvZiB0aGUgY29tbXVuaWNhdGlvbiBvYmplY3QuIEl0J3MgYmVjb21lIHdpZGVseSBjdXN0b21hcnkgdG8gZW5jb2RlIAoJICAgIHRoZXNlIHJlc3BvbnNlcyBpbiBYTUwgbWVzc2FnZXMuIFlvdSBjYW4gaW52ZW50IHlvdXIgb3duIG1lc3NhZ2Ugc3RydWN0dXJlIChlaXRoZXIgYmFzZWQgb24gWE1MIG9yIGFueXRoaW5nIAoJICAgIGVsc2UpLCBidXQgb25lIGhhcyB0byBiZSBhd2FyZSB0aGF0IGlmIHRoZSBodHRwIGhlYWRlcnMgYXJlIHByb3Blcmx5IHNldCBhbmQgdGhlIG1lc3NhZ2UgcmV0dXJuZWQgdG8gdGhlIAoJICAgIGNsaWVudCBpcyBhIHdlbGwgZm9ybWVkIFhNTCBmcmFnbWVudCwgYWxzbyB0aGUgcHJvcGVydHkgWE1MUmVzcG9uc2UgaXMgYXNzaWduZWQgd2l0aCBhIHJlZmVyZW5jZSB0byBhbiBvYmplY3QgCgkgICAgdGhhdCByZXByZXNlbnRzIHRoZSBET00gb2YgdGhlIFhNTCByZXNwb25zZS4gQnkgbWVhbnMgb2YgdGhlIFhNTCBXM0MgRE9NIGludGVyZmFjZSB0aGUgcHJvZ3JhbW1lciBjYW4gZWFzaWx5CgkgICAgbWFuaXB1bGF0ZSB0aGUgZGF0YSBlbWJlZGRlZCBpbiB0aGUgWE1MIG1lc3NhZ2UuCgk8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgICAgSW4gdGhpcyBleGFtcGxlIGEgUml2ZXQgc2NyaXB0IGluaXRpYWxpemVzIGFuIGFycmF5IHdpdGggdGhlIGVzc2VudGlhbCBkYXRhIHJlZ2FyZGluZyBhIGZldyBvZiB0aGUgbWFqb3IgCgkgICAgY29tcG9zZXJzIG9mIHRoZSBldXJvcGVhbiBtdXNpYy4gVGhpcyBhcnJheSBwbGF5cyB0aGUgcm9sZSBvZiBhIGRhdGFiYXNlLiBUaGUgc2NyaXB0IHNlbmRzIGJhY2sgdG8gdGhlIAoJICAgIGNsaWVudCB0d28gdHlwZXMgb2YgcmVzcG9uc2VzOiBhIGNhdGFsb2cgb2YgdGhlIGNvbXBvc2VycyBvciBhIHNpbmdsZSByZWNvcmQgb2YgYSBjb21wb3Nlci4KCTwvcD48cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2M7IG1hcmdpbjogMmV4OyBtYXJnaW4tcmlnaHQ6IDEwJTsgICAgICAgcGFkZGluZzogMWV4OyBib3JkZXI6IGRhc2hlZCBibGFjayAxcHggOyB3aGl0ZS1zcGFjZTogcHJlOyAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOTAlOyIgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jCiMgQWpheCBxdWVyeSBzZXJ2ZWxldDogYSBwc2V1ZG8gZGF0YWJhc2UgaXMgYnVpbHQgaW50byB0aGUgZGljdGlvbmFyeSAnY29tcG9zZXJzJyB3aXRoIHRoZQojIHB1cnBvc2Ugb2YgZW11bGF0aW5nIHRoZSByb2xlIG9mIGEgcmVhbCBkYXRhIHNvdXJjZS4gCiMgVGhlIHNjcmlwdCBhbnN3ZXJzIHdpdGggIDIgdHlwZXMgb2YgcmVzcG9uc2VzOiBhIGNhdGFsb2cgb2YgdGhlIHJlY29yZCBpZHMgYW5kIGEgZGF0YWJhc2UgCiMgZW50cnkgbWF0Y2hpbmcgYSBnaXZlbiByZWNfaWQuIFRoZSBzY3JpcHQgb2J2aW91c2x5IG1pc3NlcyB0aGUgZXJyb3IgaGFuZGxpbmcgYW5kIHRoZQojIGxpa2VzLiBKdXN0IGFuIGV4YW1wbGUgdG8gc2VlIHJpdmV0IHNlbmRpbmcgeG1sIGRhdGEgdG8gYSBicm93c2VyLiBUaGUgZnVsbCBUY2wsIEphdmFTY3JpcHQKIyBhbmQgSFRNTCBjb2RlIGFyZSBhdmFpbGFibGUgZnJvbSBodHRwOi8vcGVvcGxlLmFwYWNoZS5vcmcvfm14bWFuZ2hpL3JpdmV0LWFqYXgudGFyLmd6CgojIFRoaXMgZXhhbXBsZSByZXF1aXJlcyBUY2w4LjUgb3IgVGNsOC40IHdpdGggcGFja2FnZSAnZGljdCcgCiMgKGh0dHA6Ly9wYXNjYWwuc2NoZWZmZXJzLm5ldC9zb2Z0d2FyZS90Y2xEaWN0LTguNS4yLnRhci5neikKIyAKCiMgQSBwc2V1ZG8gZGF0YWJhc2UuIHJlY19pZCBtYXRjaGVzIGEgcmVjb3JkIGluIHRoZSBkYgoKc2V0IGNvbXBvc2VycyBbZGljdCBjcmVhdGUgIDEge2ZpcnN0X25hbWUgQ2xhdWRpbyBtaWRkbGVfbmFtZSAiIiBsYXN0X25hbWUgTW9udGV2ZXJkaQlcCgkJCSAgICAgICBsaWZlc3BhbiAxNTY3LTE2NDMgZXJhIFJlbmFpc3NhbmNlL0Jhcm9xdWV9CQlcCgkJCSAgICAyIHtmaXJzdF9uYW1lIEpvaGFubiBtaWRkbGVfbmFtZSBTZWJhc3RpYW4gbGFzdF9uYW1lIEJhY2gJXAoJCQkgICAgICAgbGlmZXNwYW4gMTY4NS0xNzUwIGVyYSBCYXJvcXVlIH0JCQkJXAoJCQkgICAgMyB7Zmlyc3RfbmFtZSBMdWR3aWcgbWlkZGxlX25hbWUgIiIgbGFzdF9uYW1lICJ2YW4gQmVldGhvdmVuIiBcCgkJCSAgICAgICBsaWZlc3BhbiAxNzcwLTE4MjcgZXJhIENsYXNzaWNhbC9Sb21hbnRpY30JCVwKCQkJICAgIDQge2ZpcnN0X25hbWUgV29sZmdhbmcgbWlkZGxlX25hbWUgQW1hZGV1cyBsYXN0X25hbWUgTW96YXJ0CVwKCQkJCWxpZmVzcGFuIDE3NTYtMTc5MSBlcmEgQ2xhc3NpY2FsIH0JCQlcCgkJCSAgICA1IHtmaXJzdF9uYW1lIFJvYmVydCBtaWRkbGVfbmFtZSAiIiBsYXN0X25hbWUgU2NodW1hbm4JXAoJCQkJbGlmZXNwYW4gMTgxMC0xODU2IGVyYSBSb21hbnRpY30gXQoKIyB3ZSB1c2UgdGhlICdsb2FkJyBhcmd1bWVudCBpbiBvcmRlciB0byBkZXRlcm1pbmUgdGhlIHR5cGUgb2YgcXVlcnkKIwojIGxvYWQ9Y2F0YWxvZzoJCSAgICB3ZSBoYXZlIHRvIHJldHVybiBhIGxpc3Qgb2YgdGhlIG5hbWVzIGluIHRoZSBkYXRhYmFzZQojIGxvYWQ9Y29tcG9zZXImYW1wO3Jlc19pZD0mbHQ7aWQmZ3Q7OiB0aGUgc2NyaXB0IGlzIHN1cHBvc2VkIHRvIHJldHVybiB0aGUgcmVjb3JkCiMJCQkgICAgaGF2aW5nICZsdDtpZCZndDsgYXMgcmVjb3JkIGlkCgppZiB7W3ZhciBleGlzdHMgbG9hZF19IHsKCiMgdGhlIHhtbCBkZWNsYXJhdGlvbiBpcyBjb21tb24gdG8gZXZlcnkgbWVzc2FnZSAoZXJyb3IgbWVzc2FnZXMgaW5jbHVkZWQpCgogICAgc2V0IHhtbCAiJmx0Oz94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiSVNPLTg4NTktMVwiPyZndDtcbiIKICAgIHN3aXRjaCBbdmFyIGdldCBsb2FkXSB7CgljYXRhbG9nIHsKCSAgICBhcHBlbmQgeG1sICImbHQ7Y2F0YWxvZyZndDtcbiIKCSAgICBmb3JlYWNoIG5tIFtkaWN0IGtleXMgJGNvbXBvc2Vyc10gewoJCXNldCBmaXJzdF9uYW1lIFtkaWN0IGdldCAkY29tcG9zZXJzICRubSBmaXJzdF9uYW1lXQoJCXNldCBtaWRkbGVfbmFtZSBbZGljdCBnZXQgJGNvbXBvc2VycyAkbm0gbWlkZGxlX25hbWVdCgkJc2V0IGxhc3RfbmFtZSAgW2RpY3QgZ2V0ICRjb21wb3NlcnMgJG5tIGxhc3RfbmFtZV0KCSAgICAgICAgYXBwZW5kIHhtbCAiICAgICZsdDtjb21wb3NlciBrZXk9XCIkbm1cIiZndDskZmlyc3RfbmFtZSAiCgkJaWYge1tzdHJpbmcgbGVuZ3RoIFtzdHJpbmcgdHJpbSAkbWlkZGxlX25hbWVdXSAmZ3Q7IDB9IHsKCQkgICAgYXBwZW5kIHhtbCAiJG1pZGRsZV9uYW1lICIKCQl9CgkJYXBwZW5kIHhtbCAiJGxhc3RfbmFtZSZsdDsvY29tcG9zZXImZ3Q7XG4iCgkgICAgfQoJICAgIGFwcGVuZCB4bWwgIiZsdDsvY2F0YWxvZyZndDtcbiIKCX0KCWNvbXBvc2VyIHsKCSAgICBhcHBlbmQgeG1sICImbHQ7Y29tcG9zZXImZ3Q7XG4iCgkgICAgaWYge1t2YXIgZXhpc3RzIHJlY19pZF19IHsKCQlzZXQgcmVjX2lkIFt2YXIgZ2V0IHJlY19pZF0KCQlpZiB7W2RpY3QgZXhpc3RzICRjb21wb3NlcnMgJHJlY19pZF19IHsKCgkJICAgIGZvcmVhY2gge2sgdn0gW2RpY3QgZ2V0ICRjb21wb3NlcnMgJHJlY19pZF0gewoJCQlhcHBlbmQgeG1sICImbHQ7JGsmZ3Q7JHYmbHQ7LyRrJmd0O1xuIgoJCSAgICB9CgoJCX0KCSAgICB9CgkgICAgYXBwZW5kIHhtbCAiJmx0Oy9jb21wb3NlciZndDtcbiIKCX0KICAgIH0KCiMgd2UgaGF2ZSB0byB0ZWxsIHRoZSBjbGllbnQgdGhpcyBpcyBhbiBYTUwgbWVzc2FnZS4gRmFpbGluZyB0byBkbyBzbwojIHdvdWxkIHJlc3VsdCBpbiBhbiBYTUxSZXNwb25zZSBwcm9wZXJ0eSBzZXQgdG8gbnVsbAoKICAgIGhlYWRlcnMgdHlwZSAidGV4dC94bWwiCiAgICBoZWFkZXJzIGFkZCBDb250ZW50LUxlbmd0aCBbc3RyaW5nIGxlbmd0aCAkeG1sXQogICAgcHV0cyAkeG1sCn0KCjwvcHJlPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgIEZvciBzYWtlIG9mIGJyZXZpdHkgdGhlIEphdmFTY3JpcHQgYW5kIEhUTUwgd2lsbCBub3QgbGlzdGVkIGhlcmUuIFRoZXkgY2FuIGJlIGRvd25sb2FkZWQgKGFsb25nIHdpdGggdGhlIFRjbCAKCSAgICBzY3JpcHQpIHN0b3JlZCBpbiB0aGUgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vcGVvcGxlLmFwYWNoZS5vcmcvfm14bWFuZ2hpL3JpdmV0LWFqYXgudGFyLmd6IiB0YXJnZXQ9Il90b3AiPnJpdmV0LWFqYXgudGFyLmd6PC9hPiBhcmNoaXZlLiAKCSAgICBCeSBzaW1wbHkgb3BlbmluZyB0aGlzIHRhciBhcmNoaXZlIGluIGEgZGlyZWN0b3J5IGFjY2Vzc2libGUgCgkgICAgYnkgeW91ciBhcGFjaGUgc2VydmVyIGFuZCBwb2ludGluZyB5b3VyIGJyb3dzZXIgdG8gdGhlIHJpdmV0U2VydmljZS5odG1sIHBhZ2UgeW91IHNob3VsZCBzZWUgYSBwYWdlIHdpdGggYSAKCSAgICBkcm9wLWRvd24gbGlzdC4gRXZlcnkgdGltZSBhIGRpZmZlcmVudCBuYW1lIGlzIHBpY2tlZCBmcm9tIHRoZSBsaXN0IGEgbmV3IHF1ZXJ5IGlzIHNlbnQgYW5kIGxvZ2dlZCBpbiB0aGUgCgkgICAgYXBhY2hlIGFjY2Vzcy5sb2cgZmlsZSwgZXZlbiB0aG91Z2ggdGhlIGh0bWwgaXMgbmV2ZXIgcmVsb2FkZWQuCgk8L3A+PC9kaXY+PC9kaXY+PGJyIGNsYXNzPSJleGFtcGxlLWJyZWFrIj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iUml2ZXQgVGNsIFBhY2thZ2VzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aHI+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJ0Y2xfcGFja2FnZXMiPjwvYT5SaXZldCBUY2wgUGFja2FnZXM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgogICAgICBJbiBhZGRpdGlvbiB0byB0aGUgY29yZSBBcGFjaGUgbW9kdWxlLCBSaXZldCBwcm92aWRlcyBhIG51bWJlcgogICAgICBvZiBUY2wgcGFja2FnZXMgdGhhdCBpbmNsdWRlIHBvdGVudGlhbGx5IHVzZWZ1bCBjb2RlLgogICAgPC9wPjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJY29tbXNlcnZlciBpcyBhIHBhY2thZ2UgcHJvdmlkaW5nIGEgc2VydmVyIHRoYXQgY2FuIGJlCgkJCQl1c2VkIGZvciBJUEMuICBTdGlsbCBleHBlcmltZW50YWwuICBSZXF1aXJlcyB0aGUgY29tbSBwYWNrYWdlCgkJCQlmcm9tIHRjbGxpYi4KCQkJPC9kaXY+PC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5kaW8gaXMgYSBkYXRhYmFzZSBhYnN0cmFjdGlvbiBsYXllci48L2Rpdj48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJZHRjbCBpcyBhIGNvbXBhdGliaWxpdHkgcGFja2FnZSBmb3IgbW9kX2R0Y2wKCQkJCWFwcGxpY2F0aW9ucy4KCQkJPC9kaXY+PC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5mb3JtIC0gZm9yIGNyZWF0aW5nIGZvcm1zLjwvZGl2PjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+cml2ZXQgLSBzb21lIGFkZGl0aW9uYWwsIHVzZWZ1bCByb3V0aW5lcy48L2Rpdj48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPnRjbHJpdmV0PC9kaXY+PC9saT48L3VsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJESU8gLSBEYXRhYmFzZSBJbnRlcmZhY2UgT2JqZWN0cyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGhyPjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZGlvIj48L2E+RElPIC0gRGF0YWJhc2UgSW50ZXJmYWNlIE9iamVjdHM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0iRElPIj48YSBuYW1lPSJkaW9fcGFja2FnZSI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPkRJTyAmIzgyMTI7IERhdGFiYXNlIEludGVyZmFjZSBPYmplY3RzPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj46OkRJTzo6aGFuZGxlPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+aW50ZXJmYWNlPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/ICg8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1vcHRpb248L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vcHRpb248L2NvZGU+PC9lbT48L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tb3B0aW9uPC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b3B0aW9uPC9jb2RlPjwvZW0+PC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Li4uPC9zcGFuPik8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgdGl0bGU9IkRlc2NyaXB0aW9uIj48YSBuYW1lPSJpZDM3MDMwOCI+PC9hPjxoMj5EZXNjcmlwdGlvbjwvaDI+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkRJTzwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGlzIGRlc2lnbmVkIHRvIGJlIGEgZ2VuZXJpYywKCSAgb2JqZWN0LW9yaWVudGVkIGludGVyZmFjZSB0byBTUUwgZGF0YWJhc2VzLiAgSXRzIG1haW4gZ29hbAoJICBpcyB0byBiZSBhcyBnZW5lcmljIGFzIHBvc3NpYmxlLCBidXQgc2luY2Ugbm90IGFsbCBTUUwKCSAgZGF0YWJhc2VzIHN1cHBvcnQgdGhlIGV4YWN0IHNhbWUgc3ludGF4ZXMsIGtlZXBpbmcgY29kZQoJICBnZW5lcmljIGJldHdlZW4gZGF0YWJhc2VzIGlzIGxlZnQgdG8gdGhlIGFiaWxpdGllcyBvZiB0aGUKCSAgcHJvZ3JhbW1lci4gIERJTyBzaW1wbHkgcHJvdmlkZXMgYSB3YXkgdG8ga2VlcCB0aGUgVGNsCgkgIGludGVyZmFjZSBnZW5lcmljLgoJPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBpbnRlcmZhY2UgLSBUaGUgbmFtZSBvZiB0aGUgZGF0YWJhc2UKCSAgaW50ZXJmYWNlLiAgQ3VycmVudGx5IHN1cHBvcnRlZCBpbnRlcmZhY2VzIGFyZQoJICBQb3N0Z3Jlc3FsIGFuZCBNeXNxbC4KCTwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgSWYgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPiBpcwoJICBzcGVjaWZpZWQsIERJTyBjcmVhdGVzIGFuIG9iamVjdCBvZiB0aGF0IG5hbWUuICBJZiB0aGVyZSBpcwoJICBubyA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+CgkgIGdpdmVuLCBESU8gd2lsbCBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgdW5pcXVlIG9iamVjdCBJRAoJPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iT3B0aW9ucyI+PGEgbmFtZT0iaWQzNzAzNTEiPjwvYT48aDI+T3B0aW9uczwvaDI+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4taG9zdDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmhvc3RuYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlUaGUgaG9zdG5hbWUgb2YgdGhlIGNvbXB1dGVyIHRvIGNvbm5lY3QgdG8uICBJZiBub25lCgkJaXMgZ2l2ZW4sIERJTyBhc3N1bWVzIHRoZSBsb2NhbCBob3N0LgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1wb3J0PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+cG9ydE51bWJlcjwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+VGhlIHBvcnQgbnVtYmVyIHRvIGNvbm5lY3QgdG8gb24gaG9zdG5hbWUuPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi11c2VyPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dXNlcm5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPlRoZSB1c2VybmFtZSB5b3Ugd2lzaCB0byBsb2dpbiB0byB0aGUgc2VydmVyIGFzLjwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tcGFzczwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnBhc3N3b3JkPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5UaGUgcGFzc3dvcmQgdG8gbG9naW4gdG8gdGhlIHNlcnZlciB3aXRoLjwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tZGI8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5kYXRhYmFzZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlIHRvIGNvbm5lY3QgdG8uCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LXRhYmxlPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dGFibGVOYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlUaGUgZGVmYXVsdCB0YWJsZSB0byB1c2Ugd2hlbiB1c2luZyBidWlsdC1pbiBjb21tYW5kcwoJCWZvciBzdG9yaW5nIGFuZCBmZXRjaGluZy48L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWtleWZpZWxkPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+a2V5RmllbGRuYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlUaGUgZGVmYXVsdCBmaWVsZCB0byB1c2UgYXMgdGhlIHByaW1hcnkga2V5IHdoZW4gdXNpbmcKCQlidWlsdC1pbiBjb21tYW5kcyBmb3Igc3RvcmluZyBhbmQgZmV0Y2hpbmcuPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1hdXRva2V5PC9zcGFuPiAgKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+MTwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjA8L3NwYW4+KTwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUlmIHRoaXMgb3B0aW9uIGlzIHNldCB0byAxLCBESU8gd2lsbCBhdHRlbXB0IHRvCgkJZGV0ZXJtaW5lIGFuIGF1dG9tYXRpYyBrZXkgZm9yCgkJa2V5RmllbGQgd2hlbiBzdG9yaW5nIGFuZCBmZXRjaGluZy4KCQlJbiBtb3N0IGRhdGFiYXNlcywgdGhpcyByZXF1aXJlcyB0aGF0IHRoZQoJCXNlcXVlbmNlIGFsc28gYmUgc3BlY2lmaWVkLiAgSW4gdGhlCgkJY2FzZSBvZiBNeVNRTCwgd2hlcmUgc2VxdWVuY2VzIGRvIG5vdCBleGlzdCwgYXV0b2tleQoJCW11c3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGEgdGFibGUgd2hpY2ggaGFzIGEKCQlmaWVsZCBzcGVjaWZpZWQgYXMgQVVUTy48L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LXNlcXVlbmNlPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+c2VxdWVuY2VOYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlJZiBESU8gaXMgYXV0b21hdGljYWxseSBnZW5lcmF0aW5nIGtleXMsIGl0IHdpbGwgdXNlCgkJdGhpcyBzZXF1ZW5jZSBhcyBhIG1lYW5zIHRvIGdhaW4gYSB1bmlxdWUgbnVtYmVyIGZvcgoJCXRoZSBzdG9yZWQga2V5LjwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgdGl0bGU9IkRJTyBPYmplY3QgQ29tbWFuZHMiPjxhIG5hbWU9ImlkMzcwNjYyIj48L2E+PGgyPkRJTyBPYmplY3QgQ29tbWFuZHM8L2gyPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFycmF5PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+cmVxdWVzdDwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJRXhlY3V0ZSByZXF1ZXN0IGFzIGEgU1FMIHF1ZXJ5IGFuZAoJCWNyZWF0ZSBhbiBhcnJheSBmcm9tIHRoZSBmaXJzdCByZWNvcmQgZm91bmQuICBUaGUKCQlhcnJheSBpcyBzZXQgd2l0aCB0aGUgZmllbGRzIG9mIHRoZSB0YWJsZSBhbmQgdGhlCgkJdmFsdWVzIG9mIHRoZSByZWNvcmQgZm91bmQuPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hdXRva2V5PC9zcGFuPj8gKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dmFsdWU8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5ib29sZWFuPC9zcGFuPik8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlSZXR1cm4gdGhlIGN1cnJlbnQgYXV0b2tleSB2YWx1ZS4gIElmCgkJdmFsdWUgaXMgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3CgkJdmFsdWUgZm9yIHRoZSBhdXRva2V5IG9wdGlvbi48L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmNsb3NlPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4JICAgICAgQ2xvc2UgdGhlIGN1cnJlbnQgZGF0YWJhc2UgY29ubmVjdGlvbi4gIFRoaXMgY29tbWFuZCBpcwoJCWF1dG9tYXRpY2FsbHkgY2FsbGVkIHdoZW4gdGhlIERJTyBvYmplY3QgaXMgZGVzdHJveWVkLjwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Y291bnQ8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgkgICAgICBSZXR1cm4gYSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIHJvd3MgaW4gdGhlCgkJc3BlY2lmaWVkIChvciBjdXJyZW50KSB0YWJsZS48L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmRiPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHVybiB0aGUgY3VycmVudCBkYXRhYmFzZS4gIElmCgkJdmFsdWUgaXMgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3CgkJdmFsdWUgZm9yIHRoZSBkYXRhYmFzZS4gIEluIG1vc3QgY2FzZXMsIHRoZSBESU8gb2JqZWN0CgkJd2lsbCBhdXRvbWF0aWNhbGx5IGNvbm5lY3QgdG8gdGhlIG5ldyBkYXRhYmFzZSB3aGVuCgkJdGhpcyBvcHRpb24gaXMgY2hhbmdlZC48L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmRlbGV0ZTwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPjwvc3Bhbj4/ICg8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1vcHRpb248L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vcHRpb248L2NvZGU+PC9lbT48L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4uLi48L3NwYW4+KTwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCURlbGV0ZSBhIHJlY29yZCBmcm9tIHRoZSBkYXRhYmFzZSB3aGVyZSB0aGUgcHJpbWFyeQoJCWtleSBtYXRjaGVzIGtleS48L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmRlc3Ryb3k8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCURlc3Ryb3kgdGhlIERJTyBvYmplY3QuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmVycm9yaW5mbzwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnZhbHVlPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5lcnJvcmluZm8gY29udGFpbnMgdGhlIHZhbHVlIG9mCgkJdGhlIGxhc3QgZXJyb3IsIGlmIGFueSwgdG8gb2NjdXIgd2hpbGUgZXhlY3V0aW5nIGEKCQlyZXF1ZXN0LiAgV2hlbiBhIHJlcXVlc3QgZmFpbHMgZm9yIGFueSByZWFzb24sIHRoaXMKCQl2YXJpYWJsZSBpcyBmaWxsZWQgd2l0aCB0aGUgZXJyb3IgbWVzc2FnZSBmcm9tIHRoZSBTUUwKCQlpbnRlcmZhY2UgcGFja2FnZS48L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmV4ZWM8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5yZXF1ZXN0PC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlFeGVjdXRlIHJlcXVlc3QgYXMgYW4gU1FMIHF1ZXJ5LgoJCVdoZW4gdGhlIGV4ZWMgY29tbWFuZCBpcyBjYWxsZWQsIHRoZSBxdWVyeSBpcwoJCWV4ZWN1dGVkLCBhbmQgYSBESU8gcmVzdWx0IG9iamVjdCBpcyByZXR1cm5lZC4gIEZyb20KCQl0aGVyZSwgdGhlIHJlc3VsdCBvYmplY3QgY2FuIGJlIHVzZWQgdG8gb2J0YWluCgkJaW5mb3JtYXRpb24gYWJvdXQgdGhlIHF1ZXJ5IHN0YXR1cyBhbmQgcmVjb3JkcyBpbiBhCgkJZ2VuZXJpYyB3YXkuICBTZWUgPGEgY2xhc3M9ImxpbmsiIGhyZWY9IiNyZXN1bHRvYmoiIHRpdGxlPSJSZXN1bHQgT2JqZWN0IENvbW1hbmRzIj5SZXN1bHQKCQkgIE9iamVjdCBDb21tYW5kczwvYT4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZmV0Y2g8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5hcnJheU5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PyAoPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tb3B0aW9uPC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b3B0aW9uPC9jb2RlPjwvZW0+PC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Li4uPC9zcGFuPik8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlGZXRjaCBhIHJlY29yZCBmcm9tIHRoZSBkYXRhYmFzZSB3aGVyZSB0aGUgcHJpbWFyeSBrZXkKCQltYXRjaGVzIGtleSBhbmQgc3RvcmUgdGhlIHJlc3VsdCBpbgoJCWFuIGFycmF5IGNhbGxlZCBhcnJheU5hbWUuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmZvcmFsbDwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnJlcXVlc3Q8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5hcnJheU5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5ib2R5PC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCSAgICAgICBFeGVjdXRlIGFuIFNRTCBzZWxlY3QgcmVxdWVzdCBhbmQgaXRlcmF0aXZlbHkgCgkgICAgICAgZmlsbCB0aGUgYXJyYXkgbmFtZWQgYXJyYXlOYW1lCgkgICAgICAgd2l0aCBlbGVtZW50cyBuYW1lZCB3aXRoIHRoZSBtYXRjaGluZyBmaWVsZCBuYW1lcywgYW5kCgkgICAgICAgdmFsdWVzIGNvbnRhaW5pbmcgdGhlIG1hdGNoaW5nIHZhbHVlcywgcmVwZWF0ZWRseSBleGVjdXRpbmcgCgkgICAgICAgdGhlIHNwZWNpZmllZCBjb2RlIGJvZHkKCSAgICAgICBmb3IgZWFjaCByb3cgcmV0dXJuZWQuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmhvc3Q8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJUmV0dXJuIHRoZSBjdXJyZW50IGhvc3QgdmFsdWUuICBJZgoJCXZhbHVlIGlzIHNwZWNpZmllZCwgaXQgc2V0cyBhIG5ldwoJCXZhbHVlIGZvciB0aGUgaG9zdC4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+aW5zZXJ0PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+YXJyYXlOYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj8gKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LW9wdGlvbjwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9wdGlvbjwvY29kZT48L2VtPjwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi4uLjwvc3Bhbj4pPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJSW5zZXJ0IGZpZWxkcyBmcm9tIGFycmF5TmFtZSBpbnRvIHRoZSBzcGVjaWZpZWQgdGFibGUgaW4gdGhlIGRhdGFiYXNlLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5pbnRlcmZhY2U8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHVybiB0aGUgZGF0YWJhc2UgaW50ZXJmYWNlIHR5cGUsIHN1Y2ggYXMgCgkJPGNvZGUgY2xhc3M9ImxpdGVyYWwiPlBvc3RncmVzcWw8L2NvZGU+IG9yIDxjb2RlIGNsYXNzPSJsaXRlcmFsIj5NeXNxbDwvY29kZT4uCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmtleWZpZWxkPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHVybiB0aGUgY3VycmVudCBrZXlmaWVsZC4gIElmCgkJdmFsdWUgaXMgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3CgkJdmFsdWUgZm9yIHRoZSBrZXlmaWVsZC4gIFZhbHVlIGNhbiBjb250YWluCgkJbXVsdGlwbGUga2V5IGZpZWxkcyBhcyBhIFRjbCBsaXN0LCBpZiB0aGUgdGFibGUgaGFzIG11bHRpcGxlCgkJa2V5IGZpZWxkcy4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+a2V5czwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnBhdHRlcm48L2NvZGU+PC9lbT48L3NwYW4+PyAoPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tb3B0aW9uPC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b3B0aW9uPC9jb2RlPjwvZW0+PC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Li4uPC9zcGFuPik8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlSZXR1cm4gYSBsaXN0IG9mIGtleXMgaW4gdGhlIGRhdGFiYXNlLiAgSWYKCQlwYXR0ZXJuIGlzIHNwZWNpZmllZCwgb25seSB0aGUga2V5cwoJCW1hdGNoaW5nIHdpbGwgYmUgcmV0dXJuZWQuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmxhc3RrZXk8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHVybiB0aGUgbGFzdCBrZXkgdGhhdCB3YXMgdXNlZCBmcm9tCgkJc2VxdWVuY2UuICBJZiBzZXF1ZW5jZSBoYXMgbm90IGJlZW4KCQlzcGVjaWZpZWQsIHRoaXMgY29tbWFuZCByZXR1cm5zIGFuIGVtcHR5IHN0cmluZy4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bGlzdDwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnJlcXVlc3Q8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUV4ZWN1dGUgcmVxdWVzdCBhcyBhIFNRTCBxdWVyeSBhbmQKCQlyZXR1cm4gYSBsaXN0IG9mIHRoZSBmaXJzdCBjb2x1bW4gb2YgZWFjaCByZWNvcmQKCQlmb3VuZC4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bWFrZWtleTwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmFycmF5TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleWZpZWxkPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlHaXZlbiBhbiBhcnJheSBjb250YWluaW5nIGtleS12YWx1ZSBwYWlycyBhbmQgYW4gb3B0aW9uYWwKCQlsaXN0IG9mIGtleSBmaWVsZHMgKHdlIHVzZSB0aGUgb2JqZWN0J3Mga2V5ZmllbGQgaWYKCQlub25lIGlzIHNwZWNpZmllZCksIGlmIHdlJ3JlIGRvaW5nIGF1dG8ga2V5cywgY3JlYXRlCgkJYW5kIHJldHVybiBhIG5ldyBrZXksIG90aGVyd2lzZSBpZiBpdCdzIGEgc2luZ2xlIGtleSwKCQlqdXN0IHJldHVybiBpdHMgdmFsdWUgZnJvbSB0aGUgYXJyYXksIGVsc2UgaWYgdGhlcmUgYXJlCgkJbXVsdGlwbGUga2V5cywgcmV0dXJuIGFsbCB0aGUga2V5cycgdmFsdWVzIGZyb20gdGhlCgkJYXJyYXkgYXMgYSBsaXN0LgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5uZXh0a2V5PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5JbmNyZW1lbnQgc2VxdWVuY2UgYW5kIHJldHVybiB0aGUKCQluZXh0IGtleSB0byBiZSB1c2VkLiAgSWYgc2VxdWVuY2UgaGFzIG5vdCBiZWVuCgkJc3BlY2lmaWVkLCB0aGlzIGNvbW1hbmQgcmV0dXJucyBhbiBlbXB0eQoJCXN0cmluZy48L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm9wZW48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPk9wZW4gdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGN1cnJlbnQgZGF0YWJhc2UuICBUaGlzCgkJY29tbWFuZCBpcyBhdXRvbWF0aWNhbGx5IGNhbGxlZCBmcm9tIGFueSBjb21tYW5kIHdoaWNoCgkJYWNjZXNzZXMgdGhlIGRhdGFiYXNlLjwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+cGFzczwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlSZXR1cm4gdGhlIGN1cnJlbnQgcGFzcyB2YWx1ZS4gIElmCgkJdmFsdWUgaXMgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3CgkJdmFsdWUgZm9yIHRoZSBwYXNzd29yZC4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+cG9ydDwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5SZXR1cm4gdGhlIGN1cnJlbnQgcG9ydCB2YWx1ZS4gIElmIHZhbHVlIGlzCgkJc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3IHZhbHVlIGZvciB0aGUgcG9ydC48L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnF1b3RlPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+c3RyaW5nPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5SZXR1cm4gdGhlIHNwZWNpZmllZCBzdHJpbmcgcXVvdGVkIGluCgkgICAgICBhIHdheSB0aGF0IG1ha2VzIGl0IGFjY2VwdGFibGUgYXMgYSB2YWx1ZSBpbiBhIFNRTCBzdGF0ZW1lbnQuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnNlYXJjaDwvc3Bhbj4/ICg8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1vcHRpb248L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vcHRpb248L2NvZGU+PC9lbT48L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4uLi48L3NwYW4+KTwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVNlYXJjaCB0aGUgY3VycmVudCB0YWJsZSwgb3IgdGhlIHNwZWNpZmllZCB0YWJsZSBpZgoJCS10YWJsZSB0YWJsZU5hbWUgaXMgc3BlY2lmaWVkLCBmb3Igcm93cyBtYXRjaGluZwoJCW9uZSBvciBtb3JlIGZpZWxkcyBhcyBrZXktdmFsdWUgcGFpcnMsIGFuZCByZXR1cm4KCQlhIHF1ZXJ5IHJlc3VsdCBoYW5kbGUuCgkJU2VlIDxhIGNsYXNzPSJsaW5rIiBocmVmPSIjcmVzdWx0b2JqIiB0aXRsZT0iUmVzdWx0IE9iamVjdCBDb21tYW5kcyI+UmVzdWx0IE9iamVjdCBDb21tYW5kczwvYT4KCQk8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlGb3IgZXhhbXBsZSwKCTxwcmUgc3R5bGU9ImJhY2tncm91bmQ6I2NjYzsgbWFyZ2luOiAyZXg7IG1hcmdpbi1yaWdodDogMTAlOyAgICAgICBwYWRkaW5nOiAxZXg7IGJvcmRlcjogZGFzaGVkIGJsYWNrIDFweCA7IHdoaXRlLXNwYWNlOiBwcmU7ICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC1zaXplOiA5MCU7IiBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnNldCByZXMgW0RJTyBzZWFyY2ggLXRhYmxlIHBlb3BsZSAtZmlyc3RuYW1lIEJvYl08L3ByZT4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+c2VxdWVuY2U8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJUmV0dXJuIHRoZSBjdXJyZW50IHNlcXVlbmNlIHZhbHVlLiAgSWYgdmFsdWUgaXMKCQlzcGVjaWZpZWQsIGl0IHNldHMgYSBuZXcgdmFsdWUgZm9yIHRoZSBzZXF1ZW5jZS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+c3RvcmU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5hcnJheU5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PyAoPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tb3B0aW9uPC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b3B0aW9uPC9jb2RlPjwvZW0+PC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Li4uPC9zcGFuPik8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlTdG9yZSB0aGUgY29udGVudHMgb2YgYXJyYXlOYW1lIGluIHRoZSAKCQlkYXRhYmFzZSwgd2hlcmUgdGhlIGtleXMgYXJlIHRoZSBmaWVsZCBuYW1lcyBhbmQgdGhlCgkJYXJyYXkncyB2YWx1ZXMgYXJlIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlcy4gIERvIGFuIFNRTCBpbnNlcnQgCgkJaWYgdGhlIGNvcnJlc3BvbmRpbmcgcm93IGRvZXNuJ3QgZXhpc3QsIG9yIGFuIHVwZGF0ZSAKCQlpZiBpdCBkb2VzLgoJICAgICAgPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJVGhlIHRhYmxlIG5hbWUgbXVzdCBoYXZlIGJlZW4gcHJldmlvdXNseSBzZXQKCQlvciBzcGVjaWZpZWQgd2l0aCAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LXRhYmxlPC9zcGFuPj8sIGFuZCB0aGUga2V5IGZpZWxkKHMpIG11c3QKCQloYXZlIGJlZW4gcHJldmlvdXNseSBzZXQgb3Igc3BlY2lmaWVkIHdpdGgKCQkgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWtleWZpZWxkPC9zcGFuPj8uCgkgICAgICA8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlQbGVhc2Ugbm90ZSB0aGF0IHRoZSBzdG9yZSBtZXRob2QgaGFzIHNpZ25pZmljYW50bHkgaGlnaGVyIAoJCW92ZXJoZWFkIHRoYW4KCQl0aGUgdXBkYXRlIG9yIGluc2VydCBtZXRob2RzLCBzbyBpZiB5b3Uga25vdyB5b3UgYXJlCgkJaW5zZXJ0aW5nIGEgcm93IHJhdGhlciB0aGFuIHVwZGF0aW5nIG9uZSwgaXQgaXMgYWR2aXNhYmxlCgkJdG8gdXNlIHRoZSBpbnNlcnQgbWV0aG9kIGFuZCwgbGlrZXdpc2UsIGlmIHlvdSBrbm93IHlvdQoJCWFyZSB1cGRhdGluZyByYXRoZXIgdGhhbiBpbnNlcnRpbmcsIHRvIHVzZSB0aGUKCQl1cGRhdGUgbWV0aG9kLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5zdHJpbmc8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5yZXF1ZXN0PC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlFeGVjdXRlIHJlcXVlc3QgYXMgYSBTUUwgcXVlcnkgYW5kCgkJcmV0dXJuIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGZpcnN0IHJlY29yZAoJCWZvdW5kLjwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dGFibGU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+UmV0dXJuIHRoZSBjdXJyZW50IHRhYmxlLiAgSWYKCQl2YWx1ZSBpcyBzcGVjaWZpZWQsIGl0IHNldHMgYSBuZXcKCQl2YWx1ZSBmb3IgdGhlIHRhYmxlLjwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dXBkYXRlPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+YXJyYXlOYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj8gKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LW9wdGlvbjwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9wdGlvbjwvY29kZT48L2VtPjwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi4uLjwvc3Bhbj4pPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJVXBkYXRlcyB0aGUgcm93IG1hdGNoaW5nIHRoZSBjb250ZW50cyBvZiAKCQlhcnJheU5hbWUgaW4gdGhlIGRhdGFiYXNlLiAgVGhlIG1hdGNoaW5nCgkJcm93IG11c3QgYWxyZWFkeSBleGlzdC4gIFRoZSB0YWJsZSBjYW4gaGF2ZSBhbHJlYWR5IGJlZW4KCQlzZXQgb3IgY2FuIGJlIHNwZWNpZmllZCB3aXRoICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tdGFibGU8L3NwYW4+PywgYW5kCgkJdGhlIGtleSBmaWVsZChzKSBtdXN0IGVpdGhlciBoYXZlIGJlZW4gc2V0IG9yCgkJc3BlY2lmaWVkIHdpdGggID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1rZXlmaWVsZDwvc3Bhbj4/LgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij51c2VyPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHVybiB0aGUgY3VycmVudCB1c2VyIHZhbHVlLiAgSWYKCQl2YWx1ZSBpcyBzcGVjaWZpZWQsIGl0IHNldHMgYSBuZXcKCQl2YWx1ZSBmb3IgdGhlIHVzZXIuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIHRpdGxlPSJSZXN1bHQgT2JqZWN0IENvbW1hbmRzIj48YSBuYW1lPSJyZXN1bHRvYmoiPjwvYT48aDI+UmVzdWx0IE9iamVjdCBDb21tYW5kczwvaDI+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5yZXN1bHRPYmo8L2NvZGU+PC9lbT48L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hdXRvY2FjaGU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJUmV0dXJuIHRoZSBjdXJyZW50IGF1dG9jYWNoZSB2YWx1ZS4gIElmCgkJdmFsdWUgaXMgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3CgkJdmFsdWUgZm9yIGF1dG9jYWNoZS4KCSAgICAgIDwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUlmIGF1dG9jYWNoZSBpcyB0cnVlLCB0aGUgcmVzdWx0IG9iamVjdCB3aWxsCgkJYXV0b21hdGljYWxseSBjYWNoZSByb3dzIGFzIHlvdSB1c2UgdGhlbS4gIFRoaXMgbWVhbnMKCQl0aGF0IHRoZSBmaXJzdCB0aW1lIHlvdSBleGVjdXRlIGEgZm9yYWxsIGNvbW1hbmQsIGVhY2gKCQlyb3cgaXMgYmVpbmcgY2FjaGVkIGluIHRoZSByZXN1bHQgb2JqZWN0IGl0c2VsZiBhbmQKCQl3aWxsIG5vIGxvbmdlciBuZWVkIHRvIGFjY2VzcyB0aGUgU1FMIHJlc3VsdC4KCQk8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5EZWZhdWx0IGlzIHRydWU8L2VtPjwvc3Bhbj4uCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+cmVzdWx0T2JqPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Y2FjaGU8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUNhY2hlIHRoZSByZXN1bHRzIG9mIHRoZSBjdXJyZW50IFNRTCByZXN1bHQgaW4gdGhlCgkJcmVzdWx0IG9iamVjdCBpdHNlbGYuICBUaGlzIG1lYW5zIHRoYXQgZXZlbiBpZiB0aGUKCQlkYXRhYmFzZSBjb25uZWN0aW9uIGlzIGNsb3NlZCBhbmQgYWxsIHRoZSByZXN1bHRzIG9mCgkJdGhlIERJTyBvYmplY3QgYXJlIGxvc3QsIHRoaXMgcmVzdWx0IG9iamVjdCB3aWxsIHN0aWxsCgkJbWFpbnRhaW4gYSBjYWNoZWQgY29weSBvZiBpdHMgcmVjb3Jkcy4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5yZXN1bHRPYmo8L2NvZGU+PC9lbT48L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5lcnJvcmNvZGU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJUmV0dXJuIHRoZSBjdXJyZW50IGVycm9yY29kZSB2YWx1ZS4gIElmIHZhbHVlCgkJaXMgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3IHZhbHVlIGZvciBlcnJvcmNvZGUuCgkgICAgICA8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQllcnJvcmNvZGUgY29udGFpbnMgdGhlIGN1cnJlbnQgY29kZSBmcm9tIHRoZQoJCVNRTCBkYXRhYmFzZSB3aGljaCBzcGVjaWZpZXMgdGhlIHJlc3VsdCBvZiB0aGUgcXVlcnkKCQlzdGF0ZW1lbnQgd2hpY2ggY3JlYXRlZCB0aGlzIG9iamVjdC4gIFRoaXMgdmFyaWFibGUKCQljYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiBhCgkJcXVlcnkuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+cmVzdWx0T2JqPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZXJyb3JpbmZvPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHVybiB0aGUgY3VycmVudCBlcnJvcmluZm8gdmFsdWUuICBJZiB2YWx1ZQoJCWlzIHNwZWNpZmllZCwgaXQgc2V0cyBhIG5ldyB2YWx1ZSBmb3IgZXJyb3JpbmZvLgoJICAgICAgPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJSWYgYW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBTUUwgcXVlcnksIERJTwoJCWF0dGVtcHRzIHRvIHNldCB0aGUgdmFsdWUgb2YgZXJyb3JpbmZvIHRvIHRoZQoJCXJlc3VsdGluZyBlcnJvciBtZXNzYWdlLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnJlc3VsdE9iajwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmZpZWxkczwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlSZXR1cm4gdGhlIGN1cnJlbnQgZmllbGRzIHZhbHVlLiAgSWYKCQl2YWx1ZSBpcyBzcGVjaWZpZWQsIGl0IHNldHMgYSBuZXcKCQl2YWx1ZSBmb3IgZmllbGRzLgoJICAgICAgPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJZmllbGRzIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGZpZWxkcwoJCXVzZWQgaW4gdGhpcyBxdWVyeS4gIFRoZSBmaWVsZHMgYXJlIGluIG9yZGVyIG9mIHRoZQoJCWZpZWxkcyByZXRyaWV2ZWQgZm9yIGVhY2ggcm93LgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnJlc3VsdE9iajwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmZvcmFsbDwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPi10eXBlPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFyTmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmJvZHk8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUV4ZWN1dGUgYm9keSBvdmVyIGVhY2ggcmVjb3JkIGluIHRoZQoJCXJlc3VsdCBvYmplY3QuCgkgICAgICA8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5UeXBlczo8L2Rpdj48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1hcnJheTwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICAgICAgQ3JlYXRlCgkJICAgICAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFyTmFtZTwvY29kZT48L2VtPgoJCSAgICAgIGFzIGFuIGFycmF5IHdoZXJlIHRoZSBpbmRleGVzIGFyZSB0aGUgbmFtZXMgb2YKCQkgICAgICB0aGUgZmllbGRzIGluIHRoZSB0YWJsZSBhbmQgdGhlIHZhbHVlcyBhcmUgdGhlCgkJICAgICAgdmFsdWVzIG9mIHRoZSBjdXJyZW50IHJvdy4KCQkgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1rZXl2YWx1ZTwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICAgICAgU2V0CgkJICAgICAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFyTmFtZTwvY29kZT48L2VtPgoJCSAgICAgIHRvIGEgbGlzdCBjb250YWluaW5nIGtleS12YWx1ZSBwYWlycyBvZiBmaWVsZHMKCQkgICAgICBhbmQgdmFsdWVzIGZyb20gdGhlIGN1cnJlbnQgcm93LiAoLWZpZWxkIHZhbHVlCgkJICAgICAgLWZpZWxkIHZhbHVlKQoJCSAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWxpc3Q8L3NwYW4+IDwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgICAgIFNldAoJCSAgICAgIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhck5hbWU8L2NvZGU+PC9lbT4KCQkgICAgICB0byBhIGxpc3QgdGhhdCBjb250YWlucyB0aGUgdmFsdWVzIG9mIHRoZQoJCSAgICAgIGN1cnJlbnQgcm93LgoJCSAgICA8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnJlc3VsdE9iajwvY29kZT48L2VtPjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5leHQ8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4tdHlwZTwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhck5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVJldHJpZXZlIHRoZSBuZXh0IHJlY29yZCBpbiB0aGUgcmVzdWx0IG9iamVjdC4KCSAgICAgIDwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPlR5cGVzOjwvZGl2PjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWFycmF5PC9zcGFuPiA8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgICAgICBDcmVhdGUKCQkgICAgICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YXJOYW1lPC9jb2RlPjwvZW0+CgkJICAgICAgYXMgYW4gYXJyYXkgd2hlcmUgdGhlIGluZGV4ZXMgYXJlIHRoZSBuYW1lcyBvZgoJCSAgICAgIHRoZSBmaWVsZHMgaW4gdGhlIHRhYmxlIGFuZCB0aGUgdmFsdWVzIGFyZSB0aGUKCQkgICAgICB2YWx1ZXMgb2YgdGhlIGN1cnJlbnQgcm93LgoJCSAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWtleXZhbHVlPC9zcGFuPiA8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgICAgICBTZXQKCQkgICAgICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YXJOYW1lPC9jb2RlPjwvZW0+CgkJICAgICAgdG8gYSBsaXN0IGNvbnRhaW5pbmcga2V5LXZhbHVlIHBhaXJzIG9mIGZpZWxkcwoJCSAgICAgIGFuZCB2YWx1ZXMgZnJvbSB0aGUgY3VycmVudCByb3cuICgtZmllbGQgdmFsdWUKCQkgICAgICAtZmllbGQgdmFsdWUpCgkJICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tbGlzdDwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICAgICAgU2V0CgkJICAgICAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFyTmFtZTwvY29kZT48L2VtPgoJCSAgICAgIHRvIGEgbGlzdCB0aGF0IGNvbnRhaW5zIHRoZSB2YWx1ZXMgb2YgdGhlCgkJICAgICAgY3VycmVudCByb3cuCgkJICAgIDwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+cmVzdWx0T2JqPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bnVtcm93czwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlSZXR1cm4gdGhlIGN1cnJlbnQgbnVtcm93cyB2YWx1ZS4gIElmIHZhbHVlIGlzCgkJc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3IHZhbHVlIGZvciBudW1yb3dzLgoJICAgICAgPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJbnVtcm93cyBpcyB0aGUgbnVtYmVyIG9mIHJvd3MgaW4gdGhpcyByZXN1bHQuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+cmVzdWx0T2JqPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+cmVzdWx0aWQ8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJUmV0dXJuIHRoZSBjdXJyZW50IHJlc3VsdGlkIHZhbHVlLiAgSWYgdmFsdWUgaXMKCQlzcGVjaWZpZWQsIGl0IHNldHMgYSBuZXcgdmFsdWUgZm9yIHJlc3VsdGlkLgoJICAgICAgPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJcmVzdWx0aWQgaW4gbW9zdCBkYXRhYmFzZXMgaXMgdGhlIHJlc3VsdAoJCXBvaW50ZXIgd2hpY2ggd2FzIGdpdmVuIHVzIGJ5IHRoZSBkYXRhYmFzZS4gIFRoaXMKCQl2YXJpYWJsZSBpcyBub3QgZ2VuZXJpYyBhbmQgc2hvdWxkIG5vdCByZWFsbHkgYmUgdXNlZCwKCQlidXQgaXQncyB0aGVyZSBpZiB5b3Ugd2FudCBpdC4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5yZXN1bHRPYmo8L2NvZGU+PC9lbT48L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5yb3dpZDwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlSZXR1cm4gdGhlIGN1cnJlbnQgcm93aWQgdmFsdWUuICBJZiB2YWx1ZSBpcwoJCXNwZWNpZmllZCwgaXQgc2V0cyBhIG5ldyB2YWx1ZSBmb3Igcm93aWQuCgkgICAgICA8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlyb3dpZCBjb250YWlucyB0aGUgbnVtYmVyIG9mIHRoZQoJCWN1cnJlbnQgcmVzdWx0IHJlY29yZCBpbiB0aGUgcmVzdWx0IG9iamVjdC4gIFRoaXMKCQl2YXJpYWJsZSBzaG91bGQgbm90IHJlYWxseSBiZSBhY2Nlc3NlZCBvdXRzaWRlIG9mIHRoZQoJCXJlc3VsdCBvYmplY3QsIGJ1dCBpdCdzIHRoZXJlIGlmIHlvdSB3YW50IGl0LgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJESU9EaXNwbGF5IC0gRGF0YWJhc2UgSW50ZXJmYWNlIE9iamVjdHMgRGlzcGxheSBDbGFzcyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGhyPjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iZGlvZGlzcGxheSI+PC9hPkRJT0Rpc3BsYXkgLSBEYXRhYmFzZSBJbnRlcmZhY2UgT2JqZWN0cyBEaXNwbGF5IENsYXNzPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZlbnRyeSIgdGl0bGU9IkRJT0Rpc3BsYXkiPjxhIG5hbWU9ImRpb2Rpc3BsYXlfcGFja2FnZSI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPkRJT0Rpc3BsYXkgJiM4MjEyOyBEYXRhYmFzZSBJbnRlcmZhY2UgT2JqZWN0cyBEaXNwbGF5IENsYXNzPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5ESU9EaXNwbGF5PC9zcGFuPiAgKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPiNhdXRvPC9zcGFuPikgKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LW9wdGlvbjwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9wdGlvbjwvY29kZT48L2VtPjwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1vcHRpb248L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vcHRpb248L2NvZGU+PC9lbT48L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4uLi48L3NwYW4+KTwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iRGVzY3JpcHRpb24iPjxhIG5hbWU9ImlkMzc2MTUzIj48L2E+PGgyPkRlc2NyaXB0aW9uPC9oMj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgRElPRGlzcGxheSBpcyBhbiBIVE1MIGRpc3BsYXkgY2xhc3MgdGhhdCB1c2VzIGEgRElPIG9iamVjdAoJICB0byBkbyB0aGUgZGF0YWJhc2Ugd29yayBhbmQgYSBmb3JtIG9iamVjdCB0byBkbyB0aGUKCSAgZGlzcGxheWluZy4KCTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgdGl0bGU9Ik9wdGlvbnMiPjxhIG5hbWU9ImlkMzc2MTY0Ij48L2E+PGgyPk9wdGlvbnM8L2gyPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkgICAgICA8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LURJTzwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmRpb09iamVjdDwvY29kZT48L2VtPjwvc3Bhbj4gPC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVRoZSBESU8gb2JqZWN0IHRvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGlzCgkJZGlzcGxheSBvYmplY3QuICBUaGlzIGlzIGEgcmVxdWlyZWQgZmllbGQuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkgICAgICA8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWNsZWFudXA8L3NwYW4+ICAoPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4xPC9zcGFuPiB8IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+MDwvc3Bhbj4pPC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUlmIGNsZWFudXAgaXMgdHJ1ZSwgd2hlbiB0aGUgZGlzcGxheSBvYmplY3QgaXMgc2hvd24sCgkJaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGRlc3Ryb3kgdGhlIERJTyBvYmplY3QsIHRoZSBmb3JtCgkJb2JqZWN0IGFuZCBpdHNlbGYuIERlZmF1bHQgaXMgdHJ1ZS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tY29uZmlybWRlbGV0ZTwvc3Bhbj4gICg8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjE8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4wPC9zcGFuPik8L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJSWYgY29uZmlybWRlbGV0ZSBpcyB0cnVlLCBhdHRlbXB0aW5nIHRvIGRlbGV0ZSBhCgkJcmVjb3JkIGZyb20gdGhlIGRhdGFiYXNlIGZpcnN0IHJlcXVpcmVzIHRoYXQgdGhlIHVzZXIKCQljb25maXJtIHRoYXQgdGhleSB3aXNoIHRvIGRlbGV0ZSBpdC4gIElmIGl0IGlzIGZhbHNlLAoJCWRlbGV0aW9uIG9jY3VycyB3aXRob3V0IHByb21wdGluZyB0aGUgdXNlci4gRGVmYXVsdHMKCQl0byB0cnVlLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1lcnJvcmhhbmRsZXI8L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5wcm9jTmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gPC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVRoZSBuYW1lIG9mIGEgcHJvY2VkdXJlIHRvIGhhbmRsZSBlcnJvcnMgd2hlbiB0aGV5CgkJb2NjdXIuICBEdXJpbmcgdGhlIHByb2Nlc3Npbmcgb2YgcmVxdWVzdHMgYW5kIHBhZ2VzLAoJCXNvbWV0aW1lcyB1bmV4cGVjdGVkIGVycm9ycyBjYW4gb2NjdXIuICBUaGlzIHByb2NlZHVyZQoJCXdpbGwgaGFuZGxlIGFueSBlcnJvcnMuICBJdCBpcyBjYWxsZWQgd2l0aCBhIHNpbmdsZQoJCWFyZ3VtZW50LCB0aGUgZXJyb3Igc3RyaW5nLiAgVXNlIG9mIHRoZSBUY2wgZXJyb3JJbmZvCgkJYW5kIGVycm9yQ29kZSB2YXJpYWJsZXMgaXMgYWxzbyByZWNvbW1lbmRlZCB0aG91Z2guCgkgICAgICA8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlJZiBubyBlcnJvcmhhbmRsZXIgaXMgc3BlY2lmaWVkLCB0aGUgaGFuZGxlX2Vycm9yCgkJbWV0aG9kIHdpdGhpbiB0aGUgRGlzcGxheSBvYmplY3Qgd2lsbCBoYW5kbGUgdGhlCgkJZXJyb3IuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkgICAgICA8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWZpZWxkczwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZpZWxkTGlzdDwvY29kZT48L2VtPjwvc3Bhbj4gPC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVNwZWNpZnkgYSBsaXN0IG9mIGZpZWxkcyB0byBiZSB1c2VkIGluIHRoaXMgb2JqZWN0LgoJCVRoZSBmaWVsZHMgbGlzdCBpcyBhY3R1YWxseSBjcmVhdGVkIGJ5IHVzaW5nIHRoZQoJCTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmZpZWxkPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZCB0byBhZGQgZmllbGRzIHRvIHRoZQoJCWRpc3BsYXksIGJ1dCB0aGlzIG9wdGlvbiBjYW4gYmUgdXNlZnVsIHRvIHNvbWV0aW1lcwoJCW92ZXItc2V0IHRoZSBsaXN0IG9mIGZpZWxkcyBjcmVhdGVkLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1mb3JtPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Zm9ybU9iamVjdDwvY29kZT48L2VtPjwvc3Bhbj4gPC9kaXY+PC9kaXY+CgkgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUEgUml2ZXQgZm9ybSBvYmplY3QgdG8gdXNlIHdoZW4gZGlzcGxheWluZyBhIGZvcm0uICBJZgoJCW9uZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZGlzcGxheSBvYmplY3Qgd2lsbAoJCWF1dG9tYXRpY2FsbHkgY3JlYXRlIG9uZSB3aGVuIGl0IGlzIG5lY2Vzc2FyeS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tZnVuY3Rpb25zPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZnVuY3Rpb25MaXN0PC9jb2RlPjwvZW0+PC9zcGFuPiA8L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJQSBsaXN0IG9mIGZ1bmN0aW9ucyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIG1haW4gbWVudS4KCQlUaGlzIGlzIGEgbGlzdCBvZiBmdW5jdGlvbnMgdGhlIHVzZXIgaXMgYWxsb3dlZCB0bwoJCWV4ZWN1dGUuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkgICAgICA8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LXBhZ2VzaXplPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+cGFnZVNpemU8L2NvZGU+PC9lbT48L3NwYW4+IDwvZGl2PjwvZGl2PgoJICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlIb3cgbWFueSByZWNvcmRzIHRvIHNob3cgcGVyIHBhZ2Ugb24gYSBzZWFyY2ggb3IKCQlsaXN0LiBEZWZhdWx0IGlzIDI1LgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1yb3dmaWVsZHM8L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5maWVsZExpc3Q8L2NvZGU+PC9lbT48L3NwYW4+IDwvZGl2PjwvZGl2PgoJICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlBIGxpc3Qgb2YgZmllbGRzIHRvIGRpc3BsYXkgaW4gZWFjaCByb3cgb2YgYSBzZWFyY2ggb3IKCQlsaXN0LiAgV2hlbiBhIHNlYXJjaCBvciBsaXN0IGlzIGNvbmR1Y3RlZCBhbmQgdGhlCgkJcmVzdWx0aW5nIHJvd3MgYXJlIGRpc3BsYXllZCwgdGhpcyBsaXN0IHdpbGwgbGltaXQKCQl3aGljaCBmaWVsZHMgYXJlIGRpc3BsYXllZC4gIERlZmF1bHQgaXMgYWxsIGZpZWxkcy4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tcm93ZnVuY3Rpb25zPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZnVuY3Rpb25MaXN0PC9jb2RlPjwvZW0+PC9zcGFuPiA8L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJQSBsaXN0IG9mIGZ1bmN0aW9ucyB0byBkaXNwbGF5IGluIGVhY2ggcm93IG9mIGEgc2VhcmNoCgkJb3IgbGlzdC4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCSAgICAgIDxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tc2VhcmNoZmllbGRzPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZmllbGRMaXN0PC9jb2RlPjwvZW0+PC9zcGFuPiA8L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJQSBsaXN0IG9mIGZpZWxkcyB0byBhbGxvdyBhIHVzZXIgdG8gc2VhcmNoIGJ5LiAgVGhpcwoJCWxpc3Qgd2lsbCBhcHBlYXIgaW4gdGhlIG1haW4gc2NyZWVuIGFzIGEgZHJvcC1kb3duIGJveAoJCW9mIGZpZWxkcyB0aGUgdXNlciBjYW4gc2VhcmNoIG9uLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJICAgICAgPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi10aXRsZTwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnRpdGxlPC9jb2RlPjwvZW0+PC9zcGFuPiA8L2Rpdj48L2Rpdj4KCSAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJVGhlIHRpdGxlIG9mIHRoZSBkaXNwbGF5IG9iamVjdC4gIFRoaXMgd2lsbCBiZSBvdXRwdXQKCQlhcyB0aGUgdGl0bGUgb2YgdGhlIEhUTUwgZG9jdW1lbnQuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiIHRpdGxlPSJESU8gRGlzcGxheSBPYmplY3QgQ29tbWFuZHMiPjxhIG5hbWU9ImlkMzc2NjU2Ij48L2E+PGgzPkRJTyBEaXNwbGF5IE9iamVjdCBDb21tYW5kczwvaDM+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5jbGVhbnVwPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgUmV0dXJuIHRoZSBjdXJyZW50IGNsZWFudXAgdmFsdWUuICBJZgoJCSAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT4gaXMKCQkgIHNwZWNpZmllZCwgaXQgc2V0cyBhIG5ldyB2YWx1ZSBmb3IgdGhlIGNsZWFudXAKCQkgIG9wdGlvbi4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZGVsZXRlPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+a2V5PC9jb2RlPjwvZW0+PC9zcGFuPiA8L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIERlbGV0ZSB0aGUgc3BlY2lmaWVkIGtleSBmcm9tIHRoZQoJCSAgZGF0YWJhc2UuCgkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBUaGUgZGVmYXVsdCBhY3Rpb24gb2YgdGhpcyBtZXRob2QgaXMgdG8gY2FsbCB0aGUgRElPCgkJICBvYmplY3QncyBkZWxldGUgY29tbWFuZC4gIFRoaXMgbWV0aG9kIGNhbiBiZQoJCSAgb3ZlcnJpZGRlbi4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZGVzdHJveTwvc3Bhbj4gPC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBEZXN0cm95IHRoZSBkaW9kaXNwbGF5IG9iamVjdC4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+RElPPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgUmV0dXJuIHRoZSBjdXJyZW50IERJTyB2YWx1ZS4gIElmCgkJICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPiBpcwoJCSAgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3IHZhbHVlIGZvciBESU8uCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmVycm9yaGFuZGxlcjwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIFJldHVybiB0aGUgY3VycmVudCBlcnJvcmhhbmRsZXIgdmFsdWUuICBJZgoJCSAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT4gaXMgc3BlY2lmaWVkLCBpdAoJCSAgc2V0cyBhIG5ldyB2YWx1ZSBmb3IgZXJyb3JoYW5kbGVyLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5mZXRjaDwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmFycmF5TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gPC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBGZXRjaCB0aGUgc3BlY2lmaWVkIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmtleTwvY29kZT48L2VtPgoJCSAgZnJvbSB0aGUgZGF0YWJhc2UgYW5kIHN0b3JlIGl0IGFzIGFuIGFycmF5IGluCgkJICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5hcnJheU5hbWU8L2NvZGU+PC9lbT48L2NvZGU+PC9lbT4uCgkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBUaGUgZGVmYXVsdCBvZiB0aGlzIG1ldGhvZCBpcyB0byBjYWxsIHRoZSBESU8gb2JqZWN0J3MgZmV0Y2ggY29tbWFuZC4KCQkgIFRoaXMgbWV0aG9kIGNhbiBiZSBvdmVycmlkZGVuLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5maWVsZDwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZpZWxkTmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gICg8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1hcmc8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5hcmc8L2NvZGU+PC9lbT48L3NwYW4+Li4uKTwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgQ3JlYXRlIGEgbmV3IGZpZWxkIG9iamVjdCBhbmQgYWRkIGl0IHRvIHRoZSBkaXNwbGF5LgoJCSAgV2hlbiBhIGZpZWxkIGlzIGFkZGVkIHRvIHRoZSBkaXNwbGF5LCBhIG5ldyBvYmplY3QKCQkgIG9mIHRoZSBESU9EaXNwbGF5RmllbGQgY2xhc3MgaXMgY3JlYXRlZCB3aXRoIGl0cwoJCSAgdmFsdWVzLiAgU2VlIFtGSVhNRSAtIExJTktdIERJTyBEaXNwbGF5IEZpZWxkcyBmb3IKCQkgIG9wdGlvbnMgYW5kIHZhbHVlcy4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZmllbGRzPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgUmV0dXJuIHRoZSBjdXJyZW50IGZpZWxkcyB2YWx1ZS4gIElmCgkJICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPiBpcwoJCSAgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3IHZhbHVlIGZvciBmaWVsZHMuCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmZvcm08L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBSZXR1cm4gdGhlIGN1cnJlbnQgZm9ybSB2YWx1ZS4gIElmCgkJICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPiBpcwoJCSAgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3IHZhbHVlIGZvciBmb3JtLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5mdW5jdGlvbjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZ1bmN0aW9uTmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gPC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBBZGQgYSBuZXcgZnVuY3Rpb24gdG8gdGhlIGxpc3Qgb2YgcG9zc2libGUKCQkgIGZ1bmN0aW9ucy4gIFRoZSBkaXNwbGF5IG9iamVjdCB3aWxsIG9ubHkgZXhlY3V0ZQoJCSAgbWV0aG9kcyBhbmQgcHJvY3Mgd2hpY2ggYXJlIGRlZmluZWQgYXMgZnVuY3Rpb25zIGJ5CgkJICB0aGUgb2JqZWN0LiAgVGhpcyBpcyB0byBwcm90ZWN0IHRoZSBwcm9ncmFtIGZyb20KCQkgIGV4ZWN1dGluZyBhIGRpZmZlcmVudCBwcm9jZWR1cmUgb3RoZXIgdGhhbiB3aGF0IGlzCgkJICBhbGxvd2VkLiAgVGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmZ1bmN0aW9uPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZAoJCSAgYWRkcyBhIG5ldyBmdW5jdGlvbiB0byB0aGUgbGlzdCBvZiBhbGxvd2FibGUKCQkgIGZ1bmN0aW9ucy4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5mdW5jdGlvbnM8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBSZXR1cm4gdGhlIGN1cnJlbnQgZnVuY3Rpb25zIHZhbHVlLiAgSWYKCQkgIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+IGlzCgkJICBzcGVjaWZpZWQsIGl0IHNldHMgYSBuZXcgdmFsdWUgZm9yIGZ1bmN0aW9ucy4gIFNlZQoJCSAgW0ZJWE1FIC0gTElOSyBESU8gRGlzcGxheSBGdW5jdGlvbnNdIGZvciBhIGxpc3Qgb2YKCQkgIGRlZmF1bHQgZnVuY3Rpb25zLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5wYWdlc2l6ZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIFJldHVybiB0aGUgY3VycmVudCBmb3JtIHBhZ2VzaXplLiAgSWYKCQkgIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+IGlzCgkJICBzcGVjaWZpZWQsIGl0IHNldHMgYSBuZXcgdmFsdWUgZm9yIHBhZ2VzaXplLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5yb3dmaWVsZHM8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBSZXR1cm4gdGhlIGN1cnJlbnQgZm9ybSByb3dmaWVsZHMuICBJZgoJCSAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT4gaXMKCQkgIHNwZWNpZmllZCwgaXQgc2V0cyBhIG5ldyB2YWx1ZSBmb3Igcm93ZmllbGRzLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5yb3dmb290ZXI8L3NwYW4+IDwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgT3V0cHV0IHRoZSBmb290ZXIgb2YgYSBsaXN0IG9mIHJvd3MgdG8gdGhlIHdlYiBwYWdlLgoJCTwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgVGhpcyBtZXRob2QgY2FuIGJlIG92ZXJyaWRkZW4uCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnJvd2Z1bmN0aW9uczwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIFJldHVybiB0aGUgY3VycmVudCByb3dmdW5jdGlvbnMgdmFsdWUuICBJZgoJCSAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT4gaXMKCQkgIHNwZWNpZmllZCwgaXQgc2V0cyBhIG5ldyB2YWx1ZSBmb3Igcm93ZnVuY3Rpb25zLgoJCSAgCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnJvd2hlYWRlcjwvc3Bhbj4gPC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJT3V0cHV0IHRoZSBoZWFkZXIgb2YgYSBsaXN0IG9mIHJvd3MgdG8gdGhlIHdlYiBwYWdlLgoJCUJ5IGRlZmF1bHQsIHRoaXMgaXMgYW4gSFRNTCB0YWJsZSB3aXRoIGEgdG9wIHJvdwoJCWxpc3RpbmcgdGhlIGZpZWxkcyBpbiB0aGUgdGFibGUuCgkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbi4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+c2VhcmNoZmllbGRzPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgUmV0dXJuIHRoZSBjdXJyZW50IHNlYXJjaGZpZWxkcyB2YWx1ZS4gIElmCgkJICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPiBpcwoJCSAgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3IHZhbHVlIGZvciBzZWFyY2hmaWVsZHMuCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnNob3c8L3NwYW4+IDwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVNob3cgdGhlIGRpc3BsYXkgb2JqZWN0LgoJCTwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgVGhpcyBpcyB0aGUgbWFpbiBtZXRob2Qgb2YgdGhlIGRpc3BsYXkgY2xhc3MuICBJdAoJCSAgbG9va3MgZm9yIGEgdmFyaWFibGUgY2FsbGVkIDxjb2RlIGNsYXNzPSJ2YXJuYW1lIj5tb2RlPC9jb2RlPgoJCSAgdG8gYmUgcGFzc2VkIGluIHRocm91Z2ggYSBmb3JtIHJlc3BvbnNlIGFuZCB1c2VzCgkJICB0aGF0IG1vZGUgdG8gZXhlY3V0ZSB0aGUgYXBwcm9wcmlhdGUgZnVuY3Rpb24uICBJZgoJCSAgbW9kZSBpcyBub3QgZ2l2ZW4sIHRoZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5NYWluPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4KCQkgIGZ1bmN0aW9uIGlzIGNhbGxlZC4KCQk8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBmb3IgZXZlcnkgcGFnZS4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+c2hvd2Zvcm08L3NwYW4+IDwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgRGlzcGxheSB0aGUgZm9ybSBvZiB0aGUgb2JqZWN0LgoJCTwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgVGhpcyBtZXRob2QgZGlzcGxheXMgdGhlIGZvcm0gZm9yIHRoaXMgZGlzcGxheQoJCSAgb2JqZWN0LiAgSXQgaXMgdXNlZCBpbiB0aGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+QWRkPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4KCQkgIGFuZCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5FZGl0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gbWV0aG9kcyBidXQgY2FuIGJlCgkJICBjYWxsZWQgc2VwYXJhdGVseSBpZiBuZWVkZWQuCgkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiBpZiB0aGUgZGVmYXVsdCBsb29rIG9mCgkJICBhIGZvcm0gbmVlZHMgdG8gYmUgY2hhbmdlZC4gIEJ5IGRlZmF1bHQsIHRoZSBmb3JtCgkJICBkaXNwbGF5ZWQgaXMgc2ltcGx5IHRoZSBmaWVsZHMgaW4gYSB0YWJsZSwgaW4gb3JkZXIuCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnNob3dyb3c8L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5hcnJheU5hbWU8L2NvZGU+PC9lbT48L3NwYW4+IDwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgRGlzcGxheSBhIHNpbmdsZSByb3cgb2YgYSByZXN1bHRpbmcgbGlzdCBvciBzZWFyY2guCgkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGRpc3BsYXkgYSBzaW5nbGUgcm93IHdoaWxlCgkJICBkaXNwbGF5aW5nIHRoZSByZXN1bHQgb2YgYSBsaXN0IG9yIHNlYXJjaC4KCQkgIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmFycmF5TmFtZTwvY29kZT48L2VtPgoJCSAgaXMgYSBmZXRjaGVkIGFycmF5IG9mIHRoZSByZWNvcmQuCgkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGVuIGlmIHRoZSBkZWZhdWx0IGxvb2sgb2YKCQkgIGEgcm93IG5lZWRzIHRvIGJlIGNoYW5nZWQuICBCeSBkZWZhdWx0LCBlYWNoIHJvdyBpcwoJCSAgb3V0cHV0IGFzIGEgdGFibGUgcm93IHdpdGggZWFjaCBmaWVsZCBhcyBhIHRhYmxlCgkJICBkYXRhIGNlbGwuCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnNob3d2aWV3PC9zcGFuPiA8L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIERpc3BsYXkgdGhlIHZpZXcgb2YgdGhlIG9iamVjdC4KCQk8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIFRoaXMgbWV0aG9kIGRpc3BsYXlzIHRoZSB2aWV3IGZvciB0aGlzIGRpc3BsYXkKCQkgIG9iamVjdC4gIEl0IGlzIHVzZWQgaW4gdGhlCgkJICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5EZXRhaWxzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gbWV0aG9kcyBidXQgY2FuIGJlCgkJICBjYWxsZWQgc2VwYXJhdGVseSBpZiBuZWVkZWQuCgkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiBpZiB0aGUgZGVmYXVsdCBsb29rIG9mCgkJICBhIHZpZXcgbmVlZHMgdG8gYmUgY2hhbmdlZC4gIEJ5IGRlZmF1bHQsIHRoZSB2aWV3CgkJICBkaXNwbGF5ZWQgaXMgc2ltcGx5IHRoZSBmaWVsZHMgaW4gYSB0YWJsZSwgaW4gb3JkZXIuCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnN0b3JlPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+YXJyYXlOYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiA8L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIFN0b3JlIHRoZSBzcGVjaWZpZWQKCQkgIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmFycmF5TmFtZTwvY29kZT48L2VtPgoJCSAgaW4gdGhlIGRhdGFiYXNlLgoJCTwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgVGhlIGRlZmF1bHQgb2YgdGhpcyBtZXRob2QgaXMgdG8gY2FsbCB0aGUgRElPCgkJICBvYmplY3QncyBzdG9yZSBjb21tYW5kLiAgVGhpcyBtZXRob2QgY2FuIGJlCgkJICBvdmVycmlkZGVuLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij50ZXh0PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgUmV0dXJuIHRoZSBjdXJyZW50IHRleHQgdmFsdWUuICBJZgoJCSAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT4gaXMKCQkgIHNwZWNpZmllZCwgaXQgc2V0cyBhIG5ldyB2YWx1ZSBmb3IgdGV4dC4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vYmplY3ROYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dGl0bGU8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBSZXR1cm4gdGhlIGN1cnJlbnQgdGl0bGUgdmFsdWUuICBJZgoJCSAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT4gaXMKCQkgIHNwZWNpZmllZCwgaXQgc2V0cyBhIG5ldyB2YWx1ZSBmb3IgdGl0bGUuCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b2JqZWN0TmFtZTwvY29kZT48L2VtPjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnR5cGU8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBSZXR1cm4gdGhlIGN1cnJlbnQgdHlwZSB2YWx1ZS4gIElmCgkJICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPiBpcwoJCSAgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3IHZhbHVlIGZvciB0eXBlLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4KCQk8ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9iamVjdE5hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij52YWx1ZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIFJldHVybiB0aGUgY3VycmVudCB2YWx1ZSB2YWx1ZS4gIElmCgkJICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZTwvY29kZT48L2VtPiBpcwoJCSAgc3BlY2lmaWVkLCBpdCBzZXRzIGEgbmV3IHZhbHVlIGZvciB2YWx1ZS4KCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiIHRpdGxlPSJESU8gRGlzcGxheSBGdW5jdGlvbnMiPjxhIG5hbWU9ImlkMzc3OTQ5Ij48L2E+PGgzPkRJTyBEaXNwbGF5IEZ1bmN0aW9uczwvaDM+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgICAgVGhlc2UgZnVuY3Rpb25zIGFyZSBjYWxsZWQgZnJvbSB0aGUKCSAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5zaG93PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gbWV0aG9kIHdoZW4gYSBmb3JtIHJlc3BvbnNlCgkgICAgdmFyaWFibGUgY2FsbGVkIDxjb2RlIGNsYXNzPSJ2YXJuYW1lIj5tb2RlPC9jb2RlPiBpcyBzZXQuICBJZiBubwoJICAgIG1vZGUgaGFzIGJlZW4gc2V0LCB0aGUgZGVmYXVsdCBtb2RlIGlzCgkgICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+TWFpbjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+LiAgVGhlIHNob3cgbWV0aG9kIHdpbGwgaGFuZGxlCgkgICAgdGhlIG5lY2Vzc2FyeSBzd2l0Y2hpbmcgb2YgZnVuY3Rpb25zLiAgVGhlIHNob3cgbWV0aG9kCgkgICAgYWxzbyBoYW5kbGVzIGNoZWNraW5nIHRvIG1ha2Ugc3VyZSB0aGUgZnVuY3Rpb24gZ2l2ZW4gaXMgYQoJICAgIHRydWUgZnVuY3Rpb24uICBJZiBub3QsIGFuIGVycm9yIG1lc3NhZ2UgaXMgZGlzcGxheWVkLgoJICAgIE5ldyBmdW5jdGlvbnMgY2FuIGJlIGFkZGVkIGFzIG1ldGhvZHMgb3IgYnkgdXNlIG9mIHRoZQoJICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmZ1bmN0aW9uPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZCwgYW5kIGFueSBvZiB0aGUKCSAgICBkZWZhdWx0IGZ1bmN0aW9ucyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIG5ldyBtZXRob2RzIHRvCgkgICAgY3JlYXRlIGFuIGVudGlyZWx5IG5ldyBjbGFzcy4gIFRoZXNlIGFyZSB0aGUgZGVmYXVsdAoJICAgIGZ1bmN0aW9ucyBwcm92aWRlZC4KCSAgPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+QWRkPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBTaG93IGEgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBhZGQgYSBuZXcgZW50cnkKCQkgIHRvIHRoZSBkYXRhYmFzZS4gIFRoaXMgZnVuY3Rpb24gY2FsbHMKCQkgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnNob3dmb3JtPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gdG8gZGlzcGxheSB0aGUgZm9ybQoJCSAgZm9yIGFkZGluZyB0aGUgZW50cnkuCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkNhbmNlbDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgVGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkNhbmNlbDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGZ1bmN0aW9uIGRvZXMgbm90aGluZwoJCSAgYnV0IHJlZGlyZWN0IGJhY2sgdG8gdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPk1haW48L3N0cm9uZz48L3NwYW4+PC9zcGFuPgoJCSAgZnVuY3Rpb24uICBUaGlzIGlzIGhhbmR5IGZvciBmb3JtcyB3aGljaCBoYXZlIGEKCQkgIGNhbmNlbCBidXR0b24gdG8gcG9pbnQgdG8uCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkRlbGV0ZTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgSWYgPGNvZGUgY2xhc3M9InZhcm5hbWUiPmNvbmZpcm1kZWxldGU8L2NvZGU+IGlzIHRydWUgKHRoZQoJCSAgZGVmYXVsdCksIHRoZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5EZWxldGU8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBmdW5jdGlvbgoJCSAgd2lsbCBhc2sgdGhlIHVzZXIgaWYgdGhleSdyZSBzdXJlIHRoZXkgd2FudCB0bwoJCSAgZGVsZXRlIHRoZSByZWNvcmQgZnJvbSB0aGUgZGF0YWJhc2UuICBJZgoJCSAgPGNvZGUgY2xhc3M9InZhcm5hbWUiPmNvbmZpcm1kZWxldGU8L2NvZGU+IGlzIGZhbHNlLCBvciBpZiB0aGUKCQkgIHVzZXIgY29uZmlybXMgdGhleSB3aXNoIHRvIGRlbGV0ZSwgdGhpcyBmdW5jdGlvbgoJCSAgY2FsbHMgdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkRvRGVsZXRlPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gZnVuY3Rpb24gdG8gZG8KCQkgIHRoZSBhY3R1YWwgZGVsZXRpb24gb2YgYSByZWNvcmQuCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPkRldGFpbHM8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIERpc3BsYXkgdGhlIHZpZXcgb2YgYSBzaW5nbGUgcmVjb3JkIGZyb20gdGhlIGRhdGFiYXNlLiAgVGhpcyBmdW5jdGlvbiBjYWxscwoJCSAgdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnNob3d2aWV3PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gbWV0aG9kIHRvIGRpc3BsYXkgYSBzaW5nbGUgcmVjb3JkIGZyb20gdGhlIGRhdGFiYXNlLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5Eb0RlbGV0ZTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgVGhpcyBmdW5jdGlvbiBhY3R1YWxseSBkZWxldGVzIGEgcmVjb3JkIGZyb20gdGhlCgkJICBkYXRhYmFzZS4gIE9uY2UgaXQgaGFzIGRlbGV0ZWQgdGhlIHJlY29yZCwgaXQKCQkgIHJlZGlyZWN0cyB0aGUgdXNlciBiYWNrIHRvIHRoZQoJCSAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+TWFpbjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGZ1bmN0aW9uLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5FZGl0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBTaG93IGEgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBlZGl0IGFuIGV4aXN0aW5nCgkJICBlbnRyeSB0byB0aGUgZGF0YWJhc2UuICBUaGlzIGZ1bmN0aW9uIGNhbGxzCgkJICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5zaG93Zm9ybTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IHRvIGRpc3BsYXkgdGhlIGZvcm0gZm9yCgkJICBlZGl0aW5nIHRoZSBlbnRyeSBhbmQgZmlsbHMgaW4gdGhlIGZpZWxkcyB3aXRoIHRoZQoJCSAgdmFsdWVzIHJldHJpZXZlZCBmcm9tIHRoZSBkYXRhYmFzZS4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+TGlzdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgVGhpcyBmdW5jdGlvbiBsaXN0cyB0aGUgZW50aXJlcyBjb250ZW50cyBvZiB0aGUKCQkgIGRhdGFiYXNlLiAgRWFjaCByZWNvcmQgaXMgb3V0cHV0IGluIGEgcm93IHVzaW5nIHRoZQoJCSAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+c2hvd3Jvdzwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IG1ldGhvZC4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+TWFpbjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgVGhpcyBmdW5jdGlvbiBpcyB0aGUgbWFpbiBmdW5jdGlvbiBvZiB0aGUgZGlzcGxheQoJCSAgb2JqZWN0LiAgSWYgdGhlcmUgaXMgbm8gbW9kZSwgb3Igb25jZSBtb3N0IGNvbW1hbmRzCgkJICBjb21wbGV0ZSwgdGhlIHVzZXIgd2lsbCBiZSByZWRpcmVjdGVkIHRvIHRoaXMKCQkgIGZ1bmN0aW9uLiAgVGhlIGRlZmF1bHQgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+TWFpbjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+CgkJICBmdW5jdGlvbiBkaXNwbGF5cyBhIGxpc3Qgb2YgZnVuY3Rpb25zIHRoZSB1c2VyIGNhbgoJCSAgZXhlY3V0ZSwgYSBsaXN0IG9mIHNlYXJjaGZpZWxkcyB0aGUgdXNlciBjYW4gc2VhcmNoCgkJICBvbiwgYW5kIGEgcXVlcnkgZmllbGQuICBUaGlzIHF1ZXJ5IGZpZWxkIGlzIHVzZWQgYnkKCQkgIGFsbCBvZiB0aGUgb3RoZXIgZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGF0IHRoZQoJCSAgdXNlciBpcyB0cnlpbmcgdG8gZmluZC4KCQk8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIEluIHRoZSBjYXNlIG9mIGEgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+c2VhcmNoPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4sIHF1ZXJ5CgkJICBzcGVjaWZpZXMgd2hhdCBzdHJpbmcgdGhlIHVzZXIgaXMgbG9va2luZyBmb3IgaW4gdGhlCgkJICBzcGVjaWZpZWQgc2VhcmNoIGZpZWxkLiAgSW4gdGhlIGNhc2Ugb2YKCQkgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmRlbGV0ZTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+LAoJCSAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZGV0YWlsczwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IG9yCgkJICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5lZGl0PC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4sIHRoZSBxdWVyeSBzcGVjaWZpZXMgdGhlCgkJICBkYXRhYmFzZSBrZXkgdG8gYWNjZXNzLgoJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5TYXZlPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBUaGlzIGZ1bmN0aW9uIHNhdmVzIGFueSBkYXRhIHBhc3NlZCB0byB1c2luZyB0aGUKCQkgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnN0b3JlPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gbWV0aG9kLiAgVGhpcyBpcyBwcmltYXJpbHkKCQkgIHVzZWQgYnkgdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmFkZDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGFuZAoJCSAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZWRpdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGNvbW1hbmRzIHRvIHN0b3JlIHRoZQoJCSAgcmVzdWx0cyBvZiB0aGUgZm9ybSB0aGUgdXNlciBoYXMgZmlsbGVkIG91dC4KCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+U2VhcmNoPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBUaGlzIGZ1bmN0aW9uIHNlYXJjaGVzIHRoZSBkYXRhYmFzZSBmb3IgYW55IHJvdwoJCSAgd2hvc2UgPGNvZGUgY2xhc3M9InZhcm5hbWUiPnNlYXJjaEJ5PC9jb2RlPiBmaWVsZCBtYXRjaGVzCgkJICA8Y29kZSBjbGFzcz0idmFybmFtZSI+cXVlcnk8L2NvZGU+LiBPbmNlIGFueSBudW1iZXIgb2YgcmVjb3JkcwoJCSAgYXJlIGZvdW5kLCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5TZWFyY2g8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBkaXNwbGF5cyB0aGUKCQkgIHJlc3VsdHMgaW4gcm93cy4KCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiIHRpdGxlPSJESU8gRGlzcGxheSBGaWVsZHMiPjxhIG5hbWU9ImlkMzc4Mjk2Ij48L2E+PGgzPkRJTyBEaXNwbGF5IEZpZWxkczwvaDM+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgICAgRGlzcGxheSBmaWVsZHMgYXJlIGNyZWF0ZWQgd2l0aCB0aGUKCSAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5maWVsZDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGNvbW1hbmQgb2YgdGhlIERJT0Rpc3BsYXkgb2JqZWN0LgoJICAgIEVhY2ggZmllbGQgaXMgY3JlYXRlZCBhcyBhIG5ldyBESU9EaXNwbGF5RmllbGQgb2JqZWN0IG9yCgkgICAgYXMgYSBzdWJjbGFzcyBvZiBESU9EaXNwbGF5RmllbGQuICBUaGUgc3RhbmRhcmQgZm9ybQoJICAgIGZpZWxkcyB1c2UgdGhlIHN0YW5kYXJkIGZpZWxkIGNsYXNzLCB3aGlsZSBzcGVjaWFsaXplZAoJICAgIGZpZWxkIHR5cGVzIHVzZSBhIGNsYXNzIHdpdGggZGlmZmVyZW50IG9wdGlvbnMgYnV0IHN0aWxsCgkgICAgc3VwcG9ydHMgYWxsIG9mIHRoZSBzYW1lIGNvbW1hbmRzIGFuZCB2YWx1ZXMgYSBnZW5lcmljCgkgICAgZmllbGQgZG9lcy4KCSAgPC9wPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZGlzcGxheU9iamVjdDwvY29kZT48L2VtPjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmZpZWxkPC9zcGFuPiAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZmllbGRuYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LW9wdGlvbjwvc3Bhbj4gfCA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9wdGlvbjwvY29kZT48L2VtPjwvc3Bhbj4uLi4pPC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgICAgVGhlc2UgYXJlIHRoZSBzdGFuZGFyZCBvcHRpb25zIHN1cHBvcnRlZCBieSBmaWVsZCB0eXBlczoKCSAgPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1mb3JtYXJnczwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmFyZ3VtZW50czwvY29kZT48L2VtPjwvc3Bhbj4gPC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBXaGVuIGEgZmllbGQgaXMgY3JlYXRlZCwgYW55IGFyZ3VtZW50IHdoaWNoIGlzIG5vdCBhCgkJICBzdGFuZGFyZCBvcHRpb24gaXMgYXNzdW1lZCB0byBiZSBhbiBhcmd1bWVudCBwYXNzZWQKCQkgIHRvIHRoZSBmb3JtIG9iamVjdCB3aGVuIHRoZSBmaWVsZCBpcyBzaG93biBpbiBhCgkJICBmb3JtLiAgVGhlc2UgYXJndW1lbnRzIGFyZSBhbGwgYXBwZW5kZWQgdG8gdGhlCgkJICA8Y29kZSBjbGFzcz0idmFybmFtZSI+Zm9ybWFyZ3M8L2NvZGU+IHZhcmlhYmxlLiAgWW91IGNhbiB1c2UKCQkgIHRoaXMgb3B0aW9uIHRvIG92ZXJyaWRlIG9yIGFkZCBvcHRpb25zIGFmdGVyIHRoZQoJCSAgaW5pdGlhbCBjcmVhdGlvbiBvZiBhbiBvYmplY3QKCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+CgkJPGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1yZWFkb25seTwvc3Bhbj4gICg8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjE8L3NwYW4+IHwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4wPC9zcGFuPik8L2Rpdj48L2Rpdj4KCSAgICAgIDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkgIElmIDxjb2RlIGNsYXNzPSJ2YXJuYW1lIj5yZWFkb25seTwvY29kZT4gaXMgc2V0IHRvIHRydWUsIHRoZQoJCSAgZmllbGQgd2lsbCBub3QgZGlzcGxheSBhIGZvcm0gZW50cnkgd2hlbiBkaXNwbGF5aW5nCgkJICBpbiBhIGZvcm0uCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tdGV4dDwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnRleHQ8L2NvZGU+PC9lbT48L3NwYW4+IDwvZGl2PjwvZGl2PgoJICAgICAgPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCSAgVGhlIHRleHQgZGlzcGxheWVkIG5leHQgdG8gdGhlIGZvcm0gb3IgdmlldyBmaWVsZC4KCQkgIEJ5IGRlZmF1bHQsIERJT0Rpc3BsYXkgdHJpZXMgdG8gZmlndXJlIG91dCBhIHByZXR0eQoJCSAgd2F5IHRvIGRpc3BsYXkgdGhlIGZpZWxkIG5hbWUuICBUaGlzIHRleHQgd2lsbAoJCSAgb3ZlcnJpZGUgdGhhdCBkZWZhdWx0IGFuZCBkaXNwbGF5IHdoYXRldmVyIGlzCgkJICBzcGVjaWZpZWQuCgkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgoJCTxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tdHlwZTwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZpZWxkVHlwZTwvY29kZT48L2VtPjwvc3Bhbj4gPC9kaXY+PC9kaXY+CgkgICAgICA8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICBUaGUgdHlwZSBvZiBmaWVsZCB0aGlzIGlzLiAgVGhpcyB0eXBlIGlzIHVzZWQgd2hlbgoJCSAgY3JlYXRpbmcgdGhlIGZpZWxkIGluIHRoZSBmb3JtIG9iamVjdC4KCQkgIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZpZWxkVHlwZTwvY29kZT48L2VtPgoJCSAgY2FuIGJlIGFueSBvZiB0aGUgYWNjZXB0ZWQgZm9ybSBmaWVsZCB0eXBlcy4gIFNlZQoJCSAgW0ZJWE1FIC0gTElOSyBESU8gRmllbGQgVHlwZXNdIGZvciBhIGxpc3Qgb2YgdHlwZXMKCQkgIGF2YWlsYWJsZS4KCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgICAgQWxsIG90aGVyIGFyZ3VtZW50cywgdW5sZXNzIHNwZWNpZmllZCBpbiBhbiBpbmRpdmlkdWFsCgkgICAgZmllbGQgdHlwZSwgYXJlIHBhc3NlZCBkaXJlY3RseSB0byB0aGUgZm9ybSBvYmplY3Qgd2hlbgoJICAgIHRoZSBmaWVsZCBpcyBjcmVhdGVkLiAgU28sIHlvdSBjYW4gcGFzcwoJICAgIC1zaXplIG9yIC1tYXhzaXplIHRvCgkgICAgc3BlY2lmeSB0aGUgbGVuZ3RoIGFuZCBtYXhpbXVtIGxlbmd0aCBvZiB0aGUgZmllbGQgZW50cnkuCgkgICAgT3IsIGlmIHR5cGUgd2VyZSB0ZXh0YXJlYSwgeW91IGNvdWxkIGRlZmluZQoJICAgIC1yb3dzIGFuZCAtY29scyB0bwoJICAgIHNwZWNpZnkgaXRzIHJvdyBhbmQgY29sdW1uIGNvdW50LgoJICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiIHRpdGxlPSJESU8gRGlzcGxheSBGaWVsZCBUeXBlcyI+PGEgbmFtZT0iaWQzNzg1NzIiPjwvYT48aDM+RElPIERpc3BsYXkgRmllbGQgVHlwZXM8L2gzPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgIFRoZSBmb2xsb3dpbmcgaXMgYSBsaXN0IG9mIHJlY29nbml6ZWQgZmllbGQgdHlwZXMgYnkKCSAgICBESU9EaXNwbGF5LiAgU29tZSBhcmUgc3RhbmRhcmQgSFRNTCBmb3JtIGZpZWxkcywgYW5kCgkgICAgb3RoZXJzIGFyZSBESU9EaXNwbGF5IGZpZWxkcyB3aGljaCBleGVjdXRlIHNwZWNpYWwgYWN0aW9ucwoJICAgIGFuZCBmdW5jdGlvbnMuCgkgIDwvcD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iU2Vzc2lvbiBQYWNrYWdlIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aHI+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJzZXNzaW9uX3BhY2thZ2UiPjwvYT5TZXNzaW9uIFBhY2thZ2U8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJJbnRyb2R1Y3Rpb24iPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImlkMzgxMDI2Ij48L2E+SW50cm9kdWN0aW9uPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCVRoaXMgaXMgc2Vzc2lvbiBtYW5hZ2VtZW50IGNvZGUuICBJdCBwcm92aWRlcyBhbiBpbnRlcmZhY2UKCXRvIGFsbG93IHlvdSB0byBnZW5lcmF0ZSBhbmQgdHJhY2sgYSBicm93c2VyJ3MgdmlzaXQgYXMgYQoJInNlc3Npb24iLCBnaXZpbmcgeW91IGEgdW5pcXVlIHNlc3Npb24gSUQgYW5kIGFuIGludGVyZmFjZQoJZm9yIHN0b3JpbmcgYW5kIHJldHJpZXZpbmcgZGF0YSBmb3IgdGhhdCBzZXNzaW9uIG9uIHRoZQoJc2VydmVyLgogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglUaGlzIGlzIGFuIGFscGhhL2JldGEgcmVsZWFzZSAtLSBkb2N1bWVudGF0aW9uIGlzIG5vdCBpbgoJZmluYWwgZm9ybSwgYnV0IGV2ZXJ5dGhpbmcgeW91IG5lZWQgc2hvdWxkIGJlIGluIHRoaXMgZmlsZS4KICAgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJVXNpbmcgc2Vzc2lvbnMgYW5kIHRoZWlyIGluY2x1ZGVkIGFiaWxpdHkgdG8gc3RvcmUgYW5kCglyZXRyaWV2ZSBzZXNzaW9uLXJlbGF0ZWQgZGF0YSBvbiB0aGUgc2VydmVyLCBwcm9ncmFtbWVycyBjYW4KCWdlbmVyYXRlIG1vcmUgc2VjdXJlIGFuZCBoaWdoZXItcGVyZm9ybWFuY2Ugd2Vic2l0ZXMuICBGb3IKCWV4YW1wbGUsIGhpZGRlbiBmaWVsZHMgZG8gbm90IGhhdmUgdG8gYmUgaW5jbHVkZWQgaW4gZm9ybXMKCShhbmQgdGhlIHJpc2sgb2YgdGhlbSBiZWluZyBtYW5pcHVsYXRlZCBieSB0aGUgdXNlcgoJbWl0aWdhdGVkKSBzaW5jZSBkYXRhIHRoYXQgd291bGQgYmUgc3RvcmVkIGluIGhpZGRlbiBmaWVsZHMKCWNhbiBub3cgYmUgc3RvcmVkIGluIHRoZSBzZXNzaW9uIGNhY2hlIG9uIHRoZSBzZXJ2ZXIuICBGb3JtcwoJYXJlIHRoZW4gZmFzdGVyIHNpbmNlIG5vIGhpZGRlbiBkYXRhIGlzIHRyYW5zbWl0dGVkIC0tCgloaWRkZW4gZmllbGRzIG11c3QgYmUgc2VudCB0d2ljZSwgb25jZSBpbiB0aGUgZm9ybSB0byB0aGUKCWJyb3N3ZXIgYW5kIG9uY2UgaW4gdGhlIHJlc3BvbnNlIGZyb20gaXQuCiAgICAgIDwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCVJvYnVzdCBsb2dpbiBzeXN0ZW1zLCBldGMsIGNhbiBiZSBidWlsdCBvbiB0b3Agb2YgdGhpcyBjb2RlLgogICAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiIgdGl0bGU9IlJlcXVpcmVtZW50cyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0icmVxdWlyZW1lbnRzIj48L2E+UmVxdWlyZW1lbnRzPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgQ3VycmVudGx5IGhhcyBvbmx5IGJlZW4gdGVzdGVkIHdpdGggUG9zdGdyZXNxbCwgTXlTcWwgYW5kIE9yYWNsZS4KCSAgQWxsIERCIGludGVyZmFjaW5nIGlzIGRvbmUgdGhyb3VnaCBESU8sIHRob3VnaCwgc28gaXQKCSAgc2hvdWxkIGJlIHJlbGF0aXZlbHkgZWFzeSB0byBhZGQgc3VwcG9ydCBmb3Igb3RoZXIKCSAgZGF0YWJhc2VzLgoJPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJQcmVwYXJpbmcgVG8gVXNlIEl0Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpZDM4MTM2MiI+PC9hPlByZXBhcmluZyBUbyBVc2UgSXQ8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPkNyZWF0ZSB0aGUgdGFibGVzIGluIHlvdXIgU1FMIHNlcnZlci4gIFdpdGggUG9zdGdyZXMsCgkgIGRvIGEgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cHNxbCB3d3c8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBvciB3aGF0ZXZlciBEQiB5b3UKCSAgY29ubmVjdCBhcywgdGhlbiBhIGJhY2tzbGFzaC1pIG9uCgkgIDxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+c2Vzc2lvbi1jcmVhdGUuc3FsPC9jb2RlPjwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4oSWYgeW91IG5lZWQgdG8gZGVsZXRlIHRoZSB0YWJsZXMsIHVzZSA8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPnNlc3Npb24tZHJvcC5zcWw8L2NvZGU+KTwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj5UaGUgc2Vzc2lvbiBjb2RlIGJ5IGRlZmF1bHQgcmVxdWlyZXMgYSBESU8gaGFuZGxlCgkgIGNhbGxlZCA8Y29kZSBjbGFzcz0idmFybmFtZSI+RElPPC9jb2RlPiAodGhlIG5hbWUgb2Ygd2hpY2ggY2FuIGJlCgkgIG92ZXJyaWRkZW4pLiAgV2UgZ2V0IGl0IGJ5IGRvaW5nIGE8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CgkgICAgICBSaXZldFNlcnZlckNvbmYgQ2hpbGRJbml0U2NyaXB0ICJwYWNrYWdlIHJlcXVpcmUgRElPIgoJICAgICAgUml2ZXRTZXJ2ZXJDb25mIENoaWxkSW5pdFNjcmlwdCAiOjpESU86OmhhbmRsZSBQb3N0Z3Jlc3FsIERJTyAtdXNlciB3d3ciCgkgICAgPC9wcmU+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiIgdGl0bGU9IkV4YW1wbGUgVXNhZ2UiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImlkMzgxNDA3Ij48L2E+RXhhbXBsZSBVc2FnZTwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+SW4geW91ciBodHRwZC5jb25mLCBhZGQ6PC9wPjxwcmUgc3R5bGU9ImJhY2tncm91bmQ6I2NjYzsgbWFyZ2luOiAyZXg7IG1hcmdpbi1yaWdodDogMTAlOyAgICAgICBwYWRkaW5nOiAxZXg7IGJvcmRlcjogZGFzaGVkIGJsYWNrIDFweCA7IHdoaXRlLXNwYWNlOiBwcmU7ICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC1zaXplOiA5MCU7IiBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlJpdmV0U2VydmVyQ29uZiBDaGlsZEluaXRTY3JpcHQgInBhY2thZ2UgcmVxdWlyZSBTZXNzaW9uOyBTZXNzaW9uIFNFU1NJT04iPC9wcmU+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgIFRoaXMgdGVsbHMgUml2ZXQgeW91IHdhbnQgdG8gY3JlYXRlIGEgc2Vzc2lvbiBvYmplY3QgbmFtZWQKCSAgU0VTU0lPTiBpbiBldmVyeSBjaGlsZCBwcm9jZXNzIEFwYWNoZSBjcmVhdGVzLjwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgWW91IGNhbiBjb25maWd1cmUgdGhlIHNlc3Npb24gYXQgdGhpcyBwb2ludCB1c2luZyBudW1lcm91cwoJICBrZXktdmFsdWUgcGFpcnMgKHdoaWNoIGFyZSBkZWZpbmVkIGxhdGVyIGluIHRoaXMgZG9jKS4KCSAgSGVyZSdzIGEgcXVpY2sgZXhhbXBsZTo8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Uml2ZXRTZXJ2ZXJDb25mIENoaWxkSW5pdFNjcmlwdCAicGFja2FnZSByZXF1aXJlIFNlc3Npb247IFNlc3Npb24gU0VTU0lPTiBcCiAgLWNvb2tpZUxpZmV0aW1lIDEyMCAtZGVidWdNb2RlIDEiPC9wcmU+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgIFR1cm4gZGVidWdnaW5nIG9uIC1kZWJ1Z01vZGUgMSB0byBmaWd1cmUKCSAgb3V0IHdoYXQncyBnb2luZyBvbiAtLSBpdCdzIHJlYWxseSB1c2VmdWwsIGlmCgkgIHZlcmJvc2UuPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBJbiB5b3VyIC5ydnQgZmlsZSwgd2hlbiB5b3UncmUgZ2VuZXJhdGluZyB0aGUgJmx0O0hFQUQmZ3Q7CgkgIHNlY3Rpb246Cgk8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U0VTU0lPTiBhY3RpdmF0ZTwvcHJlPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICBBY3RpdmF0ZSBoYW5kbGVzIGV2ZXJ5dGhpbmcgZm9yIHlvdSB3aXRoIHJlc3BlY3QgdG8KCSAgY3JlYXRpbmcgbmV3IHNlc3Npb25zLCBhbmQgZm9yIGxvY2F0aW5nLCB2YWxpZGF0aW5nLCBhbmQKCSAgdXBkYXRpbmcgZXhpc3Rpbmcgc2Vzc2lvbnMuICBBY3RpdmF0ZSB3aWxsIGVpdGhlciBsb2NhdGUKCSAgYW4gZXhpc3Rpbmcgc2Vzc2lvbiwgb3IgY3JlYXRlIGEgbmV3IG9uZS4gIFNlc3Npb25zIHdpbGwKCSAgYXV0b21hdGljYWxseSBiZSByZWZyZXNoZWQgKHRoZWlyIGxpZmV0aW1lcyBleHRlbmRlZCkgYXMKCSAgYWRkaXRpb25hbCByZXF1ZXN0cyBhcmUgcmVjZWl2ZWQgZHVyaW5nIHRoZSBzZXNzaW9uLCBhbGwKCSAgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlIGtleS12YWx1ZSBwYWlycyBjb250cm9sbGluZyB0aGUKCSAgc2Vzc2lvbiBvYmplY3QuCgk8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiIgdGl0bGU9IlVzaW5nIFNlc3Npb25zIEZyb20gWW91ciBDb2RlIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpZDM4MTQ2MyI+PC9hPlVzaW5nIFNlc3Npb25zIEZyb20gWW91ciBDb2RlPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj5UaGUgbWFpbiBtZXRob2RzIHlvdXIgY29kZSB3aWxsIHVzZSBhcmU6PC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPlNFU1NJT048L3NwYW4+IDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5pZDwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJQWZ0ZXIgZG9pbmcgYSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5TRVNTSU9OIGFjdGl2YXRlPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4sCgkJdGhpcyB3aWxsIHJldHVybiBhIDMyLWJ5dGUgQVNDSUktZW5jb2RlZCByYW5kb20KCQloZXhhZGVjaW1hbCBzdHJpbmcuICBFdmVyeSB0aW1lIHRoaXMgYnJvd3NlciBjb21lcwoJCXRvIHVzIHdpdGggYSByZXF1ZXN0IHdpdGhpbiB0aGUgdGltZW91dCBwZXJpb2QsIHRoaXMKCQlzYW1lIHN0cmluZyB3aWxsIGJlIHJldHVybmVkIChhc3N1bWluZyB0aGV5IGhhdmUKCQljb29raWVzIGVuYWJsZWQpLgoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPlNFU1NJT048L3NwYW4+IDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5pc19uZXdfc2Vzc2lvbjwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+cmV0dXJucyAxIGlmIGl0J3MgYSBuZXcgc2Vzc2lvbiBvciAwIGlmIGl0IGhhcwoJCXByZXZpb3VzbHkgZXhpc3RlZCAoaS5lLiBpdCdzIGEgemVybyBpZiB0aGlzIHJlcXVlc3QKCQlyZXByZXNlbnRzIGEgInJldHVybiIgb3Igc3Vic2VxdWVudCB2aXNpdCB0byBhCgkJY3VycmVudCBzZXNzaW9uLik8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+U0VTU0lPTiBuZXdfc2Vzc2lvbl9yZWFzb248L3NwYW4+IDwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCVRoaXMgd2lsbCByZXR1cm4gd2h5IHRoaXMgcmVxdWVzdCBpcyB0aGUgZmlyc3QKCQlyZXF1ZXN0IG9mIGEgbmV3IHNlc3Npb24sIGVpdGhlciAibm9fY29va2llIiBzYXlpbmcKCQl0aGUgYnJvd3NlciBkaWRuJ3QgZ2l2ZSB1cyBhIHNlc3Npb24gY29va2llLAoJCSJub19zZXNzaW9uIiBpbmRpY2F0aW5nIHdlIGdvdCBhIGNvb2tpZSBidXQgY291bGRuJ3QKCQlmaW5kIGl0IGluIG91ciBzZXNzaW9uIHRhYmxlLCBvciAidGltZW91dCIgd2hlcmUKCQl0aGV5IGhhZCBhIGNvb2tpZSBhbmQgd2UgZm91bmQgdGhlIG1hdGNoaW5nIHNlc3Npb24KCQlidXQgdGhlIHNlc3Npb24gaGFzIHRpbWVkIG91dC4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5TRVNTSU9OIHN0b3JlPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+cGFja2FnZU5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5kYXRhPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlHaXZlbiB0aGUgbmFtZSBvZiBhIHBhY2thZ2UsIGEga2V5LCBhbmQgc29tZSBkYXRhLgoJCVN0b3JlcyB0aGUgZGF0YSBpbiB0aGUgcml2ZXQgc2Vzc2lvbiBjYWNoZSB0YWJsZS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5TRVNTSU9OIGZldGNoPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+cGFja2FnZU5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUdpdmVuIGEgcGFja2FnZSBuYW1lIGFuZCBhIGtleSwgcmV0dXJuIHRoZSBkYXRhCgkJc3RvcmVkIGJ5IHRoZSBzdG9yZSBtZXRob2QsIG9yIGFuIGVtcHR5IHN0cmluZyBpZgoJCW5vbmUgd2FzIHNldC4gIChTdGF0dXMgaXMgc2V0IHRvIHRoZSBESU8gZXJyb3IgdGhhdAoJCW9jY3VycmVkLCBpdCBjYW4gYmUgZmV0Y2hlZCB1c2luZyB0aGUgc3RhdHVzCgkJbWV0aG9kLikKCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iU2Vzc2lvbiBDb25maWd1cmF0aW9uIE9wdGlvbnMiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImlkMzgxNjYwIj48L2E+U2Vzc2lvbiBDb25maWd1cmF0aW9uIE9wdGlvbnM8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPlRoZSBmb2xsb3dpbmcga2V5LXZhbHVlIHBhaXJzIGNhbiBiZSBzcGVjaWZpZWQgd2hlbiBhCgkgIHNlc3Npb24gb2JqZWN0IChsaWtlIFNFU1NJT04gYWJvdmUpIGlzIGNyZWF0ZWQ6PC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+c2Vzc2lvbkxpZmV0aW1lPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPmhvdyBtYW55IHNlY29uZHMgdGhlIHNlc3Npb24gd2lsbCBsaXZlIGZvci4KCQk3MjAwID09IDIgaG91cnMKCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj5zZXNzaW9uUmVmcmVzaEludGVydmFsPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUlmIGEgcmVxdWVzdCBpcyBwcm9jZXNzZWQgZm9yIGEgYnJvd3NlciB0aGF0CgkJY3VycmVudGx5IGhhcyBhIHNlc3Npb24gYW5kIHRoaXMgbG9uZyBoYXMgZWxhcHNlZAoJCXNpbmNlIHRoZSBzZXNzaW9uIHVwZGF0ZSB0aW1lIHdhcyBsYXN0IHVwZGF0ZWQsCgkJdXBkYXRlIGl0LiAgOTAwID09IDE1IG1pbnV0ZXMuICBzbyBpZiBhdCBsZWFzdCAxNQoJCW1pbnV0ZXMgaGFzIGVsYXBzZWQgYW5kIHdlJ3ZlIGdvdHRlbiBhIG5ldyByZXF1ZXN0CgkJZm9yIGEgcGFnZSwgdXBkYXRlIHRoZSBzZXNzaW9uIHVwZGF0ZSB0aW1lLAoJCWV4dGVuZGluZyB0aGUgc2Vzc2lvbiBsaWZldGltZSAoc2Vzc2lvbnMgdGhhdCBhcmUgaW4KCQl1c2Uga2VlcCBnZXR0aW5nIGV4dGVuZGVkKS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj5jb29raWVOYW1lPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPjwvZGl2PgoJICAgICAgbmFtZSBvZiB0aGUgY29va2llIHN0b3JlZCBvbiB0aGUgdXNlcidzIHdlYiBicm93c2VyCgkgICAgICBkZWZhdWx0IHJpdmV0U2Vzc2lvbgoJICAgIDwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj5kaW9PYmplY3Q8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJVGhlIG5hbWUgb2YgdGhlIERJTyBvYmplY3Qgd2UnbGwgdXNlIHRvIGFjY2VzcyB0aGUKCQlkYXRhYmFzZSAoZGVmYXVsdCBESU8pCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+Z2NQcm9iYWJpbGl0eTwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlUaGUgcHJvYmFiaWxpdHkgdGhhdCBnYXJiYWdlIGNvbGxlY3Rpb24gd2lsbCBvY2N1cgoJCWluIHBlcmNlbnQuICAoZGVmYXVsdCAxJSwgaS5lLiAxKTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj5nY01heExpZmV0aW1lPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPnRoZSBudW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB3aGljaAoJCWRhdGEgd2lsbCBiZSBzZWVuIGFzICJnYXJiYWdlIiBhbmQgY2xlYW5lZCB1cCAtLQoJCWRlZmF1bHRzIHRvIDEgZGF5ICg4NjQwMCk8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+cmVmZXJlckNoZWNrPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPlRoZSBzdWJzdHJpbmcgeW91IHdhbnQgdG8gY2hlY2sgZWFjaAoJCUhUVFAgcmVmZXJlciBmb3IuICBJZiB0aGUgcmVmZXJlciB3YXMgc2VudCBieSB0aGUKCQlicm93c2VyIGFuZCB0aGUgc3Vic3RyaW5nIGlzIG5vdCBmb3VuZCwgdGhlIHNlc3Npb24KCQl3aWxsIGJlIGRlbGV0ZWQuIChub3QgY29kZWQgeWV0KTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj5lbnRyb3B5RmlsZTwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5UaGUKCQluYW1lIG9mIGEgZmlsZSB0aGF0IHJhbmRvbSBiaW5hcnkgZGF0YSBjYW4gYmUgcmVhZAoJCWZyb20uICAoPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj4vZGV2L3VyYW5kb208L2NvZGU+KSBEYXRhIHdpbGwKCQliZSB1c2VkIGZyb20gdGhpcyBmaWxlIHRvIGhlbHAgZ2VuZXJhdGUgYQoJCXN1cGVyLWhhcmQtdG8tZ3Vlc3Mgc2Vzc2lvbiBJRC48L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+ZW50cm9weUxlbmd0aDwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5UaGUgbnVtYmVyIG9mIGJ5dGVzIHdoaWNoIHdpbGwgYmUKCQlyZWFkIGZyb20gdGhlIGVudHJvcHkgZmlsZS4gIElmIDAsIHRoZSBlbnRyb3B5IGZpbGUKCQl3aWxsIG5vdCBiZSByZWFkIChkZWZhdWx0IDApPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPnNjcmFtYmxlQ29kZTwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlTZXQgdGhlIHNjcmFtYmxlIGNvZGUgdG8gc29tZXRoaW5nIHVuaXF1ZSBmb3IgdGhlCgkJc2l0ZSBvciB5b3VyIGFwcCBvciB3aGF0ZXZlciwgdG8gc2xpZ2h0bHkgaW5jcmVhc2UKCQl0aGUgdW5ndWVzc2FiaWxpdHkgb2Ygc2Vzc2lvbiBpZHMgKGRlZmF1bHQgInNvbWUKCQlyYW5kb20gc3RyaW5nIik8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+Y29va2llTGlmZXRpbWU8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+VGhlIGxpZmV0aW1lIG9mIHRoZSBjb29raWUgaW4KCQltaW51dGVzLiAgMCBtZWFucyB1bnRpbCB0aGUgYnJvd3NlciBpcyBjbG9zZWQgKEkKCQl0aGluaykuIChkZWZhdWx0IDApPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPmNvb2tpZVBhdGg8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+VGhlCgkJd2Vic2VydmVyIHN1YnBhdGggdGhhdCB0aGUgc2Vzc2lvbiBjb29raWUgYXBwbGllcyB0bwoJCShkZWZhdWx0cyB0bwoJCTxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+LzwvY29kZT4pPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPmNvb2tpZVNlY3VyZTwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5TcGVjaWZpZXMgd2hldGhlciB0aGUgY29va2llIHNob3VsZAoJCW9ubHkgYmUgc2VudCBvdmVyIHNlY3VyZSBjb25uZWN0aW9ucywgMCA9IGFueSwgMSA9CgkJc2VjdXJlIGNvbm5lY3Rpb25zIG9ubHkgKGRlZmF1bHQKCQkwKTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj5zZXNzaW9uVGFibGU8L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+VGhlIG5hbWUgb2YgdGhlIHRhYmxlIHRoYXQgc2Vzc2lvbgoJCWluZm8gd2lsbCBiZSBzdG9yZWQgaW4gKGRlZmF1bHQKCQk8Y29kZSBjbGFzcz0idmFybmFtZSI+cml2ZXRfc2Vzc2lvbjwvY29kZT4pPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPnNlc3Npb25DYWNoZVRhYmxlPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPlRoZSBuYW1lIG9mIHRoZSB0YWJsZSB0aGF0IGNvbnRhaW5zCgkJY2FjaGVkIHNlc3Npb24gZGF0YSAoZGVmYXVsdAoJCTxjb2RlIGNsYXNzPSJ2YXJuYW1lIj5yaXZldF9zZXNzaW9uX2NhY2hlPC9jb2RlPik8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+ZGVidWdNb2RlPC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPlNldAoJCWRlYnVnIG1vZGUgdG8gMSB0byB0cmFjZSB0aHJvdWdoIGFuZCBzZWUgdGhlIHNlc3Npb24KCQlvYmplY3QgZG8gaXRzIHRoaW5nIChkZWZhdWx0IDApPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPmRlYnVnRmlsZTwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij5UaGUKCQlmaWxlIGhhbmRsZSB0aGF0IGRlYnVnZ2luZyBtZXNzYWdlcyB3aWxsIGJlIHdyaXR0ZW4KCQl0byAoZGVmYXVsdAoJCTxjb2RlIGNsYXNzPSJ2YXJuYW1lIj5zdGRvdXQ8L2NvZGU+KQoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJTZXNzaW9uIE1ldGhvZHMiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImlkMzgxODg4Ij48L2E+U2Vzc2lvbiBNZXRob2RzPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCSAgVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBpbnZva2VkIHRvIGZpbmQgb3V0CgkgIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IHNlc3Npb24sIHN0b3JlIGFuZCBmZXRjaAoJICBzZXJ2ZXIgZGF0YSBpZGVudGlmaWVkIHdpdGggdGhpcyBzZXNzaW9uLCBldGM6Cgk8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5TRVNTSU9OIHN0YXR1czwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJUmV0dXJuIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+U0VTU0lPTiBpZDwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJR2V0IHRoZSBzZXNzaW9uIElEIG9mIHRoZSBjdXJyZW50IGJyb3dzZXIuICBSZXR1cm5zCgkJYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlJ3Mgbm8gc2Vzc2lvbiAod2lsbCBub3QKCQloYXBwZW4gaXMgU0VTU0lPTiBhY3RpdmF0ZSBoYXMgYmVlbiBpc3N1ZWQuKQoJICAgICAgPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjwvc3Bhbj48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPlNFU1NJT04gbmV3X3Nlc3Npb25fcmVhc29uPC9zcGFuPiA8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQlSZXR1cm5zIHRoZSByZWFzb24gd2h5IHRoZXJlIHdhc24ndCBhIHByZXZpb3VzCgkJc2Vzc2lvbiwgZWl0aGVyICJub19jb29raWUiIHNheWluZyB0aGUgYnJvd3NlcgoJCWRpZG4ndCBnaXZlIHVzIGEgc2Vzc2lvbiBjb29raWUsICJub19zZXNzaW9uIgoJCWluZGljYXRpbmcgd2UgZ290IGEgY29va2llIGJ1dCBjb3VsZG4ndCBmaW5kIGl0IGluCgkJdGhlIHNlc3Npb24gdGFibGUsIG9yICJ0aW1lb3V0IiB3aGVuIHdlIGhhZCBhIGNvb2tpZQoJCWFuZCBhIHNlc3Npb24gYnV0IHRoZSBzZXNzaW9uIGhhZCB0aW1lZCBvdXQuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+U0VTU0lPTiBzdG9yZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnBhY2thZ2VOYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+a2V5PC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZGF0YTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJR2l2ZW4gYSBwYWNrYWdlIG5hbWUsIGEga2V5IHN0cmluZywgYW5kIGEgZGF0YQoJCXN0cmluZywgc3RvcmUgdGhlIGRhdGEgaW4gdGhlIHJpdmV0IHNlc3Npb24KCQljYWNoZS4KCSAgICAgIDwvZGl2PjwvZGl2PjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48L3NwYW4+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5TRVNTSU9OIGZldGNoPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+cGFja2FnZU5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5rZXk8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUdpdmVuIGEgcGFja2FnZSBuYW1lIGFuZCBhIGtleSwgcmV0dXJuIHRoZSBkYXRhCgkJc3RvcmVkIGJ5IHRoZSBzdG9yZSBtZXRob2QsIG9yIGFuIGVtcHR5IHN0cmluZyBpZgoJCW5vbmUgd2FzIHNldC4gIFN0YXR1cyBpcyBzZXQgdG8gdGhlIERJTyBlcnJvciB0aGF0CgkJb2NjdXJyZWQsIGl0IGNhbiBiZSBmZXRjaGVkIHVzaW5nIHRoZSBzdGF0dXMKCQltZXRob2QuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+U0VTU0lPTiBkZWxldGU8L3NwYW4+IDwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCUdpdmVuIGEgdXNlciBJRCBhbmQgbG9va2luZyBhdCB0aGVpciBJUCBhZGRyZXNzIHdlCgkJaW5oZXJpdGVkIGZyb20gdGhlIGVudmlyb25tZW50ICh0aGFua3MsIEFwYWNoZSksCgkJcmVtb3ZlIHRoZW0gZnJvbSB0aGUgc2Vzc2lvbiB0YWJsZS4gICh0aGUgc2Vzc2lvbgoJCXRhYmxlIGlzIGhvdyB0aGUgc2VydmVyIHJlbWVtYmVycyBzdHVmZiBhYm91dAoJCXNlc3Npb25zKS4gSWYgdGhlIHNlc3Npb24gSUQgd2FzIG5vdCBzcGVjaWZpZWQgdGhlCgkJY3VycmVudCBzZXNzaW9uIGlzIGRlbGV0ZWQuCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PC9zcGFuPjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+U0VTU0lPTiBhY3RpdmF0ZTwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJRmluZCBhbmQgdmFsaWRhdGUgdGhlIHNlc3Npb24gSUQgaWYgdGhleSBoYXZlIG9uZS4KCQlJZiB0aGV5IGRvbid0IGhhdmUgb25lIG9yIGl0IGlzbid0IHZhbGlkICh0aW1lZCBvdXQsCgkJZXRjKSwgY3JlYXRlIGEgc2Vzc2lvbiBhbmQgZHJvcCBhIGNvb2tpZSBvbgoJCXRoZW0uCgkgICAgICA8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiIgdGl0bGU9IkdldHRpbmcgQWRkaXRpb25hbCBSYW5kb21uZXNzIEZyb20gVGhlIEVudHJvcHkgRmlsZSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWQzODIxMTQiPjwvYT5HZXR0aW5nIEFkZGl0aW9uYWwgUmFuZG9tbmVzcyBGcm9tIFRoZSBFbnRyb3B5IEZpbGU8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwcmUgc3R5bGU9ImJhY2tncm91bmQ6I2NjYzsgbWFyZ2luOiAyZXg7IG1hcmdpbi1yaWdodDogMTAlOyAgICAgICBwYWRkaW5nOiAxZXg7IGJvcmRlcjogZGFzaGVkIGJsYWNrIDFweCA7IHdoaXRlLXNwYWNlOiBwcmU7ICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC1zaXplOiA5MCU7IiBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlJpdmV0U2VydmVyQ29uZiBDaGlsZEluaXRTY3JpcHQgIlNlc3Npb24gU0VTU0lPTiAtZW50cm9weUZpbGUgL2Rldi91cmFuZG9tIFwKICAtZW50cm9weUxlbmd0aCAxMCAtZGVidWdNb2RlIDEiPC9wcmU+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgIFRoaXMgb3B0aW9ucyBzYXkgd2Ugd2FudCB0byBnZXQgcmFuZG9tbmVzcyBmcm9tIGFuIGVudHJvcHkKCSAgZmlsZSAocmFuZG9tIGRhdGEgcHNldWRvLWRldmljZSkgb2YgL2Rldi91cmFuZG9tLCB0byBnZXQgdGVuCgkgIGJ5dGVzIG9mIHJhbmRvbSBkYXRhIGZyb20gdGhhdCBlbnRyb3B5IGRldmljZSwgYW5kIHRvIHR1cm4KCSAgb24gZGVidWcgbW9kZSwgd2hpY2ggd2lsbCBjYXVzZSB0aGUgU0VTU0lPTiBvYmplY3QgdG8gb3V0cHV0CgkgIGFsbCBtYW5uZXIgb2YgZGVidWdnaW5nIGluZm9ybWF0aW9uIGFzIGl0IGRvZXMgc3R1ZmYuICBUaGlzCgkgIGhhcyBiZWVuIHRlc3RlZCBvbiBGcmVlQlNEIGFuZCBhcHBlYXJzIHRvIHdvcmsuCiAgICAgIDwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iRm9ybTogQW4gSFRNTCBGb3JtIEZpZWxkcyBHZW5lcmF0aW9uIFV0aWxpdHkiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2Pjxocj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImZvcm0iPjwvYT5Gb3JtOiBBbiBIVE1MIEZvcm0gRmllbGRzIEdlbmVyYXRpb24gVXRpbGl0eTwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiIgdGl0bGU9IkludHJvZHVjdGlvbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWQzODI3NDQiPjwvYT5JbnRyb2R1Y3Rpb248L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJCQlUaGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Zm9ybTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IHBhY2thZ2UgaXMgYSB1dGlsaXR5IGZvciBnZW5lcmF0aW5nIGh0bWwgZm9ybXMuIEEgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Zm9ybTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+CgkJCW9iamVjdCBjb21tYW5kIHNhdmVzIHRoZSBwcm9ncmFtbWVyIGZyb20gdHlwaW5nIHRoZSBjdW1iZXJzb21lIGh0bWwgY29kZSBvZiBpbnB1dCBlbGVtZW50cywgCgkJCXdvcmtpbmcgb3V0IGEgc29sdXRpb24gZm9yIGJldHRlciBzdGFuZGFyZGl6YXRpb24gYW5kIHJlYWRhYmlsaXR5IG9mIHRoZSBjb2RlLiAKCQkJPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Zm9ybTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IHJlcXVpcmVzIHRoYXQgb25seSB0aGUgbWluaW11bSBuZWNlc3NhcnkgdG8gZGlzdGluZ3Vpc2ggdGhlIGVsZW1lbnQgaXMKCQkJdHlwZWQsIGdyZWF0bHkgc2ltcGx5ZmluZyB0aGUgZGV2ZWxvcG1lbnQgb2YgZm9ybXMuCgkJCU9wdGlvbnMgdG8gdGhlIGNvbW1hbmQgYXJlIHRyZWF0ZWQgYXMgYSBsaXN0IG9mIHBhcmFtZXRlci12YWx1ZSBwYWlycyB0aGF0IGJlY29tZSB0aGUgZGVmYXVsdHMKCQkJZm9yIHRoZSBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZXMgb2YgdGhlIGZvcm0uCgkJPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJCQlBIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmZvcm08L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBvYmplY3QgaGFzIHNwZWNpYWxpemVkIG1lbnRob2RzIHRvIGdlbmVyYXRlIGFsbCBvZiB0aGUgc3RhbmRhcmQgCgkJCWlucHV0IGZpZWxkcywgaS5lLiB0ZXh0LCBwYXNzd29yZCwgaGlkZGVuLCBnZW5lcmljIGJ1dHRvbiwgc3VibWl0IG9yIHJlc2V0IGJ1dHRvbnMgYW5kCgkJCWltYWdlLiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5mb3JtPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY3JlYXRlcyBzZWxlY3QgaW5wdXQgZmllbGRzLCByYWRpb2J1dHRvbiBhbmQgY2hlY2tib3gKCQkJYm9vbGVhbiBvcHRpb25zIGdyb3Vwcy4gQWxzbyBuZXcgaW5wdXRzIGludHJvZHVjZWQgd2l0aCBIVE1MNSBhcmUgc3VwcG9ydGVkOiBjb2xvciwgZGF0ZSwgCgkJCWRhdGV0aW1lLCBkYXRldGltZS1sb2NhbCwgZW1haWwsIGZpbGUsIG1vbnRoLCBudW1iZXIsIHJhbmdlLCBzZWFyY2gsIHRlbCwgdGltZSwgdXJsLCB3ZWVrLgoJCTwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCQkJT3RoZXIgaW5wdXQgZWxlbWVudHMgY2FuIGJlIGdlbmVyYXRlZCB1c2luZyB0aGUgZ2VuZXJhbCBwdXJwb3NlICdmaWVsZCcgbWV0aG9kLgkJCQoJCTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZlbnRyeSIgdGl0bGU9ImZvcm0iPjxhIG5hbWU9ImZvcm1fcGFja2FnZSI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPmZvcm0gJiM4MjEyOyAgYSBUY2wgY29tbWFuZCBvYmplY3QgZm9yIGNyZWF0aW5nIEhUTUwgZm9ybXM8L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiIHRpdGxlPSJTeW5vcHNpcyI+PGgyPlN5bm9wc2lzPC9oMj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmZvcm08L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5mb3JtX25hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tb3B0aW9uMSA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT52YWx1ZV8xPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LW9wdGlvbjIgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWVfMjwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi4uLjwvc3Bhbj4/PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiPjxhIG5hbWU9ImlkMzgzMTU4Ij48L2E+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVzIGFuZCByZXR1cm5zIGEgbmV3IFRjbCBjb21tYW5kIG5hbWVkIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZvcm1fbmFtZTwvY29kZT48L2VtPi4KCQkJPC9wPjxkaXYgY2xhc3M9InJlZnNlY3QyIiB0aXRsZT0iT3B0aW9ucyI+PGEgbmFtZT0iaWQzODMxNjgiPjwvYT48aDM+T3B0aW9uczwvaDM+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tbWV0aG9kPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+cG9zdHxnZXQ8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkgICAgICAJCQlUaGUgaHR0cCBtZXRob2QgZm9yIHNlbmRpbmcgdGhlIGZvcm0gZGF0YSBiYWNrIHRvIHRoZSBzZXJ2ZXIuCgkJCSAgICAgIAkJCVBvc3NpYmxlIHZhbHVlcyBhcmUgZ2V0IG9yIHBvc3QKCQkJICAgICAgCQk8L2Rpdj48ZGl2IGNsYXNzPSJub3RlIiB0aXRsZT0iTm90ZSIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgbWFyZ2luLXJpZ2h0OiAwLjVpbjsiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9Ik5vdGUiPjx0cj48dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IltOb3RlXSIgc3JjPSJpbWFnZXMvbm90ZS5wbmciPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij5Ob3RlPC90aD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KCQkJCQkJCQlBdCB0aGUgdGltZSBvZiB3cml0aW5nIG9ubHkgdGhlICdnZXQnIG1ldGhvZCBpcyBpbXBsZW1lbnRlZAkJICAgICAgCQoJCQkgICAgICAJCTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tbmFtZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZvcm1fbmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJICAgICAgCQkJCWEgbmFtZSBmb3IgdGhlIGZvcm0gYmVpbmcgY3JlYXRlZDogdGhpcyB2YWx1ZSBiZWNvbWVzIHRoZSB2YWx1ZSBvZiB0aGUgCgkJICAgICAgCQkJCWF0dHJpYnV0ZSAnbmFtZScgaW4gdGhlICZsdDtmb3JtJmd0OyB0YWcuCgkJICAgICAgCQkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1kZWZhdWx0czwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmRlZmF1bHRfdmFsdWVzPC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlhbiBhcnJheSBvZiBkZWZhdWx0IHZhbHVlcwl0byBiZSBhc3NpZ25lZCB0byB0aGUgZmllbGRzIG9mIHRoZSBmb3JtLiAKCQkJCQkJCQlFdmVyeSBuYW1lIGluIHRoZSBhcnJheSBpcyBtYXRjaGVkIHdpdGggYW4gaW5wdXQgZmllbGQsIHdoZW4KCQkJCQkJCQlhIGdpdmVuIGZpZWxkIGdldHMgYWRkZWQgdG8gdGhlIGZvcm0gaXQgaXMgaW5pdGlhbGl6ZWQgd2l0aCB0aGUgCgkJCQkJCQkJdmFsdWUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgdmFyaWFibGUgaW4gdGhlIGFycmF5LiAKCQkJCQkJCQlUaGlzIG9wdGlvbiB3b3JrcyB3ZWxsIGluIGNvbmp1Y3Rpb24gd2l0aCB0aGUgCgkJCQkJCQkJPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+bG9hZF9yZXNwb25zZTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGNvbW1hbmQgb2YgUml2ZXQgd2hlbiBkZWZhdWx0IAoJCQkJCQkJCXZhbHVlcyBjb21lIGZyb20gYW5vdGhlciBmb3JtLgoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1hY3Rpb248L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5VUkw8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCVRoZSBVUkwgdGhlIGRhdGEgYXJlIGJlaW5nIHNlbnQgdG8uIElmIG5vICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tYWN0aW9uPC9zcGFuPj8gc3dpdGNoIGlzIHNwZWNpZmllZAoJCQkJCQkJCXRoZSBkYXRhIGFyZSBzZW50IHRvIHRoZSBmb3JtJ3MgVVJMLgoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iRm9ybSBPYmplY3QgQ29tbWFuZHMiPjxhIG5hbWU9ImlkMzgzMzM1Ij48L2E+PGgyPkZvcm0gT2JqZWN0IENvbW1hbmRzPC9oMj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCUZvcm0gb2JqZWN0IGNvbW1hbmRzIGZvbGxvdyB0aGUgdXN1YWwgc3ludGF4IG9mIFRjbCBjb21tYW5kcyB3aXRoIGEgID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnN1YmNvbW1hbmQ8L2NvZGU+PC9lbT48L3NwYW4+PyBhcmd1bWVudCBwbGF5aW5nIHRoZQoJcm9sZSBvZiBhIHN3aXRjaCBhbW9uZyB2YXJpb3VzIGZ1bmN0aW9uYWxpdGllcyBvZiB0aGUgY29tbWFuZC4gRm9ybSBvYmplY3RzIGFsc28gbmVlZCB0aGUgID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm5hbWU8L2NvZGU+PC9lbT48L3NwYW4+PyBwYXJhbWV0ZXIgCgkJCQl3aGljaCBpcyB0byBiZWNvbWUgdGhlIHZhbHVlIG9mIHRoZSAnbmFtZScgYXR0cmlidXRlIGluIGFuIGlucHV0IGZpZWxkLiBUaGlzIGFyZ3VtZW50IGlzIHRoZSBrZXkgdGhhdCBoYXMgdG8gYmUgCgkJCQl1c2VkIGJ5IHRoZSBzZXJ2ZXItc2lkZSBzY3JpcHQgdG8gcmV0cmlldmUgdGhlIGlucHV0IGZpZWxkIHZhbHVlLiAKCQkJPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+CgkJCQkJCQkJZm9ybV9vYmplY3QgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnN1YmNvbW1hbmQ8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5uYW1lPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LW9wdGlvbjEgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWUxPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LW9wdGlvbjIgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWUyPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Li4uPC9zcGFuPj88L2Rpdj48L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CQkJCgkJCQlPcHRpb25zIHBhc3NlZCB0byBhIHN1YmNvbW1hbmQgYXJlIGNvcGllZCBpbnRvIHRoZSB0YWcgYXMgYXR0cmlidXRlPSJ2YWx1ZSIgcGFpcnMuIAoJCQkJU29tZSBzdWJjb21tYW5kcyAoZS5nLiBmb3JtLCByYWRpb2J1dHRvbnMgYW5kIGNoZWNrYm94ZXMpIHRyZWF0IHNwZWNpZmljIG9wdGlvbnMgaW4gYSB3YXkgCgkJCQl0aGF0IGZpdHMgdGhlIHNwZWNpZmljIG9yZ2FuaXphdGlvbiBhbmQgZnVuY3Rpb24gb2YgdGhlc2UgZmllbGRzLiAKCQkJPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJCQkJRXhjZXB0aW9ucyB0byB0aGlzIGdlbmVyYWwgc3ludGF4IGFyZSB0aGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZmllbGQ8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBhbmQgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZW5kPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gc3ViY29tbWFuZHMuCgkJCQk8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5maWVsZDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGlzIGFuIGFic3RyYWN0IGlucHV0IGZpZWxkIGNyZWF0aW9uIG1ldGhvZCBhbmQgcmVxdWlyZXMgYW4gYWRkaXRpb25hbAoJCQkJcGFyYW1ldGVyIHNwZWNpZml5bmcgdGhlIHR5cGUgb2YgZmllbGQgdG8gY3JlYXRlLiBFdmVyeSBjb25jcmV0ZSBpbnB1dCBmaWVsZCBnZW5lcmF0aW9uIGNvbW1hbmQKCQkJCXVzZXMgdGhpcyBzdWJjb21tYW5kIGludGVybmFsbHkgdG8gcHJpbnQgdGhlIGZpbmFsIGh0bWwuCgkJCTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgdGl0bGU9IlN1YmNvbW1hbmRzIj48YSBuYW1lPSJpZDM4MzQ1NyI+PC9hPjxoMj5TdWJjb21tYW5kczwvaDI+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzgzNDYyIj48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+c3RhcnQ8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5uYW1lPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LW1ldGhvZCA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5nZXQgfCBwb3N0PC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LW5hbWUgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Zm9ybV9uYW1lPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWRlZmF1bHRzIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmRlZmF1bHRfdmFsdWVzPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWFjdGlvbiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5VUkw8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlQcmludCB0aGUgJmx0O2Zvcm0mZ3Q7IHRhZyB3aXRoIGFsbCBpdHMgYXR0cmlidXRlcy4gCgkJCQkJCQkJVGhpcyBjb21tYW5kIG11c3QgYmUgY2FsbGVkIGFzIGZpcnN0IGluIHRoZSBmb3JtIGdlbmVyYXRpb24KCQkJCQkJCQlwcm9jZXNzLiBUaGUgZm9sbG93aW5nIGlzIGEgc2FtcGxlIG9mIGNvZGUgY3JlYXRpbmcgYSBmb3JtIG5hbWVkICdmb3JtbmFtZScgd2hvc2UgZGF0YSB3aWxsCgkJCQkJCQkJYmUgc2VudCB2aWEgdGhlIEdFVCBtZXRob2QuIEluaXRpYWwgZm9ybSBmaWVsZHMgdmFsdWVzIHdpbGwgYmUgb2J0YWluZWQgZnJvbSBhcnJheSAKCQk8Y29kZSBjbGFzcz0idmFybmFtZSI+cmVzcG9uc2U8L2NvZGU+CgkJCQkJCQk8L2Rpdj48cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2M7IG1hcmdpbjogMmV4OyBtYXJnaW4tcmlnaHQ6IDEwJTsgICAgICAgcGFkZGluZzogMWV4OyBib3JkZXI6IGRhc2hlZCBibGFjayAxcHggOyB3aGl0ZS1zcGFjZTogcHJlOyAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOTAlOyIgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KZm9ybSBteWZvcm0gLWRlZmF1bHRzIHJlc3BvbnNlIC1tZXRob2QgZ2V0IC1uYW1lIGZvcm1uYW1lCm15Zm9ybSBzdGFydApteWZvcm0gdGV4dAkgIHRleHRfZW50cnkgLXNpemUgMjAKbXlmb3JtIHNlbGVjdCBvcHRpb25fc2VsZWN0ZWQgLXZhbHVlcyB7b3B0MSBvcHQyIG9wdDMgb3B0NH0KbXlmb3JtIHN1Ym1pdCBzdWJtaXQgLXZhbHVlIFNlYXJjaApteWZvcm0gZW5kPC9wcmU+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJVGhlIGNvZGUgcHJpbnRzIGEgZm9ybSB0aGF0IHNlbmRzIGEgdGV4dCBlbnRyeSBjb250ZW50IGFuZCB0aGUgb3B0aW9uIHZhbHVlIAoJCQkJCQkJCWFzc29jaWF0ZWQgd2l0aCBhIHJhZGlvYnV0dG9uLiBUaGUgVVJMIG9mIHRoZSBzZXJ2ZXIgc2NyaXB0IGlzIHRoZSBzYW1lIHRoYXQKCQkJCQkJCQljcmVhdGVkIHRoZSBmb3JtLiBVc2UgdGhlICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tdXJsPC9zcGFuPj8gb3B0aW9uIHRvIHNwZWNpZnkgYSBkaWZmZXJlbnQgdXJsLgoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QzIiB0aXRsZT0iT3B0aW9ucyI+PGEgbmFtZT0iaWQzODM1NzciPjwvYT48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyBtYXJnaW4tbGVmdDogNSU7Ij5PcHRpb25zPC9kaXY+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7IG1hcmdpbi1sZWZ0OiA1JTsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjcwJTsiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tbWV0aG9kPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+cG9zdHxnZXQ8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJICAgICAgCQkJVGhlIG1ldGhvZCB0byBiZSB1c2VkIHRvIGVuY29kZSB0aGUgZm9ybSBkYXRhLiAKCQkJCSAgICAgIAkJCVBvc3NpYmxlIHZhbHVlcyBhcmUgZ2V0IG9yIHBvc3QKCQkJCSAgICAgIAkJPC9kaXY+PGRpdiBjbGFzcz0ibm90ZSIgdGl0bGU9Ik5vdGUiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IG1hcmdpbi1yaWdodDogMC41aW47Ij48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJOb3RlIj48dHI+PHRkIHJvd3NwYW49IjIiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUiPjxpbWcgYWx0PSJbTm90ZV0iIHNyYz0iaW1hZ2VzL25vdGUucG5nIj48L3RkPjx0aCBhbGlnbj0ibGVmdCI+Tm90ZTwvdGg+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+CgkJCQkJCQkJCUN1cnJlbnRseSwgb25seSB0aGUgJ2dldCcgbWV0aG9kIGlzIGltcGxlbWVudGVkCQkgICAgICAJCgkJCQkgICAgICAJCTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7IG1hcmdpbi1sZWZ0OiA1JTsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjcwJTsiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tbmFtZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmZvcm1fbmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCSAgICAgIAkJCQlhIG5hbWUgZm9yIHRoZSBmb3JtIGJlaW5nIGdlbmVyYXRlZDogdGhpcyB2YWx1ZSBiZWNvbWVzIHRoZSB2YWx1ZSBvZiB0aGUgCgkJCSAgICAgIAkJCQlhdHRyaWJ1dGUgJ25hbWUnIGluIHRoZSAmbHQ7Zm9ybSZndDsgdGFnLgoJCQkgICAgICAJCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyBtYXJnaW4tbGVmdDogNSU7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3MCU7Ij48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWRlZmF1bHRzPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+ZGVmYXVsdF92YWx1ZXM8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCQlhbiBhcnJheSBvZiBkZWZhdWx0IHZhbHVlcwl0byBiZSBhc3NpZ25lZCB0byB0aGUgZmllbGRzIG9mIHRoZSBmb3JtLiAKCQkJCQkJCQkJRXZlcnkgbmFtZSBpbiB0aGUgYXJyYXkgaXMgbWF0Y2hlZCB3aXRoIGFuIGlucHV0IGZpZWxkLCB3aGVuCgkJCQkJCQkJCWEgZ2l2ZW4gZmllbGQgZ2V0cyBhZGRlZCB0byB0aGUgZm9ybSBpdCBpcyBpbml0aWFsaXplZCB3aXRoIHRoZSAKCQkJCQkJCQkJdmFsdWUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgdmFyaWFibGUgaW4gdGhlIGFycmF5LiAKCQkJCQkJCQkJVGhpcyBvcHRpb24gd29ya3Mgd2VsbCBpbiBjb25qdWN0aW9uIHdpdGggdGhlIAoJCQkJCQkJCQk8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5sb2FkX3Jlc3BvbnNlPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZCBvZiBSaXZldCB3aGVuIGRlZmF1bHQgdmFsdWVzCgkJCQkJCQkJCWNvbWUgZnJvbSBhbm90aGVyIGZvcm0uCgkJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgbWFyZ2luLWxlZnQ6IDUlOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzAlOyI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1hY3Rpb248L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5VUkw8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCQlUaGUgVVJMIHRoZSBkYXRhIHdpbGwgYmUgc2VudCB0by4gSWYgbm8gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1hY3Rpb248L3NwYW4+PyBzd2l0Y2ggaXMgc3BlY2lmaWVkCgkJCQkJCQkJCXRoZSBkYXRhIGFyZSBzZW50IHRvIHRoZSBmb3JtJ3MgVVJMLgoJCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MiI+PGEgbmFtZT0iaWQzODM3NDIiPjwvYT48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5lbmQ8L3NwYW4+IDwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgkKCQkJICAgICAgCQkJUHJpbnQgdGhlICZsdDsvZm9ybSZndDsgY2xvc2luZyB0YWcuIFRoaXMgY29tbWFuZCBtdXN0CgkJCQkJCQkJYmUgY2FsbGVkIGxhc3QgaW4gdGhlIGZvcm0gZ2VuZXJhdGlvbiBwcm9jZXNzCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzgzNzcyIj48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+ZmllbGQ8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5uYW1lPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dHlwZTwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFyZ3M8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgkKCQlQcmludCBhIGZpZWxkIG9mIHRoZSBnaXZlbiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dHlwZTwvY29kZT48L2VtPjwvc3Bhbj4/IGFuZCAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/LAoJCQkJCQkJCWluY2x1ZGluZyBhbnkgZGVmYXVsdCBrZXktdmFsdWUgcGFpcnMgZGVmaW5lZCBmb3IgdGhpcyBmaWVsZCAKCQkJCQkJCQl0eXBlIGFuZCBvcHRpb25hbCBrZXktdmFsdWUgcGFpcnMgaW5jbHVkZWQgd2l0aCB0aGUgc3RhdGVtZW50CgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDMiIHRpdGxlPSJPcHRpb25zIj48YSBuYW1lPSJpZDM4Mzg0MiI+PC9hPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7IG1hcmdpbi1sZWZ0OiA1JTsiPk9wdGlvbnM8L2Rpdj48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgbWFyZ2luLWxlZnQ6IDUlOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzAlOyI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1vcHQxPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dmFsMTwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkgICAgICAJCQlPcHRpb24gZGVzY3JpcHRpb24KCQkJCSAgICAgIAkJPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QyIj48YSBuYW1lPSJpZDM4Mzg4NCI+PC9hPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+cmFkaW9idXR0b25zPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bmFtZTwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi12YWx1ZXMgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWVzPC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWxhYmVscyA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5sYWJlbHM8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQl0aGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+cmFkaW9idXR0b248L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBjcmVhdGVzIGEgd2hvbGUgcmFkaW9idXR0b24gZ3JvdXAKCQkJCQkJCQl3aXRoIHRoZSB2YWx1ZXMgYW5kIGxhYmVscyBzcGVjaWZpZWQgaW4gdGhlIGFyZ3VtZW50IGxpc3QuIAoJCQkJCQkJCUlmIG5vICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tbGFiZWxzPC9zcGFuPj8gc3dpdGNoIGlzCgkJCQkJCQkJcGFzc2VkIHRvIHRoZSBzdWJjb21tYW5kIHRoZSB2YWx1ZXMgYXJlIHByaW50ZWQgYXMgbGFiZWxzIG9mIAoJCQkJCQkJCXRoZSByYWRpb2J1dHRvbi4KCQkJCQkJCTwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QzIiB0aXRsZT0iT3B0aW9ucyI+PGEgbmFtZT0iaWQzODM5NjMiPjwvYT48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyBtYXJnaW4tbGVmdDogNSU7Ij5PcHRpb25zPC9kaXY+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7IG1hcmdpbi1sZWZ0OiA1JTsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjcwJTsiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tdmFsdWVzPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWVzX2xpc3Q8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCQkJCQlMaXN0IG9mIHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggdGhlIHJhZGlvYnV0dG9ucyB0byBiZSBkaXNwbGF5ZWQKCQkJCQkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyBtYXJnaW4tbGVmdDogNSU7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3MCU7Ij48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LWxhYmVsczwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmxhYmVsc19saXN0PC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQkJCQkJTGlzdCBvZiBsYWJlbHMgdG8gYmUgcHJpbnRlZCB3aXRoIGV2ZXJ5IHJhZGlvYnV0dG9uLiBUaGVyZSBtdXN0CgkJCQkJCQkJCQkJCWJlIGEgbGFiZWwgZm9yIGV2ZXJ5IHJhZGlvYnV0dG9uCgkgCQkJCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlFeGFtcGxlOgoJCQkJCQkJPC9kaXY+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CmZvcm0gbXlmb3JtIC1kZWZhdWx0cyByZXNwb25zZSAtbWV0aG9kIGdldCAtbmFtZSBmb3JtbmFtZQpteWZvcm0gc3RhcnQKbXlmb3JtIHRleHQgdGV4dF9lbnRyeSAtc2l6ZSAyMApteWZvcm0gcmFkaW9idXR0b25zIGZydWl0IC12YWx1ZXMge2JpZyBtZWRpdW0gc21hbGx9IFwKICAgICAgICAgICAgICAtbGFiZWxzIHtXYXRlcm1lbG9uIE9yYW5nZSBTdHJhd2JlcnJ5fSBcCiAgICAgICAgICAgICAgLWNsYXNzIG15cmFkaW9iY2xhc3MKbXlmb3JtIHN1Ym1pdCBzdWJtaXQgLXZhbHVlIFNlYXJjaApteWZvcm0gZW5kPC9wcmU+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJd2lsbCBwcmludCB0aGUgZm9sbG93aW5nIEhUTUwgY29kZS4KCQkJCQkJCTwvZGl2PjxwcmUgc3R5bGU9ImJhY2tncm91bmQ6I2NjYzsgbWFyZ2luOiAyZXg7IG1hcmdpbi1yaWdodDogMTAlOyAgICAgICBwYWRkaW5nOiAxZXg7IGJvcmRlcjogZGFzaGVkIGJsYWNrIDFweCA7IHdoaXRlLXNwYWNlOiBwcmU7ICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC1zaXplOiA5MCU7IiBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgombHQ7aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZydWl0IiBjbGFzcz0ibXlyYWRpb2JjbGFzcyIgdmFsdWU9ImJpZyIgLyZndDtXYXRlcm1lbG9uCiZsdDtpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iZnJ1aXQiIGNsYXNzPSJteXJhZGlvYmNsYXNzIiB2YWx1ZT0ibWVkaXVtIiAvJmd0O09yYW5nZQombHQ7aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImZydWl0IiBjbGFzcz0ibXlyYWRpb2JjbGFzcyIgdmFsdWU9InNtYWxsIiAvJmd0O1N0cmF3YmVycnkKPC9wcmU+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJaWYgdGhlIDxjb2RlIGNsYXNzPSJ2YXJuYW1lIj5yZXNwb25zZTwvY29kZT4gYXJyYXkgaGFzIGEgdmFyaWFibGUgZm9yIHRoZSBuYW1lICdmcnVpdCcgdGhlIGNvcnJlc3BvbmRpbmcgCgkJCQkJCQkJcmFkaW9idXR0b24gZmllbGQgaXMgYXV0b21hdGljYWxseSBjaGVja2VkLiBUaGUgb3B0aW9ucyAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dmFsdWVzPC9zcGFuPj8gYW5kICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5sYWJlbHM8L3NwYW4+PwoJCQkJCQkJCWFyZSB1c2VkIGludGVybmFsbHkgYW5kIGRvbid0IGdldCBpbnRvIHRoZSB0YWcgYXR0cmlidXRlcy4gSWYgYSAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bGFiZWxzPC9zcGFuPj8gCgkJCQkJCQkJb3B0aW9uIGlzIG5vdCBnaXZlbiwgbGFiZWxzIGFyZSBhc3NpZ25lZCB1c2luZyB0aGUgID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnZhbHVlczwvc3Bhbj4/IGxpc3QuCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzg0MTEyIj48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5jaGVja2JveDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5hbWU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tbGFiZWwgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bGFiZWw8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tdmFsdWUgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+dmFsdWU8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlUaGUgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmNoZWNrYm94PC9zcGFuPiAgc3ViY29tbWFuZCBlbWl0cyBhIGNoZWNrYm94IAoJCQkJCQkJCXR5cGUgaW5wdXQgZmllbGQgd2l0aCB0aGUgbmFtZSwgbGFiZWwgYW5kIHZhbHVlIGF0dHJpYnV0ZXMgc2V0IAoJCQkJCQkJCWFjY29yZGluZyB0byB0aGUgcGFyYW1ldGVycyBwYXNzZWQgdG8gdGhlIHN1YmNvbW1hbmQuCgkJCQkJCQk8L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MyIgdGl0bGU9Ik9wdGlvbnMiPjxhIG5hbWU9ImlkMzg0MTg0Ij48L2E+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgbWFyZ2luLWxlZnQ6IDUlOyI+T3B0aW9uczwvZGl2PjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyBtYXJnaW4tbGVmdDogNSU7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3MCU7Ij48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LXZhbHVlczwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPnZhbHVlc19saXN0PC9jb2RlPjwvZW0+PC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQkJCQkJTGlzdCBvZiB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjaGVja2JveGVzIHRvIGJlIGRpc3BsYXllZAoJCQkJCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7IG1hcmdpbi1sZWZ0OiA1JTsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjcwJTsiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tbGFiZWxzPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bGFiZWxzX2xpc3Q8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCQkJCQlMaXN0IG9mIGxhYmVscyB0byBiZSBwcmludGVkIHdpdGggZXZlcnkgY2hlY2tib3guIFRoZXJlIG11c3QKCQkJCQkJCQkJCQkJYmUgYSBsYWJlbCBmb3IgZXZlcnkgY2hlY2tib3gKCSAJCQkJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCUV4YW1wbGU6CgkJCQkJCQk8L2Rpdj48cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2M7IG1hcmdpbjogMmV4OyBtYXJnaW4tcmlnaHQ6IDEwJTsgICAgICAgcGFkZGluZzogMWV4OyBib3JkZXI6IGRhc2hlZCBibGFjayAxcHggOyB3aGl0ZS1zcGFjZTogcHJlOyAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOTAlOyIgY2xhc3M9InByb2dyYW1saXN0aW5nIj5teWZvcm0gY2hlY2tib3ggb3B0aW9ucyAtdmFsdWUgb3B0MSAgIC1sYWJlbCAiT3B0aW9uIDEiCm15Zm9ybSBjaGVja2JveCBvcHRpb25zIC12YWx1ZSBvcHQyICAgLWxhYmVsICJPcHRpb24gMiIKbXlmb3JtIGNoZWNrYm94IG9wdGlvbnMgLXZhbHVlIG9wdDMgICAtbGFiZWwgIk9wdGlvbiAzIgpteWZvcm0gY2hlY2tib3ggb3B0aW9ucyAtdmFsdWUgb3B0NCAgIC1sYWJlbCAiT3B0aW9uIDQiPC9wcmU+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJUHJvdmlkZWQgb3B0MiB3YXMgaW4gcmVzcG9uc2UgYXJyYXkgKGluIHRoZSBsaXN0IHZhbHVlZCAnb3B0aW9ucycgdmFyaWFibGUpIHRoYXQgCgkJCQkJCQkJaW5pdGlhbGl6ZWQgdGhlIGZvcm0sIHRoZSBvdXRwdXQgd291bGQgbG9vayBsaWtlIHRoaXMKCQkJCQkJCTwvZGl2PjxwcmUgc3R5bGU9ImJhY2tncm91bmQ6I2NjYzsgbWFyZ2luOiAyZXg7IG1hcmdpbi1yaWdodDogMTAlOyAgICAgICBwYWRkaW5nOiAxZXg7IGJvcmRlcjogZGFzaGVkIGJsYWNrIDFweCA7IHdoaXRlLXNwYWNlOiBwcmU7ICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC1zaXplOiA5MCU7IiBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiZsdDtpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ib3B0aW9ucyIgbGFiZWw9Ik9wdGlvbiAxIiB2YWx1ZT0ib3B0MSIgLyZndDtPcHRpb24gMQombHQ7aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im9wdGlvbnMiIGxhYmVsPSJPcHRpb24gMiIgdmFsdWU9Im9wdDIiIAogICAgICAgCSBjaGVja2VkPSJjaGVja2VkIiAvJmd0O09wdGlvbiAyCiZsdDtpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ib3B0aW9ucyIgbGFiZWw9Ik9wdGlvbiAzIiB2YWx1ZT0ib3B0MyIgLyZndDtPcHRpb24gMwombHQ7aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im9wdGlvbnMiIGxhYmVsPSJPcHRpb24gNCIgdmFsdWU9Im9wdDQiIC8mZ3Q7T3B0aW9uIDQ8L3ByZT48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzg0Mjg5Ij48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5wYXNzd29yZDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5hbWU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlTYW1lIGFzIHRleHQsIGJ1dCB0aGUgaW5wdXQgaXMgb2JmdXNjYXRlZCBzbyBhcyBub3QgdG8gcmV2ZWFsIHRoZSB0ZXh0IGJlaW5nIHR5cGVkCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzg0MzM1Ij48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5oaWRkZW48L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5uYW1lPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+YXJnczwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJaGlkZGVuIGlucHV0IGVsZW1lbnQ6IHR5cGljYWxsIGVtYmVkZGVkIGluIGEgZm9ybSBpbiBvcmRlciB0bwoJCQkJCQkJCXBhc3Mgc3RhdHVzIHZhcmlhYmxlcy4KCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MiI+PGEgbmFtZT0iaWQzODQzODIiPjwvYT48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnN1Ym1pdDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5hbWU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQllbWl0cyB0aGUgY29kZSBmb3IgYSBjbGFzc2ljYWwgSFRNTCBzdWJtaXQgYnV0dG9uLiBFeGFtcGxlOiB0aGUgZm9sbG93aW5nCgkJCQkJCQkJY29kZQoJCQkJCQkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJPHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Cglmb3JtIG15Zm9ybSAtZGVmYXVsdHMgcmVzcG9uc2UgLW1ldGhvZCBnZXQgLW5hbWUgZmVlZHNlYXJjaAoJbXlmb3JtIHN0YXJ0CglteWZvcm0gc3VibWl0IHN1Ym1pdCAtdmFsdWUgU2VhcmNoPC9wcmU+CQkJCQkJCgkJCQkJCQk8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlXb3VsZCBlbWl0IGEgZm9ybSAgbGlrZSB0aGlzCgkJCQkJCQk8L2Rpdj48cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2M7IG1hcmdpbjogMmV4OyBtYXJnaW4tcmlnaHQ6IDEwJTsgICAgICAgcGFkZGluZzogMWV4OyBib3JkZXI6IGRhc2hlZCBibGFjayAxcHggOyB3aGl0ZS1zcGFjZTogcHJlOyAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOTAlOyIgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KCSZsdDtmb3JtLi4uJmd0OwoJJmx0O2lucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIiAvJmd0OyAKCSZsdDsvZm9ybSZndDs8L3ByZT48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzg0NDQ4Ij48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5idXR0b248L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5uYW1lPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+YXJnczwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJZW1pdHMgdGhlIGNvZGUgZm9yIGEgYnV0dG9uIGZpZWxkIGhhdmluZyAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+bmFtZTwvY29kZT48L2VtPjwvc3Bhbj4/IGFzIG5hbWUKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MiI+PGEgbmFtZT0iaWQzODQ1MDQiPjwvYT48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnJlc2V0PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bmFtZTwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFyZ3M8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCUNsYXNzaWNhbCBIVE1MIHJlc2V0IGJ1dHRvbiB0aGF0IHJlc2V0cyB0aGUgaW5wdXQgZmllbGRzCgkJCQkJCQkJYmFjayB0byB0aGVpciBpbml0aWFsIHZhbHVlcwoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QyIj48YSBuYW1lPSJpZDM4NDU1MSI+PC9hPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+aW1hZ2U8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5uYW1lPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+YXJnczwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJRW1pdHMgYW4gaW1hZ2UgaW5wdXQgZmllbGQKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MiI+PGEgbmFtZT0iaWQzODQ1OTciPjwvYT48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmNoZWNrYm94PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bmFtZTwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFyZ3M8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCUVtaXRzIGEgY2hlY2tib3ggaW5wdXQgZmllbGQKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MiI+PGEgbmFtZT0iaWQzODQ2NDMiPjwvYT48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnJhZGlvPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bmFtZTwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFyZ3M8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCUVtaXRzIGEgcmFkaW9idXR0b24gaW5wdXQgZmllbGQKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MiI+PGEgbmFtZT0iaWQzODQ2ODkiPjwvYT48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmNvbG9yPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bmFtZTwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFyZ3M8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCUVtaXRzIGFuIEhUTUwgNSAiY29sb3IiIGZvcm0gZmllbGQJCQkJCQkKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MiI+PGEgbmFtZT0iaWQzODQ3MzYiPjwvYT48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmRhdGU8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5uYW1lPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+YXJnczwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJRW1pdHMgYW4gSFRNTCA1ICJkYXRlIiBmb3JtIGZpZWxkCQkJCQkJCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzg0NzgyIj48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5kYXRldGltZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5hbWU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlFbWl0cyBhbiBIVE1MIDUgImRhdGV0aW1lIiBmb3JtIGZpZWxkCQkJCQkJCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzg0ODI4Ij48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5kYXRldGltZV9sb2NhbDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5hbWU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlFbWl0cyBhbiBIVE1MIDUgImRhdGV0aW1lX2xvY2FsIiBmb3JtIGZpZWxkCQkJCQkJCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzg0ODc0Ij48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5lbWFpbDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5hbWU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlFbWl0cyBhbiBIVE1MIDUgImVtYWlsIiBmb3JtIGZpZWxkCQkJCQkJCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzg0OTIwIj48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5maWxlPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bmFtZTwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFyZ3M8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCUVtaXRzIGFuIEhUTUwgNSAiZmlsZSIgZm9ybSBmaWVsZAkJCQkJCQoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QyIj48YSBuYW1lPSJpZDM4NDk2NiI+PC9hPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bW9udGg8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5uYW1lPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+YXJnczwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJRW1pdHMgYW4gSFRNTCA1ICJtb250aCIgZm9ybSBmaWVsZAkJCQkJCQoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QyIj48YSBuYW1lPSJpZDM4NTAxMiI+PC9hPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bnVtYmVyPC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bmFtZTwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPmFyZ3M8L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCUVtaXRzIGFuIEhUTUwgNSAibnVtYmVyIiBmb3JtIGZpZWxkCQkJCQkJCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzg1MDU5Ij48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5yYW5nZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5hbWU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlFbWl0cyBhbiBIVE1MIDUgInJhbmdlIiBmb3JtIGZpZWxkCQkJCQkJCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDIiPjxhIG5hbWU9ImlkMzg1MTA1Ij48L2E+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj4gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5zZWFyY2g8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5uYW1lPC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+YXJnczwvc3Bhbj4/PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJRW1pdHMgYW4gSFRNTCA1ICJzZWFyY2giIGZvcm0gZmllbGQJCQkJCQkKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MiI+PGEgbmFtZT0iaWQzODUxNTEiPjwvYT48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnRlbDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5hbWU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlFbWl0cyBhbiBIVE1MIDUgInRlbCIgZm9ybSBmaWVsZAkJCQkJCQoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QyIj48YSBuYW1lPSJpZDM4NTE5NyI+PC9hPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dGltZTwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5hbWU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlFbWl0cyBhbiBIVE1MIDUgInRpbWUiIGZvcm0gZmllbGQJCQkJCQkKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MiI+PGEgbmFtZT0iaWQzODUyNDMiPjwvYT48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnVybDwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5hbWU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlFbWl0cyBhbiBIVE1MIDUgInVybCIgZm9ybSBmaWVsZAkJCQkJCQoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QyIj48YSBuYW1lPSJpZDM4NTI4OSI+PC9hPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+d2Vlazwvc3Bhbj4gID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPm5hbWU8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hcmdzPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlFbWl0cyBhbiBIVE1MIDUgIndlZWsiIGZvcm0gZmllbGQJCQkJCQkKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iQ2FsZW5kYXIgUGFja2FnZSI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGhyPjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0iY2FsZW5kYXJfcGFja2FnZSI+PC9hPkNhbGVuZGFyIFBhY2thZ2U8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJJbnRyb2R1Y3Rpb24iPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImlkMzg3NTE0Ij48L2E+SW50cm9kdWN0aW9uPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KICAgICAgCVRoZSBwYWNrYWdlIGlzIGJhc2VkIG9uIHRoZSBDYWxlbmRhciBjbGFzcywgYSBjbGFzcyBjYXBhYmxlCiAgICAgIAlvZiBwcmludGluZyBhbiBhc2NpaSBjYWxlbmRhciB0YWJsZSB0aGF0IGNsb3NlbHkgcmVzZW1ibGVzIHRoZSBvdXRwdXQgCiAgICAgIAlvZiB0aGUgdHlwaWNhbCBVbml4IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmNhbDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IGNvbW1hbmQuIFRoZSBpbnRlcm5hbAogICAgICAJY29kZSBpcyB3cml0dGVuIGVudGlyZWx5IGluIFRjbCwgdGhlcmVmb3JlIGRvZXNuJ3QgcmVseSBvbiB0aGUgCiAgICAgIAlleGlzdGFuY2Ugb2YgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Y2FsPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gb24gdGhlIHN5c3RlbS4gCiAgICAgIAlYbWxDYWxlbmRhciBpbmhlcml0cyB0aGUgYmFzaWMgbWV0aG9kcyBhbmQgYWRkcyBYTUwgdGFnZ2luZyB0byB0aGUKICAgICAgCXRhYmxlLiBYbWxDYWxlbmRhciBwcmludHMgYW4gWE1MIGNhbGVuZGFyIHRhYmxlIHdob3NlIGhlYWRlciwgCiAgICAgIAl3ZWVrZGF5cyBiYW5uZXIgYW5kIGRheXMgcm93cyB0YWdzIGFyZSBjb25maWd1cmFibGUuIAogICAgICAJQWxzbyBzcGVjaWZpYyBkYXlzIG9yIHNwZWNpZmljIHdlZWtzIGNhbiBiZSBnaXZlbiBhcmJpdHJhcnkgYXR0cmlidXRlcy4KICAgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgogICAgICAJQ2FsZW5kYXIgY29yZSBtZXRob2RzIGFyZSBiYXNlZCBvbiB0aGUgCiAgICAgIAk8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93aWtpLnRjbC50ay8xNzk2NCIgdGFyZ2V0PSJfdG9wIj5jYWw8L2E+IHByb2NlZHVyZQogICAgICAJd3JpdHRlbiBieSBSaWNoYXJkIFN1Y2hlbndpcnRoIGFuZCBwdWJsaXNoZWQgb24gdGhlIAogICAgICAJPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd2lraS50Y2wudGsiIHRhcmdldD0iX3RvcCI+VGNsIFdpa2k8L2E+CiAgICAgIDwvcD48ZGl2IGNsYXNzPSJub3RlIiB0aXRsZT0iTm90ZSIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgbWFyZ2luLXJpZ2h0OiAwLjVpbjsiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9Ik5vdGUiPjx0cj48dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IltOb3RlXSIgc3JjPSJpbWFnZXMvbm90ZS5wbmciPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij5Ob3RlPC90aD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KCVRoZSBDYWxlbmRhciBwYWNrYWdlIHVzZXMgVGNsIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPmRpY3Q8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBjb21tYW5kIHRvIG1hbmFnZSBtYXJrdXAgCglpbmZvcm1hdGlvbi4gSGVuY2UgZWl0aGVyIFRjbDguNSBvciBUY2w4LjQgd2l0aCAKCTxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3dpa2kudGNsLnRrLzUwNDIiIHRhcmdldD0iX3RvcCI+cGFja2FnZSBkaWN0PC9hPiBhcmUgcmVxdWlyZWQuICAgCiAgICAgIDwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0iQ2FsZW5kYXIiPjxhIG5hbWU9ImNhbGVuZGFyIj48L2E+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+TmFtZTwvaDI+PHA+Q2FsZW5kYXIgJiM4MjEyOyBVdGlsaXR5IGNsYXNzIHRoZSBidWlsZHMgYW5kIHByaW50cyBhIGNhbGVuZGFyIHRhYmxlPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5DYWxlbmRhcjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmNhbGVuZGFyX25hbWU8L2NvZGU+PC9lbT48L3NwYW4+IDwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiB0aXRsZT0iQ2FsZW5kYXIgb2JqZWN0IHN1YmNvbW1hbmRzIj48YSBuYW1lPSJpZDM4NzkwNCI+PC9hPjxoMj5DYWxlbmRhciBvYmplY3Qgc3ViY29tbWFuZHM8L2gyPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJCQkJVGhlIG1haW4gcHVibGljIGNvbW1hbmQgZm9yIGEgY2FsZW5kYXIgb2JqZWN0IGlzIAoJCQkJPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZW1pdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IHRoYXQgcmV0dXJucyBhIGNhbGVuZGFyIHRhYmxlCgkJCTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSI+PGEgbmFtZT0iaWQzODc5MjEiPjwvYT48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJICAgIAkJCVRoZSBtZXRob2QgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+ZW1pdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IHdoZW4gaW52b2tlZCB3aXRoIGEgc2luZ2xlIGFyZ3VtZW50CgkgICAgCQkJdGFrZXMgaXQgYXMgYW4geWVhciBudW1iZXIgYW5kIHByaW50cyB0aGUgd2hvbGUgY2FsZW5kYXIgb2YKCSAgICAJCQl0aGF0IHllYXIuIFdoZW4gaW52b2tlZCB3aXRoIDIgYXJndW1lbnRzIHRha2VzIHRoZSBmaXJzdCBhcyBhIG1vbnRoLCBlaXRoZXIKCSAgICAJCQlleHByZXNzZWQgaW4gaXRzIHNob3J0ZW5lZCBmb3JtICgnSmFuJywnRmViJywuLi4pIG9yIGFzIGEgbnVtYmVyIGluIHRoZSAKCSAgICAJCQlyYW5nZSAxLTEyLiBUaGUgc2Vjb25kIGFyZ3VtZW50IGlzIGEgeWVhciBudW1iZXIuCgkgICAgCQk8L3A+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+CgkJICAgICAgCQkJY2FsZW5kYXJfb2JqIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5lbWl0PC9zcGFuPiA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+CgkJICAgICAgCQkJY2FsZW5kYXJfb2JqIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5lbWl0PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+bW9udGg8L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij55ZWFyPC9zcGFuPj88L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+CgkJCQkJCQljYWxlbmRhcl9vYmogPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmVtaXQ8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5tb250aCB8IHllYXI8L2NvZGU+PC9lbT48L3NwYW4+PzwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJVGhlIG1ldGhvZCAnZW1pdCcgaWYgaW52b2tlZCB3aXRob3V0IGFyZ3VtZW50cyByZXR1cm5zIGFuIAoJCQkJCQkJQVNDSUkgZm9ybWF0dGVkIGNhbGVuZGFyIG9mIHRoZSBjdXJyZW50IG1vbnRoCgkJICAgICAgCQk8L2Rpdj48cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2M7IG1hcmdpbjogMmV4OyBtYXJnaW4tcmlnaHQ6IDEwJTsgICAgICAgcGFkZGluZzogMWV4OyBib3JkZXI6IGRhc2hlZCBibGFjayAxcHggOyB3aGl0ZS1zcGFjZTogcHJlOyAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOTAlOyIgY2xhc3M9InByb2dyYW1saXN0aW5nIj4Kc2V0IGNhbCBbQ2FsZW5kYXIgI2F1dG9dCnNldCBjdXJyZW50X21vbnRoIFskY2FsIGVtaXRdCnB1dHMgJGN1cnJlbnRfbW9udGgKICAgICAgSnVuIDIwMTAKICBTdSBNbyBUdSBXZSBUaCBGciBTYQogICAgICAgIDEgIDIgIDMgIDQgIDUKICA2ICA3ICA4ICA5IDEwIDExIDEyCiAxMyAxNCAxNSAxNiAxNyAxOCAxOQogMjAgMjEgMjIgMjMgMjQgMjUgMjYKIDI3IDI4IDI5IDMwPC9wcmU+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0iWG1sQ2FsZW5kYXIiPjxkaXYgY2xhc3M9InJlZmVudHJ5LnNlcGFyYXRvciI+PGhyPjwvZGl2PjxhIG5hbWU9InhtbF9jYWxlbmRhciI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVmbmFtZWRpdiI+PGgyPk5hbWU8L2gyPjxwPlhtbENhbGVuZGFyICYjODIxMjsgUHJpbnRzIFhNTCBmb3JtYXR0ZWQgY2FsZW5kYXIgdGFibGVzPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5YbWxDYWxlbmRhcjwvc3Bhbj4gICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPjxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPmNhbGVuZGFyX25hbWU8L2NvZGU+PC9lbT48L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tb3B0aW9uMSA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vcHRpb25fbGlzdDwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi1vcHRpb24yIDxlbSBjbGFzcz0icmVwbGFjZWFibGUiPjxjb2RlPm9wdGlvbl9saXN0PC9jb2RlPjwvZW0+PC9zcGFuPj8gPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Li4uPC9zcGFuPj88L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSI+PGEgbmFtZT0iaWQzODgwODgiPjwvYT48cCBzdHlsZT0id2lkdGg6OTAlIj4KCQkJCUFuIFhtbENhbGVuZGFyIG9iamVjdCBpcyBjcmVhdGVkIGFuZCByZXR1cm5lZC4gWG1sQ2FsZW5kYXIgb2JqZWN0cwoJCQkJcHJpbnQgWE1MIGZvcm1hdHRlZCBjYWxlbmRhciB0YWJsZXMuIFRoZSBtYXJrdXAgY2FuIGJlIGN1c3RvbWl6ZWQKCQkJCXVzaW5nIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMuIAoJCQk8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkJCQlDb25maWd1cmF0aW9uIG9wdGlvbnMgYWNjZXB0IG9kZC1sZW5ndGggbGlzdHMgYXMgdmFsdWVzLiBBbiBvcHRpb25fbGlzdCBoYXMgdGhlIGZvbGxvd2luZwoJCQkJc3RydWN0dXJlCgkJCTwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCQkJCTwvcD48cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2M7IG1hcmdpbjogMmV4OyBtYXJnaW4tcmlnaHQ6IDEwJTsgICAgICAgcGFkZGluZzogMWV4OyBib3JkZXI6IGRhc2hlZCBibGFjayAxcHggOyB3aGl0ZS1zcGFjZTogcHJlOyAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOTAlOyIgY2xhc3M9InByb2dyYW1saXN0aW5nIj50YWdfbmFtZSBhdHRyMTEgdmFsMSBhdHRyMiB2YWwyIC4uLjwvcHJlPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgkJCQoJCQk8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkJCQlUaGUgZmlyc3QgZWxlbWVudCBvZiBhbiBvcHRpb24gbGlzdCBpcyBhIHRhZyBuYW1lLCB0aGUgcmVtYWluaW5nIHRlcm1zIGFyZSB0aGVyZWZvcmUKCQkJCWFuIGV2ZW4tbGVuZ3RoIHN1Ymxpc3Qgd2hpY2ggaXMgaW50ZXJwcmV0ZWQgYXMgYSBzZXF1ZW5jZSBvZiBhdHRyaWJ1dGUtdmFsdWUgcGFpcnMgdGhhdAoJCQkJd2lsbCBpbiB0dXJuIGJlY29tZSBhdHRyaWJ1dGVzIG9mIHRoZSB0YWcuCgkJCTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgdGl0bGU9Ik1ldGhvZHMiPjxhIG5hbWU9ImlkMzg4MTE0Ij48L2E+PGgyPk1ldGhvZHM8L2gyPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+CgkJICAgICAgCQkJY2FsX29iaiA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+ZW1pdDwvc3Bhbj4gLW9wdDEgdmFsMSAtb3B0MiB2YWwyPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPgoJCSAgICAgIAkJCWNhbF9vYmogPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPmVtaXQ8L3NwYW4+ICA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5tb250aDwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPnllYXI8L3NwYW4+PyAtb3B0MSB2YWwxIC1vcHQyIHZhbDI8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+CgkJCQkJCQljYWxfb2JqIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5lbWl0PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+CgkJCQkJCQk8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5tb250aCB8IHllYXI8L2NvZGU+PC9lbT48L3NwYW4+PyAtb3B0MSB2YWwxIAoJCQkJCQkJLW9wdDIgdmFsMjwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJVGhlIG1ldGhvZCAnZW1pdCcgaWYgaW52b2tlZCB3aXRob3V0IGFyZ3VtZW50cyByZXR1cm5zIGFuIAoJCQkJCQkJWE1MIGNhbGVuZGFyIHRhYmxlIG9mIHRoZSBjdXJyZW50IG1vbnRoCgkJICAgICAgCQk8L2Rpdj48L2Rpdj48L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiPjxhIG5hbWU9ImlkMzg4MjA2Ij48L2E+PGRpdiBjbGFzcz0icmVmc2VjdDIiIHRpdGxlPSJPcHRpb25zIj48YSBuYW1lPSJpZDM4ODIwOCI+PC9hPjxoMz5PcHRpb25zPC9oMz48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj4tY29udGFpbmVyICAodGFnX25hbWUgCgkJCQkJCQkJYXR0cjExIHZhbDEgYXR0cjIgdmFsMiAuLi4pPC9zcGFuPiA8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlBc3NpZ25zIGFuIG9wdGlvbnMgbGlzdCB0byB0aGUgWE1MIGVsZW1lbnQgdGhhdCAKCQkJCQkJCQl3aWxsIGhvbGQgdGhlIHdob2xlIHRhYmxlLiAgIAoJCQkJCQkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJVGhlIGRlZmF1bHQgdGFnIGZvciB0aGUgY29udGFpbmVyIGlzICdjYWxlbmRhcicsIHdpdGggbm8gYXR0cmlidXRlcy4KCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+LWhlYWRlciAgKHRhZ19uYW1lIGF0dHIxMSB2YWwxIAoJCQkJCQkJCWF0dHIyIHZhbDIgLi4uKTwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJQXNzaWducyB0YWcgbmFtZSBhbmQgYXR0cmlidXRlcyB0byB0aGUgWE1MIGhlYWRlciBlbGVtZW50IChkZWZhdWx0OiBjYWxoZWFkZXIpIAkJCQkJCQoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj4tYm9keSAgKHRhZ19uYW1lIGF0dHIxMSB2YWwxIAoJCQkJCQkJCWF0dHIyIHZhbDIgLi4uKTwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJQXNzaWducyB0YWcgbmFtZSBhbmQgYXR0cmlidXRlcyB0byB0aGUgWE1MIGJvZHkgZWxlbWVudCBvZiB0aGUgdGFibGUgKGRlZmF1bHQ6IGNhbGJvZHkpIAkJCQkJCQoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj4tYmFubmVyICAodGFnX25hbWUgYXR0cjExIHZhbDEgCgkJCQkJCQkJYXR0cjIgdmFsMiAuLi4pPC9zcGFuPiA8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlBc3NpZ25zIHRhZyBuYW1lIGFuZCBhdHRyaWJ1dGVzIHRvIHRoZSBYTUwgYmFubmVyIGVsZW1lbnQgb2YgdGhlIHRhYmxlIChkZWZhdWx0OiBtb250aHllYXIpIAkJCQkJCQoJCQkJCQkJPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJVGhlIGhlYWRlciBvZiBhIGNhbGVuZGFyIHRhYmxlIGlzIG1hZGUgb2YgYSBiYW5uZXIsIHNob3dpbmcgdGhlIE1vbnRoIGFuZCBZZWFyIG51bWJlciwgYW5kCgkJCQkJCQkJb2YgYSB3ZWVrZGF5cyBiYXIuIAkJCQkJCQkKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+LWZvb3QgICh0YWdfbmFtZSBhdHRyMTEgdmFsMSAKCQkJCQkJCQlhdHRyMiB2YWwyIC4uLik8L3NwYW4+IDwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCUFzc2lnbnMgdGFnIG5hbWUgYW5kIGF0dHJpYnV0ZXMgdG8gdGhlIFhNTCBmb290IGVsZW1lbnQgCgkJCQkJCQkJb2YgdGhlIHRhYmxlIChkZWZhdWx0OiBjYWxmb290KS4gCQkJCQkJCgkJCQkJCQk8L2Rpdj48ZGl2IGNsYXNzPSJub3RlIiB0aXRsZT0iTm90ZSIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgbWFyZ2luLXJpZ2h0OiAwLjVpbjsiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9Ik5vdGUiPjx0cj48dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IltOb3RlXSIgc3JjPSJpbWFnZXMvbm90ZS5wbmciPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij5Ob3RlPC90aD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KCQkJCQkJCQlUaGlzIG9wdGlvbiB3YXMgYWRkZWQgZm9yIGNvbXBsZXRlbmVzcywgYnV0IGl0J3Mgbm90IGltcGxlbWVudGVkIHlldAkJCQkJCQkKCQkJCQkJCTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+LWJhbm5lcl9tb250aCAgKHRhZ19uYW1lIGF0dHIxMSB2YWwxIAoJCQkJCQkJCWF0dHIyIHZhbDIgLi4uKTwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJVGFnIG5hbWUgYW5kIGF0dHJpYnV0ZXMgZm9yIHRoZSBYTUwgZWxlbWVudCBob2xkaW5nIHRoZSAKCQkJCQkJCQltb250aCBuYW1lIChkZWZhdWx0Om1vbnRoKQkJCQkJCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPi1iYW5uZXJfeWVhciAgKHRhZ19uYW1lIGF0dHIxMSB2YWwxIAoJCQkJCQkJCWF0dHIyIHZhbDIgLi4uKTwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJVGFnIG5hbWUgYW5kIGF0dHJpYnV0ZXMgZm9yIHRoZSBYTUwgZWxlbWVudCBob2xkaW5nIHRoZSAKCQkJCQkJCQltb250aCBuYW1lIChkZWZhdWx0OiB5ZWFyKQkJCQkJCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPi13ZWVrZGF5cyAgKHRhZ19uYW1lIGF0dHIxMSB2YWwxIAoJCQkJCQkJCWF0dHIyIHZhbDIgLi4uKTwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJVGFnIG5hbWUgYW5kIGF0dHJpYnV0ZXMgZm9yIHRoZSBYTUwgZWxlbWVudCBob2xkaW5nIHRoZSAKCQkJCQkJCQl3ZWVrZGF5IGhlYWRlciAoZGVmYXVsdDogd2Vla2RheXMpCQkJCQkKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+LXdlZWtkYXlzX2NlbGwgICh0YWdfbmFtZSBhdHRyMTEgdmFsMSAKCQkJCQkJCQlhdHRyMiB2YWwyIC4uLik8L3NwYW4+IDwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJCQkJCQkJCVRhZyBuYW1lIGFuZCBhdHRyaWJ1dGVzIGZvciB0aGUgWE1MIGVsZW1lbnQgaG9sZGluZyB0aGUgCgkJCQkJCQkJZWFjaCBzaW5nbGUgd2Vla2RheSAoZGVmYXVsdDogd2tkYXlzKQkJCQkJCgkJCQkJCQk8L2Rpdj48L2Rpdj48L2RkPjxkdD48L2R0PjxkZD48ZGl2IHN0eWxlPSJwYWRkaW5nOjQgOyBtYXJnaW4tdG9wOjMgOyAgbWFyZ2luLWJvdHRvbTozIDsgd2lkdGg6NzUlIj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyIgc3R5bGU9IndpZHRoOjgwJSI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojY2NjY2ZmIDsgbWFyZ2luOjFleCA7IHBhZGRpbmc6LjRleDsgcGFkZGluZy1sZWZ0OiAwLjhleDsgICB3b3JkLXNwYWNpbmc6MWV4ICI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQgOyBmb250LWZhbWlseTptb25vc3BhY2UiPi1kYXlzX3JvdyAgKHRhZ19uYW1lIGF0dHIxMSB2YWwxIAoJCQkJCQkJCWF0dHIyIHZhbDIgLi4uKTwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJVGFnIG5hbWUgYW5kIGF0dHJpYnV0ZXMgZm9yIHRoZSBYTUwgZWxlbWVudCBob2xkaW5nIHRoZSAKCQkJCQkJCQllYWNoIHJvdyBvZiB0aGUgY2FsZW5kYXIgdGFibGUgKGRlZmF1bHQ6IHdlZWspCQkJCQkKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+LWRheXNfY2VsbCAgKHRhZ19uYW1lIGF0dHIxMSB2YWwxIAoJCQkJCQkJCWF0dHIyIHZhbDIgLi4uKTwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJVGFnIG5hbWUgYW5kIGF0dHJpYnV0ZXMgZm9yIHRoZSBYTUwgZWxlbWVudCByZXByZXNlbnRpbmcKCQkJCQkJCQlhIGNlbGwgaW4gdGhlIGNhbGVuZGFyIHRhYmxlIChkZWZhdWx0OiBkYXkpCQkJCQkKCQkJCQkJCTwvZGl2PjwvZGl2PjwvZGQ+PGR0PjwvZHQ+PGRkPjxkaXYgc3R5bGU9InBhZGRpbmc6NCA7IG1hcmdpbi10b3A6MyA7ICBtYXJnaW4tYm90dG9tOjMgOyB3aWR0aDo3NSUiPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIiBzdHlsZT0id2lkdGg6ODAlIj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2NjZmYgOyBtYXJnaW46MWV4IDsgcGFkZGluZzouNGV4OyBwYWRkaW5nLWxlZnQ6IDAuOGV4OyAgIHdvcmQtc3BhY2luZzoxZXggIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCA7IGZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+LWNlbGxfZnVuY3Rpb24gcHJvYzwvc3Bhbj4gPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxLjVleCA7IHBhZGRpbmcgLjVleCI+CgkJCQkJCQkJSWYgc2V0IHRoaXMgb3B0aW9uIGlzIHRoZSBuYW1lIG9mIGEgcHJvY2VkdXJlIHRoYXQgZ2V0cwoJCQkJCQkJCWNhbGxlZCBmb3IgZXZlcnkgZGF5IG9mIHRoZSBtb250aC4gVGhlIHByb2NlZHVyZSBtdXN0CgkJCQkJCQkJYWNjZXB0IDQgYXJndW1lbnQgcmVwcmVzZW50aW5nIGRheSwgbW9udGgsIHllYXIgYW5kIHdlZWtkYXkKCQkJCQkJCQlhbmQgbXVzdCByZXR1cm4gYW4gb2RkLWxlbmd0aCBsaXN0IGludGVycHJldGVkIGluIHRoZSBzYW1lCgkJCQkJCQkJd2F5IGFzIG9wdGlvbnMgbGlzdHMuIAoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj4tY3VycmVudF9kYXkgZGF5PC9zcGFuPiA8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlUaGlzIG9wdGlvbiB3b3JrcyBhcyBhIHNpbXBsZSBtZXRob2QgZm9yIHBvaW50aW5nIG91dAoJCQkJCQkJCWEgc3BlY2lmaWMgZGF5IG9mIHRoZSBtb250aC4gSWYgc2V0IHdpdGggYSBkYXkgbnVtYmVyCgkJCQkJCQkJdGhhdCBkYXkgd2lsbCBnZXQgdGhlIGNsYXNzIGF0dHJpYnV0ZSBhdXRvbWF0aWNhbGx5CgkJCQkJCQkJc2V0IGFzICJjdXJyZW50IgoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48ZHQ+PC9kdD48ZGQ+PGRpdiBzdHlsZT0icGFkZGluZzo0IDsgbWFyZ2luLXRvcDozIDsgIG1hcmdpbi1ib3R0b206MyA7IHdpZHRoOjc1JSI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj4tY3VycmVudF93ZWVrZGF5IDAtNiB8IHRvZGF5PC9zcGFuPiA8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCQkJCQkJCQlUaGlzIG9wdGlvbiB3b3JrcyBhcyBhIHNpbXBsZSBtZXRob2QgZm9yIHBvaW50aW5nIG91dAoJCQkJCQkJCWEgc3BlY2lmaWMgd2Vla2RheSBvZiB0aGUgbW9udGguIElmIHNldCB3aXRoIGEgd2Vla2RheSAKCQkJCQkJCQlpbmRleCAoMDogU3VuZGF5LCA2OiBTYXR1cmRheSkgdGhlIGNvcnJlc3BvbmRpbmcgY2VsbCBpbgoJCQkJCQkJCXRoZSB3ZWVrZGF5cyBoZWFkZXIgd2lsbCBnZXQgdGhlIGNsYXNzIGF0dHJpYnV0ZSBhdXRvbWF0aWNhbGx5CgkJCQkJCQkJc2V0IGFzICJjdXJyZW50X3drZGF5IgoJCQkJCQkJPC9kaXY+PC9kaXY+PC9kZD48L2RsPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZmVudHJ5IiB0aXRsZT0iSHRtbENhbGVuZGFyIj48ZGl2IGNsYXNzPSJyZWZlbnRyeS5zZXBhcmF0b3IiPjxocj48L2Rpdj48YSBuYW1lPSJodG1sX2NhbGVuZGFyIj48L2E+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+TmFtZTwvaDI+PHA+SHRtbENhbGVuZGFyICYjODIxMjsgQ29uY3JldGUgY2xhc3MgZGVyaXZlZCBmcm9tIFhtbENhbGVuZGFyPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2IiB0aXRsZT0iU3lub3BzaXMiPjxoMj5TeW5vcHNpczwvaDI+PGRpdiBjbGFzcz0iY21kc3lub3BzaXMiIHN0eWxlPSJ3aWR0aDo4MCUiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2NjY2NmZiA7IG1hcmdpbjoxZXggOyBwYWRkaW5nOi40ZXg7IHBhZGRpbmctbGVmdDogMC44ZXg7ICAgd29yZC1zcGFjaW5nOjFleCAiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIDsgZm9udC1mYW1pbHk6bW9ub3NwYWNlIj5IdG1sQ2FsZW5kYXI8L3NwYW4+ICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5jYWxlbmRhcl9uYW1lPC9jb2RlPjwvZW0+PC9zcGFuPiAgPzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyI+LW9wdGlvbjEgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+b3B0aW9uX2xpc3Q8L2NvZGU+PC9lbT48L3NwYW4+PyA/PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4tb3B0aW9uMiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT5vcHRpb25fbGlzdDwvY29kZT48L2VtPjwvc3Bhbj4/ID88c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXdlaWdodDogYm9sZDsiPi4uLjwvc3Bhbj4/PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiPjxhIG5hbWU9ImlkMzg4NzI3Ij48L2E+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkJCQlDb25jcmV0ZSBYbWxDYWxlbmRhciBjbGFzcyBmb3IgcHJpbnRpbmcgaHRtbCBjYWxlbmRhciB0YWJsZXMuIFRoZSBtYXJrdXAgb2YgdGhlIGNsYXNzCgkJCQlpcyB4aHRtbCBjb21wbGlhbnQgYW5kIHByaW50cyBhIGNvZGUgZnJhZ21lbnQgZm9yIGluY2x1c2lvbiBpbiBhIHdlYnBhZ2UuCgkJCQlUaGUgZm9sbG93aW5nIGlzIHRoZSBjbGFzcyBkZWZpbml0aW9uLgoJCQk8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Cjo6aXRjbDo6Y2xhc3MgSHRtbENhbGVuZGFyIHsKICAgIGluaGVyaXQgWG1sQ2FsZW5kYXIKICAgIAogICAgY29uc3RydWN0b3Ige2FyZ3N9IHtYbWxDYWxlbmRhcjo6Y29uc3RydWN0b3IgJGFyZ3N9IHsKICAgICR0aGlzIGNvbmZpZ3VyZSAtY29udGFpbmVyICAgIHRhYmxlIFwKICAgICAgICAgICAgICAgICAgICAtaGVhZGVyICAgICAgIHRoZWFkIFwKICAgICAgICAgICAgICAgICAgICAtYm9keSAgICAgICAgIHRib2R5IFwKICAgICAgICAgICAgICAgICAgICAtYmFubmVyICAgICAgIHRyICAgIFwKICAgICAgICAgICAgICAgICAgICAtYmFubmVyX21vbnRoIHt0aCBjb2xzcGFuIDMgc3R5bGUgInRleHQtYWxpZ246IHJpZ2h0OyJ9IFwKICAgICAgICAgICAgICAgICAgICAtYmFubmVyX3llYXIgIHt0aCBjb2xzcGFuIDQgc3R5bGUgInRleHQtYWxpZ246IGxlZnQ7In0gIFwKICAgICAgICAgICAgICAgICAgICAtd2Vla2RheXMgICAgIHRyICAgIFwKICAgICAgICAgICAgICAgICAgICAtd2Vla2RheV9jZWxsIHRoICAgIFwKICAgICAgICAgICAgICAgICAgICAtZGF5c19yb3cgICAgIHRyICAgIFwKICAgICAgICAgICAgICAgICAgICAtZGF5c19jZWxsICAgIHRkIAogICAgfQp9PC9wcmU+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiPjxhIG5hbWU9ImlkMzg4NzQ2Ij48L2E+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkJCQlBIHNhbXBsZSBvdXRwdXQgZnJvbSBIdG1sQ2FsZW5kYXIgKHdpdGggc29tZSBzdHlsaW5nKQkJCQoJCQk8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CgkJCQk8L3A+PGRpdj48aW1nIHNyYz0iY2FsZW5kYXIucG5nIj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4JCQkKCQkJPC9wPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJSZXNvdXJjZXMgLSBIb3cgdG8gR2V0IEhlbHAiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2Pjxocj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImhlbHAiPjwvYT5SZXNvdXJjZXMgLSBIb3cgdG8gR2V0IEhlbHA8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJNYWlsaW5nIExpc3RzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpZDM4OTUwMSI+PC9hPk1haWxpbmcgTGlzdHM8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJVGhlIFJpdmV0IG1haWxpbmcgbGlzdCBpcyB0aGUgZmlyc3QgcGxhY2UgeW91IHNob3VsZCB0dXJuIGZvcgoJaGVscC4gSWYgeW91IGhhdmVuJ3QgZm91bmQgdGhlIHNvbHV0aW9uIHRvIHlvdXIgcHJvYmxlbSBpbiB0aGUgZG9jdW1lbnRhdGlvbiAgCglvciB5b3UgaGF2ZSBhIHF1ZXN0aW9uLCBpZGVhLCBvciBjb21tZW50IGFib3V0IHRoZSBSaXZldCBjb2RlIGl0c2VsZiBzZW5kIGVtYWlsIHRvCgk8Y29kZSBjbGFzcz0iZW1haWwiPiZsdDs8YSBjbGFzcz0iZW1haWwiIGhyZWY9Im1haWx0bzpyaXZldC1kZXZAdGNsLmFwYWNoZS5vcmciPnJpdmV0LWRldkB0Y2wuYXBhY2hlLm9yZzwvYT4mZ3Q7PC9jb2RlPi4gVG8gc3Vic2NyaWJlIHRvIHRoZSBsaXN0LCBwb3N0IGVtYWlsIHRvCgk8Y29kZSBjbGFzcz0iZW1haWwiPiZsdDs8YSBjbGFzcz0iZW1haWwiIGhyZWY9Im1haWx0bzpyaXZldC1kZXYtc3Vic2NyaWJlQHRjbC5hcGFjaGUub3JnIj5yaXZldC1kZXYtc3Vic2NyaWJlQHRjbC5hcGFjaGUub3JnPC9hPiZndDs8L2NvZGU+LgogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglUaGUgbWFpbGluZyBsaXN0IGFyY2hpdmVzIGFyZSBhdmFpbGFibGUgYXQgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vbWFpbC1hcmNoaXZlcy5hcGFjaGUub3JnL21vZF9tYm94L3RjbC1yaXZldC1kZXYvIiB0YXJnZXQ9Il90b3AiPmh0dHA6Ly9tYWlsLWFyY2hpdmVzLmFwYWNoZS5vcmcvbW9kX21ib3gvdGNsLXJpdmV0LWRldi88L2E+CiAgICAgIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iTmV3c2dyb3VwIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpZDM4OTUyOCI+PC9hPk5ld3Nncm91cDwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglUaGUgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJuZXdzOmNvbXAubGFuZy50Y2wiIHRhcmdldD0iX3RvcCI+bmV3czpjb21wLmxhbmcudGNsPC9hPiBuZXdzZ3JvdXAgaXMgYSBnb29kCglwbGFjZSB0byBhc2sgYWJvdXQgVGNsIHF1ZXN0aW9ucyBpbiBnZW5lcmFsLiAgUml2ZXQgZGV2ZWxvcGVycwoJYWxzbyBmb2xsb3cgdGhlIG5ld3Nncm91cCwgYnV0IGl0J3MgYmVzdCB0byBhc2sgUml2ZXQtc3BlY2lmaWMKCXF1ZXN0aW9ucyBvbiB0aGUgUml2ZXQgbGlzdC4KICAgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJXZWIgU2l0ZXMiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9IndlYnNpdGVzIj48L2E+V2ViIFNpdGVzPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCVRoZXJlIGFyZSBzZXZlcmFsIHdlYiBzaXRlcyB0aGF0IGNvdmVyIEFwYWNoZSBhbmQgVGNsCglleHRlbnNpdmVseS4KICAgICAgPC9wPjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJICAgIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3RjbC5hcGFjaGUub3JnIiB0YXJnZXQ9Il90b3AiPmh0dHA6Ly90Y2wuYXBhY2hlLm9yZzwvYT4gaXMgdGhlIGhvbWUgZm9yIHRoZQoJICAgIEFwYWNoZSBUY2wgcHJvamVjdC4gIEdvIHRoZXJlIGZvciB0aGUgbGF0ZXN0IHZlcnNpb25zIG9mCgkgICAgb3VyIHNvZnR3YXJlIChpZiB5b3UgYXJlbid0IHJlYWRpbmcgdGhlc2UgcGFnZXMgb2ZmIG9mIHRoZQoJICAgIHNpdGUhKS4KCSAgPC9kaXY+PC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCSAgICA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvIiB0YXJnZXQ9Il90b3AiPmh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvPC9hPiBpcyB0aGUgZmlyc3QKCSAgICBwbGFjZSB0byBnbyBmb3IgcXVlc3Rpb25zIGFib3V0IHRoZSBBcGFjaGUgd2ViIHNlcnZlci4KCSAgPC9kaXY+PC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEuNWV4IDsgcGFkZGluZyAuNWV4Ij4KCSAgICA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cudGNsLnRrIiB0YXJnZXQ9Il90b3AiPmh0dHA6Ly93d3cudGNsLnRrPC9hPiBpcyB0aGUgY2Fub25pY2FsIHNpdGUKCSAgICBmb3IgVGNsIGluZm9ybWF0aW9uLgoJICA8L2Rpdj48L2xpPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MS41ZXggOyBwYWRkaW5nIC41ZXgiPgoJICAgIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3dpa2kudGNsLnRrIiB0YXJnZXQ9Il90b3AiPmh0dHA6Ly93aWtpLnRjbC50azwvYT4gaXMgdGhlIFRjbCdlcnMgV2lraSwgYQoJICAgIGZyZWUtZm9ybSBwbGFjZSB0byBzZWFyY2ggZm9yIGFuc3dlcnMgYW5kIGFzayBmb3IgaGVscC4KCSAgPC9kaXY+PC9saT48L3VsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJCdWcgVHJhY2tpbmcgU3lzdGVtIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpZDM4OTkwMSI+PC9hPkJ1ZyBUcmFja2luZyBTeXN0ZW08L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJQXBhY2hlIFJpdmV0IHVzZXMgdGhlIEFwYWNoZSBCdWcgVHJhY2tpbmcgc3lzdGVtIGF0IDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL2lzc3Vlcy5hcGFjaGUub3JnL2J1Z3ppbGxhLyIgdGFyZ2V0PSJfdG9wIj5odHRwOi8vaXNzdWVzLmFwYWNoZS5vcmcvYnVnemlsbGEvPC9hPi4gIEhlcmUsCgl5b3UgY2FuIHJlcG9ydCBwcm9ibGVtcywgb3IgY2hlY2sgYW5kIHNlZSBpZiBleGlzdGluZyBpc3N1ZXMKCWFyZSBhbHJlYWR5IGtub3duIGFuZCBiZWluZyBkZWFsdCB3aXRoLgogICAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiIgdGl0bGU9IklSQyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWQzODk5MTciPjwvYT5JUkM8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgogICAgICAgIE9jY2FzaW9uYWxseSwgc29tZW9uZSBmcm9tIHRoZSBSaXZldCB0ZWFtIGlzIG9uIElSQyBhdAogICAgICAgIGlyYy5mcmVlbm9kZS5uZXQsIGNoYW5uZWwgI3RjbC4KICAgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJFZGl0aW5nIFJpdmV0IFRlbXBsYXRlIEZpbGVzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpZDM4OTkyOCI+PC9hPkVkaXRpbmcgUml2ZXQgVGVtcGxhdGUgRmlsZXM8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJUml2ZXQgbWFrZXMgYXZhaWxhYmxlIGNvZGUgZm9yIHR3byBwb3B1bGFyIGVkaXRvcnMsCgk8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPmVtYWNzPC9zcGFuPiBhbmQKCTxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+dmltPC9zcGFuPiB0byBmYWNpbGl0YXRlIHRoZSBlZGl0aW5nIG9mCglSaXZldCB0ZW1wbGF0ZSBmaWxlcy4gIFRoZSBrZXkgY29uY2VwdCBpcyB0aGF0IHRoZSBlZGl0b3IgaXMKCWF3YXJlIG9mIHRoZSAmbHQ7PyBhbmQgPyZndDsgdGFncyBhbmQgc3dpdGNoZXMgYmFjayBhbmQgZm9ydGgKCWJldHdlZW4gVGNsIGFuZCBIVE1MIG1vZGVzIGFzIHRoZSBjdXJzb3IgbW92ZXMuICBUaGVzZSBmaWxlcywKCTxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+dHdvLW1vZGUtbW9kZS5lbDwvY29kZT4gYW5kCgk8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPnJ2dC52aW08L2NvZGU+IGFyZSBhdmFpbGFibGUgaW4gdGhlCgk8Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmNvbnRyaWIvPC9jb2RlPiBkaXJlY3RvcnkuCiAgICAgIDwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iUml2ZXQgSW50ZXJuYWxzIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aHI+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJpbnRlcm5hbHMiPjwvYT5SaXZldCBJbnRlcm5hbHM8L2gyPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgogICAgICBUaGlzIHNlY3Rpb24gZWFzaWx5IGZhbGxzIG91dCBvZiBkYXRlLCBhcyBuZXcgY29kZSBpcyBhZGRlZCwgb2xkCiAgICAgIGNvZGUgaXMgcmVtb3ZlZCwgYW5kIGNoYW5nZXMgYXJlIG1hZGUuICBUaGUgYmVzdCBwbGFjZSB0byBsb29rCiAgICAgIGlzIHRoZSBzb3VyY2UgY29kZSBpdHNlbGYuICBJZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gdGhlIGNoYW5nZXMKICAgICAgdGhlbXNlbHZlcywgdGhlIFN1YnZlcnNpb24gcmV2aXNpb24gY29udHJvbCBzeXN0ZW0KICAgICAgKDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPnN2bjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+KSBjYW4gcHJvdmlkZSB5b3Ugd2l0aCBpbmZvcm1hdGlvbiBhYm91dAogICAgICB3aGF0IGhhcyBiZWVuIGhhcHBlbmluZyB3aXRoIHRoZSBjb2RlLgogICAgPC9wPjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJJbml0aWFsaXphdGlvbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWQzODk3MzUiPjwvYT5Jbml0aWFsaXphdGlvbjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglXaGVuIEFwYWNoZSBpcyBzdGFydGVkLCAob3Igd2hlbiBjaGlsZCBBcGFjaGUgcHJvY2Vzc2VzIGFyZQoJc3RhcnRlZCBpZiBhIHRocmVhZGVkIFRjbCBpcyB1c2VkKSwKCTxjb2RlIGNsYXNzPSJmdW5jdGlvbiI+Uml2ZXRfSW5pdFRjbFN0dWZmPC9jb2RlPiBpcyBjYWxsZWQsIHdoaWNoCgljcmVhdGVzIGEgbmV3IGludGVycHJldGVyLCBvciBvbmUgaW50ZXJwcmV0ZXIgcGVyIHZpcnR1YWwKCWhvc3QsIGRlcGVuZGluZyBvbiB0aGUgY29uZmlndXJhdGlvbi4gSXQgYWxzbyBpbml0aWFsaXplcwoJdmFyaW91cyB0aGluZ3MsIGxpa2UgdGhlIDxzcGFuIGNsYXNzPSJzdHJ1Y3RuYW1lIj5SaXZldENoYW48L3NwYW4+CgljaGFubmVsIHN5c3RlbSwgY3JlYXRlcyB0aGUgUml2ZXQtc3BlY2lmaWMgVGNsIGNvbW1hbmRzLCBhbmQKCWV4ZWN1dGVzIFJpdmV0J3MgPGNvZGUgY2xhc3M9ImZpbGVuYW1lIj5pbml0LnRjbDwvY29kZT4uICBUaGUgY2FjaGluZwoJc3lzdGVtIGlzIGFsc28gc2V0IHVwLCBhbmQgaWYgdGhlcmUgaXMgYQoJPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+R2xvYmFsSW5pdFNjcmlwdDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+LCBpdCBpcyBydW4uCiAgICAgIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iUml2ZXRDaGFuIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpZDM4OTY4NiI+PC9hPlJpdmV0Q2hhbjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglUaGUgPHNwYW4gY2xhc3M9InN0cnVjdG5hbWUiPlJpdmV0Q2hhbjwvc3Bhbj4gc3lzdGVtIHdhcyBjcmVhdGVkIGluCglvcmRlciB0byBoYXZlIGFuIGFjdHVhbCBUY2wgY2hhbm5lbCB0aGF0IHdlIGNvdWxkIHJlZGlyZWN0CglzdGFuZGFyZCBvdXRwdXQgdG8uICBUaGlzIGxldHMgdXMgdXNlLCBmb3IgaW5zdGFuY2UsIHRoZQoJcmVndWxhciA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5wdXRzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZCBpbiAucnZ0IHBhZ2VzLiAgSXQKCXdvcmtzIGJ5IGNyZWF0aW5nIGEgY2hhbm5lbCB0aGF0IGJ1ZmZlcnMgb3V0cHV0LCBhbmQsIGF0CglwcmVkZXRlcm1pbmVkIHRpbWVzLCBwYXNzZXMgaXQgb24gdG8gQXBhY2hlJ3MgSU8gc3lzdGVtLgoJVGNsJ3MgcmVndWxhciBzdGFuZGFyZCBvdXRwdXQgaXMgcmVwbGFjZWQgd2l0aCBhbiBpbnN0YW5jZSBvZgoJdGhpcyBjaGFubmVsIHR5cGUsIHNvIHRoYXQsIGJ5IGRlZmF1bHQsIG91dHB1dCB3aWxsIGdvIHRvIHRoZQoJd2ViIHBhZ2UuCiAgICAgIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iVGhlIGdsb2JhbCBDb21tYW5kIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpZDM5MDI1NSI+PC9hPlRoZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5nbG9iYWw8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiBDb21tYW5kPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj48cCBzdHlsZT0id2lkdGg6OTAlIj4KCVJpdmV0IGFpbXMgdG8gcnVuIHN0YW5kYXJkIFRjbCBjb2RlIHdpdGggYXMgZmV3IHN1cnByaXNlcyBhcwoJcG9zc2libGUuICBBdCB0aW1lcyB0aGlzIGludm9sdmVzIHNvbWUgY29tcHJvbWlzZXMgLSBpbiB0aGlzCgljYXNlIHJlZ2FyZGluZyB0aGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Z2xvYmFsPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZC4gIFRoZQoJcHJvYmxlbSBpcyB0aGF0IHRoZSBjb21tYW5kIHdpbGwgY3JlYXRlIHRydWx5IGdsb2JhbAoJdmFyaWFibGVzLiAgSWYgdGhlIHVzZXIgaXMganVzdCBjdXQnbidwYXN0aW5nIHNvbWUgVGNsIGNvZGUKCWludG8gUml2ZXQsIHRoZXkgbW9zdCBsaWtlbHkganVzdCB3YW50IHRvIGJlIGFibGUgdG8gc2hhcmUgdGhlCgl2YXJpYWJsZSBpbiBxdWVzdGlvbiB3aXRoIG90aGVyIHByb2NzLCBhbmQgZG9uJ3QgcmVhbGx5IGNhcmUKCWlmIHRoZSB2YXJpYWJsZSBpcyBhY3R1YWxseSBwZXJzaXN0YW50IGJldHdlZW4gcGFnZXMuICBUaGUKCXNvbHV0aW9uIHdlIGhhdmUgY3JlYXRlZCBpcyB0byBjcmVhdGUgYSBwcm9jCgk8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz46OnJlcXVlc3Q6Omdsb2JhbDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IHRoYXQgdGFrZXMgdGhlIHBsYWNlIG9mCgl0aGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+Z2xvYmFsPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gY29tbWFuZCBpbiBSaXZldCB0ZW1wbGF0ZXMuICBJZgoJeW91IHJlYWxseSBuZWVkIGEgdHJ1ZSBnbG9iYWwgdmFyaWFibGUsIHVzZSBlaXRoZXIKCTxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPjo6Z2xvYmFsPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gb3IgYWRkIHRoZSA6OiBuYW1lc3BhY2UgcXVhbGlmaWVyCgl0byB2YXJpYWJsZXMgeW91IHdpc2ggdG8gbWFrZSBnbG9iYWwuCiAgICAgIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iUGFnZSBQYXJzaW5nLCBFeGVjdXRpb24gYW5kIENhY2hpbmciPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImlkMzkwMzAwIj48L2E+UGFnZSBQYXJzaW5nLCBFeGVjdXRpb24gYW5kIENhY2hpbmc8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJV2hlbiBhIFJpdmV0IHBhZ2UgaXMgcmVxdWVzdGVkLCBpdCBpcyB0cmFuc2Zvcm1lZCBpbnRvIGFuCglvcmRpbmFyeSBUY2wgc2NyaXB0IGJ5IHBhcnNpbmcgdGhlIGZpbGUgZm9yIHRoZSAmbHQ7PyA/Jmd0OwoJcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiB0YWdzLiAgRXZlcnl0aGluZyBvdXRzaWRlIHRoZXNlIHRhZ3MKCWJlY29tZXMgYSBsYXJnZSA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5wdXRzPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4gc3RhdGVtZW50LCBhbmQKCWV2ZXJ5dGhpbmcgaW5zaWRlIHRoZW0gcmVtYWlucyBUY2wgY29kZS4KICAgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJRWFjaCAucnZ0IGZpbGUgaXMgZXZhbHVhdGVkIGluIGl0cyBvd24KCTxjb2RlIGNsYXNzPSJjb25zdGFudCI+OjpyZXF1ZXN0PC9jb2RlPiBuYW1lc3BhY2UsIHNvIHRoYXQgaXQgaXMgbm90CgluZWNlc3NhcnkgdG8gY3JlYXRlIGFuZCB0ZWFyIGRvd24gaW50ZXJwcmV0ZXJzIGFmdGVyIGVhY2gKCXBhZ2UuICBCeSBydW5uaW5nIGluIGl0cyBvd24gbmFtZXNwYWNlLCB0aG91Z2gsIGVhY2ggcGFnZSB3aWxsCglub3QgcnVuIGFmb3VsIG9mIGxvY2FsIHZhcmlhYmxlcyBjcmVhdGVkIGJ5IG90aGVyIHNjcmlwdHMsCgliZWNhdXNlIHRoZXkgd2lsbCBiZSBkZWxldGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB0aGUgbmFtZXNwYWNlCglnb2VzIGF3YXkgYWZ0ZXIgQXBhY2hlIGZpbmlzaGVzIGhhbmRsaW5nIHRoZSByZXF1ZXN0LgogICAgICA8L3A+PGRpdiBjbGFzcz0ibm90ZSIgdGl0bGU9Ik5vdGUiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IG1hcmdpbi1yaWdodDogMC41aW47Ij48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJOb3RlIj48dHI+PHRkIHJvd3NwYW49IjIiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUiPjxpbWcgYWx0PSJbTm90ZV0iIHNyYz0iaW1hZ2VzL25vdGUucG5nIj48L3RkPjx0aCBhbGlnbj0ibGVmdCI+Tm90ZTwvdGg+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+CgkgICAgT25lIGN1cnJlbnQgcHJvYmxlbSB3aXRoIHRoaXMgc3lzdGVtIGlzIHRoYXQgd2hpbGUKCSAgICB2YXJpYWJsZXMgYXJlIGdhcmJhZ2UgY29sbGVjdGVkLCBmaWxlIGhhbmRsZXMgYXJlIG5vdCwgc28KCSAgICB0aGF0IGl0IGlzIHZlcnkgaW1wb3J0YW50IHRoYXQgUml2ZXQgc2NyaXB0IGF1dGhvcnMgbWFrZQoJICAgIHN1cmUgdG8gY2xvc2UgYWxsIHRoZSBmaWxlcyB0aGV5IG9wZW4uCiAgICAgIDwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglBZnRlciBhIHNjcmlwdCBoYXMgYmVlbiBsb2FkZWQgYW5kIHBhcnNlZCBpbnRvIGl0J3MgInB1cmUgVGNsIgoJZm9ybSwgaXQgaXMgYWxzbyBjYWNoZWQsIHNvIHRoYXQgaXQgbWF5IGJlIHVzZWQgaW4gdGhlIGZ1dHVyZQoJd2l0aG91dCBoYXZpbmcgdG8gcmVsb2FkIGl0IChhbmQgcmUtcGFyc2UgaXQpIGZyb20gdGhlIGRpc2suCglUaGUgbnVtYmVyIG9mIHNjcmlwdHMgc3RvcmVkIGluIG1lbW9yeSBpcyBjb25maWd1cmFibGUuICBUaGlzCglmZWF0dXJlIGNhbiBzaWduaWZpY2FudGx5IGltcHJvdmUgcGVyZm9ybWFuY2UuCiAgICAgIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iRGVidWdnaW5nIFJpdmV0IGFuZCBBcGFjaGUiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImlkMzkwMzQyIj48L2E+RGVidWdnaW5nIFJpdmV0IGFuZCBBcGFjaGU8L2gzPjwvZGl2PjwvZGl2PjwvZGl2PjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJSWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIGhhY2tpbmcgb24gUml2ZXQsIHlvdSdyZSB3ZWxjb21lIHRvCgljb250cmlidXRlISAgSW52YXJpYWJseSwgd2hlbiB3b3JraW5nIHdpdGggY29kZSwgdGhpbmdzIGdvCgl3cm9uZywgYW5kIGl0J3MgbmVjZXNzYXJ5IHRvIGRvIHNvbWUgZGVidWdnaW5nLiAgSW4gYSBzZXJ2ZXIKCWVudmlyb25tZW50IGxpa2UgQXBhY2hlLCBpdCBjYW4gYmUgYSBiaXQgbW9yZSBkaWZmaWN1bHQgdG8KCWZpbmQgdGhlIHJpZ2h0IHdheSB0byBkbyB0aGlzLiAgSGVyZSBhcmUgc29tZSB0ZWNobmlxdWVzIHRvCgl0cnkuCiAgICAgIDwvcD48cCBzdHlsZT0id2lkdGg6OTAlIj4KCVRoZSBmaXJzdCB0aGluZyB5b3Ugc2hvdWxkIGtub3cgaXMgdGhhdCBBcGFjaGUgY2FuIGJlIGxhdW5jaGVkCglhcyBhIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPnNpbmdsZSBwcm9jZXNzPC9lbT48L3NwYW4+IHdpdGggdGhlCgktWCBhcmd1bWVudDo8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aHR0cGQgLVg8L3ByZT4uCiAgICAgIDxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJT24gTGludXgsIG9uZSBvZiB0aGUgZmlyc3QgdGhpbmdzIHRvIHRyeSBpcyB0aGUgc3lzdGVtIGNhbGwKCXRyYWNlciwgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PHNwYW4gY2xhc3M9ImNvbW1hbmQiPjxzdHJvbmc+c3RyYWNlPC9zdHJvbmc+PC9zcGFuPjwvc3Bhbj4uICBZb3UgZG9uJ3QgZXZlbiBoYXZlIHRvCglyZWNvbXBpbGUgUml2ZXQgb3IgQXBhY2hlIGZvciB0aGlzIHRvIHdvcmsuCiAgICAgIDwvcD48cHJlIHN0eWxlPSJiYWNrZ3JvdW5kOiNjY2M7IG1hcmdpbjogMmV4OyBtYXJnaW4tcmlnaHQ6IDEwJTsgICAgICAgcGFkZGluZzogMWV4OyBib3JkZXI6IGRhc2hlZCBibGFjayAxcHggOyB3aGl0ZS1zcGFjZTogcHJlOyAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogOTAlOyIgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJhY2UgLW8gL3RtcC9vdXRwdXRmaWxlIC1TIDEwMDAgaHR0cGQgLVg8L3ByZT48cCBzdHlsZT0id2lkdGg6OTAlIj5UaGlzIGNvbW1hbmQgd2lsbCBydW4gaHR0cGQgaW4gdGhlIHN5c3RlbSBjYWxsIHRyYWNlciwKCXdoaWNoIGxlYXZlcyBpdHMgb3V0cHV0ICh0aGVyZSBpcyBwb3RlbnRpYWxseSBhIGxvdCBvZiBpdCkgaW4KCTxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+L3RtcC9vdXRwdXRmaWxlPC9jb2RlPi4gIFRoZSAtUwoJb3B0aW9uIHRlbGxzIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPjwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+c3RyYWNlIHRvIG9ubHkgcmVjb3JkIHRoZQoJZmlyc3QgMTAwMCBieXRlcyBvZiBhIHN5c2NhbGwuICBTb21lIGNhbGxzIHN1Y2ggYXMKCTxjb2RlIGNsYXNzPSJmdW5jdGlvbiI+d3JpdGU8L2NvZGU+IGNhbiBwb3RlbnRpYWxseSBiZSBtdWNoIGxvbmdlciB0aGFuCgl0aGlzLCBzbyB5b3UgbWF5IHdhbnQgdG8gaW5jcmVhc2UgdGhpcyBudW1iZXIuICBUaGUgcmVzdWx0cwoJYXJlIGEgbGlzdCBvZiBhbGwgdGhlIHN5c3RlbSBjYWxscyBtYWRlIGJ5IHRoZSBwcm9ncmFtLiAgWW91Cgl3YW50IHRvIGxvb2sgYXQgdGhlIGVuZCwgd2hlcmUgdGhlIGZhaWx1cmUgcHJlc3VtYWJseSBvY2N1cmVkLAoJdG8gc2VlIGlmIHlvdSBjYW4gZmluZCBhbnl0aGluZyB0aGF0IGxvb2tzIGxpa2UgYW4gZXJyb3IuICBJZgoJeW91J3JlIG5vdCBzdXJlIHdoYXQgdG8gbWFrZSBvZiB0aGUgcmVzdWx0cywgeW91IGNhbiBhbHdheXMKCWFzayBvbiB0aGUgUml2ZXQgZGV2ZWxvcG1lbnQgbWFpbGluZyBsaXN0LgogICAgICA8L3A+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglJZiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlIj48c3BhbiBjbGFzcz0iY29tbWFuZCI+PHN0cm9uZz5zdHJhY2U8L3N0cm9uZz48L3NwYW4+PC9zcGFuPiAob3IgaXRzIGVxdWl2YWxlbnQgb24geW91cgoJb3BlcmF0aW5nIHN5c3RlbSkgZG9lc24ndCBhbnN3ZXIgeW91ciBxdWVzdGlvbiwgaXQgbWF5IGJlIHRpbWUKCXRvIGRlYnVnIEFwYWNoZSBhbmQgUml2ZXQuICBUbyBkbyB0aGlzLCB5b3Ugd2lsbCBuZWVkIHRvIHJ1bgoJdGhlIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2UiPjxzcGFuIGNsYXNzPSJjb21tYW5kIj48c3Ryb25nPi4vY29uZmlndXJlLnRjbDwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+IHNjcmlwdCB3aXRoIHRoZQoJLWVuYWJsZS1zeW1ib2xzIG9wdGlvbiwgYW5kIHJlY29tcGlsZS4KICAgICAgPC9wPjxwIHN0eWxlPSJ3aWR0aDo5MCUiPgoJU2luY2UgaXQncyBlYXNpZXIgdG8gZGVidWcgYSBzaW5nbGUgcHJvY2Vzcywgd2UnbGwgc3RpbGwgcnVuCglBcGFjaGUgaW4gc2luZ2xlIHByb2Nlc3MgbW9kZSB3aXRoIC1YOgogICAgICA8L3A+PHByZSBzdHlsZT0iYmFja2dyb3VuZDojY2NjOyBtYXJnaW46IDJleDsgbWFyZ2luLXJpZ2h0OiAxMCU7ICAgICAgIHBhZGRpbmc6IDFleDsgYm9yZGVyOiBkYXNoZWQgYmxhY2sgMXB4IDsgd2hpdGUtc3BhY2U6IHByZTsgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CkBhc2hsYW5kIFt+XSAkIGdkYiAvdXNyL3NiaW4vYXBhY2hlLmRiZwpHTlUgZ2RiIDUuMy1kZWJpYW4KQ29weXJpZ2h0IDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkdEQiBpcyBmcmVlIHNvZnR3YXJlLCBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgYW5kIHlvdSBhcmUKd2VsY29tZSB0byBjaGFuZ2UgaXQgYW5kL29yIGRpc3RyaWJ1dGUgY29waWVzIG9mIGl0IHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy4KVHlwZSAic2hvdyBjb3B5aW5nIiB0byBzZWUgdGhlIGNvbmRpdGlvbnMuClRoZXJlIGlzIGFic29sdXRlbHkgbm8gd2FycmFudHkgZm9yIEdEQi4gIFR5cGUgInNob3cgd2FycmFudHkiIGZvciBkZXRhaWxzLgpUaGlzIEdEQiB3YXMgY29uZmlndXJlZCBhcyAicG93ZXJwYy1saW51eCIuLi4KKGdkYikgcnVuIC1YClN0YXJ0aW5nIHByb2dyYW06IC91c3Ivc2Jpbi9hcGFjaGUuZGJnIC1YCltOZXcgVGhyZWFkIDE2Mzg0IChMV1AgMTM1OTgpXQouCi4KLgogICAgICA8L3ByZT48cCBzdHlsZT0id2lkdGg6OTAlIj4KCVdoZW4geW91ciBhcGFjaGUgc2Vzc2lvbiBpcyB1cCBhbmQgcnVubmluZywgeW91IGNhbiByZXF1ZXN0IGEKCXdlYiBwYWdlIHdpdGggdGhlIGJyb3dzZXIsIGFuZCBzZWUgd2hlcmUgdGhpbmdzIGdvIHdyb25nIChpZgoJeW91IGFyZSBkZWFsaW5nIHdpdGggYSBjcmFzaCwgZm9yIGluc3RhbmNlKS4KICAgICAgPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJVcGdyYWRpbmcgZnJvbSBtb2RfZHRjbCBvciBOZW9XZWJTY3JpcHQiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2Pjxocj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9InVwZ3JhZGluZyI+PC9hPlVwZ3JhZGluZyBmcm9tIG1vZF9kdGNsIG9yIE5lb1dlYlNjcmlwdDwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CiAgICAgIFJpdmV0IGlzIGEgYnJlYWsgZnJvbSB0aGUgcGFzdCwgaW4gdGhhdCB3ZSwgdGhlIGF1dGhvcnMsIGhhdmUKICAgICAgYXR0ZW1wdGVkIHRvIHRha2Ugd2hhdCB3ZSBsaWtlIGJlc3QgYWJvdXQgb3VyIHBhc3QgZWZmb3J0cywgYW5kCiAgICAgIGxlYXZlIG91dCBvciBjaGFuZ2UgdGhpbmdzIHdlIG5vIGxvbmdlciBjYXJlIGZvci4gIEJhY2t3YXJkcwogICAgICBjb21wYXRpYmlsaXR5IHdhcyBub3QgYSBwcmltYXJ5IGdvYWwgd2hlbiBjcmVhdGluZyBSaXZldCwgYnV0IHdlCiAgICAgIGRvIHByb3ZpZGUgdGhpcyBpbmZvcm1hdGlvbiB3aGljaCBtYXkgYmUgb2YgdXNlIHRvIHRob3NlIHdpc2hpbmcKICAgICAgdG8gdXBncmFkZSBmcm9tIG1vZF9kdGNsIG9yIE5XUyBpbnN0YWxsYXRpb25zLgogICAgPC9wPjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJtb2RfZHRjbCI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWQzOTA0NzYiPjwvYT5tb2RfZHRjbDwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+CglSaXZldCB3YXMgb3JpZ2luYWxseSBiYXNlZCBvbiB0aGUgZHRjbCBjb2RlLCBidXQgaXQgaGFzCgljaGFuZ2VkIChpbXByb3ZlZCEpIHF1aXRlIGEgYml0LiAgVGhlIGNvbmNlcHRzIHJlbWFpbiB0aGUKCXNhbWUsIGJ1dCBtYW55IG9mIHRoZSBjb21tYW5kcyBoYXZlIGNoYW5nZWQuCiAgICAgIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iTmVvV2ViU2NyaXB0Ij48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJpZDM5MDQ4NyI+PC9hPk5lb1dlYlNjcmlwdDwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+PHAgc3R5bGU9IndpZHRoOjkwJSI+VE9ETzwvcD48L2Rpdj48L2Rpdj48L2Rpdj48L2JvZHk+PC9odG1sPgo=