PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5nPSJlbiI+PGhlYWQ+PCEtLQogICAgQ29weXJpZ2h0IDIwMDktMjAxMCBJbnRlbCBDb3Jwb3JhdGlvbgogICAgbGljZW5zZSBiYW5uZXIKLS0+Cjx0aXRsZT5Cb29zdCBQb2x5Z29uIExpYnJhcnk6IFBlcmZvcm1hbmNlIEFuYWx5c2lzPC90aXRsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sO2NoYXJzZXQ9SVNPLTg4NTktMSI+Cjx0YWJsZSBzdHlsZT0ibWFyZ2luOiAwcHQ7IHBhZGRpbmc6IDBwdDsgd2lkdGg6IDEwMCU7IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRib2R5Pjx0cj4KPHRkIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM4LCAyMzgsIDIzOCk7IiBub3dyYXA9IjEiIHZhbGlnbj0idG9wIj4KICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDVweDsiIGFsaWduPSJjZW50ZXIiPgogICAgICAgIDxpbWcgYm9yZGVyPSIwIiBzcmM9ImltYWdlcy9ib29zdC5wbmciIHdpZHRoPSIyNzciIGhlaWdodD0iODYiPjxhIHRpdGxlPSJ3d3cuYm9vc3Qub3JnIGhvbWUgcGFnZSIgaHJlZj0iaHR0cDovL3d3dy5ib29zdC5vcmcvIiB0YWJpbmRleD0iMiIgc3R5bGU9ImJvcmRlcjogbWVkaXVtIG5vbmUgOyI+CiAgICAgICAgICAgIDwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBzdHlsZT0ibWFyZ2luOiA1cHg7Ij4KICAgICAgICA8aDMgY2xhc3M9Im5hdmJhciI+Q29udGVudHM8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImluZGV4Lmh0bSI+Qm9vc3QuUG9seWdvbiBNYWluIFBhZ2U8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9kZXNpZ25fb3ZlcnZpZXcuaHRtIj5Qb2x5Z29uIAoJCQlMaWJyYXJ5IERlc2lnbiBPdmVydmlldzwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX2lzb3Ryb3B5Lmh0bSI+SXNvdHJvcHk8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imd0bF9jb29yZGluYXRlX2NvbmNlcHQuaHRtIj5Db29yZGluYXRlIENvbmNlcHQ8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imd0bF9pbnRlcnZhbF9jb25jZXB0Lmh0bSI+SW50ZXJ2YWwgQ29uY2VwdDwvYT48L2xpPgogICAgICAgICAgICA8bGk+CgkJCTxhIGhyZWY9Imd0bF9wb2ludF9jb25jZXB0Lmh0bSI+UG9pbnQgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3JlY3RhbmdsZV9jb25jZXB0Lmh0bSI+UmVjdGFuZ2xlIENvbmNlcHQ8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9wb2x5Z29uXzkwX2NvbmNlcHQuaHRtIj5Qb2x5Z29uIDkwIENvbmNlcHQ8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9wb2x5Z29uXzkwX3dpdGhfaG9sZXNfY29uY2VwdC5odG0iPlBvbHlnb24gOTAgV2l0aCBIb2xlcyBDb25jZXB0PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcG9seWdvbl80NV9jb25jZXB0Lmh0bSI+UG9seWdvbiA0NSBDb25jZXB0PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcG9seWdvbl80NV93aXRoX2hvbGVzX2NvbmNlcHQuaHRtIj5Qb2x5Z29uIDQ1IFdpdGggSG9sZXMgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3BvbHlnb25fY29uY2VwdC5odG0iPlBvbHlnb24gQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3BvbHlnb25fd2l0aF9ob2xlc19jb25jZXB0Lmh0bSI+UG9seWdvbiBXaXRoIEhvbGVzIENvbmNlcHQ8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9wb2x5Z29uXzkwX3NldF9jb25jZXB0Lmh0bSI+UG9seWdvbiA5MCBTZXQgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3BvbHlnb25fNDVfc2V0X2NvbmNlcHQuaHRtIj5Qb2x5Z29uIDQ1IFNldCBDb25jZXB0PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcG9seWdvbl9zZXRfY29uY2VwdC5odG0iPlBvbHlnb24gU2V0IENvbmNlcHQ8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9jb25uZWN0aXZpdHlfZXh0cmFjdGlvbl85MC5odG0iPkNvbm5lY3Rpdml0eSBFeHRyYWN0aW9uIDkwPC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfY29ubmVjdGl2aXR5X2V4dHJhY3Rpb25fNDUuaHRtIj5Db25uZWN0aXZpdHkgRXh0cmFjdGlvbiA0NTwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX2Nvbm5lY3Rpdml0eV9leHRyYWN0aW9uLmh0bSI+Q29ubmVjdGl2aXR5IEV4dHJhY3Rpb248L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9wcm9wZXJ0eV9tZXJnZV85MC5odG0iPlByb3BlcnR5IE1lcmdlIDkwPC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcHJvcGVydHlfbWVyZ2VfNDUuaHRtIj5Qcm9wZXJ0eSBNZXJnZSA0NTwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3Byb3BlcnR5X21lcmdlLmh0bSI+UHJvcGVydHkgTWVyZ2U8L2E+PC9saT4KICAgICAgICA8L3VsPgogICAgICAgIDxoMyBjbGFzcz0ibmF2YmFyIj5PdGhlciBSZXNvdXJjZXM8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9IkdUTF9ib29zdGNvbjIwMDkucGRmIj5HVEwgQm9vc3Rjb24gMjAwOSBQYXBlcjwvYT48L2xpPgogICAgICAgICAgICAgPGxpPjxhIGhyZWY9IkdUTF9ib29zdGNvbl9kcmFmdDAzLnBkZiI+R1RMIEJvb3N0Y29uIDIwMDkgCgkJCQlQcmVzZW50YXRpb248L2E+PC9saT4KICAgICAgICAgICAgIDxsaT5QZXJmb3JtYW5jZSBBbmFseXNpczwvbGk+CiAgICAgICAgCTxsaT48YSBocmVmPSJndGxfdHV0b3JpYWwuaHRtIj5MYXlvdXQgVmVyc3VzIFNjaGVtYXRpYyBUdXRvcmlhbDwvYT48L2xpPgogICAgICAgIAk8bGk+PGEgaHJlZj0iZ3RsX21pbmtvd3NraV90dXRvcmlhbC5odG0iPk1pbmtvd3NraSBTdW0gVHV0b3JpYWw8L2E+PC9saT4KICAgICAgICA8L3VsPgogICAgPC9kaXY+CiAgICAgICAgPGgzIGNsYXNzPSJuYXZiYXIiPlBvbHlnb24gU3BvbnNvcjwvaDM+CiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiA1cHg7IiBhbGlnbj0iY2VudGVyIj4KICAgICAgICA8aW1nIGJvcmRlcj0iMCIgc3JjPSJpbWFnZXMvaW50bG9nby5naWYiIHdpZHRoPSIxMjciIGhlaWdodD0iNTEiPgogICAgPC9kaXY+ICAgIAo8L3RkPgo8dGQgc3R5bGU9InBhZGRpbmctbGVmdDogMTBweDsgcGFkZGluZy1yaWdodDogMTBweDsgcGFkZGluZy1ib3R0b206IDEwcHg7IiB2YWxpZ249InRvcCIgd2lkdGg9IjEwMCUiPgoKPCEtLSBFbmQgSGVhZGVyIC0tPgoKPGJyPgo8cD4KPC9wPjxoMT5Qb2x5Z29uIFNldCBBbGdvcml0aG1zIEFuYWx5c2lzPC9oMT4gCjxwPk1vc3Qgbm9uLXRyaXZpYWwgYWxnb3JpdGhtcyBpbiB0aGUgQm9vc3QuUG9seWdvbiBsaWJyYXJ5IGFyZSAKaW5zdGFudGlhdGlvbnMgb2YgZ2VuZXJpYyBzd2VlcC1saW5lIGFsZ29yaXRobXMgdGhhdCBwcm92aWRlIHRoZSBjYXBhYmlsaXR5IHRvIApwZXJmb3JtIE1hbmhhdHRhbiBhbmQgNDUtZGVncmVlIGxpbmUgc2VnbWVudCBpbnRlcnNlY3Rpb24sIG4tbGF5ZXIgbWFwIG92ZXJsYXksIApjb25uZWN0aXZpdHkgZ3JhcGggZXh0cmFjdGlvbiBhbmQgY2xpcHBpbmcvQm9vbGVhbnMuJm5ic3A7IFRoZXNlIGFsZ29yaXRobXMgaGF2ZSBPKG4gbG9nIG4pIApydW50aW1lIGNvbXBsZXhpdHkgZm9yIG4gZXF1YWwgdG8gaW5wdXQgdmVydGljZXMgcGx1cyBpbnRlcnNlY3Rpb24gdmVydGljZXMuJm5ic3A7IFRoZSAKYXJiaXRyYXJ5IGFuZ2xlIGxpbmUgc2VnbWVudCBpbnRlcnNlY3Rpb24gYWxnb3JpdGhtIGlzIG5vdCBpbXBsZW1lbnRlZCBhcyBhIApzd2VlcC1saW5lIGR1ZSB0byBjb21wbGljYXRpb25zIHJlbGF0ZWQgdG8gYWNoaWV2aW5nIG51bWVyaWNhbCByb2J1c3RuZXNzLiZuYnNwOyAKVGhlIGdlbmVyYWwgbGluZSBzZWdtZW50IGludGVyc2VjdGlvbiBhbGdvcml0aG0gaXMgaW1wbGVtZW50ZWQgYXMgYW4gcmVjdXJzaXZlIAphZGFwdGl2ZSBoZXVyaXN0aWMgZGl2aWRlIGFuZCBjb25xdWVyIGluIHRoZSB5IGRpbWVuc2lvbiBmb2xsb3dlZCBieSBzb3J0aW5nIApsaW5lIHNlZ21lbnRzIGluIGVhY2ggc3ViZGl2aXNpb24gYnkgeCBjb29yZGluYXRlcyBhbmQgc2Nhbm5pbmcgbGVmdCB0byByaWdodC4mbmJzcDsgCkJ5IG9uZS1kaW1lbnNpb25hbCBkZWNvbXBvc2l0aW9uIG9mIHRoZSBwcm9ibGVtIHNwYWNlIGluIGJvdGggeCBhbmQgeSB0aGUgCmFsZ29yaXRobSBhcHByb3hpbWF0ZXMgdGhlIG9wdGltYWwgTyhuIGxvZyBuKSBCZW50bGV5LU90dG1hbm4gbGluZSBzZWdtZW50IGludGVyc2VjdGlvbiAKcnVudGltZSBjb21wbGV4aXR5IGluIHRoZSBjb21tb24gY2FzZS4mbmJzcDsgU3BlY2lmaWMgZXhhbXBsZXMgb2YgaW5wdXRzIHRoYXQgCmRlZmVhdCBvbmUgZGltZW5zaW9uYWwgZGVjb21wb3NpdGlvbiBvZiB0aGUgcHJvYmxlbSBzcGFjZSBjYW4gcmVzdWx0IGluIApwYXRob2xvZ2ljYWwgcXVhZHJhdGljIHJ1bnRpbWUgY29tcGxleGl0eSB0byB3aGljaCB0aGUgQmVudGxleS1PdHRtYW5uIGFsZ29yaXRobSAKaXMgaW1tdW5lLjwvcD4KPHA+QmVsb3cgaXMgc2hvd24gYSBsb2ctbG9nIHBsb3Qgb2YgcnVudGltZSB2ZXJzdXMgaW5wdXQgc2l6ZSBmb3IgaW5wdXRzIHRoYXQgCmluY3JlYXNlIHF1YWRyYXRpY2FsbHkgaW4gc2l6ZS4mbmJzcDsgVGhlIGlucHV0cyB3ZXJlIGdlbmVyYXRlZCBieSAKcHNldWRvLXJhbmRvbWx5IGRpc3RyaWJ1dGluZyBzbWFsbCBheGlzLXBhcmFsbGVsIHJlY3RhbmdsZXMgd2l0aGluIGEgc3F1YXJlIGFyZWEgCnByb3BvcnRpb25hbCB0aGUgdGhlIG51bWJlciBvZiByZWN0YW5nbGVzIHNwZWNpZmllZCBmb3IgZWFjaCB0cmlhbC4mbmJzcDsgSW4gCnRoaXMgd2F5IHRoZSBwcm9iYWJpbGl0eSBvZiBpbnRlcnNlY3Rpb25zIGJlaW5nIHByb2R1Y2VkIHJlbWFpbnMgY29uc3RhbnQgYXMgdGhlIAppbnB1dCBzaXplIGdyb3dzLiZuYnNwOyBCZWNhdXNlIGludGVyc2VjdGlvbiB2ZXJ0aWNlcyBhcmUgZXhwZWN0ZWQgdG8gYmUgYSAKY29uc3RhbnQgZmFjdG9yIG9mIGlucHV0IHZlcnRpY2VzIHdlIGNhbiBleGFtaW5lIHJ1bnRpbWUgY29tcGxleGl0eSBpbiB0ZXJtcyBvZiAKaW5wdXQgdmVydGljZXMuJm5ic3A7IFRoZSBvcGVyYXRpb24gcGVyZm9ybWVkIHdhcyBhIHVuaW9uIChCb29sZWFuIE9SKSBvZiB0aGUgCmlucHV0IHJlY3RhbmdsZXMgYnkgZWFjaCBvZiB0aGUgTWFuaGF0dGFuLCA0NS1kZWdyZWUgYW5kIGFyYml0cmFyeSBhbmdsZSAKQm9vbGVhbnMgYWxnb3JpdGhtcywgd2hpY2ggYXJlIGxhYmVsZWQgJnF1b3Q7Ym9vbGVhbiA5MCZxdW90OywgJnF1b3Q7Ym9vbGVhbiA0NSZxdW90OyBhbmQgJnF1b3Q7Ym9vbGVhbiZxdW90Oy4mbmJzcDsgCkFsc28gc2hvd24gaW4gdGhlIHBsb3QgaXMgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBhcmJpdHJhcnkgYW5nbGUgQm9vbGVhbnMgCmFsZ29yaXRobSBhcyBwcmlvciB0byB0aGUgYWRkaXRpb24gb2YgZGl2aWRlIGFuZCBjb25xdWVyIHJlY3Vyc2l2ZSBzdWJkaXZpc2lvbiwgCndoaWNoIHdhcyBkZXNjcmliZWQgaW4gdGhlIDxhIGhyZWY9IkdUTF9ib29zdGNvbjIwMDkucGRmIj5wYXBlcjwvYT4gCjxhIGhyZWY9IkdUTF9ib29zdGNvbl9kcmFmdDAzLnBkZiI+cHJlc2VudGVkPC9hPiBhdAo8YSBocmVmPSJodHRwOi8vd3d3LmJvb3N0Y29uLmNvbS9ob21lIj5ib29zdGNvbjwvYT4gMjAwOS4mbmJzcDsgRmluYWxseSwgdGhlIAp0aW1lIHJlcXVpcmVkIHRvIHNvcnQgdGhlIGlucHV0IHBvaW50cyBpcyBzaG93biBhcyBhIGNvbW1vbiByZWZlcmVuY2UgZm9yIE8obiBsb2cgbikgCnJ1bnRpbWUgdG8gcHV0IHRoZSBkYXRhIGludG8gY29udGV4dC48L3A+PGltZyBib3JkZXI9IjAiIHNyYz0iaW1hZ2VzL3BlcmZfZ3JhcGguUE5HIiB3aWR0aD0iMzkxIiBoZWlnaHQ9IjQxNCI+PHA+CldlIGNhbiBzZWUgaW4gdGhlIGxvZy1sb2cgcGxvdCB0aGF0IHNvcnRpbmcgYW5kIHRoZSB0aHJlZSBCb29sZWFucyBhbGdvcml0aG1zIApwcm92aWRlZCBieSB0aGUgQm9vc3QuUG9seWdvbiBsaWJyYXJ5IGhhdmUgbmVhcmx5IDQ1IGRlZ3JlZSAmcXVvdDtsaW5lYXImcXVvdDsgCnNjYWxpbmcgd2l0aCBlbXBpcmljYWwgZXhwb25lbnRzIGp1c3Qgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gMS4wIGFuZCBjYW4gYmUgCm9ic2VydmVkIHRvIHNjYWxlIHByb3BvcnRpb25hbCB0byBPKG4gbG9nIG4pIGZvciAKdGhlc2UgaW5wdXRzLiZuYnNwOyBUaGUgJnF1b3Q7b2xkIGJvb2xlYW4mcXVvdDsgYWxnb3JpdGhtIHByZXNlbnRlZCBhdCBib29zdGNvbiAyMDA5IApleGhpYml0cyBzY2FsaW5nIGNsb3NlIHRvIHRoZSBleHBlY3RlZCBPKG48c3VwPjxmb250IHNpemU9IjIiPjEuNTwvZm9udD48L3N1cD4pIApzY2FsaW5nLiZuYnNwOyBCZWNhdXNlIHRoZSBzcGVlZHVwIHByb3ZpZGVkIGJ5IHRoZSBkaXZpZGUgYW5kIGNvbnF1ZXIgYXBwcm9hY2ggCmlzIGFsZ29yaXRobWljLCB0aGUgMTBYIHBvdGVudGlhbCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBhbGx1ZGVkIHRvIGluIHRoZSBwYXBlciBpcyAKcmVhbGl6ZWQgYXQgaW5wdXRzIG9mIDIwMCwwMDAgcmVjdGFuZ2xlcyBhbmQgbGFyZ2VyLiZuYnNwOyBFdmVuIGZvciBzbWFsbCBpbnB1dHMgCm9mIDJLIHJlY3RhbmdsZXMgdGhlIGFsZ29yaXRobSBpcyAyWCBmYXN0ZXIgYW5kIG5vdyBjYW4gYmUgZXhwZWN0ZWQgdG8gYmUgCnJvdWdobHkgYXMgZmFzdCBhcyA8YSBocmVmPSJodHRwOi8vd3d3LmNzLm1hbmNoZXN0ZXIuYWMudWsvfnRvYnkvYWxhbi9zb2Z0d2FyZS8iPkdQQzwvYT4gYXQgc21hbGwgc2NhbGVzLCAKd2hpbGUgYWxnb3JpdGhtaWNhbGx5IGZhc3RlciBhdCBsYXJnZSBzY2FsZXMuPC9wPgo8cD4KCgpGcm9tIHRoZSBwbG90IHdlIGNhbiBjb21wYXJlIHRoZSBjb25zdGFudCBmYWN0b3IgcGVyZm9ybWFuY2Ugb2YgdGhlIHZhcmlvdXMgCkJvb2xlYW5zIGFsZ29yaXRobXMgd2l0aCB0aGUgcnVudGltZSBvZiBzdGQ6OnNvcnQgYXMgYSBiYXNlbGluZSBmb3IgTyhuIGxvZyBuKSAKYWxnb3JpdGhtcy4mbmJzcDsgSWYgeW91IGNvbnNpZGVyIHNvcnQgdG8gYmUgb25lIHVuaXQgb2YgTyhuIGxvZyBuKSBhbGdvcml0aG1pYyAKd29yayB3ZSBjYW4gc2VlIHRoYXQgTWFuaGF0dGFuIEJvb2xlYW5zIGNvc3Qgcm91Z2hseSBmaXZlIHVuaXRzIG9mIE8obiBsb2cgbikgCndvcmssIDQ1LWRlZ3JlZSZuYnNwOyBCb29sZWFucyBjb3N0IHJvdWdobHkKCgo8L2JvZHk+dGVuIHVuaXRzIG9mIE8obiBsb2cgbikgd29yayBhbmQgYXJiaXRyYXJ5IGFuZ2xlIEJvb2xlYW5zIGNvc3Qgcm91Z2hseSAKc2V2ZW50eSB1bml0cyBvZiBPKG4gbG9nIG4pIHdvcmsuJm5ic3A7IFNvcnRpbmcgdGhlIGlucHV0IHZlcnRpY2VzIGlzIHRoZSBmaXJzdCAKc3RlcCBpbiBhIEJvb2xlYW5zIGFsZ29yaXRobSBhbmQgdGhlcmVmb3JlIHByb3ZpZGVzIGEgaGFyZCBsb3dlciBib3VuZCBmb3IgdGhlIApydW50aW1lIG9mIGFuIG9wdGltYWwgQm9vbGVhbnMgYWxnb3JpdGhtLjxwPgoKCk9uZSBmaW5hbCB0aGluZyB0byBub3RlIGFib3V0IHBlcmZvcm1hbmNlIG9mIHRoZSBhcmJpdHJhcnkgYW5nbGUgQm9vbGVhbnMgCmFsZ29yaXRobSBpcyB0aGF0IHRoZSB1c2Ugb2YgPGEgaHJlZj0iaHR0cDovL2dtcGxpYi5vcmciPkdNUDwvYT4KIGluZmluaXRlIHByZWNpc2lvbiByYXRpb25hbCBkYXRhIHR5cGUgZm9yIG51bWVyaWNhbGx5IHJvYnVzdCAKY29tcHV0YXRpb25zIGNhbiBiZSBlbXBsb3llZCBieSBpbmNsdWRpbmcgYm9vc3QvcG9seWdvbi9nbXBfb3ZlcnJpZGUuaHBwIGFuZCBsaW5raW5nIAp0byBsZ21weHggYW5kIGxnbXAuJm5ic3A7IFRoaXMgcHJvdmlkZXMgCjEwMCUgYXNzdXJhbmNlIHRoYXQgdGhlIGFsZ29yaXRobSB3aWxsIHN1Y2NlZWQgYW5kIHByb2R1Y2UgYW4gb3V0cHV0IHNuYXBwZWQgdG8gCnRoZSBpbnRlZ2VyIGdyaWQgd2l0aCBhIG1pbmltdW0gb2Ygb25lIGludGVnZXIgZ3JpZCBvZiBlcnJvciBvbiBwb2x5Z29uIApib3VuZGFyaWVzIHVwb24gd2hpY2ggaW50ZXJzZWN0aW9uIHBvaW50cyBhcmUgaW50cm9kdWNlZC4mbmJzcDsgSG93ZXZlciwgdGhlIAppbmZpbml0ZSBwcmVjaXNpb24gZGF0YSB0eXBlIGlzIG5ldmVyIHVzZWQgZm9yIHByZWRpY2F0ZXMgKHNlZSB0aGUgYm9vc3Rjb24gCnByZXNlbnRhdGlvbiBvciBwYXBlciBmb3IgZGVzY3JpcHRpb24gb2Ygcm9idXN0IHByZWRpY2F0ZXMpIGFuZCBpcyBvbmx5IHVzZWQgZm9yIApjb25zdHJ1Y3Rpb25zIG9mIGludGVyc2VjdGlvbiBjb29yZGluYXRlIHZhbHVlcyBpbiB0aGUgdmVyeSByYXJlIGNhc2UgdGhhdCBsb25nIApkb3VibGUgY29tcHV0YXRpb24gb2YgdGhlIGludGVyc2VjdGlvbiBvZiB0d28gbGluZSBzZWdtZW50cyBmYWlscyB0byBwcm9kdWNlIGFuIAppbnRlcnNlY3Rpb24gcG9pbnQgd2l0aGluIG9uZSBpbnRlZ2VyIHVuaXQgb2YgYm90aCBsaW5lIHNlZ21lbnRzLiZuYnNwOyBUaGlzIAptZWFucyB0aGF0IHRoZXJlIGlzIGVmZmVjdGl2ZWx5IG5vIHJ1bnRpbWUgcGVuYWx0eSBmb3IgdGhlIHVzZSBvZiBpbmZpbml0ZSAKcHJlY2lzaW9uIHRvIGVuc3VyZSAxMDAlIHJvYnVzdG5lc3MuJm5ic3A7IE1vc3QgaW5wdXRzIHdpbGwgcHJvY2VzcyB0aHJvdWdoIHRoZSAKYWxnb3JpdGhtIHdpdGhvdXQgZXZlciByZXNvcnRpbmcgdG8gR01QLjx0cj4KPHRkIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM4LCAyMzgsIDIzOCk7IiBub3dyYXA9IjEiIHZhbGlnbj0idG9wIj4KICAgICZuYnNwOzwvdGQ+Cjx0ZCBzdHlsZT0icGFkZGluZy1sZWZ0OiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogMTBweDsiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTAwJSI+CgoKPHRhYmxlIGNsYXNzPSJkb2NpbmZvIiBydWxlcz0ibm9uZSIgZnJhbWU9InZvaWQiIGlkPSJ0YWJsZTEiPgoJPGNvbGdyb3VwPgoJCTxjb2wgY2xhc3M9ImRvY2luZm8tbmFtZSI+PGNvbCBjbGFzcz0iZG9jaW5mby1jb250ZW50Ij4KCTwvY29sZ3JvdXA+Cgk8dGJvZHkgdkFsaWduPSJ0b3AiPgoJCTx0cj4KCQkJPHRoIGNsYXNzPSJkb2NpbmZvLW5hbWUiPkNvcHlyaWdodDo8L3RoPgoJCQk8dGQ+Q29weXJpZ2h0IKkgSW50ZWwgQ29ycG9yYXRpb24gMjAwOC0yMDEwLjwvdGQ+CgkJPC90cj4KCQk8dHIgY2xhc3M9ImZpZWxkIj4KCQkJPHRoIGNsYXNzPSJkb2NpbmZvLW5hbWUiPkxpY2Vuc2U6PC90aD4KCQkJPHRkIGNsYXNzPSJmaWVsZC1ib2R5Ij5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgCgkJCVZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIDx0dCBjbGFzcz0ibGl0ZXJhbCI+CgkJCTxzcGFuIGNsYXNzPSJwcmUiPkxJQ0VOU0VfMV8wLnR4dDwvc3Bhbj48L3R0PiBvciBjb3B5IGF0CgkJCTxhIGNsYXNzPSJyZWZlcmVuY2UiIHRhcmdldD0iX3RvcCIgaHJlZj0iaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij4KCQkJaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0PC9hPik8L3RkPgoJCTwvdHI+CjwvdGFibGU+Cgo8L2h0bWw+