cropper

VIRTUAL HANDSHAKE AFRICA

  • Home
  • Discover
  • Gallery
  • Pricing
  • Contact Us
  • About Us
  • Oder Essential
  • Order Essential
  • Order Professional
{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KICA8dGl0bGU+QWJvdXQgVXMgLSBUaGUgRGlnaXRhbCBTb3ZlcmVpZ250eSBNb3ZlbWVudCB8IEhhbmRzaGFrZS5hZnJpY2E8L3RpdGxlPgogIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJKb2luIHRoZSByZXZvbHV0aW9uLiBEaWdpdGFsIHNvdmVyZWlnbnR5IGZvciBBZnJpY2FuIGVudHJlcHJlbmV1cnMuIEFJLXBvd2VyZWQsIGVjby1jb25zY2lvdXMsIGdsb2JhbGx5IGNvbXBldGl0aXZlLCBsb2NhbGx5IHJvb3RlZC4iPgogIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCwgbm9mb2xsb3ciPgogIAogIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6d2dodEAzMDA7NDAwOzYwMDs3MDA7ODAwOzkwMCZmYW1pbHk9UGxheWZhaXIrRGlzcGxheTp3Z2h0QDcwMDs5MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgogIAogIDxzdHlsZT4KICAgIDpyb290IHsKICAgICAgLS1uYXZ5OiAjMDAxRjNGOwogICAgICAtLXJveWFsLWJsdWU6ICMwMDQ3QUI7CiAgICAgIC0tZ29sZDogI0ZGRDcwMDsKICAgICAgLS1nb2xkLXdhcm06ICNGRkMxMDc7CiAgICAgIC0td2hpdGU6ICNGRkZGRkY7CiAgICAgIC0tbGlnaHQtYmc6ICNGN0Y5RkM7CiAgICAgIC0tZ3JheTogIzZCNzI4MDsKICAgICAgLS10ZWFsOiAjMDBDOUE3OwogICAgICAtLW9yYW5nZTogI0ZGNkIzNTsKICAgICAgLS1wdXJwbGU6ICM3QjY4RUU7CiAgICAgIC0tZ3JlZW46ICM1MUNGNjY7CiAgICB9CiAgICAKICAgICogewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICB9CiAgICAKICAgIGJvZHkgewogICAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICB9CiAgICAKICAgIGgxLCBoMiwgaDMgewogICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgZm9udC13ZWlnaHQ6IDkwMDsKICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIH0KICAgIAogICAgLyogTkFWSUdBVElPTiAqLwogICAgLm5hdiB7CiAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgdG9wOiAwOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAzMSwgNjMsIDAuOTgpOwogICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7CiAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTsKICAgICAgYm94LXNoYWRvdzogMCAycHggMjBweCByZ2JhKDAsMCwwLDAuMSk7CiAgICB9CiAgICAKICAgIC5uYXYtY29udGFpbmVyIHsKICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICB9CiAgICAKICAgIC5sb2dvIHsKICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgIH0KICAgIAogICAgLm5hdi1saW5rcyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMnJlbTsKICAgICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIH0KICAgIAogICAgLm5hdi1saW5rcyBhIHsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzOwogICAgfQogICAgCiAgICAubmF2LWxpbmtzIGE6aG92ZXIsCiAgICAubmF2LWxpbmtzIGEuYWN0aXZlIHsKICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgfQogICAgCiAgICAvKiBIRVJPIC0gUkVWT0xVVElPTkFSWSBNQU5JRkVTVE8gKi8KICAgIC5oZXJvIHsKICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLW5hdnkpIDAlLCB2YXIoLS1wdXJwbGUpIDUwJSwgdmFyKC0tdGVhbCkgMTAwJSk7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIHBhZGRpbmc6IDE0MHB4IDJyZW0gODBweDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgfQogICAgCiAgICAvKiBBbmltYXRlZCBiYWNrZ3JvdW5kIHBhdHRlcm4gKi8KICAgIC5oZXJvOjpiZWZvcmUgewogICAgICBjb250ZW50OiAnJzsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDA7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iMyIgZmlsbD0icmdiYSgyNTUsMjE1LDAsMC4xKSIvPjwvc3ZnPicpOwogICAgICBhbmltYXRpb246IGRyaWZ0IDMwcyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CiAgICAKICAgIEBrZXlmcmFtZXMgZHJpZnQgewogICAgICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH0KICAgICAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDBweCwgMTAwcHgpOyB9CiAgICB9CiAgICAKICAgIC8qIEZsb2F0aW5nIG9yYnMgKi8KICAgIC5vcmIgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgZmlsdGVyOiBibHVyKDYwcHgpOwogICAgICBvcGFjaXR5OiAwLjQ7CiAgICAgIGFuaW1hdGlvbjogZmxvYXQgMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgfQogICAgCiAgICAub3JiMSB7CiAgICAgIHdpZHRoOiA0MDBweDsKICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7CiAgICAgIHRvcDogMTAlOwogICAgICBsZWZ0OiAtMTAwcHg7CiAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7CiAgICB9CiAgICAKICAgIC5vcmIyIHsKICAgICAgd2lkdGg6IDMwMHB4OwogICAgICBoZWlnaHQ6IDMwMHB4OwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZWFsKTsKICAgICAgYm90dG9tOiAyMCU7CiAgICAgIHJpZ2h0OiAtNTBweDsKICAgICAgYW5pbWF0aW9uLWRlbGF5OiA1czsKICAgIH0KICAgIAogICAgLm9yYjMgewogICAgICB3aWR0aDogMjUwcHg7CiAgICAgIGhlaWdodDogMjUwcHg7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXB1cnBsZSk7CiAgICAgIHRvcDogNTAlOwogICAgICBsZWZ0OiA1MCU7CiAgICAgIGFuaW1hdGlvbi1kZWxheTogMTBzOwogICAgfQogICAgCiAgICBAa2V5ZnJhbWVzIGZsb2F0IHsKICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfQogICAgICAzMyUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MHB4LCAtNTBweCk7IH0KICAgICAgNjYlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwcHgsIDUwcHgpOyB9CiAgICB9CiAgICAKICAgIC5oZXJvLWNvbnRhaW5lciB7CiAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB6LWluZGV4OiAyOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9CiAgICAKICAgIC5oZXJvLWJhZGdlIHsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICBwYWRkaW5nOiAwLjc1cmVtIDJyZW07CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDIxNSwwLDAuMik7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdvbGQpOwogICAgICBib3JkZXItcmFkaXVzOiA1MHB4OwogICAgICBmb250LXdlaWdodDogNzAwOwogICAgICBmb250LXNpemU6IDAuOXJlbTsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgICAgYW5pbWF0aW9uOiBzbGlkZURvd24gMC44cyBlYXNlLW91dDsKICAgIH0KICAgIAogICAgQGtleWZyYW1lcyBzbGlkZURvd24gewogICAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsgfQogICAgICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogICAgfQogICAgCiAgICAuaGVybyBoMSB7CiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMi41cmVtLCA4dncsIDUuNXJlbSk7CiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZS1vdXQgMC4ycyBiYWNrd2FyZHM7CiAgICB9CiAgICAKICAgIC5oZXJvIGgxIC5oaWdobGlnaHQgewogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSAwJSwgdmFyKC0tZ29sZC13YXJtKSAxMDAlKTsKICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB9CiAgICAKICAgIEBrZXlmcmFtZXMgZmFkZUluVXAgewogICAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyB9CiAgICAgIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9CiAgICB9CiAgICAKICAgIC5oZXJvLW1hbmlmZXN0byB7CiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4ycmVtLCAzdncsIDEuOHJlbSk7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvIDNyZW07CiAgICAgIG9wYWNpdHk6IDAuOTU7CiAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZS1vdXQgMC40cyBiYWNrd2FyZHM7CiAgICB9CiAgICAKICAgIC5oZXJvLXN0YXRzIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAzcmVtOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICBtYXJnaW4tdG9wOiA0cmVtOwogICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIGVhc2Utb3V0IDAuNnMgYmFja3dhcmRzOwogICAgfQogICAgCiAgICAuc3RhdC1waWxsIHsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjEpOwogICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7CiAgICAgIHBhZGRpbmc6IDEuNXJlbSAyLjVyZW07CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LDIxNSwwLDAuMyk7CiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgfQogICAgCiAgICAuc3RhdC1waWxsOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjIpOwogICAgICBib3JkZXItY29sb3I6IHZhcigtLWdvbGQpOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7CiAgICB9CiAgICAKICAgIC5zdGF0LXBpbGwgc3Ryb25nIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07CiAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgfQogICAgCiAgICAvKiBWSVNJT04gU0VDVElPTiAtIFRIRSBXSFkgKi8KICAgIC52aXNpb24gewogICAgICBwYWRkaW5nOiAxMjBweCAycmVtOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIH0KICAgIAogICAgLnZpc2lvbi1jb250YWluZXIgewogICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTsKICAgIH0KICAgIAogICAgLnNlY3Rpb24tYmFkZ2UgewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTIzLDEwNCwyMzgsMC4xKTsKICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHVycGxlKTsKICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgZm9udC1zaXplOiAwLjg1cmVtOwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7CiAgICAgIGNvbG9yOiB2YXIoLS1wdXJwbGUpOwogICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLWhlYWRlciBoMiB7CiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMi41cmVtLCA2dncsIDRyZW0pOwogICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07CiAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgIH0KICAgIAogICAgLnZpc2lvbi1ncmlkIHsKICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7CiAgICAgIGdhcDogM3JlbTsKICAgIH0KICAgIAogICAgLnZpc2lvbi1jYXJkIHsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbGlnaHQtYmcpIDAlLCB2YXIoLS13aGl0ZSkgMTAwJSk7CiAgICAgIHBhZGRpbmc6IDNyZW07CiAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgICAgIGJveC1zaGFkb3c6IDAgMTBweCA0MHB4IHJnYmEoMCwwLDAsMC4wOCk7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICB9CiAgICAKICAgIC52aXNpb24tY2FyZDo6YmVmb3JlIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBsZWZ0OiAwOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tZ29sZCksIHZhcigtLXRlYWwpLCB2YXIoLS1wdXJwbGUpKTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7CiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7CiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzOwogICAgfQogICAgCiAgICAudmlzaW9uLWNhcmQ6aG92ZXI6OmJlZm9yZSB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOwogICAgfQogICAgCiAgICAudmlzaW9uLWNhcmQ6aG92ZXIgewogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpIHJvdGF0ZSgyZGVnKTsKICAgICAgYm94LXNoYWRvdzogMCAyNXB4IDcwcHggcmdiYSgwLDAsMCwwLjE1KTsKICAgIH0KICAgIAogICAgLnZpc2lvbi1pY29uIHsKICAgICAgZm9udC1zaXplOiA0cmVtOwogICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBhbmltYXRpb246IGZsb2F0IDNzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgfQogICAgCiAgICBAa2V5ZnJhbWVzIGZsb2F0IHsKICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfQogICAgfQogICAgCiAgICAudmlzaW9uLWNhcmQgaDMgewogICAgICBmb250LXNpemU6IDEuOHJlbTsKICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgfQogICAgCiAgICAudmlzaW9uLWNhcmQgcCB7CiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICBsaW5lLWhlaWdodDogMS44OwogICAgICBjb2xvcjogdmFyKC0tZ3JheSk7CiAgICB9CiAgICAKICAgIC8qIFBSSU5DSVBMRVMgU0VDVElPTiAqLwogICAgLnByaW5jaXBsZXMgewogICAgICBwYWRkaW5nOiAxMjBweCAycmVtOwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1uYXZ5KSAwJSwgdmFyKC0tcHVycGxlKSAxMDAlKTsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQogICAgCiAgICAucHJpbmNpcGxlczo6YmVmb3JlIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMzAiIGN5PSIzMCIgcj0iMiIgZmlsbD0icmdiYSgyNTUsMjE1LDAsMC4xKSIvPjwvc3ZnPicpOwogICAgICBvcGFjaXR5OiAwLjM7CiAgICB9CiAgICAKICAgIC5wcmluY2lwbGVzLWNvbnRhaW5lciB7CiAgICAgIG1heC13aWR0aDogMTQwMHB4OwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB6LWluZGV4OiAyOwogICAgfQogICAgCiAgICAucHJpbmNpcGxlcyBoMiB7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjVyZW0sIDZ2dywgNHJlbSk7CiAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07CiAgICB9CiAgICAKICAgIC5wcmluY2lwbGVzLWdyaWQgewogICAgICBkaXNwbGF5OiBncmlkOwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMyMHB4LCAxZnIpKTsKICAgICAgZ2FwOiAyLjVyZW07CiAgICB9CiAgICAKICAgIC5wcmluY2lwbGUtY2FyZCB7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7CiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsKICAgICAgcGFkZGluZzogM3JlbTsKICAgICAgYm9yZGVyLXJhZGl1czogMzBweDsKICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsMjE1LDAsMC4yKTsKICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KICAgIAogICAgLnByaW5jaXBsZS1jYXJkOjphZnRlciB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogLTUwJTsKICAgICAgcmlnaHQ6IC01MCU7CiAgICAgIHdpZHRoOiAyMDAlOwogICAgICBoZWlnaHQ6IDIwMCU7CiAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMjU1LDIxNSwwLDAuMSkgMCUsIHRyYW5zcGFyZW50IDcwJSk7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40czsKICAgIH0KICAgIAogICAgLnByaW5jaXBsZS1jYXJkOmhvdmVyOjphZnRlciB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICB9CiAgICAKICAgIC5wcmluY2lwbGUtY2FyZDpob3ZlciB7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTsKICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsKICAgIH0KICAgIAogICAgLnByaW5jaXBsZS1udW1iZXIgewogICAgICBmb250LXNpemU6IDNyZW07CiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgfQogICAgCiAgICAucHJpbmNpcGxlLWNhcmQgaDMgewogICAgICBmb250LXNpemU6IDEuOHJlbTsKICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgfQogICAgCiAgICAucHJpbmNpcGxlLWNhcmQgcCB7CiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICBsaW5lLWhlaWdodDogMS44OwogICAgICBvcGFjaXR5OiAwLjk7CiAgICB9CiAgICAKICAgIC8qIFJFVk9MVVRJT04gU0VDVElPTiAqLwogICAgLnJldm9sdXRpb24gewogICAgICBwYWRkaW5nOiAxMjBweCAycmVtOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC1iZyk7CiAgICB9CiAgICAKICAgIC5yZXZvbHV0aW9uLWNvbnRhaW5lciB7CiAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KICAgIAogICAgLnJldm9sdXRpb24tY29udGVudCB7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXRlYWwpIDAlLCB2YXIoLS1ncmVlbikgMTAwJSk7CiAgICAgIHBhZGRpbmc6IDVyZW07CiAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7CiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQogICAgCiAgICAucmV2b2x1dGlvbi1jb250ZW50OjpiZWZvcmUgewogICAgICBjb250ZW50OiAn8J+MjSc7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgZm9udC1zaXplOiAyMHJlbTsKICAgICAgb3BhY2l0eTogMC4xOwogICAgICB0b3A6IDUwJTsKICAgICAgbGVmdDogNTAlOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgYW5pbWF0aW9uOiByb3RhdGUgMzBzIGxpbmVhciBpbmZpbml0ZTsKICAgIH0KICAgIAogICAgQGtleWZyYW1lcyByb3RhdGUgewogICAgICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDBkZWcpOyB9CiAgICAgIHRvIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDM2MGRlZyk7IH0KICAgIH0KICAgIAogICAgLnJldm9sdXRpb24tY29udGVudCBoMiB7CiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMi41cmVtLCA2dncsIDRyZW0pOwogICAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHotaW5kZXg6IDI7CiAgICB9CiAgICAKICAgIC5yZXZvbHV0aW9uLWNvbnRlbnQgcCB7CiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgICBsaW5lLWhlaWdodDogMS44OwogICAgICBvcGFjaXR5OiAwLjk1OwogICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICBtYXJnaW46IDAgYXV0byAzcmVtOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHotaW5kZXg6IDI7CiAgICB9CiAgICAKICAgIC5yZXZvbHV0aW9uLWZlYXR1cmVzIHsKICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgIGdhcDogMnJlbTsKICAgICAgbWFyZ2luLXRvcDogNHJlbTsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB6LWluZGV4OiAyOwogICAgfQogICAgCiAgICAucmV2b2x1dGlvbi1mZWF0dXJlIHsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjIpOwogICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7CiAgICAgIHBhZGRpbmc6IDJyZW07CiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTsKICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgICB9CiAgICAKICAgIC5yZXZvbHV0aW9uLWZlYXR1cmU6aG92ZXIgewogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgICB9CiAgICAKICAgIC5yZXZvbHV0aW9uLWZlYXR1cmUgc3Ryb25nIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07CiAgICB9CiAgICAKICAgIC8qIENUQSBTRUNUSU9OICovCiAgICAuY3RhLXNlY3Rpb24gewogICAgICBwYWRkaW5nOiAxMjBweCAycmVtOwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSAwJSwgdmFyKC0tZ29sZC13YXJtKSAxMDAlKTsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CiAgICAKICAgIC5jdGEtc2VjdGlvbjo6YmVmb3JlIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMzAiIGN5PSIzMCIgcj0iMiIgZmlsbD0icmdiYSgwLDMxLDYzLDAuMSkiLz48L3N2Zz4nKTsKICAgICAgb3BhY2l0eTogMC41OwogICAgfQogICAgCiAgICAuY3RhLWNvbnRhaW5lciB7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHotaW5kZXg6IDI7CiAgICB9CiAgICAKICAgIC5jdGEtc2VjdGlvbiBoMiB7CiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMi41cmVtLCA2dncsIDQuNXJlbSk7CiAgICAgIGNvbG9yOiB2YXIoLS1uYXZ5KTsKICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgIH0KICAgIAogICAgLmN0YS1zZWN0aW9uIHAgewogICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgY29sb3I6IHZhcigtLW5hdnkpOwogICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOwogICAgICBvcGFjaXR5OiAwLjk7CiAgICB9CiAgICAKICAgIC5idG4tY3RhIHsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICBwYWRkaW5nOiAxLjVyZW0gNHJlbTsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tbmF2eSk7CiAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgICAgZm9udC13ZWlnaHQ6IDkwMDsKICAgICAgZm9udC1zaXplOiAxLjNyZW07CiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA1MHB4IHJnYmEoMCwzMSw2MywwLjMpOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CiAgICAKICAgIC5idG4tY3RhOjpiZWZvcmUgewogICAgICBjb250ZW50OiAnJzsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDUwJTsKICAgICAgbGVmdDogNTAlOwogICAgICB3aWR0aDogMDsKICAgICAgaGVpZ2h0OiAwOwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDIxNSwwLDAuMyk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzLCBoZWlnaHQgMC42czsKICAgIH0KICAgIAogICAgLmJ0bi1jdGE6aG92ZXI6OmJlZm9yZSB7CiAgICAgIHdpZHRoOiA0MDBweDsKICAgICAgaGVpZ2h0OiA0MDBweDsKICAgIH0KICAgIAogICAgLmJ0bi1jdGEgc3BhbiB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgei1pbmRleDogMTsKICAgIH0KICAgIAogICAgLmJ0bi1jdGE6aG92ZXIgewogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCkgc2NhbGUoMS4wNSk7CiAgICAgIGJveC1zaGFkb3c6IDAgMzBweCA3MHB4IHJnYmEoMCwzMSw2MywwLjUpOwogICAgfQogICAgCiAgICAvKiBGT09URVIgKi8KICAgIC5mb290ZXIgewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZ5KTsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgcGFkZGluZzogNjBweCAycmVtIDIwcHg7CiAgICB9CiAgICAKICAgIC5mb290ZXItY29udGFpbmVyIHsKICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQogICAgCiAgICAuZm9vdGVyLWdyaWQgewogICAgICBkaXNwbGF5OiBncmlkOwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgZ2FwOiAzcmVtOwogICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOwogICAgfQogICAgCiAgICAuZm9vdGVyLWNvbHVtbiBoNCB7CiAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgICAgZm9udC1zaXplOiAxLjJyZW07CiAgICB9CiAgICAKICAgIC5mb290ZXItY29sdW1uIHVsIHsKICAgICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIH0KICAgIAogICAgLmZvb3Rlci1jb2x1bW4gdWwgbGkgewogICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOwogICAgfQogICAgCiAgICAuZm9vdGVyLWNvbHVtbiBhIHsKICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICBvcGFjaXR5OiAwLjk7CiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgfQogICAgCiAgICAuZm9vdGVyLWNvbHVtbiBhOmhvdmVyIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgY29sb3I6IHZhcigtLWdvbGQpOwogICAgICBwYWRkaW5nLWxlZnQ6IDVweDsKICAgIH0KICAgIAogICAgLmZvb3Rlci1ib3R0b20gewogICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjE1LDAsMC4zKTsKICAgICAgcGFkZGluZy10b3A6IDJyZW07CiAgICAgIG1hcmdpbi10b3A6IDJyZW07CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgIG9wYWNpdHk6IDAuODsKICAgIH0KICAgIAogICAgLmZvb3Rlci1ib3R0b20gYSB7CiAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgfQogICAgCiAgICAvKiBSRVNQT05TSVZFICovCiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgLmhlcm8gewogICAgICAgIG1pbi1oZWlnaHQ6IDEwMHN2aDsKICAgICAgICBwYWRkaW5nOiAxMjBweCAxLjVyZW0gNjBweDsKICAgICAgfQogICAgICAKICAgICAgLmhlcm8tc3RhdHMgewogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxLjVyZW07CiAgICAgIH0KICAgICAgCiAgICAgIC52aXNpb24tZ3JpZCwKICAgICAgLnByaW5jaXBsZXMtZ3JpZCwKICAgICAgLnJldm9sdXRpb24tZmVhdHVyZXMgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICB9CiAgICAgIAogICAgICAucmV2b2x1dGlvbi1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAzcmVtIDJyZW07CiAgICAgIH0KICAgIH0KICAgIAogICAgLyogU0NST0xMIEFOSU1BVElPTlMgKi8KICAgIC5mYWRlLWluIHsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOwogICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cyBlYXNlLW91dDsKICAgIH0KICAgIAogICAgLmZhZGUtaW4udmlzaWJsZSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIH0KICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoKICA8IS0tIE5BVklHQVRJT04gLS0+CiAgPG5hdiBjbGFzcz0ibmF2Ij4KICAgIDxkaXYgY2xhc3M9Im5hdi1jb250YWluZXIiPgogICAgICA8YSBocmVmPSIvIiBjbGFzcz0ibG9nbyI+SGFuZHNoYWtlLmFmcmljYTwvYT4KICAgICAgPHVsIGNsYXNzPSJuYXYtbGlua3MiPgogICAgICAgIDxsaT48YSBocmVmPSIvIj5Ib21lPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9kaXNjb3ZlciI+RGlzY292ZXI8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iL2dhbGxlcnkiPkdhbGxlcnk8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iL3ByaWNpbmciPlByaWNpbmc8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iL2Fib3V0IiBjbGFzcz0iYWN0aXZlIj5BYm91dDwvYT48L2xpPgogICAgICA8L3VsPgogICAgPC9kaXY+CiAgPC9uYXY+CgogIDwhLS0gSEVSTyAtIFRIRSBNQU5JRkVTVE8gLS0+CiAgPHNlY3Rpb24gY2xhc3M9Imhlcm8iPgogICAgPGRpdiBjbGFzcz0ib3JiIG9yYjEiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ib3JiIG9yYjIiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ib3JiIG9yYjMiPjwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJoZXJvLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9Imhlcm8tYmFkZ2UiPvCfmoAgVEhFIERJR0lUQUwgU09WRVJFSUdOVFkgTU9WRU1FTlQ8L2Rpdj4KICAgICAgCiAgICAgIDxoMT4KICAgICAgICBXZSdyZSBOb3QgQnVpbGRpbmcgQ2FyZHMuPGJyPgogICAgICAgIFdlJ3JlIEJ1aWxkaW5nIDxzcGFuIGNsYXNzPSJoaWdobGlnaHQiPkFmcmljYW4gRXhjZWxsZW5jZTwvc3Bhbj4uCiAgICAgIDwvaDE+CiAgICAgIAogICAgICA8cCBjbGFzcz0iaGVyby1tYW5pZmVzdG8iPgogICAgICAgIFRoaXMgaXMgYmlnZ2VyIHRoYW4gYnVzaW5lc3MgY2FyZHMuIFRoaXMgaXMgYWJvdXQgQWZyaWNhbiBlbnRyZXByZW5ldXJzIGNvbW1hbmRpbmcgQk9USCBzdGFnZXPigJRnbG9iYWwgY29tcGV0aXRpdmVuZXNzIGFuZCBsb2NhbCByZWxldmFuY2UuIEFJLXBvd2VyZWQgaW50ZWxsaWdlbmNlLiBFY28tY29uc2Npb3VzIGlubm92YXRpb24uIFJldm9sdXRpb25hcnkgdGhpbmtpbmcgdGhhdCByZWZ1c2VzIHRvIGNvcHksIG9ubHkgdG8gQ1JFQVRFLgogICAgICA8L3A+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJoZXJvLXN0YXRzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXBpbGwiPgogICAgICAgICAgPHN0cm9uZz7wn4yNPC9zdHJvbmc+CiAgICAgICAgICA8c3Bhbj5HbG9iYWwgU3RhbmRhcmRzPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN0YXQtcGlsbCI+CiAgICAgICAgICA8c3Ryb25nPvCfjLE8L3N0cm9uZz4KICAgICAgICAgIDxzcGFuPlplcm8gV2FzdGU8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1waWxsIj4KICAgICAgICAgIDxzdHJvbmc+8J+kljwvc3Ryb25nPgogICAgICAgICAgPHNwYW4+QUktUG93ZXJlZDwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXBpbGwiPgogICAgICAgICAgPHN0cm9uZz7wn5KqPC9zdHJvbmc+CiAgICAgICAgICA8c3Bhbj5BZnJpY2FuIEJ1aWx0PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvc2VjdGlvbj4KCiAgPCEtLSBWSVNJT04gU0VDVElPTiAtLT4KICA8c2VjdGlvbiBjbGFzcz0idmlzaW9uIj4KICAgIDxkaXYgY2xhc3M9InZpc2lvbi1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1iYWRnZSI+T3VyIFZpc2lvbjwvZGl2PgogICAgICAgIDxoMj5EaWdpdGFsIFNvdmVyZWlnbnR5IGZvciBFdmVyeSBBZnJpY2FuIEVudHJlcHJlbmV1cjwvaDI+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0idmlzaW9uLWdyaWQgZmFkZS1pbiI+CiAgICAgICAgPGRpdiBjbGFzcz0idmlzaW9uLWNhcmQiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZpc2lvbi1pY29uIj7wn4yNPC9zcGFuPgogICAgICAgICAgPGgzPkdsb2JhbCArIExvY2FsIFByZXNlbmNlPC9oMz4KICAgICAgICAgIDxwPkNvbW1hbmQgaW50ZXJuYXRpb25hbCBzdGFnZXMgd2l0aCBjb25maWRlbmNlIHdoaWxlIHN0YXlpbmcgcm9vdGVkIGluIHlvdXIgY29tbXVuaXR5LiBZb3VyIGRpZ2l0YWwgaWRlbnRpdHkgdHJhdmVscyBnbG9iYWxseSwgcmVzb25hdGVzIGxvY2FsbHksIGFuZCBlbXBvd2VycyB1bml2ZXJzYWxseS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idmlzaW9uLWNhcmQiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZpc2lvbi1pY29uIj7wn4yxPC9zcGFuPgogICAgICAgICAgPGgzPlBsYW5ldC1Db25zY2lvdXMgSW5ub3ZhdGlvbjwvaDM+CiAgICAgICAgICA8cD4yNyBtaWxsaW9uIHRyZWVzIGJlY29tZSBidXNpbmVzcyBjYXJkcyB5ZWFybHkuIFdlIGNob29zZSBhIGRpZmZlcmVudCBwYXRo4oCUemVybyB3YXN0ZSwgbWF4aW11bSBpbXBhY3QuIFByb2Zlc3Npb25hbCBleGNlbGxlbmNlIHRoYXQgcHJvdGVjdHMgb3VyIGNvbnRpbmVudCdzIGZ1dHVyZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idmlzaW9uLWNhcmQiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZpc2lvbi1pY29uIj7wn6SWPC9zcGFuPgogICAgICAgICAgPGgzPkFJLVBvd2VyZWQgSW50ZWxsaWdlbmNlPC9oMz4KICAgICAgICAgIDxwPk5vdCBqdXN0IGRpZ2l0YWzigJRpbnRlbGxpZ2VudC4gQUkgYW5hbHl6ZXMgZW5nYWdlbWVudCwgcHJlZGljdHMgb3B0aW1hbCBmb2xsb3ctdXAgdGltZXMsIGlkZW50aWZpZXMgeW91ciBtb3N0IGludGVyZXN0ZWQgY29ubmVjdGlvbnMuIFdvcmsgc21hcnRlciwgY29ubmVjdCBkZWVwZXIsIHdpbiBiaWdnZXIuPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InZpc2lvbi1jYXJkIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ2aXNpb24taWNvbiI+8J+SoTwvc3Bhbj4KICAgICAgICAgIDxoMz5SZXZvbHV0aW9uYXJ5LCBOb3QgQ29weWNhdDwvaDM+CiAgICAgICAgICA8cD5XZSBtYXJjaCB0byBvdXIgb3duIGJlYXQuIFdoaWxlIG90aGVycyBjb3B5IFdlc3Rlcm4gbW9kZWxzLCB3ZSBidWlsZCB0b29scyBkZXNpZ25lZCBGT1IgQWZyaWNhLCBCWSBBZnJpY2Fucy4gTW9iaWxlLWZpcnN0LiBQYXltZW50LWZsZXhpYmxlLiBSZWFsaXR5LXRlc3RlZC48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idmlzaW9uLWNhcmQiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZpc2lvbi1pY29uIj7imqE8L3NwYW4+CiAgICAgICAgICA8aDM+QWZmb3JkYWJsZSBFeGNlbGxlbmNlPC9oMz4KICAgICAgICAgIDxwPldvcmxkLWNsYXNzIHRvb2xzIGF0IEFmcmljYW4tZnJpZW5kbHkgcHJpY2VzLiBFeGNlbGxlbmNlIGlzbid0IHJlc2VydmVkIGZvciB0aG9zZSB3aG8gY2FuIGFmZm9yZCBTaWxpY29uIFZhbGxleSBjb3N0cy4gWW91ciBzdWNjZXNzIHNob3VsZG4ndCByZXF1aXJlIFdlc3Rlcm4gYnVkZ2V0cy48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idmlzaW9uLWNhcmQiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZpc2lvbi1pY29uIj7wn5qAPC9zcGFuPgogICAgICAgICAgPGgzPkludGVncmF0ZWQgRWNvc3lzdGVtPC9oMz4KICAgICAgICAgIDxwPk9uZSBjYXJkIHRvZGF5LiBDb21wbGV0ZSBtZWRpYSBlbXBpcmUgdG9tb3Jyb3cuIFdlIGdyb3cgV0lUSCB5b3XigJRmcm9tIGRpZ2l0YWwgaWRlbnRpdHkgdG8gbmV3cyBwbGF0Zm9ybXMgdG8gY29tcGxldGUgc292ZXJlaWdudHkgb3ZlciB5b3VyIG9ubGluZSBwcmVzZW5jZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIFBSSU5DSVBMRVMgU0VDVElPTiAtLT4KICA8c2VjdGlvbiBjbGFzcz0icHJpbmNpcGxlcyI+CiAgICA8ZGl2IGNsYXNzPSJwcmluY2lwbGVzLWNvbnRhaW5lciI+CiAgICAgIDxoMj5UaGUgUHJpbmNpcGxlcyBUaGF0IEd1aWRlIFVzPC9oMj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InByaW5jaXBsZXMtZ3JpZCBmYWRlLWluIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcmluY2lwbGUtY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmluY2lwbGUtbnVtYmVyIj4wMTwvZGl2PgogICAgICAgICAgPGgzPkVtcG93ZXJtZW50IE92ZXIgRXZlcnl0aGluZzwvaDM+CiAgICAgICAgICA8cD5XZSBsaWZ0IGVudHJlcHJlbmV1cnMgVVAuIEV2ZXJ5IGZlYXR1cmUsIGV2ZXJ5IHRvb2wsIGV2ZXJ5IGludGVncmF0aW9uIGV4aXN0cyB0byBtdWx0aXBseSB5b3VyIHBvd2VyLCBhbXBsaWZ5IHlvdXIgdm9pY2UsIGFuZCBhY2NlbGVyYXRlIHlvdXIgc3VjY2Vzcy48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0icHJpbmNpcGxlLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJpbmNpcGxlLW51bWJlciI+MDI8L2Rpdj4KICAgICAgICAgIDxoMz5SZXN1bHRzLURyaXZlbiBEZXNpZ248L2gzPgogICAgICAgICAgPHA+QmVhdXR5IG1hdHRlcnMsIGJ1dCBvdXRjb21lcyBtYXR0ZXIgbW9yZS4gRXZlcnkgcGl4ZWwgc2VydmVzIGEgcHVycG9zZTogdG8gaGVscCB5b3UgY2xvc2UgZGVhbHMsIGxhbmQgY2xpZW50cywgYnVpbGQgYXV0aG9yaXR5LCBjcmVhdGUgb3Bwb3J0dW5pdGllcy48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0icHJpbmNpcGxlLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJpbmNpcGxlLW51bWJlciI+MDM8L2Rpdj4KICAgICAgICAgIDxoMz5BZnJpY2FuIENvbnRleHQgQWx3YXlzPC9oMz4KICAgICAgICAgIDxwPk1vYmlsZSBtb25leS4gV2hhdHNBcHAgc2hhcmluZy4gT2ZmbGluZSBjYXBhYmlsaXR5LiBVbnJlbGlhYmxlIFdpRmkuIFdlIGJ1aWxkIGZvciBBZnJpY2EncyBSRUFMSVRZLCBub3QgU2lsaWNvbiBWYWxsZXkncyBmYW50YXN5LiBZb3VyIHN1Y2Nlc3MsIHlvdXIgd2F5LjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJwcmluY2lwbGUtY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmluY2lwbGUtbnVtYmVyIj4wNDwvZGl2PgogICAgICAgICAgPGgzPlN1c3RhaW5hYmlsaXR5IGFzIFN0YW5kYXJkPC9oMz4KICAgICAgICAgIDxwPk91ciBwbGFuZXQgaXNuJ3QgYSAibmljZS10by1oYXZlIuKAlGl0J3MgaG9tZS4gWmVyby13YXN0ZSBkaWdpdGFsIHRvb2xzIGFyZW4ndCBvdXIgbWFya2V0aW5nIGFuZ2xlLiBUaGV5J3JlIG91ciBub24tbmVnb3RpYWJsZSBjb21taXRtZW50IHRvIEFmcmljYSdzIGZ1dHVyZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0icHJpbmNpcGxlLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJpbmNpcGxlLW51bWJlciI+MDU8L2Rpdj4KICAgICAgICAgIDxoMz5Jbm5vdmF0aW9uLCBOb3QgSW1pdGF0aW9uPC9oMz4KICAgICAgICAgIDxwPldlIGRvbid0IGFzayAiV2hhdCBkaWQgdGhleSBidWlsZD8iIFdlIGFzayAiV2hhdCBkb2VzIEFGUklDQSBuZWVkPyIgT3JpZ2luYWwgdGhpbmtpbmcuIEJvbGQgc29sdXRpb25zLiBSZXZvbHV0aW9uYXJ5IHRvb2xzIHRoYXQgb3RoZXJzIHdpbGwgY29weSB0b21vcnJvdy48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0icHJpbmNpcGxlLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJpbmNpcGxlLW51bWJlciI+MDY8L2Rpdj4KICAgICAgICAgIDxoMz5Db21tdW5pdHkgT3ZlciBDb21wZXRpdGlvbjwvaDM+CiAgICAgICAgICA8cD5XaGVuIG9uZSBBZnJpY2FuIGVudHJlcHJlbmV1ciBzdWNjZWVkcywgd2UgYWxsIHJpc2UuIFdlJ3JlIGJ1aWxkaW5nIGluZnJhc3RydWN0dXJlIGZvciBjb2xsZWN0aXZlIGFkdmFuY2VtZW50LCBub3QgaW5kaXZpZHVhbCBkb21pbmF0aW9uLiBUb2dldGhlciwgd2UncmUgdW5zdG9wcGFibGUuPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvc2VjdGlvbj4KCiAgPCEtLSBSRVZPTFVUSU9OIFNFQ1RJT04gLS0+CiAgPHNlY3Rpb24gY2xhc3M9InJldm9sdXRpb24iPgogICAgPGRpdiBjbGFzcz0icmV2b2x1dGlvbi1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJyZXZvbHV0aW9uLWNvbnRlbnQgZmFkZS1pbiI+CiAgICAgICAgPGgyPkpvaW4gdGhlIERpZ2l0YWwgU292ZXJlaWdudHkgUmV2b2x1dGlvbjwvaDI+CiAgICAgICAgPHA+CiAgICAgICAgICBUaGlzIGlzbid0IGFib3V0IHJlcGxhY2luZyBwYXBlciBjYXJkcy4gSXQncyBhYm91dCBBZnJpY2FuIGVudHJlcHJlbmV1cnMgY2xhaW1pbmcgdGhlaXIgcmlnaHRmdWwgcGxhY2Ugb24gdGhlIGdsb2JhbCBzdGFnZeKAlHdpdGggdG9vbHMgYXMgcG93ZXJmdWwgYXMgdGhlaXIgYW1iaXRpb25zLCBhcyBpbnRlbGxpZ2VudCBhcyB0aGVpciBzdHJhdGVnaWVzLCBhbmQgYXMgcmV2b2x1dGlvbmFyeSBhcyB0aGVpciBkcmVhbXMuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InJldm9sdXRpb24tZmVhdHVyZXMiPgogICAgICAgICAgPGRpdiBjbGFzcz0icmV2b2x1dGlvbi1mZWF0dXJlIj4KICAgICAgICAgICAgPHN0cm9uZz7wn46vPC9zdHJvbmc+CiAgICAgICAgICAgIDxzcGFuPkJ1aWx0IEZPUiBBZnJpY2E8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJldm9sdXRpb24tZmVhdHVyZSI+CiAgICAgICAgICAgIDxzdHJvbmc+8J+Sqjwvc3Ryb25nPgogICAgICAgICAgICA8c3Bhbj5CdWlsdCBCWSBBZnJpY2Fuczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icmV2b2x1dGlvbi1mZWF0dXJlIj4KICAgICAgICAgICAgPHN0cm9uZz7wn5qAPC9zdHJvbmc+CiAgICAgICAgICAgIDxzcGFuPkJ1aWx0IHRvIFdJTjwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvc2VjdGlvbj4KCiAgPCEtLSBDVEEgU0VDVElPTiAtLT4KICA8c2VjdGlvbiBjbGFzcz0iY3RhLXNlY3Rpb24iPgogICAgPGRpdiBjbGFzcz0iY3RhLWNvbnRhaW5lciI+CiAgICAgIDxoMj5SZWFkeSB0byBDbGFpbSBZb3VyIERpZ2l0YWwgU292ZXJlaWdudHk/PC9oMj4KICAgICAgPHA+Sm9pbiB0aGUgbW92ZW1lbnQuIEJ1aWxkIHlvdXIgZW1waXJlLiBDaGFuZ2UgdGhlIGdhbWUuPC9wPgogICAgICA8YSBocmVmPSIvcHJpY2luZyIgY2xhc3M9ImJ0bi1jdGEiPjxzcGFuPlN0YXJ0IFlvdXIgUmV2b2x1dGlvbiDihpI8L3NwYW4+PC9hPgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8IS0tIEZPT1RFUiAtLT4KICA8Zm9vdGVyIGNsYXNzPSJmb290ZXIiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIj4KICAgICAgICAgIDxoND5IYW5kc2hha2UuYWZyaWNhPC9oND4KICAgICAgICAgIDxwIHN0eWxlPSJvcGFjaXR5OiAwLjk7IGxpbmUtaGVpZ2h0OiAxLjc7Ij4KICAgICAgICAgICAgRGlnaXRhbCBzb3ZlcmVpZ250eSBmb3IgQWZyaWNhbiBlbnRyZXByZW5ldXJzLiBBSS1wb3dlcmVkLiBFY28tY29uc2Npb3VzLiBVbnN0b3BwYWJsZS4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIj4KICAgICAgICAgIDxoND5Qcm9kdWN0PC9oND4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8iPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kaXNjb3ZlciI+RGlzY292ZXI8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9nYWxsZXJ5Ij5HYWxsZXJ5PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIvcHJpY2luZyI+UHJpY2luZzwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIj4KICAgICAgICAgIDxoND5Db21wYW55PC9oND4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9hYm91dCI+QWJvdXQgVXM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9jb250YWN0Ij5Db250YWN0PC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1jb2x1bW4iPgogICAgICAgICAgPGg0PlBhcnQgb2Y8L2g0PgogICAgICAgICAgPHAgc3R5bGU9Im9wYWNpdHk6IDAuOTsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyI+UG93ZXJlZCBieTwvcD4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZHluYW1pY3BhcmFkaWdtcy5pbyIgc3R5bGU9ImNvbG9yOiB2YXIoLS1nb2xkKTsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxLjFyZW07Ij5EeW5hbWljIFBhcmFkaWdtczwvYT4KICAgICAgICAgIDxwIHN0eWxlPSJvcGFjaXR5OiAwLjc7IGZvbnQtc2l6ZTogMC45cmVtOyBtYXJnaW4tdG9wOiAwLjVyZW07Ij5Db21wbGV0ZSBEaWdpdGFsIEJ1c2luZXNzIFNvbHV0aW9uczwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1ib3R0b20iPgogICAgICAgIDxwPsKpIDIwMjUgSGFuZHNoYWtlLmFmcmljYSDigKIgQWxsIFJpZ2h0cyBSZXNlcnZlZDwvcD4KICAgICAgICA8cD5CdWlsdCB3aXRoIPCfkpogZm9yIEFmcmljYSdzIEZ1dHVyZTwvcD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Zvb3Rlcj4KCiAgPHNjcmlwdD4KICAgIC8vIFNjcm9sbCBhbmltYXRpb25zCiAgICBjb25zdCBvYnNlcnZlck9wdGlvbnMgPSB7CiAgICAgIHRocmVzaG9sZDogMC4xLAogICAgICByb290TWFyZ2luOiAnMHB4IDBweCAtMTAwcHggMHB4JwogICAgfTsKICAgIAogICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcykgewogICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gewogICAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykgewogICAgICAgICAgZW50cnkudGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ3Zpc2libGUnKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwgb2JzZXJ2ZXJPcHRpb25zKTsKICAgIAogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZhZGUtaW4nKS5mb3JFYWNoKGVsID0+IG9ic2VydmVyLm9ic2VydmUoZWwpKTsKICAgIAogICAgLy8gU2VjdXJpdHkKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgZSA9PiBlLnByZXZlbnREZWZhdWx0KCkpOwogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uKGUpIHsKICAgICAgaWYgKGUua2V5Q29kZSA9PT0gMTIzIHx8IChlLmN0cmxLZXkgJiYgZS5zaGlmdEtleSAmJiBlLmtleUNvZGUgPT09IDczKSkgewogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgfQogICAgfSk7CiAgPC9zY3JpcHQ+Cgo8L2JvZHk+CjwvaHRtbD4=","embed":""}
About Us - The Digital Sovereignty Movement | Handshake.africa
Handshake.africa
  • Home
  • Discover
  • Gallery
  • Pricing
  • About
🚀 THE DIGITAL SOVEREIGNTY MOVEMENT

We're Not Building Cards.
We're Building African Excellence.

This is bigger than business cards. This is about African entrepreneurs commanding BOTH stages—global competitiveness and local relevance. AI-powered intelligence. Eco-conscious innovation. Revolutionary thinking that refuses to copy, only to CREATE.

🌍 Global Standards
🌱 Zero Waste
🤖 AI-Powered
đź’Ş African Built
Our Vision

Digital Sovereignty for Every African Entrepreneur

🌍

Global + Local Presence

Command international stages with confidence while staying rooted in your community. Your digital identity travels globally, resonates locally, and empowers universally.

🌱

Planet-Conscious Innovation

27 million trees become business cards yearly. We choose a different path—zero waste, maximum impact. Professional excellence that protects our continent's future.

🤖

AI-Powered Intelligence

Not just digital—intelligent. AI analyzes engagement, predicts optimal follow-up times, identifies your most interested connections. Work smarter, connect deeper, win bigger.

đź’ˇ

Revolutionary, Not Copycat

We march to our own beat. While others copy Western models, we build tools designed FOR Africa, BY Africans. Mobile-first. Payment-flexible. Reality-tested.

⚡

Affordable Excellence

World-class tools at African-friendly prices. Excellence isn't reserved for those who can afford Silicon Valley costs. Your success shouldn't require Western budgets.

🚀

Integrated Ecosystem

One card today. Complete media empire tomorrow. We grow WITH you—from digital identity to news platforms to complete sovereignty over your online presence.

The Principles That Guide Us

01

Empowerment Over Everything

We lift entrepreneurs UP. Every feature, every tool, every integration exists to multiply your power, amplify your voice, and accelerate your success.

02

Results-Driven Design

Beauty matters, but outcomes matter more. Every pixel serves a purpose: to help you close deals, land clients, build authority, create opportunities.

03

African Context Always

Mobile money. WhatsApp sharing. Offline capability. Unreliable WiFi. We build for Africa's REALITY, not Silicon Valley's fantasy. Your success, your way.

04

Sustainability as Standard

Our planet isn't a "nice-to-have"—it's home. Zero-waste digital tools aren't our marketing angle. They're our non-negotiable commitment to Africa's future.

05

Innovation, Not Imitation

We don't ask "What did they build?" We ask "What does AFRICA need?" Original thinking. Bold solutions. Revolutionary tools that others will copy tomorrow.

06

Community Over Competition

When one African entrepreneur succeeds, we all rise. We're building infrastructure for collective advancement, not individual domination. Together, we're unstoppable.

Join the Digital Sovereignty Revolution

This isn't about replacing paper cards. It's about African entrepreneurs claiming their rightful place on the global stage—with tools as powerful as their ambitions, as intelligent as their strategies, and as revolutionary as their dreams.

🎯 Built FOR Africa
đź’Ş Built BY Africans
🚀 Built to WIN

Ready to Claim Your Digital Sovereignty?

Join the movement. Build your empire. Change the game.

Start Your Revolution →

Handshake.africa

Digital sovereignty for African entrepreneurs. AI-powered. Eco-conscious. Unstoppable.

Product

  • Home
  • Discover
  • Gallery
  • Pricing

Company

  • About Us
  • Contact

Part of

Powered by

Dynamic Paradigms

Complete Digital Business Solutions

© 2025 Handshake.africa • All Rights Reserved

Built with đź’š for Africa's Future

Image Gallery Grid
T
Please Check Your Email
We Will Be Following Up Shortly
*
*
*

warning