{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8IS0tIFBBR0U6IGJyYW5kaGFuZHNoYWtlLmNvbS9kZXNpZ24tbmV4dHN0ZXBzIC0tPgogICAgPCEtLSBQVVJQT1NFOiBQb3N0LXBheW1lbnQgY2FyZCBpbmZvIGNvbGxlY3Rpb24gLS0+CiAgICA8IS0tIEZPUk0gR09FUyBUTzogQ1JNIC0tPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPHRpdGxlPkRlc2lnbiBOZXh0IFN0ZXBzIHwgWW91ciBDYXJkIElzIEFsbW9zdCBSZWFkeSEgfCBCcmFuZEhhbmRzaGFrZTwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQ29uZ3JhdHVsYXRpb25zIG9uIHlvdXIgcHVyY2hhc2UhIFN1Ym1pdCB5b3VyIGRldGFpbHMgc28gd2UgY2FuIGNyZWF0ZSB5b3VyIHN0dW5uaW5nIGRpZ2l0YWwgYnVzaW5lc3MgY2FyZCB3aXRoaW4gNDgtNzIgaG91cnMuIj4KICAgIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCwgbm9mb2xsb3ciPgogICAgPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vYnJhbmRoYW5kc2hha2UuY29tL2Rlc2lnbi1uZXh0c3RlcHMiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1QbGF5ZmFpcitEaXNwbGF5OndnaHRANDAwOzUwMDs2MDA7NzAwOzgwMCZmYW1pbHk9Q29ybW9yYW50K0dhcmFtb25kOml0YWwsd2dodEAwLDQwMDswLDUwMDswLDYwMDsxLDQwMCZmYW1pbHk9TnVuaXRvOndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8c3R5bGU+CiAgICAgICAgOnJvb3QgewogICAgICAgICAgICAtLW5hdnk6ICMwRDFCMkE7CiAgICAgICAgICAgIC0taW5kaWdvOiAjMUMxRjRBOwogICAgICAgICAgICAtLWdvbGQ6ICNENEFGMzc7CiAgICAgICAgICAgIC0taXZvcnk6ICNGOEY0RUM7CiAgICAgICAgICAgIC0tZGVlcGdvbGQ6ICNCODk3MkU7CiAgICAgICAgICAgIC0tY2hhcmNvYWw6ICMwYTBhMTI7CiAgICAgICAgICAgIC0tZ3JlZW46ICMxMGI5ODE7CiAgICAgICAgICAgIC0tZ3JlZW4tZGFyazogIzA1OTY2OTsKICAgICAgICAgICAgLS1jeWFuOiAjMDZiNmQ0OwogICAgICAgICAgICAtLXB1cnBsZTogIzhiNWNmNjsKICAgICAgICAgICAgLS1yZWQ6ICNlZjQ0NDQ7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICogeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0KICAgICAgICBodG1sIHsgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IH0KICAgICAgICAKICAgICAgICBib2R5IHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOdW5pdG8nLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGFyY29hbCk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pdm9yeSk7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogQU5JTUFURUQgQkFDS0dST1VORCAqLwogICAgICAgIC5iZy1tYXN0ZXIgewogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIHRvcDogMDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsKICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IDA7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgMjAlIDEwJSwgcmdiYSgxNiwgMTg1LCAxMjksIDAuMjUpIDAlLCB0cmFuc3BhcmVudCA1MCUpLAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgODAlIDkwJSwgcmdiYSgyMTIsIDE3NSwgNTUsIDAuMikgMCUsIHRyYW5zcGFyZW50IDQwJSksCiAgICAgICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgNTAlLCByZ2JhKDYsIDE4MiwgMjEyLCAwLjE1KSAwJSwgdHJhbnNwYXJlbnQgNjAlKSwKICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNoYXJjb2FsKSAwJSwgdmFyKC0tbmF2eSkgNTAlLCB2YXIoLS1pbmRpZ28pIDEwMCUpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucGFnZS1jb250YWluZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgICAgICBtYXgtd2lkdGg6IDkwMHB4OwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICAgICAgcGFkZGluZzogNDBweCAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBIRUFERVIgKi8KICAgICAgICAucGFnZS1oZWFkZXIgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgICAgICAgfQogICAgICAgIC5icmFuZC1sb2dvIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogODAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tY3lhbikpOwogICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBTVUNDRVNTIEJBREdFICovCiAgICAgICAgLnN1Y2Nlc3MtYmFkZ2UgewogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4yKTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tZ3JlZW4pOwogICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDM1cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBzdWNjZXNzUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgICAgICAgfQogICAgICAgIEBrZXlmcmFtZXMgc3VjY2Vzc1B1bHNlIHsKICAgICAgICAgICAgMCUsIDEwMCUgeyBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDE2LCAxODUsIDEyOSwgMC4zKTsgfQogICAgICAgICAgICA1MCUgeyBib3gtc2hhZG93OiAwIDAgNDBweCByZ2JhKDE2LCAxODUsIDEyOSwgMC41KTsgfQogICAgICAgIH0KICAgICAgICAuc3VjY2Vzcy1pY29uIHsgZm9udC1zaXplOiAxLjVyZW07IH0KICAgICAgICAKICAgICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDV2dywgM3JlbSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQogICAgICAgIC5wYWdlLXRpdGxlIC5oaWdobGlnaHQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tY3lhbikpOwogICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIH0KICAgICAgICAucGFnZS1zdWJ0aXRsZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjgpOwogICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogVElNRUxJTkUgU0VDVElPTiAqLwogICAgICAgIC50aW1lbGluZS1zZWN0aW9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSgyOCwgMzEsIDc0LCAwLjYpLCByZ2JhKDEzLCAyNywgNDIsIDAuOSkpOwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIxMiwgMTc1LCA1NSwgMC4zKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDsKICAgICAgICAgICAgcGFkZGluZzogMzVweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgICAgICB9CiAgICAgICAgLnRpbWVsaW5lLWhlYWRlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICB9CiAgICAgICAgLnRpbWVsaW5lLWhlYWRlciBoMiB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAudGltZWxpbmUtaGVhZGVyIHAgewogICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI0OCwgMjQ0LCAyMzYsIDAuNyk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC50aW1lbGluZS1ncmlkIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICB9CiAgICAgICAgLnRpbWVsaW5lLWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoNiwgMTgyLCAyMTIsIDAuMik7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMjBweDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIH0KICAgICAgICAudGltZWxpbmUtY2FyZDpob3ZlciB7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3lhbik7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsKICAgICAgICB9CiAgICAgICAgLnRpbWVsaW5lLXRpZXIgewogICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jeWFuKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgICB9CiAgICAgICAgLnRpbWVsaW5lLWhvdXJzIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICB9CiAgICAgICAgLnRpbWVsaW5lLWxhYmVsIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjYpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiBXSEFUIFdFIE5FRUQgU0VDVElPTiAqLwogICAgICAgIC5yZXF1aXJlbWVudHMtc2VjdGlvbiB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgICAgICAgfQogICAgICAgIC5yZXF1aXJlbWVudHMtaGVhZGVyIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgICAgIH0KICAgICAgICAucmVxdWlyZW1lbnRzLWhlYWRlciBoMiB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgICB9CiAgICAgICAgLnJlcXVpcmVtZW50cy1oZWFkZXIgaDIgLmhpZ2hsaWdodCB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jeWFuKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnJlcXVpcmVtZW50cy1ncmlkIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNTBweCwgMWZyKSk7CiAgICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICB9CiAgICAgICAgLnJlcXVpcmVtZW50LWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDI4LCAzMSwgNzQsIDAuNSksIHJnYmEoMTMsIDI3LCA0MiwgMC44KSk7CiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjIpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAyNXB4OwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIH0KICAgICAgICAucmVxdWlyZW1lbnQtY2FyZDpob3ZlciB7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHVycGxlKTsKICAgICAgICB9CiAgICAgICAgLnJlcXVpcmVtZW50LWNhcmQucmVxdWlyZWQgewogICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEyLCAxNzUsIDU1LCAwLjQpOwogICAgICAgIH0KICAgICAgICAucmVxdWlyZW1lbnQtY2FyZC5yZXF1aXJlZDpob3ZlciB7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgfQogICAgICAgIC5yZXF1aXJlbWVudC1pY29uIHsKICAgICAgICAgICAgZm9udC1zaXplOiAycmVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIH0KICAgICAgICAucmVxdWlyZW1lbnQtdGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pdm9yeSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQogICAgICAgIC5yZXF1aXJlZC1iYWRnZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42cmVtOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICAgICAgICBwYWRkaW5nOiAzcHggOHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIH0KICAgICAgICAub3B0aW9uYWwtYmFkZ2UgewogICAgICAgICAgICBmb250LXNpemU6IDAuNnJlbTsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2LCAxODIsIDIxMiwgMC4zKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWN5YW4pOwogICAgICAgICAgICBwYWRkaW5nOiAzcHggOHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIH0KICAgICAgICAucmVxdWlyZW1lbnQtZGVzYyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC43KTsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogUlVMRVMgU0VDVElPTiAqLwogICAgICAgIC5ydWxlcy1zZWN0aW9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSgyMzksIDY4LCA2OCwgMC4xKSwgcmdiYSgxMywgMjcsIDQyLCAwLjkpKTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4zKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDsKICAgICAgICAgICAgcGFkZGluZzogMzVweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgICAgICB9CiAgICAgICAgLnJ1bGVzLWhlYWRlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICB9CiAgICAgICAgLnJ1bGVzLWhlYWRlciBoMiB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXJlZCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgfQogICAgICAgIC5ydWxlcy1oZWFkZXIgcCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjcpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAucnVsZXMtbGlzdCB7CiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICAgICAgfQogICAgICAgIC5ydWxlcy1saXN0IGxpIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgICAgcGFkZGluZzogMTJweCAwOwogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4xKTsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtOwogICAgICAgIH0KICAgICAgICAucnVsZXMtbGlzdCBsaTpsYXN0LWNoaWxkIHsKICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgICB9CiAgICAgICAgLnJ1bGUtaWNvbiB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CiAgICAgICAgLnJ1bGUtdGV4dCBzdHJvbmcgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIFRJUFMgU0VDVElPTiAqLwogICAgICAgIC50aXBzLXNlY3Rpb24gewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDE2LCAxODUsIDEyOSwgMC4xKSwgcmdiYSgxMywgMjcsIDQyLCAwLjkpKTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxNiwgMTg1LCAxMjksIDAuMyk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgICAgICAgfQogICAgICAgIC50aXBzLWhlYWRlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICB9CiAgICAgICAgLnRpcHMtaGVhZGVyIGgyIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JlZW4pOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAudGlwcy1ncmlkIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgICAgIGdhcDogMTVweDsKICAgICAgICB9CiAgICAgICAgLnRpcC1pdGVtIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgIH0KICAgICAgICAudGlwLWljb24gewogICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIEZPUk0gU0VDVElPTiAqLwogICAgICAgIC5mb3JtLXNlY3Rpb24gewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDI4LCAzMSwgNzQsIDAuNyksIHJnYmEoMTMsIDI3LCA0MiwgMC45NSkpOwogICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZDsKICAgICAgICAgICAgYm9yZGVyLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tY3lhbiksIHZhcigtLWdvbGQpKSAxOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICAgICAgICBwYWRkaW5nOiA0NXB4IDQwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgICAgICAgfQogICAgICAgIC5mb3JtLWhlYWRlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsKICAgICAgICB9CiAgICAgICAgLmZvcm0taGVhZGVyIGgyIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tY3lhbikpOwogICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIH0KICAgICAgICAuZm9ybS1oZWFkZXIgcCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC43KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmZvcm0tZ3JvdXAgewogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4OwogICAgICAgIH0KICAgICAgICAuZm9ybS1ncm91cCBsYWJlbCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjcpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAuZm9ybS1ncm91cCBsYWJlbCAucmVxdWlyZWQtc3RhciB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDsKICAgICAgICB9CiAgICAgICAgLmZvcm0tZ3JvdXAgaW5wdXQsCiAgICAgICAgLmZvcm0tZ3JvdXAgc2VsZWN0LAogICAgICAgIC5mb3JtLWdyb3VwIHRleHRhcmVhIHsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMThweDsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSg2LCAxODIsIDIxMiwgMC4zKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0taXZvcnkpOwogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICB9CiAgICAgICAgLmZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMsCiAgICAgICAgLmZvcm0tZ3JvdXAgc2VsZWN0OmZvY3VzLAogICAgICAgIC5mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIHsKICAgICAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDI1cHggcmdiYSgyMTIsIDE3NSwgNTUsIDAuMik7CiAgICAgICAgfQogICAgICAgIC5mb3JtLWdyb3VwIGlucHV0OjpwbGFjZWhvbGRlciwKICAgICAgICAuZm9ybS1ncm91cCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIgewogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjQpOwogICAgICAgIH0KICAgICAgICAuZm9ybS1ncm91cCB0ZXh0YXJlYSB7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4OwogICAgICAgICAgICByZXNpemU6IHZlcnRpY2FsOwogICAgICAgIH0KICAgICAgICAuZm9ybS1ncm91cCBzZWxlY3QgewogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEyIDEyJyUzRSUzQ3BhdGggZmlsbD0nJTIzRDRBRjM3JyBkPSdNNiA4TDEgM2gxMHonLyUzRSUzQy9zdmclM0UiKTsKICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMThweCBjZW50ZXI7CiAgICAgICAgfQogICAgICAgIC5mb3JtLWdyb3VwIHNtYWxsIHsKICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOwogICAgICAgICAgICBjb2xvcjogcmdiYSgyNDgsIDI0NCwgMjM2LCAwLjUpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZm9ybS1yb3cgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgICAgICAgICAgIC5mb3JtLXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5mb3JtLWRpdmlkZXIgewogICAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDYsIDE4MiwgMjEyLCAwLjIpOwogICAgICAgICAgICBtYXJnaW46IDMwcHggMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmZvcm0tc2VjdGlvbi10aXRsZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWN5YW4pOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zdWJtaXQtYnRuIHsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogODAwOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4OwogICAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ29sZCksIHZhcigtLWRlZXBnb2xkKSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDQ1cHggcmdiYSgyMTIsIDE3NSwgNTUsIDAuMyk7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgICAgfQogICAgICAgIC5zdWJtaXQtYnRuOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpIHNjYWxlKDEuMDIpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDI1cHggNjBweCByZ2JhKDIxMiwgMTc1LCA1NSwgMC41KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogU1VQUE9SVCBTRUNUSU9OICovCiAgICAgICAgLnN1cHBvcnQtc2VjdGlvbiB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgcGFkZGluZzogMzBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICAgICAgIH0KICAgICAgICAuc3VwcG9ydC1zZWN0aW9uIGgzIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQogICAgICAgIC5zdXBwb3J0LXNlY3Rpb24gcCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC43KTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICB9CiAgICAgICAgLnN1cHBvcnQtYnV0dG9ucyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTVweDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgICAgLnN1cHBvcnQtYnRuIHsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDI1cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgfQogICAgICAgIC5zdXBwb3J0LWJ0bi53aGF0c2FwcCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMyNUQzNjYsICMxMjhDN0UpOwogICAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgfQogICAgICAgIC5zdXBwb3J0LWJ0bi5lbWFpbCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgyLCAyMTIsIDAuMik7CiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWN5YW4pOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY3lhbik7CiAgICAgICAgfQogICAgICAgIC5zdXBwb3J0LWJ0bjpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogRk9PVEVSICovCiAgICAgICAgLmZvb3RlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgcGFkZGluZzogMzBweDsKICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEoMjEyLCAxNzUsIDU1LCAwLjIpOwogICAgICAgIH0KICAgICAgICAuZm9vdGVyLWJyYW5kIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgdmFyKC0tY3lhbikpOwogICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KICAgICAgICAuZm9vdGVyIHAgewogICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsKICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQ4LCAyNDQsIDIzNiwgMC41KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogUkVTUE9OU0lWRSAqLwogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkgewogICAgICAgICAgICAuZm9ybS1zZWN0aW9uIHsgcGFkZGluZzogMzBweCAyMHB4OyB9CiAgICAgICAgICAgIC50aW1lbGluZS1zZWN0aW9uLAogICAgICAgICAgICAucnVsZXMtc2VjdGlvbiwKICAgICAgICAgICAgLnRpcHMtc2VjdGlvbiB7IHBhZGRpbmc6IDI1cHggMjBweDsgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8ZGl2IGNsYXNzPSJiZy1tYXN0ZXIiPjwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJwYWdlLWNvbnRhaW5lciI+CiAgICAgICAgPCEtLSBIRUFERVIgLS0+CiAgICAgICAgPGhlYWRlciBjbGFzcz0icGFnZS1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJicmFuZC1sb2dvIj7wn6SdIEJyYW5kSGFuZHNoYWtlPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWNjZXNzLWJhZGdlIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdWNjZXNzLWljb24iPuKchTwvc3Bhbj4KICAgICAgICAgICAgICAgIFBheW1lbnQgUmVjZWl2ZWQg4oCUIFRoYW5rIFlvdSEKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPllvdXIgQ2FyZCBJcyA8c3BhbiBjbGFzcz0iaGlnaGxpZ2h0Ij5BbG1vc3QgUmVhZHkhPC9zcGFuPjwvaDE+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlLXN1YnRpdGxlIj5Db21wbGV0ZSB0aGUgZm9ybSBiZWxvdyB3aXRoIHlvdXIgZGV0YWlscyBhbmQgd2UnbGwgZGVzaWduIHlvdXIgc3R1bm5pbmcgZGlnaXRhbCBidXNpbmVzcyBjYXJkLjwvcD4KICAgICAgICA8L2hlYWRlcj4KICAgICAgICAKICAgICAgICA8IS0tIFRJTUVMSU5FIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJ0aW1lbGluZS1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj7ij7HvuI8gRGVzaWduIFRpbWVsaW5lPC9oMj4KICAgICAgICAgICAgICAgIDxwPlR1cm5hcm91bmQgdGltZSBkZXBlbmRzIG9uIHlvdXIgcGFja2FnZSBsZXZlbDwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lbGluZS1ncmlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLXRpZXIiPlN0YXJ0ZXI8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lbGluZS1ob3VycyI+NDgtNzI8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lbGluZS1sYWJlbCI+aG91cnM8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtY2FyZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtdGllciI+UHJvZmVzc2lvbmFsPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtaG91cnMiPjQ4PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtbGFiZWwiPmhvdXJzPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLXRpZXIiPkV4ZWN1dGl2ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLWhvdXJzIj4yNC00ODwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLWxhYmVsIj5ob3VycyBwcmlvcml0eTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAKICAgICAgICA8IS0tIFdIQVQgV0UgTkVFRCAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0icmVxdWlyZW1lbnRzLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXF1aXJlbWVudHMtaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj7wn5OLIFdoYXQgV2UgPHNwYW4gY2xhc3M9ImhpZ2hsaWdodCI+TmVlZCBGcm9tIFlvdTwvc3Bhbj48L2gyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50cy1ncmlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWNhcmQgcmVxdWlyZWQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWljb24iPvCfk7g8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXF1aXJlbWVudC10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIFByb2Zlc3Npb25hbCBQaG90bwogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQtYmFkZ2UiPlJlcXVpcmVkPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWRlc2MiPkhpZ2gtcXVhbGl0eSBoZWFkc2hvdCBvciBsb2dvLiBDbGVhciwgd2VsbC1saXQsIHByb2Zlc3Npb25hbCBhcHBlYXJhbmNlLiBNaW4gNTAweDUwMHB4LjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWNhcmQgcmVxdWlyZWQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWljb24iPvCfkaQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXF1aXJlbWVudC10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEZ1bGwgTmFtZSAmIFRpdGxlCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZC1iYWRnZSI+UmVxdWlyZWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVxdWlyZW1lbnQtZGVzYyI+WW91ciBuYW1lIGFzIHlvdSB3YW50IGl0IGRpc3BsYXllZCwgcGx1cyB5b3VyIHByb2Zlc3Npb25hbCB0aXRsZSBvciByb2xlLjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWNhcmQgcmVxdWlyZWQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWljb24iPvCfk7E8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXF1aXJlbWVudC10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QgRGV0YWlscwogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQtYmFkZ2UiPlJlcXVpcmVkPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWRlc2MiPlBob25lIG51bWJlciBhbmQvb3IgV2hhdHNBcHAuIEVtYWlsIGFkZHJlc3MgZm9yIHRoZSBjYXJkLjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWljb24iPvCflJc8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXF1aXJlbWVudC10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIFNvY2lhbCBNZWRpYSBMaW5rcwogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3B0aW9uYWwtYmFkZ2UiPk9wdGlvbmFsPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWRlc2MiPkxpbmtlZEluLCBJbnN0YWdyYW0sIFR3aXR0ZXIvWCwgVGlrVG9rLCBGYWNlYm9vaywgWW91VHViZSwgZXRjLjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWljb24iPvCfk508L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXF1aXJlbWVudC10aXRsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIFNob3J0IEJpbwogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3B0aW9uYWwtYmFkZ2UiPk9wdGlvbmFsPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlcXVpcmVtZW50LWRlc2MiPjItMyBzZW50ZW5jZXMgYWJvdXQgeW91IG9yIHlvdXIgYnVzaW5lc3MuIFdoYXQgbWFrZXMgeW91IHVuaXF1ZT88L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXF1aXJlbWVudC1jYXJkIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXF1aXJlbWVudC1pY29uIj7wn46oPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVxdWlyZW1lbnQtdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICBCcmFuZCBDb2xvcnMKICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im9wdGlvbmFsLWJhZGdlIj5PcHRpb25hbDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXF1aXJlbWVudC1kZXNjIj5TcGVjaWZpYyBjb2xvcnMgeW91IHdhbnQ/IEhleCBjb2RlcyBvciBleGFtcGxlcyB3ZWxjb21lLjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAKICAgICAgICA8IS0tIFJVTEVTIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJydWxlcy1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icnVsZXMtaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj7imqDvuI8gSW1wb3J0YW50IFJ1bGVzPC9oMj4KICAgICAgICAgICAgICAgIDxwPlBsZWFzZSByZWFkIGNhcmVmdWxseSB0byBlbnN1cmUgc21vb3RoIGRlbGl2ZXJ5PC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDx1bCBjbGFzcz0icnVsZXMtbGlzdCI+CiAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJ1bGUtaWNvbiI+8J+TuDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icnVsZS10ZXh0Ij48c3Ryb25nPlBob3RvIHF1YWxpdHkgbWF0dGVycyE8L3N0cm9uZz4gQmx1cnJ5LCBkYXJrLCBvciB1bnByb2Zlc3Npb25hbCBwaG90b3Mgd2lsbCBkZWxheSB5b3VyIGNhcmQuIFdlIG1heSByZXF1ZXN0IGEgbmV3IHBob3RvLjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJ1bGUtaWNvbiI+4pyN77iPPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJydWxlLXRleHQiPjxzdHJvbmc+RG91YmxlLWNoZWNrIHlvdXIgc3BlbGxpbmcuPC9zdHJvbmc+IFdlIGRlc2lnbiBleGFjdGx5IHdoYXQgeW91IHN1Ym1pdC4gVHlwb3MgaW4geW91ciBuYW1lIG9yIHRpdGxlIHdpbGwgYXBwZWFyIG9uIHlvdXIgY2FyZC48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJydWxlLWljb24iPvCflJc8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJ1bGUtdGV4dCI+PHN0cm9uZz5UZXN0IHlvdXIgbGlua3MhPC9zdHJvbmc+IE1ha2Ugc3VyZSBhbGwgc29jaWFsIG1lZGlhIFVSTHMgd29yayBiZWZvcmUgc3VibWl0dGluZy4gQnJva2VuIGxpbmtzID0gYnJva2VuIGNvbm5lY3Rpb25zLjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJ1bGUtaWNvbiI+8J+Tnjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icnVsZS10ZXh0Ij48c3Ryb25nPkluY2x1ZGUgY291bnRyeSBjb2RlPC9zdHJvbmc+IGZvciBwaG9uZSBudW1iZXJzIChlLmcuLCArMjU2IGZvciBVZ2FuZGEsICsyNTQgZm9yIEtlbnlhLCArMSBmb3IgVVNBKS48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJydWxlLWljb24iPuKPsDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icnVsZS10ZXh0Ij48c3Ryb25nPkluY29tcGxldGUgc3VibWlzc2lvbnMgZGVsYXkgZGVsaXZlcnkuPC9zdHJvbmc+IFRoZSBtb3JlIGNvbXBsZXRlIHlvdXIgZm9ybSwgdGhlIGZhc3RlciB3ZSBjYW4gZGVsaXZlciB5b3VyIGNhcmQuPC9zcGFuPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icnVsZS1pY29uIj7wn5SEPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJydWxlLXRleHQiPjxzdHJvbmc+T25lIHJldmlzaW9uIGluY2x1ZGVkLjwvc3Ryb25nPiBNYWpvciBjaGFuZ2VzIGFmdGVyIGRlbGl2ZXJ5IG1heSBpbmN1ciBhZGRpdGlvbmFsIGZlZXMuIEdldCBpdCByaWdodCB0aGUgZmlyc3QgdGltZSE8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAKICAgICAgICA8IS0tIFRJUFMgLS0+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InRpcHMtc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpcHMtaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMj7wn5KhIFBybyBUaXBzIEZvciBBIEdyZWF0IENhcmQ8L2gyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpcHMtZ3JpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXAtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpcC1pY29uIj7wn5iKPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPlNtaWxlIGluIHlvdXIgcGhvdG8g4oCUIGl0IGJ1aWxkcyB0cnVzdCE8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpcC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGlwLWljb24iPvCfjq88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+S2VlcCB5b3VyIHRpdGxlIGNsZWFyIGFuZCBzcGVjaWZpYzwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGlwLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXAtaWNvbiI+8J+Tpzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Vc2UgYSBwcm9mZXNzaW9uYWwgZW1haWwgYWRkcmVzczwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGlwLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXAtaWNvbiI+8J+UtTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5MaW5rZWRJbiBpcyBlc3NlbnRpYWwgZm9yIEIyQjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGlwLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXAtaWNvbiI+8J+Tsjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5XaGF0c0FwcCBpcyBrZXkgaW4gQWZyaWNhL0FzaWE8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpcC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGlwLWljb24iPuKcqDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5MZXNzIGlzIG1vcmUg4oCUIGRvbid0IG92ZXJjcm93ZDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgCiAgICAgICAgPCEtLSBGT1JNIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJmb3JtLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDI+8J+TnSBTdWJtaXQgWW91ciBDYXJkIERldGFpbHM8L2gyPgogICAgICAgICAgICAgICAgPHA+RmlsbCBvdXQgZXZlcnl0aGluZyBiZWxvdyBzbyB3ZSBjYW4gY3JlYXRlIHlvdXIgcGVyZmVjdCBjYXJkPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDwhLS0gQ0hBTkdFIEFDVElPTiBUTyBZT1VSIENSTSBFTkRQT0lOVCAtLT4KICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSJodHRwczovL2Zvcm1zdWJtaXQuY28vc2hvcGxvY2FsYnVzaW5lc3NhZ2VuY3lAZ21haWwuY29tIiBtZXRob2Q9IlBPU1QiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iX3N1YmplY3QiIHZhbHVlPSLwn46oIE5FVyBDQVJEIERFU0lHTiBTVUJNSVNTSU9OIC0gQnJhbmRIYW5kc2hha2UiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iX3RlbXBsYXRlIiB2YWx1ZT0idGFibGUiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iX2NhcHRjaGEiIHZhbHVlPSJmYWxzZSI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJfbmV4dCIgdmFsdWU9Imh0dHBzOi8vYnJhbmRoYW5kc2hha2UuY29tL3RoYW5rLXlvdSI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gQkFTSUMgSU5GTyAtLT4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZm9ybS1zZWN0aW9uLXRpdGxlIj7wn5GkIEJhc2ljIEluZm9ybWF0aW9uPC9oMz4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+RnVsbCBOYW1lIDxzcGFuIGNsYXNzPSJyZXF1aXJlZC1zdGFyIj4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJGdWxsIE5hbWUiIHJlcXVpcmVkIHBsYWNlaG9sZGVyPSJBcyB5b3Ugd2FudCBpdCBvbiB5b3VyIGNhcmQiPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+UHJvZmVzc2lvbmFsIFRpdGxlIDxzcGFuIGNsYXNzPSJyZXF1aXJlZC1zdGFyIj4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJUaXRsZSIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9ImUuZy4sIFNvZnR3YXJlIERldmVsb3BlciwgQ0VPIj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Db21wYW55IC8gQnVzaW5lc3MgTmFtZTwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJDb21wYW55IiBwbGFjZWhvbGRlcj0iWW91ciBidXNpbmVzcyBvciBvcmdhbml6YXRpb24iPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+UGFja2FnZSBQdXJjaGFzZWQgPHNwYW4gY2xhc3M9InJlcXVpcmVkLXN0YXIiPio8L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJQYWNrYWdlIiByZXF1aXJlZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiI+U2VsZWN0IHlvdXIgcGFja2FnZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU3RhcnRlciAtICQxMCI+U3RhcnRlciAtICQxMDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUHJvZmVzc2lvbmFsIC0gJDI1Ij5Qcm9mZXNzaW9uYWwgLSAkMjU8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkV4ZWN1dGl2ZSAtICQ1MCI+RXhlY3V0aXZlIC0gJDUwPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDdXN0b20vT3RoZXIiPkN1c3RvbSAvIE90aGVyPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZm9ybS1kaXZpZGVyIj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSBDT05UQUNUIElORk8gLS0+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImZvcm0tc2VjdGlvbi10aXRsZSI+8J+TsSBDb250YWN0IEluZm9ybWF0aW9uPC9oMz4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+RW1haWwgQWRkcmVzcyA8c3BhbiBjbGFzcz0icmVxdWlyZWQtc3RhciI+Kjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iZW1haWwiIG5hbWU9IkVtYWlsIiByZXF1aXJlZCBwbGFjZWhvbGRlcj0ieW91ckBlbWFpbC5jb20iPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+UGhvbmUgLyBXaGF0c0FwcCA8c3BhbiBjbGFzcz0icmVxdWlyZWQtc3RhciI+Kjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGVsIiBuYW1lPSJQaG9uZSIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9IisyNTYgb3IgKzI1NCBvciArMS4uLiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbD5JbmNsdWRlIGNvdW50cnkgY29kZTwvc21hbGw+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPldlYnNpdGUgVVJMPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idXJsIiBuYW1lPSJXZWJzaXRlIiBwbGFjZWhvbGRlcj0iaHR0cHM6Ly95b3Vyd2Vic2l0ZS5jb20iPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxociBjbGFzcz0iZm9ybS1kaXZpZGVyIj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSBTT0NJQUwgTUVESUEgLS0+CiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImZvcm0tc2VjdGlvbi10aXRsZSI+8J+UlyBTb2NpYWwgTWVkaWEgTGlua3M8L2gzPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5MaW5rZWRJbjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ1cmwiIG5hbWU9IkxpbmtlZEluIiBwbGFjZWhvbGRlcj0iaHR0cHM6Ly9saW5rZWRpbi5jb20vaW4veW91cnByb2ZpbGUiPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+SW5zdGFncmFtPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Ikluc3RhZ3JhbSIgcGxhY2Vob2xkZXI9IkB5b3VyaGFuZGxlIG9yIGZ1bGwgVVJMIj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Ud2l0dGVyIC8gWDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJUd2l0dGVyIiBwbGFjZWhvbGRlcj0iQHlvdXJoYW5kbGUgb3IgZnVsbCBVUkwiPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+VGlrVG9rPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IlRpa1RvayIgcGxhY2Vob2xkZXI9IkB5b3VyaGFuZGxlIG9yIGZ1bGwgVVJMIj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5GYWNlYm9vazwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ1cmwiIG5hbWU9IkZhY2Vib29rIiBwbGFjZWhvbGRlcj0iaHR0cHM6Ly9mYWNlYm9vay5jb20veW91cnBhZ2UiPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+WW91VHViZTwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ1cmwiIG5hbWU9IllvdVR1YmUiIHBsYWNlaG9sZGVyPSJodHRwczovL3lvdXR1YmUuY29tL0B5b3VyY2hhbm5lbCI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPk90aGVyIFNvY2lhbCBMaW5rczwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Ik90aGVyIFNvY2lhbCIgcGxhY2Vob2xkZXI9IkFueSBvdGhlciBwbGF0Zm9ybXMgKFRlbGVncmFtLCBUaHJlYWRzLCBldGMuKSI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJmb3JtLWRpdmlkZXIiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIEJJTyAmIEJSQU5ESU5HIC0tPgogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJmb3JtLXNlY3Rpb24tdGl0bGUiPuKcqCBCaW8gJiBCcmFuZGluZzwvaDM+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5TaG9ydCBCaW8gKDItMyBzZW50ZW5jZXMpPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgbmFtZT0iQmlvIiBwbGFjZWhvbGRlcj0iVGVsbCB1cyBhYm91dCB5b3Vyc2VsZiBvciB5b3VyIGJ1c2luZXNzLiBXaGF0IGRvIHlvdSBkbz8gV2hhdCBtYWtlcyB5b3UgdW5pcXVlPyI+PC90ZXh0YXJlYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5CcmFuZCBDb2xvcnMgKGlmIGFueSk8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iQnJhbmQgQ29sb3JzIiBwbGFjZWhvbGRlcj0iZS5nLiwgTmF2eSBibHVlLCBHb2xkLCBvciAjMUMxRjRBIj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPkluZHVzdHJ5IC8gTmljaGU8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iSW5kdXN0cnkiIHBsYWNlaG9sZGVyPSJlLmcuLCBUZWNoLCBSZWFsIEVzdGF0ZSwgSGVhbHRoY2FyZSI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJmb3JtLWRpdmlkZXIiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIFBIT1RPICYgUEFZTUVOVCAtLT4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZm9ybS1zZWN0aW9uLXRpdGxlIj7wn5O4IFBob3RvICYgUGF5bWVudDwvaDM+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5QaG90byBMaW5rIG9yIEluc3RydWN0aW9ucyA8c3BhbiBjbGFzcz0icmVxdWlyZWQtc3RhciI+Kjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBuYW1lPSJQaG90byIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9IlBhc3RlIGEgR29vZ2xlIERyaXZlLCBEcm9wYm94LCBvciBkaXJlY3QgaW1hZ2UgbGluay4gT3IgbGV0IHVzIGtub3cgaWYgeW91J2xsIHNlbmQgdmlhIFdoYXRzQXBwLiI+PC90ZXh0YXJlYT4KICAgICAgICAgICAgICAgICAgICA8c21hbGw+V2UgbmVlZCBhIGhpZ2gtcXVhbGl0eSBoZWFkc2hvdCBvciBsb2dvIChtaW4gNTAweDUwMHB4KTwvc21hbGw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+UGF5bWVudCBNZXRob2QgVXNlZDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0iUGF5bWVudCBNZXRob2QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3QgcGF5bWVudCBtZXRob2Q8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1UTiBNb2JpbGUgTW9uZXkiPk1UTiBNb2JpbGUgTW9uZXkgKFVnYW5kYSk8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFpcnRlbCBNb25leSI+QWlydGVsIE1vbmV5IChVZ2FuZGEpPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNLVBlc2EiPk0tUGVzYSAoS2VueWEpPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYXlQYWwiPlBheVBhbDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmFuayBUcmFuc2ZlciI+QmFuayBUcmFuc2Zlcjwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iT3RoZXIiPk90aGVyPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+VHJhbnNhY3Rpb24gUmVmZXJlbmNlIC8gQ29kZTwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJUcmFuc2FjdGlvbiBSZWYiIHBsYWNlaG9sZGVyPSJZb3VyIHBheW1lbnQgY29uZmlybWF0aW9uIGNvZGUiPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5BbWJhc3NhZG9yIFdobyBTb2xkIFlvdSAoaWYgYW55KTwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IkFtYmFzc2Fkb3IiIHBsYWNlaG9sZGVyPSJlLmcuLCBEYXZpcyBMdWJlZ2EsIE9zY2FyIE1rYWRvLCBldGMuIj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8aHIgY2xhc3M9ImZvcm0tZGl2aWRlciI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gQURESVRJT05BTCAtLT4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZm9ybS1zZWN0aW9uLXRpdGxlIj7wn5KsIEFkZGl0aW9uYWwgTm90ZXM8L2gzPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+U3BlY2lhbCBSZXF1ZXN0cyBvciBJbnN0cnVjdGlvbnM8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBuYW1lPSJTcGVjaWFsIFJlcXVlc3RzIiBwbGFjZWhvbGRlcj0iQW55dGhpbmcgZWxzZSB5b3Ugd2FudCB1cyB0byBrbm93PyBTcGVjaWZpYyBkZXNpZ24gcHJlZmVyZW5jZXM/IEluc3BpcmF0aW9uIGV4YW1wbGVzPyI+PC90ZXh0YXJlYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9InN1Ym1pdC1idG4iPvCfmoAgU3VibWl0IE15IENhcmQgRGV0YWlsczwvYnV0dG9uPgogICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIAogICAgICAgIDwhLS0gU1VQUE9SVCAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic3VwcG9ydC1zZWN0aW9uIj4KICAgICAgICAgICAgPGgzPk5lZWQgSGVscD88L2gzPgogICAgICAgICAgICA8cD5RdWVzdGlvbnMgYWJvdXQgeW91ciBjYXJkPyBXZSdyZSBoZXJlIGZvciB5b3UuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdXBwb3J0LWJ1dHRvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93YS5tZS8xNjUwOTgwOTAyMCIgY2xhc3M9InN1cHBvcnQtYnRuIHdoYXRzYXBwIj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj7wn5KsPC9zcGFuPiBXaGF0c0FwcCBTdXBwb3J0CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86c3VwcG9ydEBicmFuZGhhbmRzaGFrZS5jb20iIGNsYXNzPSJzdXBwb3J0LWJ0biBlbWFpbCI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+8J+Tpzwvc3Bhbj4gRW1haWwgVXMKICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIAogICAgICAgIDwhLS0gRk9PVEVSIC0tPgogICAgICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1icmFuZCI+8J+knSBCcmFuZEhhbmRzaGFrZTwvZGl2PgogICAgICAgICAgICA8cD5EaWdpdGFsIEJ1c2luZXNzIENhcmRzIGZvciB0aGUgTW9kZXJuIFByb2Zlc3Npb25hbDwvcD4KICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDEwcHg7Ij7CqSAyMDI2IE11a2FzYSBWZW50dXJlIFBhcnRuZXJzIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L3A+CiAgICAgICAgPC9mb290ZXI+CiAgICA8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+","embed":""}
🤝 BrandHandshake
✅
Payment Received — Thank You!
Your Card Is Almost Ready!
Complete the form below with your details and we'll design your stunning digital business card.
⏱️ Design Timeline
Turnaround time depends on your package level
Starter
48-72
hours
Professional
48
hours
Executive
24-48
hours priority
📋 What We Need From You
📸
Professional Photo
Required
High-quality headshot or logo. Clear, well-lit, professional appearance. Min 500x500px.
👤
Full Name & Title
Required
Your name as you want it displayed, plus your professional title or role.
📱
Contact Details
Required
Phone number and/or WhatsApp. Email address for the card.
🔗
Social Media Links
Optional
LinkedIn, Instagram, Twitter/X, TikTok, Facebook, YouTube, etc.
📝
Short Bio
Optional
2-3 sentences about you or your business. What makes you unique?
🎨
Brand Colors
Optional
Specific colors you want? Hex codes or examples welcome.
⚠️ Important Rules
Please read carefully to ensure smooth delivery
- 📸 Photo quality matters! Blurry, dark, or unprofessional photos will delay your card. We may request a new photo.
- ✍️ Double-check your spelling. We design exactly what you submit. Typos in your name or title will appear on your card.
- 🔗 Test your links! Make sure all social media URLs work before submitting. Broken links = broken connections.
- 📞 Include country code for phone numbers (e.g., +256 for Uganda, +254 for Kenya, +1 for USA).
- ⏰ Incomplete submissions delay delivery. The more complete your form, the faster we can deliver your card.
- 🔄 One revision included. Major changes after delivery may incur additional fees. Get it right the first time!
💡 Pro Tips For A Great Card
😊
Smile in your photo — it builds trust!
🎯
Keep your title clear and specific
📧
Use a professional email address
🔵
LinkedIn is essential for B2B
📲
WhatsApp is key in Africa/Asia
✨
Less is more — don't overcrowd
📝 Submit Your Card Details
Fill out everything below so we can create your perfect card
Need Help?
Questions about your card? We're here for you.