PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5nPSJlbiIgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6KG51bGwpMT0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+PGhlYWQ+PCEtLQogICAgQ29weXJpZ2h0IDIwMDktMjAxMCBJbnRlbCBDb3Jwb3JhdGlvbgogICAgbGljZW5zZSBiYW5uZXIKLS0+Cjx0aXRsZT5Cb29zdCBQb2x5Z29uIExpYnJhcnk6IFBvaW50IENvbmNlcHQ8L3RpdGxlPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD1JU08tODg1OS0xIj4KPHRhYmxlIHN0eWxlPSJtYXJnaW46IDBwdDsgcGFkZGluZzogMHB0OyB3aWR0aDogMTAwJTsiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj48dGJvZHk+PHRyPgo8dGQgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYigyMzgsIDIzOCwgMjM4KTsiIG5vd3JhcD0iMSIgdmFsaWduPSJ0b3AiPgogICAgPGRpdiBzdHlsZT0icGFkZGluZzogNXB4OyIgYWxpZ249ImNlbnRlciI+CiAgICAgICAgPGltZyBib3JkZXI9IjAiIHNyYz0iaW1hZ2VzL2Jvb3N0LnBuZyIgd2lkdGg9IjI3NyIgaGVpZ2h0PSI4NiI+PGEgdGl0bGU9Ind3dy5ib29zdC5vcmcgaG9tZSBwYWdlIiBocmVmPSJodHRwOi8vd3d3LmJvb3N0Lm9yZy8iIHRhYmluZGV4PSIyIiBzdHlsZT0iYm9yZGVyOiBtZWRpdW0gbm9uZSA7Ij4KICAgICAgICAgICAgPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJtYXJnaW46IDVweDsiPgogICAgICAgIDxoMyBjbGFzcz0ibmF2YmFyIj5Db250ZW50czwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaW5kZXguaHRtIj5Cb29zdC5Qb2x5Z29uIE1haW4gUGFnZTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iZ3RsX2Rlc2lnbl9vdmVydmlldy5odG0iPkRlc2lnbiBPdmVydmlldzwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iZ3RsX2lzb3Ryb3B5Lmh0bSI+SXNvdHJvcHk8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imd0bF9jb29yZGluYXRlX2NvbmNlcHQuaHRtIj5Db29yZGluYXRlIENvbmNlcHQ8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imd0bF9pbnRlcnZhbF9jb25jZXB0Lmh0bSI+SW50ZXJ2YWwgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+UG9pbnQgQ29uY2VwdDwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcmVjdGFuZ2xlX2NvbmNlcHQuaHRtIj5SZWN0YW5nbGUgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3BvbHlnb25fOTBfY29uY2VwdC5odG0iPlBvbHlnb24gOTAgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3BvbHlnb25fOTBfd2l0aF9ob2xlc19jb25jZXB0Lmh0bSI+UG9seWdvbiA5MCBXaXRoIEhvbGVzIENvbmNlcHQ8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9wb2x5Z29uXzQ1X2NvbmNlcHQuaHRtIj5Qb2x5Z29uIDQ1IENvbmNlcHQ8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9wb2x5Z29uXzQ1X3dpdGhfaG9sZXNfY29uY2VwdC5odG0iPlBvbHlnb24gNDUgV2l0aCBIb2xlcyBDb25jZXB0PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcG9seWdvbl9jb25jZXB0Lmh0bSI+UG9seWdvbiBDb25jZXB0PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcG9seWdvbl93aXRoX2hvbGVzX2NvbmNlcHQuaHRtIj5Qb2x5Z29uIFdpdGggSG9sZXMgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3BvbHlnb25fOTBfc2V0X2NvbmNlcHQuaHRtIj5Qb2x5Z29uIDkwIFNldCBDb25jZXB0PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcG9seWdvbl80NV9zZXRfY29uY2VwdC5odG0iPlBvbHlnb24gNDUgU2V0IENvbmNlcHQ8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9wb2x5Z29uX3NldF9jb25jZXB0Lmh0bSI+UG9seWdvbiBTZXQgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX2Nvbm5lY3Rpdml0eV9leHRyYWN0aW9uXzkwLmh0bSI+Q29ubmVjdGl2aXR5IEV4dHJhY3Rpb24gOTA8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9jb25uZWN0aXZpdHlfZXh0cmFjdGlvbl80NS5odG0iPkNvbm5lY3Rpdml0eSBFeHRyYWN0aW9uIDQ1PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfY29ubmVjdGl2aXR5X2V4dHJhY3Rpb24uaHRtIj5Db25uZWN0aXZpdHkgRXh0cmFjdGlvbjwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3Byb3BlcnR5X21lcmdlXzkwLmh0bSI+UHJvcGVydHkgTWVyZ2UgOTA8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9wcm9wZXJ0eV9tZXJnZV80NS5odG0iPlByb3BlcnR5IE1lcmdlIDQ1PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcHJvcGVydHlfbWVyZ2UuaHRtIj5Qcm9wZXJ0eSBNZXJnZTwvYT48L2xpPgogICAgICAgIDwvdWw+CiAgICAgICAgPGgzIGNsYXNzPSJuYXZiYXIiPk90aGVyIFJlc291cmNlczwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iR1RMX2Jvb3N0Y29uMjAwOS5wZGYiPkdUTCBCb29zdGNvbiAyMDA5IFBhcGVyPC9hPjwvbGk+CiAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iR1RMX2Jvb3N0Y29uX2RyYWZ0MDMucGRmIj5HVEwgQm9vc3Rjb24gMjAwOSAKCQkJCVByZXNlbnRhdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImFuYWx5c2lzLmh0bSI+UGVyZm9ybWFuY2UgQW5hbHlzaXM8L2E+PC9saT4KICAgICAgICAJPGxpPjxhIGhyZWY9Imd0bF90dXRvcmlhbC5odG0iPkxheW91dCBWZXJzdXMgU2NoZW1hdGljIFR1dG9yaWFsPC9hPjwvbGk+CiAgICAgICAgCTxsaT48YSBocmVmPSJndGxfbWlua293c2tpX3R1dG9yaWFsLmh0bSI+TWlua293c2tpIFN1bSBUdXRvcmlhbDwvYT48L2xpPgogICAgICAgIDwvdWw+CiAgICA8L2Rpdj4KICAgICAgICA8aDMgY2xhc3M9Im5hdmJhciI+UG9seWdvbiBTcG9uc29yPC9oMz4KICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDVweDsiIGFsaWduPSJjZW50ZXIiPgogICAgICAgIDxpbWcgYm9yZGVyPSIwIiBzcmM9ImltYWdlcy9pbnRsb2dvLmdpZiIgd2lkdGg9IjEyNyIgaGVpZ2h0PSI1MSI+CiAgICA8L2Rpdj4gICAgCjwvdGQ+Cjx0ZCBzdHlsZT0icGFkZGluZy1sZWZ0OiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogMTBweDsiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTAwJSI+Cgo8IS0tIEVuZCBIZWFkZXIgLS0+Cgo8YnI+CjxwPgo8L3A+PGgxPlBvaW50IENvbmNlcHQ8L2gxPgoKPHA+IAo8cD4gClRoZSBwb2ludCBjb25jZXB0IHRhZyBpcyA8Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+CnBvaW50X2NvbmNlcHQ8L2ZvbnQ+PHA+IApUbyByZWdpc3RlciBhIHVzZXIgZGVmaW5lZCB0eXBlIGFzIGEgbW9kZWwgb2YgcG9pbnQgY29uY2VwdCwgc3BlY2lhbGl6ZSB0aGUgCmdlb21ldHJ5IGNvbmNlcHQgbWV0YS1mdW5jdGlvbiBmb3IgdGhhdCB0eXBlLiZuYnNwOyBJbiB0aGUgZXhhbXBsZSBiZWxvdyBDUG9pbnQgaXMgcmVnaXN0ZXJlZCBhcyBhIG1vZGVsIG9mIApwb2ludCZuYnNwOyBjb25jZXB0LjxwPiAKPGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDsmZ3Q7PGJyPgpzdHJ1Y3QgZ2VvbWV0cnlfY29uY2VwdCZsdDtDUG9pbnQmZ3Q7IHsgdHlwZWRlZiBwb2ludF9jb25jZXB0IHR5cGU7IH07PC9mb250PjxwPiAKPGZvbnQgZmFjZT0iVGltZXMgTmV3IFJvbWFuIj5UaGUgc2VtYW50aWMgb2YgYSBwb2ludCBpcyB0aGF0IGl0IGhhcyBhbiB4IGFuZCB5IApjb29yZGluYXRlLiZuYnNwOyBBIHN0ZDo6cGFpciZsdDtpbnQsIGludCZndDssIGJvb3N0Ojp0dXBsZSZsdDtpbnQsIGludCZndDsgb3IgYm9vc3Q6OmFycmF5Jmx0O2ludCwgMiZndDsgCmNvdWxkIGFsbCBiZSBtYWRlIG1vZGVscyBvZiBwb2ludCBieSBzaW1wbHkgcHJvdmlkaW5nIGluZGlyZWN0IGFjY2VzcyB0byB0aGVpciAKZWxlbWVudHMgdGhyb3VnaCB0cmFpdHMsIGhvd2V2ZXIsIHRoZXNlIG9iamVjdHMgY2Fubm90IGJlIG1hZGUgYSBtb2RlbCBvZiBib3RoIApwb2ludCBhbmQgaW50ZXJ2YWwgaW4gdGhlIHNhbWUgY29tcGlsYXRpb24gdW5pdCwgZm9yIG9idmlvdXMgcmVhc29uIHRoYXQgCmR1cGxpY2F0ZSBzcGVjaWFsaXphdGlvbiBvZiB0aGUgZ2VvbWV0cnlfY29uY2VwdCBzdHJ1Y3QgaXMgaWxsZWdhbCwgYnV0IGFsc28gCmJlY2F1c2UgaXQgd291bGQgbWFrZSBvdmVybG9hZGluZyBnZW5lcmljIGZ1bmN0aW9uIGJ5IGNvbmNlcHQgYW1iaWd1b3VzIGlmIGEgCnR5cGUgbW9kZWxlZCBtb3JlIHRoYW4gb25lIGNvbmNlcHQuPC9mb250PjxwPiAKPGZvbnQgZmFjZT0iVGltZXMgTmV3IFJvbWFuIj5CZWxvdyBpcyBzaG93biB0aGUgZGVmYXVsdCBwb2ludCB0cmFpdHMuJm5ic3A7IApTcGVjaWFsaXphdGlvbiBvZiB0aGVzZSB0cmFpdHMgaXMgcmVxdWlyZWQgZm9yIHR5cGVzIHRoYXQgZG9uJ3QgY29uZm9ybSB0byB0aGUgCmRlZmF1bHQgYmVoYXZpb3IuPC9mb250PjxwPiAKdGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQmZ3Q7PGJyPgpzdHJ1Y3QgcG9pbnRfdHJhaXRzIHs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0eXBlZGVmIHR5cGVuYW1lIFQ6OmNvb3JkaW5hdGVfdHlwZSBjb29yZGluYXRlX3R5cGU7PGJyPgo8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdGF0aWMgaW5saW5lIGNvb3JkaW5hdGVfdHlwZSBnZXQoY29uc3QgVCZhbXA7IHBvaW50LCAKb3JpZW50YXRpb25fMmQgb3JpZW50KSB7PGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIHBvaW50LmdldChvcmllbnQpOwo8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPgp9Ozxicj4KPGJyPgp0ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVCZndDs8YnI+CnN0cnVjdCBwb2ludF9tdXRhYmxlX3RyYWl0cyB7PGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RhdGljIGlubGluZSB2b2lkIHNldChUJmFtcDsgcG9pbnQsIG9yaWVudGF0aW9uXzJkIG9yaWVudCwgCnR5cGVuYW1lIHBvaW50X3RyYWl0cyZsdDtUJmd0Ozo6Y29vcmRpbmF0ZV90eXBlIHZhbHVlKSB7PGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcG9pbnQuc2V0KG9yaWVudCwgdmFsdWUpOwo8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RhdGljIGlubGluZSBUIGNvbnN0cnVjdCh0eXBlbmFtZSBwb2ludF90cmFpdHMmbHQ7VCZndDs6OmNvb3JkaW5hdGVfdHlwZSAKeF92YWx1ZSwgdHlwZW5hbWUgcG9pbnRfdHJhaXRzJmx0O1QmZ3Q7Ojpjb29yZGluYXRlX3R5cGUgeV92YWx1ZSkgezxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBUKHhfdmFsdWUsIHlfdmFsdWUpOwo8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPgp9OzxwPiAKRXhhbXBsZSBjb2RlIDxhIGhyZWY9Imd0bF9jdXN0b21fcG9pbnQuaHRtIj5jdXN0b21fcG9pbnQuY3BwPC9hPiBkZW1vbnN0cmF0ZXMgCmhvdyB0byBtYXAgYSAKCQl1c2VyIGRlZmluZWQgcG9pbnQgY2xhc3MgdG8gdGhlIGxpYnJhcnkgcG9pbnRfY29uY2VwdDxoMj5GdW5jdGlvbnM8L2gyPgo8dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSIgaWQ9InRhYmxlMSI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVCZndDs8YnI+CgkJY29vcmRpbmF0ZV90eXBlIDxiPmdldDwvYj4oY29uc3QgVCZhbXA7IHBvaW50LCBvcmllbnRhdGlvbl8yZCk8L2ZvbnQ+PC90ZD4KCQk8dGQ+PGZvbnQgZmFjZT0iVGltZXMgTmV3IFJvbWFuIj5FeHBlY3RzIGEgbW9kZWwgb2YgcG9pbnQuJm5ic3A7IFJldHVybnMgCgkJdGhlIHggb3IgeSBjb29yZGluYXRlIG9mIHRoZSBwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBvcmllbnRhdGlvbl8yZCAKCQl2YWx1ZS48L2ZvbnQ+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPjxicj4KJm5ic3A7PC9mb250PjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQsIHR5cGVuYW1lIAoJCWNvb3JkaW5hdGVfdHlwZSZndDs8YnI+CgkJdm9pZCA8Yj5zZXQ8L2I+KFQmYW1wOyBwb2ludCwgb3JpZW50YXRpb25fMmQsIGNvb3JkaW5hdGVfdHlwZSk8L2ZvbnQ+PC90ZD4KCQk8dGQ+PGZvbnQgZmFjZT0iVGltZXMgTmV3IFJvbWFuIj5FeHBlY3RzIGEgbW9kZWwgb2YgcG9pbnQuJm5ic3A7Jm5ic3A7IAoJCVNldHMgdGhlIHggb3IgeSBjb29yZGluYXRlIG9mIHRoZSBwb2ludCB0byB0aGUgY29vcmRpbmF0ZSwgZGVwZW5kaW5nIG9uIAoJCXRoZSBvcmllbnRhdGlvbl8yZCZuYnNwOyB2YWx1ZS4gPC9mb250PjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQmZ3Q7PGJyPgoJCVQgPGI+Y29uc3RydWN0PC9iPihjb29yZGluYXRlX3R5cGUgeCwgY29vcmRpbmF0ZV90eXBlIHkpPC9mb250PjwvdGQ+CgkJPHRkPkNvbnN0cnVjdCBhbiBvYmplY3QgdGhhdCBpcyBhIG1vZGVsIG9mIHBvaW50IGdpdmVuIHggYW5kIHkgCgkJY29vcmRpbmF0ZSB2YWx1ZXMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDEsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQlUMSZhbXA7IDxiPmFzc2lnbjwvYj4oVDEmYW1wOyBsZWZ0LCBjb25zdCBUMiZhbXA7IHJpZ2h0KTwvZm9udD48L3RkPgoJCTx0ZD5Db3BpZXMgZGF0YSBmcm9tIHJpZ2h0IG9iamVjdCB0aGF0IG1vZGVscyBwb2ludCBpbnRvIGxlZnQgb2JqZWN0IAoJCXRoYXQgbW9kZWxzIHBvaW50LjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQlib29sIDxiPmVxdWl2YWxlbmNlPC9iPihjb25zdCBUJmFtcDsgcG9pbnQxLCBjb25zdCBUMiZhbXA7IHBvaW50Mik8L2ZvbnQ+PC90ZD4KCQk8dGQ+R2l2ZW4gdHdvIG9iamVjdHMgdGhhdCBtb2RlbCBwb2ludCwgY29tcGFyZXMgYW5kIHJldHVybnMgdHJ1ZSBpZiAKCQl0aGVpciB4IGFuZCB5IHZhbHVlcyBhcmUgcmVzcGVjdGl2ZWx5IGVxdWFsIHRvIGVhY2ggb3RoZXIuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgcG9pbnRfdHlwZSZndDs8YnI+CgkJY29vcmRpbmF0ZV90eXBlIDxiPng8L2I+KGNvbnN0IHBvaW50X3R5cGUmYW1wOyBwb2ludCk8L2ZvbnQ+PC90ZD4KCQk8dGQ+UmV0dXJucyB0aGUgeCBjb29yZGluYXRlIG9mIGFuIG9iamVjdCB0aGF0IG1vZGVscyBwb2ludC48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBwb2ludF90eXBlJmd0Ozxicj4KCQljb29yZGluYXRlX3R5cGUgPGI+eTwvYj4oY29uc3QgcG9pbnRfdHlwZSZhbXA7IHBvaW50KTwvZm9udD48L3RkPgoJCTx0ZD5SZXR1cm5zIHRoZSB5IGNvb3JkaW5hdGUgb2YgYW4gb2JqZWN0IHRoYXQgbW9kZWxzIHBvaW50LjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIHBvaW50X3R5cGUmZ3Q7PGJyPgoJCXZvaWQgPGI+eDwvYj4ocG9pbnRfdHlwZSZhbXA7IHBvaW50LCBjb29yZGluYXRlX3R5cGUgKTwvZm9udD48L3RkPgoJCTx0ZD5TZXRzIHRoZSB4IGNvb3JkaW5hdGUgb2YgdGhlIG9iamVjdCB0aGF0IG1vZGVscyBwb2ludCB0byB0aGUgCgkJY29vcmRpbmF0ZSB2YWx1ZS4mbmJzcDsgPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgcG9pbnRfdHlwZSZndDs8YnI+CgkJdm9pZCA8Yj55PC9iPihwb2ludF90eXBlJmFtcDsgcG9pbnQsIGNvb3JkaW5hdGVfdHlwZSApPC9mb250PjwvdGQ+CgkJPHRkPlNldHMgdGhlIHkgY29vcmRpbmF0ZSBvZiB0aGUgb2JqZWN0IHRoYXQgbW9kZWxzIHBvaW50IHRvIHRoZSAKCQljb29yZGluYXRlIHZhbHVlLiZuYnNwOyA8L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBwb2ludF90eXBlJmd0Ozxicj4KCQlwb2ludF90eXBlJmFtcDsgPGI+c2NhbGVfdXA8L2I+KHBvaW50X3R5cGUmYW1wOyBwb2ludCwgPGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgCgkJdW5zaWduZWRfYXJlYV90eXBlIGZhY3Rvcik8L2ZvbnQ+PC90ZD4KCQk8dGQ+TXVsdGlwbGllcyB4IGFuZCB5IGNvb3JkaW5hdGUgb2YgYW4gb2JqZWN0IHRoYXQgbW9kZWxzIHBvaW50IGJ5IAoJCXVuc2lnbmVkIGZhY3Rvci48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBwb2ludF90eXBlJmd0Ozxicj4KCQlwb2ludF90eXBlJmFtcDsgPGI+c2NhbGVfZG93bjwvYj4ocG9pbnRfdHlwZSZhbXA7IHBvaW50LCA8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAKCQl1bnNpZ25lZF9hcmVhX3R5cGUgZmFjdG9yKTwvZm9udD48L3RkPgoJCTx0ZD5EaXZpZGVzIHggYW5kIHkgY29vcmRpbmF0ZSBvZiBhbiBvYmplY3QgdGhhdCBtb2RlbHMgcG9pbnQgYnkgCgkJdW5zaWduZWQgZmFjdG9yLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIHBvaW50X3R5cGUsIAoJCXR5cGVuYW1lIHNjYWxpbmdfdHlwZSZndDs8YnI+CgkJcG9pbnRfdHlwZSZhbXA7IDxiPnNjYWxlPC9iPihwb2ludF90eXBlJmFtcDsgcG9pbnQsPGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgCgkJY29uc3Qgc2NhbGluZ190eXBlJmFtcDsgZmFjdG9yKSA8L2ZvbnQ+PC90ZD4KCQk8dGQ+Q2FsbHMgdGhlIHNjYWxlIG1lbWJlciBmdW5jdGlvbiBvZiBzY2FsaW5nIHR5cGUgb24gdGhlIHggYW5kIHkgdmFsdWUgCgkJb2YgYW4gb2JqZWN0IHRoYXQgbW9kZWxzIHBvaW50IGFuZCBzZXRzIHRoZSBwb2ludCB0byB0aGUgc2NhbGVkIHZhbHVlcy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBwb2ludF90eXBlLCAKCQl0eXBlbmFtZSB0cmFuc2Zvcm1fdHlwZSZndDs8YnI+CgkJcG9pbnRfdHlwZSZhbXA7IDxiPnRyYW5zZm9ybTwvYj4ocG9pbnRfdHlwZSZhbXA7IHBvaW50LDxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IAoJCWNvbnN0IHRyYW5zZm9ybV90eXBlJmFtcDsgdHJhbnNmb3JtKSA8L2ZvbnQ+PC90ZD4KCQk8dGQ+Q2FsbHMgdGhlIHRyYW5zZm9ybSBtZW1iZXIgZnVuY3Rpb24gb2YgdHJhbnNmb3JtIHR5cGUgb24gdGhlIHggYW5kIHkgCgkJdmFsdWUgb2YgYW4gb2JqZWN0IHRoYXQgbW9kZWxzIHBvaW50IGFuZCBzZXRzIHRoZSBwb2ludCB0byB0aGUgCgkJdHJhbnNmb3JtZWQgdmFsdWVzLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIHBvaW50X3R5cGUmZ3Q7PGJyPgoJCXBvaW50X3R5cGUmYW1wOyA8Yj5tb3ZlPC9iPihwb2ludF90eXBlJmFtcDsgcG9pbnQsIG9yaWVudGF0aW9uXzJkPGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgCgkJY29vcmRpbmF0ZV9kaWZmZXJlbmNlIGRpc3BsYWNlbWVudCk8L2ZvbnQ+PC90ZD4KCQk8dGQ+QWRkcyBkaXNwbGFjZW1lbnQgdmFsdWUgdG8gdGhlIGNvb3JkaW5hdGUgb2YgYW4gb2JqZWN0IHRoYXQgbW9kZWxzIAoJCXBvaW50IGluZGljYXRlZCBieSB0aGUgb3JpZW50YXRpb25fMmQuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDEsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQlUMSZhbXA7IDxiPmNvbnZvbHZlPC9iPihUMSZhbXA7IGEsIGNvbnN0IFQyJmFtcDsgYik8L2ZvbnQ+PC90ZD4KCQk8dGQ+QWRkcyB4IGNvb3JkaW5hdGUgb2YgYiB0byB4IGNvb3JkaW5hdGUgb2YgYSBhbmQgYWRkcyB5IGNvb3JkaW5hdGUgb2YgCgkJYiB0byB5IGNvb3JkaW5hdGUgb2YgYS48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUMSwgdHlwZW5hbWUgCgkJVDImZ3Q7PGJyPgoJCVQxJmFtcDsgPGI+ZGVjb252b2x2ZTwvYj4oVDEmYW1wOyBhLCBjb25zdCBUMiZhbXA7IGIpPC9mb250PjwvdGQ+CgkJPHRkPlN1YnRyYWN0cyB4IGNvb3JkaW5hdGUgb2YgYiBmcm9tIHggY29vcmRpbmF0ZSBvZiBhIGFuZCBzdWJ0cmFjdHMgeSAKCQljb29yZGluYXRlIG9mIGIgZnJvbSB5IGNvb3JkaW5hdGUgb2YgYS4gPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDEsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQljb29yZGluYXRlX2Rpc3RhbmNlIDxiPmV1Y2xpZGVhbl9kaXN0YW5jZTwvYj4oY29uc3QgVDEmYW1wOyw8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAKCQljb25zdCBUMiZhbXA7KTwvZm9udD48L3RkPgoJCTx0ZD5SZXR1cm5zIHRoZSBkaXN0YW5jZSBmcm9tIGFuIG9iamVjdCB0aGF0IG1vZGVscyBwb2ludCB0byBhIHNlY29uZCAKCQlvYmplY3QgdGhhdCBtb2RlbHMgcG9pbnQuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVCZndDs8YnI+CgkJY29vcmRpbmF0ZV9kaWZmZXJlbmNlIDxiPmV1Y2xpZGVhbl9kaXN0YW5jZTwvYj4oY29uc3QgVCZhbXA7LDxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG9yaWVudGF0aW9uXzJkLCAKCQljb29yZGluYXRlX3R5cGUpPC9mb250PjwvdGQ+CgkJPHRkPlJldHVybnMgdGhlIGRpc3RhbmNlIGZyb20gYW4gb2JqZWN0IHRoYXQgbW9kZWxzIHBvaW50IHRvIGEgCgkJY29vcmRpbmF0ZSBpbiB0aGUgZ2l2ZW4gb3JpZW50YXRpb25fMmQuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDEsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQljb29yZGluYXRlX2RpZmZlcmVuY2UgPGI+bWFuaGF0dGFuX2Rpc3RhbmNlPC9iPihjb25zdCBUMSZhbXA7LDxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IAoJCWNvbnN0IFQyJmFtcDspPC9mb250PjwvdGQ+CgkJPHRkPlJldHVybnMgdGhlIGRpc3RhbmNlIGluIHggcGx1cyB0aGUgZGlzdGFuY2UgaW4geSBmcm9tIGFuIG9iamVjdCB0aGF0IAoJCW1vZGVscyBwb2ludCB0byBhIHNlY29uZCBvYmplY3QgdGhhdCBtb2RlbHMgcG9pbnQuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDEsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQljb29yZGluYXRlX2RpZmZlcmVuY2UgPGI+ZGlzdGFuY2Vfc3F1YXJlZDwvYj4oY29uc3QgVDEmYW1wOyw8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAKCQljb25zdCBUMiZhbXA7KTwvZm9udD48L3RkPgoJCTx0ZD5SZXR1cm5zIHRoZSBzcXVhcmUgb2YgdGhlIGRpc3RhbmNlIGluIHggcGx1cyB0aGUgc3F1YXJlIG9mIHRoZSAKCQlkaXN0YW5jZSBpbiB5IGZyb20gYW4gb2JqZWN0IHRoYXQgbW9kZWxzIHBvaW50IHRvIGEgc2Vjb25kIG9iamVjdCB0aGF0IAoJCW1vZGVscyBwb2ludC48L3RkPgoJPC90cj4KPC90YWJsZT4KPGgxPlBvaW50IERhdGE8L2gxPgoKPHA+IAo8cD5UaGUgbGlicmFyeSBwcm92aWRlcyBhIG1vZGVsIG9mIHBvaW50IGNvbmNlcHQgZGVjbGFyZWQKPGZvbnQgZmFjZT0iQ291cmllciBOZXciPgp0ZW1wbGF0ZSZsdDt0eXBlbmFtZSBUJmd0OyBwb2ludF9kYXRhIDwvZm9udD53aGVyZSBUIGlzIHRoZSBjb29yZGluYXRlIHR5cGUuPC9wPgo8cD5UaGlzIGRhdGEgdHlwZSBpcyB1c2VkIGludGVybmFsbHkgd2hlbiBhIHBvaW50IGlzIG5lZWRlZCBhbmQgaXMgYXZhaWxhYmxlIHRvIAp0aGUgbGlicmFyeSB1c2VyIHdobyBmaW5kcyBpdCBjb252ZW5pZW50IHRvIHVzZSBhIGxpYnJhcnkgcG9pbnQgZGF0YSB0eXBlIAppbnN0ZWFkIG9mIHByb3ZpZGluZyB0aGVpciBvd24uJm5ic3A7IFRoZSBkYXRhIHR5cGUgaXMgaW1wbGVtZW50ZWQgdG8gYmUgCmNvbnZlbmllbnQgdG8gdXNlIHdpdGggdGhlIGxpYnJhcnkgdHJhaXRzLjwvcD4KPHA+RXhhbXBsZSBjb2RlIDxhIGhyZWY9Imd0bF9wb2ludF91c2FnZS5odG0iPnBvaW50X3VzYWdlLmNwcDwvYT4gZGVtb25zdHJhdGVzIHVzaW5nIHRoZSAKCQlsaWJyYXJ5IHByb3ZpZGVkIHBvaW50IGRhdGEgdHlwZSBhbmQgZnVuY3Rpb25zPC9wPgo8aDI+TWVtYmVyczwvaDI+Cjx0YWJsZSBib3JkZXI9IjEiIHdpZHRoPSIxMDAlIiBpZD0idGFibGUyIj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPmdlb21ldHJ5X3R5cGU8L2ZvbnQ+PC9iPjwvdGQ+CgkJPHRkPjxmb250IGZhY2U9IlRpbWVzIE5ldyBSb21hbiI+cG9pbnRfY29uY2VwdDwvZm9udD48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPmNvb3JkaW5hdGVfdHlwZTwvZm9udD48L2I+PC90ZD4KCQk8dGQ+PGZvbnQgZmFjZT0iVGltZXMgTmV3IFJvbWFuIj5UPC9mb250PjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+PGI+cG9pbnRfZGF0YTwvYj4oKTwvZm9udD48L3RkPgoJCTx0ZD48Zm9udCBmYWNlPSJUaW1lcyBOZXcgUm9tYW4iPkRlZmF1bHQgY29uc3RydWN0cyB0aGUgdHdvIGNvb3JkaW5hdGUgCgkJdmFsdWVzIG9mIHRoZSA8L2ZvbnQ+cG9pbnQ8Zm9udCBmYWNlPSJUaW1lcyBOZXcgUm9tYW4iPi48L2ZvbnQ+PC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij48Yj5wb2ludF9kYXRhPC9iPihUIHgsIFQgeSk8L2ZvbnQ+PC90ZD4KCQk8dGQ+PGZvbnQgZmFjZT0iVGltZXMgTmV3IFJvbWFuIj5Db25zdHJ1Y3RzIGFuIGludGVydmFsIHdpdGggdHdvIAoJCWNvb3JkaW5hdGVzLjwvZm9udD48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPjxiPnBvaW50X2RhdGE8L2I+KGNvbnN0IHBvaW50X2RhdGEqIAoJCXRoYXQpPC9mb250PjwvdGQ+CgkJPHRkPjxmb250IGZhY2U9IlRpbWVzIE5ldyBSb21hbiI+Q29weSBjb25zdHJ1Y3Q8L2ZvbnQ+PC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij5wb2ludF9kYXRhJmFtcDsgPGI+b3BlcmF0b3I9PC9iPihjb25zdCAKCQlwb2ludF9kYXRhJmFtcDsgdGhhdCk8L2ZvbnQ+PC90ZD4KCQk8dGQ+QXNzaWdubWVudCBvcGVyYXRvci48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUMiZndDs8Yj4mbmJzcDsgCgkJPGJyPiA8L2I+cG9pbnRfZGF0YSZhbXA7IDxiPm9wZXJhdG9yPTwvYj4oY29uc3QgVDImYW1wOyB0aGF0KSBjb25zdDwvZm9udD48L3RkPgoJCTx0ZD5Bc3NpZ24gZnJvbSBhbiBvYmplY3QgdGhhdCBpcyBhIG1vZGVsIG9mIHBvaW50LjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQyJmd0OzxiPiAKCQk8YnI+IDwvYj5ib29sPGI+IAoJCW9wZXJhdG9yPT08L2I+KGNvbnN0IFQyJmFtcDsgdGhhdCkgY29uc3Q8L2ZvbnQ+PC90ZD4KCQk8dGQ+Q29tcGFyZSBlcXVhbGl0eSB0byBhbiBvYmplY3QgdGhhdCBpcyBhIG1vZGVsIG9mIHBvaW50LjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQyJmd0OzxiPiAKCQk8YnI+IDwvYj5ib29sPGI+IAoJCW9wZXJhdG9yIT08L2I+KGNvbnN0IFQyJmFtcDsgdGhhdCkgY29uc3Q8L2ZvbnQ+PC90ZD4KCQk8dGQ+Q29tcGFyZSBpbmVxdWFsaXR5IHRvIGFuIG9iamVjdCB0aGF0IGlzIGEgbW9kZWwgb2YgcG9pbnQuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDImZ3Q7PGI+IAoJCTxicj4gPC9iPmJvb2w8Yj4gCgkJb3BlcmF0b3ImbHQ7PC9iPihjb25zdCBUMiZhbXA7IHRoYXQpIGNvbnN0PC9mb250PjwvdGQ+CgkJPHRkPkNvbXBhcmVzIHkgY29vcmRpbmF0ZXMgdGhlbiB4IGNvb3JkaW5hdGVzIHRvIGJyZWFrIHRpZXMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDImZ3Q7PGI+IAoJCTxicj4gPC9iPmJvb2w8Yj4gCgkJb3BlcmF0b3ImbHQ7PTwvYj4oY29uc3QgVDImYW1wOyB0aGF0KSBjb25zdDwvZm9udD48L3RkPgoJCTx0ZD5Db21wYXJlcyB5IGNvb3JkaW5hdGVzIHRoZW4geCBjb29yZGluYXRlcyB0byBicmVhayB0aWVzLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQyJmd0OzxiPiAKCQk8YnI+IDwvYj5ib29sPGI+IAoJCW9wZXJhdG9yJmd0OzwvYj4oY29uc3QgVDImYW1wOyB0aGF0KSBjb25zdDwvZm9udD48L3RkPgoJCTx0ZD5Db21wYXJlcyBsb3cgY29vcmRpbmF0ZXMgdGhlbiBoaWdoIGNvb3JkaW5hdGVzIHRvIGJyZWFrIHRpZXMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDImZ3Q7PGI+IAoJCTxicj4gPC9iPmJvb2w8Yj4gCgkJb3BlcmF0b3ImZ3Q7PTwvYj4oY29uc3QgVDImYW1wOyB0aGF0KSBjb25zdDwvZm9udD48L3RkPgoJCTx0ZD5Db21wYXJlcyBsb3cgY29vcmRpbmF0ZXMgdGhlbiBoaWdoIGNvb3JkaW5hdGVzIHRvIGJyZWFrIHRpZXMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij5UIDxiPmdldDwvYj4ob3JpZW50YXRpb25fMmQgCgkJb3JpZW50KSBjb25zdDwvZm9udD48L3RkPgoJCTx0ZD5HZXQgdGhlIGNvb3JkaW5hdGUgaW4gdGhlIGdpdmVuIG9yaWVudGF0aW9uLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+VCA8Yj54PC9iPigpIGNvbnN0PC9mb250PjwvdGQ+CgkJPHRkPkdldCB0aGUgY29vcmRpbmF0ZSBpbiB0aGUgaG9yaXpvbnRhbCBvcmllbnRhdGlvbi48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPlQgPGI+eTwvYj4oKSBjb25zdDwvZm9udD48L3RkPgoJCTx0ZD5HZXQgdGhlIGNvb3JkaW5hdGUgaW4gdGhlIHZlcnRpY2FsIG9yaWVudGF0aW9uLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dm9pZCA8Yj5zZXQ8L2I+KG9yaWVudGF0aW9uXzJkIAoJCW9yaWVudCwgVCB2YWx1ZSk8L2ZvbnQ+PC90ZD4KCQk8dGQ+U2V0cyB0aGUgY29vcmRpbmF0ZSBpbiB0aGUgZ2l2ZW4gb3JpZW50YXRpb24gdG8gdGhlIHZhbHVlLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dm9pZCA8Yj54PC9iPihUIHZhbHVlKTwvZm9udD48L3RkPgoJCTx0ZD5TZXRzIHRoZSBjb29yZGluYXRlIGluIHRoZSBob3Jpem9udGFsIG9yaWVudGF0aW9uIHRvIHRoZSB2YWx1ZS48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnZvaWQgPGI+eTwvYj4oVCB2YWx1ZSk8L2ZvbnQ+PC90ZD4KCQk8dGQ+U2V0cyB0aGUgY29vcmRpbmF0ZSBpbiB0aGUgdmVydGljYWwgb3JpZW50YXRpb24gdG8gdGhlIHZhbHVlLjwvdGQ+Cgk8L3RyPgoJPC90YWJsZT4KCTx0cj4KPHRkIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM4LCAyMzgsIDIzOCk7IiBub3dyYXA9IjEiIHZhbGlnbj0idG9wIj4KICAgICZuYnNwOzwvdGQ+Cjx0ZCBzdHlsZT0icGFkZGluZy1sZWZ0OiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogMTBweDsiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTAwJSI+CgoKPHRhYmxlIGNsYXNzPSJkb2NpbmZvIiBydWxlcz0ibm9uZSIgZnJhbWU9InZvaWQiIGlkPSJ0YWJsZTMiPgoJPGNvbGdyb3VwPgoJCTxjb2wgY2xhc3M9ImRvY2luZm8tbmFtZSI+PGNvbCBjbGFzcz0iZG9jaW5mby1jb250ZW50Ij4KCTwvY29sZ3JvdXA+Cgk8dGJvZHkgdkFsaWduPSJ0b3AiPgoJCTx0cj4KCQkJPHRoIGNsYXNzPSJkb2NpbmZvLW5hbWUiPkNvcHlyaWdodDo8L3RoPgoJCQk8dGQ+Q29weXJpZ2h0IKkgSW50ZWwgQ29ycG9yYXRpb24gMjAwOC0yMDEwLjwvdGQ+CgkJPC90cj4KCQk8dHIgY2xhc3M9ImZpZWxkIj4KCQkJPHRoIGNsYXNzPSJkb2NpbmZvLW5hbWUiPkxpY2Vuc2U6PC90aD4KCQkJPHRkIGNsYXNzPSJmaWVsZC1ib2R5Ij5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgCgkJCVZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIDx0dCBjbGFzcz0ibGl0ZXJhbCI+CgkJCTxzcGFuIGNsYXNzPSJwcmUiPkxJQ0VOU0VfMV8wLnR4dDwvc3Bhbj48L3R0PiBvciBjb3B5IGF0CgkJCTxhIGNsYXNzPSJyZWZlcmVuY2UiIHRhcmdldD0iX3RvcCIgaHJlZj0iaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij4KCQkJaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0PC9hPik8L3RkPgoJCTwvdHI+CjwvdGFibGU+Cgo8L2h0bWw+