PHN0eWxlPgogIC8qIOKUgOKUgCBUb2tlbnMg4pSA4pSAICovCiAgOnJvb3QgewogICAgLS1yZWQ6ICAgICAjRTgyNzJFOwogICAgLS1yZWQtZGs6ICAjQzAxRjI1OwogICAgLS1uYXZ5OiAgICAjMUUzQTVGOwogICAgLS1pbms6ICAgICAjMEQwRDBEOwogICAgLS1zdWI6ICAgICAjNEE1NTY4OwogICAgLS1ib3JkZXI6ICAjRTJFN0VEOwogICAgLS1iZzogICAgICAjRkZGRkZGOwogICAgLS1iZy1hbHQ6ICAjRjZGOEZBOwogICAgLS1iZy1jYXJkOiAjRkZGRkZGOwogICAgLS1ncmVlbjogICAjMTZBMzRBOwogICAgLS1zaGFkb3c6ICAwIDJweCAxMnB4IHJnYmEoMCwwLDAsLjA4KTsKICAgIGNvbG9yLXNjaGVtZTogbGlnaHQ7CiAgfQogIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgIDpyb290Om5vdChbZGF0YS10aGVtZT0ibGlnaHQiXSkgewogICAgICAtLWluazogICAgICNGMEYyRjU7CiAgICAgIC0tc3ViOiAgICAgIzlCQThCQjsKICAgICAgLS1ib3JkZXI6ICAjMkEzNDQ3OwogICAgICAtLWJnOiAgICAgICMwRjE2MjE7CiAgICAgIC0tYmctYWx0OiAgIzE1MUUyQjsKICAgICAgLS1iZy1jYXJkOiAjMUEyNDM2OwogICAgICAtLXNoYWRvdzogIDAgMnB4IDEycHggcmdiYSgwLDAsMCwuMzUpOwogICAgICBjb2xvci1zY2hlbWU6IGRhcms7CiAgICB9CiAgfQogIDpyb290W2RhdGEtdGhlbWU9ImRhcmsiXSB7CiAgICAtLWluazogICAgICNGMEYyRjU7CiAgICAtLXN1YjogICAgICM5QkE4QkI7CiAgICAtLWJvcmRlcjogICMyQTM0NDc7CiAgICAtLWJnOiAgICAgICMwRjE2MjE7CiAgICAtLWJnLWFsdDogICMxNTFFMkI7CiAgICAtLWJnLWNhcmQ6ICMxQTI0MzY7CiAgICAtLXNoYWRvdzogIDAgMnB4IDEycHggcmdiYSgwLDAsMCwuMzUpOwogICAgY29sb3Itc2NoZW1lOiBkYXJrOwogIH0KCiAgLyog4pSA4pSAIFJlc2V0IOKUgOKUgCAqLwogICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9CiAgYm9keSB7CiAgICBtYXJnaW46IDA7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7CiAgICBjb2xvcjogdmFyKC0taW5rKTsKICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgfQoKICAvKiDilIDilIAgTGF5b3V0IOKUgOKUgCAqLwogIC53cmFwIHsKICAgIG1heC13aWR0aDogMTA4MHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBwYWRkaW5nLWlubGluZTogMjRweDsKICB9CgogIC8qIOKUgOKUgCBOYXYg4pSA4pSAICovCiAgbmF2IHsKICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICB0b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpOwogICAgei1pbmRleDogMTAwOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmcpOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7CiAgfQogIC5uYXYtaW5uZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBwYWRkaW5nLWJsb2NrOiAxNHB4OwogIH0KICAubG9nbyB7CiAgICBmb250LWZhbWlseTogJ0xleGVuZCcsIHNhbnMtc2VyaWY7CiAgICBmb250LXdlaWdodDogODAwOwogICAgZm9udC1zaXplOiAxLjM1cmVtOwogICAgY29sb3I6IHZhcigtLXJlZCk7CiAgICBsZXR0ZXItc3BhY2luZzogLS41cHg7CiAgfQogIC5sb2dvIHNwYW4geyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC13ZWlnaHQ6IDYwMDsgfQogIC5uYXYtY3RhIHsKICAgIGJhY2tncm81bmQ6IHZhcigtLXJlZCk7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIHBhZGRpbmc6IDlweCAyMHB4OwogICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgZm9udC1zaXplOiAuODc1cmVtOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTVzOwogIH0KICAubmF2LWN0YTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXJlZC1kayk7IH0KICAubmF2LWN0YTpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXJlZCk7IG91dGxpbmUtb2Zmc2V0OiAycHg7IH0KCiAgLyog4pSA4pSAIEhlcm8g4pSA4pSAICovCiAgLmhlcm8gewogICAgYmFja2dyb3VuZDogdmFyKC0tYmcpOwogICAgcGFkZGluZy1ibG9jazogNzJweCA1NnB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7CiAgfQogIC5oZXJvLWV5ZWJyb3cgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA4cHg7CiAgICBiYWNrZ3JvdW5kOiAjRkVFMkUyOwogICAgY29sb3I6IHZhcigtLXJlZCk7CiAgICBmb250LXNpemU6IC44cmVtOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxldHRlci1zcGFjaW5nOiAuMDZlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBwYWRkaW5nOiA1cHggMTJweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgfQogIDpyb290W2RhdGEtdGhlbWU9ImRhcmsiXSAuaGVyby1leWVicm93LAogIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsgOnJvb3Q6bm90KFtkYXRhLXRoZW1lPSJsaWdodCJdKSAuaGVyby1leWVicm93IHsgYmFja2dyb3VuZDogcmdiYSgyMzIsMzksNDYsLjE4KTsgfSB9CiAgLmhlcm8gaDEgewogICAgZm9udC1mYW1pbHk6ICdMZXhlbmQnLCBzYW5zLXNlcmlmOwogICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgNXZ3LCAzLjI1cmVtKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjFyOwogICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsKICAgIGNvbG9yOiB2YXIoLS1pbmspOwogICAgdGV4dC13cmFwOiBiYWxhbmNlOwogICAgbWFyZ2luOiAwIDAgMjBweDsKICAgIG1heC13aWR0aDogNzgwcHg7CiAgfQogIC5oZXJvIGgxIGVtIHsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGNvbG9yOiB2YXIoLS1yZWQpOwogIH0KICAuaGVyby1zdWIgewogICAgZm9udC1zaXplOiAxLjA3NXJlbTsKICAgIGNvbG9yOiB2YXIoLS1zdWIpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICAgIG1hcmdpbjogMCAwIDM2cHg7CiAgICBsaW5lLWhlaWdodDogMS43OwogIH0KICAuaGVyby1hY3Rpb25zIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDEycHg7CiAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgbWFyZ2luLWJvdHRvbTogNDhweDsKICB9CiAgLmJ0bi1wcmltYXJ5IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXJlZCk7CiAgICBjb2xvcjogI2ZmZjsKICAgIHBhZGRpbmc6IDE0cHggMjhweDsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJvcmRlci1yYWRpdXM6IDdweDsKICAgIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBmb250LXNpemU6IDFyZW07CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xNXMsIHRyYW5zZm9ybSAuMXM7CiAgfQogIC5idG4tcHJpbWFyeTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXJlZC1kayk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfQogIC5idG4tcHJpbWFyeTpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXJlZCk7IG91dGxpbmUtb2Zmc2V0OiAycHg7IH0KICAuYnRuLWdob3N0IHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY29sb3I6IHZhcigtLWluayk7CiAgICBwYWRkaW5nOiAxM3B4IDI0cHg7CiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7CiAgICBib3JkZXItcmFkaXVzOiA3cHg7CiAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LXNpemU6IC45NXJlbTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzOwogIH0KICAuYnRuLWdob3N0OmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zdWIpOyB9CiAgLmJ0bi1naG9zdDpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWluayk7IG91dGxpbmUtb2Zmc2V0OiAycHg7IH0KCiAgLyogSGVybyBzdGF0cyAqLwogIC5oZXJvLXN0YXRzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE2MHB4LCAxZnIpKTsKICAgIGdhcDogMDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7CiAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOwogIH0KICAuc3RhdCB7CiAgICBwYWRkaW5nOiAyMnB4IDI0cHg7CiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOwogIH0KICAuc3RhdDpsYXN0LWNoaWxkIHsgYm9yZGVyLXJpZ2h0OiBub25lOyB9CiAgLnN0YXQtbnVtIHsKICAgIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICBmb250LXNpemU6IDEuODVyZW07CiAgICBjb2xvcjogdmFyKC0tcmVkKTsKICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07CiAgICBmb250LXZhcmlhbnQtbnUtZXJpYzogdGFidWxhci1udW1zOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgfQogIC5zdGF0LWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogLjhyZW07CiAgICBjb2xvcjogdmFyKC0tc3ViKTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgfQoKICAvKiDilIDilIAgUGFpbiBzZWN0aW9uIOKUgOKUgCAqLwogIC5wYWluLXNlY3Rpb24gewogICAgYmFja2dyb3VuZDogdmFyKC0tbmF2eSk7CiAgICBjb2xvcjogI2ZmZjsKICAgIHBhZGRpbmctYmxvY2s6IDU2cHg7CiAgfQogIC5wYWluLXNlY3Rpb24gaDIgewogICAgZm9udC1mYW1pbHk6ICdMZXhlbmQnLCBzYW5zLXNlcmlmOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMS40cmVtLCAzdncsIDJyZW0pOwogICAgdGV4dC13cmFwOiBiYWxhbmNlOwogICAgbWFyZ2luOiAwIDAgMzZweDsKICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07CiAgfQogIC5wYWluLXNlY3Rpb24gaDIgZW0geyBmb250LXN0eWxlOiBub3JtYWw7IGNvbG9yOiAjRkNBNUE1OyB9CiAgLnBhaW4tZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNDBweCwgMWZyKSk7CiAgICBnYXA6IDE2cHg7CiAgfQogIC5wYWluLWNhcmQgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDcpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTIpOwogICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgIHBhZGRpbmc6IDIwcHggMjJweDsKICB9CiAgLnBhaW4taWNvbiB7CiAgICB3aWR0aDogMzZweDsKICAgIGhlaWdodDogMzZweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjMyLDM5LDQ2LC4yNSk7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogIH0KICAucGFpbi1jYXJkIGgzIHsKICAgIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogLjk1cmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIG1hcmdpbjogMCAwIDZweDsKICAgIGNvbG9yOiAjZmZmOwogIH0KICAucGFpbi1jYXJkIHAgewogICAgZm9udC1zaXplOiAuODVyZW07CiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNjUpOwogICAgbWFyZ2luOiAwOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICB9CgogIC8qIOKUgOKUgCBTZXJ2aWNlcyDilIDilIAgKi8KICAuc2VydmljZXMtc2VjdGlvbiB7CiAgICBwYWRkaW5nLWJsb2NrOiA3MnB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYmctYWx0KTsKICB9CiAgLnNlY3Rpb24tbGFiZWwgewogICAgZm9udC1zaXplOiAuNzVyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGUyLXNwYWNpbmc6IC4xMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1yZWQpOwogICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICB9CiAgLnNlY3Rpb24taDIgewogICAgZm9udC1mYW1pbHk6ICdMZXhlbmQnLCBzYW5zLXNlcmlmOwogICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCAzLjV2dywgMi4ycmVtKTsKICAgIGNvbG9yOiB2YXIoLS1pbmspOwogICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsKICAgIHRleHQtd3JhcDogYmFsYW5jZTsKICAgIG1hcmdpbjogMCAwIDEycHg7CiAgfQogIC5zZWN0aW9uLWxlYWQgewogICAgZm9udC1zaXplOiAxcmVtOwogICAgY29sb3I6IHYhcigtLXN1Yik7CiAgICBtYXgtd2lkdGg6IDU0MHB4OwogICAgbWFyZ2luOiAwIDAgNDhweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgfQogIC5zZXJ2aWNlLWNhcmRzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTsKICAgIGdhcDogMjBweDsKICB9CiAgLnNlcnZpY2UtY2FyZCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7CiAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgcGFkZGluZzogMjhweDsKICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7CiAgICBwb3NpdGkvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogIH0KICAuc2VydmljZS1jYXJkOjpiZWZvcmUgewogICAgY29udGVudDogJyc7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgaGVpZ2h0OiAzcHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWQpOwogIH0KICAuc3ZjLXRhZyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBiYWNrZ3JvdW5kOiAjRkVFMkUyOwogICAgY29sb3I6IHZhcigtLXJlZCk7CiAgICBmb250LXNpemU6IC43cmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAuMDhlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBwYWRkaW5nOiAzcHggOHB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgbWFyZ2luLWJvdHRvbTogMTRweDsKICB9CiAgLnNlcnZpY2UtY2FyZCBoMyB7CiAgICBmb250LWZhbWlseTogJ0xleGVuZCcsIHNhbnMtc2VyaWY7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgZm9udC1zaXplOiAxLjFyZW07CiAgICBjb2xvcjogdmFyKC0taW5rKTsKICAgIG1hcmdpbjogMCAwIDEwcHg7CiAgfQogIC5zZXJ2aWNlLWNhcmQgcCB7CiAgICBmb250LXNpemU6IC44OHJlbTsKICAgIGNvbG9yOiB2YXIoLS1zdWIpOwogICAgbWFyZ2luOiAwIDAgMjBweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgfQogIC5zdmMtaXRlbXMgewogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIHBhZGRpbmc6IDA7CiAgICBtYXJnaW46IDAgMCAyMHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDdweDsKICB9CiAgLnN2Yy1pdGVtcyBsaSB7CiAgICBmb250LXNpemU6IC44NXJlbTsKICAgIGNvbG9yOiB2YXIoLS1pbmspOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgZ2FwOiA4cHg7CiAgfQogIC5zdmMtaXRlbXMgbGk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAn4pyTJzsKICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgZmxleC1zaHJpbms6IDA7CiAgICBtYXJnaW4tdG9wOiAxcHg7CiAgfQogIC5wcmljZS1iYWRnZSB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1hbHQpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsKICAgIGJvcmRlci1yYWRpdXM6IDdweDsKICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICBnYXA6IDZweDsKICB9CiAgLnByaWNlLWZyb20geyBmb250LXNpemU6IC43NXJlbTsgY29sb3I6IHZhcigtLXN1Yik7IGZvbnQtd2VpZ2h0OiA1MDA7IH0KICAucHJpY2UtbnVtIHsKICAgIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICBmb250LXNpemU6IDEuM3JlbTsKICAgIGNvbG9yOiB2YXIoLS1yZWQpOwogICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICB9CiAgLnByaWNlLXVuaXQgeyBmb250LXNpemU6IC44cmVtOyBjb2xvcjogdmFyKC0tc3ViKTsgfQoKICAvKiDilIDilIAgQ2FsY3VsYXRvciDilIDilIAgKi8KICAuY2FsYy1zZWN0aW9uIHsKICAgIHBhZGRpbmctYmxvY2s6IDcycHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7CiAgfQogIC5jYWxjLXdyYXBwZXIgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIGdhcDogNDhweDsKICAgIGFsaWduLWl0ZW1zOiBzdGFydDsKICB9CiAgQG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7IC4jYWxjLXdyYXBwZXIgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9CiAgLmNhbGMtaW50cm8gaDIgeyBtYXJnaW46IDAgMCAxMnB4OyB9CiAgLmNhbGMtaW50cm8gcCB7IG1hcmdpbjogMCAwIDI0cHg7IH0KICAuY2FsYy1ib3ggewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOwogICAgYm9yZGVyLXJhZGl1czogMTRweDsKICAgIHBhZGRpbmc6IDI4cHg7CiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOwogIH0KICAuY2FsYy1ib3ggaDMgewogICAgZm9udC1mYW1pbHk6ICdMZXhlbmQnLCBzYW5zLXNlcmlmOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGZvbnQtc2k6ZTogMXJlbTsKICAgIGNvbG9yOiB2YXIoLS1pbmspOwogICAgbWFyZ2luOiAwIDAgMjBweDsKICAgIHBhZGRpbmctYm90dG9tOiAxNHB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7CiAgfQogIC5maWVsZC1ncm91cCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMTZweDsKICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgfQogIC5maWVsZCBsYWJlbCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtc2l6ZTogLjhyZW07CiAgICBmb250LXdlaWdodDogNjAwOwogICAgY29sb3I6IHZhcigtLXN1Yik7CiAgICBsZXR0ZXItc3BhY2luZzogLjA0ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbWFyZ2luLWJvdHRvbTogNnB4OwogIH0KICAuZmllbGQgaW5wdXRbdHlwZT0icmFuZ2UiXSB7CiAgICB3aWR0aDogMTAwJTsKICAgIGFjY2VudC1jb2xvcjogdmFyKC0tcmVkKTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9CiAgLmZpZWxkLXJvdyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogOHB4OwogIH0KICAuZmllbGQtdmFsIHsKICAgIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBmb250LXNpemU6IC45NXJlbTsKICAgIGNvbG8yOiB2YXIoLS1pbmspOwogICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICAgIG1pbi13aWR0aDogODBweDsKICAgIHRleHQtYWxpZ246IHJpZ2h0OwogIH0KICAuY2FsYy1yZXN1bHQgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctYWx0KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7CiAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgcGFkZGluZzogMjBweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAxMnB4OwogIH0KICAucmVzdWx0LXJvdyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgYWwpZ24taXRlbXM6IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogLjg4cmVtOwogIH0KICAucmVzdWx0LXJvdyAubGFiZWwgeyBjb2xvcjogdmFyKC0tc3ViKTsgfQogIC5yZXN1bHQtcm93IC52YWwgewogICAgZm9udC1mYW1pbHk6ICdMZXhlbmQnLCBzYW5zLXNlcmlmOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICBjb2xvcjogdmFyKC0taW5rKTsKICB9CiAgLnJlc3VsdC1kaXZpZGVyIHsgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6IHZhcigtLWJvcmRlcik7IH0KICAucmVzdWx0LXJvdy5oaWdobGlnaHQgLnZhbCB7IGNvbG9yOiB2YXIoLS1yZWQpOyBmb250LXNpemU6IDEuMXJlbTsgfQogIC4yZXN1bHQtcm93LnNhdmluZ3MgLnZhbCB7IGNvbG9yOiB2YXIoLS1ncmVlbik7IGZvbnQtc2l6ZTogMS4xcmVtOyB9CgogIC8qIOKUgOKUgCBQcm9jZXNzIOKUgOKUgCAqLwogIC5wcm9jZXNzLXNlY3Rpb24gewogICAgcGFkZGluZy1ibG9jazogNzJweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWFsdCk7CiAgfQogIC5wcm9jZXNzLXN0ZXBzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgIGdhcDogMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1hcmdpbi10b3A6IDQ4cHg7CiAgfQogIC5wcm9jZXNzLXN0ZXAgewogICAgcGFkZGluZzogMjhweCAyNHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogIH0KICAuc3RlcC1udW0gewogICAgZm9udC1mYW1pbHk6ICdMZXhlbmQnLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAyLjVyZW07CiAgICBmb250LXdlaWdodDogODAwOwogICAgY29sb3I6IHZhcigtLWJvcmRlcik7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIG1hcmdpbi1ib3R0b206IDE0cHg7CiAgICBsZXR0ZXItc3BhY2luZzogLS4wNGVtOwogIH0KICAucHJvY2Vzcy1zdGVwIGgzIHsKICAgIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBmb250LXNpemU6IC45NXJlbTsKICAgIGNvbG9yOiB2YXIoLS1pbmspOwogICAgbWEyZ2luOiAwIDAgOHB4OwogIH0KICAucHJvY2Vzcy1zdGVwIHAgewogICAgZm9udC1zaXplOiAuODRyZW07CiAgICBjb2xvcjogdmFyKC0tc3ViKTsKICAgIG1hcmdpbjogMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjU1OwogIH0KICAuc3RlcC1hcnJvdyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogLTZweDsKICAgIHRvcDogMzZweDsKICAgIGNvbG9yOiB2YXIoLS1ib3JkZXIpOwogICAgZm9udC1zaXplOiAxLjRyZW07CiAgICB6LWluZGV4OiAxOwogIH0KICAucHJvY2Vzcy1zdGVwOmxhc3QtY2hpbGQgLnN0ZXAtYXJyb3cgeyBkaXNwbGF5OiBub25lOyB9CiAgQG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7IC5zdGVwLWFycm93IHsgZGlzcGwheTogbm9uZTsgfSB9CgogIC8qIOKUgOKUgCBNb2RlbHMg4pSA4pSAICovCiAgLm1vZGVscy1zZWN0aW9uIHsKICAgIHBhZGRpbmctYmxvY2s6IDcycHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7CiAgfQogIC5tb2RlbHMtZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNjBweCwgMWZyKSk7CiAgICBnYXA6IDIwcHg7CiAgICBtYXJnaW4tdG9wOiA0OHB4OwogIH0KICAubW9kZWwtY2FyZCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7CiAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgcGFkZGluZzogMjRweDsKICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7CiAgfQogIC5tb2RlbC1jYXJkLmZlYXR1cmVkIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVkKTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CiAgLmZlYXR1cmVkLWJhZGdlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogLTFweDsgcmlnaHQ6IDIwcHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWQpOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IC42OHJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogLjA4ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICBib3JkZXItcmFkaXVzOiAwIDAgNnB4IDZweDsKICB9CiAgLm1vZGVsLWJyYW5kIHsKICAgIGZvbnQtc2l6ZTogLjcycmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAuMWVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1zdWIpOwogICAgbWFyZ2luLWJvdHRvbTogNnB4OwogIH0KICAubW9kZWwtbmFtZSB7CiAgICBmb250LWZhbWlseTogJ0xleGVuZCcsIHNhbnMtc2VyaWY7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgZm9udC1zaXplOiAxLjE1cmVtOwogICAgY29sb3I6IHZhcigtLWluayk7CiAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgfQogIC5tb2RlbC1yYW5nZSB7CiAgICBmb250LXNpemU6IC44MnJlbTsKICAgIGNvbG9yOiB2YXIoLS1zdWIpOwogICAgbWFyZ2luLWJvdHRvbTogMThweDsKICB9CiAgLm1vZGVsLXNwZWNzIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiA4cHg7CiAgICBtYXJnaW4tYm90dG9tOiAxOHB4OwogIH0KICAuc3BlYy1yb3cgewogICAgZGlzcGxheTogZmxleDsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGZvbnQtc2l6ZTogLjgzcmVtOwogICAgcGFkZGluZy1ib3R0b206IDdweDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOwogIH0KICAuc3BlYy1yb3c6bGFzdC1jaGlsZCB7IGIvcmRlci1ib3R0b206IG5vbmU7IHBhZGRpbmctYm90dG9tOiAwOyB9CiAgLnNwZWMta2V5IHsgY29sb3I6IHZhcigtLXN1Yik7IH0KICAuc3BlYy12YWwgeyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0taW5rKTsgfQogIC5tb2RlbC1wcmljZSB7CiAgICBmb250LWZhbWlseTogJ0xleGVuZCcsIHNhbnMtc2VyaWY7CiAgICBmb250LXdlaWdodDogODAwOwogICAgZm9udC1zaXplOiAxLjJyZW07CiAgICBjb2xvcjogdmFyKC0tcmVkKTsKICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgfQogIC5tb2RlbC1wcmljZS1ub3RlIHsgZm9udC1zaXplOiAuNzZyZW07IGNvbG9yOiB2YXIoLS1zdWIpOyBmb250LXdlaWdodDogNDAwOyB9CgogIC8qIOKUgOKUgCBCcmFuZHMg4pSA4pSAICovCiAgLmJyYW5kcy1iYXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctYWx0KTsKICAgIHBhZGRpbmctYmxvY2s6IDMycHg7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOwogIH0KICAuYnJhbmRzLWlubmVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAzNnB4OwogICAgZmxleC13cmFwOiB3cmFwOwogIH0KICAuYnJhbmRzLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogLjc4cmVtOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxldHRlci1zcGFjaW5nOiAuMDZlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tc3ViKTsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgfQogIC5icmFuZC1jaGlwIHsKICAgIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBmb250LXNpemU6IC45NXJlbTsKICAgIGNvbG9yOiB2YXIoLS1zdWIpOwogICAgcGFkZGluZzogNnB4IDE0cHg7CiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOwogIH0KCiAgLyog4pSA4pSAIENvbnRhY3QgZm9ybSDilIDilIAgKi8KICAuY28udGFjdC1zZWN0aW9uIHsKICAgIHBhZGRpbmctYmxvY2s6IDgwcHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1hbHQpOwogIH0KICAuY29udGFjdC1ncmlkIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxLjJmcjsKICAgIGdhcDogNTZweDsKICAgIGFsaWduLWl0ZW1zOiBzdGFydDsKICB9CiAgQG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7IC5jb250YWN0LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9CiAgLmNvbnRhY3QtaW5mbyBoMiB7IG1hcmdpbjogMCAwIDEycHg7IH0KICAuY29udGFjdC1pbmZvIHAgeyBtYXJnaW46IDAgMCAzMnB4OyB9CiAgLmNvbnRhY3QtYmFkZ2UgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDE2cHg7CiAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogIH0KICAuY2JhZGdlIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxNHB4OwogIH0KICAuY2JhZGdlLWljb24gewogICAgd2lkdGg6IDQycHg7CiAgICBoZWlnaHQ6IDQycHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWQpOwogICAgYm9yZGVyLXJhZGl1czogOXB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxLjFyZW07CiAgICBmbGV4LXNocmluazogMDsKICB9CiAgLmNiYWRnZS10ZXh0IHN0cm9uZyB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBmb250LXNpemU6IC45cmVtOwogICAgY29sb3I6IHZhcigtLWluayk7CiAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgfQogIC5jYmFkZ2UtdGV4dCBzcGFuIHsKICAgIGZvbnQtc2l6ZTogLjgycmVtOwogICAgY29sb3I6IHZhcigtLXN1Yik7CiAgfQogIC5jb250YWN0LWZvcm0gewogICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOwogICAgYm9yZGVyLXJhZGl1czogMTRweDsKICAgIHBhZGRpbmc6IDMycHg7CiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOwogIH0KICAuY29udGFjdC1mb3JtIGgzIHsKICAgIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBmb250LXNpemU6IDEuMXJlbTsKICAgIGNvbG9yOiB2YXIoLS1pbmspOwogICAgbWFyZ2luOiAwIDAgMjRweDsKICB9CiAgLmZvcm0tZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgZ2FwOiAxNHB4OwogIH0KICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHsgLmZvcm0tZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH0KICAuZm9ybS1maWVsZCB7CiAgICBkaXNwbGE5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogNXB4OwogIH0KICAuZm9ybS1maWVsZC5mdWxsIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfQogIC5mb3JtLWZpZWxkIGxhYmVsIHsKICAgIGZvbnQtc2l6ZTogLjc4cmVtOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiB2YXIoLS1zdWIpOwogICAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICB9CiAgLmZvcm0tZmllbGQgaW5wdXQsCiAgLmZvcm0tZmllbGQgc2VsZWN0LAogIC5mb3JtLWZpZWxkIHRleHRhcmVhIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWFsdCk7CiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHYhcigtLWJvcmRlcik7CiAgICBib3JkZXItcmFkaXVzOiA3cHg7CiAgICBwYWRkaW5nOiAxMHB4IDE0cHg7CiAgICBmb250LWZhbWlseTogJ0ludGVyJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogLjlyZW07CiAgICBjb2xvcjogdmFyKC0taW5rKTsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC5mb3JtLWZpZWxkIGlucHV0OmZvY3VzLAogIC5mb3JtLWZpZWxkIHNlbGVjdDpmb2N1cywKICAuZm9ybS1maWVsZCB0ZXh0YXJlYTpmb2N1cyB7CiAgICBvdXRsaW5lOiBub25lOwogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQpOwogIH0KICAuZm9ybS1maWVsZCB0ZXh0YXJlYSB7IHJlc2l6ZTogdmUydGljYWw7IG1pbi1oZWlnaHQ6IDkwcHg7IH0KICAuZm9ybS1zdWJtaXQgewogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAxOHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tcmVkKTsKICAgIGNvbG9yOiAjZmZmOwogICAgYm9yZGVyOiBub25lOwogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgcGFkZGluZzogMTVweDsKICAgIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBmb250LXNpemU6IDFyZW07CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xNXMsIHRyYW5zZm9ybSAuMXM7CiAgfQogIC5mb3JtLXN1Ym1pdDpob3ZlciB7IGJhY2tncm81bmQ6IHZhcigtLXJlZC1kayk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfQogIC5mb3JtLXN1Ym1pdDpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXJlZCk7IG91dGxpbmUtb2Zmc2V0OiAycHg7IH0KICAuZm9ybS1ub3RlIHsKICAgIGZvbnQtc2l6ZTogLjc1cmVtOwogICAgY29sb3I6IHZhcigtLXN1Yik7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBtYXJnaW4tdG9wOiAxMHB4OwogIH0KICAuZm9ybS1zdWNjZXNzIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAzMnB4IDIwcHg7CiAgfQogIC5mb3JtLXN1Y2Nlc3MgaDMgewogICAgY29sb3I6IHZhcigtLWcyZWVuKTsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKICB9CiAgLmZvcm0tc3VjY2VzcyBwIHsgY29sb3I6IHZhcigtLXN1Yik7IG1hcmdpbjogMDsgZm9udC1zaXplOiAuOXJlbTsgfQoKICAvKiDilIDilIAgRm9vdGVyIOKUgOKUgCAqLwogIGZvb3RlciB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOwogICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpOwogICAgcGFkZGluZy1ibG9jazogMzJweDsKICAgIGZvbnQtc2l6ZTogLjgycmVtOwogIH0KICAuZm9vdGVyLWlubmVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZmxleC13cmFwOiB3cmEwOwogICAgZ2FwOiAxMnB4OwogIH0KICAuZm9vdGVyLWxvZ28gewogICAgZm9udC1mYW1pbHk6ICdMZXhlbmQnLCBzYW5zLXNlcmlmOwogICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgY29sb3I6ICNmZmY7CiAgICBsZXR0ZXItc3BhY2luZzogLS41cHg7CiAgfQogIC5mb290ZXItbG9nbyBzcGFuIHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpOyBmb250LXdlaWdodDogNTAwOyB9CgogIC8qIOKUgOKUgCBSZXNwb25zaXZlIHR3ZWFrcyDilIDilIAgKi8KICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAgIC5oZXJvIHsgcGFkZGluZy1ibG9jazogNDhweCA0MHB4OyB9CiAgICAucGFpbi1zZWN0aW9uLCAuc2UydmljZXMtc2VjdGlvbiwgLmNhbGMtc2VjdGlvbiwKICAgIC5wcm9jZXNzLXNlY3Rpb24sIC5tb2RlbHMtc2VjdGlvbiwgLmNvbnRhY3Qtc2VjdGlvbiB7IHBhZGRpbmctYmxvY2s6IDQ4cHg7IH0KICAgIC5zdGF0IHsgYm9yZGVyLXJpZ2h0OiBub25lOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgfQogICAgLnN0YXQ6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH0KICAgIC5oZXJvLXN0YXRzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9CiAgfQoKICAvKiDilIDilIAgVXRpbGl0aWVzIOKUgOKUgCAqLwogIC50ZXh0LXJlZCB7IGNvbG9yOiB2YXIoLS1yZWQpOyB9CiAgLm10LTAgeyBtYXJnaW4tdG8wOiAwOyB9Cjwvc3R5bGU+CjwhLS0gTkFWIC0tPgo8bmF2PgogIDxkaXYgY2xhc3M9IndyYXAgbmF2LWlubmVyIj4KICAgIDxkaXYgY2xhc3M9ImxvZ28iPkJNPHNwYW4+UHJvPC9zcGFuPjwvZGl2PgogICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWN0YSIgb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhY3QnKS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCd9KSI+VMawIHbhuqVuIG1p4buFbiBwaMOtPC9idXR0b24+CiAgPC9kaXY+CjwvbmF2PgoKPCEtLSBIRVJPIC0tPgo8c2VjdGlvbiBjbGFzcz0iaGVybyI+CiAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJoZXJvLWV5ZWJyb3ciPgogICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDEyIDEyIiBmaWxsPSJub25lIj48Y2lyY2xlIGN4PSI2IiBjeT0iNiIgcj0iNSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ii8+PHBhdGggZD0iTTQgNmwxLjUgMS41TDggNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4KICAgICAgROG7i2NoIHbhu6UgTkFTICYgU2VydmVyIGNobyBEb2FuaCBuZ2hp4buHcAogICAgPC9kaXY+CiAgICA8aDE+TMawdSB0cuG7ryBk4buvIGxp4buHdSA8ZW0+YW4gdG/DoG48L2VtPiw8YnI+Y2hpYSBz4bq7IGZpbGUgPGVtPnThu6ljIHRow6w8L2VtPiw8YnI+a2jDtG5nIHBo4bulIHRodeG7mWMgQ2xvdWQ8L2gxPgogICAgPHAgY2xhc3M9Imhlcm8tc3ViIj5CTVBybyB0xrAgduG6pW4sIGPDoGkgxJHhurd0IHbDoCB24bqtbiBow6BuaCBo4buHIHRo4buRbmcgTkFTL1NlcnZlciBjaG8gU01FIFRQLkhDTS4gVGnhur90IGtp4buHbSDEkeG6v24gNzAlIGNoaSBwaMOtIGzGsHUgdHLhu68gc28gduG7m2kgR29vZ2xlIERyaXZlIGhheSBEcm9wYm94IEJ1c2luZXNzLjwvcD4KICAgIDxkaXYgY2xhc3M9Imhlcm8tYWN0aW9ucyI+CiAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1wcmltYXJ5IiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFjdCcpLnNjcm9sbEludG8gMyB0cmnhu4d1IG3hu5dpIHRow6FuZyDigJQgbcOjaSBtw6NpLjwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhaW4tY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0icGFpbi1pY29uIj7wn5CiPC9kaXY+CiAgICAgICAgPGgzPkNoaWEgc+G6uyBmaWxlIGzhu5tuIGNo4bqtbTwvaDM+CiAgICAgICAgPHA+RmlsZSB0aGnhur90IGvhur8gMkdCLCB2aWRlbyByZW5kZXIg4oCUIHVwbG9hZCBsw6puIENsb3VkIG3huqV0IGPhuqMgYnXhu5VpLiBMw6BtIHRlYW0gxJHDrG5oIHRy4buHLjwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InBhaW4tY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0icGFpbi1pY29uIj7wn5SSPC9kaXY+CiAgICAgICAgPGgzPkThu68gbGnhu4d1IHF1YW4gdHLhu41uZyBraMO0bmcgxJHGsOG7o2MgYuG6o28gbcG6rXQgxJHDum5nIGPDoWNoPC9oMz4KICAgICAgICA8cD5GaWxlIGjhu6NwIMSR4buTbmcsIGvhur8gdG/DoG4sIGThu68gbGnhu4d1IGtow6FjaCBow6BuZyBu4bqxbSB0csOqbiBDbG91ZCBj4bunYSBiw6puIHRo4bupIGJhLjwvcD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSBTRVJWSUNFUyAtLT4KPHNlY3Rpb24gY2xhc3M9InNlcnZpY2VzLXNlY3Rpb24iPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+ROG7i2NoIHbhu6U8L2Rpdj4KICAgIDxoMiBjbGFzcz0ic2VjdGlvbi1oMiI+VHLhu41uIGfDs2kgdOG7qyB0xrAgduG6pW4gxJHhur9uIHbhuq1uIGjDoG5oPC9oMj4KICAgIDxwIGNsYXNzPSJzZWN0aW9uLWxlYWQiPkJNUHJvIGtow7RuZyBjaOG7iSBiw6FuIHRoaeG6v3QgYuG7iyDigJQgY2jDum5nIHTDtGkgdGhp4bq/dCBr4bq/IGdp4bqjaSBwaMOhcCBwaMO5IGjhu6NwIHF1eSBtw7QgdsOgIG5nw6JuIHPDoWNoIGPhu6dhIGLhuqFuLCBjw6BpIMSR4bq3dCwgdHJhaW5pbmcgdsOgIGjhu5cgdHLhu6Mgc2F1IHRyaeG7g24ga2hhaS48L3A+CiAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWNhcmRzIj4KICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1jYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdmMtdGFnIj5OQVMgTMawdSB0cuG7rzwvZGl2PgogICAgICAgIDxoMz5I4buHIHRo4buRbmcgTkFTIGNobyBUZWFtPC9oMz4KICAgICAgICA8cD5HaeG6o2kgcGjDoXAgbMawdSB0cuG7ryBu4buZaSBi4buZIGTDuW5nIGNodW5nIGNobyB0ZWFtIDXigJM1MCBuZ8aw4budaS4gVOG7kWMgxJHhu5kgTEFOIDFHYnBzLCB0cnV5IGPhuq1wIG5nb8OgaSBxdWEgVlBOLjwvcD4KICAgICAgICA8dWwgY2xhc3M9InN2Yy1pdGVtcyI+CiAgICAgICAgICA8bGk+S2jhuqNvIHPDoXQgbmh1IGPhuqd1ICYgdMawIHbhuqVuIGPhuqV1IGjDrG5oIHBow7kgaOG7o3A8L2xpPgogICAgICAgICAgPGxpPkPDoGkgxJHhurd0IFJBSUQsIHBow6JuIHF1eeG7gW4gdHJ1eSBj4bqtcCB0aGVvIHBow7JuZyBiYW48L2xpPgogICAgICAgICAgPGxpPlNldHVwIFZQTiB0cnV5IGPhuq1wIHThu6sgeGEgYuG6o28gbcG6rXQ8L2xpPgogICAgICAgICAgPGxpPkPhuqV1IGjDrG5oIGJhY2t1cCB04buxIMSR4buZbmcgKDMtMi0xKTwvbGk+CiAgICAgICAgICA8bGk+VHJhaW5pbmcgdGVhbSBz4butIGThu6VuZyAoMiBnaeG7nSk8L2xpPgogICAgICAgICAgPGxpPkjhu5cgdHLhu6Mga+G7uSB0aHXhuq10IDEyIHRow6FuZzwvbGk+CiAgICAgICAgPC91bD4KICAgICAgICA8ZGl2IGNsYXNzPSJwcmljZS1iYWRnZSI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtZnJvbSI+VOG7qzwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1udW0iPjguNTAwLjAwMMSRPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLXVuaXQiPi8gdHLhu41uIGfDs2k8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9InN2Yy10YWciPlNlcnZlciBWxINuIFBow7JuZzwvZGl2PgogICAgICAgIDxoMz5GaWxlIFNlcnZlciAmIERvbWFpbiBDb250cm9sbGVyPC9oMz4KICAgICAgICA8cD5I4buHIHRo4buRbmcgc2VydmVyIHRydW5nIHTDom0gY2hvIHbEg24gcGjDsm5nIDIw4oCTMTAwIG5ow6JuIHPhu7EuIFF14bqjbiBsw70gdMOgaSBraG/huqNuLCBjaMOtbmggc8OhY2ggYuG6o28gbWG6rXQgdOG6rXAgdHJ1bmcuPC9wPgogICAgICAgIDx1bCBjbGFzcz0ic3ZjLWl0ZW1zIj4KICAgICAgICAgIDxsaT5UxrAgduG6pW4gcGjhuqduIGPhu6luZyBTZXJ2ZXIgcGjDuSBo4bujcCB3b3JrbG9hZDwvbGk+CiAgICAgICAgICA8bGk+Q8OgaSDEkeG6t3QgV2luZG93cyBTZXJ2ZXIgLyBBY3RpdmUgRGlyZWN0b3J5PC9saT4KICAgICAgICAgIDxsaT5D4bqldSBow6xuaCBGaWxlIFNlcnZlciwgR3JvdXAgUG9saWN5PC9saT4KICAgICAgICAgIDxsaT5Uw61jaCBo4bujcCB24bubaSBwaOG6p24gbcG6bSBr4bq/IHRvw6FuLCBFUlA8L2xpPgogICAgICAgICAgPGxpPkRpc2FzdGVyIFJlY292ZXJ5IFBsYW4gdsBhIEJhY2t1cDwvbGk+CiAgICAgICAgICA8bGk+QuG6o28gdHLDrCDEkeG7i25oIGIr4buzIGjDoG5nIHF1w708L2xpPgogICAgICAgIDwvdWw+CiAgICAgICAgPGRpdiBjbGFzcz0icHJpY2UtYmFkZ2UiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWZyb20iPlThu6s8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtbnVtIj4yNS4wMDAuMDAwxJE8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtdW5pdCI+LyB0cuG7jW4gZ8OzaTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3ZjLXRhZyI+VMawIFbhuqVuICYgTsOibmcgQ+G6pXA8L2Rpdj4KICAgICAgICA8aDM+S2nhu4NtIHRyYSAmIE7Dom5nIGPhuqVwIGjhu4cgdGjhu5FuZyBoaeG7h24gY8OzPC9oMz4KICAgICAgICA8cD7EkMOhbmggZ2nDoSBoZiB0aOG7kW5nIMSRYW5nIGTDuW5nLCB4w6FjIMSR4buLbmggxJFp4buNbSB54bq1LCDEkeG7gSB4deG6pXQgZ2nhuqNpIHBow6FwIGPhuqNpIHRoaeG7h24gbcOgIGtow7RuZyBj4bqnbiB0aGF5IG3hu5tpIGhvw6BuIHRvw6BuLjwvcD4KICAgICAgICA8dWwgY2xhc3M9InN2Yy1pdGVtcyI+CiAgICAgICAgICA8bGk+QXVkaXQgdG/DoG4gYuG7mSBoaeG6oSB04bqnbmcgbMawdSB0cuG7ryAobWnhu4VuIHBow60pPC9saT4KICAgICAgICAgIDxsaT5CzWBvIGPDoW8gaGnhu4d1IHRy4bqhbmcgdsOgIGtodXnhur9uIG5naMO8PC9saT4KICAgICAgICAgIDxsaT5NaWdyYXRpb24gZOG7ryBsaeG7h3UgYW4gdG/DoG4ga2jDtG5nIG3huqV0IGThu68gbGnhu4d1PC9saT4KICAgICAgICAgIDxsaT5Ow6JuZyBj4bqlcCDhu5UgY+G7qW5nLCBSQU0sIG5ldHdvcms8L2xpPgogICAgICAgICAgPGxpPlThu5FpIMawdSBoaeG7h3Ugc3XhuqV0IGjhu4cgdGjhu5FuZyBjxak8L2xpPgogICAgICAgIDwvdWw+CiAgICAgICAgPGRpdiBjbGFzcz0icHJpY2UtYmFkZ2UiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWZyb20iPkF1ZGl0PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLW51bSI+TWnhu4VuIHBow608L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2UtdW5pdCI+wrcgTsOibmcgY+G6pXAgdGhlbyBiw6FvIGdpw6E8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gQlJBTkRTIC0tPgo8ZGl2IGNsYXNzPSJicmFuZHMtYmFyIj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9ImJyYW5kcy1pbm5lciI+CiAgICAgIDxzcGFuIGNsYXNzPSJicmFuZHMtbGFiZWwiPlRoxrDGoW5nIGhp4buHdSBCTVBybyB0cmnhu4NuIGtoYWk8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJicmFuZC1jaGlwIj5TeW5vbG9neTwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9ImJyYW5kLWNoaXAiPlFOQVA8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJicmFuZC1jaGlwIj5XZXN0ZXJuIERpZ2l0YWw8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJicmFuZC1jaGlwIj5TZWFnYXRlIElyb25Xb2xmPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0iYnJhbmQtY2hpcCI+RGVsbCBFTUM8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJicmFuZC1jaGlwIj5IUCBQcm9MaWFudDwvc3Bhbj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjwhLS0gQ0FMQ1VMQVRPUiAtLT4KPHNlY3Rpb24gY2xhc3M9ImNhbGMtc2VjdGlvbiIgaWQ9ImNhbGMiPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGRpdiBjbGFzcz0iY2FsYy13cmFwcGVyIj4KICAgICAgPGRpdiBjbGFzcz0iY2FsYy1pbnRybyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+Q8O0bmcgY+G7pSB0w61uaCBjaGkgcGjDrTwvZGl2PgogICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi1oMiI+TkFTIHRp4bq/dCBraeG7h20gxJHGsOG7o2MgYmFvIG5oacOqdSBzbyB24bubaSBDbG91ZD88L2gyPgogICAgICAgIDxwIGNsYXNzPSJzZWN0aW9uLWxlYWQiPk5o4bqtcCBz4buRIG5nxrDhu51pIGTDuW5nIHbDoCBkdW5nIGzGsOG7o25nIGPhuqduIHRoaeG6v3Qg4oCUIGPDtG5nIGPhu6UgdMOtbmggdOG7sSDEkeG7mW5nIGNoaSBwaMOtIDUgbsSDbSBj4bunYSBoYWkgcGjGsMahbmcgw6FuLjwvcD4KICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1sZWFkIj5I4bqndSBo4bq/dCBjw6FjIGRvYW5oIG5naGnhu4dwIGhvw6BuIHbhu5FuIMSR4bqndCB0xrAgTkFTIHRyb25nIDxzdHJvbmc+MTLigJMxOCB0aMOhbmc8L3N0cm9uZz4gdsOgIHRp4bq/dCBraeG7h20gxJHDoW5nIGvhu4MgdOG7qyBuxINtIHRo4bupIDIgdHLhu58gxJFpLjwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNhbGMtYm94Ij4KICAgICAgICA8aDM+Tmjhuq1wIHRow7RuZyBz4buRIGPhu6dhIGLhuqFuPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1ncm91cCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgPGxhYmVsIGZvcj0idXNlcnMiPlPhu5EgbmfGsOG7nWkgZMO5bmc8L2xhYmVsPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWwiIGlkPSJ1c2Vyc1ZhbCI+MTUgbmfGsOG7nWk8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFuZ2UiIGlkPSJ1c2VycyIgbWluPSI1IiBtYXg9IjEwMCIgdmFsdWU9IjE1IiBzdGVwPSI1IgogICAgICAgICAgICAgICAgICAgb25pbnB1dD0idXBkYXRlQ2FsYygpIj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgIDxsYWJlbCBmb3I9InN0b3JhZ2UiPkR1bmcgbMaw4bujbmcgY+G6p24gKFRCKTwvbGFiZWw+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbCIgaWQ9InN0b3JhZ2VWYWwiPjEwIFRCPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhbmdlIiBpZD0ic3RvcmFnZSIgbWluPSIyIiBtYXg9IjgwIiB2YWx1ZT0iMTAiIHN0ZXA9IjIiCiAgICAgICAgICAgICAgICAgICBvbmlucHV0PSJ1cGRhdGVDYWxjKCkiPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FsYy1yZXN1bHQiPgogICAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LXJvdyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCI+R29vZ2xlIERyaXZlIEJ1c2luZXNzICg1IG7Eg20pPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsIHRleHQtcmVkIiBpZD0iY2xvdWRDb3N0Ij7igJQ8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJlc3VsdC1kaXZpZGVyIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJlc3VsdC1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwiPk5BUyBTeW5vbG9neSAocGjhuqduIGPhu6luZyk8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ2YWwiIGlkPSJuYXNIVyI+4oCUPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtcm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIj5Dw6BpIMSR4bq3dCAmIHbhuq0uIGjDoG5oIDUgbsSDbTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InZhbCIgaWQ9Im5hc09wcyI+4oCUPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtcm93IGhpZ2hsaWdodCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCI+PHN0cm9uZz5U4buVbmcgY2hpIHBow60gTkFTICg1IG7Eg20pPC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsIiBpZD0ibmFzVG90YWwiPuKAlDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LWRpdmlkZXIiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LXJvdyBzYXYpbmdzIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIj48c3Ryb25nPvCfjokgQuG6oW4gdGnhur90IGtp4buHbSDEkcaw4bujYzwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InZhbCIgaWQ9InNhdmluZ3MiPuKAlDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImZvcm0tc3VibWl0IiBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4IiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFjdCcpLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjonc21vb3RoJ30pIj5OaOG6rW4gYsOhbyBnacOhIGNow61uaCB4w6FjIOKGkjwvYnV0dG9uPgogICAgICA8L2Qpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIFBST0NFU1MgLS0+CjxzZWN0aW9uIGNsYXNzPSJwcm9jZXNzLXNlY3Rpb24iPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+UXV5IHRyw6xuaDwvZGl2PgogICAgPGgyIGNsYXNzPSJzZWN0aW9uLWgyIj5U4burIHTGsCB24bqlbiDEkeG6v24gYsOgbiBnaWFvIHRyb25nIDUgYsaw4bubYzwvaDI+CiAgICA8ZGl2IGNsYXNzPSJwcm9jZXNzLXN0ZXBzIj4KICAgICAgPGRpdiBjbGFzcz0icHJvY2Vzcy1zdGVwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLW51bSI+MDE8L2Rpdj4KICAgICAgICA8aDM+S2jhuqNvIHPDoXQgJiBUxrAgduG6pW48L2gzPgogICAgICAgIDxwPkfhurdwIG3hurd0IGhv4bq3YyBjYWxsIDMwIHBow7p0LiBCTVBybyBoaeG7g3Ugbmh1IGPhuqd1LCBz4buRIG5nxrDhu51pIGTDuW5nLCBsb+G6oWkgZOG7ryBsaeG7h3UgdsOgIG5nw6JuIHPDoWNoLjwvcD4KICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcC1hcnJvdyI+4oC6PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icHJvY2Vzcy1zdGVwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLW51bSI+MDI8L2Rpdj4KICAgICAgICA8aDM+VGhp4bq/dCBr4bq/IGdp4bqjaSBwaMOhcDwvaDM+CiAgICAgICAgPHA+xJDhu4EgeHXhuqV0IGPhuqV1IGjDrG5oIHBo4bqnbiBj4bupbmcgY+G7pSB0aOG7gywgc8ahIMSR4buTIGjhu4cgdGjhu5FuZywgYsOhbyBnacOhIGNoaSB0aeG6v3QgdHJvbmcgMiBnaeG7nS48L3A+CiAgICAgICAgPHNwYW4gY2xhc3M9InN0ZXAtYXJyb3ciPuKAujwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InByb2Nlc3Mtc3RlcCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC1udW0iPjAzPC9kaXY+CiAgICAgICAgPGgzPkPDoGkgxJHhurd0ICYgQ+G6pXUgaMOsbmg8L2gzPgogICAgICAgIDxwPkv4bu8gdGh14bqtdCB2acOqbiDEkeG6v24gdOG6rW4gbmahaSBs4bqvcCDEkeG6t3QsIGPDoGkgxJHhurd0IFJBSUQsIHBow6JuIHF1eeG7gW4gdsBhIGPhuqV1IGjDrG5oIGJhY2t1cCB04buxIMSR4buZbmcuPC9wPgogICAgICAgIDxzcGFuIGNsYXNzPSJzdGVwLWFycm93Ij7igLo8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwcm9jZXNzLXN0ZXAiPgogICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtbnVtIj4wNDwvZGl2PgogICAgICAgIDxoMz5NaWdyYXRpb24gZOG7ryBsaeG7h3U8L2gzPgogICAgICAgIDxwPkNodXnhu4NuIHRvw6BuIGLhu5kgZOG7ryBsaeG7h3UgdOG7qyBoZiB0aOG7kW5nIGPFqSAoVVNCLCBDbG91ZCwgbcOheSBjxakgbmjDom4pIHNhbmcgTkFTL1NlcnZlciBt4bujaSBt4bubaTwvcD4KICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcC1hcnJvdyI+4oC6PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icHJvY2Vzcy1zdGVwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLW51bSI+MDU8L2Rpdj4KICAgICAgICA8aDM+VHJhaW5pbmcgJiBCw6BuIGdpYW88L2gzPgogICAgICAgIDxwPkjGsOG7m25nIGThuqtuIHRlYW0gc+G7rSBk4bulbmcgMiBnaeG7nSwgYsOgbiBnaWFvIHTDoGkgbGnhu4d1IHbDoCBi4bqvdCDEkeG6p3UgMTIgdGjDoW5nIGjhu5cgdHLhu6Mga+G7uSB0aHXhuq10LjwvcD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSBNT0RFTFMgLS0+CjxzZWN0aW9uIGNsYXNzPSJtb2RlbHMtc2VjdGlvbiI+CiAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5UaGnhur90IGLhu4cgZ+G7o2kgw608L2Rpdj4KICAgIDxoMiBjbGFzcz0ic2VjdGlvbi1oMiI+Q+G6pXUgaMOsbmggcGjhu5UgYmnhur9uIHRoZW8gcXV5IG3DtDwvaDI+CiAgICA8ZGl2IGNsYXNzPSJtb2RlbHMtZ3JpZCI+CiAgICAgIDxkaXYgY2xhc3M9Im1vZGVsLWNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGVsLWJyYW5kIj5TeW5vbG9neTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGVsLW5hbWUiPkRTOTIzKzwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGVsLXJhbmdlIj5QaMO5IGjhu6NwOiA14oCTMTUgbmfGsOG7nWk8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RlbC1zcGVjcyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXJvdyI+PHNwYW4gY2xhc3M9InNwZWMta2V5Ij5CYXkg4buVIGPhu6luZzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlYy12YWwiPjQgYmF5PC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJzcGVjLWtleSI+RHVuZyBsxrDhu6NuZyB04buRaSDEkWE8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWMtdmFsIj43MiBUQjwvc3Bhbj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNwZWMtcm93Ij48c3BhbiBjbGFzcz0ic3BlYy1rZXkiPlJBTTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlYy12YWwiPjQgR0IgKHVwIHRvIDMyIEdCKTwvc3Bhbj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNwZWMtcm93Ij48c3BhbiBjbGFzcz0ic3BlYy1rZXkiPkvhur90IG7hu5FpPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjLXZhbCI+MsOXIDFHYkUgKyBOVk1lIGNhY2hlPC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJzcGVjLWtleSI+UkFJRCBzdXBwb3J0PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjLXZhbCI+UkFJRCAwLzEvNS82LzEwPC9zcGFuPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGVsLXByaWNlIj5U4burIDEyLjUwMC4wMDDEkSA8c3BhbiBjbGFzcz0ibW9kZWwtcHJpY2Utbm90ZSI+KGPGsGEg4buVIGPhu6luZyk8L3NwYW4+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJtb2RlbC1jYXJkIGZlYXR1cnUlZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZWQtYmFkZ2UiPlBo4buVIGJp4bq/biBuaOG6pXQ8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RlbC1icmFuZCI+U3lub2xvZ3k8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RlbC1uYW1lIj5EUzE1MjIrPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kZWwtcmFuZ2UiPlBow7kgaOG7o3A6IDE14oCTNDAgbmfGsOG7nWk8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RlbC1zcGVjcyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXJvdyI+PHNwYW4gY2xhc3M9InNwZWMta2V5Ij5CYXkg4buVIGPhu6luZzwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlYy12YWwiPjUgYmF5PC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJzcGVjLWtleSI+RHVuZyBsxrDhu6NuZyB04buRaSDEkWE8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWMtdmFsIj45MCBUQiAoKzIgZVNBVEEpPC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJzcGVjLWtleSI+UkFNPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjLXZhbCI+OCBHQiAodXAgdG8gMzIgR0IpPC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYy1yb3ciPjxzcGFuIGNsYXNzPSJzcGVjLWtleSI+S+G6v3QgbuG7kWk8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWMtdmFsIj40w5cgMUdiRSArIE5WTWUgY2FjaGU8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXJvdyI+PHNwYW4gY2xhc3M9InNwZWMta2V5Ij5SQUlEIHN1cHBvcnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWMtdmFsIj5SQUlEIDAvMS81LzYvMTAvRjE8L3NwYW4+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kZWwtcHJpY2UiPlThu6sgMjIuMDAwLjAwMMSRIDxzcGFuIGNsYXNzPSJtb2RlbC1wcmljZS1ub3RlIj4oY2jGsGEg4buVIGPhu6luZyk8L3NwYW4+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJtb2RlbC1jYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RlbC1icmFuZCI+UU5BUDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGVsLW5hbWUiPlRTLTg3M0E8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RlbC1yYW5nZSI+UGjDuSBo4bujcDogMzDigJM4MCBuZ8aw4budaTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGVsLXNwZWNzIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNwZWMtcm93Ij48c3BhbiBjbGFzcz0ic3BlYy1rZXkiPkJheSDhu5UgY+G7qW5nPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjLXZhbCI+OCBiYXk8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXJvdyI+PHNwYW4gY2xhc3M9InNwZWMta2V5Ij5EdW5nIGzGsOG7o25nIHThu5FpIMSRYTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlYy12YWwiPjE0NCBUQjwvc3Ahbj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNwZWMtcm93Ij48c3BhbiBjbGFzcz0ic3BlYy1rZXkiPlJBTTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlYy12YWwiPjE2IEdCICh1cCB0byA2NCBHQik8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXJvdyI+PHNwYW4gY2xhc3M9InNwZWMta2V5Ij5L4bq/dCBu4buRaTwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlYy12YWwiPjLDlyAyLjVHYkUgKyBQQ0llIHNsb3Q8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXJvdyI+PHNwYW4gY2xhc3M9InNwZWMta2V5Ij5SQUlEIHN1cHBvcnQ8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWMtdmFsIj5SQUlEIDAvMS81LzYvMTAvNTAvNjA8L3NwYW4+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kZWwtcHJpY2UiPlThu6sgMzguMDAwLjAwMMSRIDxzcGFuIGNsYXNzPSJtb2RlbC1wcmljZS1ub3RlIj4oY2jGsGEg4buVIGPhu6luZyk8L3NwYW4+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gQ09OVEFDVCAtLT4KPHNlY3Rpb24gY2xhc3M9ImNvbnRhY3Qtc2VjdGlvbiIgaWQ9ImNvbnRhY3QiPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGRpdiBjbGFzcz0iY29udGFjdC1ncmlkIj4KICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pbmZvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5MacOqbiBo4buHPC9kaXY+CiAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLWgyIj5OaOG6rW4gdMawIHbhuqVuICYgYsOhbyBnacOhIG1p4buFbiBwaMOtPC9oMj4KICAgICAgICA8cCBjbGFzcz0ic2VjdGlvbi1sZWFkIj7EkGnhu4FuIGZvcm0gYsOqbiBj4bqhbmgg4oCUIEJNUHJvIHPhur0gcGjhuqNuIGjhu5NpIHRyb25nIHbDsm5nIDIgZ2nhu50gdHJvbmcgZ2nhu50gaMOgbmggY2jDrW5oLiBUxrAgduG6pW4gaG/DoG4gdG/DoG4gbWnhu4VuIHBow60sIGtow7RuZyByw6BuZyBideG7mWMuPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtYmFkZ2UiPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2JhZGdlIj4KICAgICAgICAgICAgPGRpdiBjbGEzcz0iY2JhZGdlLWljb24iPvCfk548L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2JhZGdlLXRleHQiPgogICAgICAgICAgICAgIDxzdHJvbmc+SG90bGluZTwvc3Ryb25nPgogICAgICAgICAgICAgIDxzcGFuPjA5MDkgWFhYIFhYWCDCtyA4OjAwIOKAkyAxODowMCBUaOG7qSAy4oCTNzwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNiYWRnZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNiYWRnZS1pY29uIj7wn5KsPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNiYWRnZS10ZXh0Ij4KICAgICAgICAgICAgICA8c3Ryb25nPlphbG8gT0E8L3N0cm9uZz4KICAgICAgICAgIAogICAgICA8c3Bhbj5AYm1wcm8uaXRzdXBwb3J0IMK3IFBo4bqjbiBo4buTaSB0cm9uZyA1IHBow7p0PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2JhZGdlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2JhZGdlLWljb24iPvCfk008L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2JhZGdlLXRleHQiPgogICAgICAgICAgICAgIDxzdHJvbmc+UGjhuqFtIHZpIHBo4bulYyB24bulPC9zdHJvbmc+CiAgICAgICAgICAgICAgPHNwYW4+VFAuSENNIMK3IELDrG5oIER1b25nIMK3IMSQb25nIE5haTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4gIAogICAgICAgICA8ZGl2IGNsYXNzPSJjYmFkZ2UiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYmFkZ2UtaWNvbiI+8J+OgTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYmFkZ2UtdGV4dCI+CiAgICAgICAgICAgICAgPHN0cm9uZz5UaMOhbmcgxJHhuqd1IE91dHNvdXJjaW5nIE1J4buETiBQSMONPC9zdHJvbmc+CiAgICAgICAgICAgICAgPHNwYW4+S2hpIGvDvSBIxJAgSVQgT3V0c291cmNpbmcg4omlIDYgdGjDoW5nIGvDqG0gTkFTPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1mb3JtIj4KICAgICAgICA8ZGl2IGlkPSImb3JtV3JhcCI+CiAgICAgICAgICA8aDM+xJDhurd0IGzhu4tjaCB0xrAgduG6pW4gTkFTL1NlcnZlcjwvaDM+CiAgICAgICAgICA8Zm9ybSBpZD0iY29udGFjdEZvcm0iIG9uc3VibWl0PSJzdWJtaXRGb3JtKGV2ZW50KSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JpZCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1maWVsZCI+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJmbmFtZSI+SOG7jSB2w6AgdMOqbiAqPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZm5hbWUiIHBsYWNlaG9sZGVyPSJOZ3V54buFbiBWxINuIEEiIHJlcXVpcmVkPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZmllbGQiPgogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iZnBob25lIj5T4buRIMSRaeG7h24gdGhv4bqhaSAqPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZWwiIGlkPSJmcGhvbmUiIHBsYWNlaG9sZGVyPSIwOTA5IDAwMCAwMDAiIHJlcXVpcmVkPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZmllbGQiPgogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iZmNvbXBhbnkiPlTDqm4gY8O0bmcgdHk8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJmY29tcGFueSIgcGxhY2Vob2xkZXI9IkPDtG5nIHR5IEECQyI+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1maWVsZCI+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJmdXNlcnMiPlPhu5EgbmjDom4gc+G7sTwvbGFiZWw+CiAgICAgICAgICAgICAgICA8c2VsZWN0IGlkPSJmdXNlcnMiPgogICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIiPi0tIENo4buNbiAtLTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICA8b3B0aW9uPjXigJMxNSBuZ8aw4budaTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICA8b3B0aW9uPjE14oCTMzAgbmfGsOG7nWk8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgPG9wdGlvbj4zMOKAkzUwIG5nxrDhu51pPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgIDxvcHRpb24+NTDigJMxMDAgbmfGsOG7nWk8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgPG9wdGlvbj5UcsOqbiAxMDAgbmfGsOG7nWk8L29wdGlvbj4KICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZmllbGQgZnVsbCI+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJmbmVlZCI+Tmh1IGPhuqd1IGPhu6dhIGLhuqFuPC9sYWJlbD4KICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD0iZm5lZWQiIHBsYWNlaG9sZGVyPSJNw7QgdOG6oyBuZ+G6r246IGhp4buHbiBEYW5nIGTDuW5nIGfDrCwgY+G6p24gbMawdSB0cuG7ryBiYW8gbmgpacOqdSBUQiwgduG6pW4gxJHhu4EgxJFhbmcgZ+G6t3AuLi4iPjwvdGV4dGFyZWE+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImZvcm0tc3VibWl0Ij5H4butaSB5w6p1IGPhuqd1IHTGsCB24bqlbiDihpI8L2J1dHRvbj4KICAgICAgICAgICAgPHAgY2xhc3M9ImZvcm0tbm90ZSI+Qk1Qcm8gcGjhuqNuIGjhu5NpIHRyb25nIDIgZ2nhu50gwrcgVMawIHbhuqVuIG1p4buFbiBwaMOtIMK3IEtow7RuZyByw6BuZyBideG7mWM8L3A+CiAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1zdWNjZXNzIiBpZD0iZm9ybVN1Y2Nlc3MiPgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjNyZW07bWFyZ2luLWJvdHRvbToxMnB4Ij7inIU8L2Rpdj4KICAgICAgICAgIDxoMz7EkMOjIG5o4bqtbiB5w6p1IGPhuqd1ITwvaDM+CiAgICAgICAgICA8cD5CTVBybyBz4bq9IGxpw6puIGjhu4cgduG7m2kgYuG6oW4gdHJvbmcgduG7sW5nIDxzdHJvbmc+MiBnaeG7nTwvc3Ryb25nPi48YnI+VHJvbmcga2hpIGNo4budLCBi4bqhbiBjw7MgdGjhu4MgbmjDq24gWmFsbyBuZ2F5IMSRZSBkxrDhu6NjIGjhu5cgdHLhu6MgbmhhbmggaMahbi48L3A+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbmspIj5aYWxvOiA8c3Ryb25nPjA5MDkgWFhYIFhYWDwvc3Ryb25nPjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSBGT09URVIgLS0+Cjxmb290ZXI+CiAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXItaW5uZXIiPgogICAgICA8ZGl2IGNsYXNzPSJmb290ZXItbG9nbyI+Qk08c3Bhbj5Qcm88L3NwYW4+IElUIE91dHNvdXJjaW5nICYgU3VwcG9ydDwvZGl2PgogICAgICA8ZGl2PsKpIDIwMjYgQk1Qcm8gwrcgVFAuIEjhu5MgQ2jDrSBNaW5oPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9mb290ZXI+Cgo8c2NyaXB0PgogIC8vIOKUgOKUgCBDYWxjdWxhdG9yIGxvZ2kjIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgAogIGZ1bmN0aW9uIGZtdChuKSB7CiAgICByZXR1cm4gbi50b0xvY2FsZVN0cmluZygndmktVk4nKSArICfEkSc7CiAgfQoKICBmdW5jdGlvbiB1cGRhdGVDYWxjKCkgewogICAgY29uc3QgdXNlcnMgICA9IHBhcnNlSW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1c2VycycpLnZhbHVlLCAxMCk7CiAgICBjb25zdCBzdG9yYWdlID0gcGFyc2VJbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0b3JhZ2UnKS42YWx1ZSwgMTApOwoKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1c2Vyc1ZhbCcpLnRleHRDb250ZW50ICAgPSB1c2VycyArICcgbmfGsOG7nWknOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0b3JhZ2VWYWwnKS50ZXh0Q29udGVudCA9IHN0b3JhZ2UgKyAnIFRCJzsKCiAgICAvLyBDbG91ZDogR29vZ2xlIERyaXZlIEJ1c2luZXNzIH42IFVTRC91c2VyL21vbnRoIMOXIDI1LDUwMCBWTkQvVVNEIMOXIDEyIMOXIDUKICAgIGNvbnN0IGNsb3VkTW9udGhseSA9IHVzZXJzICogNiAqIDI1NTAwOwogICAgY29uc3QgY2xvdWQ1eXIgICAgID0gY2xvdWRNb250aGx5ICogNjA7IC8vIDUgeWVhcnMKCiAgICAvLyBOQVMgaGFyZHdhcmUgZXN0aW1hdGUgKHJvdWdoKTogYmFzZSBjb3N0ICsgcGVyLVRCCiAgICBjb25zdCBuYXNCYXNlICAgPSBzdG9yYWdlIDw9IDEwID8gMTI1MDAwMDAgOiBzdG9yYWdlIDw9IDIwID8gMjIwMDAwMDAgOiAzODAwMDAwMDsKICAgIGNvbnN0IGRyaXZlQ29zdCA9IHN0b3JhZ2UgKiA2MDAwMDA7IC8vIH42MDBrL1RCIGZvciBJcm9uV29sZgogICAgY29uc3QgbmFzSFcgICAgID0gbmFzQmFzZSArIGRyaXZlQ29zdDsKCiAgICAvLyBJbnN0YWxsICsgYW5udWFsIG1haW50ZW5hbmNlCiAgICBjb25zdCBpbnN0YWxsICAgPSA1MDAwMDAwOwogICAgY29uc3QgYW5udWFsICAgID0gMzAwMDAwMDsKICAgIGNvbnN0IG5hc09wcyAgICA9IGluc3RhbGwgKyBhbm51YWwgKiA1OwogICAgY29uc3QgbmFzVG90YWwgID0gbmFzSFcgKyBuYXNPcHM7CgogICAgY29uc3Qgc2F2ZSAgICAgID0gY2xvdWQ1eXIgLSBuYXNUb3RhbDsKCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xvdWRDb3N0JykudGV4dENvbnRlbnQgPSBmbXQoY2xvdWQ1eXIpOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hc0hXJykudGV4dENvbnRlbnQgICAgID0gZm10KG5hc0hXKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduYXNPcHMnKS50ZXh0Q29udGVudCAgICA9IGZtdChuYXNPcHMpOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25hc1RvdGFsJykudGV4dENvbnRlbnQgID0gZm10KG5hc1RvdGFsKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYXZpbmdzJykudGV4dENvbnRlbnQgICA9IHNhdmUgPiAwID8gZm10KHNhdmUpIDogJzDEkSc7CiAgfQoKICAvLyBpbml0CiAgdXBkYXRlQ2FsYygpOwoKICAvLyDilIDilIAgRm9ybSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKICBmdW5jdGlvbiBzdWJtaXRGb3JtKGUpIHsKICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIC8vIFNob3cgc3VjY2VzcyBzdGF0ZQogICAgZG9jdW1lbnQuZ2VRFbGVtZW50QnlJZCgnZm9ybVdyYXAnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm1TdWNjZXNzJykuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgfQo8L3NjcmlwdD4KW/Ydl9yYXdfaHRtbF0=