{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICAKICAgIDwhLS0gUHJpbWFyeSBNZXRhIFRhZ3MgLS0+CiAgICA8dGl0bGU+WmlwcG9yYWggS3V0ZWVzYSB8IEhhcHBpbHkgU2luZ2xlIHwgT2ZmaWNpYWwgRGlnaXRhbCBIdWIgfCBIYW5kc2hha2UgQWZyaWNhPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9InRpdGxlIiBjb250ZW50PSJaaXBwb3JhaCBLdXRlZXNhIHwgSGFwcGlseSBTaW5nbGUgfCBPZmZpY2lhbCBEaWdpdGFsIEh1YiB8IEhhbmRzaGFrZSBBZnJpY2EiPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlRoZSBvZmZpY2lhbCBkaWdpdGFsIGh1YiBmb3IgWmlwcG9yYWggS3V0ZWVzYSwgYXV0aG9yIG9mICdIYXBwaWx5IFNpbmdsZTogMTMgS2V5cyB0byBUaHJpdmluZyBpbiBZb3VyIFNpbmdsZW5lc3MgYW5kIEluZGl2aWR1YWxpdHkuJyBDb25uZWN0IHdpdGggdGhlIGF1dGhvciwgZXhwbG9yZSB0aGUgYm9vayBsYXVuY2gsIGFuZCBqb2luIHRoZSByZWFkZXIgdm9pY2VzIGNhbXBhaWduLiBQb3dlcmVkIGJ5IEhhbmRzaGFrZSBBZnJpY2EuIj4KICAgIDxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJaaXBwb3JhaCBLdXRlZXNhLCBIYXBwaWx5IFNpbmdsZSwgRGlnaXRhbCBCdXNpbmVzcyBDYXJkLCBBdXRob3IsIFBhc3RvciwgR2hvc3R3cml0ZXIsIFVnYW5kYSwgQm9vayBMYXVuY2gsIEVudGViYmUsIEhhbmRzaGFrZSBBZnJpY2EsIFNIRSBFLUJvc3MgU29sdXRpb25pc3QsIFJlYWRlciBDYW1wYWlnbiwgQWZyaWNhbiBBdXRob3IsIFdvbWVuIEVtcG93ZXJtZW50LCBTZWxmLUxvdmUsIENocmlzdGlhbiBBdXRob3IiPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJaaXBwb3JhaCBLdXRlZXNhIj4KICAgIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0iaW5kZXgsIGZvbGxvdyI+CiAgICAKICAgIDwhLS0gT3BlbiBHcmFwaCAvIEZhY2Vib29rIC0tPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cHM6Ly9oYW5kc2hha2UuYWZyaWNhL3ppcHBvcmFoLWt1dGVlc2EiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJaaXBwb3JhaCBLdXRlZXNhIHwgSGFwcGlseSBTaW5nbGUgfCBPZmZpY2lhbCBEaWdpdGFsIEh1YiI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IvCfk5binKggUGFzdG9yLCBTdG9yeXRlbGxlciwgR2hvc3R3cml0ZXIuIEF1dGhvciBvZiAnSGFwcGlseSBTaW5nbGUuJyBDb25uZWN0LCBleHBsb3JlIHRoZSBib29rIGxhdW5jaCwgYW5kIGpvaW4gdGhlIHJlYWRlciB2b2ljZXMgY2FtcGFpZ24uIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkhhbmRzaGFrZSBBZnJpY2EiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmxvY2FsZSIgY29udGVudD0iZW5fVVMiPgogICAgCiAgICA8IS0tIFR3aXR0ZXIgLS0+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vaGFuZHNoYWtlLmFmcmljYS96aXBwb3JhaC1rdXRlZXNhIj4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6dGl0bGUiIGNvbnRlbnQ9IlppcHBvcmFoIEt1dGVlc2EgfCBIYXBwaWx5IFNpbmdsZSB8IE9mZmljaWFsIERpZ2l0YWwgSHViIj4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IvCfk5binKggUGFzdG9yLCBTdG9yeXRlbGxlciwgR2hvc3R3cml0ZXIuIEF1dGhvciBvZiAnSGFwcGlseSBTaW5nbGUuJyBUdXJuaW5nIG9yZGluYXJ5IHdvcmRzIGludG8gZXh0cmFvcmRpbmFyeSBjaGFuZ2UuIj4KICAgIAogICAgPCEtLSBUaGVtZSBDb2xvciAtLT4KICAgIDxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjMkQ1QTRBIj4KICAgIDxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUNvbG9yIiBjb250ZW50PSIjMkQ1QTRBIj4KICAgIAogICAgPCEtLSBDYW5vbmljYWwgVVJMIC0tPgogICAgPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vaGFuZHNoYWtlLmFmcmljYS96aXBwb3JhaC1rdXRlZXNhIj4KICAgIAogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KICAgIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVBsYXlmYWlyK0Rpc3BsYXk6aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzAsNjAwOzAsNzAwOzAsODAwOzEsNDAwOzEsNTAwJmZhbWlseT1Mb3JhOml0YWwsd2dodEAwLDQwMDswLDUwMDswLDYwMDswLDcwMDsxLDQwMDsxLDUwMCZmYW1pbHk9TW9udHNlcnJhdDp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgogICAgCiAgICA8c3R5bGU+CiAgICAgICAgOnJvb3QgewogICAgICAgICAgICAtLXNhZ2UtZ3JlZW46ICMyRDVBNEE7CiAgICAgICAgICAgIC0tbGVhZi1ncmVlbjogIzNEN0E1QTsKICAgICAgICAgICAgLS1taW50LWZyZXNoOiAjNkJBNjhBOwogICAgICAgICAgICAtLXdhcm0tZ29sZDogI0Q0QTg1MzsKICAgICAgICAgICAgLS1zb2Z0LWdvbGQ6ICNGNUU2Qzg7CiAgICAgICAgICAgIC0tY3JlYW0td2hpdGU6ICNGREY4RjA7CiAgICAgICAgICAgIC0td2FybS1icm93bjogIzhCNkI0QTsKICAgICAgICAgICAgLS1kZWVwLWNoYXJjb2FsOiAjMkEyQTJBOwogICAgICAgICAgICAtLXNvZnQtcGluazogI0U4RDREMDsKICAgICAgICAgICAgLS1nb2xkZW4tZ2xvdzogcmdiYSgyMTIsIDE2OCwgODMsIDAuMyk7CiAgICAgICAgICAgIC0tZ3JlZW4tZ2xvdzogcmdiYSg0NSwgOTAsIDc0LCAwLjMpOwogICAgICAgIH0KCiAgICAgICAgKiB7CiAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgIGJvZHkgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0xvcmEnLCBzZXJpZjsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3JlYW0td2hpdGUpOwogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLyogQmFja2dyb3VuZCAqLwogICAgICAgIC5lbGVnYW50LWJnIHsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHotaW5kZXg6IDA7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgMzAlIDIwJSwgdmFyKC0tZ29sZGVuLWdsb3cpIDAlLCB0cmFuc3BhcmVudCA1MCUpLAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgNzAlIDgwJSwgdmFyKC0tZ3JlZW4tZ2xvdykgMCUsIHRyYW5zcGFyZW50IDUwJSksCiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1jcmVhbS13aGl0ZSkgMCUsIHZhcigtLXNvZnQtZ29sZCkgNTAlLCB2YXIoLS1jcmVhbS13aGl0ZSkgMTAwJSk7CiAgICAgICAgfQoKICAgICAgICAubGVhZi1wYXR0ZXJuIHsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgICAgIG9wYWNpdHk6IDAuMDM7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzYwJyBoZWlnaHQ9JzYwJyB2aWV3Qm94PScwIDAgNjAgNjAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00zMCA1IEMyNSAxNSwgMTUgMjAsIDEwIDMwIEMxNSAzNSwgMjUgNDAsIDMwIDU1IEMzNSA0MCwgNDUgMzUsIDUwIDMwIEM0NSAyMCwgMzUgMTUsIDMwIDUnIGZpbGw9JyUyMzJENUE0QScgLyUzRSUzQy9zdmclM0UiKTsKICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CiAgICAgICAgfQoKICAgICAgICAuZmxvYXRpbmctZWxlbWVudHMgewogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIHRvcDogMDsKICAgICAgICAgICAgbGVmdDogMDsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgei1pbmRleDogMjsKICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAuZmxvYXRpbmctbGVhZiB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgICAgICAgIG9wYWNpdHk6IDAuMTsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmbG9hdExlYWYgMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgLmZsb2F0aW5nLWxlYWY6bnRoLWNoaWxkKDEpIHsgbGVmdDogMTAlOyB0b3A6IDIwJTsgYW5pbWF0aW9uLWRlbGF5OiAwczsgfQogICAgICAgIC5mbG9hdGluZy1sZWFmOm50aC1jaGlsZCgyKSB7IGxlZnQ6IDgwJTsgdG9wOiA0MCU7IGFuaW1hdGlvbi1kZWxheTogM3M7IH0KICAgICAgICAuZmxvYXRpbmctbGVhZjpudGgtY2hpbGQoMykgeyBsZWZ0OiAyMCU7IHRvcDogNzAlOyBhbmltYXRpb24tZGVsYXk6IDZzOyB9CiAgICAgICAgLmZsb2F0aW5nLWxlYWY6bnRoLWNoaWxkKDQpIHsgbGVmdDogNzAlOyB0b3A6IDE1JTsgYW5pbWF0aW9uLWRlbGF5OiA5czsgfQogICAgICAgIC5mbG9hdGluZy1sZWFmOm50aC1jaGlsZCg1KSB7IGxlZnQ6IDkwJTsgdG9wOiA4MCU7IGFuaW1hdGlvbi1kZWxheTogMTJzOyB9CgogICAgICAgIEBrZXlmcmFtZXMgZmxvYXRMZWFmIHsKICAgICAgICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDBkZWcpOyB9CiAgICAgICAgICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkgcm90YXRlKDEwZGVnKTsgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBmYWRlSW5Eb3duIHsKICAgICAgICAgICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH0KICAgICAgICAgICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgZmFkZUluVXAgewogICAgICAgICAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyB9CiAgICAgICAgICAgIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9CiAgICAgICAgfQoKICAgICAgICAuY29udGFpbmVyIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICAgICAgbWF4LXdpZHRoOiA0ODBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgIH0KCiAgICAgICAgLyogSGVhZGVyIFNlY3Rpb24gKi8KICAgICAgICAuaGVhZGVyIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMjBweDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5Eb3duIDFzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAud2VsY29tZS1iYWRnZSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tc2FnZS1ncmVlbiksIHZhcigtLWxlYWYtZ3JlZW4pKTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0td2FybS1nb2xkKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgICAgICAgICAgcGFkZGluZzogMTBweCAyNXB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAyMHB4IHZhcigtLWdyZWVuLWdsb3cpOwogICAgICAgIH0KCiAgICAgICAgLndlbGNvbWUtYmFkZ2UgLmJhZGdlLWljb24gewogICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgICAgICB9CgogICAgICAgIC53ZWxjb21lLWJhZGdlIHNwYW4gewogICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zb2Z0LWdvbGQpOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIH0KCiAgICAgICAgLyogUHJvZmlsZSBQaG90byAqLwogICAgICAgIC5wcm9maWxlLWNvbnRhaW5lciB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87CiAgICAgICAgICAgIHdpZHRoOiAxNjBweDsKICAgICAgICAgICAgaGVpZ2h0OiAxNjBweDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlIDAuM3MgYm90aDsKICAgICAgICB9CgogICAgICAgIC5wcm9maWxlLXJpbmcgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDogLThweDsKICAgICAgICAgICAgbGVmdDogLThweDsKICAgICAgICAgICAgcmlnaHQ6IC04cHg7CiAgICAgICAgICAgIGJvdHRvbTogLThweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudChmcm9tIDBkZWcsIHZhcigtLXdhcm0tZ29sZCksIHZhcigtLXNhZ2UtZ3JlZW4pLCB2YXIoLS1taW50LWZyZXNoKSwgdmFyKC0td2FybS1nb2xkKSk7CiAgICAgICAgICAgIGFuaW1hdGlvbjogcm90YXRlUmluZyAxMHMgbGluZWFyIGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyByb3RhdGVSaW5nIHsKICAgICAgICAgICAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9CiAgICAgICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICAgIH0KCiAgICAgICAgLnByb2ZpbGUtcGhvdG8gewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tY3JlYW0td2hpdGUpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggNDBweCB2YXIoLS1ncmVlbi1nbG93KTsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tc29mdC1waW5rKSwgdmFyKC0tc29mdC1nb2xkKSk7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLnByb2ZpbGUtcGhvdG8gLmluaXRpYWxzIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXNhZ2UtZ3JlZW4pOwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCA0cHggcmdiYSgwLDAsMCwwLjEpOwogICAgICAgIH0KCiAgICAgICAgLyogTmFtZSBTZWN0aW9uICovCiAgICAgICAgLm5hbWUtc2VjdGlvbiB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZSAwLjVzIGJvdGg7CiAgICAgICAgfQoKICAgICAgICAubmFtZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDJyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zYWdlLWdyZWVuKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgIH0KCiAgICAgICAgLnRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13YXJtLWJyb3duKTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgICB9CgogICAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTG9yYScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdhcm0tZ29sZCk7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgfQoKICAgICAgICAvKiBWaWRlbyBTZWN0aW9uICovCiAgICAgICAgLnZpZGVvLXNlY3Rpb24gewogICAgICAgICAgICBtYXJnaW46IDI1cHggMDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlIDAuN3MgYm90aDsKICAgICAgICB9CgogICAgICAgIC52aWRlby13cmFwcGVyIHsKICAgICAgICAgICAgbWF4LXdpZHRoOiAyODBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTVweCA0MHB4IHJnYmEoNDUsIDkwLCA3NCwgMC4yNSk7CiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLXdhcm0tZ29sZCk7CiAgICAgICAgfQoKICAgICAgICAvKiBCdXkgQm9vayBCdXR0b24gKi8KICAgICAgICAuYnV5LWJvb2stYnRuIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0td2FybS1nb2xkKSwgI2M5OTYzZCk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMzBweDsKICAgICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG87CiAgICAgICAgICAgIG1heC13aWR0aDogMzIwcHg7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggdmFyKC0tZ29sZGVuLWdsb3cpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIGVhc2UgMC45cyBib3RoOwogICAgICAgIH0KCiAgICAgICAgLmJ1eS1ib29rLWJ0bjpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSBzY2FsZSgxLjAyKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDQwcHggdmFyKC0tZ29sZGVuLWdsb3cpOwogICAgICAgIH0KCiAgICAgICAgLmJ1eS1ib29rLWljb24gewogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICB9CgogICAgICAgIC5idXktYm9vay10ZXh0IHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICB9CgogICAgICAgIC5idXktYm9vay10aXRsZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tc2FnZS1ncmVlbik7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICAgICAgfQoKICAgICAgICAuYnV5LWJvb2stc3VidGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0xvcmEnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZGVlcC1jaGFyY29hbCk7CiAgICAgICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICB9CgogICAgICAgIC5idXktYm9vay1hcnJvdyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tc2FnZS1ncmVlbik7CiAgICAgICAgfQoKICAgICAgICAvKiBOYXZpZ2F0aW9uIENhcmRzICovCiAgICAgICAgLm5hdi1jYXJkcyB7CiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwOwogICAgICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIGVhc2UgMS4xcyBib3RoOwogICAgICAgIH0KCiAgICAgICAgLm5hdi1jYXJkIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuOTUpLCByZ2JhKDI1MywyNDgsMjQwLDAuOTUpKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1zb2Z0LWdvbGQpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAyMHB4IHJnYmEoNDUsIDkwLCA3NCwgMC4wOCk7CiAgICAgICAgfQoKICAgICAgICAubmF2LWNhcmQ6aG92ZXIgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13YXJtLWdvbGQpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCB2YXIoLS1nb2xkZW4tZ2xvdyk7CiAgICAgICAgfQoKICAgICAgICAubmF2LWNhcmQtaWNvbiB7CiAgICAgICAgICAgIHdpZHRoOiA2MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXNhZ2UtZ3JlZW4pLCB2YXIoLS1sZWFmLWdyZWVuKSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTsKICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAubmF2LWNhcmQtY29udGVudCB7CiAgICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAubmF2LWNhcmQtdGl0bGUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zYWdlLWdyZWVuKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4OwogICAgICAgIH0KCiAgICAgICAgLm5hdi1jYXJkLWRlc2MgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0xvcmEnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13YXJtLWJyb3duKTsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgICB9CgogICAgICAgIC5uYXYtY2FyZC1hcnJvdyB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13YXJtLWdvbGQpOwogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5uYXYtY2FyZDpob3ZlciAubmF2LWNhcmQtYXJyb3cgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsKICAgICAgICB9CgogICAgICAgIC8qIFF1b3RlIFNlY3Rpb24gKi8KICAgICAgICAucXVvdGUtc2VjdGlvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXNhZ2UtZ3JlZW4pLCB2YXIoLS1sZWFmLWdyZWVuKSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMjBweDsKICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggdmFyKC0tZ3JlZW4tZ2xvdyk7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZSAxLjNzIGJvdGg7CiAgICAgICAgfQoKICAgICAgICAucXVvdGUtbWFya3MgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13YXJtLWdvbGQpOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMC41OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIH0KCiAgICAgICAgLnF1b3RlLXRleHQgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjA1cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY3JlYW0td2hpdGUpOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgfQoKICAgICAgICAucXVvdGUtYXV0aG9yIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0td2FybS1nb2xkKTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICAgICAgICB9CgogICAgICAgIC8qIEZlYXR1cmVkIEJhZGdlICovCiAgICAgICAgLmZlYXR1cmVkLWJhZGdlIHsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuOTUpLCByZ2JhKDI1MywyNDgsMjQwLDAuOTUpKTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0td2FybS1nb2xkKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0bzsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwwLDAsMC4xKTsKICAgICAgICB9CgogICAgICAgIC5mZWF0dXJlZC1iYWRnZTpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjVweCB2YXIoLS1nb2xkZW4tZ2xvdyk7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2FnZS1ncmVlbik7CiAgICAgICAgfQoKICAgICAgICAuZmVhdHVyZWQtaWNvbiB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICAgIH0KCiAgICAgICAgLmZlYXR1cmVkLXRleHQgewogICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdhcm0tYnJvd24pOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgfQoKICAgICAgICAuZmVhdHVyZWQtdGV4dCBzdHJvbmcgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tc2FnZS1ncmVlbik7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgfQoKICAgICAgICAuZmVhdHVyZWQtYXJyb3cgewogICAgICAgICAgICBjb2xvcjogdmFyKC0td2FybS1nb2xkKTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5mZWF0dXJlZC1iYWRnZTpob3ZlciAuZmVhdHVyZWQtYXJyb3cgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTsKICAgICAgICB9CgogICAgICAgIC8qIFF1aWNrIENvbm5lY3QgKi8KICAgICAgICAucXVpY2stY29ubmVjdCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDE1cHg7CiAgICAgICAgICAgIG1hcmdpbjogMjVweCAwOwogICAgICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIGVhc2UgMS41cyBib3RoOwogICAgICAgIH0KCiAgICAgICAgLnF1aWNrLWxpbmsgewogICAgICAgICAgICB3aWR0aDogNTVweDsKICAgICAgICAgICAgaGVpZ2h0OiA1NXB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1zYWdlLWdyZWVuKSwgdmFyKC0tbGVhZi1ncmVlbikpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB9CgogICAgICAgIC5xdWljay1saW5rOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpIHNjYWxlKDEuMSk7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td2FybS1nb2xkKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggdmFyKC0tZ3JlZW4tZ2xvdyk7CiAgICAgICAgfQoKICAgICAgICAvKiBQb3dlcmVkIEJ5IFNlY3Rpb24gKi8KICAgICAgICAucG93ZXJlZC1ieSB7CiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwOwogICAgICAgICAgICBwYWRkaW5nOiAxNXB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDQ1LCA5MCwgNzQsIDAuMDUpLCByZ2JhKDIxMiwgMTY4LCA4MywgMC4wNSkpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zb2Z0LWdvbGQpOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAucG93ZXJlZC1sYWJlbCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDAuNnJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdhcm0tYnJvd24pOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICB9CgogICAgICAgIC5wb3dlcmVkLWxpbmsgewogICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zYWdlLWdyZWVuKTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAucG93ZXJlZC1saW5rOmhvdmVyIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdhcm0tZ29sZCk7CiAgICAgICAgfQoKICAgICAgICAvKiBGb290ZXIgKi8KICAgICAgICAuZm9vdGVyIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDAgNDBweDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlIDEuN3MgYm90aDsKICAgICAgICB9CgogICAgICAgIC5mb290ZXItYnJhbmQgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tc2FnZS1ncmVlbik7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICB9CgogICAgICAgIC5mb290ZXItdGFnbGluZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTG9yYScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdhcm0tYnJvd24pOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLWNvcHlyaWdodCB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdhcm0tYnJvd24pOwogICAgICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgfQoKICAgICAgICAvKiBNb2JpbGUgUmVzcG9uc2l2ZW5lc3MgKi8KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHsKICAgICAgICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAubmFtZSB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLnZpZGVvLXdyYXBwZXIgewogICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDBweDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLm5hdi1jYXJkIHsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5uYXYtY2FyZC1pY29uIHsKICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4OwogICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4OwogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgogICAgPCEtLSBGbG9hdGluZyBFbGVtZW50cyAtLT4KICAgIDxkaXYgY2xhc3M9ImZsb2F0aW5nLWVsZW1lbnRzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmbG9hdGluZy1sZWFmIj7wn42DPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmxvYXRpbmctbGVhZiI+4pyoPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmxvYXRpbmctbGVhZiI+8J+MvzwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZsb2F0aW5nLWxlYWYiPvCfkqs8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmbG9hdGluZy1sZWFmIj7wn42DPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJlbGVnYW50LWJnIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImxlYWYtcGF0dGVybiI+PC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPCEtLSBIZWFkZXIgLS0+CiAgICAgICAgPGhlYWRlciBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0id2VsY29tZS1iYWRnZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UtaWNvbiI+4pyoPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+V2VsY29tZSB0byBNeSBEaWdpdGFsIEh1Yjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9oZWFkZXI+CgogICAgICAgIDwhLS0gUHJvZmlsZSBQaG90byAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9maWxlLWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2ZpbGUtcmluZyI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2ZpbGUtcGhvdG8iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluaXRpYWxzIj5aSzwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gTmFtZSBTZWN0aW9uIC0tPgogICAgICAgIDxkaXYgY2xhc3M9Im5hbWUtc2VjdGlvbiI+CiAgICAgICAgICAgIDxoMSBjbGFzcz0ibmFtZSI+WmlwcG9yYWggS3V0ZWVzYTwvaDE+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0aXRsZSI+QXV0aG9yIOKAoiBQYXN0b3Ig4oCiIEdob3N0d3JpdGVyPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0ic3VidGl0bGUiPuKcqCBUdXJuaW5nIE9yZGluYXJ5IFdvcmRzIEludG8gRXh0cmFvcmRpbmFyeSBDaGFuZ2U8L3A+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gVmlkZW8gU2VjdGlvbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8td3JhcHBlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ2cF9lbWJlZF93cmFwIiBzdHlsZT0id2lkdGg6MTAwJTsiPjxpZnJhbWUgaWQ9InZwX3ZpZGVvX2VtYmVkIiBhbGxvdz0iYXV0b3BsYXkiIGRhdGEtcmF0ZT0iMC41NjI1IiBkYXRhLXN0aWNreT0idG9wLXJpZ2h0IiBzcmM9Imh0dHBzOi8vdmlkZW8uYnJhbmRoYW5kc2hha2UuY29tL2VtYmVkLzE2ODExIiBzdHlsZT0id2lkdGg6MTAwJTsgYXNwZWN0LXJhdGlvOiA5LzE2OyBib3JkZXI6IG5vbmU7IHotaW5kZXg6MTAwMDAwMDsiIGFsbG93ZnVsbHNjcmVlbj0idHJ1ZSIgd2Via2l0YWxsb3dmdWxsc2NyZWVuPSJ0cnVlIiBtb3phbGxvd2Z1bGxzY3JlZW49InRydWUiPjwvaWZyYW1lPjxzY3JpcHQgc3JjPSJodHRwczovL3ZpZGVvLmJyYW5kaGFuZHNoYWtlLmNvbS9qcy92cF9lbWJlZC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz48L3NjcmlwdD48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQnV5IEJvb2sgQnV0dG9uIC0tPgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmFtYXpvbi5jb20vSGFwcGlseS1TaW5nbGUtS2V5cy1UaHJpdmluZy1TaW5nbGVuZXNzL2RwL0IwRFRQN0cyM1MiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iYnV5LWJvb2stYnRuIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJ1eS1ib29rLWljb24iPvCfk5o8L3NwYW4+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1eS1ib29rLXRleHQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV5LWJvb2stdGl0bGUiPkJVWSBIQVBQSUxZIFNJTkdMRTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV5LWJvb2stc3VidGl0bGUiPkF2YWlsYWJsZSBvbiBBbWF6b248L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJidXktYm9vay1hcnJvdyI+4oaSPC9zcGFuPgogICAgICAgIDwvYT4KCiAgICAgICAgPCEtLSBOYXZpZ2F0aW9uIENhcmRzIC0tPgogICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jYXJkcyI+CiAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaGFuZHNoYWtlLmFmcmljYS9hdXRob3ItcHJvZmlsZSIgY2xhc3M9Im5hdi1jYXJkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jYXJkLWljb24iPvCfkaQ8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibmF2LWNhcmQtdGl0bGUiPkFib3V0IFppcHBvcmFoPC9oMz4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibmF2LWNhcmQtZGVzYyI+TGVhcm4gbW9yZSBhYm91dCBteSBzdG9yeSwgc2VydmljZXMsIGFuZCBob3cgdG8gY29ubmVjdCB3aXRoIG1lPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmF2LWNhcmQtYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9oYW5kc2hha2UuYWZyaWNhL2hhcHBpbHktc2luZ2xlIiBjbGFzcz0ibmF2LWNhcmQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNhcmQtaWNvbiI+8J+TljwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJuYXYtY2FyZC10aXRsZSI+Qm9vayBMYXVuY2ggRXZlbnQ8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJuYXYtY2FyZC1kZXNjIj5GZWIgMTUsIDIwMjYg4oCiIEJldGhlbCBGcmVlZG9tIFRhYmVybmFjbGUsIEVudGViYmU8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYXYtY2FyZC1hcnJvdyI+4oaSPC9zcGFuPgogICAgICAgICAgICA8L2E+CgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2hhbmRzaGFrZS5hZnJpY2EvcmVhZGVyLXZvaWNlcyIgY2xhc3M9Im5hdi1jYXJkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jYXJkLWljb24iPvCfjpnvuI88L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibmF2LWNhcmQtdGl0bGUiPlJlYWRlciBWb2ljZXMgQ2FtcGFpZ248L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJuYXYtY2FyZC1kZXNjIj5TaGFyZSB5b3VyIHJlZmxlY3Rpb24gYW5kIGJlY29tZSBhIGxpdmluZyB0ZXN0aW1vbmlhbDwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdi1jYXJkLWFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBRdW90ZSBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJxdW90ZS1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVvdGUtbWFya3MiPiI8L2Rpdj4KICAgICAgICAgICAgPHAgY2xhc3M9InF1b3RlLXRleHQiPkkgd3JvdGUgdGhpcyBib29rIHRvIGNoYWxsZW5nZSB0aGUgbWluZHNldCBvZiBidWxsaWVzIHdobyBwcmVzc3VyZSB5b3VuZyB3b21lbiBpbnRvIG1hcnJpYWdlLCByZWFkeSBvciBub3QuIFRyYWluaW5nIHBlb3BsZSB0byBlbWJyYWNlIHNpbmdsZW5lc3MgY2FuJ3QgYmUgd3JvbmcuPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0icXVvdGUtYXV0aG9yIj7igJQgWklQUE9SQUggS1VURUVTQTwvcD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gRmVhdHVyZWQgQmFkZ2UgLS0+CiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9hZnJpY2Fmcm9udGxpbmVuZXh1cy5uZXdzL2Jvb2stbGF1bmNoLWV2ZW50LW92ZXJ2aWV3LWFsbC15b3UtbmVlZC1mb3ItdGhlLW9mZmljaWFsLWxhdW5jaC1vZi1oYXBwaWx5LXNpbmdsZS1pbi1rYW1wYWxhIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImZlYXR1cmVkLWJhZGdlIiBzdHlsZT0iZGlzcGxheTogZmxleDsgbWF4LXdpZHRoOiAzMjBweDsgbWFyZ2luOiAyMHB4IGF1dG87Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmVkLWljb24iPvCfk7A8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlZC10ZXh0Ij5BcyBGZWF0dXJlZCBvbiA8c3Ryb25nPkFmcmljYSBGcm9udGxpbmUgTmV4dXM8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlZC1hcnJvdyI+4oaSPC9zcGFuPgogICAgICAgIDwvYT4KCiAgICAgICAgPCEtLSBRdWljayBDb25uZWN0IC0tPgogICAgICAgIDxkaXYgY2xhc3M9InF1aWNrLWNvbm5lY3QiPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3dhLm1lLzI1Njc1OTUxMTg2OCIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJxdWljay1saW5rIiB0aXRsZT0iV2hhdHNBcHAiPvCfkqw8L2E+CiAgICAgICAgICAgIDxhIGhyZWY9Ii9jZG4tY2dpL2wvZW1haWwtcHJvdGVjdGlvbiNlYTkwODM5YTlhODU5ODhiODI4MTlmOWU4ZjhmOTk4YmRhZDlhYThkODc4YjgzODZjNDg5ODU4NyIgY2xhc3M9InF1aWNrLWxpbmsiIHRpdGxlPSJFbWFpbCI+4pyJ77iPPC9hPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vemlwcG9yYWgta3V0ZWVzYS03NjE0YTMzM2IiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0icXVpY2stbGluayIgdGl0bGU9IkxpbmtlZEluIj7wn5K8PC9hPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5hbWF6b24uY29tL0hhcHBpbHktU2luZ2xlLUtleXMtVGhyaXZpbmctU2luZ2xlbmVzcy9kcC9CMERUUDdHMjNTIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InF1aWNrLWxpbmsiIHRpdGxlPSJCdXkgQm9vayI+8J+TmjwvYT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBGb290ZXIgLS0+CiAgICAgICAgPGZvb3RlciBjbGFzcz0iZm9vdGVyIj4KICAgICAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci1icmFuZCI+WklQUE9SQUggS1VURUVTQTwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci10YWdsaW5lIj5BdXRob3Igb2YgSGFwcGlseSBTaW5nbGU8L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBvd2VyZWQtYnkiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBvd2VyZWQtbGFiZWwiPkRpZ2l0YWwgSHViIFBvd2VyZWQgQnk8L3NwYW4+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2JyYW5kaGFuZHNoYWtlLmNvbSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJwb3dlcmVkLWxpbmsiPvCfpJ0gSGFuZHNoYWtlIEFmcmljYTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxwIGNsYXNzPSJmb290ZXItY29weXJpZ2h0Ij7CqSAyMDI2IFppcHBvcmFoIEt1dGVlc2EgfCBBbGwgUmlnaHRzIFJlc2VydmVk","embed":""}
🍃
✨
🌿
💫
🍃
✨
Welcome to My Digital Hub
ZK
Zipporah Kuteesa
Author • Pastor • Ghostwriter
✨ Turning Ordinary Words Into Extraordinary Change
BUY HAPPILY SINGLE
Available on Amazon
👤
About Zipporah
Learn more about my story, services, and how to connect with me
📖
Book Launch Event
Feb 15, 2026 • Bethel Freedom Tabernacle, Entebbe
🎙️
Reader Voices Campaign
Share your reflection and become a living testimonial
"
I wrote this book to challenge the mindset of bullies who pressure young women into marriage, ready or not. Training people to embrace singleness can't be wrong.
— ZIPPORAH KUTEESA
T
Please Check Your Email
We Will Be Following Up Shortly
We Will Be Following Up Shortly
warning
? We use cookies to enhance your experience. By continuing, you agree to our Privacy Policy.
? We use cookies to enhance your experience and analyze site traffic. By continuing, you agree to our Privacy Policy.