PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPkRlZmluaXRpb25zPC90aXRsZT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9ib29zdGJvb2suY3NzIiB0eXBlPSJ0ZXh0L2NzcyI+CjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzUuMiI+CjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iLi4vaW5kZXguaHRtbCIgdGl0bGU9IkNoYXB0ZXKgMS6gQm9vc3QuTnVtZXJpY0NvbnZlcnNpb24iPgo8bGluayByZWw9InVwIiBocmVmPSIuLi9pbmRleC5odG1sIiB0aXRsZT0iQ2hhcHRlcqAxLqBCb29zdC5OdW1lcmljQ29udmVyc2lvbiI+CjxsaW5rIHJlbD0icHJldiIgaHJlZj0iLi4vaW5kZXguaHRtbCIgdGl0bGU9IkNoYXB0ZXKgMS6gQm9vc3QuTnVtZXJpY0NvbnZlcnNpb24iPgo8bGluayByZWw9Im5leHQiIGhyZWY9ImNvbnZlcnRlcl9fX2Z1bmN0aW9uX29iamVjdC5odG1sIiB0aXRsZT0iY29udmVydGVyJmx0OyZndDsgZnVuY3Rpb24gb2JqZWN0Ij4KPC9oZWFkPgo8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+Cjx0YWJsZSBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj4KPHRkIHZhbGlnbj0idG9wIj48aW1nIGFsdD0iQm9vc3QgQysrIExpYnJhcmllcyIgd2lkdGg9IjI3NyIgaGVpZ2h0PSI4NiIgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi9ib29zdC5wbmciPjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi8uLi8uLi8uLi8uLi8uLi9pbmRleC5odG1sIj5Ib21lPC9hPjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMuaHRtIj5MaWJyYXJpZXM8L2E+PC90ZD4KPHRkIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0dHA6Ly93d3cuYm9vc3Qub3JnL3VzZXJzL3Blb3BsZS5odG1sIj5QZW9wbGU8L2E+PC90ZD4KPHRkIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0dHA6Ly93d3cuYm9vc3Qub3JnL3VzZXJzL2ZhcS5odG1sIj5GQVE8L2E+PC90ZD4KPHRkIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uLy4uLy4uLy4uLy4uLy4uL21vcmUvaW5kZXguaHRtIj5Nb3JlPC9hPjwvdGQ+CjwvdHI+PC90YWJsZT4KPGhyPgo8ZGl2IGNsYXNzPSJzcGlyaXQtbmF2Ij4KPGEgYWNjZXNza2V5PSJwIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL3ByZXYucG5nIiBhbHQ9IlByZXYiPjwvYT48YSBhY2Nlc3NrZXk9InUiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvdXAucG5nIiBhbHQ9IlVwIj48L2E+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL2hvbWUucG5nIiBhbHQ9IkhvbWUiPjwvYT48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImNvbnZlcnRlcl9fX2Z1bmN0aW9uX29iamVjdC5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL25leHQucG5nIiBhbHQ9Ik5leHQiPjwvYT4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJEZWZpbml0aW9ucyI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+CjxhIG5hbWU9ImJvb3N0X251bWVyaWNjb252ZXJzaW9uLmRlZmluaXRpb25zIj48L2E+PGEgY2xhc3M9ImxpbmsiIGhyZWY9ImRlZmluaXRpb25zLmh0bWwiIHRpdGxlPSJEZWZpbml0aW9ucyI+RGVmaW5pdGlvbnM8L2E+CjwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+CjxkaXYgY2xhc3M9InRvYyI+PGRsPgo8ZHQ+PHNwYW4gY2xhc3M9InNlY3Rpb24iPjxhIGhyZWY9ImRlZmluaXRpb25zLmh0bWwjYm9vc3RfbnVtZXJpY2NvbnZlcnNpb24uZGVmaW5pdGlvbnMuaW50cm9kdWN0aW9uIj5JbnRyb2R1Y3Rpb248L2E+PC9zcGFuPjwvZHQ+CjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iZGVmaW5pdGlvbnMuaHRtbCNib29zdF9udW1lcmljY29udmVyc2lvbi5kZWZpbml0aW9ucy50eXBlc19hbmRfdmFsdWVzIj5UeXBlcwogICAgICBhbmQgVmFsdWVzPC9hPjwvc3Bhbj48L2R0Pgo8ZHQ+PHNwYW4gY2xhc3M9InNlY3Rpb24iPjxhIGhyZWY9ImRlZmluaXRpb25zLmh0bWwjYm9vc3RfbnVtZXJpY2NvbnZlcnNpb24uZGVmaW5pdGlvbnMuY19fX2FyaXRobWV0aWNfdHlwZXMiPkMrKwogICAgICBBcml0aG1ldGljIFR5cGVzPC9hPjwvc3Bhbj48L2R0Pgo8ZHQ+PHNwYW4gY2xhc3M9InNlY3Rpb24iPjxhIGhyZWY9ImRlZmluaXRpb25zLmh0bWwjYm9vc3RfbnVtZXJpY2NvbnZlcnNpb24uZGVmaW5pdGlvbnMubnVtZXJpY190eXBlcyI+TnVtZXJpYwogICAgICBUeXBlczwvYT48L3NwYW4+PC9kdD4KPGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSJkZWZpbml0aW9ucy5odG1sI2Jvb3N0X251bWVyaWNjb252ZXJzaW9uLmRlZmluaXRpb25zLnJhbmdlX2FuZF9wcmVjaXNpb24iPlJhbmdlCiAgICAgIGFuZCBQcmVjaXNpb248L2E+PC9zcGFuPjwvZHQ+CjxkdD48c3BhbiBjbGFzcz0ic2VjdGlvbiI+PGEgaHJlZj0iZGVmaW5pdGlvbnMuaHRtbCNib29zdF9udW1lcmljY29udmVyc2lvbi5kZWZpbml0aW9ucy5leGFjdF9fY29ycmVjdGx5X3JvdW5kZWRfYW5kX291dF9vZl9yYW5nZV9yZXByZXNlbnRhdGlvbnMiPkV4YWN0LAogICAgICBDb3JyZWN0bHkgUm91bmRlZCBhbmQgT3V0LU9mLVJhbmdlIFJlcHJlc2VudGF0aW9uczwvYT48L3NwYW4+PC9kdD4KPGR0PjxzcGFuIGNsYXNzPSJzZWN0aW9uIj48YSBocmVmPSJkZWZpbml0aW9ucy5odG1sI2Jvb3N0X251bWVyaWNjb252ZXJzaW9uLmRlZmluaXRpb25zLnN0YW5kYXJkX19udW1lcmljX19jb252ZXJzaW9ucyI+U3RhbmRhcmQKICAgICAgKG51bWVyaWMpIENvbnZlcnNpb25zPC9hPjwvc3Bhbj48L2R0Pgo8ZHQ+PHNwYW4gY2xhc3M9InNlY3Rpb24iPjxhIGhyZWY9ImRlZmluaXRpb25zLmh0bWwjYm9vc3RfbnVtZXJpY2NvbnZlcnNpb24uZGVmaW5pdGlvbnMuc3VicmFuZ2VkX2NvbnZlcnNpb25fZGlyZWN0aW9uX19zdWJ0eXBlX2FuZF9zdXBlcnR5cGUiPlN1YnJhbmdlZAogICAgICBDb252ZXJzaW9uIERpcmVjdGlvbiwgU3VidHlwZSBhbmQgU3VwZXJ0eXBlPC9hPjwvc3Bhbj48L2R0Pgo8L2RsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iSW50cm9kdWN0aW9uIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9ImJvb3N0X251bWVyaWNjb252ZXJzaW9uLmRlZmluaXRpb25zLmludHJvZHVjdGlvbiI+PC9hPjxhIGNsYXNzPSJsaW5rIiBocmVmPSJkZWZpbml0aW9ucy5odG1sI2Jvb3N0X251bWVyaWNjb252ZXJzaW9uLmRlZmluaXRpb25zLmludHJvZHVjdGlvbiIgdGl0bGU9IkludHJvZHVjdGlvbiI+SW50cm9kdWN0aW9uPC9hPgo8L2gzPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD4KICAgICAgICBUaGlzIHNlY3Rpb24gcHJvdmlkZXMgZGVmaW5pdGlvbnMgb2YgdGVybXMgdXNlZCBpbiB0aGUgTnVtZXJpYyBDb252ZXJzaW9uCiAgICAgICAgbGlicmFyeS4KICAgICAgPC9wPgo8ZGl2IGNsYXNzPSJzaWRlYmFyIj4KPHAgY2xhc3M9InRpdGxlIj48Yj48L2I+PC9wPgo8cD4KICAgICAgICA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5Ob3RhdGlvbjwvc3Ryb25nPjwvc3Bhbj4gPHNwYW4gY2xhc3M9InVuZGVybGluZSI+dW5kZXJsaW5lZAogICAgICAgIHRleHQ8L3NwYW4+IGRlbm90ZXMgdGVybXMgZGVmaW5lZCBpbiB0aGUgQysrIHN0YW5kYXJkLgogICAgICA8L3A+CjxwPgogICAgICAgIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPmJvbGQgZmFjZTwvc3Ryb25nPjwvc3Bhbj4gZGVub3RlcyB0ZXJtcyBkZWZpbmVkIGhlcmUgYnV0CiAgICAgICAgbm90IGluIHRoZSBzdGFuZGFyZC4KICAgICAgPC9wPgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJUeXBlcyBhbmQgVmFsdWVzIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9ImJvb3N0X251bWVyaWNjb252ZXJzaW9uLmRlZmluaXRpb25zLnR5cGVzX2FuZF92YWx1ZXMiPjwvYT48YSBjbGFzcz0ibGluayIgaHJlZj0iZGVmaW5pdGlvbnMuaHRtbCNib29zdF9udW1lcmljY29udmVyc2lvbi5kZWZpbml0aW9ucy50eXBlc19hbmRfdmFsdWVzIiB0aXRsZT0iVHlwZXMgYW5kIFZhbHVlcyI+VHlwZXMKICAgICAgYW5kIFZhbHVlczwvYT4KPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+CiAgICAgICAgQXMgZGVmaW5lZCBieSB0aGUgPHNwYW4gY2xhc3M9InVuZGVybGluZSI+QysrIE9iamVjdCBNb2RlbDwvc3Bhbj4KICAgICAgICAopzEuNykgdGhlIDxzcGFuIGNsYXNzPSJ1bmRlcmxpbmUiPnN0b3JhZ2U8L3NwYW4+IG9yIG1lbW9yeSBvbiB3aGljaAogICAgICAgIGEgQysrIHByb2dyYW0gcnVucyBpcyBhIGNvbnRpZ3VvdXMgc2VxdWVuY2Ugb2YgPHNwYW4gY2xhc3M9InVuZGVybGluZSI+Ynl0ZXM8L3NwYW4+CiAgICAgICAgd2hlcmUgZWFjaCBieXRlIGlzIGEgY29udGlndW91cyBzZXF1ZW5jZSBvZiBiaXRzLgogICAgICA8L3A+CjxwPgogICAgICAgIEFuIDxzcGFuIGNsYXNzPSJ1bmRlcmxpbmUiPm9iamVjdDwvc3Bhbj4gaXMgYSByZWdpb24gb2Ygc3RvcmFnZSAopzEuOCkKICAgICAgICBhbmQgaGFzIGEgdHlwZSAopzMuOSkuCiAgICAgIDwvcD4KPHA+CiAgICAgICAgQSA8c3BhbiBjbGFzcz0idW5kZXJsaW5lIj50eXBlPC9zcGFuPiBpcyBhIGRpc2NyZXRlIHNldCBvZiB2YWx1ZXMuCiAgICAgIDwvcD4KPHA+CiAgICAgICAgQW4gb2JqZWN0IG9mIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+IGhhcyBhbgogICAgICAgIDxzcGFuIGNsYXNzPSJ1bmRlcmxpbmUiPm9iamVjdCByZXByZXNlbnRhdGlvbjwvc3Bhbj4gd2hpY2ggaXMgdGhlCiAgICAgICAgc2VxdWVuY2Ugb2YgYnl0ZXMgc3RvcmVkIGluIHRoZSBvYmplY3QgKKczLjkvNCkKICAgICAgPC9wPgo8cD4KICAgICAgICBBbiBvYmplY3Qgb2YgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4gaGFzIGEKICAgICAgICA8c3BhbiBjbGFzcz0idW5kZXJsaW5lIj52YWx1ZSByZXByZXNlbnRhdGlvbjwvc3Bhbj4gd2hpY2ggaXMgdGhlIHNldAogICAgICAgIG9mIGJpdHMgdGhhdCBkZXRlcm1pbmUgdGhlIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPnZhbHVlPC9lbT48L3NwYW4+IG9mIGFuIG9iamVjdCBvZiB0aGF0CiAgICAgICAgdHlwZSAopzMuOS80KS4gRm9yIDxzcGFuIGNsYXNzPSJ1bmRlcmxpbmUiPlBPRDwvc3Bhbj4gdHlwZXMgKKczLjkvMTApLAogICAgICAgIHRoaXMgYml0c2V0IGlzIGdpdmVuIGJ5IHRoZSBvYmplY3QgcmVwcmVzZW50YXRpb24sIGJ1dCBub3QgYWxsIHRoZSBiaXRzIGluCiAgICAgICAgdGhlIHN0b3JhZ2UgbmVlZCB0byBwYXJ0aWNpcGF0ZSBpbiB0aGUgdmFsdWUgcmVwcmVzZW50YXRpb24gKGV4Y2VwdCBmb3IgY2hhcmFjdGVyCiAgICAgICAgdHlwZXMpOiBmb3IgZXhhbXBsZSwgc29tZSBiaXRzIG1pZ2h0IGJlIHVzZWQgZm9yIHBhZGRpbmcgb3IgdGhlcmUgbWF5IGJlCiAgICAgICAgdHJhcC1iaXRzLgogICAgICA8L3A+CjxwPgogICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmVtZWRpYW9iamVjdCI+PGltZyBzcmM9Ii4uL2ltYWdlcy9zcGFjZS5wbmciIGFsdD0ic3BhY2UiPjwvc3Bhbj4KICAgICAgPC9wPgo8cD4KICAgICAgICBUaGUgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+dHlwZWQgdmFsdWU8L3N0cm9uZz48L3NwYW4+IHRoYXQgaXMgaGVsZCBieSBhbiBvYmplY3QKICAgICAgICBpcyB0aGUgdmFsdWUgd2hpY2ggaXMgZGV0ZXJtaW5lZCBieSBpdHMgdmFsdWUgcmVwcmVzZW50YXRpb24uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgQW4gPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+YWJzdHJhY3QgdmFsdWU8L3N0cm9uZz48L3NwYW4+ICh1bnR5cGVkKSBpcyB0aGUgY29uY2VwdHVhbAogICAgICAgIGluZm9ybWF0aW9uIHRoYXQgaXMgcmVwcmVzZW50ZWQgaW4gYSB0eXBlIChpLmUuIHRoZSBudW1iZXIgJiM5NjA7KS4KICAgICAgPC9wPgo8cD4KICAgICAgICBUaGUgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+aW50cmluc2ljIHZhbHVlPC9zdHJvbmc+PC9zcGFuPiBvZiBhbiBvYmplY3QgaXMgdGhlCiAgICAgICAgYmluYXJ5IHZhbHVlIG9mIHRoZSBzZXF1ZW5jZSBvZiB1bnNpZ25lZCBjaGFyYWN0ZXJzIHdoaWNoIGZvcm0gaXRzIG9iamVjdAogICAgICAgIHJlcHJlc2VudGF0aW9uLgogICAgICA8L3A+CjxwPgogICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmVtZWRpYW9iamVjdCI+PGltZyBzcmM9Ii4uL2ltYWdlcy9zcGFjZS5wbmciIGFsdD0ic3BhY2UiPjwvc3Bhbj4KICAgICAgPC9wPgo8cD4KICAgICAgICA8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5BYnN0cmFjdDwvZW0+PC9zcGFuPiB2YWx1ZXMgY2FuIGJlIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPnJlcHJlc2VudGVkPC9zdHJvbmc+PC9zcGFuPgogICAgICAgIGluIGEgZ2l2ZW4gdHlwZS4KICAgICAgPC9wPgo8cD4KICAgICAgICBUbyA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5yZXByZXNlbnQ8L3N0cm9uZz48L3NwYW4+IGFuIGFic3RyYWN0IHZhbHVlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlY8L3NwYW4+PC9jb2RlPiBpbiBhIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+CiAgICAgICAgaXMgdG8gb2J0YWluIGEgdHlwZWQgdmFsdWUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+djwvc3Bhbj48L2NvZGU+CiAgICAgICAgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIGFic3RyYWN0IHZhbHVlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlY8L3NwYW4+PC9jb2RlPi4KICAgICAgPC9wPgo8cD4KICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIGRlbm90ZWQgdXNpbmcgdGhlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnJlcDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KCk8L3NwYW4+PC9jb2RlPiBvcGVyYXRvciwgYXMgaW46IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnY8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPj08L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnJlcDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Vjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+LiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj52PC9zcGFuPjwvY29kZT4gaXMgdGhlIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPnJlcHJlc2VudGF0aW9uPC9zdHJvbmc+PC9zcGFuPgogICAgICAgIG9mIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlY8L3NwYW4+PC9jb2RlPiBpbiB0aGUgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBhYnN0cmFjdCB2YWx1ZSAmIzk2MDsgY2FuIGJlIHJlcHJlc2VudGVkIGluIHRoZSB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmRvdWJsZTwvc3Bhbj48L2NvZGU+IGFzIHRoZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5kb3VibGU8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnZhbHVlPC9zcGFuPiA8c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+TV9QSTwvc3Bhbj48L2NvZGU+CiAgICAgICAgYW5kIGluIHRoZSB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmludDwvc3Bhbj48L2NvZGU+IGFzIHRoZQogICAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmludDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnZhbHVlPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjM8L3NwYW4+PC9jb2RlPgogICAgICA8L3A+CjxwPgogICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmVtZWRpYW9iamVjdCI+PGltZyBzcmM9Ii4uL2ltYWdlcy9zcGFjZS5wbmciIGFsdD0ic3BhY2UiPjwvc3Bhbj4KICAgICAgPC9wPgo8cD4KICAgICAgICBDb252ZXJzZWx5LCA8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT50eXBlZCB2YWx1ZXM8L2VtPjwvc3Bhbj4gY2FuIGJlIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPmFic3RyYWN0ZWQ8L3N0cm9uZz48L3NwYW4+LgogICAgICA8L3A+CjxwPgogICAgICAgIFRvIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPmFic3RyYWN0PC9zdHJvbmc+PC9zcGFuPiBhIHR5cGVkIHZhbHVlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnY8L3NwYW4+PC9jb2RlPiBvZiB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PC9jb2RlPgogICAgICAgIGlzIHRvIG9idGFpbiB0aGUgYWJzdHJhY3QgdmFsdWUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Vjwvc3Bhbj48L2NvZGU+CiAgICAgICAgd2hvc2UgcmVwcmVzZW50YXRpb24gaW4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+CiAgICAgICAgaXMgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+djwvc3Bhbj48L2NvZGU+LgogICAgICA8L3A+CjxwPgogICAgICAgIFRoZSBvcGVyYXRpb24gaXMgZGVub3RlZCB1c2luZyB0aGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+YWJ0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oKTwvc3Bhbj48L2NvZGU+IG9wZXJhdG9yLCBhcyBpbjogPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Vjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+PTwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+YWJ0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj52PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPjwvY29kZT4uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Vjwvc3Bhbj48L2NvZGU+IGlzIHRoZSA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5hYnN0cmFjdGlvbjwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICBvZiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj52PC9zcGFuPjwvY29kZT4gb2YgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgQWJzdHJhY3Rpb24gaXMganVzdCBhbiBhYnN0cmFjdCBvcGVyYXRpb24gKHlvdSBjYW4ndCBkbyBpdCk7IGJ1dCBpdCBpcyBkZWZpbmVkCiAgICAgICAgbmV2ZXJ0aGVsZXNzIGJlY2F1c2UgaXQgd2lsbCBiZSB1c2VkIHRvIGdpdmUgdGhlIGRlZmluaXRpb25zIGluIHRoZSByZXN0CiAgICAgICAgb2YgdGhpcyBkb2N1bWVudC4KICAgICAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiIgdGl0bGU9IkMrKyBBcml0aG1ldGljIFR5cGVzIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9ImJvb3N0X251bWVyaWNjb252ZXJzaW9uLmRlZmluaXRpb25zLmNfX19hcml0aG1ldGljX3R5cGVzIj48L2E+PGEgY2xhc3M9ImxpbmsiIGhyZWY9ImRlZmluaXRpb25zLmh0bWwjYm9vc3RfbnVtZXJpY2NvbnZlcnNpb24uZGVmaW5pdGlvbnMuY19fX2FyaXRobWV0aWNfdHlwZXMiIHRpdGxlPSJDKysgQXJpdGhtZXRpYyBUeXBlcyI+QysrCiAgICAgIEFyaXRobWV0aWMgVHlwZXM8L2E+CjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPgogICAgICAgIFRoZSBDKysgbGFuZ3VhZ2UgZGVmaW5lcyA8c3BhbiBjbGFzcz0idW5kZXJsaW5lIj5mdW5kYW1lbnRhbCB0eXBlczwvc3Bhbj4KICAgICAgICAopzMuOS4xKS4gVGhlIGZvbGxvd2luZyBzdWJzZXRzIG9mIHRoZSBmdW5kYW1lbnRhbCB0eXBlcyBhcmUgaW50ZW5kZWQgdG8KICAgICAgICByZXByZXNlbnQgPHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+bnVtYmVyczwvZW0+PC9zcGFuPjoKICAgICAgPC9wPgo8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPgo8cCBjbGFzcz0idGl0bGUiPjxiPjwvYj48L3A+CjxkbD4KPGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0idW5kZXJsaW5lIj5zaWduZWQgaW50ZWdlcgogICAgICAgIHR5cGVzPC9zcGFuPiAopzMuOS4xLzIpOjwvc3Bhbj48L2R0Pgo8ZGQ+PHA+CiAgICAgICAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPns8L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPnNpZ25lZDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmQiPmNoYXI8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zaWduZWQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zaG9ydDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmQiPmludDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmQiPnNpZ25lZDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtleXdvcmQiPmludDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtleXdvcmQiPnNpZ25lZDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtleXdvcmQiPmxvbmc8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5pbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPn08L3NwYW4+PC9jb2RlPiBDYW4gYmUgdXNlZCB0byByZXByZXNlbnQgZ2VuZXJhbCBpbnRlZ2VyCiAgICAgICAgICAgIG51bWJlcnMgKGJvdGggbmVnYXRpdmUgYW5kIHBvc2l0aXZlKS4KICAgICAgICAgIDwvcD48L2RkPgo8ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJ1bmRlcmxpbmUiPnVuc2lnbmVkIGludGVnZXIKICAgICAgICB0eXBlczwvc3Bhbj4gKKczLjkuMS8zKTo8L3NwYW4+PC9kdD4KPGRkPjxwPgogICAgICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj57PC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj51bnNpZ25lZDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmQiPmNoYXI8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj51bnNpZ25lZDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtleXdvcmQiPnNob3J0PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5d29yZCI+aW50PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5d29yZCI+dW5zaWduZWQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5pbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkIj51bnNpZ25lZDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtleXdvcmQiPmxvbmc8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5pbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPn08L3NwYW4+PC9jb2RlPiBDYW4gYmUgdXNlZCB0byByZXByZXNlbnQgcG9zaXRpdmUgaW50ZWdlcgogICAgICAgICAgICBudW1iZXJzIHdpdGggbW9kdWxvLWFyaXRobWV0aWMuCiAgICAgICAgICA8L3A+PC9kZD4KPGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0idW5kZXJsaW5lIj5mbG9hdGluZy1wb2ludAogICAgICAgIHR5cGVzPC9zcGFuPiAopzMuOS4xLzgpOjwvc3Bhbj48L2R0Pgo8ZGQ+PHA+CiAgICAgICAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPns8L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmZsb2F0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sPC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5kb3VibGU8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmxvbmc8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5kb3VibGU8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPn08L3NwYW4+PC9jb2RlPgogICAgICAgICAgICBDYW4gYmUgdXNlZCB0byByZXByZXNlbnQgcmVhbCBudW1iZXJzLgogICAgICAgICAgPC9wPjwvZGQ+CjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9InVuZGVybGluZSI+aW50ZWdyYWwgb3IKICAgICAgICBpbnRlZ2VyIHR5cGVzPC9zcGFuPiAopzMuOS4xLzcpOjwvc3Bhbj48L2R0Pgo8ZGQ+PHA+CiAgICAgICAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPnt7PC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zaWduZWQ8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5pbnRlZ2Vyczwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+fSx7PC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj51bnNpZ25lZDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmludGVnZXJzPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj59LDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtleXdvcmQiPmJvb2w8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5jaGFyPC9zcGFuPiA8c3BhbiBjbGFzcz0ia2V5d29yZCI+YW5kPC9zcGFuPiA8c3BhbiBjbGFzcz0ia2V5d29yZCI+d2NoYXJfdDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+fTwvc3Bhbj48L2NvZGU+CiAgICAgICAgICA8L3A+PC9kZD4KPGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0idW5kZXJsaW5lIj5hcml0aG1ldGljCiAgICAgICAgdHlwZXM8L3NwYW4+ICinMy45LjEvOCk6PC9zcGFuPjwvZHQ+CjxkZD48cD4KICAgICAgICAgICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ic3BlY2lhbCI+e3s8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmludGVnZXI8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj50eXBlczwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+fSx7PC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5mbG9hdGluZzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnR5cGVzPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj59fTwvc3Bhbj48L2NvZGU+CiAgICAgICAgICA8L3A+PC9kZD4KPC9kbD4KPC9kaXY+CjxwPgogICAgICAgIFRoZSBpbnRlZ2VyIHR5cGVzIGFyZSByZXF1aXJlZCB0byBoYXZlIGEgPHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+YmluYXJ5PC9lbT48L3NwYW4+IHZhbHVlCiAgICAgICAgcmVwcmVzZW50YXRpb24uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgQWRkaXRpb25hbGx5LCB0aGUgc2lnbmVkL3Vuc2lnbmVkIGludGVnZXIgdHlwZXMgb2YgdGhlIHNhbWUgYmFzZSB0eXBlICg8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5zaG9ydDwvc3Bhbj48L2NvZGU+LCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5pbnQ8L3NwYW4+PC9jb2RlPgogICAgICAgIG9yIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmxvbmc8L3NwYW4+PC9jb2RlPikgYXJlIHJlcXVpcmVkIHRvIGhhdmUKICAgICAgICB0aGUgc2FtZSB2YWx1ZSByZXByZXNlbnRhdGlvbiwgdGhhdCBpczoKICAgICAgPC9wPgo8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ICAgICAgICAgPHNwYW4gY2xhc3M9ImtleXdvcmQiPmludDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmk8L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+LTwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4zPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIHN1cHBvc2UgdmFsdWUgcmVwcmVzZW50YXRpb24gaXM6IDEwMDExIChzaWduIGJpdCArIDQgbWFnbml0dWRlIGJpdHMpCjwvc3Bhbj48c3BhbiBjbGFzcz0ia2V5d29yZCI+dW5zaWduZWQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5pbnQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj51PC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+PTwvc3Bhbj4gIDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5pPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIHUgaXMgcmVxdWlyZWQgdG8gaGF2ZSB0aGUgc2FtZSAxMDAxMSBhcyBpdHMgdmFsdWUgcmVwcmVzZW50YXRpb24uCjwvc3Bhbj48L3ByZT4KPHA+CiAgICAgICAgSW4gb3RoZXIgd29yZHMsIHRoZSBpbnRlZ2VyIHR5cGVzIHNpZ25lZC91bnNpZ25lZCBYIHVzZSB0aGUgc2FtZSB2YWx1ZSByZXByZXNlbnRhdGlvbgogICAgICAgIGJ1dCBhIGRpZmZlcmVudCA8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5pbnRlcnByZXRhdGlvbjwvZW0+PC9zcGFuPiBvZiBpdDsgdGhhdCBpcywgdGhlaXIKICAgICAgICA8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT50eXBlZCB2YWx1ZXM8L2VtPjwvc3Bhbj4gbWlnaHQgZGlmZmVyLgogICAgICA8L3A+CjxwPgogICAgICAgIEFub3RoZXIgY29uc2VxdWVuY2Ugb2YgdGhpcyBpcyB0aGF0IHRoZSByYW5nZSBmb3Igc2lnbmVkIFggaXMgYWx3YXlzIGEgc21hbGxlcgogICAgICAgIHN1YnNldCBvZiB0aGUgcmFuZ2Ugb2YgdW5zaWduZWQgWCwgYXMgcmVxdWlyZWQgYnkgpzMuOS4xLzMuCiAgICAgIDwvcD4KPGRpdiBjbGFzcz0ibm90ZSIgdGl0bGU9Ik5vdGUiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9Ik5vdGUiPgo8dHI+Cjx0ZCByb3dzcGFuPSIyIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjI1Ij48aW1nIGFsdD0iW05vdGVdIiBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9ub3RlLnBuZyI+PC90ZD4KPHRoIGFsaWduPSJsZWZ0Ij5Ob3RlPC90aD4KPC90cj4KPHRyPjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgo8cD4KICAgICAgICAgIEFsd2F5cyByZW1lbWJlciB0aGF0IHVuc2lnbmVkIHR5cGVzLCB1bmxpa2Ugc2lnbmVkIHR5cGVzLCBoYXZlIG1vZHVsby1hcml0aG1ldGljOwogICAgICAgICAgdGhhdCBpcywgdGhleSBkbyBub3Qgb3ZlcmZsb3cuIFRoaXMgbWVhbnMgdGhhdDoKICAgICAgICA8L3A+CjxwPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+LTwvc3Ryb25nPjwvc3Bhbj4gQWx3YXlzIGJlIGV4dHJhIGNhcmVmdWwgd2hlbiBtaXhpbmcKICAgICAgICAgIHNpZ25lZC91bnNpZ25lZCB0eXBlcwogICAgICAgIDwvcD4KPHA+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz4tPC9zdHJvbmc+PC9zcGFuPiBVc2UgdW5zaWduZWQgdHlwZXMgb25seSB3aGVuIHlvdSBuZWVkCiAgICAgICAgICBtb2R1bG8gYXJpdGhtZXRpYyBvciB2ZXJ5IHZlcnkgbGFyZ2UgbnVtYmVycy4gRG9uJ3QgdXNlIHVuc2lnbmVkIHR5cGVzCiAgICAgICAgICBqdXN0IGJlY2F1c2UgeW91IGludGVuZCB0byBkZWFsIHdpdGggcG9zaXRpdmUgdmFsdWVzIG9ubHkgKHlvdSBjYW4gZG8gdGhpcwogICAgICAgICAgd2l0aCBzaWduZWQgdHlwZXMgYXMgd2VsbCkuCiAgICAgICAgPC9wPgo8L3RkPjwvdHI+CjwvdGFibGU+PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iTnVtZXJpYyBUeXBlcyI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJib29zdF9udW1lcmljY29udmVyc2lvbi5kZWZpbml0aW9ucy5udW1lcmljX3R5cGVzIj48L2E+PGEgY2xhc3M9ImxpbmsiIGhyZWY9ImRlZmluaXRpb25zLmh0bWwjYm9vc3RfbnVtZXJpY2NvbnZlcnNpb24uZGVmaW5pdGlvbnMubnVtZXJpY190eXBlcyIgdGl0bGU9Ik51bWVyaWMgVHlwZXMiPk51bWVyaWMKICAgICAgVHlwZXM8L2E+CjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPgogICAgICAgIFRoaXMgc2VjdGlvbiBpbnRyb2R1Y2VzIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbnMgaW50ZW5kZWQgdG8gaW50ZWdyYXRlIGFyaXRobWV0aWMKICAgICAgICB0eXBlcyB3aXRoIHVzZXItZGVmaW5lZCB0eXBlcyB3aGljaCBiZWhhdmUgbGlrZSBudW1iZXJzLiBTb21lIGRlZmluaXRpb25zCiAgICAgICAgYXJlIHB1cnBvc2VseSBicm9hZCBpbiBvcmRlciB0byBpbmNsdWRlIGEgdmFzdCB2YXJpZXR5IG9mIHVzZXItZGVmaW5lZCBudW1iZXIKICAgICAgICB0eXBlcy4KICAgICAgPC9wPgo8cD4KICAgICAgICBXaXRoaW4gdGhpcyBsaWJyYXJ5LCB0aGUgdGVybSA8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5udW1iZXI8L2VtPjwvc3Bhbj4gcmVmZXJzIHRvIGFuIGFic3RyYWN0CiAgICAgICAgbnVtZXJpYyB2YWx1ZS4KICAgICAgPC9wPgo8cD4KICAgICAgICBBIHR5cGUgaXMgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+bnVtZXJpYzwvc3Ryb25nPjwvc3Bhbj4gaWY6CiAgICAgIDwvcD4KPGRpdiBjbGFzcz0iaXRlbWl6ZWRsaXN0Ij48dWwgY2xhc3M9Iml0ZW1pemVkbGlzdCIgdHlwZT0iZGlzYyI+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgogICAgICAgICAgSXQgaXMgYW4gYXJpdGhtZXRpYyB0eXBlLCBvciwKICAgICAgICA8L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgIEl0IGlzIGEgdXNlci1kZWZpbmVkIHR5cGUgd2hpY2gKICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5cGU9ImNpcmNsZSI+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgogICAgICAgICAgICAgIFJlcHJlc2VudHMgbnVtZXJpYyBhYnN0cmFjdCB2YWx1ZXMgKGkuZS4gbnVtYmVycykuCiAgICAgICAgICAgIDwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgogICAgICAgICAgICAgIENhbiBiZSBjb252ZXJ0ZWQgKGVpdGhlciBpbXBsaWNpdGx5IG9yIGV4cGxpY2l0bHkpIHRvL2Zyb20gYXQgbGVhc3QKICAgICAgICAgICAgICBvbmUgYXJpdGhtZXRpYyB0eXBlLgogICAgICAgICAgICA8L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgICAgICBIYXMgPGEgY2xhc3M9ImxpbmsiIGhyZWY9ImRlZmluaXRpb25zLmh0bWwjYm9vc3RfbnVtZXJpY2NvbnZlcnNpb24uZGVmaW5pdGlvbnMucmFuZ2VfYW5kX3ByZWNpc2lvbiIgdGl0bGU9IlJhbmdlIGFuZCBQcmVjaXNpb24iPnJhbmdlPC9hPgogICAgICAgICAgICAgIChwb3NzaWJseSB1bmJvdW5kZWQpIGFuZCA8YSBjbGFzcz0ibGluayIgaHJlZj0iZGVmaW5pdGlvbnMuaHRtbCNib29zdF9udW1lcmljY29udmVyc2lvbi5kZWZpbml0aW9ucy5yYW5nZV9hbmRfcHJlY2lzaW9uIiB0aXRsZT0iUmFuZ2UgYW5kIFByZWNpc2lvbiI+cHJlY2lzaW9uPC9hPgogICAgICAgICAgICAgIChwb3NzaWJseSBkeW5hbWljIG9yIHVubGltaXRlZCkuCiAgICAgICAgICAgIDwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgogICAgICAgICAgICAgIFByb3ZpZGVzIGFuIHNwZWNpYWxpemF0aW9uIG9mIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnN0ZDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Ojo8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPm51bWVyaWNfbGltaXRzPC9zcGFuPjwvY29kZT4uCiAgICAgICAgICAgIDwvbGk+CjwvdWw+PC9kaXY+CjwvbGk+CjwvdWw+PC9kaXY+CjxwPgogICAgICAgIEEgbnVtZXJpYyB0eXBlIGlzIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPnNpZ25lZDwvc3Ryb25nPjwvc3Bhbj4gaWYgdGhlIGFic3RyYWN0CiAgICAgICAgdmFsdWVzIGl0IHJlcHJlc2VudCBpbmNsdWRlIG5lZ2F0aXZlIG51bWJlcnMuCiAgICAgIDwvcD4KPHA+CiAgICAgICAgQSBudW1lcmljIHR5cGUgaXMgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+dW5zaWduZWQ8L3N0cm9uZz48L3NwYW4+IGlmIHRoZSBhYnN0cmFjdAogICAgICAgIHZhbHVlcyBpdCByZXByZXNlbnQgZXhjbHVkZSBuZWdhdGl2ZSBudW1iZXJzLgogICAgICA8L3A+CjxwPgogICAgICAgIEEgbnVtZXJpYyB0eXBlIGlzIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPm1vZHVsbzwvc3Ryb25nPjwvc3Bhbj4gaWYgaXQgaGFzIG1vZHVsby1hcml0aG1ldGljCiAgICAgICAgKGRvZXMgbm90IG92ZXJmbG93KS4KICAgICAgPC9wPgo8cD4KICAgICAgICBBIG51bWVyaWMgdHlwZSBpcyA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5pbnRlZ2VyPC9zdHJvbmc+PC9zcGFuPiBpZiB0aGUgYWJzdHJhY3QKICAgICAgICB2YWx1ZXMgaXQgcmVwcmVzZW50IGFyZSB3aG9sZSBudW1iZXJzLgogICAgICA8L3A+CjxwPgogICAgICAgIEEgbnVtZXJpYyB0eXBlIGlzIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPmZsb2F0aW5nPC9zdHJvbmc+PC9zcGFuPiBpZiB0aGUgYWJzdHJhY3QKICAgICAgICB2YWx1ZXMgaXQgcmVwcmVzZW50IGFyZSByZWFsIG51bWJlcnMuCiAgICAgIDwvcD4KPHA+CiAgICAgICAgQW4gPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+YXJpdGhtZXRpYyB2YWx1ZTwvc3Ryb25nPjwvc3Bhbj4gaXMgdGhlIHR5cGVkIHZhbHVlIG9mCiAgICAgICAgYW4gYXJpdGhtZXRpYyB0eXBlCiAgICAgIDwvcD4KPHA+CiAgICAgICAgQSA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5udW1lcmljIHZhbHVlPC9zdHJvbmc+PC9zcGFuPiBpcyB0aGUgdHlwZWQgdmFsdWUgb2YgYQogICAgICAgIG51bWVyaWMgdHlwZQogICAgICA8L3A+CjxwPgogICAgICAgIFRoZXNlIGRlZmluaXRpb25zIHNpbXBseSBnZW5lcmFsaXplIHRoZSBzdGFuZGFyZCBub3Rpb25zIG9mIGFyaXRobWV0aWMgdHlwZXMKICAgICAgICBhbmQgdmFsdWVzIGJ5IGludHJvZHVjaW5nIGEgc3VwZXJzZXQgY2FsbGVkIDxzcGFuIGNsYXNzPSJ1bmRlcmxpbmUiPm51bWVyaWM8L3NwYW4+LgogICAgICAgIEFsbCBhcml0aG1ldGljIHR5cGVzIGFuZCB2YWx1ZXMgYXJlIG51bWVyaWMgdHlwZXMgYW5kIHZhbHVlcywgYnV0IG5vdCB2aWNlCiAgICAgICAgdmVyc2EsIHNpbmNlIHVzZXItZGVmaW5lZCBudW1lcmljIHR5cGVzIGFyZSBub3QgYXJpdGhtZXRpYyB0eXBlcy4KICAgICAgPC9wPgo8cD4KICAgICAgICBUaGUgZm9sbG93aW5nIGV4YW1wbGVzIGNsYXJpZnkgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gYXJpdGhtZXRpYyBhbmQgbnVtZXJpYwogICAgICAgIHR5cGVzIChhbmQgdmFsdWVzKToKICAgICAgPC9wPgo8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIEEgbnVtZXJpYyB0eXBlIHdoaWNoIGlzIG5vdCBhbiBhcml0aG1ldGljIHR5cGUgKGlzIHVzZXItZGVmaW5lZCkKPC9zcGFuPjxzcGFuIGNsYXNzPSJjb21tZW50Ij4vLyBhbmQgd2hpY2ggaXMgaW50ZW5kZWQgdG8gcmVwcmVzZW50IGludGVnZXIgbnVtYmVycyAoaS5lLiwgYW4gJ2ludGVnZXInIG51bWVyaWMgdHlwZSkKPC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5jbGFzczwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk15SW50PC9zcGFuPgo8c3BhbiBjbGFzcz0ic3BlY2lhbCI+ezwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5NeUludDwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5sb25nPC9zcGFuPiA8c3BhbiBjbGFzcz0ia2V5d29yZCI+bG9uZzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnY8L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Ozwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5sb25nPC9zcGFuPiA8c3BhbiBjbGFzcz0ia2V5d29yZCI+bG9uZzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnRvX2J1aWx0aW48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPigpOzwvc3Bhbj4KPHNwYW4gY2xhc3M9InNwZWNpYWwiPn08L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0ia2V5d29yZCI+bmFtZXNwYWNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+c3RkPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+ezwvc3Bhbj4KPHNwYW4gY2xhc3M9ImtleXdvcmQiPnRlbXBsYXRlPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4mbHQ7Jmd0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPm51bWVyaWNfbGltaXRzPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4mbHQ7PC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5NeUludDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmd0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPns8L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj4uLi48L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj59PC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9InNwZWNpYWwiPn08L3NwYW4+Cgo8c3BhbiBjbGFzcz0iY29tbWVudCI+Ly8gQSAnZmxvYXRpbmcnIG51bWVyaWMgdHlwZSAoZG91YmxlKSB3aGljaCBpcyBhbHNvIGFuIGFyaXRobWV0aWMgdHlwZSAoYnVpbHQtaW4pLAo8L3NwYW4+PHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIHdpdGggYSBmbG9hdCBudW1lcmljIHZhbHVlLgo8L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmRvdWJsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnBpPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk1fUEk8L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj47PC9zcGFuPgoKPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIEEgJ2Zsb2F0aW5nJyBudW1lcmljIHR5cGUgd2l0aCBhIHdob2xlIG51bWVyaWMgdmFsdWUuCjwvc3Bhbj48c3BhbiBjbGFzcz0iY29tbWVudCI+Ly8gTk9URTogbnVtZXJpYyB2YWx1ZXMgYXJlIHR5cGVkIHZhbHVlZCwgaGVuY2UsIHRoZXkgYXJlLCBmb3IgaW5zdGFuY2UsCjwvc3Bhbj48c3BhbiBjbGFzcz0iY29tbWVudCI+Ly8gaW50ZWdlciBvciBmbG9hdGluZywgZGVzcGl0ZSB0aGUgdmFsdWUgaXRzZWxmIGJlaW5nIHdob2xlIG9yIGluY2x1ZGluZwo8L3NwYW4+PHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIGEgZnJhY3Rpb25hbCBwYXJ0Lgo8L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmRvdWJsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnR3bzwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPjs8L3NwYW4+Cgo8c3BhbiBjbGFzcz0iY29tbWVudCI+Ly8gQW4gaW50ZWdlciBudW1lcmljIHR5cGUgd2l0aCBhbiBpbnRlZ2VyIG51bWVyaWMgdmFsdWUuCjwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+TXlJbnQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5pPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjEyMzQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik7PC9zcGFuPgo8L3ByZT4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJSYW5nZSBhbmQgUHJlY2lzaW9uIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9ImJvb3N0X251bWVyaWNjb252ZXJzaW9uLmRlZmluaXRpb25zLnJhbmdlX2FuZF9wcmVjaXNpb24iPjwvYT48YSBjbGFzcz0ibGluayIgaHJlZj0iZGVmaW5pdGlvbnMuaHRtbCNib29zdF9udW1lcmljY29udmVyc2lvbi5kZWZpbml0aW9ucy5yYW5nZV9hbmRfcHJlY2lzaW9uIiB0aXRsZT0iUmFuZ2UgYW5kIFByZWNpc2lvbiI+UmFuZ2UKICAgICAgYW5kIFByZWNpc2lvbjwvYT4KPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+CiAgICAgICAgR2l2ZW4gYSBudW1iZXIgc2V0IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk48L3NwYW4+PC9jb2RlPiwgc29tZQogICAgICAgIG9mIGl0cyBlbGVtZW50cyBhcmUgcmVwcmVzZW50YWJsZSBpbiBhIG51bWVyaWMgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgVGhlIHNldCBvZiByZXByZXNlbnRhYmxlIHZhbHVlcyBvZiB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PC9jb2RlPiwKICAgICAgICBvciBudW1lcmljIHNldCBvZiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4sIGlzIGEKICAgICAgICBzZXQgb2YgbnVtZXJpYyB2YWx1ZXMgd2hvc2UgZWxlbWVudHMgYXJlIHRoZSByZXByZXNlbnRhdGlvbiBvZiBzb21lIHN1YnNldAogICAgICAgIG9mIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk48L3NwYW4+PC9jb2RlPi4KICAgICAgPC9wPgo8cD4KICAgICAgICBGb3IgZXhhbXBsZSwgdGhlIGludGVydmFsIG9mIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmludDwvc3Bhbj48L2NvZGU+CiAgICAgICAgdmFsdWVzIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPls8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPklOVF9NSU48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPklOVF9NQVg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPl08L3NwYW4+PC9jb2RlPiBpcyB0aGUgc2V0IG9mIHJlcHJlc2VudGFibGUgdmFsdWVzIG9mIHR5cGUKICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5pbnQ8L3NwYW4+PC9jb2RlPiwgaS5lLiB0aGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ia2V5d29yZCI+aW50PC9zcGFuPjwvY29kZT4gbnVtZXJpYyBzZXQsIGFuZCBjb3JyZXNwb25kcyB0byB0aGUgcmVwcmVzZW50YXRpb24KICAgICAgICBvZiB0aGUgZWxlbWVudHMgb2YgdGhlIGludGVydmFsIG9mIGFic3RyYWN0IHZhbHVlcyA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5hYnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPklOVF9NSU48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiksPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5hYnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPklOVF9NQVg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPildPC9zcGFuPjwvY29kZT4KICAgICAgICBmcm9tIHRoZSBpbnRlZ2VyIG51bWJlcnMuCiAgICAgIDwvcD4KPHA+CiAgICAgICAgU2ltaWxhcmx5LCB0aGUgaW50ZXJ2YWwgb2YgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ia2V5d29yZCI+ZG91YmxlPC9zcGFuPjwvY29kZT4KICAgICAgICB2YWx1ZXMgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Wy08L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPkRCTF9NQVg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPkRCTF9NQVg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPl08L3NwYW4+PC9jb2RlPiBpcyB0aGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ia2V5d29yZCI+ZG91YmxlPC9zcGFuPjwvY29kZT4KICAgICAgICBudW1lcmljIHNldCwgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIHN1YnNldCBvZiB0aGUgcmVhbCBudW1iZXJzIGZyb20gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+YWJ0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oLTwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+REJMX01BWDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+IHRvIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmFidDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+REJMX01BWDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+LgogICAgICA8L3A+CjxwPgogICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmVtZWRpYW9iamVjdCI+PGltZyBzcmM9Ii4uL2ltYWdlcy9zcGFjZS5wbmciIGFsdD0ic3BhY2UiPjwvc3Bhbj4KICAgICAgPC9wPgo8cD4KICAgICAgICBMZXQgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+PGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+bmV4dDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+eDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+PC9zdHJvbmc+PC9zcGFuPgogICAgICAgIGRlbm90ZSB0aGUgbG93ZXN0IG51bWVyaWMgdmFsdWUgZ3JlYXRlciB0aGFuIHguCiAgICAgIDwvcD4KPHA+CiAgICAgICAgTGV0IDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPjxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnByZXY8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPng8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+PC9jb2RlPjwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICBkZW5vdGUgdGhlIGhpZ2hlc3QgbnVtZXJpYyB2YWx1ZSBsb3dlciB0aGVuIHguCiAgICAgIDwvcD4KPHA+CiAgICAgICAgTGV0IDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPjxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnY8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPj08L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnByZXY8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPm5leHQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlY8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPikpPC9zcGFuPjwvY29kZT48L3N0cm9uZz48L3NwYW4+IGFuZCA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz48Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj52PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj49PC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5uZXh0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5wcmV2PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5WPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pKTwvc3Bhbj48L2NvZGU+PC9zdHJvbmc+PC9zcGFuPgogICAgICAgIGJlIGlkZW50aXRpZXMgdGhhdCByZWxhdGUgYSBudW1lcmljIHR5cGVkIHZhbHVlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnY8L3NwYW4+PC9jb2RlPgogICAgICAgIHdpdGggYSBudW1iZXIgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Vjwvc3Bhbj48L2NvZGU+LgogICAgICA8L3A+CjxwPgogICAgICAgIEFuIG9yZGVyZWQgcGFpciBvZiBudW1lcmljIHZhbHVlcyA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj54PC9zcGFuPjwvY29kZT4sPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+eTwvc3Bhbj48L2NvZGU+IHMudC4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+eDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmx0Ozwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+eTwvc3Bhbj48L2NvZGU+IGFyZQogICAgICAgIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPmNvbnNlY3V0aXZlPC9zdHJvbmc+PC9zcGFuPiBpZmYgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+bmV4dDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+eDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KT09PC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj55PC9zcGFuPjwvY29kZT4uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgVGhlIGFic3RyYWN0IGRpc3RhbmNlIGJldHdlZW4gY29uc2VjdXRpdmUgbnVtZXJpYyB2YWx1ZXMgaXMgdXN1YWxseSByZWZlcnJlZAogICAgICAgIHRvIGFzIGEgPHNwYW4gY2xhc3M9InVuZGVybGluZSI+VW5pdCBpbiB0aGUgTGFzdCBQbGFjZTwvc3Bhbj4sIG9yCiAgICAgICAgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+dWxwPC9zdHJvbmc+PC9zcGFuPiBmb3Igc2hvcnQuIEEgdWxwIGlzIGEgcXVhbnRpdHkgd2hvc2UKICAgICAgICBhYnN0cmFjdCBtYWduaXR1ZGUgaXMgcmVsYXRpdmUgdG8gdGhlIG51bWVyaWMgdmFsdWVzIGl0IGNvcnJlc3BvbmRzIHRvOiBJZgogICAgICAgIHRoZSBudW1lcmljIHNldCBpcyBub3QgZXZlbmx5IGRpc3RyaWJ1dGVkLCB0aGF0IGlzLCBpZiB0aGUgYWJzdHJhY3QgZGlzdGFuY2UKICAgICAgICBiZXR3ZWVuIGNvbnNlY3V0aXZlIG51bWVyaWMgdmFsdWVzIHZhcmllcyBhbG9uZyB0aGUgc2V0IC1hcyBpcyB0aGUgY2FzZSB3aXRoCiAgICAgICAgdGhlIGZsb2F0aW5nLXBvaW50IHR5cGVzLSwgdGhlIG1hZ25pdHVkZSBvZiAxdWxwIGFmdGVyIHRoZSBudW1lcmljIHZhbHVlCiAgICAgICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+eDwvc3Bhbj48L2NvZGU+IG1pZ2h0IGJlICh1c3VhbGx5IGlzKSBkaWZmZXJlbnQKICAgICAgICBmcm9tIHRoZSBtYWduaXR1ZGUgb2YgYSAxdWxwIGFmdGVyIHRoZSBudW1lcmljIHZhbHVlIHkgZm9yIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPng8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiE9PC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj55PC9zcGFuPjwvY29kZT4uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgU2luY2UgbnVtYmVycyBhcmUgaW5oZXJlbnRseSBvcmRlcmVkLCBhIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPm51bWVyaWMgc2V0PC9zdHJvbmc+PC9zcGFuPgogICAgICAgIG9mIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+IGlzIGFuIG9yZGVyZWQgc2VxdWVuY2UKICAgICAgICBvZiBudW1lcmljIHZhbHVlcyAob2YgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4pCiAgICAgICAgb2YgdGhlIGZvcm06CiAgICAgIDwvcD4KPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SRVA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik9ezwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+bDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+bmV4dDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+bDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KSw8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPm5leHQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPm5leHQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmw8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPikpLC4uLiw8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnByZXY8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnByZXY8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPikpLDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+cHJldjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+aDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KSw8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPn08L3NwYW4+CjwvcHJlPgo8cD4KICAgICAgICB3aGVyZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5sPC9zcGFuPjwvY29kZT4gYW5kIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmg8L3NwYW4+PC9jb2RlPiBhcmUgcmVzcGVjdGl2ZWx5IHRoZSBsb3dlc3QgYW5kIGhpZ2hlc3QKICAgICAgICB2YWx1ZXMgb2YgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4sIGNhbGxlZAogICAgICAgIHRoZSBib3VuZGFyeSB2YWx1ZXMgb2YgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZW1lZGlhb2JqZWN0Ij48aW1nIHNyYz0iLi4vaW1hZ2VzL3NwYWNlLnBuZyIgYWx0PSJzcGFjZSI+PC9zcGFuPgogICAgICA8L3A+CjxwPgogICAgICAgIEEgbnVtZXJpYyBzZXQgaXMgZGlzY3JldGUuIEl0IGhhcyBhIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPnNpemU8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgd2hpY2ggaXMgdGhlIG51bWJlciBvZiBudW1lcmljIHZhbHVlcyBpbiB0aGUgc2V0LCBhIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPndpZHRoPC9zdHJvbmc+PC9zcGFuPgogICAgICAgIHdoaWNoIGlzIHRoZSBhYnN0cmFjdCBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGhpZ2hlc3QgYW5kIGxvd2VzdCBib3VuZGFyeQogICAgICAgIHZhbHVlczogPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+YWJ0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5oPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pLTwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+YWJ0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5sPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pXTwvc3Bhbj48L2NvZGU+LCBhbmQgYSA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5kZW5zaXR5PC9zdHJvbmc+PC9zcGFuPgogICAgICAgIHdoaWNoIGlzIHRoZSByZWxhdGlvbiBiZXR3ZWVuIGl0cyBzaXplIGFuZCB3aWR0aDogPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+ZGVuc2l0eTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+PTwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+c2l6ZTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Lzwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+d2lkdGg8L3NwYW4+PC9jb2RlPi4KICAgICAgPC9wPgo8cD4KICAgICAgICBUaGUgaW50ZWdlciB0eXBlcyBoYXZlIGRlbnNpdHkgMSwgd2hpY2ggbWVhbnMgdGhhdCB0aGVyZSBhcmUgbm8gdW5yZXByZXNlbnRhYmxlCiAgICAgICAgaW50ZWdlciBudW1iZXJzIGJldHdlZW4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+YWJ0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5sPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPjwvY29kZT4KICAgICAgICBhbmQgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+YWJ0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5oPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPjwvY29kZT4gKGkuZS4KICAgICAgICB0aGVyZSBhcmUgbm8gZ2FwcykuIE9uIHRoZSBvdGhlciBoYW5kLCBmbG9hdGluZyB0eXBlcyBoYXZlIGRlbnNpdHkgbXVjaCBzbWFsbGVyCiAgICAgICAgdGhhbiAxLCB3aGljaCBtZWFucyB0aGF0IHRoZXJlIGFyZSByZWFsIG51bWJlcnMgdW5yZXByZXNlbnRlZCBiZXR3ZWVuIGNvbnNlY3V0aXZlCiAgICAgICAgZmxvYXRpbmcgdmFsdWVzIChpLmUuIHRoZXJlIGFyZSBnYXBzKS4KICAgICAgPC9wPgo8cD4KICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lbWVkaWFvYmplY3QiPjxpbWcgc3JjPSIuLi9pbWFnZXMvc3BhY2UucG5nIiBhbHQ9InNwYWNlIj48L3NwYW4+CiAgICAgIDwvcD4KPHA+CiAgICAgICAgVGhlIGludGVydmFsIG9mIDxzcGFuIGNsYXNzPSJ1bmRlcmxpbmUiPmFic3RyYWN0IHZhbHVlczwvc3Bhbj4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+YWJ0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5sPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pLDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+YWJ0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5oPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pXTwvc3Bhbj48L2NvZGU+CiAgICAgICAgaXMgdGhlIHJhbmdlIG9mIHRoZSB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PC9jb2RlPiwKICAgICAgICBkZW5vdGVkIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlI8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+PC9jb2RlPi4KICAgICAgPC9wPgo8cD4KICAgICAgICBBIHJhbmdlIGlzIGEgc2V0IG9mIGFic3RyYWN0IHZhbHVlcyBhbmQgbm90IGEgc2V0IG9mIG51bWVyaWMgdmFsdWVzLiBJbiBvdGhlcgogICAgICAgIGRvY3VtZW50cywgc3VjaCBhcyB0aGUgQysrIHN0YW5kYXJkLCB0aGUgd29yZCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5yYW5nZTwvc3Bhbj48L2NvZGU+CiAgICAgICAgaXMgPHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+c29tZXRpbWVzPC9lbT48L3NwYW4+IHVzZWQgYXMgc3lub255bSBmb3IgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+bnVtZXJpYzwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+c2V0PC9zcGFuPjwvY29kZT4sIHRoYXQgaXMsIGFzIHRoZSBvcmRlcmVkIHNlcXVlbmNlCiAgICAgICAgb2YgbnVtZXJpYyB2YWx1ZXMgZnJvbSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5sPC9zcGFuPjwvY29kZT4KICAgICAgICB0byA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5oPC9zcGFuPjwvY29kZT4uIEluIHRoaXMgZG9jdW1lbnQsIGhvd2V2ZXIsCiAgICAgICAgYSByYW5nZSBpcyBhbiBhYnN0cmFjdCBpbnRlcnZhbCB3aGljaCBzdWJ0ZW5kcyB0aGUgbnVtZXJpYyBzZXQuCiAgICAgIDwvcD4KPHA+CiAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSBzZXF1ZW5jZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj5bLTwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+REJMX01BWDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+REJMX01BWDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+XTwvc3Bhbj48L2NvZGU+CiAgICAgICAgaXMgdGhlIG51bWVyaWMgc2V0IG9mIHRoZSB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmRvdWJsZTwvc3Bhbj48L2NvZGU+LAogICAgICAgIGFuZCB0aGUgcmVhbCBpbnRlcnZhbCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5hYnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPigtPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5EQkxfTUFYPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pLDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+YWJ0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5EQkxfTUFYPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pXTwvc3Bhbj48L2NvZGU+CiAgICAgICAgaXMgaXRzIHJhbmdlLgogICAgICA8L3A+CjxwPgogICAgICAgIE5vdGljZSwgZm9yIGluc3RhbmNlLCB0aGF0IHRoZSByYW5nZSBvZiBhIGZsb2F0aW5nLXBvaW50IHR5cGUgaXMgPHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+Y29udGludW91czwvZW0+PC9zcGFuPgogICAgICAgIHVubGlrZSBpdHMgbnVtZXJpYyBzZXQuCiAgICAgIDwvcD4KPHA+CiAgICAgICAgVGhpcyBkZWZpbml0aW9uIHdhcyBjaG9zZW4gYmVjYXVzZToKICAgICAgPC9wPgo8ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CjxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPihhKTwvc3Ryb25nPjwvc3Bhbj4gVGhlIGRpc2NyZXRlIHNldCBvZiBudW1lcmljIHZhbHVlcwogICAgICAgICAgaXMgYWxyZWFkeSBnaXZlbiBieSB0aGUgbnVtZXJpYyBzZXQuCiAgICAgICAgPC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CjxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPihiKTwvc3Ryb25nPjwvc3Bhbj4gQWJzdHJhY3QgaW50ZXJ2YWxzIGFyZSBlYXNpZXIgdG8gY29tcGFyZQogICAgICAgICAgYW5kIG92ZXJsYXAgc2luY2Ugb25seSBib3VuZGFyeSB2YWx1ZXMgbmVlZCB0byBiZSBjb25zaWRlcmVkLgogICAgICAgIDwvbGk+CjwvdWw+PC9kaXY+CjxwPgogICAgICAgIFRoaXMgZGVmaW5pdGlvbiBhbGxvd3MgZm9yIGEgY29uY2lzZSBkZWZpbml0aW9uIG9mIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnN1YnJhbmdlZDwvc3Bhbj48L2NvZGU+CiAgICAgICAgYXMgZ2l2ZW4gaW4gdGhlIGxhc3Qgc2VjdGlvbi4KICAgICAgPC9wPgo8cD4KICAgICAgICBUaGUgd2lkdGggb2YgYSBudW1lcmljIHNldCwgYXMgZGVmaW5lZCwgaXMgZXhhY3RseSBlcXVpdmFsZW50IHRvIHRoZSB3aWR0aAogICAgICAgIG9mIGEgcmFuZ2UuCiAgICAgIDwvcD4KPHA+CiAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZW1lZGlhb2JqZWN0Ij48aW1nIHNyYz0iLi4vaW1hZ2VzL3NwYWNlLnBuZyIgYWx0PSJzcGFjZSI+PC9zcGFuPgogICAgICA8L3A+CjxwPgogICAgICAgIFRoZSA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5wcmVjaXNpb248L3N0cm9uZz48L3NwYW4+IG9mIGEgdHlwZSBpcyBnaXZlbiBieSB0aGUKICAgICAgICB3aWR0aCBvciBkZW5zaXR5IG9mIHRoZSBudW1lcmljIHNldC4KICAgICAgPC9wPgo8cD4KICAgICAgICBGb3IgaW50ZWdlciB0eXBlcywgd2hpY2ggaGF2ZSBkZW5zaXR5IDEsIHRoZSBwcmVjaXNpb24gaXMgY29uY2VwdHVhbGx5IGVxdWl2YWxlbnQKICAgICAgICB0byB0aGUgcmFuZ2UgYW5kIGlzIGRldGVybWluZWQgYnkgdGhlIG51bWJlciBvZiBiaXRzIHVzZWQgaW4gdGhlIHZhbHVlIHJlcHJlc2VudGF0aW9uOgogICAgICAgIFRoZSBoaWdoZXIgdGhlIG51bWJlciBvZiBiaXRzIHRoZSBiaWdnZXIgdGhlIHNpemUgb2YgdGhlIG51bWVyaWMgc2V0LCB0aGUKICAgICAgICB3aWRlciB0aGUgcmFuZ2UsIGFuZCB0aGUgaGlnaGVyIHRoZSBwcmVjaXNpb24uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgRm9yIGZsb2F0aW5nIHR5cGVzLCB3aGljaCBoYXZlIGRlbnNpdHkgJmx0OyZsdDsxLCB0aGUgcHJlY2lzaW9uIGlzIGdpdmVuCiAgICAgICAgbm90IGJ5IHRoZSB3aWR0aCBvZiB0aGUgcmFuZ2UgYnV0IGJ5IHRoZSBkZW5zaXR5LiBJbiBhIHR5cGljYWwgaW1wbGVtZW50YXRpb24sCiAgICAgICAgdGhlIHJhbmdlIGlzIGRldGVybWluZWQgYnkgdGhlIG51bWJlciBvZiBiaXRzIHVzZWQgaW4gdGhlIGV4cG9uZW50LCBhbmQgdGhlCiAgICAgICAgcHJlY2lzaW9uIGJ5IHRoZSBudW1iZXIgb2YgYml0cyB1c2VkIGluIHRoZSBtYW50aXNzYSAoZ2l2aW5nIHRoZSBtYXhpbXVtCiAgICAgICAgbnVtYmVyIG9mIHNpZ25pZmljYW50IGRpZ2l0cyB0aGF0IGNhbiBiZSBleGFjdGx5IHJlcHJlc2VudGVkKS4gVGhlIGhpZ2hlcgogICAgICAgIHRoZSBudW1iZXIgb2YgZXhwb25lbnQgYml0cyB0aGUgd2lkZXIgdGhlIHJhbmdlLCB3aGlsZSB0aGUgaGlnaGVyIHRoZSBudW1iZXIKICAgICAgICBvZiBtYW50aXNzYSBiaXRzLCB0aGUgaGlnaGVyIHRoZSBwcmVjaXNpb24uCiAgICAgIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iIHRpdGxlPSJFeGFjdCwgQ29ycmVjdGx5IFJvdW5kZWQgYW5kIE91dC1PZi1SYW5nZSBSZXByZXNlbnRhdGlvbnMiPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj4KPGEgbmFtZT0iYm9vc3RfbnVtZXJpY2NvbnZlcnNpb24uZGVmaW5pdGlvbnMuZXhhY3RfX2NvcnJlY3RseV9yb3VuZGVkX2FuZF9vdXRfb2ZfcmFuZ2VfcmVwcmVzZW50YXRpb25zIj48L2E+PGEgY2xhc3M9ImxpbmsiIGhyZWY9ImRlZmluaXRpb25zLmh0bWwjYm9vc3RfbnVtZXJpY2NvbnZlcnNpb24uZGVmaW5pdGlvbnMuZXhhY3RfX2NvcnJlY3RseV9yb3VuZGVkX2FuZF9vdXRfb2ZfcmFuZ2VfcmVwcmVzZW50YXRpb25zIiB0aXRsZT0iRXhhY3QsIENvcnJlY3RseSBSb3VuZGVkIGFuZCBPdXQtT2YtUmFuZ2UgUmVwcmVzZW50YXRpb25zIj5FeGFjdCwKICAgICAgQ29ycmVjdGx5IFJvdW5kZWQgYW5kIE91dC1PZi1SYW5nZSBSZXByZXNlbnRhdGlvbnM8L2E+CjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwPgogICAgICAgIEdpdmVuIGFuIGFic3RyYWN0IHZhbHVlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlY8L3NwYW4+PC9jb2RlPgogICAgICAgIGFuZCBhIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+IHdpdGggaXRzIGNvcnJlc3BvbmRpbmcKICAgICAgICByYW5nZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5hYnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmw8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiksPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5hYnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPildPC9zcGFuPjwvY29kZT46CiAgICAgIDwvcD4KPHA+CiAgICAgICAgSWYgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Vjwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPiZsdDs8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmFidDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+bDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+IG9yCiAgICAgICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Vjwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPiZndDs8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmFidDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+aDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+LCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5WPC9zcGFuPjwvY29kZT4gaXMgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+bm90IHJlcHJlc2VudGFibGU8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgKGNhbm5vdCBiZSByZXByZXNlbnRlZCkgaW4gdGhlIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+LAogICAgICAgIG9yLCBlcXVpdmFsZW50bHksIGl0J3MgcmVwcmVzZW50YXRpb24gaW4gdGhlIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+CiAgICAgICAgaXMgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+b3V0IG9mIHJhbmdlPC9zdHJvbmc+PC9zcGFuPiwgb3IgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+b3ZlcmZsb3dzPC9zdHJvbmc+PC9zcGFuPi4KICAgICAgPC9wPgo8ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CiAgICAgICAgICBJZiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5WPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmx0Ozwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5hYnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmw8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+PC9jb2RlPiwgdGhlCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5vdmVyZmxvdyBpcyBuZWdhdGl2ZTwvc3Ryb25nPjwvc3Bhbj4uCiAgICAgICAgPC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CiAgICAgICAgICBJZiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5WPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmd0Ozwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5hYnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+PC9jb2RlPiwgdGhlCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5vdmVyZmxvdyBpcyBwb3NpdGl2ZTwvc3Ryb25nPjwvc3Bhbj4uCiAgICAgICAgPC9saT4KPC91bD48L2Rpdj4KPHA+CiAgICAgICAgSWYgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Vjwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPiZndDs9PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5hYnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmw8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+PC9jb2RlPiBhbmQKICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5WPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmx0Oz08L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmFidDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+aDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+LCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5WPC9zcGFuPjwvY29kZT4gaXMgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+cmVwcmVzZW50YWJsZTwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAoY2FuIGJlIHJlcHJlc2VudGVkKSBpbiB0aGUgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4sCiAgICAgICAgb3IsIGVxdWl2YWxlbnRseSwgaXRzIHJlcHJlc2VudGF0aW9uIGluIHRoZSB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PC9jb2RlPgogICAgICAgIGlzIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPmluIHJhbmdlPC9zdHJvbmc+PC9zcGFuPiwgb3IgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+ZG9lcwogICAgICAgIG5vdCBvdmVyZmxvdzwvc3Ryb25nPjwvc3Bhbj4uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgTm90aWNlIHRoYXQgYSBudW1lcmljIHR5cGUsIHN1Y2ggYXMgYSBDKysgdW5zaWduZWQgdHlwZSwgY2FuIGRlZmluZSB0aGF0CiAgICAgICAgYW55IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlY8L3NwYW4+PC9jb2RlPiBkb2VzIG5vdCBvdmVyZmxvdyBieQogICAgICAgIGFsd2F5cyByZXByZXNlbnRpbmcgbm90IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlY8L3NwYW4+PC9jb2RlPgogICAgICAgIGl0c2VsZiBidXQgdGhlIGFic3RyYWN0IHZhbHVlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlU8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InNwZWNpYWwiPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj5bPC9zcGFuPiA8c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Vjwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPiU8L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5hYnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPikrPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjE8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InNwZWNpYWwiPl08L3NwYW4+PC9jb2RlPiwgd2hpY2ggaXMgYWx3YXlzIGluIHJhbmdlLgogICAgICA8L3A+CjxwPgogICAgICAgIEdpdmVuIGFuIGFic3RyYWN0IHZhbHVlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlY8L3NwYW4+PC9jb2RlPgogICAgICAgIHJlcHJlc2VudGVkIGluIHRoZSB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PC9jb2RlPgogICAgICAgIGFzIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnY8L3NwYW4+PC9jb2RlPiwgdGhlIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPnJvdW5kb2ZmPC9zdHJvbmc+PC9zcGFuPgogICAgICAgIGVycm9yIG9mIHRoZSByZXByZXNlbnRhdGlvbiBpcyB0aGUgYWJzdHJhY3QgZGlmZmVyZW5jZTogPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+YWJ0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj52PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pLTwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Vjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+LgogICAgICA8L3A+CjxwPgogICAgICAgIE5vdGljZSB0aGF0IGEgcmVwcmVzZW50YXRpb24gaXMgYW4gPHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+b3BlcmF0aW9uPC9lbT48L3NwYW4+LCBoZW5jZSwKICAgICAgICB0aGUgcm91bmRvZmYgZXJyb3IgY29ycmVzcG9uZHMgdG8gdGhlIHJlcHJlc2VudGF0aW9uIG9wZXJhdGlvbiBhbmQgbm90IHRvCiAgICAgICAgdGhlIG51bWVyaWMgdmFsdWUgaXRzZWxmIChpLmUuIG51bWVyaWMgdmFsdWVzIGRvIG5vdCBoYXZlIGFueSBlcnJvciB0aGVtc2VsdmVzKQogICAgICA8L3A+CjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5cGU9ImRpc2MiPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgIElmIHRoZSByb3VuZG9mZiBpcyAwLCB0aGUgcmVwcmVzZW50YXRpb24gaXMgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+ZXhhY3Q8L3N0cm9uZz48L3NwYW4+LAogICAgICAgICAgYW5kIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlY8L3NwYW4+PC9jb2RlPiBpcyBleGFjdGx5IHJlcHJlc2VudGFibGUKICAgICAgICAgIGluIHRoZSB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PC9jb2RlPi4KICAgICAgICA8L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgIElmIHRoZSByb3VuZG9mZiBpcyBub3QgMCwgdGhlIHJlcHJlc2VudGF0aW9uIGlzIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPmluZXhhY3Q8L3N0cm9uZz48L3NwYW4+LAogICAgICAgICAgYW5kIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlY8L3NwYW4+PC9jb2RlPiBpcyBpbmV4YWN0bHkgcmVwcmVzZW50YWJsZQogICAgICAgICAgaW4gdGhlIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+LgogICAgICAgIDwvbGk+CjwvdWw+PC9kaXY+CjxwPgogICAgICAgIElmIGEgcmVwcmVzZW50YXRpb24gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+djwvc3Bhbj48L2NvZGU+IGluCiAgICAgICAgYSB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PC9jb2RlPiAtZWl0aGVyIGV4YWN0IG9yCiAgICAgICAgaW5leGFjdC0sIGlzIGFueSBvZiB0aGUgYWRqYWNlbnRzIG9mIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlY8L3NwYW4+PC9jb2RlPgogICAgICAgIGluIHRoYXQgdHlwZSwgdGhhdCBpcywgaWYgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+djwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+PT08L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnByZXY8L3NwYW4+PC9jb2RlPgogICAgICAgIG9yIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnY8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPj09PC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5uZXh0PC9zcGFuPjwvY29kZT4sIHRoZSByZXByZXNlbnRhdGlvbiBpcyBmYWl0aGZ1bGx5CiAgICAgICAgcm91bmRlZC4gSWYgdGhlIGNob2ljZSBiZXR3ZWVuIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnByZXY8L3NwYW4+PC9jb2RlPgogICAgICAgIGFuZCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5uZXh0PC9zcGFuPjwvY29kZT4gbWF0Y2hlcyBhIGdpdmVuCiAgICAgICAgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+cm91bmRpbmcgZGlyZWN0aW9uPC9zdHJvbmc+PC9zcGFuPiwgaXQgaXMgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+Y29ycmVjdGx5CiAgICAgICAgcm91bmRlZDwvc3Ryb25nPjwvc3Bhbj4uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgQWxsIGV4YWN0IHJlcHJlc2VudGF0aW9ucyBhcmUgY29ycmVjdGx5IHJvdW5kZWQsIGJ1dCBub3QgYWxsIGluZXhhY3QgcmVwcmVzZW50YXRpb25zCiAgICAgICAgYXJlLiBJbiBwYXJ0aWN1bGFyLCBDKysgcmVxdWlyZXMgbnVtZXJpYyBjb252ZXJzaW9ucyAoZGVzY3JpYmVkIGJlbG93KSBhbmQKICAgICAgICB0aGUgcmVzdWx0IG9mIGFyaXRobWV0aWMgb3BlcmF0aW9ucyAobm90IGNvdmVyZWQgYnkgdGhpcyBkb2N1bWVudCkgdG8gYmUKICAgICAgICBjb3JyZWN0bHkgcm91bmRlZCwgYnV0IGJhdGNoIG9wZXJhdGlvbnMgcHJvcGFnYXRlIHJvdW5kb2ZmLCB0aHVzIGZpbmFsIHJlc3VsdHMKICAgICAgICBhcmUgdXN1YWxseSBpbmNvcnJlY3RseSByb3VuZGVkLCB0aGF0IGlzLCB0aGUgbnVtZXJpYyB2YWx1ZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5yPC9zcGFuPjwvY29kZT4gd2hpY2ggaXMgdGhlIGNvbXB1dGVkIHJlc3VsdCBpcyBuZWl0aGVyCiAgICAgICAgb2YgdGhlIGFkamFjZW50cyBvZiB0aGUgYWJzdHJhY3QgdmFsdWUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Ujwvc3Bhbj48L2NvZGU+CiAgICAgICAgd2hpY2ggaXMgdGhlIHRoZW9yZXRpY2FsIHJlc3VsdC4KICAgICAgPC9wPgo8cD4KICAgICAgICBCZWNhdXNlIGEgY29ycmVjdGx5IHJvdW5kZWQgcmVwcmVzZW50YXRpb24gaXMgYWx3YXlzIG9uZSBvZiBhZGphY2VudHMgb2YKICAgICAgICB0aGUgYWJzdHJhY3QgdmFsdWUgYmVpbmcgcmVwcmVzZW50ZWQsIHRoZSByb3VuZG9mZiBpcyBndWFyYW50ZWVkIHRvIGJlIGF0CiAgICAgICAgbW9zdCAxdWxwLgogICAgICA8L3A+CjxwPgogICAgICAgIFRoZSBmb2xsb3dpbmcgZXhhbXBsZXMgc3VtbWFyaXplIHRoZSBnaXZlbiBkZWZpbml0aW9ucy4gQ29uc2lkZXI6CiAgICAgIDwvcD4KPGRpdiBjbGFzcz0iaXRlbWl6ZWRsaXN0Ij48dWwgY2xhc3M9Iml0ZW1pemVkbGlzdCIgdHlwZT0iZGlzYyI+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgogICAgICAgICAgQSBudW1lcmljIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+SW50PC9zcGFuPjwvY29kZT4gcmVwcmVzZW50aW5nCiAgICAgICAgICBpbnRlZ2VyIG51bWJlcnMgd2l0aCBhIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPm51bWVyaWMgc2V0PC9lbT48L3NwYW4+OiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj57LTwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sLTwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj59PC9zcGFuPjwvY29kZT4gYW5kIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPnJhbmdlPC9lbT48L3NwYW4+OgogICAgICAgICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Wy08L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+Mjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj5dPC9zcGFuPjwvY29kZT4KPC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CiAgICAgICAgICBBIG51bWVyaWMgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5DYXJkaW5hbDwvc3Bhbj48L2NvZGU+CiAgICAgICAgICByZXByZXNlbnRpbmcgaW50ZWdlciBudW1iZXJzIHdpdGggYSA8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5udW1lcmljIHNldDwvZW0+PC9zcGFuPjoKICAgICAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPns8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjI8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+Mzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj40PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjU8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+Njwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj43PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+OTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+fTwvc3Bhbj48L2NvZGU+IGFuZCA8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5yYW5nZTwvZW0+PC9zcGFuPjogPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjk8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPl08L3NwYW4+PC9jb2RlPiAobm8gbW9kdWxvLWFyaXRobWV0aWMKICAgICAgICAgIGhlcmUpCiAgICAgICAgPC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CiAgICAgICAgICBBIG51bWVyaWMgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SZWFsPC9zcGFuPjwvY29kZT4gcmVwcmVzZW50aW5nCiAgICAgICAgICByZWFsIG51bWJlcnMgd2l0aCBhIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPm51bWVyaWMgc2V0PC9lbT48L3NwYW4+OiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj57LTwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiwtPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjEuNTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LC08L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MS4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sLTwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4wLjU8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiwtPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjAuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LCs8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MC4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sKzwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4wLjU8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiwrPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjEuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LCs8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MS41PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sKzwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPn08L3NwYW4+PC9jb2RlPiBhbmQKICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPnJhbmdlPC9lbT48L3NwYW4+OiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj5bLTwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiwrPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+XTwvc3Bhbj48L2NvZGU+CjwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgogICAgICAgICAgQSBudW1lcmljIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+V2hvbGU8L3NwYW4+PC9jb2RlPiByZXByZXNlbnRpbmcKICAgICAgICAgIHJlYWwgbnVtYmVycyB3aXRoIGEgPHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+bnVtZXJpYyBzZXQ8L2VtPjwvc3Bhbj46IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPnstPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LC08L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MS4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjAuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LCs8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MS4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sKzwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPn08L3NwYW4+PC9jb2RlPiBhbmQgPHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+cmFuZ2U8L2VtPjwvc3Bhbj46IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPlstPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LCs8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+Mi4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj5dPC9zcGFuPjwvY29kZT4KPC9saT4KPC91bD48L2Rpdj4KPHA+CiAgICAgICAgRmlyc3QsIG5vdGljZSB0aGF0IHRoZSB0eXBlcyA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SZWFsPC9zcGFuPjwvY29kZT4KICAgICAgICBhbmQgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+V2hvbGU8L3NwYW4+PC9jb2RlPiBib3RoIHJlcHJlc2VudAogICAgICAgIHJlYWwgbnVtYmVycywgaGF2ZSB0aGUgc2FtZSByYW5nZSwgYnV0IGRpZmZlcmVudCBwcmVjaXNpb24uCiAgICAgIDwvcD4KPGRpdiBjbGFzcz0iaXRlbWl6ZWRsaXN0Ij48dWwgY2xhc3M9Iml0ZW1pemVkbGlzdCIgdHlwZT0iZGlzYyI+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgogICAgICAgICAgVGhlIGludGVnZXIgbnVtYmVyIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9Im51bWJlciI+MTwvc3Bhbj48L2NvZGU+IChhbiBhYnN0cmFjdAogICAgICAgICAgdmFsdWUpIGNhbiBiZSBleGFjdGx5IHJlcHJlc2VudGVkIGluIGFueSBvZiB0aGVzZSB0eXBlcy4KICAgICAgICA8L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgIFRoZSBpbnRlZ2VyIG51bWJlciA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4tPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjE8L3NwYW4+PC9jb2RlPgogICAgICAgICAgY2FuIGJlIGV4YWN0bHkgcmVwcmVzZW50ZWQgaW4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+SW50PC9zcGFuPjwvY29kZT4sCiAgICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SZWFsPC9zcGFuPjwvY29kZT4gYW5kIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPldob2xlPC9zcGFuPjwvY29kZT4sIGJ1dCBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgaW4KICAgICAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPkNhcmRpbmFsPC9zcGFuPjwvY29kZT4sIHlpZWxkaW5nIG5lZ2F0aXZlCiAgICAgICAgICBvdmVyZmxvdy4KICAgICAgICA8L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgIFRoZSByZWFsIG51bWJlciA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJudW1iZXIiPjEuNTwvc3Bhbj48L2NvZGU+IGNhbiBiZQogICAgICAgICAgZXhhY3RseSByZXByZXNlbnRlZCBpbiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SZWFsPC9zcGFuPjwvY29kZT4sCiAgICAgICAgICBhbmQgaW5leGFjdGx5IHJlcHJlc2VudGVkIGluIHRoZSBvdGhlciB0eXBlcy4KICAgICAgICA8L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgIElmIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9Im51bWJlciI+MS41PC9zcGFuPjwvY29kZT4gaXMgcmVwcmVzZW50ZWQgYXMgZWl0aGVyCiAgICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJudW1iZXIiPjE8L3NwYW4+PC9jb2RlPiBvciA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJudW1iZXIiPjI8L3NwYW4+PC9jb2RlPgogICAgICAgICAgaW4gYW55IG9mIHRoZSB0eXBlcyAoZXhjZXB0IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlJlYWw8L3NwYW4+PC9jb2RlPiksCiAgICAgICAgICB0aGUgcmVwcmVzZW50YXRpb24gaXMgY29ycmVjdGx5IHJvdW5kZWQuCiAgICAgICAgPC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CiAgICAgICAgICBJZiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJudW1iZXIiPjAuNTwvc3Bhbj48L2NvZGU+IGlzIHJlcHJlc2VudGVkIGFzIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPis8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MS41PC9zcGFuPjwvY29kZT4gaW4gdGhlCiAgICAgICAgICB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlJlYWw8L3NwYW4+PC9jb2RlPiwgaXQgaXMgaW5jb3JyZWN0bHkKICAgICAgICAgIHJvdW5kZWQuCiAgICAgICAgPC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+Cjxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPigtPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LC08L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MS41PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPjwvY29kZT4KICAgICAgICAgIGFyZSB0aGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+UmVhbDwvc3Bhbj48L2NvZGU+IGFkamFjZW50cwogICAgICAgICAgb2YgYW55IHJlYWwgbnVtYmVyIGluIHRoZSBpbnRlcnZhbCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj5bLTwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiwtPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjEuNTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+XTwvc3Bhbj48L2NvZGU+LCB5ZXQgdGhlcmUgYXJlIG5vIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlJlYWw8L3NwYW4+PC9jb2RlPgogICAgICAgICAgYWRqYWNlbnRzIGZvciA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj54PC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmx0Ozwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVjaWFsIj4tPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj48L2NvZGU+LAogICAgICAgICAgbm9yIGZvciA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj54PC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmd0Ozwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVjaWFsIj4rPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj48L2NvZGU+LgogICAgICAgIDwvbGk+CjwvdWw+PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iU3RhbmRhcmQgKG51bWVyaWMpIENvbnZlcnNpb25zIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9ImJvb3N0X251bWVyaWNjb252ZXJzaW9uLmRlZmluaXRpb25zLnN0YW5kYXJkX19udW1lcmljX19jb252ZXJzaW9ucyI+PC9hPjxhIGNsYXNzPSJsaW5rIiBocmVmPSJkZWZpbml0aW9ucy5odG1sI2Jvb3N0X251bWVyaWNjb252ZXJzaW9uLmRlZmluaXRpb25zLnN0YW5kYXJkX19udW1lcmljX19jb252ZXJzaW9ucyIgdGl0bGU9IlN0YW5kYXJkIChudW1lcmljKSBDb252ZXJzaW9ucyI+U3RhbmRhcmQKICAgICAgKG51bWVyaWMpIENvbnZlcnNpb25zPC9hPgo8L2gzPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cD4KICAgICAgICBUaGUgQysrIGxhbmd1YWdlIGRlZmluZXMgPHNwYW4gY2xhc3M9InVuZGVybGluZSI+U3RhbmRhcmQgQ29udmVyc2lvbnM8L3NwYW4+CiAgICAgICAgKKc0KSBzb21lIG9mIHdoaWNoIGFyZSBjb252ZXJzaW9ucyBiZXR3ZWVuIGFyaXRobWV0aWMgdHlwZXMuCiAgICAgIDwvcD4KPHA+CiAgICAgICAgVGhlc2UgYXJlIDxzcGFuIGNsYXNzPSJ1bmRlcmxpbmUiPkludGVncmFsIHByb21vdGlvbnM8L3NwYW4+ICinNC41KSwKICAgICAgICA8c3BhbiBjbGFzcz0idW5kZXJsaW5lIj5JbnRlZ3JhbCBjb252ZXJzaW9uczwvc3Bhbj4gKKc0LjcpLCA8c3BhbiBjbGFzcz0idW5kZXJsaW5lIj5GbG9hdGluZyBwb2ludCBwcm9tb3Rpb25zPC9zcGFuPiAopzQuNiksIDxzcGFuIGNsYXNzPSJ1bmRlcmxpbmUiPkZsb2F0aW5nIHBvaW50IGNvbnZlcnNpb25zPC9zcGFuPiAopzQuOCkgYW5kIDxzcGFuIGNsYXNzPSJ1bmRlcmxpbmUiPkZsb2F0aW5nLWludGVncmFsIGNvbnZlcnNpb25zPC9zcGFuPiAopzQuOSkuCiAgICAgIDwvcD4KPHA+CiAgICAgICAgSW4gdGhlIHNlcXVlbCwgaW50ZWdyYWwgYW5kIGZsb2F0aW5nIHBvaW50IHByb21vdGlvbnMgYXJlIGNhbGxlZCA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5hcml0aG1ldGljIHByb21vdGlvbnM8L3N0cm9uZz48L3NwYW4+LCBhbmQgdGhlc2UgcGx1cyBpbnRlZ3JhbCwgZmxvYXRpbmctcG9pbnQKICAgICAgICBhbmQgZmxvYXRpbmctaW50ZWdyYWwgY29udmVyc2lvbnMgYXJlIGNhbGxlZCA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5hcml0aG1ldGljCiAgICAgICAgY29udmVyc2lvbnM8L3N0cm9uZz48L3NwYW4+IChpLmUsIHByb21vdGlvbnMgYXJlIGNvbnZlcnNpb25zKS4KICAgICAgPC9wPgo8cD4KICAgICAgICBQcm9tb3Rpb25zLCBib3RoIEludGVncmFsIGFuZCBGbG9hdGluZyBwb2ludCwgYXJlIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPnZhbHVlLXByZXNlcnZpbmc8L2VtPjwvc3Bhbj4sCiAgICAgICAgd2hpY2ggbWVhbnMgdGhhdCB0aGUgdHlwZWQgdmFsdWUgaXMgbm90IGNoYW5nZWQgd2l0aCB0aGUgY29udmVyc2lvbi4KICAgICAgPC9wPgo8cD4KICAgICAgICBJbiB0aGUgc2VxdWVsLCBjb25zaWRlciBhIHNvdXJjZSB0eXBlZCB2YWx1ZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5zPC9zcGFuPjwvY29kZT4KICAgICAgICBvZiB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlM8L3NwYW4+PC9jb2RlPiwgdGhlIHNvdXJjZSBhYnN0cmFjdAogICAgICAgIHZhbHVlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPj08L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmFidDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+czwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+LCBhIGRlc3RpbmF0aW9uIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+OwogICAgICAgIGFuZCB3aGVuZXZlciBwb3NzaWJsZSwgYSByZXN1bHQgdHlwZWQgdmFsdWUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+dDwvc3Bhbj48L2NvZGU+CiAgICAgICAgb2YgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4uCiAgICAgIDwvcD4KPHA+CiAgICAgICAgSW50ZWdlciB0byBpbnRlZ2VyIGNvbnZlcnNpb25zIGFyZSBhbHdheXMgZGVmaW5lZDoKICAgICAgPC9wPgo8ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CiAgICAgICAgICBJZiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4gaXMgdW5zaWduZWQsIHRoZSBhYnN0cmFjdAogICAgICAgICAgdmFsdWUgd2hpY2ggaXMgZWZmZWN0aXZlbHkgcmVwcmVzZW50ZWQgaXMgbm90IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk48L3NwYW4+PC9jb2RlPgogICAgICAgICAgYnV0IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk08L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPj1bPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk48L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj4lPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5hYnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Kzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im51bWJlciI+MTwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj5dPC9zcGFuPjwvY29kZT4sIHdoZXJlCiAgICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5oPC9zcGFuPjwvY29kZT4gaXMgdGhlIGhpZ2hlc3QgdW5zaWduZWQKICAgICAgICAgIHR5cGVkIHZhbHVlIG9mIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+LgogICAgICAgIDwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgogICAgICAgICAgSWYgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+IGlzIHNpZ25lZCBhbmQgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Tjwvc3Bhbj48L2NvZGU+IGlzIG5vdCBkaXJlY3RseSByZXByZXNlbnRhYmxlLCB0aGUKICAgICAgICAgIHJlc3VsdCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj50PC9zcGFuPjwvY29kZT4gaXMgPHNwYW4gY2xhc3M9InVuZGVybGluZSI+aW1wbGVtZW50YXRpb24tZGVmaW5lZDwvc3Bhbj4sCiAgICAgICAgICB3aGljaCBtZWFucyB0aGF0IHRoZSBDKysgaW1wbGVtZW50YXRpb24gaXMgcmVxdWlyZWQgdG8gcHJvZHVjZSBhIHZhbHVlCiAgICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj50PC9zcGFuPjwvY29kZT4gZXZlbiBpZiBpdCBpcyB0b3RhbGx5CiAgICAgICAgICB1bnJlbGF0ZWQgdG8gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+czwvc3Bhbj48L2NvZGU+LgogICAgICAgIDwvbGk+CjwvdWw+PC9kaXY+CjxwPgogICAgICAgIEZsb2F0aW5nIHRvIEZsb2F0aW5nIGNvbnZlcnNpb25zIGFyZSBkZWZpbmVkIG9ubHkgaWYgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Tjwvc3Bhbj48L2NvZGU+CiAgICAgICAgaXMgcmVwcmVzZW50YWJsZTsgaWYgaXQgaXMgbm90LCB0aGUgY29udmVyc2lvbiBoYXMgPHNwYW4gY2xhc3M9InVuZGVybGluZSI+dW5kZWZpbmVkCiAgICAgICAgYmVoYXZpb3I8L3NwYW4+LgogICAgICA8L3A+CjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5cGU9ImRpc2MiPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgIElmIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk48L3NwYW4+PC9jb2RlPiBpcyBleGFjdGx5IHJlcHJlc2VudGFibGUsCiAgICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj50PC9zcGFuPjwvY29kZT4gaXMgcmVxdWlyZWQgdG8gYmUgdGhlCiAgICAgICAgICBleGFjdCByZXByZXNlbnRhdGlvbi4KICAgICAgICA8L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgIElmIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk48L3NwYW4+PC9jb2RlPiBpcyBpbmV4YWN0bHkgcmVwcmVzZW50YWJsZSwKICAgICAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnQ8L3NwYW4+PC9jb2RlPiBpcyByZXF1aXJlZCB0byBiZSBvbmUKICAgICAgICAgIG9mIHRoZSB0d28gYWRqYWNlbnRzLCB3aXRoIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgY2hvaWNlIG9mIHJvdW5kaW5nCiAgICAgICAgICBkaXJlY3Rpb247IHRoYXQgaXMsIHRoZSBjb252ZXJzaW9uIGlzIHJlcXVpcmVkIHRvIGJlIGNvcnJlY3RseSByb3VuZGVkLgogICAgICAgIDwvbGk+CjwvdWw+PC9kaXY+CjxwPgogICAgICAgIEZsb2F0aW5nIHRvIEludGVnZXIgY29udmVyc2lvbnMgcmVwcmVzZW50IG5vdCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5OPC9zcGFuPjwvY29kZT4KICAgICAgICBidXQgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+TTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+PTwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+dHJ1bmM8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+PC9jb2RlPiwgd2VyZQogICAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnRydW5jPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oKTwvc3Bhbj48L2NvZGU+CiAgICAgICAgaXMgdG8gdHJ1bmNhdGU6IGkuZS4gdG8gcmVtb3ZlIHRoZSBmcmFjdGlvbmFsIHBhcnQsIGlmIGFueS4KICAgICAgPC9wPgo8ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj48bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgIElmIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk08L3NwYW4+PC9jb2RlPiBpcyBub3QgcmVwcmVzZW50YWJsZQogICAgICAgICAgaW4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+LCB0aGUgY29udmVyc2lvbiBoYXMKICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bmRlcmxpbmUiPnVuZGVmaW5lZCBiZWhhdmlvcjwvc3Bhbj4gKHVubGVzcyA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4gaXMgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ia2V5d29yZCI+Ym9vbDwvc3Bhbj48L2NvZGU+LAogICAgICAgICAgc2VlIKc0LjEyKS4KICAgICAgICA8L2xpPjwvdWw+PC9kaXY+CjxwPgogICAgICAgIEludGVnZXIgdG8gRmxvYXRpbmcgY29udmVyc2lvbnMgYXJlIGFsd2F5cyBkZWZpbmVkLgogICAgICA8L3A+CjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5cGU9ImRpc2MiPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgIElmIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk48L3NwYW4+PC9jb2RlPiBpcyBleGFjdGx5IHJlcHJlc2VudGFibGUsCiAgICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj50PC9zcGFuPjwvY29kZT4gaXMgcmVxdWlyZWQgdG8gYmUgdGhlCiAgICAgICAgICBleGFjdCByZXByZXNlbnRhdGlvbi4KICAgICAgICA8L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgIElmIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPk48L3NwYW4+PC9jb2RlPiBpcyBpbmV4YWN0bHkgcmVwcmVzZW50YWJsZSwKICAgICAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnQ8L3NwYW4+PC9jb2RlPiBpcyByZXF1aXJlZCB0byBiZSBvbmUKICAgICAgICAgIG9mIHRoZSB0d28gYWRqYWNlbnRzLCB3aXRoIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgY2hvaWNlIG9mIHJvdW5kaW5nCiAgICAgICAgICBkaXJlY3Rpb247IHRoYXQgaXMsIHRoZSBjb252ZXJzaW9uIGlzIHJlcXVpcmVkIHRvIGJlIGNvcnJlY3RseSByb3VuZGVkLgogICAgICAgIDwvbGk+CjwvdWw+PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiB0aXRsZT0iU3VicmFuZ2VkIENvbnZlcnNpb24gRGlyZWN0aW9uLCBTdWJ0eXBlIGFuZCBTdXBlcnR5cGUiPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj4KPGEgbmFtZT0iYm9vc3RfbnVtZXJpY2NvbnZlcnNpb24uZGVmaW5pdGlvbnMuc3VicmFuZ2VkX2NvbnZlcnNpb25fZGlyZWN0aW9uX19zdWJ0eXBlX2FuZF9zdXBlcnR5cGUiPjwvYT48YSBjbGFzcz0ibGluayIgaHJlZj0iZGVmaW5pdGlvbnMuaHRtbCNib29zdF9udW1lcmljY29udmVyc2lvbi5kZWZpbml0aW9ucy5zdWJyYW5nZWRfY29udmVyc2lvbl9kaXJlY3Rpb25fX3N1YnR5cGVfYW5kX3N1cGVydHlwZSIgdGl0bGU9IlN1YnJhbmdlZCBDb252ZXJzaW9uIERpcmVjdGlvbiwgU3VidHlwZSBhbmQgU3VwZXJ0eXBlIj5TdWJyYW5nZWQKICAgICAgQ29udmVyc2lvbiBEaXJlY3Rpb24sIFN1YnR5cGUgYW5kIFN1cGVydHlwZTwvYT4KPC9oMz48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+CiAgICAgICAgR2l2ZW4gYSBzb3VyY2UgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5TPC9zcGFuPjwvY29kZT4gYW5kCiAgICAgICAgYSBkZXN0aW5hdGlvbiB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PC9jb2RlPiwgdGhlcmUKICAgICAgICBpcyBhIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPmNvbnZlcnNpb24gZGlyZWN0aW9uPC9zdHJvbmc+PC9zcGFuPiBkZW5vdGVkOiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5TPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4tJmd0Ozwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+LgogICAgICA8L3A+CjxwPgogICAgICAgIEZvciBhbnkgdHdvIHJhbmdlcyB0aGUgZm9sbG93aW5nIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPnJhbmdlIHJlbGF0aW9uPC9lbT48L3NwYW4+IGNhbgogICAgICAgIGJlIGRlZmluZWQ6IEEgcmFuZ2UgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+WDwvc3Bhbj48L2NvZGU+IGNhbgogICAgICAgIGJlIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPmVudGlyZWx5IGNvbnRhaW5lZDwvZW0+PC9zcGFuPiBpbiBhIHJhbmdlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlk8L3NwYW4+PC9jb2RlPiwKICAgICAgICBpbiB3aGljaCBjYXNlIGl0IGlzIHNhaWQgdGhhdCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5YPC9zcGFuPjwvY29kZT4KICAgICAgICBpcyBlbmNsb3NlZCBieSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5ZPC9zcGFuPjwvY29kZT4uCiAgICAgIDwvcD4KPGRpdiBjbGFzcz0iYmxvY2txdW90ZSI+PGJsb2NrcXVvdGUgY2xhc3M9ImJsb2NrcXVvdGUiPgo8cD4KICAgICAgICAgIDwvcD4KPHA+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPkZvcm1hbGx5Ojwvc3Ryb25nPjwvc3Bhbj4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Ujwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Uzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+IGlzIGVuY2xvc2VkIGJ5IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlI8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+PC9jb2RlPiBpaWYgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Ujwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Uzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPmludGVyc2VjdGlvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlI8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPikpPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5TPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPjwvY29kZT4uCiAgICAgICAgICA8L3A+CjxwPgogICAgICAgIDwvcD4KPC9ibG9ja3F1b3RlPjwvZGl2Pgo8cD4KICAgICAgICBJZiB0aGUgc291cmNlIHR5cGUgcmFuZ2UsIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlI8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlM8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+PC9jb2RlPiwKICAgICAgICBpcyBub3QgZW5jbG9zZWQgaW4gdGhlIHRhcmdldCB0eXBlIHJhbmdlLCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPjwvY29kZT47CiAgICAgICAgdGhhdCBpcywgaWYgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Ujwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Uzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+JmFtcDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pKTwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+IT08L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5TPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPjwvY29kZT4sCiAgICAgICAgdGhlIGNvbnZlcnNpb24gZGlyZWN0aW9uIGlzIHNhaWQgdG8gYmUgPHNwYW4gY2xhc3M9ImJvbGQiPjxzdHJvbmc+c3VicmFuZ2VkPC9zdHJvbmc+PC9zcGFuPiwKICAgICAgICB3aGljaCBtZWFucyB0aGF0IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlI8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlM8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+PC9jb2RlPiBpcyBub3QKICAgICAgICBlbnRpcmVseSBjb250YWluZWQgaW4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Ujwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+IGFuZAogICAgICAgIHRoZXJlZm9yZSB0aGVyZSBpcyBzb21lIHBvcnRpb24gb2YgdGhlIHNvdXJjZSByYW5nZSB3aGljaCBmYWxscyBvdXRzaWRlIHRoZQogICAgICAgIHRhcmdldCByYW5nZS4gSW4gb3RoZXIgd29yZHMsIGlmIGEgY29udmVyc2lvbiBkaXJlY3Rpb24gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Uzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LSZndDs8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PC9jb2RlPgogICAgICAgIGlzIHN1YnJhbmdlZCwgdGhlcmUgYXJlIHZhbHVlcyBpbiA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5TPC9zcGFuPjwvY29kZT4KICAgICAgICB3aGljaCBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgaW4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+CiAgICAgICAgYmVjYXVzZSB0aGV5IGFyZSBvdXQgb2YgcmFuZ2UuIE5vdGljZSB0aGF0IGZvciA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5TPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4tJmd0Ozwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+LAogICAgICAgIHRoZSBhZGplY3RpdmUgc3VicmFuZ2VkIGFwcGxpZXMgdG8gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+LgogICAgICA8L3A+CjxwPgogICAgICAgIEV4YW1wbGVzOgogICAgICA8L3A+CjxwPgogICAgICAgIEdpdmVuIHRoZSBmb2xsb3dpbmcgbnVtZXJpYyB0eXBlcyBhbGwgcmVwcmVzZW50aW5nIHJlYWwgbnVtYmVyczoKICAgICAgPC9wPgo8ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+Cjxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlg8L3NwYW4+PC9jb2RlPiB3aXRoIG51bWVyaWMgc2V0IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPnstPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LC08L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MS4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjAuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LCs8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MS4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sKzwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPn08L3NwYW4+PC9jb2RlPiBhbmQKICAgICAgICAgIHJhbmdlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPlstPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LCs8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+Mi4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj5dPC9zcGFuPjwvY29kZT4KPC9saT4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+Cjxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlk8L3NwYW4+PC9jb2RlPiB3aXRoIG51bWVyaWMgc2V0IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPnstPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LC08L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MS41PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sLTwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4xLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiwtPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjAuNTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4wLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiwrPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjAuNTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LCs8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MS4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sKzwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4xLjU8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiwrPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+fTwvc3Bhbj48L2NvZGU+IGFuZCByYW5nZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj5bLTwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiwrPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjIuMDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+XTwvc3Bhbj48L2NvZGU+CjwvbGk+CjxsaSBjbGFzcz0ibGlzdGl0ZW0iPgo8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5aPC9zcGFuPjwvY29kZT4gd2l0aCBudW1lcmljIHNldCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj57LTwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4xLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MC4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sKzwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4xLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPn08L3NwYW4+PC9jb2RlPiBhbmQgcmFuZ2UgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Wy08L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MS4wPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sKzwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4xLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPl08L3NwYW4+PC9jb2RlPgo8L2xpPgo8L3VsPjwvZGl2Pgo8cD4KICAgICAgICBGb3I6CiAgICAgIDwvcD4KPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij4KPHAgY2xhc3M9InRpdGxlIj48Yj48L2I+PC9wPgo8ZGw+CjxkdD48c3BhbiBjbGFzcz0idGVybSI+KGEpIFgtJmd0O1k6PC9zcGFuPjwvZHQ+CjxkZD48cD4KICAgICAgICAgICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Ujwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+WDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPiZhbXA7PC9zcGFuPiA8c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Ujwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+WTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPj09PC9zcGFuPiA8c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Ujwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+WDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+LAogICAgICAgICAgICB0aGVuIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPi0mZ3Q7PC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5ZPC9zcGFuPjwvY29kZT4gaXMgbm90IHN1YnJhbmdlZC4gVGh1cywgYWxsIHZhbHVlcwogICAgICAgICAgICBvZiB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlg8L3NwYW4+PC9jb2RlPiBhcmUgcmVwcmVzZW50YWJsZQogICAgICAgICAgICBpbiB0aGUgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5ZPC9zcGFuPjwvY29kZT4uCiAgICAgICAgICA8L3A+PC9kZD4KPGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4oYikgWS0mZ3Q7WDo8L3NwYW4+PC9kdD4KPGRkPjxwPgogICAgICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5ZPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+JmFtcDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5YPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+PT08L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5ZPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPjwvY29kZT4sCiAgICAgICAgICAgIHRoZW4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+WTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LSZndDs8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlg8L3NwYW4+PC9jb2RlPiBpcyBub3Qgc3VicmFuZ2VkLiBUaHVzLCBhbGwgdmFsdWVzCiAgICAgICAgICAgIG9mIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+WTwvc3Bhbj48L2NvZGU+IGFyZSByZXByZXNlbnRhYmxlCiAgICAgICAgICAgIGluIHRoZSB0eXBlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlg8L3NwYW4+PC9jb2RlPiwgYnV0IGluCiAgICAgICAgICAgIHRoaXMgY2FzZSwgc29tZSB2YWx1ZXMgYXJlIDxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPmluZXhhY3RseTwvZW0+PC9zcGFuPiByZXByZXNlbnRhYmxlCiAgICAgICAgICAgIChhbGwgdGhlIGhhbHZlcykuIChub3RlOiBpdCBpcyB0byBwZXJtaXQgdGhpcyBjYXNlIHRoYXQgYSByYW5nZSBpcyBhbgogICAgICAgICAgICBpbnRlcnZhbCBvZiBhYnN0cmFjdCB2YWx1ZXMgYW5kIG5vdCBhbiBpbnRlcnZhbCBvZiB0eXBlZCB2YWx1ZXMpCiAgICAgICAgICA8L3A+PC9kZD4KPGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj4oYikgWC0mZ3Q7Wjo8L3NwYW4+PC9kdD4KPGRkPjxwPgogICAgICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5YPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+JmFtcDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5aPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+IT08L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5YPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPjwvY29kZT4sCiAgICAgICAgICAgIHRoZW4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+WDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LSZndDs8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlo8L3NwYW4+PC9jb2RlPiBpcyBzdWJyYW5nZWQuIFRodXMsIHNvbWUgdmFsdWVzIG9mCiAgICAgICAgICAgIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+WDwvc3Bhbj48L2NvZGU+IGFyZSBub3QgcmVwcmVzZW50YWJsZQogICAgICAgICAgICBpbiB0aGUgdHlwZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5aPC9zcGFuPjwvY29kZT4sIHRoZXkgZmFsbAogICAgICAgICAgICBvdXQgb2YgcmFuZ2UgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KC08L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+Mi4wPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5d29yZCI+YW5kPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Kzwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yLjA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik8L3NwYW4+PC9jb2RlPi4KICAgICAgICAgIDwvcD48L2RkPgo8L2RsPgo8L2Rpdj4KPHA+CiAgICAgICAgSXQgaXMgcG9zc2libGUgdGhhdCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5TPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPjwvY29kZT4gaXMgbm90CiAgICAgICAgZW5jbG9zZWQgYnkgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Ujwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+LCB3aGlsZQogICAgICAgIG5laXRoZXIgaXMgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Ujwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+IGVuY2xvc2VkCiAgICAgICAgYnkgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Ujwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Uzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KTwvc3Bhbj48L2NvZGU+OyBmb3IKICAgICAgICBleGFtcGxlLCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5VTlNJRzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+PVs8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtYmVyIj4yNTU8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPl08L3NwYW4+PC9jb2RlPiBpcyBub3QgZW5jbG9zZWQgYnkgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+U0lHPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj49Wy08L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MTI4PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sPC9zcGFuPjxzcGFuIGNsYXNzPSJudW1iZXIiPjEyNzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+XTwvc3Bhbj48L2NvZGU+OyBuZWl0aGVyCiAgICAgICAgaXMgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+U0lHPC9zcGFuPjwvY29kZT4gZW5jbG9zZWQgYnkgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VU5TSUc8L3NwYW4+PC9jb2RlPi4gVGhpcyBpbXBsaWVzIHRoYXQgaXMgcG9zc2libGUgdGhhdAogICAgICAgIGEgY29udmVyc2lvbiBkaXJlY3Rpb24gaXMgc3VicmFuZ2VkIGJvdGggd2F5cy4gVGhpcyBvY2N1cnMgd2hlbiBhIG1peHR1cmUKICAgICAgICBvZiBzaWduZWQvdW5zaWduZWQgdHlwZXMgYXJlIGludm9sdmVkIGFuZCBpbmRpY2F0ZXMgdGhhdCBpbiBib3RoIGRpcmVjdGlvbnMKICAgICAgICB0aGVyZSBhcmUgdmFsdWVzIHdoaWNoIGNhbiBmYWxsIG91dCBvZiByYW5nZS4KICAgICAgPC9wPgo8cD4KICAgICAgICBHaXZlbiB0aGUgcmFuZ2UgcmVsYXRpb24gKHN1YnJhbmdlZCBvciBub3QpIG9mIGEgY29udmVyc2lvbiBkaXJlY3Rpb24gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Uzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LSZndDs8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PC9jb2RlPiwgaXQgaXMgcG9zc2libGUgdG8gY2xhc3NpZnkgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Uzwvc3Bhbj48L2NvZGU+IGFuZCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4KICAgICAgICBhcyA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5zdXBlcnR5cGU8L3N0cm9uZz48L3NwYW4+IGFuZCA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5zdWJ0eXBlPC9zdHJvbmc+PC9zcGFuPjoKICAgICAgICBJZiB0aGUgY29udmVyc2lvbiBpcyBzdWJyYW5nZWQsIHdoaWNoIG1lYW5zIHRoYXQgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+CiAgICAgICAgY2Fubm90IHJlcHJlc2VudCBhbGwgcG9zc2libGUgdmFsdWVzIG9mIHR5cGUgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Uzwvc3Bhbj48L2NvZGU+LAogICAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlM8L3NwYW4+PC9jb2RlPiBpcyB0aGUgc3VwZXJ0eXBlIGFuZCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjwvY29kZT4gdGhlIHN1YnR5cGU7IG90aGVyd2lzZSwgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VDwvc3Bhbj48L2NvZGU+IGlzIHRoZSBzdXBlcnR5cGUgYW5kIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlM8L3NwYW4+PC9jb2RlPgogICAgICAgIHRoZSBzdWJ0eXBlLgogICAgICA8L3A+CjxwPgogICAgICAgIEZvciBleGFtcGxlOgogICAgICA8L3A+CjxkaXYgY2xhc3M9ImJsb2NrcXVvdGUiPjxibG9ja3F1b3RlIGNsYXNzPSJibG9ja3F1b3RlIj4KPHA+CiAgICAgICAgICA8L3A+CjxwPgogICAgICAgICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5mbG9hdDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KT1bLTwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+RkxUX01BWDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+RkxUX01BWDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+XTwvc3Bhbj48L2NvZGU+CiAgICAgICAgICAgIGFuZCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5SPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5kb3VibGU8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik9Wy08L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPkRCTF9NQVg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiw8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPkRCTF9NQVg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPl08L3NwYW4+PC9jb2RlPgogICAgICAgICAgPC9wPgo8cD4KICAgICAgICA8L3A+CjwvYmxvY2txdW90ZT48L2Rpdj4KPHA+CiAgICAgICAgSWYgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+RkxUX01BWDwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWNpYWwiPiZsdDs8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPkRCTF9NQVg8L3NwYW4+PC9jb2RlPjoKICAgICAgPC9wPgo8ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+Cjxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmRvdWJsZTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LSZndDs8L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmZsb2F0PC9zcGFuPjwvY29kZT4gaXMgc3VicmFuZ2VkIGFuZCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5zdXBlcnR5cGU8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPj08L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmRvdWJsZTwvc3Bhbj48L2NvZGU+LAogICAgICAgICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+c3VidHlwZTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+PTwvc3Bhbj48c3BhbiBjbGFzcz0ia2V5d29yZCI+ZmxvYXQ8L3NwYW4+PC9jb2RlPi4KICAgICAgICA8L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ia2V5d29yZCI+ZmxvYXQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPi0mZ3Q7PC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5kb3VibGU8L3NwYW4+PC9jb2RlPiBpcyBub3Qgc3VicmFuZ2VkIGFuZCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5zdXBlcnR5cGU8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPj08L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmRvdWJsZTwvc3Bhbj48L2NvZGU+LCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5zdWJ0eXBlPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj49PC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5mbG9hdDwvc3Bhbj48L2NvZGU+LgogICAgICAgIDwvbGk+CjwvdWw+PC9kaXY+CjxwPgogICAgICAgIE5vdGljZSB0aGF0IHdoaWxlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmRvdWJsZTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LSZndDs8L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmZsb2F0PC9zcGFuPjwvY29kZT4gaXMgc3VicmFuZ2VkLCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5mbG9hdDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LSZndDs8L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmRvdWJsZTwvc3Bhbj48L2NvZGU+CiAgICAgICAgaXMgbm90LCB3aGljaCB5aWVsZHMgdGhlIHNhbWUgc3VwZXJ0eXBlLHN1YnR5cGUgZm9yIGJvdGggZGlyZWN0aW9ucy4KICAgICAgPC9wPgo8cD4KICAgICAgICBOb3cgY29uc2lkZXI6CiAgICAgIDwvcD4KPGRpdiBjbGFzcz0iYmxvY2txdW90ZSI+PGJsb2NrcXVvdGUgY2xhc3M9ImJsb2NrcXVvdGUiPgo8cD4KICAgICAgICAgIDwvcD4KPHA+CiAgICAgICAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlI8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmludDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+KT1bPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5JTlRfTUlOPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4sPC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5JTlRfTUFYPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj5dPC9zcGFuPjwvY29kZT4KICAgICAgICAgICAgYW5kIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlI8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPnVuc2lnbmVkPC9zcGFuPiA8c3BhbiBjbGFzcz0ia2V5d29yZCI+aW50PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPVs8L3NwYW4+PHNwYW4gY2xhc3M9Im51bWJlciI+MDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LDwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+VUlOVF9NQVg8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPl08L3NwYW4+PC9jb2RlPgogICAgICAgICAgPC9wPgo8cD4KICAgICAgICA8L3A+CjwvYmxvY2txdW90ZT48L2Rpdj4KPHA+CiAgICAgICAgQSBDKysgaW1wbGVtZW50YXRpb24gaXMgcmVxdWlyZWQgdG8gaGF2ZSA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5VSU5UX01BWDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmd0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPklOVF9NQVg8L3NwYW4+PC9jb2RlPgogICAgICAgICinMy45LzMpLCBzbzoKICAgICAgPC9wPgo8ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCBjbGFzcz0iaXRlbWl6ZWRsaXN0IiB0eXBlPSJkaXNjIj4KPGxpIGNsYXNzPSJsaXN0aXRlbSI+CiAgICAgICAgICAnaW50LSZndDt1bnNpZ25lZCcgaXMgc3VicmFuZ2VkIChuZWdhdGl2ZSB2YWx1ZXMgZmFsbCBvdXQgb2YgcmFuZ2UpIGFuZAogICAgICAgICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+c3VwZXJ0eXBlPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj49PC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5pbnQ8L3NwYW4+PC9jb2RlPiwgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+c3VidHlwZTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+PTwvc3Bhbj48c3BhbiBjbGFzcz0ia2V5d29yZCI+dW5zaWduZWQ8L3NwYW4+PC9jb2RlPi4KICAgICAgICA8L2xpPgo8bGkgY2xhc3M9Imxpc3RpdGVtIj4KICAgICAgICAgICd1bnNpZ25lZC0mZ3Q7aW50JyBpcyA8c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5hbHNvPC9lbT48L3NwYW4+IHN1YnJhbmdlZCAoaGlnaCBwb3NpdGl2ZQogICAgICAgICAgdmFsdWVzIGZhbGwgb3V0IG9mIHJhbmdlKSBhbmQgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+c3VwZXJ0eXBlPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj49PC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj51bnNpZ25lZDwvc3Bhbj48L2NvZGU+LAogICAgICAgICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+c3VidHlwZTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+PTwvc3Bhbj48c3BhbiBjbGFzcz0ia2V5d29yZCI+aW50PC9zcGFuPjwvY29kZT4uCiAgICAgICAgPC9saT4KPC91bD48L2Rpdj4KPHA+CiAgICAgICAgSW4gdGhpcyBjYXNlLCB0aGUgY29udmVyc2lvbiBpcyBzdWJyYW5nZWQgaW4gYm90aCBkaXJlY3Rpb25zIGFuZCB0aGUgc3VwZXJ0eXBlLHN1YnR5cGUKICAgICAgICBwYWlycyBhcmUgbm90IGludmFyaWFudCAodW5kZXIgaW52ZXJzaW9uIG9mIGRpcmVjdGlvbikuIFRoaXMgaW5kaWNhdGVzIHRoYXQKICAgICAgICBub25lIG9mIHRoZSB0eXBlcyBjYW4gcmVwcmVzZW50IGFsbCB0aGUgdmFsdWVzIG9mIHRoZSBvdGhlci4KICAgICAgPC9wPgo8cD4KICAgICAgICBXaGVuIHRoZSBzdXBlcnR5cGUgaXMgdGhlIHNhbWUgZm9yIGJvdGggPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Uzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LSZndDs8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlQ8L3NwYW4+PC9jb2RlPgogICAgICAgIGFuZCA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5UPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4tJmd0Ozwvc3Bhbj48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Uzwvc3Bhbj48L2NvZGU+LCBpdCBpcyBlZmZlY3RpdmVseSBpbmRpY2F0aW5nIGEgdHlwZQogICAgICAgIHdoaWNoIGNhbiByZXByZXNlbnQgYWxsIHRoZSB2YWx1ZXMgb2YgdGhlIHN1YnR5cGUuIENvbnNlcXVlbnRseSwgaWYgYSBjb252ZXJzaW9uCiAgICAgICAgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+WDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LSZndDs8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlk8L3NwYW4+PC9jb2RlPiBpcyBub3Qgc3VicmFuZ2VkLCBidXQgdGhlIG9wcG9zaXRlIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlk8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPi0mZ3Q7PC9zcGFuPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5YPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPjwvY29kZT4gaXMsCiAgICAgICAgc28gdGhhdCB0aGUgc3VwZXJ0eXBlIGlzIGFsd2F5cyA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5ZPC9zcGFuPjwvY29kZT4sCiAgICAgICAgaXQgaXMgc2FpZCB0aGF0IHRoZSBkaXJlY3Rpb24gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+WDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+LSZndDs8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPlk8L3NwYW4+PC9jb2RlPgogICAgICAgIGlzIDxzcGFuIGNsYXNzPSJib2xkIj48c3Ryb25nPmNvcnJlY3RseSByb3VuZGVkIHZhbHVlIHByZXNlcnZpbmc8L3N0cm9uZz48L3NwYW4+LCBtZWFuaW5nCiAgICAgICAgdGhhdCBhbGwgc3VjaCBjb252ZXJzaW9ucyBhcmUgZ3VhcmFudGVlZCB0byBwcm9kdWNlIHJlc3VsdHMgaW4gcmFuZ2UgYW5kCiAgICAgICAgY29ycmVjdGx5IHJvdW5kZWQgKGV2ZW4gaWYgaW5leGFjdCkuIEZvciBleGFtcGxlLCBhbGwgaW50ZWdlciB0byBmbG9hdGluZwogICAgICAgIGNvbnZlcnNpb25zIGFyZSBjb3JyZWN0bHkgcm91bmRlZCB2YWx1ZSBwcmVzZXJ2aW5nLgogICAgICA8L3A+CjwvZGl2Pgo8L2Rpdj4KPHRhYmxlIHhtbG5zOnJldj0iaHR0cDovL3d3dy5jcy5ycGkuZWR1L35ncmVnb2QvYm9vc3QvdG9vbHMvZG9jL3JldmlzaW9uIiB3aWR0aD0iMTAwJSI+PHRyPgo8dGQgYWxpZ249ImxlZnQiPjwvdGQ+Cjx0ZCBhbGlnbj0icmlnaHQiPjxkaXYgY2xhc3M9ImNvcHlyaWdodC1mb290ZXIiPkNvcHlyaWdodCCpIDIwMDQgLTIwMDcgRmVybmFuZG8gTHVpcyBDYWNjaW9sYSBDYXJiYWxsYWw8cD4KICAgICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCiAgICAgICAgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQiIHRhcmdldD0iX3RvcCI+aHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0PC9hPikKICAgICAgPC9wPgo8L2Rpdj48L3RkPgo8L3RyPjwvdGFibGU+Cjxocj4KPGRpdiBjbGFzcz0ic3Bpcml0LW5hdiI+CjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9wcmV2LnBuZyIgYWx0PSJQcmV2Ij48L2E+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL3VwLnBuZyIgYWx0PSJVcCI+PC9hPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9ob21lLnBuZyIgYWx0PSJIb21lIj48L2E+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJjb252ZXJ0ZXJfX19mdW5jdGlvbl9vYmplY3QuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9uZXh0LnBuZyIgYWx0PSJOZXh0Ij48L2E+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K