{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICAKICAgIDwhLS0gUHJpbWFyeSBNZXRhIFRhZ3MgLS0+CiAgICA8dGl0bGU+QW5keSBTaXZpbHMgfCBSRUFMVE9Swq4gfCBSb3ktTWlsbGVyIFRlYW0gfCBCZXJrc2hpcmUgSGF0aGF3YXkgSG9tZVNlcnZpY2VzPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9InRpdGxlIiBjb250ZW50PSJBbmR5IFNpdmlscyB8IFJFQUxUT1LCriB8IFJveS1NaWxsZXIgVGVhbSB8IEJlcmtzaGlyZSBIYXRoYXdheSBIb21lU2VydmljZXMiPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IllvdXIgdHJ1c3RlZCByZWFsIGVzdGF0ZSBwYXJ0bmVyIGluIFNvdXRod2VzdCBNaWNoaWdhbi4gQW5keSBTaXZpbHMgd2l0aCB0aGUgUm95LU1pbGxlciBUZWFtIC0gVG9wIDEwIFJlYWwgRXN0YXRlIFRlYW0gaW4gdGhlIFVTQS4gWmlsbG93IFByZW1pZXIgQWdlbnQuIFBvcnRhZ2UgJiBLYWxhbWF6b28gc3BlY2lhbGlzdC4iPgogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IkFuZHkgU2l2aWxzLCBSb3ktTWlsbGVyIFRlYW0sIEJlcmtzaGlyZSBIYXRoYXdheSwgS2FsYW1hem9vIFJlYWx0b3IsIFBvcnRhZ2UgUmVhbCBFc3RhdGUsIFNvdXRod2VzdCBNaWNoaWdhbiBIb21lcywgWmlsbG93IFByZW1pZXIgQWdlbnQiPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJBbmR5IFNpdmlscyI+CiAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9ImluZGV4LCBmb2xsb3ciPgogICAgCiAgICA8IS0tIE9wZW4gR3JhcGggLyBGYWNlYm9vayAtLT4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJwcm9maWxlIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vYnJhbmRoYW5kc2hha2UuY29tL2FuZHktc2l2aWxzIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iQW5keSBTaXZpbHMgfCBSRUFMVE9Swq4gfCBSb3ktTWlsbGVyIFRlYW0iPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSLwn4+hIFlvdXIgdHJ1c3RlZCByZWFsIGVzdGF0ZSBwYXJ0bmVyIGluIFNvdXRod2VzdCBNaWNoaWdhbi4gVG9wIDEwIFRlYW0gaW4gdGhlIFVTQS4gWmlsbG93IFByZW1pZXIgQWdlbnQuIj4KICAgIAogICAgPCEtLSBUaGVtZSBDb2xvciAtLT4KICAgIDxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjMWExYTFhIj4KICAgIAogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KICAgIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVBsYXlmYWlyK0Rpc3BsYXk6d2dodEA0MDA7NTAwOzYwMDs3MDAmZmFtaWx5PU1vbnRzZXJyYXQ6d2dodEAzMDA7NDAwOzUwMDs2MDA7NzAwJmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIAogICAgPHN0eWxlPgogICAgICAgIDpyb290IHsKICAgICAgICAgICAgLS1ibGFjazogIzFhMWExYTsKICAgICAgICAgICAgLS1jaGFyY29hbDogIzJkMmQyZDsKICAgICAgICAgICAgLS1kYXJrLWdyYXk6ICM0MDQwNDA7CiAgICAgICAgICAgIC0tbWVkaXVtLWdyYXk6ICM2YjZiNmI7CiAgICAgICAgICAgIC0tbGlnaHQtZ3JheTogI2EwYTBhMDsKICAgICAgICAgICAgLS1zaWx2ZXI6ICNlMGUwZTA7CiAgICAgICAgICAgIC0tb2ZmLXdoaXRlOiAjZjVmNWY1OwogICAgICAgICAgICAtLXdoaXRlOiAjRkZGRkZGOwogICAgICAgICAgICAtLWJ1cmd1bmR5OiAjNzIyRjM3OwogICAgICAgICAgICAtLWJ1cmd1bmR5LWxpZ2h0OiAjOEIzQTQyOwogICAgICAgICAgICAtLWdvbGQtYWNjZW50OiAjQzlBMjI3OwogICAgICAgIH0KCiAgICAgICAgKiB7CiAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgIGJvZHkgewogICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vZmYtd2hpdGUpOwogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLyogU3VidGxlIFBhdHRlcm4gQmFja2dyb3VuZCAqLwogICAgICAgIC5wYXR0ZXJuLWJnIHsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHotaW5kZXg6IDA7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IAogICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tb2ZmLXdoaXRlKSAwJSwgdmFyKC0tc2lsdmVyKSA1MCUsIHZhcigtLW9mZi13aGl0ZSkgMTAwJSk7CiAgICAgICAgfQoKICAgICAgICAuY29udGFpbmVyIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICAgICAgbWF4LXdpZHRoOiA0ODBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgIH0KCiAgICAgICAgLyogSGVhZGVyIFNlY3Rpb24gKi8KICAgICAgICAuaGVhZGVyIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMjBweDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMXMgZWFzZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgZmFkZUluIHsKICAgICAgICAgICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH0KICAgICAgICAgICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgICAgICB9CgogICAgICAgIC8qIFByb2ZpbGUgSW1hZ2UgKi8KICAgICAgICAucHJvZmlsZS1jb250YWluZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxNzBweDsKICAgICAgICAgICAgaGVpZ2h0OiAxNzBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDsKICAgICAgICB9CgogICAgICAgIC5wcm9maWxlLXJpbmcgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDogLThweDsKICAgICAgICAgICAgbGVmdDogLThweDsKICAgICAgICAgICAgd2lkdGg6IDE4NnB4OwogICAgICAgICAgICBoZWlnaHQ6IDE4NnB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNoYXJjb2FsKSwgdmFyKC0tYnVyZ3VuZHkpLCB2YXIoLS1ibGFjaykpOwogICAgICAgICAgICBhbmltYXRpb246IHJpbmdQdWxzZSA0cyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgcmluZ1B1bHNlIHsKICAgICAgICAgICAgMCUsIDEwMCUgeyBvcGFjaXR5OiAwLjg7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH0KICAgICAgICAgICAgNTAlIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsgfQogICAgICAgIH0KCiAgICAgICAgLnByb2ZpbGUtaW1hZ2UgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxNzBweDsKICAgICAgICAgICAgaGVpZ2h0OiAxNzBweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1zaWx2ZXIpLCB2YXIoLS1vZmYtd2hpdGUpKTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLXdoaXRlKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjIpOwogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLnByb2ZpbGUtaW1hZ2UgaW1nIHsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgfQoKICAgICAgICAvKiBOYW1lICYgVGl0bGUgKi8KICAgICAgICAubmFtZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWJsYWNrKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgIH0KCiAgICAgICAgLnRpdGxlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tYnVyZ3VuZHkpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgfQoKICAgICAgICAuYnJva2VyYWdlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVkaXVtLWdyYXkpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgfQoKICAgICAgICAudGVhbSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICB9CgogICAgICAgIC8qIEJhZGdlcyAqLwogICAgICAgIC5iYWRnZXMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuYmFkZ2UgewogICAgICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICB9CgogICAgICAgIC5iYWRnZS16aWxsb3cgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA2QUZGLCAjMDA1MUNDKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgICB9CgogICAgICAgIC5iYWRnZS10b3AxMCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdvbGQtYWNjZW50KSwgI0I4OTIyQSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ibGFjayk7CiAgICAgICAgfQoKICAgICAgICAvKiBUYWdsaW5lIFNlY3Rpb24gKi8KICAgICAgICAudGFnbGluZS1zZWN0aW9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAyNXB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zaWx2ZXIpOwogICAgICAgIH0KCiAgICAgICAgLnRhZ2xpbmUtdGV4dCB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgIH0KCiAgICAgICAgLnRhZ2xpbmUtc2VydmljZXMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQoKICAgICAgICAuc2VydmljZS1pdGVtIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICB9CgogICAgICAgIC5zZXJ2aWNlLWljb24gewogICAgICAgICAgICB3aWR0aDogNDJweDsKICAgICAgICAgICAgaGVpZ2h0OiA0MnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1ibGFjayksIHZhcigtLWNoYXJjb2FsKSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICAgIH0KCiAgICAgICAgLnNlcnZpY2UtZGl2aWRlciB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zaWx2ZXIpOwogICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTsKICAgICAgICB9CgogICAgICAgIC8qIFNlY3Rpb24gU3R5bGluZyAqLwogICAgICAgIC5zZWN0aW9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAyNXB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNpbHZlcik7CiAgICAgICAgICAgIGFuaW1hdGlvbjogc2xpZGVVcCAwLjZzIGVhc2UgZm9yd2FyZHM7CiAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgfQoKICAgICAgICAuc2VjdGlvbjpudGgtY2hpbGQoMSkgeyBhbmltYXRpb24tZGVsYXk6IDAuMXM7IH0KICAgICAgICAuc2VjdGlvbjpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVsYXk6IDAuMnM7IH0KICAgICAgICAuc2VjdGlvbjpudGgtY2hpbGQoMykgeyBhbmltYXRpb24tZGVsYXk6IDAuM3M7IH0KICAgICAgICAuc2VjdGlvbjpudGgtY2hpbGQoNCkgeyBhbmltYXRpb24tZGVsYXk6IDAuNHM7IH0KICAgICAgICAuc2VjdGlvbjpudGgtY2hpbGQoNSkgeyBhbmltYXRpb24tZGVsYXk6IDAuNXM7IH0KCiAgICAgICAgQGtleWZyYW1lcyBzbGlkZVVwIHsKICAgICAgICAgICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfQogICAgICAgICAgICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogICAgICAgIH0KCiAgICAgICAgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4OwogICAgICAgIH0KCiAgICAgICAgLnNlY3Rpb24taGVhZGVyIGgzIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2spOwogICAgICAgIH0KCiAgICAgICAgLnNlY3Rpb24tbGluZSB7CiAgICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICAgIGhlaWdodDogMnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWJ1cmd1bmR5KSwgdHJhbnNwYXJlbnQpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgfQoKICAgICAgICAvKiBWaWRlbyBTZWN0aW9uICovCiAgICAgICAgLnZpZGVvLWNvbnRhaW5lciB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsKICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tc2lsdmVyKSwgdmFyKC0tb2ZmLXdoaXRlKSk7CiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYvOTsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLnZpZGVvLWNvbnRhaW5lcjpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTVweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgICB9CgogICAgICAgIC52aWRlby1wbGFjZWhvbGRlciB7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1ibGFjayksIHZhcigtLWNoYXJjb2FsKSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgICAgfQoKICAgICAgICAucGxheS1idXR0b24gewogICAgICAgICAgICB3aWR0aDogNzVweDsKICAgICAgICAgICAgaGVpZ2h0OiA3NXB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idXJndW5keSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMjVweCByZ2JhKDExNCwgNDcsIDU1LCAwLjUpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLnZpZGVvLWNvbnRhaW5lcjpob3ZlciAucGxheS1idXR0b24gewogICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCA0MHB4IHJnYmEoMTE0LCA0NywgNTUsIDAuNik7CiAgICAgICAgfQoKICAgICAgICAudmlkZW8tdGV4dCB7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgfQoKICAgICAgICAudmlkZW8tc3VidGV4dCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgICAgfQoKICAgICAgICAvKiBDb250YWN0IEl0ZW1zICovCiAgICAgICAgLmNvbnRhY3QtaXRlbSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMThweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tb2ZmLXdoaXRlKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWl0ZW06aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnVyZ3VuZHkpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1pdGVtOmxhc3QtY2hpbGQgewogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtaWNvbiB7CiAgICAgICAgICAgIHdpZHRoOiA1MnB4OwogICAgICAgICAgICBoZWlnaHQ6IDUycHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWJsYWNrKSwgdmFyKC0tY2hhcmNvYWwpKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7CiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtZGV0YWlscyB7CiAgICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1sYWJlbCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lZGl1bS1ncmF5KTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtdmFsdWUgewogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWFycm93IHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWJ1cmd1bmR5KTsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07CiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1pdGVtOmhvdmVyIC5jb250YWN0LWFycm93IHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7CiAgICAgICAgfQoKICAgICAgICAvKiBRdWljayBBY3Rpb25zICovCiAgICAgICAgLnF1aWNrLWFjdGlvbnMgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICAgICAgfQoKICAgICAgICAuYWN0aW9uLWJ0biB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjJweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBmb250LXNpemU6IDEuMDVyZW07CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAuYnRuLXByaW1hcnkgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1idXJndW5keSksIHZhcigtLWJ1cmd1bmR5LWxpZ2h0KSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgxMTQsIDQ3LCA1NSwgMC4zKTsKICAgICAgICB9CgogICAgICAgIC5idG4tcHJpbWFyeTpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDExNCwgNDcsIDU1LCAwLjQpOwogICAgICAgIH0KCiAgICAgICAgLmJ0bi1zZWNvbmRhcnkgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1ibGFjayksIHZhcigtLWNoYXJjb2FsKSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjIpOwogICAgICAgIH0KCiAgICAgICAgLmJ0bi1zZWNvbmRhcnk6aG92ZXIgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgICAgIH0KCiAgICAgICAgLyogU2VydmljZSBBcmVhIFNlY3Rpb24gKi8KICAgICAgICAuc2VydmljZS1hcmVhIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLmFyZWEtYmFkZ2UgewogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vZmYtd2hpdGUpOwogICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDI4cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXNpbHZlcik7CiAgICAgICAgfQoKICAgICAgICAuYXJlYS1pY29uIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07CiAgICAgICAgfQoKICAgICAgICAuYXJlYS10ZXh0IHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgIH0KCiAgICAgICAgLmFyZWEtY2l0aWVzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIH0KCiAgICAgICAgLmNpdHktdGFnIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tb2ZmLXdoaXRlKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lZGl1bS1ncmF5KTsKICAgICAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2lsdmVyKTsKICAgICAgICB9CgogICAgICAgIC8qIFNvY2lhbCBMaW5rcyAqLwogICAgICAgIC5zb2NpYWwtc2VjdGlvbiB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5zb2NpYWwtdGl0bGUgewogICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lZGl1bS1ncmF5KTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgICAgICB9CgogICAgICAgIC5zb2NpYWwtbGlua3MgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgIH0KCiAgICAgICAgLnNvY2lhbC1saW5rIHsKICAgICAgICAgICAgd2lkdGg6IDU1cHg7CiAgICAgICAgICAgIGhlaWdodDogNTVweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tb2ZmLXdoaXRlKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tc2lsdmVyKTsKICAgICAgICB9CgogICAgICAgIC5zb2NpYWwtbGluazpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJsYWNrKTsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjayk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgICAgICAgfQoKICAgICAgICAvKiBDYXJkIEFjdGlvbnMgU2VjdGlvbiAqLwogICAgICAgIC5jYXJkLWFjdGlvbnMgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWFjdGlvbi1idG4gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAyMnB4IDE4cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW9mZi13aGl0ZSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgfQoKICAgICAgICAuY2FyZC1hY3Rpb24tYnRuOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOwogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ1cmd1bmR5KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWFjdGlvbi1pY29uIHsKICAgICAgICAgICAgd2lkdGg6IDU1cHg7CiAgICAgICAgICAgIGhlaWdodDogNTVweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYmxhY2spLCB2YXIoLS1jaGFyY29hbCkpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWFjdGlvbi10ZXh0IHsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgIH0KCiAgICAgICAgLnFyLWxpbmsgewogICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xOwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgICAgICBnYXA6IDE4cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjJweDsKICAgICAgICB9CgogICAgICAgIC5xci1saW5rIC5jYXJkLWFjdGlvbi1pY29uIHsKICAgICAgICAgICAgd2lkdGg6IDUycHg7CiAgICAgICAgICAgIGhlaWdodDogNTJweDsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWJ1cmd1bmR5KSwgdmFyKC0tYnVyZ3VuZHktbGlnaHQpKTsKICAgICAgICB9CgogICAgICAgIC5xci1saW5rLWNvbnRlbnQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIH0KCiAgICAgICAgLnFyLWxpbmstY29udGVudCAuY2FyZC1hY3Rpb24tdGV4dCB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDsKICAgICAgICB9CgogICAgICAgIC5xci1saW5rLWNvbnRlbnQgLmNhcmQtYWN0aW9uLXN1YnRleHQgewogICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lZGl1bS1ncmF5KTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICB9CgogICAgICAgIC8qIEZvb3RlciAqLwogICAgICAgIC5mb290ZXIgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgICB9CgogICAgICAgIC5mb290ZXItYnJva2VyYWdlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLXRlYW0gewogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tZWRpdW0tZ3JheSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICB9CgogICAgICAgIC5mb290ZXItYWRkcmVzcyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lZGl1bS1ncmF5KTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICB9CgogICAgICAgIC5mb290ZXItcG93ZXJlZCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVkaXVtLWdyYXkpOwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1wb3dlcmVkIGEgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tYnVyZ3VuZHkpOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLXBvd2VyZWQgYTpob3ZlciB7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1jb3B5cmlnaHQgewogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ncmF5KTsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgICB9CgogICAgICAgIC8qIFJlc3BvbnNpdmUgKi8KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHsKICAgICAgICAgICAgLm5hbWUgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC50YWdsaW5lLXNlcnZpY2VzIHsKICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5zZXJ2aWNlLWRpdmlkZXIgewogICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLnF1aWNrLWFjdGlvbnMgewogICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5jYXJkLWFjdGlvbnMgewogICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5xci1saW5rIHsKICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICAgIDwhLS0gUGF0dGVybiBCYWNrZ3JvdW5kIC0tPgogICAgPGRpdiBjbGFzcz0icGF0dGVybi1iZyI+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAKICAgICAgICA8IS0tIEhlYWRlciAtLT4KICAgICAgICA8aGVhZGVyIGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9maWxlLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9maWxlLXJpbmciPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1pbWFnZSI+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBIb3VzZSBJY29uIC0tPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDVyZW07Ij7wn4+hPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGgxIGNsYXNzPSJuYW1lIj5BbmR5IFNpdmlsczwvaDE+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0aXRsZSI+UkVBTFRPUsKuPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0iYnJva2VyYWdlIj5CZXJrc2hpcmUgSGF0aGF3YXkgSG9tZVNlcnZpY2VzPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0idGVhbSI+Um95LU1pbGxlciBUZWFtPC9wPgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFkZ2VzIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS16aWxsb3ciPlppbGxvdyBQcmVtaWVyIEFnZW50PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlIGJhZGdlLXRvcDEwIj7wn4+GIFRvcCAxMCBUZWFtIFVTQTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9oZWFkZXI+CgogICAgICAgIDwhLS0gVGFnbGluZSBTZWN0aW9uIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InRhZ2xpbmUtc2VjdGlvbiI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0YWdsaW5lLXRleHQiPiJZb3VyIFRydXN0ZWQgUGFydG5lciBpbiBTb3V0aHdlc3QgTWljaGlnYW4iPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWdsaW5lLXNlcnZpY2VzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlcnZpY2UtaWNvbiI+8J+PoDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5CdXk8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZXJ2aWNlLWRpdmlkZXIiPuKAojwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlcnZpY2UtaWNvbiI+8J+UkTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TZWxsPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VydmljZS1kaXZpZGVyIj7igKI8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZXJ2aWNlLWljb24iPvCfk4g8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+SW52ZXN0PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFZpZGVvIFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iIHN0eWxlPSJhbmltYXRpb24tZGVsYXk6IDAuMXM7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGgzPvCfjqwgTWVldCBBbmR5PC9oMz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGluZSI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0idmlkZW8tY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXBsYWNlaG9sZGVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5LWJ1dHRvbiI+4pa2PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InZpZGVvLXRleHQiPldhdGNoIE15IEludHJvZHVjdGlvbjwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idmlkZW8tc3VidGV4dCI+RGlzY292ZXIgaG93IEkgY2FuIGhlbHAgeW91IGZpbmQgeW91ciBkcmVhbSBob21lPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvYT4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gUXVpY2sgQ29udGFjdCAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgc3R5bGU9ImFuaW1hdGlvbi1kZWxheTogMC4yczsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDM+8J+TsSBDb25uZWN0IFdpdGggTWU8L2gzPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1saW5lIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8YSBocmVmPSJ0ZWw6KzEyNjk1MzUyNjc4IiBjbGFzcz0iY29udGFjdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaWNvbiI+8J+TnjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWxhYmVsIj5DZWxsIFBob25lPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC12YWx1ZSI+KDI2OSkgNTM1LTI2Nzg8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAKICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmFuZHlAcm95bWlsbGVydGVhbS5jb20iIGNsYXNzPSJjb250YWN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7inInvuI88L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1sYWJlbCI+RW1haWw8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LXZhbHVlIj5hbmR5QHJveW1pbGxlcnRlYW0uY29tPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb250YWN0LWFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnJveW1pbGxlcnJlYWx0b3JzLmNvbSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJjb250YWN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7wn4yQPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtbGFiZWwiPldlYnNpdGU8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LXZhbHVlIj5yb3ltaWxsZXJyZWFsdG9ycy5jb208L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAKICAgICAgICAgICAgPGEgaHJlZj0ic21zOisxMjY5NTM1MjY3OCIgY2xhc3M9ImNvbnRhY3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWljb24iPvCfkqw8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1sYWJlbCI+VGV4dCBNZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtdmFsdWUiPlNlbmQgYSBRdWljayBNZXNzYWdlPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb250YWN0LWFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InF1aWNrLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0idGVsOisxMjY5NTM1MjY3OCIgY2xhc3M9ImFjdGlvbi1idG4gYnRuLXByaW1hcnkiPgogICAgICAgICAgICAgICAgICAgIPCfk54gQ2FsbCBOb3cKICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzphbmR5QHJveW1pbGxlcnRlYW0uY29tIiBjbGFzcz0iYWN0aW9uLWJ0biBidG4tc2Vjb25kYXJ5Ij4KICAgICAgICAgICAgICAgICAgICDinInvuI8gRW1haWwKICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIFNlcnZpY2UgQXJlYSAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgc3R5bGU9ImFuaW1hdGlvbi1kZWxheTogMC4zczsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDM+8J+Xuu+4jyBTZXJ2aWNlIEFyZWE8L2gzPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1saW5lIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtYXJlYSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmVhLWJhZGdlIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXJlYS1pY29uIj7wn4yyPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhcmVhLXRleHQiPlNvdXRod2VzdCBNaWNoaWdhbjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXJlYS1jaXRpZXMiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaXR5LXRhZyI+UG9ydGFnZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2l0eS10YWciPkthbGFtYXpvbzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2l0eS10YWciPk1hdHRhd2FuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaXR5LXRhZyI+UmljaGxhbmQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNpdHktdGFnIj5TY2hvb2xjcmFmdDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2l0eS10YWciPiYgU3Vycm91bmRpbmcgQXJlYXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIE9mZmljZSBMb2NhdGlvbiAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgc3R5bGU9ImFuaW1hdGlvbi1kZWxheTogMC40czsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDM+8J+TjSBPZmZpY2U8L2gzPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1saW5lIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL21hcHMuZ29vZ2xlLmNvbS8/cT01ODM5K09ha2xhbmQrRHIrUG9ydGFnZStNSSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJjb250YWN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7wn4+iPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtbGFiZWwiPlJveS1NaWxsZXIgVGVhbTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtdmFsdWUiPjU4MzkgT2FrbGFuZCBEciwgUG9ydGFnZSwgTUk8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgPC9hPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPCEtLSBTb2NpYWwgJiBDb25uZWN0IC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiAwLjVzOyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMz7wn5SXIEZvbGxvdyBNZTwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic29jaWFsLXNlY3Rpb24iPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InNvY2lhbC10aXRsZSI+TGV0J3MgQ29ubmVjdCBPbmxpbmU8L3A+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NpYWwtbGlua3MiPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRpa3Rvay5jb20vQGFuZHlzaXZpbHNyZWFsdG9yIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InNvY2lhbC1saW5rIiB0aXRsZT0iVGlrVG9rIj7wn461PC9hPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnppbGxvdy5jb20vcHJvZmlsZS9Sb3lNaWxsZXJUZWFtIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InNvY2lhbC1saW5rIiB0aXRsZT0iWmlsbG93Ij7wn4+gPC9hPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9yb3ltaWxsZXJ0ZWFtIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InNvY2lhbC1saW5rIiB0aXRsZT0iRmFjZWJvb2siPvCfk5g8L2E+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJzb2NpYWwtbGluayIgdGl0bGU9Ikluc3RhZ3JhbSI+8J+TuDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gTGVhdmUgYSBSZXZpZXcgU2VjdGlvbiAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgc3R5bGU9ImFuaW1hdGlvbi1kZWxheTogMC41NXM7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGgzPuKtkCBMZWF2ZSBhIFJldmlldzwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9icmFuZGhhbmRzaGFrZS5jb20vYW5keS1zaXZpbHMtcmV2aWV3cyIgY2xhc3M9ImNvbnRhY3QtaXRlbSIgc3R5bGU9ImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdvbGQtYWNjZW50KSwgI0I4OTIyQSk7IGJvcmRlcjogbm9uZTsiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIiBzdHlsZT0iYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOyI+4p2k77iPPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtbGFiZWwiIHN0eWxlPSJjb2xvcjogdmFyKC0tYmxhY2spOyI+V2UnZCBMb3ZlIFlvdXIgRmVlZGJhY2s8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LXZhbHVlIiBzdHlsZT0iY29sb3I6IHZhcigtLWJsYWNrKTsiPlNoYXJlIFlvdXIgRXhwZXJpZW5jZTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29udGFjdC1hcnJvdyIgc3R5bGU9ImNvbG9yOiB2YXIoLS1ibGFjayk7Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gQ2FyZCBBY3Rpb25zOiBEb3dubG9hZCwgU2hhcmUsIFFSIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiAwLjZzOyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMz7wn5OyIFNhdmUgJiBTaGFyZTwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1hY3Rpb25zIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJjYXJkLWFjdGlvbi1idG4iIG9uY2xpY2s9ImFsZXJ0KCdEb3dubG9hZCBjb250YWN0IGZlYXR1cmUgY29taW5nIHNvb24hJykiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYWN0aW9uLWljb24iPuKsh++4jzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLWFjdGlvbi10ZXh0Ij5Eb3dubG9hZCBDYXJkPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImNhcmQtYWN0aW9uLWJ0biIgb25jbGljaz0ibmF2aWdhdG9yLnNoYXJlID8gbmF2aWdhdG9yLnNoYXJlKHt0aXRsZTogJ0FuZHkgU2l2aWxzIC0gUkVBTFRPUsKuJywgdGV4dDogJ0Nvbm5lY3Qgd2l0aCBBbmR5IFNpdmlscyBhdCBSb3ktTWlsbGVyIFRlYW0nLCB1cmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmfSkgOiBhbGVydCgnU2hhcmUgdGhpcyBsaW5rOiAnICsgd2luZG93LmxvY2F0aW9uLmhyZWYpIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWFjdGlvbi1pY29uIj7wn5OkPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtYWN0aW9uLXRleHQiPlNoYXJlIENhcmQ8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2FkZHFyY29kZWxpbmsuY29tLyIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJjYXJkLWFjdGlvbi1idG4gcXItbGluayI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1hY3Rpb24taWNvbiI+8J+TsTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InFyLWxpbmstY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLWFjdGlvbi10ZXh0Ij5UYXAgZm9yIFFSIENvZGU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLWFjdGlvbi1zdWJ0ZXh0Ij5TY2FuIHRvIHNhdmUgbXkgY29udGFjdCBpbnN0YW50bHk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPCEtLSBGb290ZXIgLS0+CiAgICAgICAgPGZvb3RlciBjbGFzcz0iZm9vdGVyIj4KICAgICAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci1icm9rZXJhZ2UiPkJlcmtzaGlyZSBIYXRoYXdheSBIb21lU2VydmljZXM8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJmb290ZXItdGVhbSI+Um95LU1pbGxlciBUZWFtPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0iZm9vdGVyLWFkZHJlc3MiPgogICAgICAgICAgICAgICAgNTgzOSBPYWtsYW5kIERyIOKAoiBQb3J0YWdlLCBNSQogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIAogICAgICAgICAgICA8cCBjbGFzcz0iZm9vdGVyLXBvd2VyZWQiPgogICAgICAgICAgICAgICAgUG93ZXJlZCBieSA8YSBocmVmPSJodHRwczovL2JyYW5kaGFuZHNoYWtlLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPkJyYW5kIEhhbmRzaGFrZTwvYT4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0iZm9vdGVyLWNvcHlyaWdodCI+CiAgICAgICAgICAgICAgICDCqSAyMDI2IEFuZHkgU2l2aWxzIHwgUm95LU1pbGxlciBUZWFtCiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L2Zvb3Rlcj4KICAgICAgICAKICAgIDwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4=","embed":""}
🏡
Andy Sivils
REALTOR®
Berkshire Hathaway HomeServices
Roy-Miller Team
Zillow Premier Agent
🏆 Top 10 Team USA
"Your Trusted Partner in Southwest Michigan"
🏠
Buy
•
🔑
Sell
•
📈
Invest
🎬 Meet Andy
▶
Watch My Introduction
Discover how I can help you find your dream home
📱 Connect With Me
📞
Cell Phone
(269) 535-2678
✉️
Email
andy@roymillerteam.com
🌐
Website
roymillerrealtors.com
💬
Text Me
Send a Quick Message
🗺️ Service Area
🌲
Southwest Michigan
Portage
Kalamazoo
Mattawan
Richland
Schoolcraft
& Surrounding Areas
📍 Office
🏢
Roy-Miller Team
5839 Oakland Dr, Portage, MI
🔗 Follow Me
⭐ Leave a Review
❤️
We'd Love Your Feedback
Share Your Experience