{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICAKICAgIDwhLS0gUHJpbWFyeSBNZXRhIFRhZ3MgLS0+CiAgICA8dGl0bGU+RHIuIEJhcmJhcmEgU3Ryb3VkLCBQaEQgfCBDbGluaWNhbCBQc3ljaG9sb2dpc3QgfCBJbmZhbnQgTWVudGFsIEhlYWx0aCBTcGVjaWFsaXN0PC90aXRsZT4KICAgIDxtZXRhIG5hbWU9InRpdGxlIiBjb250ZW50PSJEci4gQmFyYmFyYSBTdHJvdWQsIFBoRCB8IENsaW5pY2FsIFBzeWNob2xvZ2lzdCB8IEluZmFudCBNZW50YWwgSGVhbHRoIFNwZWNpYWxpc3QiPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkNoYW5naW5nIHRoZSBXb3JsZCDigJMgT25lIFJlbGF0aW9uc2hpcCBhdCBhIFRpbWUuIERyLiBCYXJiYXJhIFN0cm91ZCBpcyBhIHJlbm93bmVkIHRyYWluZXIsIGNvbnN1bHRhbnQsIGF1dGhvciAmIFpFUk8gVE8gVEhSRUUgRmVsbG93IHNwZWNpYWxpemluZyBpbiBpbmZhbnQgbWVudGFsIGhlYWx0aCBhbmQgY2hpbGQgZGV2ZWxvcG1lbnQuIj4KICAgIDxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJEci4gQmFyYmFyYSBTdHJvdWQsIENsaW5pY2FsIFBzeWNob2xvZ2lzdCwgSW5mYW50IE1lbnRhbCBIZWFsdGgsIENoaWxkIERldmVsb3BtZW50LCBaRVJPIFRPIFRIUkVFLCBQYWxvIEFsdG8sIFRyYWluaW5nLCBDb25zdWx0YXRpb24iPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJEci4gQmFyYmFyYSBTdHJvdWQiPgogICAgPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJpbmRleCwgZm9sbG93Ij4KICAgIAogICAgPCEtLSBPcGVuIEdyYXBoIC8gRmFjZWJvb2sgLS0+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0icHJvZmlsZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL2RyYmFyYmFyYXN0cm91ZC5jb20iPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJEci4gQmFyYmFyYSBTdHJvdWQsIFBoRCB8IENoYW5naW5nIHRoZSBXb3JsZCDigJMgT25lIFJlbGF0aW9uc2hpcCBhdCBhIFRpbWUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJSZW5vd25lZCB0cmFpbmVyLCBjb25zdWx0YW50LCBhdXRob3IgJiBaRVJPIFRPIFRIUkVFIEZlbGxvdyBzcGVjaWFsaXppbmcgaW4gaW5mYW50IG1lbnRhbCBoZWFsdGggYW5kIGNoaWxkIGRldmVsb3BtZW50LiI+CiAgICAKICAgIDwhLS0gVGhlbWUgQ29sb3IgLS0+CiAgICA8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0iIzBEM0I0QyI+CiAgICAKICAgIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iIGNyb3Nzb3JpZ2luPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Db3Jtb3JhbnQrR2FyYW1vbmQ6aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzAsNjAwOzAsNzAwOzEsNDAwOzEsNTAwJmZhbWlseT1MYXRvOndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CiAgICAKICAgIDxzdHlsZT4KICAgICAgICA6cm9vdCB7CiAgICAgICAgICAgIC0tZGVlcC1vY2VhbjogIzBEM0I0QzsKICAgICAgICAgICAgLS1vY2Vhbi1ibHVlOiAjMUI2QjkzOwogICAgICAgICAgICAtLXRlYWw6ICMxOTc2QTg7CiAgICAgICAgICAgIC0tc2t5LWJsdWU6ICM0QkEzQzc7CiAgICAgICAgICAgIC0tbGlnaHQtc2t5OiAjN0VDOEUzOwogICAgICAgICAgICAtLXBhbGUtc2t5OiAjQjhFMEYwOwogICAgICAgICAgICAtLWNyZWFtOiAjRkRGOEYzOwogICAgICAgICAgICAtLXdhcm0td2hpdGU6ICNGRkZFRkE7CiAgICAgICAgICAgIC0tc29mdC1jb3JhbDogI0U4QTU5ODsKICAgICAgICAgICAgLS1jb3JhbDogI0Q0ODU3QTsKICAgICAgICAgICAgLS1nb2xkLXdhcm06ICNDOUEyMjc7CiAgICAgICAgICAgIC0tdGV4dC1kYXJrOiAjMUEyRTM1OwogICAgICAgICAgICAtLXRleHQtbWVkaXVtOiAjM0Q1QTY4OwogICAgICAgICAgICAtLXRleHQtbGlnaHQ6ICM2QjhBOTk7CiAgICAgICAgfQoKICAgICAgICAqIHsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KCiAgICAgICAgYm9keSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWRlZXAtb2NlYW4pIDAlLCB2YXIoLS1vY2Vhbi1ibHVlKSA1MCUsIHZhcigtLXRlYWwpIDEwMCUpOwogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLyogQ29udGFpbmVyIC0gVEFCTEVUIFJFU1BPTlNJVkUgKi8KICAgICAgICAuY29udGFpbmVyIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICAgICAgbWF4LXdpZHRoOiA0ODBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgIH0KCiAgICAgICAgLyogVEFCTEVUIEJSRUFLUE9JTlQgKi8KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHsKICAgICAgICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDU4MHB4OwogICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7CiAgICAgICAgICAgIC5jb250YWluZXIgewogICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2ODBweDsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qIEhlYWRlciBTZWN0aW9uICovCiAgICAgICAgLmhlYWRlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDI1cHg7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDFzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7CiAgICAgICAgICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9CiAgICAgICAgICAgIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9CiAgICAgICAgfQoKICAgICAgICAvKiBQcm9maWxlIEljb24gKi8KICAgICAgICAucHJvZmlsZS1jb250YWluZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxNTBweDsKICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDsKICAgICAgICB9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgewogICAgICAgICAgICAucHJvZmlsZS1jb250YWluZXIgewogICAgICAgICAgICAgICAgd2lkdGg6IDE3MHB4OwogICAgICAgICAgICAgICAgaGVpZ2h0OiAxNzBweDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLnByb2ZpbGUtcmluZyB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgdG9wOiAtOHB4OwogICAgICAgICAgICBsZWZ0OiAtOHB4OwogICAgICAgICAgICB3aWR0aDogMTY2cHg7CiAgICAgICAgICAgIGhlaWdodDogMTY2cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbGlnaHQtc2t5KSwgdmFyKC0tc29mdC1jb3JhbCksIHZhcigtLXNreS1ibHVlKSk7CiAgICAgICAgICAgIGFuaW1hdGlvbjogcmluZ1B1bHNlIDRzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7CiAgICAgICAgICAgIC5wcm9maWxlLXJpbmcgewogICAgICAgICAgICAgICAgd2lkdGg6IDE4NnB4OwogICAgICAgICAgICAgICAgaGVpZ2h0OiAxODZweDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyByaW5nUHVsc2UgewogICAgICAgICAgICAwJSwgMTAwJSB7IG9wYWNpdHk6IDAuODsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfQogICAgICAgICAgICA1MCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpOyB9CiAgICAgICAgfQoKICAgICAgICAucHJvZmlsZS1pY29uIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB3aWR0aDogMTUwcHg7CiAgICAgICAgICAgIGhlaWdodDogMTUwcHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tb2NlYW4tYmx1ZSksIHZhcigtLXRlYWwpKTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHZhcigtLXdhcm0td2hpdGUpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDE1cHggNTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHsKICAgICAgICAgICAgLnByb2ZpbGUtaWNvbiB7CiAgICAgICAgICAgICAgICB3aWR0aDogMTcwcHg7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3MHB4OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAucHJvZmlsZS1lbW9qaSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC41cmVtOwogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7CiAgICAgICAgICAgIC5wcm9maWxlLWVtb2ppIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyogTmFtZSAqLwogICAgICAgIC5uYW1lIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAyLjZyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13YXJtLXdoaXRlKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHsKICAgICAgICAgICAgLm5hbWUgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAuY3JlZGVudGlhbHMgewogICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXBhbGUtc2t5KTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LXNreSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICB9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgewogICAgICAgICAgICAudGl0bGUgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1cmVtOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAubG9jYXRpb24gewogICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1za3ktYmx1ZSk7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDZweDsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgICB9CgogICAgICAgIC8qIEJhZGdlcyAqLwogICAgICAgIC5iYWRnZXMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwOwogICAgICAgIH0KCiAgICAgICAgLmJhZGdlIHsKICAgICAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgfQoKICAgICAgICAuYmFkZ2UtZmVsbG93IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ29sZC13YXJtKSwgI0Q0QjMyQSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1kZWVwLW9jZWFuKTsKICAgICAgICB9CgogICAgICAgIC5iYWRnZS1hd2FyZCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXNvZnQtY29yYWwpLCB2YXIoLS1jb3JhbCkpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0td2FybS13aGl0ZSk7CiAgICAgICAgfQoKICAgICAgICAuYmFkZ2UtYXV0aG9yIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0td2FybS13aGl0ZSk7CiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LXNreSk7CiAgICAgICAgfQoKICAgICAgICAvKiBTZWN0aW9uIENhcmQgU3R5bGluZyAqLwogICAgICAgIC5zZWN0aW9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tY3JlYW0pIDAlLCB2YXIoLS13YXJtLXdoaXRlKSAxMDAlKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDsKICAgICAgICAgICAgcGFkZGluZzogMzBweCAyNXB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgICAgICBib3gtc2hhZG93OiAKICAgICAgICAgICAgICAgIDAgMTVweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwKICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOwogICAgICAgICAgICBhbmltYXRpb246IHNsaWRlVXAgMC42cyBlYXNlIGZvcndhcmRzOwogICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIH0KCiAgICAgICAgLnNlY3Rpb246bnRoLWNoaWxkKDEpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjFzOyB9CiAgICAgICAgLnNlY3Rpb246bnRoLWNoaWxkKDIpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjJzOyB9CiAgICAgICAgLnNlY3Rpb246bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9CiAgICAgICAgLnNlY3Rpb246bnRoLWNoaWxkKDQpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjRzOyB9CiAgICAgICAgLnNlY3Rpb246bnRoLWNoaWxkKDUpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjVzOyB9CiAgICAgICAgLnNlY3Rpb246bnRoLWNoaWxkKDYpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjZzOyB9CgogICAgICAgIEBrZXlmcmFtZXMgc2xpZGVVcCB7CiAgICAgICAgICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IH0KICAgICAgICAgICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgICAgICB9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgewogICAgICAgICAgICAuc2VjdGlvbiB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDMwcHg7CiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuc2VjdGlvbi1oZWFkZXIgaDMgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWRlZXAtb2NlYW4pOwogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7CiAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRlciBoMyB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLnNlY3Rpb24tbGluZSB7CiAgICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICAgIGhlaWdodDogMnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLW9jZWFuLWJsdWUpLCB0cmFuc3BhcmVudCk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICB9CgogICAgICAgIC8qIE1pc3Npb24gU2VjdGlvbiAtIEZlYXR1cmVkICovCiAgICAgICAgLm1pc3Npb24tc2VjdGlvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWRlZXAtb2NlYW4pLCB2YXIoLS1vY2Vhbi1ibHVlKSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13YXJtLXdoaXRlKTsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLm1pc3Npb24tc2VjdGlvbjo6YmVmb3JlIHsKICAgICAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgdG9wOiAwOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICByaWdodDogMDsKICAgICAgICAgICAgYm90dG9tOiAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzYwJyBoZWlnaHQ9JzYwJyB2aWV3Qm94PScwIDAgNjAgNjAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NnIGZpbGw9JyUyM2ZmZmZmZicgZmlsbC1vcGFjaXR5PScwLjAzJyUzRSUzQ3BhdGggZD0nTTM2IDM0di00aC0ydjRoLTR2Mmg0djRoMnYtNGg0di0yaC00em0wLTMwVjBoLTJ2NGgtNHYyaDR2NGgyVjZoNFY0aC00ek02IDM0di00SDR2NEgwdjJoNHY0aDJ2LTRoNHYtMkg2ek02IDRWMEg0djRIMHYyaDR2NGgyVjZoNFY0SDZ6Jy8lM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSIpOwogICAgICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgfQoKICAgICAgICAubWlzc2lvbi1jb250ZW50IHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAubWlzc2lvbi1pY29uIHsKICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgIH0KCiAgICAgICAgLm1pc3Npb24tdGV4dCB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEdhcmFtb25kJywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHsKICAgICAgICAgICAgLm1pc3Npb24tdGV4dCB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyogVmlkZW8gU2VjdGlvbiAqLwogICAgICAgIC52aWRlby1jb250YWluZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWRlZXAtb2NlYW4pLCB2YXIoLS1vY2Vhbi1ibHVlKSk7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAudmlkZW8tY29udGFpbmVyOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDUwcHggcmdiYSgyNywgMTA3LCAxNDcsIDAuMyk7CiAgICAgICAgfQoKICAgICAgICAudmlkZW8tcGxhY2Vob2xkZXIgewogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZGVlcC1vY2VhbiksIHZhcigtLW9jZWFuLWJsdWUpKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdhcm0td2hpdGUpOwogICAgICAgIH0KCiAgICAgICAgLnBsYXktYnV0dG9uIHsKICAgICAgICAgICAgd2lkdGg6IDgwcHg7CiAgICAgICAgICAgIGhlaWdodDogODBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tc29mdC1jb3JhbCksIHZhcigtLWNvcmFsKSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMzBweCByZ2JhKDIxMiwgMTMzLCAxMjIsIDAuNSk7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAudmlkZW8tY29udGFpbmVyOmhvdmVyIC5wbGF5LWJ1dHRvbiB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMnB4IDQwcHggcmdiYSgyMTIsIDEzMywgMTIyLCAwLjYpOwogICAgICAgIH0KCiAgICAgICAgLnZpZGVvLXRleHQgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIH0KCiAgICAgICAgLnZpZGVvLXN1YnRleHQgewogICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgICB9CgogICAgICAgIC8qIFNlcnZpY2VzICovCiAgICAgICAgLnNlcnZpY2VzLWdyaWQgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOwogICAgICAgICAgICBnYXA6IDE1cHg7CiAgICAgICAgfQoKICAgICAgICAuc2VydmljZS1pdGVtIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLnNlcnZpY2UtaWNvbiB7CiAgICAgICAgICAgIHdpZHRoOiA2MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXBhbGUtc2t5KSwgdmFyKC0tbGlnaHQtc2t5KSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOwogICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4OwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAyMHB4IHJnYmEoNzUsIDE2MywgMTk5LCAwLjMpOwogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7CiAgICAgICAgICAgIC5zZXJ2aWNlLWljb24gewogICAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDcwcHg7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOXJlbTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLnNlcnZpY2UtdGV4dCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtZGFyayk7CiAgICAgICAgfQoKICAgICAgICAvKiBDb250YWN0IEl0ZW1zICovCiAgICAgICAgLmNvbnRhY3QtaXRlbSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMThweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcGFsZS1za3kpLCB2YXIoLS1saWdodC1za3kpKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tZGVlcC1vY2Vhbik7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtaXRlbTpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdhcm0td2hpdGUpOwogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLW9jZWFuLWJsdWUpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDI3LCAxMDcsIDE0NywgMC4yKTsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWl0ZW06bGFzdC1jaGlsZCB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1pY29uIHsKICAgICAgICAgICAgd2lkdGg6IDU0cHg7CiAgICAgICAgICAgIGhlaWdodDogNTRweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tb2NlYW4tYmx1ZSksIHZhcigtLXRlYWwpKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7CiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7CiAgICAgICAgICAgIC5jb250YWN0LWljb24gewogICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtZGV0YWlscyB7CiAgICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1sYWJlbCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbWVkaXVtKTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtdmFsdWUgewogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWRlZXAtb2NlYW4pOwogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7CiAgICAgICAgICAgIC5jb250YWN0LXZhbHVlIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1hcnJvdyB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1vY2Vhbi1ibHVlKTsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1pdGVtOmhvdmVyIC5jb250YWN0LWFycm93IHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7CiAgICAgICAgfQoKICAgICAgICAvKiBRdWljayBBY3Rpb25zICovCiAgICAgICAgLnF1aWNrLWFjdGlvbnMgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgICB9CgogICAgICAgIC5hY3Rpb24tYnRuIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgcGFkZGluZzogMTZweCAyMnB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5idG4tcHJpbWFyeSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLW9jZWFuLWJsdWUpLCB2YXIoLS10ZWFsKSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13YXJtLXdoaXRlKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDI3LCAxMDcsIDE0NywgMC40KTsKICAgICAgICB9CgogICAgICAgIC5idG4tcHJpbWFyeTpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgyNywgMTA3LCAxNDcsIDAuNSk7CiAgICAgICAgfQoKICAgICAgICAuYnRuLXNlY29uZGFyeSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXNvZnQtY29yYWwpLCB2YXIoLS1jb3JhbCkpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0td2FybS13aGl0ZSk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgyMTIsIDEzMywgMTIyLCAwLjQpOwogICAgICAgIH0KCiAgICAgICAgLmJ0bi1zZWNvbmRhcnk6aG92ZXIgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMjEyLCAxMzMsIDEyMiwgMC41KTsKICAgICAgICB9CgogICAgICAgIC8qIEJvb2tzIEdyaWQgKi8KICAgICAgICAuYm9va3MtZ3JpZCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgIH0KCiAgICAgICAgLmJvb2staXRlbSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXBhbGUtc2t5KSwgdmFyKC0tbGlnaHQtc2t5KSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTVweDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1kZWVwLW9jZWFuKTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgfQoKICAgICAgICAuYm9vay1pdGVtOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td2FybS13aGl0ZSk7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ29sZC13YXJtKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDIwMSwgMTYyLCAzOSwgMC4yKTsKICAgICAgICB9CgogICAgICAgIC5ib29rLWljb24gewogICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgICB9CgogICAgICAgIC5ib29rLXRpdGxlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1kZWVwLW9jZWFuKTsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIH0KCiAgICAgICAgLmJvb2stYmFkZ2UgewogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdvbGQtd2FybSk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1kZWVwLW9jZWFuKTsKICAgICAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLyogQ2FyZCBBY3Rpb25zICovCiAgICAgICAgLmNhcmQtYWN0aW9ucyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIH0KCiAgICAgICAgLmNhcmQtYWN0aW9uLWJ0biB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDIycHggMThweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGFsZS1za3kpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4OwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1kZWVwLW9jZWFuKTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWFjdGlvbi1idG46aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13YXJtLXdoaXRlKTsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1vY2Vhbi1ibHVlKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDI3LCAxMDcsIDE0NywgMC4yKTsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWFjdGlvbi1pY29uIHsKICAgICAgICAgICAgd2lkdGg6IDU1cHg7CiAgICAgICAgICAgIGhlaWdodDogNTVweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tb2NlYW4tYmx1ZSksIHZhcigtLXRlYWwpKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07CiAgICAgICAgfQoKICAgICAgICAuY2FyZC1hY3Rpb24tdGV4dCB7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWRlZXAtb2NlYW4pOwogICAgICAgIH0KCiAgICAgICAgLnFyLWxpbmsgewogICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xOwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgICAgICBnYXA6IDE4cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjJweDsKICAgICAgICB9CgogICAgICAgIC5xci1saW5rIC5jYXJkLWFjdGlvbi1pY29uIHsKICAgICAgICAgICAgd2lkdGg6IDUycHg7CiAgICAgICAgICAgIGhlaWdodDogNTJweDsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXNvZnQtY29yYWwpLCB2YXIoLS1jb3JhbCkpOwogICAgICAgIH0KCiAgICAgICAgLnFyLWxpbmstY29udGVudCB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgfQoKICAgICAgICAucXItbGluay1jb250ZW50IC5jYXJkLWFjdGlvbi10ZXh0IHsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4OwogICAgICAgIH0KCiAgICAgICAgLnFyLWxpbmstY29udGVudCAuY2FyZC1hY3Rpb24tc3VidGV4dCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1tZWRpdW0pOwogICAgICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIH0KCiAgICAgICAgLyogRm9vdGVyICovCiAgICAgICAgLmZvb3RlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgcGFkZGluZzogMzVweCAyMHB4IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLWNvbXBhbnkgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdhcm0td2hpdGUpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLXRhZ2xpbmUgewogICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1za3kpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1wb3dlcmVkIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1za3kpOwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1wb3dlcmVkIGEgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tcGFsZS1za3kpOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLXBvd2VyZWQgYTpob3ZlciB7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1jb3B5cmlnaHQgewogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1za3ktYmx1ZSk7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICB9CgogICAgICAgIC8qIFJlc3BvbnNpdmUgKi8KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHsKICAgICAgICAgICAgLm5hbWUgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5zZXJ2aWNlcy1ncmlkIHsKICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAuc2VydmljZS1pdGVtIHsKICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLnNlcnZpY2UtaWNvbiB7CiAgICAgICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5xdWljay1hY3Rpb25zLAogICAgICAgICAgICAuY2FyZC1hY3Rpb25zLAogICAgICAgICAgICAuYm9va3MtZ3JpZCB7CiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLnFyLWxpbmsgewogICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoKICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgCiAgICAgICAgPCEtLSBIZWFkZXIgLS0+CiAgICAgICAgPGhlYWRlciBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1jb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1yaW5nIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2ZpbGUtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb2ZpbGUtZW1vamkiPvCfkpk8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8aDEgY2xhc3M9Im5hbWUiPkRyLiBCYXJiYXJhIFN0cm91ZDwvaDE+CiAgICAgICAgICAgIDxwIGNsYXNzPSJjcmVkZW50aWFscyI+UGhEPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0idGl0bGUiPkNsaW5pY2FsICYgRGV2ZWxvcG1lbnRhbCBQc3ljaG9sb2dpc3Q8YnI+SW5mYW50IE1lbnRhbCBIZWFsdGggU3BlY2lhbGlzdDwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9ImxvY2F0aW9uIj7wn5ONIFBhbG8gQWx0bywgQ2FsaWZvcm5pYTwvcD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhZGdlcyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgYmFkZ2UtZmVsbG93Ij7wn46TIFpFUk8gVE8gVEhSRUUgRmVsbG93PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlIGJhZGdlLWF3YXJkIj7wn4+GIEJydWNlIEQuIFBlcnJ5IEF3YXJkPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlIGJhZGdlLWF1dGhvciI+8J+TmiBCZXN0LVNlbGxpbmcgQXV0aG9yPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2hlYWRlcj4KCiAgICAgICAgPCEtLSBNaXNzaW9uIFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24gbWlzc2lvbi1zZWN0aW9uIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiAwLjFzOyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pc3Npb24tY29udGVudCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtaXNzaW9uLWljb24iPvCfjI3wn5KZPC9kaXY+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibWlzc2lvbi10ZXh0Ij4iQ2hhbmdpbmcgdGhlIFdvcmxkIOKAkzxicj5PbmUgUmVsYXRpb25zaGlwIGF0IGEgVGltZSI8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPCEtLSBWaWRlbyBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiAwLjJzOyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMz7wn46sIE1lZXQgRHIuIFN0cm91ZDwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tY29udGFpbmVyIiBzdHlsZT0iY3Vyc29yOiBkZWZhdWx0OyI+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ2cF9lbWJlZF93cmFwIiBzdHlsZT0id2lkdGg6MTAwJTsgcG9zaXRpb246cmVsYXRpdmU7IHBhZGRpbmctYm90dG9tOjU2LjI1JTsgaGVpZ2h0OjA7IG92ZXJmbG93OmhpZGRlbjsiPgogICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgCiAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJ2cF92aWRlb19lbWJlZCIgCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly92aWRlby5icmFuZGhhbmRzaGFrZS5jb20vZW1iZWQvMTY4MDkiIAogICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBib3JkZXI6bm9uZTsgYm9yZGVyLXJhZGl1czoyMHB4OyIgCiAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlOyB3ZWItc2hhcmUiIAogICAgICAgICAgICAgICAgICAgICAgICByZWZlcnJlcnBvbGljeT0ibm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUiCiAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93ZnVsbHNjcmVlbj0idHJ1ZSIgCiAgICAgICAgICAgICAgICAgICAgICAgIHdlYmtpdGFsbG93ZnVsbHNjcmVlbj0idHJ1ZSIgCiAgICAgICAgICAgICAgICAgICAgICAgIG1vemFsbG93ZnVsbHNjcmVlbj0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICAgICAgICAgICAgPC9pZnJhbWU+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3ZpZGVvLmJyYW5kaGFuZHNoYWtlLmNvbS9qcy92cF9lbWJlZC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz48L3NjcmlwdD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIFNlcnZpY2VzIFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iIHN0eWxlPSJhbmltYXRpb24tZGVsYXk6IDAuM3M7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGgzPuKcqCBTZXJ2aWNlczwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXMtZ3JpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaWNvbiI+8J+OpDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtdGV4dCI+VHJhaW5pbmc8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWljb24iPvCfkqE8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLXRleHQiPkNvbnN1bHRpbmc8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWljb24iPuKcje+4jzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtdGV4dCI+QXV0aG9yPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIENvbnRhY3QgU2VjdGlvbiAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgc3R5bGU9ImFuaW1hdGlvbi1kZWxheTogMC40czsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDM+8J+TsSBDb25uZWN0PC9oMz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGluZSI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZHJiYXJiYXJhc3Ryb3VkLmNvbSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJjb250YWN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7wn4yQPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtbGFiZWwiPldlYnNpdGU8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LXZhbHVlIj5EckJhcmJhcmFTdHJvdWQuY29tPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb250YWN0LWFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzppbmZvQGRyYmFyYmFyYXN0cm91ZC5jb20iIGNsYXNzPSJjb250YWN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7inInvuI88L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1sYWJlbCI+RW1haWw8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LXZhbHVlIj5Db250YWN0IERyLiBTdHJvdWQ8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAKICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2luL2RyLWJhcmJhcmEtc3Ryb3VkLTA2MjE2MjIyMC8iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iY29udGFjdC1pdGVtIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaWNvbiI+8J+SvDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWxhYmVsIj5MaW5rZWRJbjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtdmFsdWUiPkNvbm5lY3QgUHJvZmVzc2lvbmFsbHk8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVpY2stYWN0aW9ucyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86aW5mb0BkcmJhcmJhcmFzdHJvdWQuY29tIiBjbGFzcz0iYWN0aW9uLWJ0biBidG4tcHJpbWFyeSI+CiAgICAgICAgICAgICAgICAgICAg4pyJ77iPIEVtYWlsCiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5kcmJhcmJhcmFzdHJvdWQuY29tIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImFjdGlvbi1idG4gYnRuLXNlY29uZGFyeSI+CiAgICAgICAgICAgICAgICAgICAg8J+MkCBXZWJzaXRlCiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPCEtLSBCb29rcyBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiAwLjVzOyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMz7wn5OaIFB1Ymxpc2hlZCBXb3JrczwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9va3MtZ3JpZCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5hbWF6b24uY29tL0ludGVudGlvbmFsLUxpdmluZy1maW5kaW5nLXN1Y2Nlc3NmdWwtcmVsYXRpb25zaGlwcy9kcC8xNTAwNzE4MzZYIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImJvb2staXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9vay1pY29uIj7wn5OWPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9vay10aXRsZSI+SW50ZW50aW9uYWwgTGl2aW5nPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJvb2stYmFkZ2UiPuKtkCBCRVNUIFNFTExFUjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmFtYXpvbi5jb20vcz9rPWJhcmJhcmErc3Ryb3VkK2hvdyt0byttZWFzdXJlK2ErcmVsYXRpb25zaGlwIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImJvb2staXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9vay1pY29uIj7wn5OYPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9vay10aXRsZSI+SG93IHRvIE1lYXN1cmUgYSBSZWxhdGlvbnNoaXA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIFNhdmUgJiBTaGFyZSBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiAwLjZzOyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMz7wn5OyIFNhdmUgJiBTaGFyZTwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1hY3Rpb25zIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJjYXJkLWFjdGlvbi1idG4iIG9uY2xpY2s9ImFsZXJ0KCdEb3dubG9hZCBjb250YWN0IGZlYXR1cmUgY29taW5nIHNvb24hJykiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYWN0aW9uLWljb24iPuKsh++4jzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLWFjdGlvbi10ZXh0Ij5Eb3dubG9hZCBDYXJkPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImNhcmQtYWN0aW9uLWJ0biIgb25jbGljaz0ibmF2aWdhdG9yLnNoYXJlID8gbmF2aWdhdG9yLnNoYXJlKHt0aXRsZTogJ0RyLiBCYXJiYXJhIFN0cm91ZCwgUGhEJywgdGV4dDogJ0NoYW5naW5nIHRoZSBXb3JsZCDigJMgT25lIFJlbGF0aW9uc2hpcCBhdCBhIFRpbWUnLCB1cmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmfSkgOiBhbGVydCgnU2hhcmUgdGhpcyBsaW5rOiAnICsgd2luZG93LmxvY2F0aW9uLmhyZWYpIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWFjdGlvbi1pY29uIj7wn5OkPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtYWN0aW9uLXRleHQiPlNoYXJlIENhcmQ8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3EtMC5jby9kcmJhcmJhcmFzdHJvdWQiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iY2FyZC1hY3Rpb24tYnRuIHFyLWxpbmsiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYWN0aW9uLWljb24iPvCfk7E8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJxci1saW5rLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC1hY3Rpb24tdGV4dCI+VGFwIGZvciBRUiBDb2RlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC1hY3Rpb24tc3VidGV4dCI+U2NhbiB0byBzYXZlIGNvbnRhY3QgaW5zdGFudGx5PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gRm9vdGVyIC0tPgogICAgICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlciI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJmb290ZXItY29tcGFueSI+QmFyYmFyYSBTdHJvdWQgVHJhaW5pbmcgJiBDb25zdWx0YXRpb248L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJmb290ZXItdGFnbGluZSI+Q2hhbmdpbmcgdGhlIFdvcmxkIOKAkyBPbmUgUmVsYXRpb25zaGlwIGF0IGEgVGltZTwvcD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxwIGNsYXNzPSJmb290ZXItcG93ZXJlZCI+CiAgICAgICAgICAgICAgICBQb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHBzOi8vYnJhbmRoYW5kc2hha2UuY29tIiB0YXJnZXQ9Il9ibGFuayI+QnJhbmQgSGFuZHNoYWtlPC9hPgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJmb290ZXItY29weXJpZ2h0Ij4KICAgICAgICAgICAgICAgIMKpIDIwMjYgRHIuIEJhcmJhcmEgU3Ryb3VkLCBQaEQKICAgICAgICAgICAgPC9wPgogICAgICAgIDwvZm9vdGVyPgogICAgICAgIAogICAgPC9kaXY+CjwvYm9keT4KPC9odG1sPg==","embed":""}
💙
Dr. Barbara Stroud
PhD
Clinical & Developmental Psychologist
Infant Mental Health Specialist
📍 Palo Alto, California
🎓 ZERO TO THREE Fellow
🏆 Bruce D. Perry Award
📚 Best-Selling Author
🌍💙
"Changing the World –
One Relationship at a Time"
🎬 Meet Dr. Stroud
✨ Services
🎤
Training
💡
Consulting
✍️
Author
📱 Connect
🌐
Website
DrBarbaraStroud.com
✉️
Email
Contact Dr. Stroud
💼
LinkedIn
Connect Professionally