JavaScript must be enabled to play.
Browser lacks capabilities required to play.
Upgrade or switch to another browser.
Loading…
PHR3LXN0b3J5ZGF0YSBuYW1lPSJUaGUgTWVuIEJldHdlZW4iIHN0YXJ0bm9kZT0iMSIgY3JlYXRvcj0iVHdpbmUiIGNyZWF0b3ItdmVyc2lvbj0iMi4xMi4wIiBmb3JtYXQ9IlN1Z2FyQ3ViZSIgZm9ybWF0LXZlcnNpb249IjIuMzcuMyIgaWZpZD0iQzY5QzZGNjktMTNFNy00NDM5LThDMzUtMjg3MTZDQUM4MENFIiBvcHRpb25zPSIiIHRhZ3M9IiIgem9vbT0iMSIgaGlkZGVuPjxzdHlsZSByb2xlPSJzdHlsZXNoZWV0IiBpZD0idHdpbmUtdXNlci1zdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L3R3aW5lLWNzcyI+QGltcG9ydCB1cmwoImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Q291cmllcitQcmltZTppdGFsLHdnaHRAMCw0MDA7MCw3MDA7MSw0MDA7MSw3MDAmZGlzcGxheT1zd2FwIik7CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgVEhFIE1FTiBCRVRXRUVOCiAgIENPTVBMRVRFIElOVEVSRkFDRSBTVFlMRVNIRUVUCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKOnJvb3QgewoJLS10bWItZm9udDogIkNvdXJpZXIgUHJpbWUiLCAiQ291cmllciBOZXciLCBtb25vc3BhY2U7CgktLXRtYi1ibGFjazogIzA5MGEwODsKCS0tdG1iLWNoYXJjb2FsOiAjMTExMzBmOwoJLS10bWItcGFuZWw6ICMxODFhMTU7CgktLXRtYi1wYW5lbC1saWdodDogIzIwMjMxYzsKCS0tdG1iLW9saXZlOiAjNDM0NzM4OwoJLS10bWItb2xpdmUtbGlnaHQ6ICM2MzY3NTI7CgktLXRtYi1wYXJjaG1lbnQ6ICNkOGM5YTc7CgktLXRtYi1wYXJjaG1lbnQtbGlnaHQ6ICNmMGRmYjg7CgktLXRtYi1wYXJjaG1lbnQtZGltOiAjYWNhMDg3OwoJLS10bWIteWVsbG93OiAjYzk5YzNhOwoJLS10bWIteWVsbG93LWxpZ2h0OiAjZTBiYTYyOwoJLS10bWItcmVkOiAjNzcyYzI0OwoJLS10bWItcmVkLWxpZ2h0OiAjYTM0MTM0OwoJLS10bWItYm9yZGVyOiAjNWI1MjNmOwoJLS10bWItc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuNjIpOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgR0xPQkFMIFBBR0UKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpodG1sLApib2R5IHsKCW1pbi1oZWlnaHQ6IDEwMCU7CgliYWNrZ3JvdW5kOgoJCXJhZGlhbC1ncmFkaWVudCgKCQkJY2lyY2xlIGF0IHRvcCByaWdodCwKCQkJcmdiYSg3NSwgNjksIDQ3LCAwLjE0KSwKCQkJdHJhbnNwYXJlbnQgMzRyZW0KCQkpLAoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTM1ZGVnLAoJCQkjMTExMzBmIDAlLAoJCQkjMDkwYTA4IDY1JSwKCQkJIzEyMTEwZCAxMDAlCgkJKTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50KTsKfQoKYm9keSB7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC13ZWlnaHQ6IDQwMDsKCWxldHRlci1zcGFjaW5nOiAwLjAxZW07Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBNQUlOIFNUT1JZIEFSRUEKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojc3RvcnkgewoJbWFyZ2luLWxlZnQ6IDIwLjVlbTsKCW1hcmdpbi1yaWdodDogMi41ZW07CglwYWRkaW5nOiAwOwp9CgojcGFzc2FnZXMgewoJbWF4LXdpZHRoOiA2MmVtOwoJbWFyZ2luOiAwIGF1dG87Cn0KCi5wYXNzYWdlIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXBhZGRpbmc6IDIuNHJlbSAyLjdyZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJcmdiYSgyNCwgMjYsIDIxLCAwLjk2KSwKCQkJcmdiYSgxNCwgMTUsIDEyLCAwLjk4KQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCWJveC1zaGFkb3c6CgkJMCAxOHB4IDQ0cHggdmFyKC0tdG1iLXNoYWRvdyksCgkJaW5zZXQgMCAwIDQwcHggcmdiYSgwLCAwLCAwLCAwLjIyKTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDEuMDNyZW07Cglmb250LXdlaWdodDogNDAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDEyZW07CglsaW5lLWhlaWdodDogMS43MjsKfQoKLnBhc3NhZ2U6OmJlZm9yZSB7Cgljb250ZW50OiAiIjsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXRvcDogMDsKCWxlZnQ6IDA7Cgl3aWR0aDogMTAwJTsKCWhlaWdodDogNHB4OwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQl2YXIoLS10bWItcmVkKSwKCQkJdmFyKC0tdG1iLXllbGxvdyksCgkJCXZhcigtLXRtYi1yZWQpCgkJKTsKCW9wYWNpdHk6IDAuNzg7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBQQVNTQUdFIFRZUE9HUkFQSFkKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoucGFzc2FnZSBoMSwKLnBhc3NhZ2UgaDIsCi5wYXNzYWdlIGgzIHsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDc1ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwoJdGV4dC1zaGFkb3c6CgkJMXB4IDFweCAwICMwMDAsCgkJMCAwIDhweCByZ2JhKDIwMSwgMTU2LCA1OCwgMC4xMik7Cn0KCi5wYXNzYWdlIGgxIHsKCW1hcmdpbjogMCAwIDEuNXJlbTsKCXBhZGRpbmctYm90dG9tOiAwLjc1cmVtOwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwoJY29sb3I6IHZhcigtLXRtYi15ZWxsb3ctbGlnaHQpOwoJZm9udC1zaXplOiBjbGFtcCgxLjg1cmVtLCA0dncsIDIuNzVyZW0pOwoJbGluZS1oZWlnaHQ6IDEuMDg7Cn0KCi5wYXNzYWdlIGgyIHsKCW1hcmdpbjogMS43cmVtIDAgMC45cmVtOwoJY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwoJZm9udC1zaXplOiBjbGFtcCgxLjM1cmVtLCAzdncsIDEuODVyZW0pOwoJbGluZS1oZWlnaHQ6IDEuMTU7Cn0KCi5wYXNzYWdlIGgzIHsKCW1hcmdpbjogMS41cmVtIDAgMC43NXJlbTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50KTsKCWZvbnQtc2l6ZTogMS4xNXJlbTsKCWxpbmUtaGVpZ2h0OiAxLjI7Cn0KCi5wYXNzYWdlIHAgewoJbWFyZ2luOiAwIDAgMS4zNXJlbTsKfQoKLnBhc3NhZ2Ugc3Ryb25nIHsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5wYXNzYWdlIGVtIHsKCWNvbG9yOiAjZDljYmE5Owp9CgoucGFzc2FnZSBibG9ja3F1b3RlIHsKCW1hcmdpbjogMS41cmVtIDA7CglwYWRkaW5nOiAxcmVtIDEuMjVyZW07CgliYWNrZ3JvdW5kOiByZ2JhKDY5LCA2NywgNTIsIDAuMjYpOwoJYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB2YXIoLS10bWIteWVsbG93KTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCWZvbnQtc3R5bGU6IGl0YWxpYzsKfQoKLnBhc3NhZ2UgdWwsCi5wYXNzYWdlIG9sIHsKCW1hcmdpbjogMXJlbSAwIDEuNHJlbTsKCXBhZGRpbmctbGVmdDogMS43cmVtOwp9CgoucGFzc2FnZSBsaSB7CgltYXJnaW4tYm90dG9tOiAwLjVyZW07Cn0KCi5wYXNzYWdlIGhyIHsKCW1hcmdpbjogMS44cmVtIDA7Cglib3JkZXI6IDA7Cglib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTRVJJRVMgTElCUkFSWSBQQUdFCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKYm9keVtkYXRhLXRhZ3N+PSJzZXJpZXMtbGlicmFyeSJdICNzdG9yeSB7CgltYXJnaW4tcmlnaHQ6IDJlbTsKfQoKYm9keVtkYXRhLXRhZ3N+PSJzZXJpZXMtbGlicmFyeSJdICNwYXNzYWdlcyB7CgltYXgtd2lkdGg6IDE1MDBweDsKfQoKYm9keVtkYXRhLXRhZ3N+PSJzZXJpZXMtbGlicmFyeSJdIC5wYXNzYWdlIHsKCXBhZGRpbmc6IDA7CgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKCWJvcmRlcjogMDsKCWJveC1zaGFkb3c6IG5vbmU7Cn0KCmJvZHlbZGF0YS10YWdzfj0ic2VyaWVzLWxpYnJhcnkiXSAucGFzc2FnZTo6YmVmb3JlIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCi50bWItbGlicmFyeSB7CgltYXgtd2lkdGg6IDE1MDBweDsKCW1hcmdpbjogMCBhdXRvOwoJcGFkZGluZzogMzJweCAyNHB4IDQ4cHg7Cgljb2xvcjogI2U2ZGNjNTsKfQoKLnRtYi1saWJyYXJ5LWhlYWRlciB7CgltYXgtd2lkdGg6IDEzMjBweDsKCW1hcmdpbjogMCBhdXRvIDQycHg7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTRVJJRVMgSEVBREVSIElNQUdFCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1zZXJpZXMtaGVhZGVyLWltYWdlIHsKCXdpZHRoOiAxMDAlOwoJbWF4LXdpZHRoOiAxMTgwcHg7CgltYXJnaW46IDAgYXV0bzsKCW92ZXJmbG93OiB2aXNpYmxlOwoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cglib3gtc2hhZG93OiBub25lOwp9CgoudG1iLXNlcmllcy1oZWFkZXItaW1hZ2UgaW1nIHsKCWRpc3BsYXk6IGJsb2NrOwoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IGF1dG87CgltYXJnaW46IDA7Cglib3JkZXI6IDA7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTRVJJRVMgSU5UUk9EVUNUSU9OIEJBTk5FUgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi50bWItbGlicmFyeS1pbnRybyB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJbWF4LXdpZHRoOiA5MDBweDsKCW1hcmdpbjogNDZweCBhdXRvIDA7CglwYWRkaW5nOiAyOHB4IDQycHggMjdweDsKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTM1ZGVnLAoJCQlyZ2JhKDQ4LCA1MCwgMzksIDAuOTcpLAoJCQlyZ2JhKDE5LCAyMSwgMTcsIDAuOTkpCgkJKTsKCWJvcmRlci10b3A6IDFweCBzb2xpZCAjNzc2OTQ1OwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3NzY5NDU7Cglib3gtc2hhZG93OgoJCTAgMTRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC40NCksCgkJaW5zZXQgMCAwIDM0cHggcmdiYSgwLCAwLCAwLCAwLjMpOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQpOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgoudG1iLWxpYnJhcnktaW50cm86OmJlZm9yZSwKLnRtYi1saWJyYXJ5LWludHJvOjphZnRlciB7Cgljb250ZW50OiAiIjsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXRvcDogMDsKCXdpZHRoOiA2cHg7CgloZWlnaHQ6IDEwMCU7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJdG8gYm90dG9tLAoJCQl2YXIoLS10bWItcmVkKSwKCQkJdmFyKC0tdG1iLXllbGxvdyksCgkJCXZhcigtLXRtYi1yZWQpCgkJKTsKfQoKLnRtYi1saWJyYXJ5LWludHJvOjpiZWZvcmUgewoJbGVmdDogMDsKfQoKLnRtYi1saWJyYXJ5LWludHJvOjphZnRlciB7CglyaWdodDogMDsKfQoKLnRtYi1pbnRyby1sYWJlbCB7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CgltYXJnaW4tYm90dG9tOiAxM3B4OwoJcGFkZGluZzogMCA4cHggN3B4OwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNTYsIDU4LCAwLjYyKTsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuNzZyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMTZlbTsKCWxpbmUtaGVpZ2h0OiAxLjI7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLWxpYnJhcnktaW50cm8gcCB7CgltYXgtd2lkdGg6IDc4MHB4OwoJbWFyZ2luOiAwIGF1dG87Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAxLjA1cmVtOwoJZm9udC1zdHlsZTogaXRhbGljOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDEyZW07CglsaW5lLWhlaWdodDogMS42NTsKCXRleHQtc2hhZG93OiAxcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNzIpOwp9CgoudG1iLWxpYnJhcnktaW50cm8gcDo6Zmlyc3QtbGV0dGVyIHsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKCWZvbnQtc2l6ZTogMS40NWVtOwoJZm9udC1zdHlsZTogbm9ybWFsOwoJZm9udC13ZWlnaHQ6IDcwMDsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJPT0sgR1JJRAogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi50bWItYm9vay1ncmlkIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7CglhbGlnbi1pdGVtczogc3RyZXRjaDsKCW1heC13aWR0aDogMTMyMHB4OwoJbWFyZ2luOiAwIGF1dG87CglnYXA6IDMwcHg7Cn0KCi50bWItYm9vay1jYXJkIHsKCWRpc3BsYXk6IGZsZXg7CglmbGV4LWRpcmVjdGlvbjogY29sdW1uOwoJd2lkdGg6IDEwMCU7CgltaW4td2lkdGg6IDA7CglvdmVyZmxvdzogaGlkZGVuOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE0NWRlZywKCQkJIzFiMWMxNyAwJSwKCQkJIzExMTIwZiAxMDAlCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkICM1ZjU0M2U7Cglib3gtc2hhZG93OgoJCTAgMTBweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC40MiksCgkJaW5zZXQgMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjE4KTsKCXRyYW5zaXRpb246CgkJdHJhbnNmb3JtIDE4MG1zIGVhc2UsCgkJYm9yZGVyLWNvbG9yIDE4MG1zIGVhc2UsCgkJYm94LXNoYWRvdyAxODBtcyBlYXNlOwp9CgoudG1iLWJvb2stY2FyZC5hdmFpbGFibGU6aG92ZXIgewoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOwoJYm9yZGVyLWNvbG9yOiAjYzc5YTNiOwoJYm94LXNoYWRvdzoKCQkwIDE3cHggMzZweCByZ2JhKDAsIDAsIDAsIDAuNTgpLAoJCTAgMCAxOHB4IHJnYmEoMTk5LCAxNTQsIDU5LCAwLjEpOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQk9PSyBDT1ZFUlMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLWNvdmVyLXdyYXAgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJYXNwZWN0LXJhdGlvOiAyIC8gMzsKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOiAjMGIwYzBhOwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1ZjU0M2U7Cn0KCi50bWItY292ZXItd3JhcCBpbWcgewoJZGlzcGxheTogYmxvY2s7Cgl3aWR0aDogMTAwJTsKCWhlaWdodDogMTAwJTsKCW1hcmdpbjogMDsKCW9iamVjdC1maXQ6IGNvdmVyOwoJb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7Cgl0cmFuc2l0aW9uOgoJCXRyYW5zZm9ybSAzMDBtcyBlYXNlLAoJCWZpbHRlciAzMDBtcyBlYXNlOwp9CgoudG1iLWJvb2stY2FyZC5hdmFpbGFibGU6aG92ZXIgLnRtYi1jb3Zlci13cmFwIGltZyB7Cgl0cmFuc2Zvcm06IHNjYWxlKDEuMDE4KTsKfQoKLnRtYi1jb3Zlci1wbGFjZWhvbGRlciB7CglkaXNwbGF5OiBmbGV4OwoJYm94LXNpemluZzogYm9yZGVyLWJveDsKCWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CglhbGlnbi1pdGVtczogY2VudGVyOwoJanVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cgl3aWR0aDogMTAwJTsKCWhlaWdodDogMTAwJTsKCXBhZGRpbmc6IDI0cHg7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJcmdiYSgxNSwgMTcsIDE0LCAwLjY2KSwKCQkJcmdiYSgxNSwgMTcsIDE0LCAwLjkyKQoJCSksCgkJcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgKCQkJMTM1ZGVnLAoJCQkjMjQyODFmIDAsCgkJCSMyNDI4MWYgMTJweCwKCQkJIzFiMWUxOCAxMnB4LAoJCQkjMWIxZTE4IDI0cHgKCQkpOwoJY29sb3I6ICM5OThlNzc7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1jb3Zlci1wbGFjZWhvbGRlciBzcGFuIHsKCW1hcmdpbi1ib3R0b206IDEwcHg7Cgljb2xvcjogI2JjOTEzODsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuOHJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4xMmVtOwp9CgoudG1iLWNvdmVyLXBsYWNlaG9sZGVyIHN0cm9uZyB7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAxcmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA0NWVtOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQk9PSyBTVEFUVVMgTEFCRUxTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1jYXJkLXN0YXR1cywKLnRtYi1jYXJkLWxvY2sgewoJcG9zaXRpb246IGFic29sdXRlOwoJei1pbmRleDogMjsKCXRvcDogMTRweDsKCXJpZ2h0OiAxNHB4OwoJcGFkZGluZzogN3B4IDEwcHg7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpOwoJYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNDUpOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMC43cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA2NWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmF2YWlsYWJsZS1zdGF0dXMgewoJYmFja2dyb3VuZDogIzg4NjkxZjsKCWNvbG9yOiAjZmZmNGQ0Owp9CgouY29tcGxldGUtc3RhdHVzIHsKCWJhY2tncm91bmQ6ICMzNTVkM2M7Cgljb2xvcjogI2U3ZjNlODsKfQoKLnRtYi1jYXJkLWxvY2sgewoJYmFja2dyb3VuZDogcmdiYSg5NCwgMzUsIDI5LCAwLjk1KTsKCWNvbG9yOiAjZjBkYWQ0Owp9CgoudG1iLWJvb2stY2FyZC5sb2NrZWQgLnRtYi1jb3Zlci13cmFwIHsKCWZpbHRlcjogc2F0dXJhdGUoMC4zNSk7Cn0KCi50bWItYm9vay1jYXJkLmxvY2tlZCAudG1iLWNvdmVyLXBsYWNlaG9sZGVyIHsKCW9wYWNpdHk6IDAuNzI7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBCT09LIENBUkQgQ09OVEVOVAogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi50bWItY2FyZC1jb250ZW50IHsKCWRpc3BsYXk6IGZsZXg7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJZmxleDogMTsKCWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CglwYWRkaW5nOiAyMHB4Owp9CgoudG1iLWJvb2stbnVtYmVyIHsKCW1hcmdpbi1ib3R0b206IDZweDsKCWNvbG9yOiAjYzY5YTNjOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMC43MnJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4xMWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1jYXJkLWNvbnRlbnQgaDIgewoJbWFyZ2luOiAwIDAgMTJweDsKCWNvbG9yOiAjZWZlNGNiOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMS4ycmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwoJbGluZS1oZWlnaHQ6IDEuMjU7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLWNhcmQtY29udGVudCBwIHsKCWZsZXg6IDE7CgltYXJnaW46IDAgMCAyMHB4OwoJY29sb3I6ICNiZGIzOWY7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAwLjg5cmVtOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDA4ZW07CglsaW5lLWhlaWdodDogMS41NTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJPT0sgQ0FSRCBBQ1RJT05TCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1jYXJkLWFjdGlvbnMgYSB7CglkaXNwbGF5OiBibG9jazsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7Cgl3aWR0aDogMTAwJTsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDExcHggMTRweDsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJIzc1MzAyNywKCQkJIzU2MjMxZQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCAjYTU0YTNjOwoJYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB2YXIoLS10bWIteWVsbG93KTsKCWJvcmRlci1yYWRpdXM6IDA7Cgljb2xvcjogI2ZmZjFkNjsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuODJyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDM1ZW07CglsaW5lLWhlaWdodDogMS4zOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKCXRyYW5zaXRpb246CgkJYmFja2dyb3VuZC1jb2xvciAxNjBtcyBlYXNlLAoJCWJvcmRlci1jb2xvciAxNjBtcyBlYXNlLAoJCWNvbG9yIDE2MG1zIGVhc2U7Cn0KCi50bWItY2FyZC1hY3Rpb25zIGE6OmFmdGVyIHsKCWNvbnRlbnQ6IG5vbmU7Cn0KCi50bWItY2FyZC1hY3Rpb25zIGE6aG92ZXIsCmh0bWxbZGF0YS1vdXRsaW5lc10gLnRtYi1jYXJkLWFjdGlvbnMgYTpmb2N1cyB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCSM5NjNlMzEsCgkJCSM2ZDJjMjUKCQkpOwoJYm9yZGVyLWNvbG9yOiAjZDI2NjUwOwoJYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXRtYi15ZWxsb3ctbGlnaHQpOwoJY29sb3I6ICNmZmY7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cgl0cmFuc2Zvcm06IG5vbmU7Cn0KCi50bWItdW5hdmFpbGFibGUgewoJZGlzcGxheTogYmxvY2s7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJd2lkdGg6IDEwMCU7CglwYWRkaW5nOiAxMXB4IDE0cHg7CgliYWNrZ3JvdW5kOiAjMjcyNzIxOwoJYm9yZGVyOiAxcHggc29saWQgIzRhNDYzYjsKCWJvcmRlci1sZWZ0OiA1cHggc29saWQgIzU1NTM0ODsKCWNvbG9yOiAjODE3YjZmOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMC43OHJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wMzVlbTsKCWxpbmUtaGVpZ2h0OiAxLjM7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU0VSSUVTIExJQlJBUlkgRk9PVEVSCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1saWJyYXJ5LWZvb3RlciB7CgltYXgtd2lkdGg6IDEzMjBweDsKCW1hcmdpbjogMzhweCBhdXRvIDA7CglwYWRkaW5nLXRvcDogMjJweDsKCWJvcmRlci10b3A6IDFweCBzb2xpZCAjNTE0YTNiOwoJY29sb3I6ICM5OThmN2I7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi50bWItbGlicmFyeS1mb290ZXIgcCB7CgltYXJnaW46IDA7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAwLjlyZW07CglsaW5lLWhlaWdodDogMS41Owp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgVkVSVElDQUwgUEFTU0FHRSBDSE9JQ0UgQkFSUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5wYXNzYWdlIGEubGluay1pbnRlcm5hbCwKLnBhc3NhZ2UgYS5tYWNyby1saW5rLAoucGFzc2FnZSBidXR0b24gewoJcG9zaXRpb246IHJlbGF0aXZlOwoJZGlzcGxheTogYmxvY2s7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJd2lkdGg6IDEwMCU7CgltYXJnaW46IDAuNjVyZW0gMDsKCXBhZGRpbmc6IDAuOXJlbSAzcmVtIDAuOXJlbSAxLjJyZW07CglvdmVyZmxvdzogaGlkZGVuOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQlyZ2JhKDcyLCA3NCwgNTgsIDAuOTYpLAoJCQlyZ2JhKDM1LCAzOCwgMzAsIDAuOTgpCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRtYi1vbGl2ZS1saWdodCk7Cglib3JkZXItbGVmdDogNnB4IHNvbGlkIHZhcigtLXRtYi15ZWxsb3cpOwoJYm9yZGVyLXJhZGl1czogMDsKCWJveC1zaGFkb3c6CgkJMCA1cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuMzQpLAoJCWluc2V0IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMjUpOwoJY29sb3I6ICNmMWU1Y2E7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAwLjkycmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjAzNWVtOwoJbGluZS1oZWlnaHQ6IDEuMzU7Cgl0ZXh0LWFsaWduOiBsZWZ0OwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKCXRyYW5zaXRpb246CgkJdHJhbnNmb3JtIDE2MG1zIGVhc2UsCgkJYmFja2dyb3VuZC1jb2xvciAxNjBtcyBlYXNlLAoJCWJvcmRlci1jb2xvciAxNjBtcyBlYXNlLAoJCWNvbG9yIDE2MG1zIGVhc2UsCgkJYm94LXNoYWRvdyAxNjBtcyBlYXNlOwp9CgoucGFzc2FnZSBhLmxpbmstaW50ZXJuYWw6OmFmdGVyLAoucGFzc2FnZSBhLm1hY3JvLWxpbms6OmFmdGVyIHsKCWNvbnRlbnQ6ICLigLoiOwoJcG9zaXRpb246IGFic29sdXRlOwoJdG9wOiA1MCU7CglyaWdodDogMS4xNXJlbTsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKCWZvbnQtc2l6ZTogMS42cmVtOwoJZm9udC13ZWlnaHQ6IDQwMDsKCWxpbmUtaGVpZ2h0OiAxOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01NCUpOwoJdHJhbnNpdGlvbjoKCQlyaWdodCAxNjBtcyBlYXNlLAoJCWNvbG9yIDE2MG1zIGVhc2U7Cn0KCi5wYXNzYWdlIGEubGluay1pbnRlcm5hbDpob3ZlciwKLnBhc3NhZ2UgYS5tYWNyby1saW5rOmhvdmVyLAoucGFzc2FnZSBidXR0b246aG92ZXIsCmh0bWxbZGF0YS1vdXRsaW5lc10gLnBhc3NhZ2UgYS5saW5rLWludGVybmFsOmZvY3VzLApodG1sW2RhdGEtb3V0bGluZXNdIC5wYXNzYWdlIGEubWFjcm8tbGluazpmb2N1cywKaHRtbFtkYXRhLW91dGxpbmVzXSAucGFzc2FnZSBidXR0b246Zm9jdXMgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQl2YXIoLS10bWItcmVkLWxpZ2h0KSwKCQkJdmFyKC0tdG1iLXJlZCkKCQkpOwoJYm9yZGVyLWNvbG9yOiAjYmQ2YjUzOwoJYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXRtYi15ZWxsb3ctbGlnaHQpOwoJYm94LXNoYWRvdzoKCQkwIDhweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC40OCksCgkJaW5zZXQgMCAwIDIwcHggcmdiYSgyNTUsIDIwNCwgMTAyLCAwLjA0KTsKCWNvbG9yOiAjZmZmM2Q4OwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDdweCk7Cn0KCi5wYXNzYWdlIGEubGluay1pbnRlcm5hbDpob3Zlcjo6YWZ0ZXIsCi5wYXNzYWdlIGEubWFjcm8tbGluazpob3Zlcjo6YWZ0ZXIgewoJcmlnaHQ6IDAuOHJlbTsKCWNvbG9yOiAjZmZmM2Q4Owp9CgoucGFzc2FnZSBhLmxpbmstdmlzaXRlZCB7Cglib3JkZXItbGVmdC1jb2xvcjogIzgwNzk2NzsKCWNvbG9yOiAjYzdiZGE4Owp9CgoucGFzc2FnZSBhLmxpbmstYnJva2VuIHsKCWJhY2tncm91bmQ6ICMzYzE3MTQ7Cglib3JkZXItY29sb3I6ICM4YzM1MmM7Cglib3JkZXItbGVmdC1jb2xvcjogI2M2NGQzYzsKCWNvbG9yOiAjZjFjM2I5Owp9CgoucGFzc2FnZSBzcGFuLmxpbmstZGlzYWJsZWQgewoJZGlzcGxheTogYmxvY2s7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJd2lkdGg6IDEwMCU7CgltYXJnaW46IDAuNjVyZW0gMDsKCXBhZGRpbmc6IDAuOXJlbSAxLjJyZW07CgliYWNrZ3JvdW5kOiAjMjAyMTFkOwoJYm9yZGVyOiAxcHggc29saWQgIzQ0NDQzYjsKCWJvcmRlci1sZWZ0OiA2cHggc29saWQgIzU1NTU0YzsKCWNvbG9yOiAjNzc3NTY4OwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMC45MnJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wMzVlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi8qIFByZXZlbnQgbGlicmFyeSBsaW5rcyBmcm9tIGluaGVyaXRpbmcgc3RvcnktY2hvaWNlIGZvcm1hdHRpbmcgKi8KCi50bWItbGlicmFyeSAudG1iLWNhcmQtYWN0aW9ucyBhIHsKCXRyYW5zZm9ybTogbm9uZTsKfQoKLnRtYi1saWJyYXJ5IC50bWItY2FyZC1hY3Rpb25zIGE6aG92ZXIgewoJdHJhbnNmb3JtOiBub25lOwp9CgoudG1iLWxpYnJhcnkgLnRtYi1jYXJkLWFjdGlvbnMgYTo6YWZ0ZXIgewoJY29udGVudDogbm9uZTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNVR0FSQ1VCRSBTSURFQkFSCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI3VpLWJhciB7Cgl3aWR0aDogMThlbTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQlyZ2JhKDIzLCAyNSwgMjAsIDAuOTcpLAoJCQlyZ2JhKDksIDEwLCA4LCAwLjk5KQoJCSk7Cglib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCWJveC1zaGFkb3c6IDhweCAwIDI4cHggcmdiYSgwLCAwLCAwLCAwLjQ4KTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cgl0ZXh0LWFsaWduOiBsZWZ0Owp9CgojdWktYmFyOjpiZWZvcmUgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgl0b3A6IDA7CglyaWdodDogMDsKCXdpZHRoOiA0cHg7CgloZWlnaHQ6IDEwMCU7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJdmFyKC0tdG1iLXJlZCksCgkJCXZhcigtLXRtYi15ZWxsb3cpLAoJCQl2YXIoLS10bWItcmVkKQoJCSk7CglvcGFjaXR5OiAwLjU1OwoJcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCiN1aS1iYXIuc3Rvd2VkIHsKCWxlZnQ6IC0xNmVtOwp9CgojdWktYmFyLWJvZHkgewoJaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjJlbSk7CgltYXJnaW46IDMuMmVtIDAgMDsKCXBhZGRpbmc6IDAgMS4xNXJlbSAycmVtOwoJbGluZS1oZWlnaHQ6IDEuNTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNJREVCQVIgVElUTEUKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojdGl0bGUgewoJcGFkZGluZzogMXJlbSAwIDEuMjVyZW07Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCiNzdG9yeS10aXRsZSB7CgltYXJnaW46IDA7Cgljb2xvcjogdmFyKC0tdG1iLXllbGxvdy1saWdodCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAxLjRyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDU1ZW07CglsaW5lLWhlaWdodDogMS4wODsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cgl0ZXh0LXNoYWRvdzogMnB4IDJweCAwICMwMDA7Cn0KCiNzdG9yeS1zdWJ0aXRsZSB7CgltYXJnaW4tdG9wOiAwLjQ1cmVtOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtZGltKTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuNzJyZW07CglsZXR0ZXItc3BhY2luZzogMC4wNzVlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCiNzdG9yeS1hdXRob3IgewoJbWFyZ2luOiAwLjY1cmVtIDAgMDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWRpbSk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAwLjc0cmVtOwoJZm9udC13ZWlnaHQ6IDQwMDsKCWxldHRlci1zcGFjaW5nOiAwLjAzNWVtOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU0lERUJBUiBDT05UUk9MIFRSQVkKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojdWktYmFyLXRyYXkgewoJdG9wOiAwLjRyZW07CglsZWZ0OiAwLjQ1cmVtOwoJcmlnaHQ6IDAuNDVyZW07Cn0KCiN1aS1iYXItdHJheSBidXR0b24gewoJYmFja2dyb3VuZDogIzFjMWUxOTsKCWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwoJYm9yZGVyLXJhZGl1czogMDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cn0KCiN1aS1iYXItdHJheSBidXR0b246aG92ZXIsCmh0bWxbZGF0YS1vdXRsaW5lc10gI3VpLWJhci10cmF5IGJ1dHRvbjpmb2N1cyB7CgliYWNrZ3JvdW5kOiB2YXIoLS10bWItcmVkKTsKCWJvcmRlci1jb2xvcjogdmFyKC0tdG1iLXllbGxvdyk7Cgljb2xvcjogI2ZmZjNkODsKfQoKYnV0dG9uI3VpLWJhci10b2dnbGUgewoJcmlnaHQ6IDA7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNJREVCQVIgTUVOVSBCQVJTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI21lbnUgewoJbWFyZ2luLXRvcDogMS4yNXJlbTsKfQoKI21lbnUgdWwgewoJbWFyZ2luOiAwLjc1cmVtIDAgMDsKCXBhZGRpbmc6IDA7Cglib3JkZXI6IDA7CglsaXN0LXN0eWxlOiBub25lOwp9CgojbWVudSBsaSwKI21lbnUgbGk6bm90KDpmaXJzdC1jaGlsZCkgewoJbWFyZ2luOiAwIDAgMC40NXJlbTsKCWJvcmRlcjogMDsKfQoKI21lbnUgbGkgYSB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBibG9jazsKCXBhZGRpbmc6IDAuN3JlbSAycmVtIDAuN3JlbSAwLjhyZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCSMzNTM4MmMsCgkJCSMxZTIxMWEKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgIzRmNTM0MTsKCWJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tdG1iLXllbGxvdyk7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAwLjc2cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA0NWVtOwoJbGluZS1oZWlnaHQ6IDEuMzsKCXRleHQtYWxpZ246IGxlZnQ7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwoJdHJhbnNpdGlvbjoKCQl0cmFuc2Zvcm0gMTUwbXMgZWFzZSwKCQliYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGVhc2UsCgkJYm9yZGVyLWNvbG9yIDE1MG1zIGVhc2UsCgkJY29sb3IgMTUwbXMgZWFzZTsKfQoKI21lbnUgbGkgYTo6YWZ0ZXIgewoJY29udGVudDogIuKAuiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgl0b3A6IDUwJTsKCXJpZ2h0OiAwLjc1cmVtOwoJY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwoJZm9udC1zaXplOiAxLjJyZW07Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU0JSk7Cn0KCiNtZW51IGxpIGE6aG92ZXIsCmh0bWxbZGF0YS1vdXRsaW5lc10gI21lbnUgbGkgYTpmb2N1cyB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXZhcigtLXRtYi1yZWQtbGlnaHQpLAoJCQl2YXIoLS10bWItcmVkKQoJCSk7Cglib3JkZXItY29sb3I6ICNhODVhNDY7Cglib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tdG1iLXllbGxvdy1saWdodCk7Cgljb2xvcjogI2ZmZjNkODsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOwp9CgojbWVudS1jb3JlIGxpW2lkfD0ibWVudS1pdGVtIl0gYTo6YmVmb3JlIHsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCXdpZHRoOiAxLjE1cmVtOwoJbWFyZ2luLXJpZ2h0OiAwLjNyZW07Cgljb2xvcjogdmFyKC0tdG1iLXllbGxvdy1saWdodCk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTSURFQkFSIElORk9STUFUSU9OIFBBTkVMUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNzdG9yeS1jYXB0aW9uIHsKCW1hcmdpbi10b3A6IDEuMjVyZW07Cn0KCi50bWItc2lkZWJhci1wYW5lbCB7CgltYXJnaW4tYm90dG9tOiAxcmVtOwoJYmFja2dyb3VuZDogcmdiYSgyNSwgMjcsIDIyLCAwLjg0KTsKCWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwoJYm94LXNoYWRvdzogMCA1cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuMjUpOwp9CgoudG1iLXNpZGViYXItcGFuZWwtdGl0bGUgewoJcGFkZGluZzogMC41NXJlbSAwLjdyZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXZhcigtLXRtYi1yZWQpLAoJCQkjMzUyMTFiCgkJKTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCWNvbG9yOiAjZjFkZmI3OwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMC43MXJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wN2VtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1zaWRlYmFyLXBhbmVsLWNvbnRlbnQgewoJcGFkZGluZzogMC43NXJlbTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWRpbSk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAwLjc4cmVtOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDA4ZW07CglsaW5lLWhlaWdodDogMS41Owp9CgoudG1iLXNpZGViYXItcm93IHsKCWRpc3BsYXk6IGZsZXg7CglqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CglnYXA6IDAuNzVyZW07CglwYWRkaW5nOiAwLjNyZW0gMDsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDExNiwgMTA1LCA3NywgMC4yOCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwp9CgoudG1iLXNpZGViYXItcm93Omxhc3QtY2hpbGQgewoJYm9yZGVyLWJvdHRvbTogMDsKfQoKLnRtYi1zaWRlYmFyLXJvdyBzcGFuIHsKCWNvbG9yOiAjOTE4ODczOwp9CgoudG1iLXNpZGViYXItcm93IHN0cm9uZyB7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cgl0ZXh0LWFsaWduOiByaWdodDsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIElOUFVUUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCmlucHV0LApzZWxlY3QsCnRleHRhcmVhIHsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7CgliYWNrZ3JvdW5kOiAjMTAxMTBlOwoJYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cglib3JkZXItcmFkaXVzOiAwOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQpOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKfQoKaW5wdXQ6aG92ZXIsCmlucHV0OmZvY3VzLApzZWxlY3Q6aG92ZXIsCnNlbGVjdDpmb2N1cywKdGV4dGFyZWE6aG92ZXIsCnRleHRhcmVhOmZvY3VzIHsKCWJhY2tncm91bmQ6ICMxYTFjMTc7Cglib3JkZXItY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwoJb3V0bGluZTogbm9uZTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIERJQUxPR1MKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojdWktb3ZlcmxheS5vcGVuIHsKCW9wYWNpdHk6IDAuODY7Cn0KCiN1aS1kaWFsb2ctdGl0bGViYXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQl2YXIoLS10bWItcmVkKSwKCQkJIzNiMjExYQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKfQoKI3VpLWRpYWxvZy10aXRsZSB7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1saWdodCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA2ZW07Cn0KCiN1aS1kaWFsb2ctY2xvc2UgewoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQpOwp9CgojdWktZGlhbG9nLWNsb3NlOmhvdmVyLApodG1sW2RhdGEtb3V0bGluZXNdICN1aS1kaWFsb2ctY2xvc2U6Zm9jdXMgewoJYmFja2dyb3VuZDogdmFyKC0tdG1iLXJlZC1saWdodCk7Cglib3JkZXItY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwp9CgojdWktZGlhbG9nLWJvZHkgewoJYmFja2dyb3VuZDogIzEyMTMwZjsKCWJvcmRlci1jb2xvcjogdmFyKC0tdG1iLWJvcmRlcik7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwp9CgojdWktZGlhbG9nLWJvZHkgYnV0dG9uIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJIzQ5NGIzYywKCQkJIzI5MmIyMwoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItb2xpdmUtbGlnaHQpOwoJYm9yZGVyLXJhZGl1czogMDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cn0KCiN1aS1kaWFsb2ctYm9keSBidXR0b246aG92ZXIsCmh0bWxbZGF0YS1vdXRsaW5lc10gI3VpLWRpYWxvZy1ib2R5IGJ1dHRvbjpmb2N1cyB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXZhcigtLXRtYi1yZWQtbGlnaHQpLAoJCQl2YXIoLS10bWItcmVkKQoJCSk7Cglib3JkZXItY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwoJY29sb3I6ICNmZmYzZDg7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTQ1JPTExCQVJTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CgliYWNrZ3JvdW5kOiAjMGIwYzA5Owp9Cgo6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKCWJhY2tncm91bmQ6ICM0ZTRhMzk7Cglib3JkZXI6IDFweCBzb2xpZCAjMTcxODEyOwp9Cgo6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKCWJhY2tncm91bmQ6IHZhcigtLXRtYi1yZWQpOwp9CgoqIHsKCXNjcm9sbGJhci1jb2xvcjogIzRlNGEzOSAjMGIwYzA5OwoJc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgRk9OVCBFTkZPUkNFTUVOVAogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCmh0bWwsCmJvZHksCiNzdG9yeSwKI3Bhc3NhZ2VzLAoucGFzc2FnZSwKI3VpLWJhciwKI3VpLWRpYWxvZywKYnV0dG9uLAppbnB1dCwKc2VsZWN0LAp0ZXh0YXJlYSwKLnBhc3NhZ2UgaDEsCi5wYXNzYWdlIGgyLAoucGFzc2FnZSBoMywKLnBhc3NhZ2UgcCwKLnBhc3NhZ2Ugc3Ryb25nLAoucGFzc2FnZSBhLAoudG1iLWxpYnJhcnksCi50bWItbGlicmFyeS1pbnRybywKLnRtYi1saWJyYXJ5LWludHJvIHAsCi50bWItaW50cm8tbGFiZWwsCi50bWItY292ZXItcGxhY2Vob2xkZXIsCi50bWItY2FyZC1zdGF0dXMsCi50bWItY2FyZC1sb2NrLAoudG1iLWJvb2stbnVtYmVyLAoudG1iLWNhcmQtY29udGVudCBoMiwKLnRtYi1jYXJkLWNvbnRlbnQgcCwKLnRtYi1jYXJkLWFjdGlvbnMgYSwKLnRtYi11bmF2YWlsYWJsZSwKI3N0b3J5LXRpdGxlLAojc3Rvcnktc3VidGl0bGUsCiNzdG9yeS1hdXRob3IsCiNtZW51IGxpIGEsCi50bWItc2lkZWJhci1wYW5lbC10aXRsZSwKLnRtYi1zaWRlYmFyLXBhbmVsLWNvbnRlbnQsCi50bWItc2lkZWJhci1yb3csCiN1aS1kaWFsb2ctdGl0bGUsCiN1aS1kaWFsb2ctYm9keSB7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgUkVTUE9OU0lWRTogU01BTExFUiBERVNLVE9QUyBBTkQgVEFCTEVUUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMzZweCkgewoJI3N0b3J5IHsKCQltYXJnaW4tbGVmdDogMTllbTsKCQltYXJnaW4tcmlnaHQ6IDEuNWVtOwoJfQoKCS50bWItYm9vay1ncmlkIHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CgkJbWF4LXdpZHRoOiA4ODBweDsKCQlnYXA6IDI2cHg7Cgl9Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBSRVNQT05TSVZFOiBNT0JJTEUgU0lERUJBUiBMQVlPVVQKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewoJI3N0b3J5IHsKCQltYXJnaW46IDEuMnJlbSAxcmVtIDJyZW0gMy44cmVtOwoJfQoKCWJvZHlbZGF0YS10YWdzfj0ic2VyaWVzLWxpYnJhcnkiXSAjc3RvcnkgewoJCW1hcmdpbjogMS4ycmVtIDFyZW0gMnJlbSAzLjhyZW07Cgl9CgoJLnBhc3NhZ2UgewoJCXBhZGRpbmc6IDEuNnJlbSAxLjI1cmVtOwoJCWZvbnQtc2l6ZTogMC45OHJlbTsKCX0KCgkucGFzc2FnZSBhLmxpbmstaW50ZXJuYWwsCgkucGFzc2FnZSBhLm1hY3JvLWxpbmssCgkucGFzc2FnZSBidXR0b24gewoJCXBhZGRpbmc6IDAuODVyZW0gMi41cmVtIDAuODVyZW0gMXJlbTsKCQlmb250LXNpemU6IDAuODZyZW07Cgl9CgoJI3VpLWJhciB7CgkJd2lkdGg6IDE4ZW07Cgl9CgoJI3VpLWJhci5zdG93ZWQgewoJCWxlZnQ6IC0xNmVtOwoJfQoKCS50bWItbGlicmFyeSB7CgkJcGFkZGluZzogMjRweCAxNnB4IDQwcHg7Cgl9CgoJLnRtYi1saWJyYXJ5LWhlYWRlciB7CgkJbWFyZ2luLWJvdHRvbTogMzRweDsKCX0KCgkudG1iLWxpYnJhcnktaW50cm8gewoJCW1hcmdpbi10b3A6IDMycHg7CgkJcGFkZGluZzogMjVweCAyOHB4IDI0cHg7Cgl9CgoJLnRtYi1saWJyYXJ5LWludHJvIHAgewoJCWZvbnQtc2l6ZTogMC45OHJlbTsKCQlsaW5lLWhlaWdodDogMS42NTsKCX0KfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFJFU1BPTlNJVkU6IFBIT05FUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7Cgkjc3RvcnkgewoJCW1hcmdpbi1yaWdodDogMC42NXJlbTsKCX0KCgkudG1iLWxpYnJhcnkgewoJCXBhZGRpbmc6IDIwcHggMTBweCAzNnB4OwoJfQoKCS50bWItc2VyaWVzLWhlYWRlci1pbWFnZSB7CgkJbWF4LXdpZHRoOiAxMDAlOwoJfQoKCS50bWItbGlicmFyeS1pbnRybyB7CgkJbWFyZ2luLXRvcDogMjVweDsKCQlwYWRkaW5nOiAyM3B4IDIwcHggMjFweDsKCX0KCgkudG1iLWxpYnJhcnktaW50cm86OmJlZm9yZSwKCS50bWItbGlicmFyeS1pbnRybzo6YWZ0ZXIgewoJCXdpZHRoOiA0cHg7Cgl9CgoJLnRtYi1pbnRyby1sYWJlbCB7CgkJZm9udC1zaXplOiAwLjY3cmVtOwoJCWxldHRlci1zcGFjaW5nOiAwLjEyZW07Cgl9CgoJLnRtYi1saWJyYXJ5LWludHJvIHAgewoJCWZvbnQtc2l6ZTogMC45MnJlbTsKCQlsaW5lLWhlaWdodDogMS42OwoJfQoKCS50bWItYm9vay1ncmlkIHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKCQltYXgtd2lkdGg6IDQzMHB4OwoJCWdhcDogMjRweDsKCX0KCgkudG1iLWJvb2stY2FyZCB7CgkJd2lkdGg6IDEwMCU7CgkJbWFyZ2luOiAwIGF1dG87Cgl9CgoJLnBhc3NhZ2UgewoJCXBhZGRpbmc6IDEuMzVyZW0gMXJlbTsKCX0KCgkucGFzc2FnZSBoMSB7CgkJZm9udC1zaXplOiAxLjdyZW07CgkJbGV0dGVyLXNwYWNpbmc6IDAuMDU1ZW07Cgl9CgoJLnBhc3NhZ2UgaDIgewoJCWZvbnQtc2l6ZTogMS4zcmVtOwoJfQoKCS5wYXNzYWdlIGgzIHsKCQlmb250LXNpemU6IDEuMDVyZW07Cgl9Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBSRURVQ0VEIE1PVElPTgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CgkudG1iLWJvb2stY2FyZCwKCS50bWItY292ZXItd3JhcCBpbWcsCgkucGFzc2FnZSBhLmxpbmstaW50ZXJuYWwsCgkucGFzc2FnZSBhLm1hY3JvLWxpbmssCgkucGFzc2FnZSBidXR0b24sCgkjbWVudSBsaSBhIHsKCQl0cmFuc2l0aW9uOiBub25lOwoJfQoKCS50bWItYm9vay1jYXJkLmF2YWlsYWJsZTpob3ZlciwKCS50bWItYm9vay1jYXJkLmF2YWlsYWJsZTpob3ZlciAudG1iLWNvdmVyLXdyYXAgaW1nLAoJLnBhc3NhZ2UgYS5saW5rLWludGVybmFsOmhvdmVyLAoJLnBhc3NhZ2UgYS5tYWNyby1saW5rOmhvdmVyLAoJLnBhc3NhZ2UgYnV0dG9uOmhvdmVyLAoJI21lbnUgbGkgYTpob3ZlciB7CgkJdHJhbnNmb3JtOiBub25lOwoJfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBDQU1QQUlHTiBIVUIgVVBHUkFERQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi50bWItc2VjdGlvbi1oZWFkaW5nIHsKCW1hcmdpbjogMCAwIDEuNXJlbTsKCXRleHQtYWxpZ246IGxlZnQ7Cn0KCi50bWItc2VjdGlvbi1oZWFkaW5nID4gc3BhbiB7CglkaXNwbGF5OiBibG9jazsKCW1hcmdpbi1ib3R0b206IDAuMzVyZW07Cgljb2xvcjogdmFyKC0tdG1iLXllbGxvdyk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAwLjcycmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjE0ZW07CglsaW5lLWhlaWdodDogMS4yOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1zZWN0aW9uLWhlYWRpbmcgaDEgewoJbWFyZ2luOiAwOwoJcGFkZGluZzogMCAwIDAuNzVyZW07Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1saWdodCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiBjbGFtcCgxLjU1cmVtLCAzdncsIDIuMnJlbSk7Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTsKCWxpbmUtaGVpZ2h0OiAxLjE7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQ1VSUkVOVCBNSVNTSU9OCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1jdXJyZW50LW1pc3Npb24gewoJbWF4LXdpZHRoOiAxMzIwcHg7CgltYXJnaW46IDAgYXV0byAzcmVtOwp9CgoudG1iLWN1cnJlbnQtbWlzc2lvbi1jYXJkIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgyMjBweCwgMzIwcHgpIG1pbm1heCgwLCAxZnIpOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxMzVkZWcsCgkJCXJnYmEoMzksIDQyLCAzMywgMC45OCksCgkJCXJnYmEoMTUsIDE2LCAxMywgMC45OSkKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgIzc3Njk0NTsKCWJveC1zaGFkb3c6CgkJMCAxOHB4IDQycHggcmdiYSgwLCAwLCAwLCAwLjU2KSwKCQlpbnNldCAwIDAgMzRweCByZ2JhKDAsIDAsIDAsIDAuMjUpOwp9CgoudG1iLWN1cnJlbnQtY292ZXIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJbWluLWhlaWdodDogMzYwcHg7CglvdmVyZmxvdzogaGlkZGVuOwoJYmFja2dyb3VuZDogdmFyKC0tdG1iLWJsYWNrKTsKCWJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwp9CgoudG1iLWN1cnJlbnQtY292ZXIgaW1nIHsKCWRpc3BsYXk6IGJsb2NrOwoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IDEwMCU7CgltYXJnaW46IDA7CglvYmplY3QtZml0OiBjb3ZlcjsKCW9iamVjdC1wb3NpdGlvbjogY2VudGVyOwp9CgoudG1iLWN1cnJlbnQtY292ZXI6OmFmdGVyIHsKCWNvbnRlbnQ6ICIiOwoJcG9zaXRpb246IGFic29sdXRlOwoJaW5zZXQ6IDA7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJdG8gcmlnaHQsCgkJCXRyYW5zcGFyZW50IDYyJSwKCQkJcmdiYSgxMCwgMTEsIDksIDAuNTIpCgkJKTsKCXBvaW50ZXItZXZlbnRzOiBub25lOwp9CgoudG1iLWN1cnJlbnQtYmFkZ2UgewoJcG9zaXRpb246IGFic29sdXRlOwoJei1pbmRleDogMjsKCWxlZnQ6IDFyZW07Cglib3R0b206IDFyZW07CglwYWRkaW5nOiAwLjU1cmVtIDAuNzVyZW07CgliYWNrZ3JvdW5kOiByZ2JhKDkzLCAzNywgMzAsIDAuOTUpOwoJYm9yZGVyOiAxcHggc29saWQgI2I3NjU0ZjsKCWJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tdG1iLXllbGxvdyk7Cgljb2xvcjogI2ZmZjJkMjsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuNzZyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItY3VycmVudC1kZXRhaWxzIHsKCWRpc3BsYXk6IGZsZXg7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJbWluLXdpZHRoOiAwOwoJcGFkZGluZzogY2xhbXAoMS42cmVtLCA0dncsIDMuMnJlbSk7Cn0KCi50bWItY3VycmVudC1sYWJlbCB7CgltYXJnaW4tYm90dG9tOiAwLjY1cmVtOwoJY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMC43MnJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4xNGVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1jdXJyZW50LWRldGFpbHMgaDIgewoJbWFyZ2luOiAwIDAgMXJlbTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IGNsYW1wKDEuNnJlbSwgNHZ3LCAyLjY1cmVtKTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wNDVlbTsKCWxpbmUtaGVpZ2h0OiAxLjEyOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1jdXJyZW50LWRlc2NyaXB0aW9uIHsKCW1heC13aWR0aDogNzIwcHg7CgltYXJnaW46IDAgMCAxLjZyZW07Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAxcmVtOwoJbGluZS1oZWlnaHQ6IDEuNjU7Cn0KCi50bWItbWlzc2lvbi1zdGF0dXMtZ3JpZCB7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpOwoJbWFyZ2luOiAwIDAgMS42cmVtOwoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTE5LCAxMDUsIDY5LCAwLjY1KTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDExOSwgMTA1LCA2OSwgMC42NSk7Cn0KCi50bWItbWlzc2lvbi1zdGF0IHsKCW1pbi13aWR0aDogMDsKCXBhZGRpbmc6IDAuODVyZW0gMXJlbTsKCWJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTE5LCAxMDUsIDY5LCAwLjQ1KTsKfQoKLnRtYi1taXNzaW9uLXN0YXQ6Zmlyc3QtY2hpbGQgewoJcGFkZGluZy1sZWZ0OiAwOwp9CgoudG1iLW1pc3Npb24tc3RhdDpsYXN0LWNoaWxkIHsKCWJvcmRlci1yaWdodDogMDsKfQoKLnRtYi1taXNzaW9uLXN0YXQgc3BhbiwKLnRtYi1taXNzaW9uLXN0YXQgc3Ryb25nIHsKCWRpc3BsYXk6IGJsb2NrOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKfQoKLnRtYi1taXNzaW9uLXN0YXQgc3BhbiB7CgltYXJnaW4tYm90dG9tOiAwLjNyZW07Cgljb2xvcjogIzk5OGY3YjsKCWZvbnQtc2l6ZTogMC42N3JlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wOGVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1taXNzaW9uLXN0YXQgc3Ryb25nIHsKCW92ZXJmbG93LXdyYXA6IGFueXdoZXJlOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtbGlnaHQpOwoJZm9udC1zaXplOiAwLjg1cmVtOwoJbGluZS1oZWlnaHQ6IDEuMzU7Cn0KCi50bWItY3VycmVudC1hY3Rpb25zIHsKCW1heC13aWR0aDogNDIwcHg7Cn0KCi50bWItY3VycmVudC1hY3Rpb25zIGEgewoJZGlzcGxheTogYmxvY2s7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJd2lkdGg6IDEwMCU7CglwYWRkaW5nOiAwLjlyZW0gMS4xcmVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQl2YXIoLS10bWItcmVkLWxpZ2h0KSwKCQkJdmFyKC0tdG1iLXJlZCkKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgI2JkNmI1MzsKCWJvcmRlci1sZWZ0OiA2cHggc29saWQgdmFyKC0tdG1iLXllbGxvdy1saWdodCk7Cgljb2xvcjogI2ZmZjNkODsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuODhyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKCXRleHQtYWxpZ246IGNlbnRlcjsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItY3VycmVudC1hY3Rpb25zIGE6aG92ZXIsCmh0bWxbZGF0YS1vdXRsaW5lc10gLnRtYi1jdXJyZW50LWFjdGlvbnMgYTpmb2N1cyB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCSNiNTRlM2QsCgkJCSM3ZTMwMjgKCQkpOwoJYm9yZGVyLWNvbG9yOiB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKCWNvbG9yOiAjZmZmOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTk8gQ1VSUkVOVCBNSVNTSU9OCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1uby1jdXJyZW50LW1pc3Npb24gewoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglnYXA6IDEuNHJlbTsKCXBhZGRpbmc6IDEuOHJlbSAycmVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTEzNWRlZywKCQkJcmdiYSg0NSwgNDgsIDM4LCAwLjkzKSwKCQkJcmdiYSgxOSwgMjEsIDE3LCAwLjk4KQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCWJvcmRlci1sZWZ0OiA2cHggc29saWQgdmFyKC0tdG1iLXllbGxvdyk7Cglib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMzgpOwp9CgoudG1iLW5vLWN1cnJlbnQtbWFyayB7CglkaXNwbGF5OiBmbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJd2lkdGg6IDQuMnJlbTsKCWhlaWdodDogNC4ycmVtOwoJYmFja2dyb3VuZDogdmFyKC0tdG1iLXJlZCk7Cglib3JkZXI6IDFweCBzb2xpZCAjYTg1YTQ2OwoJY29sb3I6IHZhcigtLXRtYi15ZWxsb3ctbGlnaHQpOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMnJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi50bWItbm8tY3VycmVudC1taXNzaW9uIGgyIHsKCW1hcmdpbjogMCAwIDAuNDVyZW07Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1saWdodCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAxLjM1cmVtOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItbm8tY3VycmVudC1taXNzaW9uIHAgewoJbWFyZ2luOiAwIDAgMXJlbTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWRpbSk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJbGluZS1oZWlnaHQ6IDEuNTU7Cn0KCi50bWItc2Nyb2xsLWFjdGlvbiB7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CglwYWRkaW5nOiAwLjdyZW0gMXJlbTsKCWJhY2tncm91bmQ6ICMzNjM5MmQ7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItb2xpdmUtbGlnaHQpOwoJYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB2YXIoLS10bWIteWVsbG93KTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuNzhyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItc2Nyb2xsLWFjdGlvbjpob3ZlciwKaHRtbFtkYXRhLW91dGxpbmVzXSAudG1iLXNjcm9sbC1hY3Rpb246Zm9jdXMgewoJYmFja2dyb3VuZDogdmFyKC0tdG1iLXJlZCk7Cglib3JkZXItY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwoJY29sb3I6ICNmZmY7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTRVJJRVMgQ0FSRFMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLXNlcmllcy1ib29rcyB7CgltYXgtd2lkdGg6IDEzMjBweDsKCW1hcmdpbjogMCBhdXRvOwp9CgoudG1iLWJvb2stY2FyZC5jdXJyZW50IHsKCWJvcmRlci1jb2xvcjogdmFyKC0tdG1iLXllbGxvdy1saWdodCk7Cglib3gtc2hhZG93OgoJCTAgMTZweCAzOHB4IHJnYmEoMCwgMCwgMCwgMC42MiksCgkJMCAwIDAgMnB4IHJnYmEoMjAxLCAxNTYsIDU4LCAwLjE4KTsKfQoKLnRtYi1ib29rLWNhcmQuY29tcGxldGVkIHsKCWJvcmRlci1jb2xvcjogIzY2ODE2YTsKfQoKLnRtYi1jb3Zlci1sb2NrLW92ZXJsYXkgewoJcG9zaXRpb246IGFic29sdXRlOwoJei1pbmRleDogMTsKCWluc2V0OiAwOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCXJnYmEoNywgOCwgNywgMC4zKSwKCQkJcmdiYSg3LCA4LCA3LCAwLjcyKQoJCSk7Cglib3gtc2hhZG93OiBpbnNldCAwIDAgNTVweCByZ2JhKDAsIDAsIDAsIDAuNTIpOwoJcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi50bWItYm9vay1jYXJkLmxvY2tlZCAudG1iLWNvdmVyLXdyYXAgaW1nIHsKCWZpbHRlcjoKCQlzYXR1cmF0ZSgwLjQyKQoJCWJyaWdodG5lc3MoMC42NikKCQljb250cmFzdCgxLjA2KTsKfQoKLnRtYi1ib29rLWNhcmQubG9ja2VkOmhvdmVyIHsKCXRyYW5zZm9ybTogbm9uZTsKfQoKLmN1cnJlbnQtc3RhdHVzIHsKCWJhY2tncm91bmQ6IHZhcigtLXRtYi1yZWQpOwoJY29sb3I6ICNmZmYwZDI7Cn0KCi50bWItYm9vay1jYXJkLmxvY2tlZCAudG1iLWNhcmQtbG9jaywKLnRtYi1ib29rLWNhcmQubG9ja2VkIC50bWItY2FyZC1zdGF0dXMgewoJei1pbmRleDogMzsKfQoKLnRtYi1ib29rLWNhcmQgLnRtYi1jYXJkLWFjdGlvbnMgLnRtYi11bmF2YWlsYWJsZSB7CgltaW4taGVpZ2h0OiA0NHB4Owp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgRlVUVVJFIE1JU1NJT05TCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1mdXR1cmUtc2VjdGlvbiB7CgltYXgtd2lkdGg6IDEzMjBweDsKCW1hcmdpbjogMi41cmVtIGF1dG8gMDsKfQoKLnRtYi1mdXR1cmUtbWlzc2lvbnMgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTEzNWRlZywKCQkJIzFkMWYxOSwKCQkJIzExMTIwZgoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCWJveC1zaGFkb3c6IDAgMTBweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC4zNik7Cn0KCi50bWItZnV0dXJlLW1pc3Npb25zIHN1bW1hcnkgewoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CglnYXA6IDFyZW07CglwYWRkaW5nOiAxLjFyZW0gMS4yNXJlbTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJIzM1MzgyYywKCQkJIzFlMjExYQoJCSk7Cglib3JkZXItbGVmdDogNnB4IHNvbGlkIHZhcigtLXRtYi15ZWxsb3cpOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQpOwoJY3Vyc29yOiBwb2ludGVyOwoJbGlzdC1zdHlsZTogbm9uZTsKfQoKLnRtYi1mdXR1cmUtbWlzc2lvbnMgc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7CglkaXNwbGF5OiBub25lOwp9CgoudG1iLWZ1dHVyZS1taXNzaW9ucyBzdW1tYXJ5OjphZnRlciB7Cgljb250ZW50OiAiKyI7CglmbGV4OiAwIDAgYXV0bzsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDEuN3JlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMTsKfQoKLnRtYi1mdXR1cmUtbWlzc2lvbnNbb3Blbl0gc3VtbWFyeTo6YWZ0ZXIgewoJY29udGVudDogIuKIkiI7Cn0KCi50bWItZnV0dXJlLXN1bW1hcnktbGFiZWwgewoJZGlzcGxheTogYmxvY2s7Cn0KCi50bWItZnV0dXJlLXN1bW1hcnktbGFiZWwgc3BhbiwKLnRtYi1mdXR1cmUtc3VtbWFyeS1sYWJlbCBzdHJvbmcgewoJZGlzcGxheTogYmxvY2s7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwp9CgoudG1iLWZ1dHVyZS1zdW1tYXJ5LWxhYmVsIHNwYW4gewoJbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93KTsKCWZvbnQtc2l6ZTogMC42NXJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4xMmVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1mdXR1cmUtc3VtbWFyeS1sYWJlbCBzdHJvbmcgewoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtbGlnaHQpOwoJZm9udC1zaXplOiAxcmVtOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItZnV0dXJlLWNvdW50IHsKCW1hcmdpbi1sZWZ0OiBhdXRvOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtZGltKTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuNzZyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItZnV0dXJlLWNvbnRlbnQgewoJcGFkZGluZzogMS40cmVtOwoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwp9CgoudG1iLWZ1dHVyZS1jb250ZW50ID4gcCB7CgltYXgtd2lkdGg6IDc2MHB4OwoJbWFyZ2luOiAwIDAgMS4yNXJlbTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWRpbSk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAwLjlyZW07CglsaW5lLWhlaWdodDogMS41NTsKfQoKLnRtYi1mdXR1cmUtZ3JpZCB7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpOwoJZ2FwOiAwLjlyZW07Cn0KCi50bWItZnV0dXJlLWNhcmQgewoJcGFkZGluZzogMXJlbTsKCWJhY2tncm91bmQ6CgkJcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgKCQkJMTM1ZGVnLAoJCQkjMjQyODFmIDAsCgkJCSMyNDI4MWYgMTJweCwKCQkJIzFiMWUxOCAxMnB4LAoJCQkjMWIxZTE4IDI0cHgKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgIzQ4NDkzZDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWRpbSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi50bWItZnV0dXJlLWNhcmQgc3BhbiwKLnRtYi1mdXR1cmUtY2FyZCBzdHJvbmcsCi50bWItZnV0dXJlLWNhcmQgc21hbGwgewoJZGlzcGxheTogYmxvY2s7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1mdXR1cmUtY2FyZCBzcGFuIHsKCW1hcmdpbi1ib3R0b206IDAuNTVyZW07Cgljb2xvcjogdmFyKC0tdG1iLXllbGxvdyk7Cglmb250LXNpemU6IDAuNjdyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMWVtOwp9CgoudG1iLWZ1dHVyZS1jYXJkIHN0cm9uZyB7CgltYXJnaW4tYm90dG9tOiAwLjM1cmVtOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQpOwoJZm9udC1zaXplOiAwLjg4cmVtOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKfQoKLnRtYi1mdXR1cmUtY2FyZCBzbWFsbCB7Cgljb2xvcjogIzgxN2I2ZjsKCWZvbnQtc2l6ZTogMC42NnJlbTsKCWxldHRlci1zcGFjaW5nOiAwLjA1ZW07Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBVVElMSVRZIExJTktTIEFORCBTQ1JFRU4tUkVBREVSIFRFWFQKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLXV0aWxpdHktbGluayB7CglkaXNwbGF5OiBibG9jazsKCW1hcmdpbi10b3A6IDEuNXJlbTsKfQoKLnBhc3NhZ2UgLnRtYi11dGlsaXR5LWxpbmsgYS5saW5rLWludGVybmFsIHsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCXdpZHRoOiBhdXRvOwoJbWFyZ2luOiAwOwoJcGFkZGluZzogMC41NXJlbSAwLjlyZW07CgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKCWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwoJYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS10bWItb2xpdmUtbGlnaHQpOwoJYm94LXNoYWRvdzogbm9uZTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWRpbSk7Cglmb250LXNpemU6IDAuNzZyZW07Cn0KCi5wYXNzYWdlIC50bWItdXRpbGl0eS1saW5rIGEubGluay1pbnRlcm5hbDo6YWZ0ZXIgewoJY29udGVudDogbm9uZTsKfQoKLnBhc3NhZ2UgLnRtYi11dGlsaXR5LWxpbmsgYS5saW5rLWludGVybmFsOmhvdmVyLApodG1sW2RhdGEtb3V0bGluZXNdIC5wYXNzYWdlIC50bWItdXRpbGl0eS1saW5rIGEubGluay1pbnRlcm5hbDpmb2N1cyB7CgliYWNrZ3JvdW5kOiAjMjgyYTIyOwoJYm9yZGVyLWNvbG9yOiB2YXIoLS10bWIteWVsbG93KTsKCWJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS10bWIteWVsbG93KTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCXRyYW5zZm9ybTogbm9uZTsKfQoKLnRtYi1zY3JlZW4tcmVhZGVyLW9ubHkgewoJcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7Cgl3aWR0aDogMXB4ICFpbXBvcnRhbnQ7CgloZWlnaHQ6IDFweCAhaW1wb3J0YW50OwoJcGFkZGluZzogMCAhaW1wb3J0YW50OwoJb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OwoJYm9yZGVyOiAwICFpbXBvcnRhbnQ7CgljbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7Cgl3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBBQ0NFU1NJQkxFIEZPQ1VTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1saWJyYXJ5IGE6Zm9jdXMtdmlzaWJsZSwKLnRtYi1saWJyYXJ5IHN1bW1hcnk6Zm9jdXMtdmlzaWJsZSwKI21lbnUgYTpmb2N1cy12aXNpYmxlLAoucGFzc2FnZSBhOmZvY3VzLXZpc2libGUsCi5wYXNzYWdlIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHsKCW91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKCW91dGxpbmUtb2Zmc2V0OiAzcHg7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBDQU1QQUlHTiBIVUIgUkVTUE9OU0lWRSBMQVlPVVQKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkgewoJLnRtYi1jdXJyZW50LW1pc3Npb24tY2FyZCB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTkwcHgsIDI2MHB4KSBtaW5tYXgoMCwgMWZyKTsKCX0KCgkudG1iLWN1cnJlbnQtZGV0YWlscyB7CgkJcGFkZGluZzogMS43cmVtOwoJfQoKCS50bWItbWlzc2lvbi1zdGF0dXMtZ3JpZCB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9CgoJLnRtYi1taXNzaW9uLXN0YXQsCgkudG1iLW1pc3Npb24tc3RhdDpmaXJzdC1jaGlsZCB7CgkJcGFkZGluZzogMC42NXJlbSAwOwoJCWJvcmRlci1yaWdodDogMDsKCQlib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMTksIDEwNSwgNjksIDAuMzUpOwoJfQoKCS50bWItbWlzc2lvbi1zdGF0Omxhc3QtY2hpbGQgewoJCWJvcmRlci1ib3R0b206IDA7Cgl9CgoJLnRtYi1mdXR1cmUtZ3JpZCB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOwoJfQp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkgewoJLnRtYi1jdXJyZW50LW1pc3Npb24gewoJCW1hcmdpbi1ib3R0b206IDIuMjVyZW07Cgl9CgoJLnRtYi1jdXJyZW50LW1pc3Npb24tY2FyZCB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9CgoJLnRtYi1jdXJyZW50LWNvdmVyIHsKCQltaW4taGVpZ2h0OiAwOwoJCWFzcGVjdC1yYXRpbzogMiAvIDM7CgkJYm9yZGVyLXJpZ2h0OiAwOwoJCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCX0KCgkudG1iLWN1cnJlbnQtY292ZXI6OmFmdGVyIHsKCQliYWNrZ3JvdW5kOgoJCQlsaW5lYXItZ3JhZGllbnQoCgkJCQl0byBib3R0b20sCgkJCQl0cmFuc3BhcmVudCA2OCUsCgkJCQlyZ2JhKDEwLCAxMSwgOSwgMC41OCkKCQkJKTsKCX0KCgkudG1iLWN1cnJlbnQtZGV0YWlscyB7CgkJcGFkZGluZzogMS4zNXJlbTsKCX0KCgkudG1iLWN1cnJlbnQtZGV0YWlscyBoMiB7CgkJZm9udC1zaXplOiAxLjU1cmVtOwoJfQoKCS50bWItY3VycmVudC1kZXNjcmlwdGlvbiB7CgkJZm9udC1zaXplOiAwLjkycmVtOwoJfQoKCS50bWItbm8tY3VycmVudC1taXNzaW9uIHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKCQlwYWRkaW5nOiAxLjRyZW07Cgl9CgoJLnRtYi1uby1jdXJyZW50LW1hcmsgewoJCXdpZHRoOiAzLjRyZW07CgkJaGVpZ2h0OiAzLjRyZW07Cgl9CgoJLnRtYi1mdXR1cmUtbWlzc2lvbnMgc3VtbWFyeSB7CgkJYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CgkJZmxleC13cmFwOiB3cmFwOwoJfQoKCS50bWItZnV0dXJlLWNvdW50IHsKCQl3aWR0aDogMTAwJTsKCQltYXJnaW46IDA7Cgl9CgoJLnRtYi1mdXR1cmUtZ3JpZCB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJPT0sgT05FIE1JU1NJT04gSFVCCiAgIFBhc3NhZ2UgdGFnIHJlcXVpcmVkOiBib29rLWh1YgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIFJlbW92ZSB0aGUgbm9ybWFsIHN0b3J5IGNhcmQgYXJvdW5kIHRoZSBtaXNzaW9uIGh1Yi4gKi8KCmJvZHlbZGF0YS10YWdzfj0iYm9vay1odWIiXSAjcGFzc2FnZXMgewoJbWF4LXdpZHRoOiA3NmVtOwp9Cgpib2R5W2RhdGEtdGFnc349ImJvb2staHViIl0gLnBhc3NhZ2UgewoJcGFkZGluZzogMDsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwoJYm9yZGVyOiAwOwoJYm94LXNoYWRvdzogbm9uZTsKfQoKYm9keVtkYXRhLXRhZ3N+PSJib29rLWh1YiJdIC5wYXNzYWdlOjpiZWZvcmUgewoJZGlzcGxheTogbm9uZTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEhVQiBDT05UQUlORVIKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLWJvb2staHViIHsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7Cgl3aWR0aDogMTAwJTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBNSVNTSU9OIEhFQURFUgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi50bWItYm9vay1odWItaGVhZGVyIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgyMjBweCwgMzEwcHgpIG1pbm1heCgwLCAxZnIpOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxMzVkZWcsCgkJCXJnYmEoNDIsIDQ1LCAzNSwgMC45OCksCgkJCXJnYmEoMTQsIDE1LCAxMiwgMC45OSkKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgIzc3Njk0NTsKCWJveC1zaGFkb3c6CgkJMCAxOHB4IDQycHggcmdiYSgwLCAwLCAwLCAwLjU2KSwKCQlpbnNldCAwIDAgMzRweCByZ2JhKDAsIDAsIDAsIDAuMjQpOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQk9PSyBDT1ZFUgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi50bWItYm9vay1odWItY292ZXIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJbWluLWhlaWdodDogNDQwcHg7CglvdmVyZmxvdzogaGlkZGVuOwoJYmFja2dyb3VuZDogdmFyKC0tdG1iLWJsYWNrKTsKCWJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwp9CgoudG1iLWJvb2staHViLWNvdmVyIGltZyB7CglkaXNwbGF5OiBibG9jazsKCXdpZHRoOiAxMDAlOwoJaGVpZ2h0OiAxMDAlOwoJbWFyZ2luOiAwOwoJb2JqZWN0LWZpdDogY292ZXI7CglvYmplY3QtcG9zaXRpb246IGNlbnRlcjsKfQoKLnRtYi1ib29rLWh1Yi1jb3Zlcjo6YWZ0ZXIgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglpbnNldDogMDsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQl0byByaWdodCwKCQkJdHJhbnNwYXJlbnQgNjIlLAoJCQlyZ2JhKDgsIDksIDcsIDAuNTgpCgkJKTsKCXBvaW50ZXItZXZlbnRzOiBub25lOwp9CgoudG1iLWJvb2staHViLWNvdmVyLWxhYmVsIHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXotaW5kZXg6IDI7CglsZWZ0OiAxcmVtOwoJYm90dG9tOiAxcmVtOwoJcGFkZGluZzogMC41NXJlbSAwLjhyZW07CgliYWNrZ3JvdW5kOiByZ2JhKDkzLCAzNywgMzAsIDAuOTYpOwoJYm9yZGVyOiAxcHggc29saWQgI2I3NjU0ZjsKCWJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tdG1iLXllbGxvdyk7Cgljb2xvcjogI2ZmZjJkMjsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuNzZyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKCWxpbmUtaGVpZ2h0OiAxLjI7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTUlTU0lPTiBJTlRST0RVQ1RJT04KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLWJvb2staHViLWludHJvIHsKCWRpc3BsYXk6IGZsZXg7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJbWluLXdpZHRoOiAwOwoJcGFkZGluZzogY2xhbXAoMS42cmVtLCA0dncsIDMuM3JlbSk7Cn0KCi50bWItYm9vay1odWIta2lja2VyIHsKCW1hcmdpbi1ib3R0b206IDAuNjVyZW07Cgljb2xvcjogdmFyKC0tdG1iLXllbGxvdyk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAwLjczcmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjE1ZW07CglsaW5lLWhlaWdodDogMS4yOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1ib29rLWh1Yi1pbnRybyBoMSB7CgltYXJnaW46IDAgMCAxcmVtOwoJcGFkZGluZzogMDsKCWJvcmRlcjogMDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IGNsYW1wKDEuOHJlbSwgNHZ3LCAzcmVtKTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wNTVlbTsKCWxpbmUtaGVpZ2h0OiAxLjA4OwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1ib29rLWh1Yi1kZXNjcmlwdGlvbiB7CgltYXgtd2lkdGg6IDcwMHB4OwoJbWFyZ2luOiAwIDAgMS42cmVtOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQpOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMXJlbTsKCWxpbmUtaGVpZ2h0OiAxLjY1Owp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTUlTU0lPTiBTVEFUVVMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLWJvb2staHViLXN0YXR1cyB7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOwoJbWFyZ2luLWJvdHRvbTogMS40cmVtOwoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTE5LCAxMDUsIDY5LCAwLjY1KTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDExOSwgMTA1LCA2OSwgMC42NSk7Cn0KCi50bWItYm9vay1odWItc3RhdCB7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJbWluLXdpZHRoOiAwOwoJcGFkZGluZzogMC44cmVtIDFyZW07Cglib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDExOSwgMTA1LCA2OSwgMC4zNSk7Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMTksIDEwNSwgNjksIDAuMzUpOwp9CgoudG1iLWJvb2staHViLXN0YXQ6bnRoLWNoaWxkKDJuKSB7Cglib3JkZXItcmlnaHQ6IDA7Cn0KCi50bWItYm9vay1odWItc3RhdDpudGgtbGFzdC1jaGlsZCgtbiArIDIpIHsKCWJvcmRlci1ib3R0b206IDA7Cn0KCi50bWItYm9vay1odWItc3RhdCBzcGFuLAoudG1iLWJvb2staHViLXN0YXQgc3Ryb25nIHsKCWRpc3BsYXk6IGJsb2NrOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKfQoKLnRtYi1ib29rLWh1Yi1zdGF0IHNwYW4gewoJbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsKCWNvbG9yOiAjOTk4ZjdiOwoJZm9udC1zaXplOiAwLjY2cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA4ZW07CglsaW5lLWhlaWdodDogMS4yOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1ib29rLWh1Yi1zdGF0IHN0cm9uZyB7CglvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCWZvbnQtc2l6ZTogMC44NnJlbTsKCWxpbmUtaGVpZ2h0OiAxLjM1Owp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQ1VSUkVOVCBPQkpFQ1RJVkUKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLWJvb2staHViLW9iamVjdGl2ZSB7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJbWFyZ2luLWJvdHRvbTogMS40cmVtOwoJcGFkZGluZzogMC45cmVtIDFyZW07CgliYWNrZ3JvdW5kOiByZ2JhKDMzLCAzNSwgMjgsIDAuODQpOwoJYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cglib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLXRtYi15ZWxsb3cpOwp9CgoudG1iLWJvb2staHViLW9iamVjdGl2ZSBzcGFuLAoudG1iLWJvb2staHViLW9iamVjdGl2ZSBzdHJvbmcgewoJZGlzcGxheTogYmxvY2s7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwp9CgoudG1iLWJvb2staHViLW9iamVjdGl2ZSBzcGFuIHsKCW1hcmdpbi1ib3R0b206IDAuMzVyZW07Cgljb2xvcjogdmFyKC0tdG1iLXllbGxvdyk7Cglmb250LXNpemU6IDAuNjdyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDllbTsKCWxpbmUtaGVpZ2h0OiAxLjI7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLWJvb2staHViLW9iamVjdGl2ZSBzdHJvbmcgewoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtbGlnaHQpOwoJZm9udC1zaXplOiAwLjlyZW07CglsaW5lLWhlaWdodDogMS40NTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFBSSU1BUlkgTUlTU0lPTiBBQ1RJT04KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLWJvb2staHViLXByaW1hcnktYWN0aW9uIHsKCW1heC13aWR0aDogNDMwcHg7Cn0KCi5wYXNzYWdlIC50bWItYm9vay1odWItcHJpbWFyeS1hY3Rpb24gYS5saW5rLWludGVybmFsLAoucGFzc2FnZSAudG1iLWJvb2staHViLXByaW1hcnktYWN0aW9uIGEubWFjcm8tbGluayB7CglkaXNwbGF5OiBibG9jazsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7Cgl3aWR0aDogMTAwJTsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDAuOXJlbSAzcmVtIDAuOXJlbSAxLjJyZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXZhcigtLXRtYi1yZWQtbGlnaHQpLAoJCQl2YXIoLS10bWItcmVkKQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCAjYmQ2YjUzOwoJYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKCWNvbG9yOiAjZmZmM2Q4OwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMC44OHJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wNWVtOwoJbGluZS1oZWlnaHQ6IDEuMzU7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoucGFzc2FnZSAudG1iLWJvb2staHViLXByaW1hcnktYWN0aW9uIGEubGluay1pbnRlcm5hbDpob3ZlciwKLnBhc3NhZ2UgLnRtYi1ib29rLWh1Yi1wcmltYXJ5LWFjdGlvbiBhLm1hY3JvLWxpbms6aG92ZXIsCmh0bWxbZGF0YS1vdXRsaW5lc10gLnBhc3NhZ2UgLnRtYi1ib29rLWh1Yi1wcmltYXJ5LWFjdGlvbiBhLmxpbmstaW50ZXJuYWw6Zm9jdXMsCmh0bWxbZGF0YS1vdXRsaW5lc10gLnBhc3NhZ2UgLnRtYi1ib29rLWh1Yi1wcmltYXJ5LWFjdGlvbiBhLm1hY3JvLWxpbms6Zm9jdXMgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQkjYjU0ZTNkLAoJCQkjN2UzMDI4CgkJKTsKCWJvcmRlci1jb2xvcjogdmFyKC0tdG1iLXllbGxvdy1saWdodCk7Cgljb2xvcjogI2ZmZjsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgSFVCIFNFQ1RJT05TCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1odWItc2VjdGlvbiB7CgltYXJnaW4tdG9wOiAyLjVyZW07Cn0KCi50bWItaHViLXNlY3Rpb24taGVhZGluZyB7CgltYXJnaW4tYm90dG9tOiAxLjJyZW07CglwYWRkaW5nLWJvdHRvbTogMC43cmVtOwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwp9CgoudG1iLWh1Yi1zZWN0aW9uLWhlYWRpbmcgc3BhbiB7CglkaXNwbGF5OiBibG9jazsKCW1hcmdpbi1ib3R0b206IDAuM3JlbTsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuNjhyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTsKCWxpbmUtaGVpZ2h0OiAxLjI7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLWh1Yi1zZWN0aW9uLWhlYWRpbmcgaDIgewoJbWFyZ2luOiAwOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtbGlnaHQpOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMS40NXJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wNjVlbTsKCWxpbmUtaGVpZ2h0OiAxLjI7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgUEFUUk9MIFNUQVRVUyBDQVJEUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi50bWItaHViLXN0YXR1cy1ncmlkIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7CglnYXA6IDFyZW07Cn0KCi50bWItaHViLXN0YXR1cy1jYXJkIHsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7CgltaW4td2lkdGg6IDA7CglwYWRkaW5nOiAxLjI1cmVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE0NWRlZywKCQkJIzIwMjMxYiwKCQkJIzEzMTUxMAoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCWJvcmRlci10b3A6IDRweCBzb2xpZCAjNjY4MTZhOwoJYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMzIpOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgoudG1iLWh1Yi1zdGF0dXMtY2FyZC5pbmp1cmVkIHsKCWJvcmRlci10b3AtY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwp9CgoudG1iLWh1Yi1zdGF0dXMtY2FyZC5taXNzaW5nIHsKCWJvcmRlci10b3AtY29sb3I6IHZhcigtLXRtYi1yZWQtbGlnaHQpOwp9CgoudG1iLWh1Yi1zdGF0dXMtY2FyZC5pbnRlbGxpZ2VuY2UgewoJYm9yZGVyLXRvcC1jb2xvcjogIzZkNzM4NjsKfQoKLnRtYi1odWItc3RhdHVzLW51bWJlciB7CglkaXNwbGF5OiBibG9jazsKCW1hcmdpbi1ib3R0b206IDAuMzVyZW07Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1saWdodCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAycmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxOwp9CgoudG1iLWh1Yi1zdGF0dXMtY2FyZCBzdHJvbmcsCi50bWItaHViLXN0YXR1cy1jYXJkIHNtYWxsIHsKCWRpc3BsYXk6IGJsb2NrOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKfQoKLnRtYi1odWItc3RhdHVzLWNhcmQgc3Ryb25nIHsKCW1hcmdpbi1ib3R0b206IDAuMzVyZW07Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cglmb250LXNpemU6IDAuODJyZW07CglsZXR0ZXItc3BhY2luZzogMC4wNmVtOwoJbGluZS1oZWlnaHQ6IDEuMjsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItaHViLXN0YXR1cy1jYXJkIHNtYWxsIHsKCWNvbG9yOiAjOTE4ODczOwoJZm9udC1zaXplOiAwLjdyZW07CglsaW5lLWhlaWdodDogMS40Owp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTUlTU0lPTiBGSUxFIENBUkRTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1maWxlLWdyaWQgewoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTsKCWdhcDogMS4xNXJlbTsKfQoKLnRtYi1maWxlLWNhcmQgewoJZGlzcGxheTogZmxleDsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7CglmbGV4LWRpcmVjdGlvbjogY29sdW1uOwoJbWluLXdpZHRoOiAwOwoJcGFkZGluZzogMS4zcmVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE0NWRlZywKCQkJIzIwMjIxYiwKCQkJIzEyMTMwZgoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCWJveC1zaGFkb3c6IDAgOXB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjM1KTsKfQoKLnRtYi1maWxlLWNhcmQtY29kZSB7CglkaXNwbGF5OiBmbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJd2lkdGg6IDIuOHJlbTsKCWhlaWdodDogMi44cmVtOwoJbWFyZ2luLWJvdHRvbTogMXJlbTsKCWJhY2tncm91bmQ6IHZhcigtLXRtYi1yZWQpOwoJYm9yZGVyOiAxcHggc29saWQgI2E4NWE0NjsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuODVyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKCWxpbmUtaGVpZ2h0OiAxOwp9CgoudG1iLWZpbGUtY2FyZCBoMyB7CgltYXJnaW46IDAgMCAwLjY1cmVtOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtbGlnaHQpOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMXJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wNTVlbTsKCWxpbmUtaGVpZ2h0OiAxLjI1OwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1maWxlLWNhcmQgcCB7CglmbGV4OiAxOwoJbWFyZ2luOiAwIDAgMXJlbTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWRpbSk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAwLjgzcmVtOwoJbGluZS1oZWlnaHQ6IDEuNTU7Cn0KCi50bWItZmlsZS1jYXJkLW1ldGEgewoJbWFyZ2luLWJvdHRvbTogMXJlbTsKCXBhZGRpbmctdG9wOiAwLjY1cmVtOwoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTE2LCAxMDUsIDc3LCAwLjM1KTsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93KTsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuN3JlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wNWVtOwoJbGluZS1oZWlnaHQ6IDEuMzsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5wYXNzYWdlIC50bWItZmlsZS1jYXJkIGEubGluay1pbnRlcm5hbCwKLnBhc3NhZ2UgLnRtYi1maWxlLWNhcmQgYS5tYWNyby1saW5rIHsKCW1hcmdpbi10b3A6IGF1dG87Cglmb250LXNpemU6IDAuNzZyZW07Cn0KCi50bWItZmlsZS11bmF2YWlsYWJsZSB7CglkaXNwbGF5OiBibG9jazsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7Cgl3aWR0aDogMTAwJTsKCW1hcmdpbi10b3A6IGF1dG87CglwYWRkaW5nOiAwLjc1cmVtOwoJYmFja2dyb3VuZDogIzIyMjMxZTsKCWJvcmRlcjogMXB4IHNvbGlkICM0NTQ0M2E7Cglib3JkZXItbGVmdDogNXB4IHNvbGlkICM1NTUzNDg7Cgljb2xvcjogIzdmN2E2ZDsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuN3JlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wNWVtOwoJbGluZS1oZWlnaHQ6IDEuMzsKCXRleHQtYWxpZ246IGNlbnRlcjsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBDSEFQVEVSIEFSQ0hJVkUKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLWNoYXB0ZXItYXJjaGl2ZSB7CglvdmVyZmxvdzogaGlkZGVuOwoJYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cglib3gtc2hhZG93OiAwIDlweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4zMik7Cn0KCi50bWItY2hhcHRlci1lbnRyeSB7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0LjVyZW0gbWlubWF4KDAsIDFmcikgbWlubWF4KDExMHB4LCBhdXRvKTsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CgltaW4taGVpZ2h0OiA1LjVyZW07CgliYWNrZ3JvdW5kOiByZ2JhKDI0LCAyNiwgMjEsIDAuOTQpOwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTE2LCAxMDUsIDc3LCAwLjM4KTsKfQoKLnRtYi1jaGFwdGVyLWVudHJ5Omxhc3QtY2hpbGQgewoJYm9yZGVyLWJvdHRvbTogMDsKfQoKLnRtYi1jaGFwdGVyLWVudHJ5LmF2YWlsYWJsZSB7Cglib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLXRtYi15ZWxsb3cpOwp9CgoudG1iLWNoYXB0ZXItZW50cnkubG9ja2VkIHsKCWJvcmRlci1sZWZ0OiA1cHggc29saWQgIzQ3NDczZTsKCW9wYWNpdHk6IDAuNzI7Cn0KCi50bWItY2hhcHRlci1udW1iZXIgewoJY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMS4yNXJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMTsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKLnRtYi1jaGFwdGVyLWRldGFpbHMgewoJYm94LXNpemluZzogYm9yZGVyLWJveDsKCW1pbi13aWR0aDogMDsKCXBhZGRpbmc6IDAuOXJlbSAxcmVtOwoJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDExNiwgMTA1LCA3NywgMC4zMik7Cn0KCi50bWItY2hhcHRlci1kZXRhaWxzIHNwYW4sCi50bWItY2hhcHRlci1kZXRhaWxzIHN0cm9uZywKLnRtYi1jaGFwdGVyLWRldGFpbHMgc21hbGwgewoJZGlzcGxheTogYmxvY2s7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwp9CgoudG1iLWNoYXB0ZXItZGV0YWlscyBzcGFuIHsKCW1hcmdpbi1ib3R0b206IDAuMnJlbTsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93KTsKCWZvbnQtc2l6ZTogMC42M3JlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4xZW07CglsaW5lLWhlaWdodDogMS4yOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1jaGFwdGVyLWRldGFpbHMgc3Ryb25nIHsKCW1hcmdpbi1ib3R0b206IDAuMnJlbTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCWZvbnQtc2l6ZTogMC45cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA0ZW07CglsaW5lLWhlaWdodDogMS4zOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1jaGFwdGVyLWRldGFpbHMgc21hbGwgewoJY29sb3I6ICM5MTg4NzM7Cglmb250LXNpemU6IDAuNzNyZW07CglsaW5lLWhlaWdodDogMS4zNTsKfQoKLnRtYi1jaGFwdGVyLWFjdGlvbiB7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJbWluLXdpZHRoOiAxMTBweDsKCXBhZGRpbmc6IDAuNzVyZW0gMXJlbTsKfQoKLnBhc3NhZ2UgLnRtYi1jaGFwdGVyLWFjdGlvbiBhLmxpbmstaW50ZXJuYWwsCi5wYXNzYWdlIC50bWItY2hhcHRlci1hY3Rpb24gYS5tYWNyby1saW5rIHsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDAuNjVyZW0gMi4ycmVtIDAuNjVyZW0gMC44cmVtOwoJZm9udC1zaXplOiAwLjdyZW07Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi50bWItY2hhcHRlci1hY3Rpb24gPiBzcGFuIHsKCWRpc3BsYXk6IGJsb2NrOwoJYm94LXNpemluZzogYm9yZGVyLWJveDsKCXdpZHRoOiAxMDAlOwoJcGFkZGluZzogMC42cmVtOwoJYm9yZGVyOiAxcHggc29saWQgIzQ0NDQzYjsKCWNvbG9yOiAjNzc3NTY4OwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMC42OHJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wNGVtOwoJbGluZS1oZWlnaHQ6IDEuMjsKCXRleHQtYWxpZ246IGNlbnRlcjsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBIVUIgRk9PVEVSIEFDVElPTlMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLWh1Yi1mb290ZXItYWN0aW9ucyB7CgltYXJnaW4tdG9wOiAyLjVyZW07CglwYWRkaW5nLXRvcDogMS40cmVtOwoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwp9CgoucGFzc2FnZSAudG1iLWh1Yi1mb290ZXItYWN0aW9ucyBidXR0b24gewoJbWF4LXdpZHRoOiAyNzBweDsKCWJhY2tncm91bmQ6ICMyYjFiMTg7Cglib3JkZXItY29sb3I6ICM3MDQwMzk7Cglib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tdG1iLXJlZC1saWdodCk7Cgljb2xvcjogI2M5YjlhNzsKCWZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7Cglmb250LXNpemU6IDAuNzNyZW07Cn0KCi5wYXNzYWdlIC50bWItaHViLWZvb3Rlci1hY3Rpb25zIGJ1dHRvbjpob3ZlciwKaHRtbFtkYXRhLW91dGxpbmVzXSAucGFzc2FnZSAudG1iLWh1Yi1mb290ZXItYWN0aW9ucyBidXR0b246Zm9jdXMgewoJYmFja2dyb3VuZDogdmFyKC0tdG1iLXJlZCk7Cglib3JkZXItY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwoJY29sb3I6ICNmZmYzZDg7Cn0KCi8qIEtlZXAgdGhlIGxpYnJhcnkgcmV0dXJuIGxpbmsgY29tcGFjdC4gKi8KCi50bWItaHViLWZvb3Rlci1hY3Rpb25zIC50bWItdXRpbGl0eS1saW5rIHsKCW1hcmdpbi10b3A6IDEuMjVyZW07Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBBQ0NFU1NJQkxFIEZPQ1VTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1ib29rLWh1YiBhOmZvY3VzLXZpc2libGUsCi50bWItYm9vay1odWIgYnV0dG9uOmZvY3VzLXZpc2libGUgewoJb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLXRtYi15ZWxsb3ctbGlnaHQpOwoJb3V0bGluZS1vZmZzZXQ6IDNweDsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFJFU1BPTlNJVkUgTEFZT1VUOiBUQUJMRVRTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTQwcHgpIHsKCS50bWItYm9vay1odWItaGVhZGVyIHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxOTBweCwgMjUwcHgpIG1pbm1heCgwLCAxZnIpOwoJfQoKCS50bWItYm9vay1odWItY292ZXIgewoJCW1pbi1oZWlnaHQ6IDM5MHB4OwoJfQoKCS50bWItYm9vay1odWItaW50cm8gewoJCXBhZGRpbmc6IDEuNnJlbTsKCX0KCgkudG1iLWh1Yi1zdGF0dXMtZ3JpZCB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOwoJfQoKCS50bWItZmlsZS1ncmlkIHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKCX0KfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFJFU1BPTlNJVkUgTEFZT1VUOiBQSE9ORVMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkgewoJLnRtYi1ib29rLWh1Yi1oZWFkZXIgewoJCWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwoJfQoKCS50bWItYm9vay1odWItY292ZXIgewoJCW1pbi1oZWlnaHQ6IDA7CgkJYXNwZWN0LXJhdGlvOiAyIC8gMzsKCQlib3JkZXItcmlnaHQ6IDA7CgkJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwoJfQoKCS50bWItYm9vay1odWItY292ZXI6OmFmdGVyIHsKCQliYWNrZ3JvdW5kOgoJCQlsaW5lYXItZ3JhZGllbnQoCgkJCQl0byBib3R0b20sCgkJCQl0cmFuc3BhcmVudCA2OCUsCgkJCQlyZ2JhKDgsIDksIDcsIDAuNikKCQkJKTsKCX0KCgkudG1iLWJvb2staHViLWludHJvIHsKCQlwYWRkaW5nOiAxLjNyZW07Cgl9CgoJLnRtYi1ib29rLWh1Yi1pbnRybyBoMSB7CgkJZm9udC1zaXplOiAxLjdyZW07Cgl9CgoJLnRtYi1ib29rLWh1Yi1kZXNjcmlwdGlvbiB7CgkJZm9udC1zaXplOiAwLjkycmVtOwoJfQoKCS50bWItYm9vay1odWItc3RhdHVzIHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKCX0KCgkudG1iLWJvb2staHViLXN0YXQsCgkudG1iLWJvb2staHViLXN0YXQ6bnRoLWNoaWxkKDJuKSwKCS50bWItYm9vay1odWItc3RhdDpudGgtbGFzdC1jaGlsZCgtbiArIDIpIHsKCQlib3JkZXItcmlnaHQ6IDA7CgkJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTE5LCAxMDUsIDY5LCAwLjM1KTsKCX0KCgkudG1iLWJvb2staHViLXN0YXQ6bGFzdC1jaGlsZCB7CgkJYm9yZGVyLWJvdHRvbTogMDsKCX0KCgkudG1iLWh1Yi1zdGF0dXMtZ3JpZCB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9CgoJLnRtYi1jaGFwdGVyLWVudHJ5IHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMuNXJlbSBtaW5tYXgoMCwgMWZyKTsKCX0KCgkudG1iLWNoYXB0ZXItYWN0aW9uIHsKCQlncmlkLWNvbHVtbjogMSAvIC0xOwoJCXBhZGRpbmc6IDAuN3JlbTsKCQlib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMTYsIDEwNSwgNzcsIDAuMjgpOwoJfQoKCS5wYXNzYWdlIC50bWItaHViLWZvb3Rlci1hY3Rpb25zIGJ1dHRvbiB7CgkJbWF4LXdpZHRoOiBub25lOwoJfQp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgUkVEVUNFRCBNT1RJT04KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewoJLnBhc3NhZ2UgLnRtYi1ib29rLWh1Yi1wcmltYXJ5LWFjdGlvbiBhLmxpbmstaW50ZXJuYWw6aG92ZXIsCgkucGFzc2FnZSAudG1iLWJvb2staHViLXByaW1hcnktYWN0aW9uIGEubWFjcm8tbGluazpob3ZlciB7CgkJdHJhbnNmb3JtOiBub25lOwoJfQp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQk9PSyBPTkUgTUlTU0lPTiBSRUNPUkRTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnRtYi1yZWNvcmQtcGFnZSB7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJd2lkdGg6IDEwMCU7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwp9CgoudG1iLXJlY29yZC1oZWFkZXIgewoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglnYXA6IDEuMjVyZW07CgltYXJnaW4tYm90dG9tOiAxLjc1cmVtOwoJcGFkZGluZzogMS40cmVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTEzNWRlZywKCQkJcmdiYSg0MiwgNDUsIDM1LCAwLjk4KSwKCQkJcmdiYSgxNCwgMTUsIDEyLCAwLjk5KQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCWJvcmRlci1sZWZ0OiA2cHggc29saWQgdmFyKC0tdG1iLXllbGxvdyk7Cglib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuNDIpOwp9CgoudG1iLXJlY29yZC1jb2RlIHsKCWRpc3BsYXk6IGZsZXg7CglhbGlnbi1pdGVtczogY2VudGVyOwoJanVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cgl3aWR0aDogNHJlbTsKCWhlaWdodDogNHJlbTsKCWJhY2tncm91bmQ6IHZhcigtLXRtYi1yZWQpOwoJYm9yZGVyOiAxcHggc29saWQgI2E4NWE0NjsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKCWZvbnQtc2l6ZTogMS4xNXJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wOGVtOwp9CgoudG1iLXJlY29yZC1raWNrZXIgewoJZGlzcGxheTogYmxvY2s7CgltYXJnaW4tYm90dG9tOiAwLjNyZW07Cgljb2xvcjogdmFyKC0tdG1iLXllbGxvdyk7Cglmb250LXNpemU6IDAuNjhyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMTNlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItcmVjb3JkLWhlYWRlciBoMSB7CgltYXJnaW46IDAgMCAwLjQ1cmVtOwoJcGFkZGluZzogMDsKCWJvcmRlcjogMDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCWZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCA0dncsIDIuM3JlbSk7CglsZXR0ZXItc3BhY2luZzogMC4wNmVtOwoJbGluZS1oZWlnaHQ6IDEuMTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItcmVjb3JkLWhlYWRlciBwIHsKCW1heC13aWR0aDogNzYwcHg7CgltYXJnaW46IDA7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1kaW0pOwoJZm9udC1zaXplOiAwLjlyZW07CglsaW5lLWhlaWdodDogMS41NTsKfQoKLnRtYi1yZWNvcmQtc3VtbWFyeSB7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpOwoJZ2FwOiAwLjlyZW07CgltYXJnaW4tYm90dG9tOiAycmVtOwp9CgoudG1iLXJlY29yZC1zdW1tYXJ5LWl0ZW0gewoJbWluLXdpZHRoOiAwOwoJcGFkZGluZzogMXJlbTsKCWJhY2tncm91bmQ6ICMxNzE5MTQ7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCWJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS10bWItb2xpdmUtbGlnaHQpOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgoudG1iLXJlY29yZC1zdW1tYXJ5LWl0ZW0uYWN0aXZlIHsKCWJvcmRlci10b3AtY29sb3I6ICM2NjgxNmE7Cn0KCi50bWItcmVjb3JkLXN1bW1hcnktaXRlbS5pbmp1cmVkIHsKCWJvcmRlci10b3AtY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwp9CgoudG1iLXJlY29yZC1zdW1tYXJ5LWl0ZW0ubWlzc2luZyB7Cglib3JkZXItdG9wLWNvbG9yOiB2YXIoLS10bWItcmVkLWxpZ2h0KTsKfQoKLnRtYi1yZWNvcmQtc3VtbWFyeS1pdGVtLmludGVsbGlnZW5jZSB7Cglib3JkZXItdG9wLWNvbG9yOiAjNmQ3Mzg2Owp9CgoudG1iLXJlY29yZC1zdW1tYXJ5LWl0ZW0gc3BhbiwKLnRtYi1yZWNvcmQtc3VtbWFyeS1pdGVtIHN0cm9uZyB7CglkaXNwbGF5OiBibG9jazsKCW92ZXJmbG93LXdyYXA6IGFueXdoZXJlOwp9CgoudG1iLXJlY29yZC1zdW1tYXJ5LWl0ZW0gc3BhbiB7CgltYXJnaW4tYm90dG9tOiAwLjM1cmVtOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtbGlnaHQpOwoJZm9udC1zaXplOiAxLjI1cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxLjE1Owp9CgoudG1iLXJlY29yZC1zdW1tYXJ5LWl0ZW0gc3Ryb25nIHsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWRpbSk7Cglmb250LXNpemU6IDAuNjdyZW07CglsZXR0ZXItc3BhY2luZzogMC4wOGVtOwoJbGluZS1oZWlnaHQ6IDEuMjU7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLXJlY29yZC1zZWN0aW9uIHsKCW1hcmdpbi10b3A6IDJyZW07Cn0KCi50bWItcmVjb3JkLXNlY3Rpb24taGVhZGluZyB7CgltYXJnaW4tYm90dG9tOiAxcmVtOwoJcGFkZGluZy1ib3R0b206IDAuNjVyZW07Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cn0KCi50bWItcmVjb3JkLXNlY3Rpb24taGVhZGluZyBzcGFuIHsKCWRpc3BsYXk6IGJsb2NrOwoJbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93KTsKCWZvbnQtc2l6ZTogMC42NXJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4xMmVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1yZWNvcmQtc2VjdGlvbi1oZWFkaW5nIGgyIHsKCW1hcmdpbjogMDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCWZvbnQtc2l6ZTogMS4yNXJlbTsKCWxldHRlci1zcGFjaW5nOiAwLjA1NWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1yb3N0ZXItZ3JpZCB7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOwoJZ2FwOiAxcmVtOwp9CgoudG1iLXJvc3Rlci1jYXJkIHsKCW1pbi13aWR0aDogMDsKCXBhZGRpbmc6IDFyZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTQ1ZGVnLAoJCQkjMjAyMjFiLAoJCQkjMTIxMzBmCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwoJYm94LXNoYWRvdzogMCA4cHggMjJweCByZ2JhKDAsIDAsIDAsIDAuMzIpOwp9CgoudG1iLXJvc3Rlci1jYXJkLXRvcCB7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87CglhbGlnbi1pdGVtczogY2VudGVyOwoJZ2FwOiAwLjhyZW07Cn0KCi50bWItcm9zdGVyLWluaXRpYWwgewoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKCXdpZHRoOiAyLjdyZW07CgloZWlnaHQ6IDIuN3JlbTsKCWJhY2tncm91bmQ6IHZhcigtLXRtYi1yZWQpOwoJYm9yZGVyOiAxcHggc29saWQgI2E4NWE0NjsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKCWZvbnQtc2l6ZTogMXJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi50bWItcm9zdGVyLWlkZW50aXR5IHsKCW1pbi13aWR0aDogMDsKfQoKLnRtYi1yb3N0ZXItaWRlbnRpdHkgc3BhbiwKLnRtYi1yb3N0ZXItaWRlbnRpdHkgaDMsCi50bWItcm9zdGVyLWlkZW50aXR5IHNtYWxsIHsKCWRpc3BsYXk6IGJsb2NrOwp9CgoudG1iLXJvc3Rlci1pZGVudGl0eSBzcGFuIHsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93KTsKCWZvbnQtc2l6ZTogMC42MnJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wOGVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1yb3N0ZXItaWRlbnRpdHkgaDMgewoJbWFyZ2luOiAwLjE1cmVtIDA7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1saWdodCk7Cglmb250LXNpemU6IDAuOTVyZW07CglsaW5lLWhlaWdodDogMS4yNTsKfQoKLnRtYi1yb3N0ZXItaWRlbnRpdHkgc21hbGwgewoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtZGltKTsKCWZvbnQtc2l6ZTogMC43cmVtOwp9CgoudG1iLXJvc3Rlci1zdGF0dXMgewoJcGFkZGluZzogMC40cmVtIDAuNTVyZW07CgliYWNrZ3JvdW5kOiAjMjczMTI2OwoJYm9yZGVyOiAxcHggc29saWQgIzUyNmI1NDsKCWNvbG9yOiAjYmVkMmI5OwoJZm9udC1zaXplOiAwLjZyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItcm9zdGVyLXN0YXR1cy5pbmp1cmVkIHsKCWJhY2tncm91bmQ6ICMzOTMyMWU7Cglib3JkZXItY29sb3I6ICM3NTY0MzE7Cgljb2xvcjogI2U0Y2Y4OTsKfQoKLnRtYi1yb3N0ZXItc3RhdHVzLm1pc3NpbmcsCi50bWItcm9zdGVyLXN0YXR1cy5zZXBhcmF0ZWQgewoJYmFja2dyb3VuZDogIzNiMjAxYzsKCWJvcmRlci1jb2xvcjogIzgwNDgzZjsKCWNvbG9yOiAjZTFhYWEwOwp9CgoudG1iLXJvc3Rlci1kZXRhaWxzIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7CgltYXJnaW4tdG9wOiAxcmVtOwoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTE2LCAxMDUsIDc3LCAwLjM1KTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDExNiwgMTA1LCA3NywgMC4zNSk7Cn0KCi50bWItcm9zdGVyLWRldGFpbHMgPiBkaXYgewoJbWluLXdpZHRoOiAwOwoJcGFkZGluZzogMC42NXJlbTsKCWJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTE2LCAxMDUsIDc3LCAwLjMpOwp9CgoudG1iLXJvc3Rlci1kZXRhaWxzID4gZGl2Omxhc3QtY2hpbGQgewoJYm9yZGVyLXJpZ2h0OiAwOwp9CgoudG1iLXJvc3Rlci1kZXRhaWxzIHNwYW4sCi50bWItcm9zdGVyLWRldGFpbHMgc3Ryb25nIHsKCWRpc3BsYXk6IGJsb2NrOwoJb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7Cn0KCi50bWItcm9zdGVyLWRldGFpbHMgc3BhbiB7CgltYXJnaW4tYm90dG9tOiAwLjI1cmVtOwoJY29sb3I6ICM4ZTg3Nzc7Cglmb250LXNpemU6IDAuNThyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItcm9zdGVyLWRldGFpbHMgc3Ryb25nIHsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50KTsKCWZvbnQtc2l6ZTogMC42OHJlbTsKCWxpbmUtaGVpZ2h0OiAxLjM1Owp9CgoudG1iLXJvc3Rlci1ub3RlIHsKCW1hcmdpbjogMC44cmVtIDAgMDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWRpbSk7Cglmb250LXNpemU6IDAuNzJyZW07CglsaW5lLWhlaWdodDogMS40NTsKfQoKLnRtYi1yb3N0ZXItbm90ZS5jbGFzc2lmaWVkIHsKCWNvbG9yOiAjODE3YjZmOwoJZm9udC1zdHlsZTogaXRhbGljOwp9CgoudG1iLWpvdXJuYWwtbGlzdCwKLnRtYi1kZWNpc2lvbi1saXN0LAoudG1iLWNsdWUtbGlzdCB7CgltYXJnaW46IDA7CglwYWRkaW5nOiAwOwoJbGlzdC1zdHlsZTogbm9uZTsKfQoKLnRtYi1qb3VybmFsLWVudHJ5LAoudG1iLWRlY2lzaW9uLWVudHJ5LAoudG1iLWNsdWUtbGlzdCBsaSB7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpOwoJYWxpZ24taXRlbXM6IHN0YXJ0OwoJZ2FwOiAxcmVtOwoJbWFyZ2luLWJvdHRvbTogMC44cmVtOwoJcGFkZGluZzogMXJlbTsKCWJhY2tncm91bmQ6ICMxNzE5MTQ7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKfQoKLnRtYi1qb3VybmFsLW51bWJlciwKLnRtYi1jbHVlLW1hcmtlciB7CglkaXNwbGF5OiBmbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJd2lkdGg6IDIuMzVyZW07CgloZWlnaHQ6IDIuMzVyZW07CgliYWNrZ3JvdW5kOiB2YXIoLS10bWItcmVkKTsKCWJvcmRlcjogMXB4IHNvbGlkICNhODVhNDY7Cgljb2xvcjogdmFyKC0tdG1iLXllbGxvdy1saWdodCk7Cglmb250LXNpemU6IDAuNzVyZW07Cglmb250LXdlaWdodDogNzAwOwp9CgoudG1iLWpvdXJuYWwtZW50cnkgcCwKLnRtYi1kZWNpc2lvbi1lbnRyeSBwLAoudG1iLWNsdWUtbGlzdCBwIHsKCW1hcmdpbjogMDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50KTsKCWZvbnQtc2l6ZTogMC44NnJlbTsKCWxpbmUtaGVpZ2h0OiAxLjU1Owp9CgoudG1iLWRlY2lzaW9uLWVudHJ5IHsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDkwcHgsIGF1dG8pIG1pbm1heCgwLCAxZnIpOwp9CgoudG1iLWRlY2lzaW9uLW9yZGVyIHsKCXBhZGRpbmc6IDAuNDVyZW0gMC42cmVtOwoJYmFja2dyb3VuZDogIzMxMzMyOTsKCWJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tdG1iLXllbGxvdyk7Cgljb2xvcjogdmFyKC0tdG1iLXllbGxvdy1saWdodCk7Cglmb250LXNpemU6IDAuNjVyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKCXRleHQtYWxpZ246IGNlbnRlcjsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItZW1wdHktcmVjb3JkIHsKCXBhZGRpbmc6IDEuMzVyZW07CgliYWNrZ3JvdW5kOiAjMTcxOTE0OwoJYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cglib3JkZXItbGVmdDogNXB4IHNvbGlkICM1NTUzNDg7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi50bWItZW1wdHktcmVjb3JkIHN0cm9uZyB7CglkaXNwbGF5OiBibG9jazsKCW1hcmdpbi1ib3R0b206IDAuNDVyZW07Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cglmb250LXNpemU6IDAuODVyZW07CglsZXR0ZXItc3BhY2luZzogMC4wNWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1lbXB0eS1yZWNvcmQgcCB7CgltYXgtd2lkdGg6IDYyMHB4OwoJbWFyZ2luOiAwIGF1dG87Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1kaW0pOwoJZm9udC1zaXplOiAwLjhyZW07CglsaW5lLWhlaWdodDogMS41Owp9CgoudG1iLWFwcHJvYWNoLXBhbmVsIHsKCXBhZGRpbmc6IDEuMnJlbTsKCWJhY2tncm91bmQ6ICMxNzE5MTQ7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCWJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tdG1iLXllbGxvdyk7Cn0KCi50bWItYXBwcm9hY2gtcGFuZWwgc3Ryb25nIHsKCWRpc3BsYXk6IGJsb2NrOwoJbWFyZ2luLWJvdHRvbTogMC40cmVtOwoJY29sb3I6IHZhcigtLXRtYi15ZWxsb3ctbGlnaHQpOwoJZm9udC1zaXplOiAwLjlyZW07CglsZXR0ZXItc3BhY2luZzogMC4wNWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1hcHByb2FjaC1wYW5lbCBwIHsKCW1hcmdpbjogMDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50KTsKCWZvbnQtc2l6ZTogMC44NHJlbTsKCWxpbmUtaGVpZ2h0OiAxLjU1Owp9CgoudG1iLXJlY29yZC1hY3Rpb25zIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CglnYXA6IDAuOHJlbTsKCW1hcmdpbi10b3A6IDJyZW07CglwYWRkaW5nLXRvcDogMS4ycmVtOwoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwp9CgoucGFzc2FnZSAudG1iLXJlY29yZC1hY3Rpb25zIGEubGluay1pbnRlcm5hbCB7CgltYXJnaW46IDA7Cglmb250LXNpemU6IDAuNzRyZW07Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7CgkudG1iLXJlY29yZC1zdW1tYXJ5IHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7Cgl9CgoJLnRtYi1yb3N0ZXItZ3JpZCB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU0MHB4KSB7CgkudG1iLXJlY29yZC1oZWFkZXIgewoJCWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwoJfQoKCS50bWItcmVjb3JkLWNvZGUgewoJCXdpZHRoOiAzLjI1cmVtOwoJCWhlaWdodDogMy4yNXJlbTsKCX0KCgkudG1iLXJlY29yZC1zdW1tYXJ5IHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKCX0KCgkudG1iLXJvc3Rlci1jYXJkLXRvcCB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpOwoJfQoKCS50bWItcm9zdGVyLXN0YXR1cyB7CgkJZ3JpZC1jb2x1bW46IDEgLyAtMTsKCQl0ZXh0LWFsaWduOiBjZW50ZXI7Cgl9CgoJLnRtYi1yb3N0ZXItZGV0YWlscyB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9CgoJLnRtYi1yb3N0ZXItZGV0YWlscyA+IGRpdiB7CgkJYm9yZGVyLXJpZ2h0OiAwOwoJCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDExNiwgMTA1LCA3NywgMC4zKTsKCX0KCgkudG1iLXJvc3Rlci1kZXRhaWxzID4gZGl2Omxhc3QtY2hpbGQgewoJCWJvcmRlci1ib3R0b206IDA7Cgl9CgoJLnRtYi1yZWNvcmQtYWN0aW9ucyB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJPT0sgQUNDRVNTIEFORCBQUkVWSUVXIFNDUkVFTlMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLXVubG9jay1wYWdlLAoudG1iLWJvb2stcHJldmlldyB7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJd2lkdGg6IDEwMCU7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwp9CgoudG1iLXVubG9jay1oZWFkZXIgewoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglnYXA6IDEuMnJlbTsKCW1hcmdpbi1ib3R0b206IDEuNXJlbTsKCXBhZGRpbmc6IDEuMzVyZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTM1ZGVnLAoJCQlyZ2JhKDQyLCA0NSwgMzUsIDAuOTgpLAoJCQlyZ2JhKDE0LCAxNSwgMTIsIDAuOTkpCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwoJYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB2YXIoLS10bWIteWVsbG93KTsKCWJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKfQoKLnRtYi11bmxvY2stc3RhbXAgewoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKCXdpZHRoOiA0cmVtOwoJaGVpZ2h0OiA0cmVtOwoJYmFja2dyb3VuZDogdmFyKC0tdG1iLXJlZCk7Cglib3JkZXI6IDFweCBzb2xpZCAjYTg1YTQ2OwoJY29sb3I6IHZhcigtLXRtYi15ZWxsb3ctbGlnaHQpOwoJZm9udC1zaXplOiAxLjI1cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKfQoKLnRtYi11bmxvY2sta2lja2VyLAoudG1iLWJvb2stcHJldmlldy1raWNrZXIgewoJZGlzcGxheTogYmxvY2s7CgltYXJnaW4tYm90dG9tOiAwLjM1cmVtOwoJY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwoJZm9udC1zaXplOiAwLjY4cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjEzZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLXVubG9jay1oZWFkZXIgaDEsCi50bWItYm9vay1wcmV2aWV3LWRldGFpbHMgaDEgewoJbWFyZ2luOiAwIDAgMC41cmVtOwoJcGFkZGluZzogMDsKCWJvcmRlcjogMDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCWZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCA0dncsIDIuNXJlbSk7CglsZXR0ZXItc3BhY2luZzogMC4wNTVlbTsKCWxpbmUtaGVpZ2h0OiAxLjE7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLXVubG9jay1oZWFkZXIgcCB7CgltYXJnaW46IDA7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1kaW0pOwoJZm9udC1zaXplOiAwLjg4cmVtOwoJbGluZS1oZWlnaHQ6IDEuNTsKfQoKLnRtYi11bmxvY2stbGF5b3V0IHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgyMjBweCwgMzEwcHgpIG1pbm1heCgwLCAxZnIpOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxMzVkZWcsCgkJCSMyMDIyMWIsCgkJCSMxMTEyMGUKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cglib3gtc2hhZG93OiAwIDE0cHggMzRweCByZ2JhKDAsIDAsIDAsIDAuNDUpOwp9CgoudG1iLXVubG9jay1jb3ZlciwKLnRtYi1ib29rLXByZXZpZXctY292ZXIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJbWluLWhlaWdodDogNDQwcHg7CglvdmVyZmxvdzogaGlkZGVuOwoJYmFja2dyb3VuZDogdmFyKC0tdG1iLWJsYWNrKTsKfQoKLnRtYi11bmxvY2stY292ZXIgewoJYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cn0KCi50bWItdW5sb2NrLWNvdmVyIGltZywKLnRtYi1ib29rLXByZXZpZXctY292ZXIgaW1nIHsKCWRpc3BsYXk6IGJsb2NrOwoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IDEwMCU7CgltYXJnaW46IDA7CglvYmplY3QtZml0OiBjb3ZlcjsKCW9iamVjdC1wb3NpdGlvbjogY2VudGVyOwp9CgoudG1iLXVubG9jay1jb3ZlciBpbWcgewoJZmlsdGVyOgoJCXNhdHVyYXRlKDAuNSkKCQlicmlnaHRuZXNzKDAuNjgpCgkJY29udHJhc3QoMS4wOCk7Cn0KCi50bWItdW5sb2NrLWNvdmVyOjphZnRlciB7Cgljb250ZW50OiAiIjsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWluc2V0OiAwOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCXRvIGJvdHRvbSwKCQkJcmdiYSg1LCA2LCA1LCAwLjA4KSwKCQkJcmdiYSg1LCA2LCA1LCAwLjY4KQoJCSk7Cglwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLnRtYi11bmxvY2stY292ZXItb3ZlcmxheSB7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgl6LWluZGV4OiAyOwoJcmlnaHQ6IDFyZW07Cglib3R0b206IDFyZW07CglsZWZ0OiAxcmVtOwoJcGFkZGluZzogMC43NXJlbTsKCWJhY2tncm91bmQ6IHJnYmEoMTIsIDEzLCAxMSwgMC45KTsKCWJvcmRlcjogMXB4IHNvbGlkICM2MTViNDk7Cglib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLXRtYi1yZWQtbGlnaHQpOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgoudG1iLXVubG9jay1jb3Zlci1vdmVybGF5IHNwYW4sCi50bWItdW5sb2NrLWNvdmVyLW92ZXJsYXkgc3Ryb25nIHsKCWRpc3BsYXk6IGJsb2NrOwp9CgoudG1iLXVubG9jay1jb3Zlci1vdmVybGF5IHNwYW4gewoJbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93KTsKCWZvbnQtc2l6ZTogMC42NXJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wOGVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi11bmxvY2stY292ZXItb3ZlcmxheSBzdHJvbmcgewoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtbGlnaHQpOwoJZm9udC1zaXplOiAwLjgycmVtOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItdW5sb2NrLXBhbmVsIHsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7CgltaW4td2lkdGg6IDA7CglwYWRkaW5nOiBjbGFtcCgxLjRyZW0sIDR2dywgMi44cmVtKTsKfQoKLnRtYi11bmxvY2stY2xhc3NpZmljYXRpb24gewoJbWFyZ2luLWJvdHRvbTogMXJlbTsKCXBhZGRpbmctYm90dG9tOiAwLjc1cmVtOwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwp9CgoudG1iLXVubG9jay1jbGFzc2lmaWNhdGlvbiBzcGFuLAoudG1iLXVubG9jay1jbGFzc2lmaWNhdGlvbiBzdHJvbmcgewoJZGlzcGxheTogYmxvY2s7Cn0KCi50bWItdW5sb2NrLWNsYXNzaWZpY2F0aW9uIHNwYW4gewoJbWFyZ2luLWJvdHRvbTogMC4zNXJlbTsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93KTsKCWZvbnQtc2l6ZTogMC42NXJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4xZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLXVubG9jay1jbGFzc2lmaWNhdGlvbiBzdHJvbmcgewoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtbGlnaHQpOwoJZm9udC1zaXplOiAxLjNyZW07CglsZXR0ZXItc3BhY2luZzogMC4wNTVlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItdW5sb2NrLXBhbmVsID4gcCB7CgltYXJnaW46IDAgMCAxLjVyZW07Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cglmb250LXNpemU6IDAuOXJlbTsKCWxpbmUtaGVpZ2h0OiAxLjY1Owp9CgoudG1iLXVubG9jay1mb3JtIHsKCW1hcmdpbjogMCAwIDFyZW07CglwYWRkaW5nOiAxLjFyZW07CgliYWNrZ3JvdW5kOiAjMTcxOTE0OwoJYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cglib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLXRtYi15ZWxsb3cpOwp9CgoudG1iLXVubG9jay1mb3JtIGxhYmVsIHsKCWRpc3BsYXk6IGJsb2NrOwoJbWFyZ2luLWJvdHRvbTogMC42NXJlbTsKCWNvbG9yOiB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKCWZvbnQtc2l6ZTogMC43cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA3ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLXVubG9jay1pbnB1dC1yb3cgewoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgYXV0bzsKCWdhcDogMC43cmVtOwp9CgoudG1iLXVubG9jay1pbnB1dC1yb3cgaW5wdXRbdHlwZT0idGV4dCJdIHsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7Cgl3aWR0aDogMTAwJTsKCWhlaWdodDogMTAwJTsKCW1pbi1oZWlnaHQ6IDQ0cHg7CglwYWRkaW5nOiAwLjdyZW0gMC44cmVtOwoJYmFja2dyb3VuZDogIzBlMGYwYzsKCWJvcmRlcjogMXB4IHNvbGlkICM2OTYyNGU7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1saWdodCk7Cglmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwoJZm9udC1zaXplOiAwLjlyZW07CglsZXR0ZXItc3BhY2luZzogMC4wOGVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi11bmxvY2staW5wdXQtcm93IGlucHV0W3R5cGU9InRleHQiXTpmb2N1cyB7CglvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tdG1iLXllbGxvdy1saWdodCk7CglvdXRsaW5lLW9mZnNldDogMnB4OwoJYm9yZGVyLWNvbG9yOiB2YXIoLS10bWIteWVsbG93LWxpZ2h0KTsKfQoKLnBhc3NhZ2UgLnRtYi11bmxvY2staW5wdXQtcm93IGJ1dHRvbiB7Cgl3aWR0aDogYXV0bzsKCW1pbi13aWR0aDogMTMwcHg7CgltYXJnaW46IDA7CglwYWRkaW5nOiAwLjdyZW0gMXJlbTsKCWJhY2tncm91bmQ6IHZhcigtLXRtYi1yZWQpOwoJYm9yZGVyOiAxcHggc29saWQgI2E4NWE0NjsKCWJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tdG1iLXllbGxvdyk7Cgljb2xvcjogI2ZmZjFkMjsKCWZvbnQtc2l6ZTogMC43MnJlbTsKfQoKLnRtYi11bmxvY2staGVscCwKLnRtYi11bmxvY2stZXJyb3IsCi50bWItdW5sb2NrLXN1Y2Nlc3MsCi50bWItYm9vay1wcmV2aWV3LW5vdGljZSB7CgltYXJnaW4tdG9wOiAxcmVtOwoJcGFkZGluZzogMXJlbTsKCWJhY2tncm91bmQ6ICMxNzE5MTQ7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKfQoKLnRtYi11bmxvY2staGVscCB7Cglib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLXRtYi1vbGl2ZS1saWdodCk7Cn0KCi50bWItdW5sb2NrLWVycm9yIHsKCWJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tdG1iLXJlZC1saWdodCk7Cn0KCi50bWItdW5sb2NrLXN1Y2Nlc3MgewoJYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjNjY4MTZhOwp9CgoudG1iLXVubG9jay1oZWxwIHN0cm9uZywKLnRtYi11bmxvY2stZXJyb3Igc3Ryb25nLAoudG1iLXVubG9jay1zdWNjZXNzIHN0cm9uZywKLnRtYi1ib29rLXByZXZpZXctbm90aWNlIHN0cm9uZyB7CglkaXNwbGF5OiBibG9jazsKCW1hcmdpbi1ib3R0b206IDAuMzVyZW07Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1saWdodCk7Cglmb250LXNpemU6IDAuNzhyZW07CglsZXR0ZXItc3BhY2luZzogMC4wNWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi11bmxvY2stZXJyb3Igc3Ryb25nIHsKCWNvbG9yOiAjZTRhNDlhOwp9CgoudG1iLXVubG9jay1zdWNjZXNzIHN0cm9uZyB7Cgljb2xvcjogI2I4ZDFiNTsKfQoKLnRtYi11bmxvY2staGVscCBwLAoudG1iLXVubG9jay1lcnJvciBwLAoudG1iLXVubG9jay1zdWNjZXNzIHAsCi50bWItYm9vay1wcmV2aWV3LW5vdGljZSBwIHsKCW1hcmdpbjogMDsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWRpbSk7Cglmb250LXNpemU6IDAuNzhyZW07CglsaW5lLWhlaWdodDogMS41Owp9CgoudG1iLXVubG9jay1hY3Rpb25zLAoudG1iLWJvb2stcHJldmlldy1hY3Rpb25zIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CglnYXA6IDAuNzVyZW07CgltYXJnaW4tdG9wOiAxLjI1cmVtOwp9CgoucGFzc2FnZSAudG1iLXVubG9jay1hY3Rpb25zIGEubGluay1pbnRlcm5hbCwKLnBhc3NhZ2UgLnRtYi1ib29rLXByZXZpZXctYWN0aW9ucyBhLmxpbmstaW50ZXJuYWwgewoJbWFyZ2luOiAwOwoJZm9udC1zaXplOiAwLjcycmVtOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgoudG1iLXVubG9jay1hY3Rpb25zLnNlY29uZGFyeSB7CglwYWRkaW5nLXRvcDogMXJlbTsKCWJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDExNiwgMTA1LCA3NywgMC4zNSk7Cn0KCi50bWItYm9vay1wcmV2aWV3LWhlYWRlciB7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMjIwcHgsIDMyMHB4KSBtaW5tYXgoMCwgMWZyKTsKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTM1ZGVnLAoJCQkjMjUyODFmLAoJCQkjMTAxMTBlCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwoJYm94LXNoYWRvdzogMCAxNnB4IDM4cHggcmdiYSgwLCAwLCAwLCAwLjQ4KTsKfQoKLnRtYi1ib29rLXByZXZpZXctY292ZXIgewoJYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cn0KCi50bWItYm9vay1wcmV2aWV3LWxhYmVsIHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDFyZW07Cglib3R0b206IDFyZW07CglwYWRkaW5nOiAwLjU1cmVtIDAuNzVyZW07CgliYWNrZ3JvdW5kOiByZ2JhKDkzLCAzNywgMzAsIDAuOTYpOwoJYm9yZGVyOiAxcHggc29saWQgI2E4NWE0NjsKCWJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tdG1iLXllbGxvdyk7Cgljb2xvcjogI2ZmZjFkMjsKCWZvbnQtc2l6ZTogMC43cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA4ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLWJvb2stcHJldmlldy1kZXRhaWxzIHsKCWRpc3BsYXk6IGZsZXg7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJbWluLXdpZHRoOiAwOwoJcGFkZGluZzogY2xhbXAoMS41cmVtLCA0dncsIDNyZW0pOwp9CgoudG1iLWJvb2stcHJldmlldy1kZXNjcmlwdGlvbiB7CgltYXJnaW46IDAgMCAxLjRyZW07Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cglmb250LXNpemU6IDAuOTJyZW07CglsaW5lLWhlaWdodDogMS42NTsKfQoKLnRtYi1ib29rLXByZXZpZXctc3RhdHVzIHsKCW1hcmdpbi1ib3R0b206IDEuMjVyZW07CglwYWRkaW5nOiAwLjg1cmVtIDFyZW07CgliYWNrZ3JvdW5kOiAjMTcxOTE0OwoJYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cglib3JkZXItbGVmdDogNXB4IHNvbGlkICM2NjgxNmE7Cn0KCi50bWItYm9vay1wcmV2aWV3LXN0YXR1cyBzcGFuLAoudG1iLWJvb2stcHJldmlldy1zdGF0dXMgc3Ryb25nIHsKCWRpc3BsYXk6IGJsb2NrOwp9CgoudG1iLWJvb2stcHJldmlldy1zdGF0dXMgc3BhbiB7CgltYXJnaW4tYm90dG9tOiAwLjI1cmVtOwoJY29sb3I6ICM4ZDg4Nzk7Cglmb250LXNpemU6IDAuNjJyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItYm9vay1wcmV2aWV3LXN0YXR1cyBzdHJvbmcgewoJY29sb3I6ICNiOGQxYjU7Cglmb250LXNpemU6IDAuODRyZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLWJvb2stcHJldmlldy1ub3RpY2UgewoJbWFyZ2luOiAwOwoJYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB2YXIoLS10bWIteWVsbG93KTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHsKCS50bWItdW5sb2NrLWxheW91dCwKCS50bWItYm9vay1wcmV2aWV3LWhlYWRlciB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9CgoJLnRtYi11bmxvY2stY292ZXIsCgkudG1iLWJvb2stcHJldmlldy1jb3ZlciB7CgkJbWluLWhlaWdodDogMDsKCQlhc3BlY3QtcmF0aW86IDIgLyAzOwoJCWJvcmRlci1yaWdodDogMDsKCQlib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cgl9Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUyMHB4KSB7CgkudG1iLXVubG9jay1oZWFkZXIgewoJCWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwoJfQoKCS50bWItdW5sb2NrLWlucHV0LXJvdyB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9CgoJLnBhc3NhZ2UgLnRtYi11bmxvY2staW5wdXQtcm93IGJ1dHRvbiB7CgkJd2lkdGg6IDEwMCU7Cgl9CgoJLnRtYi11bmxvY2stYWN0aW9ucywKCS50bWItYm9vay1wcmV2aWV3LWFjdGlvbnMgewoJCWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwoJfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBGVVRVUkUgQk9PSyBTQUZFVFkgUEFHRVMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoudG1iLWZ1dHVyZS1ib29rLXBhZ2UgewoJYm94LXNpemluZzogYm9yZGVyLWJveDsKCXdpZHRoOiAxMDAlOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQpOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKfQoKLnRtYi1mdXR1cmUtYm9vay1oZWFkZXIgewoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglnYXA6IDEuMnJlbTsKCXBhZGRpbmc6IDEuMzVyZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTM1ZGVnLAoJCQlyZ2JhKDQyLCA0NSwgMzUsIDAuOTgpLAoJCQlyZ2JhKDE0LCAxNSwgMTIsIDAuOTkpCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwoJYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB2YXIoLS10bWItcmVkLWxpZ2h0KTsKCWJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKfQoKLnRtYi1mdXR1cmUtYm9vay1udW1iZXIgewoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKCXdpZHRoOiA0cmVtOwoJaGVpZ2h0OiA0cmVtOwoJYmFja2dyb3VuZDogIzI0MjUxZjsKCWJvcmRlcjogMXB4IHNvbGlkICM1NTUzNDg7Cgljb2xvcjogdmFyKC0tdG1iLXllbGxvdyk7Cglmb250LXNpemU6IDEuMjVyZW07Cglmb250LXdlaWdodDogNzAwOwp9CgoudG1iLWZ1dHVyZS1ib29rLWtpY2tlciB7CglkaXNwbGF5OiBibG9jazsKCW1hcmdpbi1ib3R0b206IDAuMzVyZW07Cgljb2xvcjogdmFyKC0tdG1iLXllbGxvdyk7Cglmb250LXNpemU6IDAuNjhyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMTNlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi50bWItZnV0dXJlLWJvb2staGVhZGVyIGgxIHsKCW1hcmdpbjogMCAwIDAuMzVyZW07CglwYWRkaW5nOiAwOwoJYm9yZGVyOiAwOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtbGlnaHQpOwoJZm9udC1zaXplOiBjbGFtcCgxLjM1cmVtLCA0dncsIDIuMTVyZW0pOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKCWxpbmUtaGVpZ2h0OiAxLjE1OwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1mdXR1cmUtYm9vay1oZWFkZXIgcCB7CgltYXJnaW46IDA7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1kaW0pOwoJZm9udC1zaXplOiAwLjhyZW07CglsaW5lLWhlaWdodDogMS40Owp9CgoudG1iLWZ1dHVyZS1ib29rLW1lc3NhZ2UgewoJbWFyZ2luLXRvcDogMS4yNXJlbTsKCXBhZGRpbmc6IDEuMjVyZW07CgliYWNrZ3JvdW5kOgoJCXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoCgkJCTEzNWRlZywKCQkJIzFjMWUxOCAwLAoJCQkjMWMxZTE4IDE0cHgsCgkJCSMxODFhMTUgMTRweCwKCQkJIzE4MWExNSAyOHB4CgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRtYi1ib3JkZXIpOwoJYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCAjNTU1MzQ4Owp9CgoudG1iLWZ1dHVyZS1ib29rLW1lc3NhZ2Ugc3Ryb25nIHsKCWRpc3BsYXk6IGJsb2NrOwoJbWFyZ2luLWJvdHRvbTogMC40NXJlbTsKCWNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKCWZvbnQtc2l6ZTogMC44NXJlbTsKCWxldHRlci1zcGFjaW5nOiAwLjA2ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLWZ1dHVyZS1ib29rLW1lc3NhZ2UgcCB7CgltYXgtd2lkdGg6IDc2MHB4OwoJbWFyZ2luOiAwOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtZGltKTsKCWZvbnQtc2l6ZTogMC44MnJlbTsKCWxpbmUtaGVpZ2h0OiAxLjU1Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MjBweCkgewoJLnRtYi1mdXR1cmUtYm9vay1oZWFkZXIgewoJCWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwoJfQoKCS50bWItZnV0dXJlLWJvb2stbnVtYmVyIHsKCQl3aWR0aDogMy4yNXJlbTsKCQloZWlnaHQ6IDMuMjVyZW07Cgl9Cn0KCi8qIFJFU1RBUlQgQ09ORklSTUFUSU9OICovCgoudG1iLWNvbmZpcm0tcGFnZSB7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgd2lkdGg6IDEwMCU7CiAgICBjb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7CiAgICBmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwp9CgoudG1iLWNvbmZpcm0taGVhZGVyIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDRyZW0gbWlubWF4KDAsIDFmcik7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxLjI1cmVtOwogICAgcGFkZGluZzogMS40cmVtOwogICAgYmFja2dyb3VuZDogIzFhMTUxMjsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM3MDQwMzk7CiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHZhcigtLXRtYi1yZWQtbGlnaHQpOwogICAgYm94LXNoYWRvdzogMCAxMnB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjQyKTsKfQoKLnRtYi1jb25maXJtLWljb24gewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHdpZHRoOiA0cmVtOwogICAgaGVpZ2h0OiA0cmVtOwogICAgYmFja2dyb3VuZDogdmFyKC0tdG1iLXJlZCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjc2NTRmOwogICAgY29sb3I6IHZhcigtLXRtYi15ZWxsb3ctbGlnaHQpOwogICAgZm9udC1zaXplOiAxLjhyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDE7Cn0KCi50bWItY29uZmlybS1raWNrZXIgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tYm90dG9tOiAwLjM1cmVtOwogICAgY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwogICAgZm9udC1zaXplOiAwLjY4cmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjEzZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLWNvbmZpcm0taGVhZGVyIGgxIHsKICAgIG1hcmdpbjogMCAwIDAuNDVyZW07CiAgICBwYWRkaW5nOiAwOwogICAgYm9yZGVyOiAwOwogICAgY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtbGlnaHQpOwogICAgZm9udC1zaXplOiAycmVtOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjE1OwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1jb25maXJtLWhlYWRlciBwIHsKICAgIG1heC13aWR0aDogNzQwcHg7CiAgICBtYXJnaW46IDA7CiAgICBjb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudC1kaW0pOwogICAgZm9udC1zaXplOiAwLjg2cmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNTU7Cn0KCi50bWItY29uZmlybS13YXJuaW5nIHsKICAgIG1hcmdpbi10b3A6IDEuMjVyZW07CiAgICBwYWRkaW5nOiAxLjI1cmVtOwogICAgYmFja2dyb3VuZDogIzIxMTgxNTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM2OTQwMzk7CiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHZhcigtLXRtYi1yZWQtbGlnaHQpOwp9CgoudG1iLWNvbmZpcm0td2FybmluZyA+IHN0cm9uZyB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07CiAgICBjb2xvcjogI2U0YjBhNTsKICAgIGZvbnQtc2l6ZTogMC44MnJlbTsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoudG1iLWNvbmZpcm0td2FybmluZyB1bCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOwogICAgZ2FwOiAwLjQ1cmVtIDEuNHJlbTsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsKICAgIGNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWRpbSk7CiAgICBmb250LXNpemU6IDAuNzhyZW07CiAgICBsaW5lLWhlaWdodDogMS40NTsKfQoKLnRtYi1jb25maXJtLXdhcm5pbmcgbGk6Om1hcmtlciB7CiAgICBjb2xvcjogdmFyKC0tdG1iLXJlZC1saWdodCk7Cn0KCi50bWItY29uZmlybS1zdGF0dXMgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTsKICAgIGdhcDogMC44cmVtOwogICAgbWFyZ2luLXRvcDogMS4yNXJlbTsKfQoKLnRtYi1jb25maXJtLXN0YXR1cyA+IGRpdiB7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgbWluLXdpZHRoOiAwOwogICAgcGFkZGluZzogMXJlbTsKICAgIGJhY2tncm91bmQ6ICMxNzE5MTQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS10bWItb2xpdmUtbGlnaHQpOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgoudG1iLWNvbmZpcm0tc3RhdHVzIHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tYm90dG9tOiAwLjM1cmVtOwogICAgY29sb3I6ICM5MThhNzk7CiAgICBmb250LXNpemU6IDAuNjFyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRtYi1jb25maXJtLXN0YXR1cyBzdHJvbmcgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsKICAgIGNvbG9yOiB2YXIoLS10bWItcGFyY2htZW50LWxpZ2h0KTsKICAgIGZvbnQtc2l6ZTogMC44MnJlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM1Owp9CgoudG1iLWNvbmZpcm0tYWN0aW9ucyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOwogICAgZ2FwOiAwLjg1cmVtOwogICAgbWFyZ2luLXRvcDogMS40cmVtOwogICAgcGFkZGluZy10b3A6IDEuMnJlbTsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKfQoKLnBhc3NhZ2UgLnRtYi1jb25maXJtLWNhbmNlbCBhIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMC44NXJlbSAxcmVtOwogICAgYmFja2dyb3VuZDogIzMwMzMyOTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRtYi1vbGl2ZS1saWdodCk7CiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHZhcigtLXRtYi15ZWxsb3cpOwogICAgY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQtbGlnaHQpOwogICAgZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKICAgIGZvbnQtc2l6ZTogMC43NHJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgbGluZS1oZWlnaHQ6IDEuMzU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoucGFzc2FnZSAudG1iLWNvbmZpcm0tY2FuY2VsIGE6aG92ZXIsCi5wYXNzYWdlIC50bWItY29uZmlybS1jYW5jZWwgYTpmb2N1cy12aXNpYmxlIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXRtYi1vbGl2ZSk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXRtYi15ZWxsb3ctbGlnaHQpOwogICAgY29sb3I6ICNmZmZmZmY7Cn0KCi5wYXNzYWdlIC50bWItY29uZmlybS1kYW5nZXIgYnV0dG9uIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMC44NXJlbSAxcmVtOwogICAgYmFja2dyb3VuZDogIzcwMmMyNDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNhODVhNDY7CiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHZhcigtLXRtYi1yZWQtbGlnaHQpOwogICAgY29sb3I6ICNmZmYwZGM7CiAgICBmb250LWZhbWlseTogdmFyKC0tdG1iLWZvbnQpOwogICAgZm9udC1zaXplOiAwLjc0cmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICBsaW5lLWhlaWdodDogMS4zNTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5wYXNzYWdlIC50bWItY29uZmlybS1kYW5nZXIgYnV0dG9uOmhvdmVyLAoucGFzc2FnZSAudG1iLWNvbmZpcm0tZGFuZ2VyIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHsKICAgIGJhY2tncm91bmQ6ICM5YjQwMzM7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXRtYi15ZWxsb3cpOwogICAgY29sb3I6ICNmZmZmZmY7Cn0KCi50bWItY29uZmlybS1ub3RlIHsKICAgIG1hcmdpbjogMXJlbSAwIDA7CiAgICBjb2xvcjogIzkxOGE3OTsKICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgbGluZS1oZWlnaHQ6IDEuNDU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi50bWItaHViLXJlc3RhcnQtYWN0aW9uIHsKICAgIG1heC13aWR0aDogMjcwcHg7Cn0KCi5wYXNzYWdlIC50bWItaHViLXJlc3RhcnQtYWN0aW9uIGEgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07CiAgICBiYWNrZ3JvdW5kOiAjMmIxYjE4OwogICAgYm9yZGVyOiAxcHggc29saWQgIzcwNDAzOTsKICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tdG1iLXJlZC1saWdodCk7CiAgICBjb2xvcjogI2M5YjlhNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS10bWItZm9udCk7CiAgICBmb250LXNpemU6IDAuNzNyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5wYXNzYWdlIC50bWItaHViLXJlc3RhcnQtYWN0aW9uIGE6aG92ZXIsCi5wYXNzYWdlIC50bWItaHViLXJlc3RhcnQtYWN0aW9uIGE6Zm9jdXMtdmlzaWJsZSB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10bWItcmVkKTsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdG1iLXllbGxvdyk7CiAgICBjb2xvcjogI2ZmZjNkODsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzYwcHgpIHsKICAgIC50bWItY29uZmlybS1zdGF0dXMgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsKICAgIH0KfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTQwcHgpIHsKICAgIC50bWItY29uZmlybS1oZWFkZXIgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgfQoKICAgIC50bWItY29uZmlybS1pY29uIHsKICAgICAgICB3aWR0aDogMy4yNXJlbTsKICAgICAgICBoZWlnaHQ6IDMuMjVyZW07CiAgICB9CgogICAgLnRtYi1jb25maXJtLWhlYWRlciBoMSB7CiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICB9CgogICAgLnRtYi1jb25maXJtLXdhcm5pbmcgdWwsCiAgICAudG1iLWNvbmZpcm0tc3RhdHVzLAogICAgLnRtYi1jb25maXJtLWFjdGlvbnMgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgfQoKICAgIC50bWItaHViLXJlc3RhcnQtYWN0aW9uIHsKICAgICAgICBtYXgtd2lkdGg6IG5vbmU7CiAgICB9Cn0KLnRtYi1zaWRlYmFyLW9iamVjdGl2ZSB7CglwYWRkaW5nOiAwLjE1cmVtIDA7Cgljb2xvcjogdmFyKC0tdG1iLXBhcmNobWVudCk7Cglmb250LXNpemU6IDAuNzJyZW07CglsaW5lLWhlaWdodDogMS40NTsKCW92ZXJmbG93LXdyYXA6IGFueXdoZXJlOwp9CgoudG1iLWFyY2hpdmUtbm90aWNlLAoudG1iLWFyY2hpdmUtY2hvaWNlIHsKCW1hcmdpbjogMXJlbSAwOwoJcGFkZGluZzogMXJlbTsKCWJhY2tncm91bmQ6ICMxNzE5MTQ7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10bWItYm9yZGVyKTsKCWJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tdG1iLXllbGxvdyk7Cn0KCi50bWItYXJjaGl2ZS1ub3RpY2Ugc3Ryb25nLAoudG1iLWFyY2hpdmUtY2hvaWNlIHNwYW4sCi50bWItYXJjaGl2ZS1jaG9pY2Ugc3Ryb25nIHsKCWRpc3BsYXk6IGJsb2NrOwp9CiNtZW51LWl0ZW0tcmVzdGFydCB7CmRpc3BsYXk6IG5vbmU7Cn0KLyogS0VFUCBCT09LIENPVkVSUyBGVUxMWSBWSVNJQkxFICovCgoudG1iLWJvb2staHViLWhlYWRlciB7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgzNDBweCwgMzgwcHgpIG1pbm1heCgwLCAxZnIpOwoJYWxpZ24taXRlbXM6IHN0YXJ0Owp9CgoudG1iLWJvb2staHViLWNvdmVyIHsKCWFsaWduLXNlbGY6IHN0YXJ0OwoJd2lkdGg6IDEwMCU7CgltaW4taGVpZ2h0OiAwOwoJYXNwZWN0LXJhdGlvOiAyIC8gMzsKCWJhY2tncm91bmQ6ICMwOTBhMDg7Cn0KCi50bWItYm9vay1odWItY292ZXIgaW1nIHsKCXdpZHRoOiAxMDAlOwoJaGVpZ2h0OiAxMDAlOwoJb2JqZWN0LWZpdDogY29udGFpbjsKCW9iamVjdC1wb3NpdGlvbjogY2VudGVyIHRvcDsKfQoKLnRtYi1jdXJyZW50LW1pc3Npb24tY2FyZCB7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgzMDBweCwgMzQwcHgpIG1pbm1heCgwLCAxZnIpOwoJYWxpZ24taXRlbXM6IHN0YXJ0Owp9CgoudG1iLWN1cnJlbnQtY292ZXIgewoJYWxpZ24tc2VsZjogc3RhcnQ7Cgl3aWR0aDogMTAwJTsKCW1pbi1oZWlnaHQ6IDA7Cglhc3BlY3QtcmF0aW86IDIgLyAzOwoJYmFja2dyb3VuZDogIzA5MGEwODsKfQoKLnRtYi1jdXJyZW50LWNvdmVyIGltZyB7Cgl3aWR0aDogMTAwJTsKCWhlaWdodDogMTAwJTsKCW9iamVjdC1maXQ6IGNvbnRhaW47CglvYmplY3QtcG9zaXRpb246IGNlbnRlciB0b3A7Cn0KCi50bWItYm9vay1wcmV2aWV3LWhlYWRlciB7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgzNDBweCwgMzgwcHgpIG1pbm1heCgwLCAxZnIpOwoJYWxpZ24taXRlbXM6IHN0YXJ0Owp9CgoudG1iLWJvb2stcHJldmlldy1jb3ZlciB7CglhbGlnbi1zZWxmOiBzdGFydDsKCXdpZHRoOiAxMDAlOwoJbWluLWhlaWdodDogMDsKCWFzcGVjdC1yYXRpbzogMiAvIDM7CgliYWNrZ3JvdW5kOiAjMDkwYTA4Owp9CgoudG1iLWJvb2stcHJldmlldy1jb3ZlciBpbWcgewoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IDEwMCU7CglvYmplY3QtZml0OiBjb250YWluOwoJb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgdG9wOwp9CgoudG1iLWNvdmVyLXdyYXAgaW1nIHsKCW9iamVjdC1maXQ6IGNvbnRhaW47CglvYmplY3QtcG9zaXRpb246IGNlbnRlciB0b3A7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk0MHB4KSB7CgkudG1iLWJvb2staHViLWhlYWRlciB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMjgwcHgsIDMyMHB4KSBtaW5tYXgoMCwgMWZyKTsKCX0KCgkudG1iLWN1cnJlbnQtbWlzc2lvbi1jYXJkIHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgyNjBweCwgMzAwcHgpIG1pbm1heCgwLCAxZnIpOwoJfQoKCS50bWItYm9vay1wcmV2aWV3LWhlYWRlciB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMjgwcHgsIDMyMHB4KSBtaW5tYXgoMCwgMWZyKTsKCX0KfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHsKCS50bWItYm9vay1odWItaGVhZGVyLAoJLnRtYi1jdXJyZW50LW1pc3Npb24tY2FyZCwKCS50bWItYm9vay1wcmV2aWV3LWhlYWRlciB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9CgoJLnRtYi1ib29rLWh1Yi1jb3ZlciwKCS50bWItY3VycmVudC1jb3ZlciwKCS50bWItYm9vay1wcmV2aWV3LWNvdmVyIHsKCQl3aWR0aDogMTAwJTsKCQltYXgtd2lkdGg6IDQyMHB4OwoJCW1hcmdpbjogMCBhdXRvOwoJCWJvcmRlci1yaWdodDogMDsKCQlib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cgl9Cn0KLnRtYi1wcm9ncmVzcy1ibG9jayB7CgltYXJnaW4tdG9wOiAwLjg1cmVtOwoJcGFkZGluZy10b3A6IDAuNzVyZW07Cglib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdG1iLWJvcmRlcik7Cn0KCi50bWItcHJvZ3Jlc3MtbGFiZWwgewoJZGlzcGxheTogZmxleDsKCWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKCWdhcDogMXJlbTsKCW1hcmdpbi1ib3R0b206IDAuNDVyZW07Cn0KCi50bWItcHJvZ3Jlc3MtbGFiZWwgc3BhbiwKLnRtYi1wcm9ncmVzcy1sYWJlbCBzdHJvbmcgewoJbWFyZ2luOiAwOwoJZm9udC1zaXplOiAwLjY1cmVtOwoJbGluZS1oZWlnaHQ6IDEuMjsKfQoKLnRtYi1wcm9ncmVzcy10cmFjayB7CgloZWlnaHQ6IDAuN3JlbTsKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOiAjMGMwZDBhOwoJYm9yZGVyOiAxcHggc29saWQgIzU5NTEzZTsKfQoKLnRtYi1wcm9ncmVzcy1maWxsIHsKCWhlaWdodDogMTAwJTsKCWJhY2tncm91bmQ6IHZhcigtLXRtYi15ZWxsb3cpOwoJdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZTsKfQoKQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKCS50bWItcHJvZ3Jlc3MtZmlsbCB7CgkJdHJhbnNpdGlvbjogbm9uZTsKCX0KfQovKiBPUEVSQVRJT05BTCBQUk9GSUxFIFRPT0xUSVBTICovCgoudG1iLW1ldHJpYy1jYXJkIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLnRtYi1tZXRyaWMtaGVscCB7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgl0b3A6IDAuNjVyZW07CglyaWdodDogMC42NXJlbTsKCXotaW5kZXg6IDM7CglkaXNwbGF5OiBmbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJd2lkdGg6IDEuNHJlbTsKCWhlaWdodDogMS40cmVtOwoJcGFkZGluZzogMDsKCWJhY2tncm91bmQ6ICMyYTJjMjQ7Cglib3JkZXI6IDFweCBzb2xpZCAjNjc2MDRjOwoJYm9yZGVyLXJhZGl1czogNTAlOwoJY29sb3I6IHZhcigtLXRtYi15ZWxsb3ctbGlnaHQpOwoJZm9udC1mYW1pbHk6IHZhcigtLXRtYi1mb250KTsKCWZvbnQtc2l6ZTogMC43cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxOwoJY3Vyc29yOiBoZWxwOwp9CgoudG1iLW1ldHJpYy1oZWxwOmZvY3VzLXZpc2libGUgewoJb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLXRtYi15ZWxsb3ctbGlnaHQpOwoJb3V0bGluZS1vZmZzZXQ6IDJweDsKfQoKLnRtYi1tZXRyaWMtdG9vbHRpcCB7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgl6LWluZGV4OiAyMDsKCXRvcDogMi40NXJlbTsKCXJpZ2h0OiAwLjY1cmVtOwoJd2lkdGg6IG1pbigyNDBweCwgY2FsYygxMDAlIC0gMS4zcmVtKSk7CglwYWRkaW5nOiAwLjc1cmVtOwoJYmFja2dyb3VuZDogIzBkMGUwYjsKCWJvcmRlcjogMXB4IHNvbGlkICM3NTZiNTI7Cglib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLXRtYi15ZWxsb3cpOwoJYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuNTUpOwoJY29sb3I6IHZhcigtLXRtYi1wYXJjaG1lbnQpOwoJZm9udC1zaXplOiAwLjdyZW07Cglmb250LXdlaWdodDogNDAwOwoJbGV0dGVyLXNwYWNpbmc6IDA7CglsaW5lLWhlaWdodDogMS40NTsKCXRleHQtYWxpZ246IGxlZnQ7Cgl0ZXh0LXRyYW5zZm9ybTogbm9uZTsKCW9wYWNpdHk6IDA7Cgl2aXNpYmlsaXR5OiBoaWRkZW47Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7Cgl0cmFuc2l0aW9uOgoJCW9wYWNpdHkgMTYwbXMgZWFzZSwKCQl0cmFuc2Zvcm0gMTYwbXMgZWFzZSwKCQl2aXNpYmlsaXR5IDE2MG1zIGVhc2U7Cglwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLnRtYi1tZXRyaWMtaGVscDpob3ZlciArIC50bWItbWV0cmljLXRvb2x0aXAsCi50bWItbWV0cmljLWhlbHA6Zm9jdXMgKyAudG1iLW1ldHJpYy10b29sdGlwLAoudG1iLW1ldHJpYy1oZWxwOmZvY3VzLXZpc2libGUgKyAudG1iLW1ldHJpYy10b29sdGlwIHsKCW9wYWNpdHk6IDE7Cgl2aXNpYmlsaXR5OiB2aXNpYmxlOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewoJLnRtYi1tZXRyaWMtdG9vbHRpcCB7CgkJdHJhbnNpdGlvbjogbm9uZTsKCX0KfTwvc3R5bGU+PHNjcmlwdCByb2xlPSJzY3JpcHQiIGlkPSJ0d2luZS11c2VyLXNjcmlwdCIgdHlwZT0idGV4dC90d2luZS1qYXZhc2NyaXB0Ij5Db25maWcuaGlzdG9yeS5jb250cm9scyA9IGZhbHNlOzwvc2NyaXB0Pjx0dy10YWcgbmFtZT0ic2VyaWVzLWxpYnJhcnkiIGNvbG9yPSJyZWQiPjwvdHctdGFnPjx0dy10YWcgbmFtZT0iYm9vay1odWIiIGNvbG9yPSJ5ZWxsb3ciPjwvdHctdGFnPjx0dy10YWcgbmFtZT0id2lkZ2V0IiBjb2xvcj0icHVycGxlIj48L3R3LXRhZz48dHctdGFnIG5hbWU9Im5vYnIiIGNvbG9yPSJ5ZWxsb3ciPjwvdHctdGFnPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEiIG5hbWU9IlN0YXJ0IiB0YWdzPSJzZXJpZXMtbGlicmFyeSIgcG9zaXRpb249IjkyNSwxNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CiZsdDsmbHQ7c2V0IF9ib29rcyA9IFsKCXsKCQludW1iZXI6IDEsCgkJdGl0bGU6ICZxdW90O1RoZSBSb2FkIEJldHdlZW4mcXVvdDssCgkJY292ZXI6ICZxdW90O2ltYWdlcy9tYi1jb3Zlci1yZGJldHdlZW4uanBnJnF1b3Q7LAoJCWRlc2NyaXB0aW9uOiAmcXVvdDtTaXggQW1lcmljYW4gc29sZGllcnMgZm9sbG93IGEgcm9hZCBhYnNlbnQgZnJvbSB0aGVpciBtYXAgYW5kIGRpc2NvdmVyIGEgZ2F0ZXdheSBsZWFkaW5nIGJleW9uZCB0aGUgd2FyIHRoZXkga25vdy4mcXVvdDssCgkJbWVudTogJnF1b3Q7QjAxIC0gTWFpbiBNZW51JnF1b3Q7Cgl9LAoJewoJCW51bWJlcjogMiwKCQl0aXRsZTogJnF1b3Q7Tm8gTWFuJiMzOTtzIExhbmQmcXVvdDssCgkJY292ZXI6ICZxdW90O2ltYWdlcy9tYi1jb3Zlci1ub21hbnMuanBnJnF1b3Q7LAoJCWRlc2NyaXB0aW9uOiAmcXVvdDtUaGUgcGF0cm9sIGNyb3NzZXMgYSBkZXNvbGF0ZSBsYW5kc2NhcGUgd2hlcmUgdGhlIGRlYWQgd2F0Y2ggZnJvbSB0aGUgcnVpbnMgYW5kIG5vIGZhbWlsaWFyIGFybXkgaG9sZHMgdGhlIGdyb3VuZC4mcXVvdDssCgkJbWVudTogJnF1b3Q7QjAyIC0gTWFpbiBNZW51JnF1b3Q7Cgl9LAoJewoJCW51bWJlcjogMywKCQl0aXRsZTogJnF1b3Q7VGhlIEdhdGUgb2YgQXNoIGFuZCBCb25lJnF1b3Q7LAoJCWNvdmVyOiAmcXVvdDtpbWFnZXMvbWItY292ZXItZ2F0ZWFzaGJvbmUuanBnJnF1b3Q7LAoJCWRlc2NyaXB0aW9uOiAmcXVvdDtBIG1vbnVtZW50YWwgZ2F0ZXdheSBsZWFkcyB0aGUgcGF0cm9sIGludG8gYSBsYW5kIGJ1aWx0IGZyb20gdGhlIHJlbW5hbnRzIG9mIGZvcmdvdHRlbiB3YXJzLiZxdW90OywKCQltZW51OiAmcXVvdDtCMDMgLSBNYWluIE1lbnUmcXVvdDsKCX0sCgl7CgkJbnVtYmVyOiA0LAoJCXRpdGxlOiAmcXVvdDtUaGUgTG9zdCBQYXRyb2wgb2YgU2FpbnQtTWVyY3kmcXVvdDssCgkJY292ZXI6ICZxdW90O2ltYWdlcy9tYi1jb3Zlci1sb3N0cGF0cm9sc3RtLmpwZyZxdW90OywKCQlkZXNjcmlwdGlvbjogJnF1b3Q7VGhlIHBhdHJvbCBlbmNvdW50ZXJzIEFtZXJpY2FuIHNvbGRpZXJzIGZyb20gYW4gZWFybGllciB3YXIgc3RpbGwgZmlnaHRpbmcgYSBiYXR0bGUgdGhhdCBlbmRlZCBkZWNhZGVzIGFnby4mcXVvdDssCgkJbWVudTogJnF1b3Q7QjA0IC0gTWFpbiBNZW51JnF1b3Q7Cgl9LAoJewoJCW51bWJlcjogNSwKCQl0aXRsZTogJnF1b3Q7V2hlcmUgdGhlIE1hcHMgRW5kJnF1b3Q7LAoJCWNvdmVyOiAmcXVvdDtpbWFnZXMvbWItY292ZXItd2hlcmVtYXBzZW5kLmpwZyZxdW90OywKCQlkZXNjcmlwdGlvbjogJnF1b3Q7QXQgdGhlIHRvcm4gZWRnZSBvZiB0aGUga25vd24gd29ybGQsIHRoZSBwYXRyb2wgZGlzY292ZXJzIHRlcnJhaW4gbm8gbWFwIHdhcyBtZWFudCB0byBjb250YWluLiZxdW90OywKCQltZW51OiAmcXVvdDtCMDUgLSBNYWluIE1lbnUmcXVvdDsKCX0sCgl7CgkJbnVtYmVyOiA2LAoJCXRpdGxlOiAmcXVvdDtUaGUgS2luZ2RvbSBVbmRlciB0aGUgQmF0dGxlZmllbGQmcXVvdDssCgkJY292ZXI6ICZxdW90O2ltYWdlcy9tYi1jb3Zlci1raW5nZG9tdW5kZXIuanBnJnF1b3Q7LAoJCWRlc2NyaXB0aW9uOiAmcXVvdDtCZW5lYXRoIHRoZSBydWlucyBvZiBhIHNoYXR0ZXJlZCBiYXR0bGVmaWVsZCBsaWVzIGFuIGFuY2llbnQga2luZ2RvbSB0aGF0IGhhcyBiZWVuIHdhaXRpbmcgZm9yIGFub3RoZXIgYXJteS4mcXVvdDssCgkJbWVudTogJnF1b3Q7QjA2IC0gTWFpbiBNZW51JnF1b3Q7Cgl9LAoJewoJCW51bWJlcjogNywKCQl0aXRsZTogJnF1b3Q7VGhlIEJsYWNrIE9yY2hhcmQmcXVvdDssCgkJY292ZXI6ICZxdW90O2ltYWdlcy9tYi1jb3Zlci1ibGFja29yY2hhcmQuanBnJnF1b3Q7LAoJCWRlc2NyaXB0aW9uOiAmcXVvdDtBIGJsaWdodGVkIG9yY2hhcmQgZ3Jvd3MgaW4gc29pbCBub3VyaXNoZWQgYnkgdGhlIG1pc3NpbmcsIGFuZCBzb21ldGhpbmcgYW1vbmcgdGhlIHRyZWVzIGlzIHN0aWxsIGhhcnZlc3RpbmcuJnF1b3Q7LAoJCW1lbnU6ICZxdW90O0IwNyAtIE1haW4gTWVudSZxdW90OwoJfSwKCXsKCQludW1iZXI6IDgsCgkJdGl0bGU6ICZxdW90O1RoZSBWaWxsYWdlIFRoYXQgV2FzbiYjMzk7dCBUaGVyZSZxdW90OywKCQljb3ZlcjogJnF1b3Q7aW1hZ2VzL21iLWNvdmVyLXZpbGxhZ2V0aGVyZTIuanBnJnF1b3Q7LAoJCWRlc2NyaXB0aW9uOiAmcXVvdDtUaGUgbWFwIG1hcmtzIGEgdmlsbGFnZSBhdCB0aGUgcGF0cm9sJiMzOTtzIGxvY2F0aW9uLCBidXQgb25seSBhbiBlbXB0eSBjbGVhcmluZyBhbmQgc2NhdHRlcmVkIHJ1aW5zIHJlbWFpbi4mcXVvdDssCgkJbWVudTogJnF1b3Q7QjA4IC0gTWFpbiBNZW51JnF1b3Q7Cgl9Cl0mZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgX2FjdGl2ZUJvb2sgPSBudWxsJmd0OyZndDsKCiZsdDsmbHQ7aWYgJGN1cnJlbnRCb29rICZndDs9IDEgYW5kICRjdXJyZW50Qm9vayAmbHQ7PSBfYm9va3MubGVuZ3RoJmd0OyZndDsKCSZsdDsmbHQ7c2V0IF9hY3RpdmVCb29rID0gX2Jvb2tzWyRjdXJyZW50Qm9vayAtIDFdJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItbGlicmFyeSZxdW90OyZndDsKCgkmbHQ7aGVhZGVyIGNsYXNzPSZxdW90O3RtYi1saWJyYXJ5LWhlYWRlciZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2VyaWVzLWhlYWRlci1pbWFnZSZxdW90OyZndDsKCQkJJmx0O2ltZwoJCQkJc3JjPSZxdW90O2ltYWdlcy90bWItc2VyaWVzLWhlYWRlci5wbmcmcXVvdDsKCQkJCWFsdD0mcXVvdDtUaGUgTWVuIEJldHdlZW4mcXVvdDsKCQkJJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1saWJyYXJ5LWludHJvJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiBjbGFzcz0mcXVvdDt0bWItaW50cm8tbGFiZWwmcXVvdDsmZ3Q7CgkJCQlUaGUgSm91cm5leSBCZWdpbnMKCQkJJmx0Oy9zcGFuJmd0OwoKCQkJJmx0O3AmZ3Q7CgkJCQlBIHBhdHJvbCBkaXNhcHBlYXJzIGZyb20gdGhlIGZhbWlsaWFyIHJvYWRzIG9mIFdvcmxkIFdhciBJSQoJCQkJYW5kIGVudGVycyBhIHdvcmxkIHNoYXBlZCBieSBmb3Jnb3R0ZW4gY29uZmxpY3RzLCBtaXNzaW5nCgkJCQlzb2xkaWVycywgYW5kIHdhcnMgdGhhdCBuZXZlciB0cnVseSBlbmRlZC4KCQkJJmx0Oy9wJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvaGVhZGVyJmd0OwoKCSZsdDtzZWN0aW9uCgkJY2xhc3M9JnF1b3Q7dG1iLWN1cnJlbnQtbWlzc2lvbiZxdW90OwoJCWFyaWEtbGFiZWxsZWRieT0mcXVvdDt0bWItY3VycmVudC1oZWFkaW5nJnF1b3Q7CgkmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXNlY3Rpb24taGVhZGluZyZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7Q2FtcGFpZ24gT3BlcmF0aW9ucyZsdDsvc3BhbiZndDsKCQkJJmx0O2gxIGlkPSZxdW90O3RtYi1jdXJyZW50LWhlYWRpbmcmcXVvdDsmZ3Q7Q3VycmVudCBNaXNzaW9uJmx0Oy9oMSZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0OyZsdDtpZiBfYWN0aXZlQm9vayZndDsmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jdXJyZW50LW1pc3Npb24tY2FyZCZxdW90OyZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jdXJyZW50LWNvdmVyJnF1b3Q7Jmd0OwoJCQkJCSZsdDtpbWcKCQkJCQkJQHNyYz0mcXVvdDtfYWN0aXZlQm9vay5jb3ZlciZxdW90OwoJCQkJCQlAYWx0PSZxdW90O19hY3RpdmVCb29rLnRpdGxlICsgJiMzOTsgY292ZXImIzM5OyZxdW90OwoJCQkJCSZndDsKCgkJCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWN1cnJlbnQtYmFkZ2UmcXVvdDsmZ3Q7CgkJCQkJCUJvb2sgJmx0OyZsdDs9IF9hY3RpdmVCb29rLm51bWJlciZndDsmZ3Q7CgkJCQkJJmx0Oy9zcGFuJmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItY3VycmVudC1kZXRhaWxzJnF1b3Q7Jmd0OwoKCQkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jdXJyZW50LWxhYmVsJnF1b3Q7Jmd0OwoJCQkJCQlQYXRyb2wgUmVjb3JkCgkJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJCSZsdDtoMiZndDsmbHQ7Jmx0Oz0gX2FjdGl2ZUJvb2sudGl0bGUmZ3Q7Jmd0OyZsdDsvaDImZ3Q7CgoJCQkJCSZsdDtwIGNsYXNzPSZxdW90O3RtYi1jdXJyZW50LWRlc2NyaXB0aW9uJnF1b3Q7Jmd0OwoJCQkJCQkmbHQ7Jmx0Oz0gX2FjdGl2ZUJvb2suZGVzY3JpcHRpb24mZ3Q7Jmd0OwoJCQkJCSZsdDsvcCZndDsKCgkJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItbWlzc2lvbi1zdGF0dXMtZ3JpZCZxdW90OyZndDsKCgkJCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLW1pc3Npb24tc3RhdCZxdW90OyZndDsKCQkJCQkJCSZsdDtzcGFuJmd0O0NoYXB0ZXImbHQ7L3NwYW4mZ3Q7CgoJCQkJCQkJJmx0O3N0cm9uZyZndDsKCQkJCQkJCQkmbHQ7Jmx0O2lmIGRlZiAkY3VycmVudENoYXB0ZXImZ3Q7Jmd0OwoJCQkJCQkJCQkmbHQ7Jmx0Oz0gJGN1cnJlbnRDaGFwdGVyJmd0OyZndDsKCQkJCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkJCQlOb3QgU3RhcnRlZAoJCQkJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCQkJCSZsdDsvc3Ryb25nJmd0OwoJCQkJCQkmbHQ7L2RpdiZndDsKCgkJCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLW1pc3Npb24tc3RhdCZxdW90OyZndDsKCQkJCQkJCSZsdDtzcGFuJmd0O0xvY2F0aW9uJmx0Oy9zcGFuJmd0OwoKCQkJCQkJCSZsdDtzdHJvbmcmZ3Q7CgkJCQkJCQkJJmx0OyZsdDtpZiBkZWYgJGN1cnJlbnRMb2NhdGlvbiZndDsmZ3Q7CgkJCQkJCQkJCSZsdDsmbHQ7PSAkY3VycmVudExvY2F0aW9uJmd0OyZndDsKCQkJCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkJCQlVbmtub3duCgkJCQkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJCQkJJmx0Oy9zdHJvbmcmZ3Q7CgkJCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItbWlzc2lvbi1zdGF0JnF1b3Q7Jmd0OwoJCQkJCQkJJmx0O3NwYW4mZ3Q7UGF0cm9sJmx0Oy9zcGFuJmd0OwoJCQkJCQkJJmx0O3N0cm9uZyZndDtBY3RpdmUmbHQ7L3N0cm9uZyZndDsKCQkJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jdXJyZW50LWFjdGlvbnMmcXVvdDsmZ3Q7CgoJCQkJCQkmbHQ7Jmx0O2lmIFN0b3J5LmhhcyhfYWN0aXZlQm9vay5tZW51KSZndDsmZ3Q7CgoJCQkJCQkJJmx0OyZsdDtsaW5rICZxdW90O0NvbnRpbnVlIE1pc3Npb24mcXVvdDsmZ3Q7Jmd0OwoJCQkJCQkJCSZsdDsmbHQ7Z290byBfYWN0aXZlQm9vay5tZW51Jmd0OyZndDsKCQkJCQkJCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCQkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCgkJCQkJCQkmbHQ7c3BhbiBjbGFzcz0mcXVvdDt0bWItdW5hdmFpbGFibGUmcXVvdDsmZ3Q7CgkJCQkJCQkJTWlzc2lvbiBQYXNzYWdlIE5vdCBZZXQgQWRkZWQKCQkJCQkJCSZsdDsvc3BhbiZndDsKCgkJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7L2RpdiZndDsKCgkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLW5vLWN1cnJlbnQtbWlzc2lvbiZxdW90OyZndDsKCgkJCQkmbHQ7ZGl2CgkJCQkJY2xhc3M9JnF1b3Q7dG1iLW5vLWN1cnJlbnQtbWFyayZxdW90OwoJCQkJCWFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsKCQkJCSZndDsKCQkJCQk/CgkJCQkmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7ZGl2Jmd0OwoKCQkJCQkmbHQ7aDImZ3Q7Tm8gTWlzc2lvbiBTZWxlY3RlZCZsdDsvaDImZ3Q7CgoJCQkJCSZsdDtwJmd0OwoJCQkJCQlTZWxlY3QgYW4gYXZhaWxhYmxlIGJvb2sgYmVsb3cgdG8gYmVnaW4gdGhlIHBhdHJvbCYjMzk7cwoJCQkJCQlqb3VybmV5IGJleW9uZCB0aGUgZmFtaWxpYXIgcm9hZHMgb2YgdGhlIHdhci4KCQkJCQkmbHQ7L3AmZ3Q7CgoJCQkJCSZsdDthCgkJCQkJCWNsYXNzPSZxdW90O3RtYi1zY3JvbGwtYWN0aW9uJnF1b3Q7CgkJCQkJCWhyZWY9JnF1b3Q7I3RtYi1zZXJpZXMtYm9va3MmcXVvdDsKCQkJCQkmZ3Q7CgkJCQkJCVZpZXcgQXZhaWxhYmxlIE1pc3Npb25zCgkJCQkJJmx0Oy9hJmd0OwoKCQkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkmbHQ7L3NlY3Rpb24mZ3Q7CgoJJmx0O3NlY3Rpb24KCQlpZD0mcXVvdDt0bWItc2VyaWVzLWJvb2tzJnF1b3Q7CgkJY2xhc3M9JnF1b3Q7dG1iLXNlcmllcy1ib29rcyZxdW90OwoJCWFyaWEtbGFiZWxsZWRieT0mcXVvdDt0bWItc2VyaWVzLWhlYWRpbmcmcXVvdDsKCSZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2VjdGlvbi1oZWFkaW5nJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDtDYW1wYWlnbiBBcmNoaXZlJmx0Oy9zcGFuJmd0OwoJCQkmbHQ7aDEgaWQ9JnF1b3Q7dG1iLXNlcmllcy1oZWFkaW5nJnF1b3Q7Jmd0O1RoZSBTZXJpZXMmbHQ7L2gxJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1ib29rLWdyaWQmcXVvdDsmZ3Q7CgoJCQkmbHQ7Jmx0O2ZvciBfaSA9IDA7IF9pICZsdDsgX2Jvb2tzLmxlbmd0aDsgX2krKyZndDsmZ3Q7CgoJCQkJJmx0OyZsdDtzZXQgX2Jvb2sgPSBfYm9va3NbX2ldJmd0OyZndDsKCgkJCQkmbHQ7Jmx0O3NldCBfdW5sb2NrTmFtZSA9CgkJCQkJJnF1b3Q7Ym9vayZxdW90OyArIF9ib29rLm51bWJlciArICZxdW90O1VubG9ja2VkJnF1b3Q7CgkJCQkmZ3Q7Jmd0OwoKCQkJCSZsdDsmbHQ7c2V0IF9jb21wbGV0ZU5hbWUgPQoJCQkJCSZxdW90O2Jvb2smcXVvdDsgKyBfYm9vay5udW1iZXIgKyAmcXVvdDtDb21wbGV0ZSZxdW90OwoJCQkJJmd0OyZndDsKCgkJCQkmbHQ7Jmx0O3NldCBfaXNVbmxvY2tlZCA9CgkJCQkJX2Jvb2subnVtYmVyIGlzIDEgb3IKCQkJCQlTdGF0ZS52YXJpYWJsZXNbX3VubG9ja05hbWVdCgkJCQkmZ3Q7Jmd0OwoKCQkJCSZsdDsmbHQ7c2V0IF9pc0NvbXBsZXRlID0KCQkJCQlTdGF0ZS52YXJpYWJsZXNbX2NvbXBsZXRlTmFtZV0KCQkJCSZndDsmZ3Q7CgoJCQkJJmx0OyZsdDtzZXQgX2lzQ3VycmVudCA9CgkJCQkJJGN1cnJlbnRCb29rIGlzIF9ib29rLm51bWJlcgoJCQkJJmd0OyZndDsKCgkJCQkmbHQ7Jmx0O3NldCBfbWVudUV4aXN0cyA9CgkJCQkJU3RvcnkuaGFzKF9ib29rLm1lbnUpCgkJCQkmZ3Q7Jmd0OwoKCQkJCSZsdDtkaXYKCQkJCQljbGFzcz0mcXVvdDt0bWItYm9vay1jYXJkICZsdDsmbHQ7PSBfaXNVbmxvY2tlZCA/ICYjMzk7YXZhaWxhYmxlJiMzOTsgOiAmIzM5O2xvY2tlZCYjMzk7Jmd0OyZndDsmbHQ7Jmx0Oz0gX2lzQ3VycmVudCA/ICYjMzk7IGN1cnJlbnQmIzM5OyA6ICYjMzk7JiMzOTsmZ3Q7Jmd0OyZsdDsmbHQ7PSBfaXNDb21wbGV0ZSA/ICYjMzk7IGNvbXBsZXRlZCYjMzk7IDogJiMzOTsmIzM5OyZndDsmZ3Q7JnF1b3Q7CgkJCQkmZ3Q7CgoJCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWNvdmVyLXdyYXAmcXVvdDsmZ3Q7CgoJCQkJCQkmbHQ7aW1nCgkJCQkJCQlAc3JjPSZxdW90O19ib29rLmNvdmVyJnF1b3Q7CgkJCQkJCQlAYWx0PSZxdW90O19ib29rLnRpdGxlICsgJiMzOTsgY292ZXImIzM5OyZxdW90OwoJCQkJCQkmZ3Q7CgoJCQkJCQkmbHQ7Jmx0O2lmIG5vdCBfaXNVbmxvY2tlZCZndDsmZ3Q7CgoJCQkJCQkJJmx0O2RpdgoJCQkJCQkJCWNsYXNzPSZxdW90O3RtYi1jb3Zlci1sb2NrLW92ZXJsYXkmcXVvdDsKCQkJCQkJCQlhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7CgkJCQkJCQkmZ3Q7Jmx0Oy9kaXYmZ3Q7CgoJCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCQkJCQkmbHQ7Jmx0O2lmIF9pc0NvbXBsZXRlJmd0OyZndDsKCgkJCQkJCQkmbHQ7ZGl2CgkJCQkJCQkJY2xhc3M9JnF1b3Q7dG1iLWNhcmQtc3RhdHVzIGNvbXBsZXRlLXN0YXR1cyZxdW90OwoJCQkJCQkJJmd0OwoJCQkJCQkJCUNvbXBsZXRlZAoJCQkJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJCQkmbHQ7Jmx0O2Vsc2VpZiBfaXNDdXJyZW50Jmd0OyZndDsKCgkJCQkJCQkmbHQ7ZGl2CgkJCQkJCQkJY2xhc3M9JnF1b3Q7dG1iLWNhcmQtc3RhdHVzIGN1cnJlbnQtc3RhdHVzJnF1b3Q7CgkJCQkJCQkmZ3Q7CgkJCQkJCQkJQ3VycmVudCBNaXNzaW9uCgkJCQkJCQkmbHQ7L2RpdiZndDsKCgkJCQkJCSZsdDsmbHQ7ZWxzZWlmIF9pc1VubG9ja2VkJmd0OyZndDsKCgkJCQkJCQkmbHQ7ZGl2CgkJCQkJCQkJY2xhc3M9JnF1b3Q7dG1iLWNhcmQtc3RhdHVzIGF2YWlsYWJsZS1zdGF0dXMmcXVvdDsKCQkJCQkJCSZndDsKCQkJCQkJCQlBdmFpbGFibGUKCQkJCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCgkJCQkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jYXJkLWxvY2smcXVvdDsmZ3Q7CgkJCQkJCQkJTG9ja2VkCgkJCQkJCQkmbHQ7L2RpdiZndDsKCgkJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWNhcmQtY29udGVudCZxdW90OyZndDsKCgkJCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWJvb2stbnVtYmVyJnF1b3Q7Jmd0OwoJCQkJCQkJQm9vayAmbHQ7Jmx0Oz0gX2Jvb2subnVtYmVyJmd0OyZndDsKCQkJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJCQkmbHQ7aDImZ3Q7Jmx0OyZsdDs9IF9ib29rLnRpdGxlJmd0OyZndDsmbHQ7L2gyJmd0OwoKCQkJCQkJJmx0O3AmZ3Q7CgkJCQkJCQkmbHQ7Jmx0Oz0gX2Jvb2suZGVzY3JpcHRpb24mZ3Q7Jmd0OwoJCQkJCQkmbHQ7L3AmZ3Q7CgoJCQkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jYXJkLWFjdGlvbnMmcXVvdDsmZ3Q7CgoJCQkJCQkJJmx0OyZsdDtpZiBfaXNVbmxvY2tlZCBhbmQgX21lbnVFeGlzdHMmZ3Q7Jmd0OwoKCQkJCQkJCQkmbHQ7Jmx0O2lmIF9pc0N1cnJlbnQmZ3Q7Jmd0OwoKCQkJCQkJCQkJJmx0OyZsdDtsaW5rICZxdW90O0NvbnRpbnVlIE1pc3Npb24mcXVvdDsmZ3Q7Jmd0OwoJCQkJCQkJCQkJJmx0OyZsdDtzZXQgJGN1cnJlbnRCb29rID0KCQkJCQkJCQkJCQlfYm9vay5udW1iZXIKCQkJCQkJCQkJCSZndDsmZ3Q7CgkJCQkJCQkJCQkmbHQ7Jmx0O3J1biBtZW1vcml6ZSgKCQkJCQkJCQkJCQkmcXVvdDtjdXJyZW50Qm9vayZxdW90OywKCQkJCQkJCQkJCQlfYm9vay5udW1iZXIKCQkJCQkJCQkJCSkmZ3Q7Jmd0OwoJCQkJCQkJCQkJJmx0OyZsdDtnb3RvIF9ib29rLm1lbnUmZ3Q7Jmd0OwoJCQkJCQkJCQkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkJCQkJCQkJJmx0OyZsdDtlbHNlaWYgX2lzQ29tcGxldGUmZ3Q7Jmd0OwoKCQkJCQkJCQkJJmx0OyZsdDtsaW5rICZxdW90O1JldmlzaXQgTWlzc2lvbiZxdW90OyZndDsmZ3Q7CgkJCQkJCQkJCQkmbHQ7Jmx0O3NldCAkY3VycmVudEJvb2sgPQoJCQkJCQkJCQkJCV9ib29rLm51bWJlcgoJCQkJCQkJCQkJJmd0OyZndDsKCQkJCQkJCQkJCSZsdDsmbHQ7cnVuIG1lbW9yaXplKAoJCQkJCQkJCQkJCSZxdW90O2N1cnJlbnRCb29rJnF1b3Q7LAoJCQkJCQkJCQkJCV9ib29rLm51bWJlcgoJCQkJCQkJCQkJKSZndDsmZ3Q7CgkJCQkJCQkJCQkmbHQ7Jmx0O2dvdG8gX2Jvb2subWVudSZndDsmZ3Q7CgkJCQkJCQkJCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCQkJCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoKCQkJCQkJCQkJJmx0OyZsdDtsaW5rICZxdW90O0JlZ2luIE1pc3Npb24mcXVvdDsmZ3Q7Jmd0OwoJCQkJCQkJCQkJJmx0OyZsdDtzZXQgJGN1cnJlbnRCb29rID0KCQkJCQkJCQkJCQlfYm9vay5udW1iZXIKCQkJCQkJCQkJCSZndDsmZ3Q7CgkJCQkJCQkJCQkmbHQ7Jmx0O3J1biBtZW1vcml6ZSgKCQkJCQkJCQkJCQkmcXVvdDtjdXJyZW50Qm9vayZxdW90OywKCQkJCQkJCQkJCQlfYm9vay5udW1iZXIKCQkJCQkJCQkJCSkmZ3Q7Jmd0OwoJCQkJCQkJCQkJJmx0OyZsdDtnb3RvIF9ib29rLm1lbnUmZ3Q7Jmd0OwoJCQkJCQkJCQkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkJCQkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkJCQkJCSZsdDsmbHQ7ZWxzZWlmIF9pc1VubG9ja2VkIGFuZCBub3QgX21lbnVFeGlzdHMmZ3Q7Jmd0OwoKCQkJCQkJCQkmbHQ7c3BhbiBjbGFzcz0mcXVvdDt0bWItdW5hdmFpbGFibGUmcXVvdDsmZ3Q7CgkJCQkJCQkJCU1pc3Npb24gQ29taW5nIFNvb24KCQkJCQkJCQkmbHQ7L3NwYW4mZ3Q7CgoJCQkJCQkJJmx0OyZsdDtlbHNlaWYgX2Jvb2subnVtYmVyIGlzIDImZ3Q7Jmd0OwoKCQkJCQkJCQlbW0VudGVyIEFjY2VzcyBDb2RlLSZndDtCMDIgLSBVbmxvY2tdXQoKCQkJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgoJCQkJCQkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O3RtYi11bmF2YWlsYWJsZSZxdW90OyZndDsKCQkJCQkJCQkJQ29tcGxldGUgdGhlIFByZXZpb3VzIE1pc3Npb24KCQkJCQkJCQkmbHQ7L3NwYW4mZ3Q7CgoJCQkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJCQkmbHQ7Jmx0O2lmIG5vdCBfaXNVbmxvY2tlZCZndDsmZ3Q7CgoJCQkJCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLXNjcmVlbi1yZWFkZXItb25seSZxdW90OyZndDsKCQkJCQkJCQlCb29rICZsdDsmbHQ7PSBfYm9vay5udW1iZXImZ3Q7Jmd0OywKCQkJCQkJCQkmbHQ7Jmx0Oz0gX2Jvb2sudGl0bGUmZ3Q7Jmd0OywKCQkJCQkJCQlpcyBjdXJyZW50bHkgbG9ja2VkLgoJCQkJCQkJJmx0Oy9zcGFuJmd0OwoKCQkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkJCQkmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDsmbHQ7L2ZvciZndDsmZ3Q7CgoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvc2VjdGlvbiZndDsKCgkmbHQ7c2VjdGlvbgoJCWNsYXNzPSZxdW90O3RtYi1mdXR1cmUtc2VjdGlvbiZxdW90OwoJCWFyaWEtbGFiZWxsZWRieT0mcXVvdDt0bWItZnV0dXJlLWhlYWRpbmcmcXVvdDsKCSZndDsKCgkJJmx0O2RldGFpbHMgY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1taXNzaW9ucyZxdW90OyZndDsKCgkJCSZsdDtzdW1tYXJ5Jmd0OwoKCQkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtc3VtbWFyeS1sYWJlbCZxdW90OyZndDsKCgkJCQkJJmx0O3NwYW4mZ3Q7CgkJCQkJCVJlc3RyaWN0ZWQgQ2FtcGFpZ24gRmlsZXMKCQkJCQkmbHQ7L3NwYW4mZ3Q7CgoJCQkJCSZsdDtzdHJvbmcgaWQ9JnF1b3Q7dG1iLWZ1dHVyZS1oZWFkaW5nJnF1b3Q7Jmd0OwoJCQkJCQlGdXR1cmUgTWlzc2lvbnMKCQkJCQkmbHQ7L3N0cm9uZyZndDsKCgkJCQkmbHQ7L3NwYW4mZ3Q7CgoJCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1jb3VudCZxdW90OyZndDsKCQkJCQlCb29rcyA5IHRocm91Z2ggMTIKCQkJCSZsdDsvc3BhbiZndDsKCgkJCSZsdDsvc3VtbWFyeSZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1jb250ZW50JnF1b3Q7Jmd0OwoKCQkJCSZsdDtwJmd0OwoJCQkJCUZvdXIgYWRkaXRpb25hbCBwYXRyb2wgcmVjb3JkcyByZW1haW4gY2xhc3NpZmllZC4KCQkJCQlUaXRsZXMsIGNvdmVycywgYW5kIG1pc3Npb24gZGV0YWlscyB3aWxsIGJlIHJldmVhbGVkCgkJCQkJYXMgdGhlIHNlcmllcyBleHBhbmRzLgoJCQkJJmx0Oy9wJmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ncmlkJnF1b3Q7Jmd0OwoKCQkJCQkmbHQ7Jmx0O2ZvciBfZnV0dXJlID0gOTsgX2Z1dHVyZSAmbHQ7PSAxMjsgX2Z1dHVyZSsrJmd0OyZndDsKCgkJCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1jYXJkJnF1b3Q7Jmd0OwoJCQkJCQkJJmx0O3NwYW4mZ3Q7CgkJCQkJCQkJQm9vayAmbHQ7Jmx0Oz0gX2Z1dHVyZSZndDsmZ3Q7CgkJCQkJCQkmbHQ7L3NwYW4mZ3Q7CgoJCQkJCQkJJmx0O3N0cm9uZyZndDtDbGFzc2lmaWVkJmx0Oy9zdHJvbmcmZ3Q7CgoJCQkJCQkJJmx0O3NtYWxsJmd0O1JvdXRlIFVua25vd24mbHQ7L3NtYWxsJmd0OwoJCQkJCQkmbHQ7L2RpdiZndDsKCgkJCQkJJmx0OyZsdDsvZm9yJmd0OyZndDsKCgkJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7L2RldGFpbHMmZ3Q7CgoJJmx0Oy9zZWN0aW9uJmd0OwoKCSZsdDtmb290ZXIgY2xhc3M9JnF1b3Q7dG1iLWxpYnJhcnktZm9vdGVyJnF1b3Q7Jmd0OwoJCSZsdDtwJmd0OwoJCQlTZWxlY3QgYW4gYXZhaWxhYmxlIGJvb2sgdG8gYmVnaW4gb3IgY29udGludWUgdGhlIHBhdHJvbCYjMzk7cyBqb3VybmV5LgoJCSZsdDsvcCZndDsKCSZsdDsvZm9vdGVyJmd0OwoKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMiIgbmFtZT0iU3RvcnlJbml0IiB0YWdzPSIiIHBvc2l0aW9uPSIxMDI1LDM3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHRvdGFsQm9va3MgPSAxMiZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkY3VycmVudEJvb2sgPSByZWNhbGwoJnF1b3Q7Y3VycmVudEJvb2smcXVvdDssIDApJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRib29rMVVubG9ja2VkID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRib29rMlVubG9ja2VkID0gcmVjYWxsKCZxdW90O2Jvb2syVW5sb2NrZWQmcXVvdDssIGZhbHNlKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRib29rM1VubG9ja2VkID0gcmVjYWxsKCZxdW90O2Jvb2szVW5sb2NrZWQmcXVvdDssIGZhbHNlKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRib29rNFVubG9ja2VkID0gcmVjYWxsKCZxdW90O2Jvb2s0VW5sb2NrZWQmcXVvdDssIGZhbHNlKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRib29rNVVubG9ja2VkID0gcmVjYWxsKCZxdW90O2Jvb2s1VW5sb2NrZWQmcXVvdDssIGZhbHNlKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRib29rNlVubG9ja2VkID0gcmVjYWxsKCZxdW90O2Jvb2s2VW5sb2NrZWQmcXVvdDssIGZhbHNlKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRib29rN1VubG9ja2VkID0gcmVjYWxsKCZxdW90O2Jvb2s3VW5sb2NrZWQmcXVvdDssIGZhbHNlKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRib29rOFVubG9ja2VkID0gcmVjYWxsKCZxdW90O2Jvb2s4VW5sb2NrZWQmcXVvdDssIGZhbHNlKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRib29rOVVubG9ja2VkID0gcmVjYWxsKCZxdW90O2Jvb2s5VW5sb2NrZWQmcXVvdDssIGZhbHNlKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRib29rMTBVbmxvY2tlZCA9IHJlY2FsbCgmcXVvdDtib29rMTBVbmxvY2tlZCZxdW90OywgZmFsc2UpJmd0OyZndDsKJmx0OyZsdDtzZXQgJGJvb2sxMVVubG9ja2VkID0gcmVjYWxsKCZxdW90O2Jvb2sxMVVubG9ja2VkJnF1b3Q7LCBmYWxzZSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYm9vazEyVW5sb2NrZWQgPSByZWNhbGwoJnF1b3Q7Ym9vazEyVW5sb2NrZWQmcXVvdDssIGZhbHNlKSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkYm9vazFDb21wbGV0ZSA9IHJlY2FsbCgmcXVvdDtib29rMUNvbXBsZXRlJnF1b3Q7LCBmYWxzZSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYm9vazJDb21wbGV0ZSA9IHJlY2FsbCgmcXVvdDtib29rMkNvbXBsZXRlJnF1b3Q7LCBmYWxzZSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYm9vazNDb21wbGV0ZSA9IHJlY2FsbCgmcXVvdDtib29rM0NvbXBsZXRlJnF1b3Q7LCBmYWxzZSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYm9vazRDb21wbGV0ZSA9IHJlY2FsbCgmcXVvdDtib29rNENvbXBsZXRlJnF1b3Q7LCBmYWxzZSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYm9vazVDb21wbGV0ZSA9IHJlY2FsbCgmcXVvdDtib29rNUNvbXBsZXRlJnF1b3Q7LCBmYWxzZSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYm9vazZDb21wbGV0ZSA9IHJlY2FsbCgmcXVvdDtib29rNkNvbXBsZXRlJnF1b3Q7LCBmYWxzZSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYm9vazdDb21wbGV0ZSA9IHJlY2FsbCgmcXVvdDtib29rN0NvbXBsZXRlJnF1b3Q7LCBmYWxzZSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYm9vazhDb21wbGV0ZSA9IHJlY2FsbCgmcXVvdDtib29rOENvbXBsZXRlJnF1b3Q7LCBmYWxzZSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYm9vazlDb21wbGV0ZSA9IHJlY2FsbCgmcXVvdDtib29rOUNvbXBsZXRlJnF1b3Q7LCBmYWxzZSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYm9vazEwQ29tcGxldGUgPSByZWNhbGwoJnF1b3Q7Ym9vazEwQ29tcGxldGUmcXVvdDssIGZhbHNlKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRib29rMTFDb21wbGV0ZSA9IHJlY2FsbCgmcXVvdDtib29rMTFDb21wbGV0ZSZxdW90OywgZmFsc2UpJmd0OyZndDsKJmx0OyZsdDtzZXQgJGJvb2sxMkNvbXBsZXRlID0gcmVjYWxsKCZxdW90O2Jvb2sxMkNvbXBsZXRlJnF1b3Q7LCBmYWxzZSkmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGIwMVN0YXJ0ZWQgPSByZWNhbGwoJnF1b3Q7YjAxU3RhcnRlZCZxdW90OywgZmFsc2UpJmd0OyZndDsKJmx0OyZsdDtzZXQgJGIwMUxhc3RQYXNzYWdlID0gcmVjYWxsKCZxdW90O2IwMUxhc3RQYXNzYWdlJnF1b3Q7LCAmcXVvdDtCMDEgLSBQcm9sb2d1ZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYjAxT2JqZWN0aXZlID0gcmVjYWxsKCZxdW90O2IwMU9iamVjdGl2ZSZxdW90OywgJnF1b3Q7QXdhaXQgZGVwbG95bWVudCBvcmRlcnMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtzZXQgJGIwMVByb2dyZXNzID0gcmVjYWxsKCZxdW90O2IwMVByb2dyZXNzJnF1b3Q7LCAwKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRiMDFNb3JhbGUgPSByZWNhbGwoJnF1b3Q7YjAxTW9yYWxlJnF1b3Q7LCA1KSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRiMDFDYXV0aW9uID0gcmVjYWxsKCZxdW90O2IwMUNhdXRpb24mcXVvdDssIDApJmd0OyZndDsKJmx0OyZsdDtzZXQgJGIwMVRydXN0ID0gcmVjYWxsKCZxdW90O2IwMVRydXN0JnF1b3Q7LCAwKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRiMDFBcHByb2FjaCA9IHJlY2FsbCgmcXVvdDtiMDFBcHByb2FjaCZxdW90OywgJnF1b3Q7JnF1b3Q7KSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkYjAxQ2x1ZXMgPSByZWNhbGwoJnF1b3Q7YjAxQ2x1ZXMmcXVvdDssIFtdKSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRiMDFEZWNpc2lvbnMgPSByZWNhbGwoJnF1b3Q7YjAxRGVjaXNpb25zJnF1b3Q7LCBbXSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYjAxSm91cm5hbCA9IHJlY2FsbCgmcXVvdDtiMDFKb3VybmFsJnF1b3Q7LCBbXSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYjAxVW5sb2NrZWRDaGFwdGVycyA9IHJlY2FsbCgKCSZxdW90O2IwMVVubG9ja2VkQ2hhcHRlcnMmcXVvdDssCglbJnF1b3Q7UHJvbG9ndWUmcXVvdDtdCikmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGN1cnJlbnRDaGFwdGVyID0gcmVjYWxsKCZxdW90O2N1cnJlbnRDaGFwdGVyJnF1b3Q7LCAmcXVvdDtOb3QgU3RhcnRlZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY3VycmVudExvY2F0aW9uID0gcmVjYWxsKCZxdW90O2N1cnJlbnRMb2NhdGlvbiZxdW90OywgJnF1b3Q7U2VyaWVzIExpYnJhcnkmcXVvdDspJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRiMDJFbnRlcmVkQ29kZSA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRiMDJVbmxvY2tFcnJvciA9IGZhbHNlJmd0OyZndDsKCiZsdDsmbHQ7c2V0IF91bmxvY2tlZFRvdGFsID0gMSZndDsmZ3Q7CgombHQ7Jmx0O2ZvciBfY291bnQgPSAyOyBfY291bnQgJmx0Oz0gJHRvdGFsQm9va3M7IF9jb3VudCsrJmd0OyZndDsKCSZsdDsmbHQ7c2V0IF91bmxvY2tWYXJpYWJsZSA9ICZxdW90O2Jvb2smcXVvdDsgKyBfY291bnQgKyAmcXVvdDtVbmxvY2tlZCZxdW90OyZndDsmZ3Q7CgoJJmx0OyZsdDtpZiBTdGF0ZS52YXJpYWJsZXNbX3VubG9ja1ZhcmlhYmxlXSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgX3VubG9ja2VkVG90YWwgKz0gMSZndDsmZ3Q7CgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7L2ZvciZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkYm9va3NVbmxvY2tlZCA9CglfdW5sb2NrZWRUb3RhbCArICZxdW90OyBvZiAmcXVvdDsgKyAkdG90YWxCb29rcwomZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMyIgbmFtZT0iQjAyIC0gVW5sb2NrIiB0YWdzPSIiIHBvc2l0aW9uPSIzNzUsMzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGN1cnJlbnRCb29rID0gMSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjdXJyZW50TG9jYXRpb24gPSAmcXVvdDtTZXJpZXMgTGlicmFyeSZxdW90OyZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMlVubG9ja0Vycm9yJmd0OyZndDsKCSZsdDsmbHQ7c2V0ICRiMDJVbmxvY2tFcnJvciA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItdW5sb2NrLXBhZ2UmcXVvdDsmZ3Q7CgoJJmx0O2hlYWRlciBjbGFzcz0mcXVvdDt0bWItdW5sb2NrLWhlYWRlciZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItdW5sb2NrLXN0YW1wJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7CgkJCTAyCgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYmZ3Q7CgkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O3RtYi11bmxvY2sta2lja2VyJnF1b3Q7Jmd0OwoJCQkJUmVzdHJpY3RlZCBDYW1wYWlnbiBGaWxlCgkJCSZsdDsvc3BhbiZndDsKCgkJCSZsdDtoMSZndDtCb29rIFR3byBBY2Nlc3MmbHQ7L2gxJmd0OwoKCQkJJmx0O3AmZ3Q7CgkJCQlFbnRlciB0aGUgYWNjZXNzIGNvZGUgaXNzdWVkIGFmdGVyIGNvbXBsZXRpbmcKCQkJCUJvb2sgT25lOiBUaGUgUm9hZCBCZXR3ZWVuLgoJCQkmbHQ7L3AmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9oZWFkZXImZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItdW5sb2NrLWxheW91dCZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItdW5sb2NrLWNvdmVyJnF1b3Q7Jmd0OwoKCQkJJmx0O2ltZwoJCQkJc3JjPSZxdW90O2ltYWdlcy9tYi1jb3Zlci1ub21hbnMuanBnJnF1b3Q7CgkJCQlhbHQ9JnF1b3Q7Tm8gTWFuJiMzOTtzIExhbmQgY292ZXImcXVvdDsKCQkJJmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItdW5sb2NrLWNvdmVyLW92ZXJsYXkmcXVvdDsmZ3Q7CiZsdDtzcGFuJmd0O0Jvb2sgVHdvJmx0Oy9zcGFuJmd0OwombHQ7c3Ryb25nJmd0O1Jlc3RyaWN0ZWQmbHQ7L3N0cm9uZyZndDsKJmx0Oy9kaXYmZ3Q7CgoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi11bmxvY2stcGFuZWwmcXVvdDsmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi11bmxvY2stY2xhc3NpZmljYXRpb24mcXVvdDsmZ3Q7CgkJCQkmbHQ7c3BhbiZndDtDYW1wYWlnbiBSZWNvcmQmbHQ7L3NwYW4mZ3Q7CgkJCQkmbHQ7c3Ryb25nJmd0O05vIE1hbiYjMzk7cyBMYW5kJmx0Oy9zdHJvbmcmZ3Q7CgkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0O3AmZ3Q7CgkJCQlUaGUgcGF0cm9sIGNyb3NzZXMgYSBkZXNvbGF0ZSBsYW5kc2NhcGUgd2hlcmUgdGhlIGRlYWQKCQkJCXdhdGNoIGZyb20gdGhlIHJ1aW5zIGFuZCBubyBmYW1pbGlhciBhcm15IGhvbGRzIHRoZSBncm91bmQuCgkJCSZsdDsvcCZndDsKCgkJCSZsdDsmbHQ7aWYgJGJvb2syVW5sb2NrZWQmZ3Q7Jmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXVubG9jay1zdWNjZXNzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7QWNjZXNzIEFscmVhZHkgR3JhbnRlZCZsdDsvc3Ryb25nJmd0OwoKCQkJCQkmbHQ7cCZndDsKCQkJCQkJQm9vayBUd28gaXMgY3VycmVudGx5IGF2YWlsYWJsZSBmcm9tIHRoZQoJCQkJCQlTZXJpZXMgTGlicmFyeS4KCQkJCQkmbHQ7L3AmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi11bmxvY2stYWN0aW9ucyZxdW90OyZndDsKCQkJCQlbW09wZW4gQm9vayBUd28gTWlzc2lvbiBGaWxlLSZndDtCMDIgLSBNYWluIE1lbnVdXQoJCQkJCVtbUmV0dXJuIHRvIFNlcmllcyBMaWJyYXJ5LSZndDtTdGFydF1dCgkJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgoJCQkJJmx0O2Zvcm0gY2xhc3M9JnF1b3Q7dG1iLXVubG9jay1mb3JtJnF1b3Q7Jmd0OwoKCQkJCQkmbHQ7bGFiZWwgZm9yPSZxdW90O2IwMi1hY2Nlc3MtY29kZSZxdW90OyZndDsKCQkJCQkJQm9vayBUd28gQWNjZXNzIENvZGUKCQkJCQkmbHQ7L2xhYmVsJmd0OwoKCQkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi11bmxvY2staW5wdXQtcm93JnF1b3Q7Jmd0OwoKCSZsdDtzcGFuIGlkPSZxdW90O2IwMi1jb2RlLWVudHJ5JnF1b3Q7Jmd0OwoJCSZsdDsmbHQ7dGV4dGJveAoJCQkmcXVvdDskYjAyRW50ZXJlZENvZGUmcXVvdDsKCQkJJnF1b3Q7JnF1b3Q7CgkJCWF1dG9mb2N1cwoJCQlpZD0mcXVvdDtiMDItYWNjZXNzLWNvZGUmcXVvdDsKCQkmZ3Q7Jmd0OwoJJmx0Oy9zcGFuJmd0OwoKCSZsdDsmbHQ7YnV0dG9uICZxdW90O1ZlcmlmeSBDb2RlJnF1b3Q7Jmd0OyZndDsKCgkJCQkJCQkmbHQ7Jmx0O3NldCBfc3VibWl0dGVkQ29kZSA9CgkJCQkJCQkJU3RyaW5nKCRiMDJFbnRlcmVkQ29kZSkKCQkJCQkJCQkJLnRyaW0oKQoJCQkJCQkJCQkudG9VcHBlckNhc2UoKQoJCQkJCQkJJmd0OyZndDsKCgkJCQkJCQkmbHQ7Jmx0O2lmIF9zdWJtaXR0ZWRDb2RlIGlzICZxdW90O05PTUFOU0xBTkQmcXVvdDsmZ3Q7Jmd0OwoKCQkJCQkJCQkmbHQ7Jmx0O3NldCAkYm9vazJVbmxvY2tlZCA9IHRydWUmZ3Q7Jmd0OwoJCQkJCQkJCSZsdDsmbHQ7c2V0ICRiMDJVbmxvY2tFcnJvciA9IGZhbHNlJmd0OyZndDsKCQkJCQkJCQkmbHQ7Jmx0O3NldCAkYjAyRW50ZXJlZENvZGUgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwoKCQkJCQkJCQkmbHQ7Jmx0O3J1biBtZW1vcml6ZSgKCQkJCQkJCQkJJnF1b3Q7Ym9vazJVbmxvY2tlZCZxdW90OywKCQkJCQkJCQkJdHJ1ZQoJCQkJCQkJCSkmZ3Q7Jmd0OwoKCQkJCQkJCQkmbHQ7Jmx0O3NldCAkY3VycmVudEJvb2sgPSAyJmd0OyZndDsKCQkJCQkJCQkmbHQ7Jmx0O3J1biBtZW1vcml6ZSgKCQkJCQkJCQkJJnF1b3Q7Y3VycmVudEJvb2smcXVvdDssCgkJCQkJCQkJCTIKCQkJCQkJCQkpJmd0OyZndDsKCgkJCQkJCQkJJmx0OyZsdDtnb3RvICZxdW90O0IwMiAtIE1haW4gTWVudSZxdW90OyZndDsmZ3Q7CgoJCQkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCgkJCQkJCQkJJmx0OyZsdDtzZXQgJGIwMlVubG9ja0Vycm9yID0gdHJ1ZSZndDsmZ3Q7CgkJCQkJCQkJJmx0OyZsdDtzZXQgJGIwMkVudGVyZWRDb2RlID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKCgkJCQkJCQkJJmx0OyZsdDtyZXBsYWNlICZxdW90OyNiMDItdW5sb2NrLWZlZWRiYWNrJnF1b3Q7Jmd0OyZndDsKCgkJCQkJCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXVubG9jay1lcnJvciZxdW90OyZndDsKCQkJCQkJCQkJCSZsdDtzdHJvbmcmZ3Q7QWNjZXNzIERlbmllZCZsdDsvc3Ryb25nJmd0OwoKCQkJCQkJCQkJCSZsdDtwJmd0OwoJCQkJCQkJCQkJCVRoZSBzdWJtaXR0ZWQgY29kZSB3YXMgbm90CgkJCQkJCQkJCQkJcmVjb2duaXplZC4gQ2hlY2sgdGhlIGNvZGUgYW5kCgkJCQkJCQkJCQkJdHJ5IGFnYWluLgoJCQkJCQkJCQkJJmx0Oy9wJmd0OwoJCQkJCQkJCQkmbHQ7L2RpdiZndDsKCgkJCQkJCQkJJmx0OyZsdDsvcmVwbGFjZSZndDsmZ3Q7CgoJCQkJCQkJCSZsdDsmbHQ7cmVwbGFjZSAmcXVvdDsjYjAyLWNvZGUtZW50cnkmcXVvdDsmZ3Q7Jmd0OwoKCQkJCQkJCQkJJmx0O3NwYW4gaWQ9JnF1b3Q7YjAyLWNvZGUtZW50cnkmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O3RleHRib3gKCQkmcXVvdDskYjAyRW50ZXJlZENvZGUmcXVvdDsKCQkmcXVvdDsmcXVvdDsKCQlhdXRvZm9jdXMKCQlpZD0mcXVvdDtiMDItYWNjZXNzLWNvZGUmcXVvdDsKCSZndDsmZ3Q7CiZsdDsvc3BhbiZndDsKCQkJCQkJCQkmbHQ7Jmx0Oy9yZXBsYWNlJmd0OyZndDsKCgkJCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCQkJCQkmbHQ7Jmx0Oy9idXR0b24mZ3Q7Jmd0OwoKCQkJCQkmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7L2Zvcm0mZ3Q7CgoJCQkJJmx0O2RpdiBpZD0mcXVvdDtiMDItdW5sb2NrLWZlZWRiYWNrJnF1b3Q7Jmd0OwoKCQkJCQkmbHQ7Jmx0O2lmICRiMDJVbmxvY2tFcnJvciZndDsmZ3Q7CgoJCQkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi11bmxvY2stZXJyb3ImcXVvdDsmZ3Q7CgkJCQkJCQkmbHQ7c3Ryb25nJmd0O0FjY2VzcyBEZW5pZWQmbHQ7L3N0cm9uZyZndDsKCgkJCQkJCQkmbHQ7cCZndDsKCQkJCQkJCQlUaGUgcHJldmlvdXMgY29kZSB3YXMgbm90IHJlY29nbml6ZWQuCgkJCQkJCQkJRW50ZXIgYSB2YWxpZCBCb29rIFR3byBhY2Nlc3MgY29kZS4KCQkJCQkJCSZsdDsvcCZndDsKCQkJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgoJCQkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi11bmxvY2staGVscCZxdW90OyZndDsKCQkJCQkJCSZsdDtzdHJvbmcmZ3Q7V2hlcmUgaXMgdGhlIGNvZGU/Jmx0Oy9zdHJvbmcmZ3Q7CgoJCQkJCQkJJmx0O3AmZ3Q7CgkJCQkJCQkJVGhlIEJvb2sgVHdvIGNvZGUgaXMgaXNzdWVkIHdoZW4gdGhlCgkJCQkJCQkJcGxheWVyIGNvbXBsZXRlcyBCb29rIE9uZS4KCQkJCQkJCSZsdDsvcCZndDsKCQkJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJCQkmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi11bmxvY2stYWN0aW9ucyBzZWNvbmRhcnkmcXVvdDsmZ3Q7CgkJCQkJW1tSZXR1cm4gdG8gU2VyaWVzIExpYnJhcnktJmd0O1N0YXJ0XV0KCQkJCQlbW1JldHVybiB0byBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCQkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkmbHQ7L2RpdiZndDsKCgkmbHQ7L2RpdiZndDsKCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDsvbm9iciZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0IiBuYW1lPSJCMDEgLSBNYWluIE1lbnUiIHRhZ3M9ImJvb2staHViIiBwb3NpdGlvbj0iODc1LDUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRjdXJyZW50Qm9vayA9IDEmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBtZW1vcml6ZSgmcXVvdDtjdXJyZW50Qm9vayZxdW90OywgMSkmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY3VycmVudExvY2F0aW9uID0gJnF1b3Q7Tm9ydGhlcm4gRnJhbmNlJnF1b3Q7Jmd0OyZndDsKCiZsdDsmbHQ7aWYgbm90IGRlZiAkY3VycmVudENoYXB0ZXImZ3Q7Jmd0OwoJJmx0OyZsdDtzZXQgJGN1cnJlbnRDaGFwdGVyID0gJnF1b3Q7Tm90IFN0YXJ0ZWQmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMVN0YXJ0ZWQmZ3Q7Jmd0OwoJJmx0OyZsdDtzZXQgJGIwMVN0YXJ0ZWQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgbm90IGRlZiAkYjAxTGFzdFBhc3NhZ2UmZ3Q7Jmd0OwoJJmx0OyZsdDtzZXQgJGIwMUxhc3RQYXNzYWdlID0gJnF1b3Q7QjAxIC0gUHJvbG9ndWUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMU9iamVjdGl2ZSZndDsmZ3Q7CgkmbHQ7Jmx0O3NldCAkYjAxT2JqZWN0aXZlID0gJnF1b3Q7QXdhaXQgZGVwbG95bWVudCBvcmRlcnMmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMVByb2dyZXNzJmd0OyZndDsKCSZsdDsmbHQ7c2V0ICRiMDFQcm9ncmVzcyA9IDAmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMU1vcmFsZSZndDsmZ3Q7CgkmbHQ7Jmx0O3NldCAkYjAxTW9yYWxlID0gNSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgbm90IGRlZiAkYjAxQ2F1dGlvbiZndDsmZ3Q7CgkmbHQ7Jmx0O3NldCAkYjAxQ2F1dGlvbiA9IDAmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMVRydXN0Jmd0OyZndDsKCSZsdDsmbHQ7c2V0ICRiMDFUcnVzdCA9IDAmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMUNsdWVzJmd0OyZndDsKCSZsdDsmbHQ7c2V0ICRiMDFDbHVlcyA9IFtdJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiBub3QgZGVmICRiMDFEZWNpc2lvbnMmZ3Q7Jmd0OwoJJmx0OyZsdDtzZXQgJGIwMURlY2lzaW9ucyA9IFtdJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiBub3QgZGVmICRiMDFKb3VybmFsJmd0OyZndDsKCSZsdDsmbHQ7c2V0ICRiMDFKb3VybmFsID0gW10mZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMVVubG9ja2VkQ2hhcHRlcnMmZ3Q7Jmd0OwoJJmx0OyZsdDtzZXQgJGIwMVVubG9ja2VkQ2hhcHRlcnMgPSBbJnF1b3Q7UHJvbG9ndWUmcXVvdDtdJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiBub3QgZGVmICRiMDFQYXRyb2wmZ3Q7Jmd0OwoJJmx0OyZsdDtzZXQgJGIwMVBhdHJvbCA9IFsKCQl7CgkJCW5hbWU6ICZxdW90O1dpbGxpYW0gTWVyY2VyJnF1b3Q7LAoJCQlyYW5rOiAmcXVvdDtTZXJnZWFudCZxdW90OywKCQkJcm9sZTogJnF1b3Q7UGF0cm9sIExlYWRlciZxdW90OywKCQkJc3RhdHVzOiAmcXVvdDtBY3RpdmUmcXVvdDssCgkJCWNvbmRpdGlvbjogJnF1b3Q7Rml0IGZvciBkdXR5JnF1b3Q7LAoJCQlsb2NhdGlvbjogJnF1b3Q7V2l0aCBwYXRyb2wmcXVvdDssCgkJCXRydXN0OiAwLAoJCQlyZXZlYWxlZDogdHJ1ZQoJCX0sCgkJewoJCQluYW1lOiAmcXVvdDtEYW5pZWwgSGF5ZXMmcXVvdDssCgkJCXJhbms6ICZxdW90O0NvcnBvcmFsJnF1b3Q7LAoJCQlyb2xlOiAmcXVvdDtEcml2ZXImcXVvdDssCgkJCXN0YXR1czogJnF1b3Q7QWN0aXZlJnF1b3Q7LAoJCQljb25kaXRpb246ICZxdW90O0ZpdCBmb3IgZHV0eSZxdW90OywKCQkJbG9jYXRpb246ICZxdW90O1dpdGggcGF0cm9sJnF1b3Q7LAoJCQl0cnVzdDogMCwKCQkJcmV2ZWFsZWQ6IHRydWUKCQl9LAoJCXsKCQkJbmFtZTogJnF1b3Q7VGhvbWFzIEJlbGwmcXVvdDssCgkJCXJhbms6ICZxdW90O1ByaXZhdGUmcXVvdDssCgkJCXJvbGU6ICZxdW90O01lZGljJnF1b3Q7LAoJCQlzdGF0dXM6ICZxdW90O0FjdGl2ZSZxdW90OywKCQkJY29uZGl0aW9uOiAmcXVvdDtGaXQgZm9yIGR1dHkmcXVvdDssCgkJCWxvY2F0aW9uOiAmcXVvdDtXaXRoIHBhdHJvbCZxdW90OywKCQkJdHJ1c3Q6IDAsCgkJCXJldmVhbGVkOiB0cnVlCgkJfSwKCQl7CgkJCW5hbWU6ICZxdW90O0VkZGllIFdhbHNoJnF1b3Q7LAoJCQlyYW5rOiAmcXVvdDtQcml2YXRlJnF1b3Q7LAoJCQlyb2xlOiAmcXVvdDtSaWZsZW1hbiZxdW90OywKCQkJc3RhdHVzOiAmcXVvdDtBY3RpdmUmcXVvdDssCgkJCWNvbmRpdGlvbjogJnF1b3Q7Rml0IGZvciBkdXR5JnF1b3Q7LAoJCQlsb2NhdGlvbjogJnF1b3Q7V2l0aCBwYXRyb2wmcXVvdDssCgkJCXRydXN0OiAwLAoJCQlyZXZlYWxlZDogdHJ1ZQoJCX0sCgkJewoJCQluYW1lOiAmcXVvdDtKb3NlcGggQ2FydGVyJnF1b3Q7LAoJCQlyYW5rOiAmcXVvdDtQcml2YXRlJnF1b3Q7LAoJCQlyb2xlOiAmcXVvdDtTY291dCZxdW90OywKCQkJc3RhdHVzOiAmcXVvdDtBY3RpdmUmcXVvdDssCgkJCWNvbmRpdGlvbjogJnF1b3Q7Rml0IGZvciBkdXR5JnF1b3Q7LAoJCQlsb2NhdGlvbjogJnF1b3Q7V2l0aCBwYXRyb2wmcXVvdDssCgkJCXRydXN0OiAwLAoJCQlyZXZlYWxlZDogdHJ1ZQoJCX0sCgkJewoJCQluYW1lOiAmcXVvdDtSb2JlcnQgRWxsaXMmcXVvdDssCgkJCXJhbms6ICZxdW90O1ByaXZhdGUmcXVvdDssCgkJCXJvbGU6ICZxdW90O1JhZGlvIE9wZXJhdG9yJnF1b3Q7LAoJCQlzdGF0dXM6ICZxdW90O0FjdGl2ZSZxdW90OywKCQkJY29uZGl0aW9uOiAmcXVvdDtGaXQgZm9yIGR1dHkmcXVvdDssCgkJCWxvY2F0aW9uOiAmcXVvdDtXaXRoIHBhdHJvbCZxdW90OywKCQkJdHJ1c3Q6IDAsCgkJCXJldmVhbGVkOiB0cnVlCgkJfQoJXSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7c2V0IF9hY3RpdmVDb3VudCA9IDAmZ3Q7Jmd0OwombHQ7Jmx0O3NldCBfaW5qdXJlZENvdW50ID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0IF9taXNzaW5nQ291bnQgPSAwJmd0OyZndDsKCiZsdDsmbHQ7Zm9yIF9tZW1iZXIgcmFuZ2UgJGIwMVBhdHJvbCZndDsmZ3Q7CgkmbHQ7Jmx0O2lmIF9tZW1iZXIuc3RhdHVzIGlzICZxdW90O0FjdGl2ZSZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgX2FjdGl2ZUNvdW50ICs9IDEmZ3Q7Jmd0OwoJJmx0OyZsdDtlbHNlaWYgX21lbWJlci5zdGF0dXMgaXMgJnF1b3Q7SW5qdXJlZCZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgX2luanVyZWRDb3VudCArPSAxJmd0OyZndDsKCSZsdDsmbHQ7ZWxzZWlmIF9tZW1iZXIuc3RhdHVzIGlzICZxdW90O01pc3NpbmcmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0IF9taXNzaW5nQ291bnQgKz0gMSZndDsmZ3Q7CgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7L2ZvciZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1ib29rLWh1YiZxdW90OyZndDsKCgkmbHQ7aGVhZGVyIGNsYXNzPSZxdW90O3RtYi1ib29rLWh1Yi1oZWFkZXImcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWJvb2staHViLWNvdmVyJnF1b3Q7Jmd0OwoJCQkmbHQ7aW1nCgkJCQlzcmM9JnF1b3Q7aW1hZ2VzL21iLWNvdmVyLXJkYmV0d2Vlbi5qcGcmcXVvdDsKCQkJCWFsdD0mcXVvdDtUaGUgUm9hZCBCZXR3ZWVuIGNvdmVyJnF1b3Q7CgkJCSZndDsKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItYm9vay1odWItY292ZXItbGFiZWwmcXVvdDsmZ3Q7CgkJCQlCb29rIE9uZQoJCQkmbHQ7L2RpdiZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItYm9vay1odWItaW50cm8mcXVvdDsmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1ib29rLWh1Yi1raWNrZXImcXVvdDsmZ3Q7CgkJCQlUaGUgTWVuIEJldHdlZW4KCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7aDEmZ3Q7VGhlIFJvYWQgQmV0d2VlbiZsdDsvaDEmZ3Q7CgoJCQkmbHQ7cCBjbGFzcz0mcXVvdDt0bWItYm9vay1odWItZGVzY3JpcHRpb24mcXVvdDsmZ3Q7CgkJCQlTaXggQW1lcmljYW4gc29sZGllcnMgZm9sbG93IGEgcm9hZCBhYnNlbnQgZnJvbSB0aGVpciBtYXAKCQkJCWFuZCBkaXNjb3ZlciBhIGdhdGV3YXkgbGVhZGluZyBiZXlvbmQgdGhlIHdhciB0aGV5IGtub3cuCgkJCSZsdDsvcCZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWJvb2staHViLXN0YXR1cyZxdW90OyZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1ib29rLWh1Yi1zdGF0JnF1b3Q7Jmd0OwoJCQkJCSZsdDtzcGFuJmd0O01pc3Npb24gU3RhdHVzJmx0Oy9zcGFuJmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7CgkJCQkJCSZsdDsmbHQ7aWYgJGJvb2sxQ29tcGxldGUmZ3Q7Jmd0OwoJCQkJCQkJQ29tcGxldGVkCgkJCQkJCSZsdDsmbHQ7ZWxzZWlmICRiMDFTdGFydGVkJmd0OyZndDsKCQkJCQkJCUluIFByb2dyZXNzCgkJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCQlBd2FpdGluZyBEZXBsb3ltZW50CgkJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCQkmbHQ7L3N0cm9uZyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWJvb2staHViLXN0YXQmcXVvdDsmZ3Q7CgkJCQkJJmx0O3NwYW4mZ3Q7Q3VycmVudCBDaGFwdGVyJmx0Oy9zcGFuJmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDs9ICRjdXJyZW50Q2hhcHRlciZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1ib29rLWh1Yi1zdGF0JnF1b3Q7Jmd0OwoJCQkJCSZsdDtzcGFuJmd0O0N1cnJlbnQgTG9jYXRpb24mbHQ7L3NwYW4mZ3Q7CgkJCQkJJmx0O3N0cm9uZyZndDsmbHQ7Jmx0Oz0gJGN1cnJlbnRMb2NhdGlvbiZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1ib29rLWh1Yi1zdGF0JnF1b3Q7Jmd0OwoJCQkJCSZsdDtzcGFuJmd0O0Jvb2sgUHJvZ3Jlc3MmbHQ7L3NwYW4mZ3Q7CgkJCQkJJmx0O3N0cm9uZyZndDsmbHQ7Jmx0Oz0gJGIwMVByb2dyZXNzJmd0OyZndDslJmx0Oy9zdHJvbmcmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItYm9vay1odWItb2JqZWN0aXZlJnF1b3Q7Jmd0OwoKCSZsdDtzcGFuJmd0O0N1cnJlbnQgT2JqZWN0aXZlJmx0Oy9zcGFuJmd0OwoKCSZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDs9ICRiMDFPYmplY3RpdmUmZ3Q7Jmd0OyZsdDsvc3Ryb25nJmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXByb2dyZXNzLWJsb2NrJnF1b3Q7Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1wcm9ncmVzcy1sYWJlbCZxdW90OyZndDsKCgkJCSZsdDtzcGFuJmd0O0Jvb2sgUHJvZ3Jlc3MmbHQ7L3NwYW4mZ3Q7CgoJCQkmbHQ7c3Ryb25nJmd0OwoJCQkJJmx0OyZsdDs9ICRiMDFQcm9ncmVzcyZndDsmZ3Q7JQoJCQkmbHQ7L3N0cm9uZyZndDsKCgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYKCQkJY2xhc3M9JnF1b3Q7dG1iLXByb2dyZXNzLXRyYWNrJnF1b3Q7CgkJCXJvbGU9JnF1b3Q7cHJvZ3Jlc3NiYXImcXVvdDsKCQkJYXJpYS1sYWJlbD0mcXVvdDtCb29rIE9uZSBwcm9ncmVzcyZxdW90OwoJCQlAYXJpYS12YWx1ZW5vdz0mcXVvdDskYjAxUHJvZ3Jlc3MmcXVvdDsKCQkJYXJpYS12YWx1ZW1pbj0mcXVvdDswJnF1b3Q7CgkJCWFyaWEtdmFsdWVtYXg9JnF1b3Q7MTAwJnF1b3Q7CgkJJmd0OwoKCQkJJmx0O2RpdgoJCQkJY2xhc3M9JnF1b3Q7dG1iLXByb2dyZXNzLWZpbGwmcXVvdDsKCQkJCUBzdHlsZT0mcXVvdDsmIzM5O3dpZHRoOiAmIzM5OyArIE1hdGguY2xhbXAoJGIwMVByb2dyZXNzLCAwLCAxMDApICsgJiMzOTslOyYjMzk7JnF1b3Q7CgkJCSZndDsmbHQ7L2RpdiZndDsKCgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9kaXYmZ3Q7CgombHQ7L2RpdiZndDsKCgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1ib29rLWh1Yi1wcmltYXJ5LWFjdGlvbiZxdW90OyZndDsKCgkJCQkmbHQ7Jmx0O2lmICRiMDFTdGFydGVkIGFuZCBTdG9yeS5oYXMoJGIwMUxhc3RQYXNzYWdlKSZndDsmZ3Q7CgoJCQkJCSZsdDsmbHQ7bGluayAmcXVvdDtDb250aW51ZSBNaXNzaW9uJnF1b3Q7Jmd0OyZndDsKCQkJCQkJJmx0OyZsdDtnb3RvICRiMDFMYXN0UGFzc2FnZSZndDsmZ3Q7CgkJCQkJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJCQkJJmx0OyZsdDtlbHNlaWYgbm90ICRiMDFTdGFydGVkJmd0OyZndDsKCgkJCQkJJmx0OyZsdDtsaW5rICZxdW90O0JlZ2luIE1pc3Npb24mcXVvdDsmZ3Q7Jmd0OwoJCQkJCQkmbHQ7Jmx0O3NldCAkYjAxU3RhcnRlZCA9IHRydWUmZ3Q7Jmd0OwoJCQkJCQkmbHQ7Jmx0O3NldCAkY3VycmVudENoYXB0ZXIgPSAmcXVvdDtQcm9sb2d1ZSZxdW90OyZndDsmZ3Q7CgkJCQkJCSZsdDsmbHQ7c2V0ICRjdXJyZW50TG9jYXRpb24gPSAmcXVvdDtOb3J0aGVybiBGcmFuY2UmcXVvdDsmZ3Q7Jmd0OwoJCQkJCQkmbHQ7Jmx0O3NldCAkYjAxT2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHRoZSBwYXRyb2wmIzM5O3MgcG9zaXRpb24mcXVvdDsmZ3Q7Jmd0OwoJCQkJCQkmbHQ7Jmx0O3NldCAkYjAxUHJvZ3Jlc3MgPSAxJmd0OyZndDsKCQkJCQkJJmx0OyZsdDtzZXQgJGIwMUxhc3RQYXNzYWdlID0gJnF1b3Q7QjAxIC0gUHJvbG9ndWUmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O3NhdmVCb29rT25lUHJvZ3Jlc3MmZ3Q7Jmd0OwoJCQkJCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7QjAxIC0gUHJvbG9ndWUmcXVvdDsmZ3Q7Jmd0OwoJCQkJCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgoJCQkJCSZsdDsmbHQ7bGluayAmcXVvdDtSZXN1bWUgYXQgUHJvbG9ndWUmcXVvdDsmZ3Q7Jmd0OwoJCQkJCQkmbHQ7Jmx0O3NldCAkYjAxTGFzdFBhc3NhZ2UgPSAmcXVvdDtCMDEgLSBQcm9sb2d1ZSZxdW90OyZndDsmZ3Q7CgkJCQkJCSZsdDsmbHQ7Z290byAmcXVvdDtCMDEgLSBQcm9sb2d1ZSZxdW90OyZndDsmZ3Q7CgkJCQkJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvaGVhZGVyJmd0OwogICAgCgkmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDt0bWItaHViLXNlY3Rpb24mcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zZWN0aW9uLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O1JlY2VudCBBY3Rpdml0eSZsdDsvc3BhbiZndDsKCQkJJmx0O2gyJmd0O0xhdGVzdCBNaXNzaW9uIFVwZGF0ZSZsdDsvaDImZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtZ3JpZCZxdW90OyZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtY2FyZCZxdW90OyZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1maWxlLWNhcmQtY29kZSZxdW90OyZndDtEUiZsdDsvZGl2Jmd0OwoKCQkJCSZsdDtoMyZndDtMYXN0IERlY2lzaW9uJmx0Oy9oMyZndDsKCgkJCQkmbHQ7cCZndDsKCQkJCQkmbHQ7Jmx0O2lmICRiMDFEZWNpc2lvbnMubGVuZ3RoICZndDsgMCZndDsmZ3Q7CgkJCQkJCSZsdDsmbHQ7PSAkYjAxRGVjaXNpb25zWyRiMDFEZWNpc2lvbnMubGVuZ3RoIC0gMV0mZ3Q7Jmd0OwoJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCU5vIG1ham9yIG1pc3Npb24gZGVjaXNpb24gaGFzIGJlZW4gcmVjb3JkZWQuCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9wJmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtY2FyZC1tZXRhJnF1b3Q7Jmd0OwoJCQkJCSZsdDsmbHQ7PSAkYjAxRGVjaXNpb25zLmxlbmd0aCZndDsmZ3Q7CgkJCQkJJmx0OyZsdDtpZiAkYjAxRGVjaXNpb25zLmxlbmd0aCBpcyAxJmd0OyZndDsKCQkJCQkJcmVjb3JkZWQgZGVjaXNpb24KCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQlyZWNvcmRlZCBkZWNpc2lvbnMKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCgkJCQlbW09wZW4gRGVjaXNpb24gUmVjb3JkLSZndDtCMDEgLSBEZWNpc2lvbiBSZWNvcmRdXQoKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1maWxlLWNhcmQmcXVvdDsmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZmlsZS1jYXJkLWNvZGUmcXVvdDsmZ3Q7Q0wmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7aDMmZ3Q7TGF0ZXN0IENsdWUmbHQ7L2gzJmd0OwoKCQkJCSZsdDtwJmd0OwoJCQkJCSZsdDsmbHQ7aWYgJGIwMUNsdWVzLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwoJCQkJCQkmbHQ7Jmx0Oz0gJGIwMUNsdWVzWyRiMDFDbHVlcy5sZW5ndGggLSAxXSZndDsmZ3Q7CgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJTm8gdW51c3VhbCBldmlkZW5jZSBoYXMgYmVlbiByZWNvcmRlZC4KCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L3AmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZmlsZS1jYXJkLW1ldGEmcXVvdDsmZ3Q7CgkJCQkJJmx0OyZsdDs9ICRiMDFDbHVlcy5sZW5ndGgmZ3Q7Jmd0OwoJCQkJCSZsdDsmbHQ7aWYgJGIwMUNsdWVzLmxlbmd0aCBpcyAxJmd0OyZndDsKCQkJCQkJZGlzY292ZXJlZCBjbHVlCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJZGlzY292ZXJlZCBjbHVlcwoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCVtbT3BlbiBGaWVsZCBKb3VybmFsLSZndDtCMDEgLSBGaWVsZCBKb3VybmFsXV0KCgkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZmlsZS1jYXJkJnF1b3Q7Jmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtY2FyZC1jb2RlJnF1b3Q7Jmd0O0ZKJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O2gzJmd0O0xhdGVzdCBPYnNlcnZhdGlvbiZsdDsvaDMmZ3Q7CgoJCQkJJmx0O3AmZ3Q7CgkJCQkJJmx0OyZsdDtpZiAkYjAxSm91cm5hbC5sZW5ndGggJmd0OyAwJmd0OyZndDsKCQkJCQkJJmx0OyZsdDs9ICRiMDFKb3VybmFsWyRiMDFKb3VybmFsLmxlbmd0aCAtIDFdJmd0OyZndDsKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQlObyBmaWVsZCBvYnNlcnZhdGlvbnMgaGF2ZSBiZWVuIHJlY29yZGVkLgoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvcCZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1maWxlLWNhcmQtbWV0YSZxdW90OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gJGIwMUpvdXJuYWwubGVuZ3RoJmd0OyZndDsKCQkJCQkmbHQ7Jmx0O2lmICRiMDFKb3VybmFsLmxlbmd0aCBpcyAxJmd0OyZndDsKCQkJCQkJam91cm5hbCBlbnRyeQoJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCWpvdXJuYWwgZW50cmllcwoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCVtbT3BlbiBGaWVsZCBKb3VybmFsLSZndDtCMDEgLSBGaWVsZCBKb3VybmFsXV0KCgkJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7L2RpdiZndDsKCgkmbHQ7L3NlY3Rpb24mZ3Q7IAoKCSZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O3RtYi1odWItc2VjdGlvbiZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItaHViLXNlY3Rpb24taGVhZGluZyZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7UGF0cm9sIE9wZXJhdGlvbnMmbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtoMiZndDtNaXNzaW9uIFN0YXR1cyZsdDsvaDImZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zdGF0dXMtZ3JpZCZxdW90OyZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zdGF0dXMtY2FyZCZxdW90OyZndDsKCQkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O3RtYi1odWItc3RhdHVzLW51bWJlciZxdW90OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gX2FjdGl2ZUNvdW50Jmd0OyZndDsKCQkJCSZsdDsvc3BhbiZndDsKCQkJCSZsdDtzdHJvbmcmZ3Q7QWN0aXZlJmx0Oy9zdHJvbmcmZ3Q7CgkJCQkmbHQ7c21hbGwmZ3Q7UHJlc2VudCBhbmQgZml0IGZvciBkdXR5Jmx0Oy9zbWFsbCZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1odWItc3RhdHVzLWNhcmQgaW5qdXJlZCZxdW90OyZndDsKCQkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O3RtYi1odWItc3RhdHVzLW51bWJlciZxdW90OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gX2luanVyZWRDb3VudCZndDsmZ3Q7CgkJCQkmbHQ7L3NwYW4mZ3Q7CgkJCQkmbHQ7c3Ryb25nJmd0O0luanVyZWQmbHQ7L3N0cm9uZyZndDsKCQkJCSZsdDtzbWFsbCZndDtSZXF1aXJpbmcgbWVkaWNhbCBhdHRlbnRpb24mbHQ7L3NtYWxsJmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zdGF0dXMtY2FyZCBtaXNzaW5nJnF1b3Q7Jmd0OwoJCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zdGF0dXMtbnVtYmVyJnF1b3Q7Jmd0OwoJCQkJCSZsdDsmbHQ7PSBfbWlzc2luZ0NvdW50Jmd0OyZndDsKCQkJCSZsdDsvc3BhbiZndDsKCQkJCSZsdDtzdHJvbmcmZ3Q7TWlzc2luZyZsdDsvc3Ryb25nJmd0OwoJCQkJJmx0O3NtYWxsJmd0O1NlcGFyYXRlZCBvciB1bmFjY291bnRlZCBmb3ImbHQ7L3NtYWxsJmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zdGF0dXMtY2FyZCBpbnRlbGxpZ2VuY2UmcXVvdDsmZ3Q7CgkJCQkmbHQ7c3BhbiBjbGFzcz0mcXVvdDt0bWItaHViLXN0YXR1cy1udW1iZXImcXVvdDsmZ3Q7CgkJCQkJJmx0OyZsdDs9ICRiMDFDbHVlcy5sZW5ndGgmZ3Q7Jmd0OwoJCQkJJmx0Oy9zcGFuJmd0OwoJCQkJJmx0O3N0cm9uZyZndDtDbHVlcyZsdDsvc3Ryb25nJmd0OwoJCQkJJmx0O3NtYWxsJmd0O1JlY29yZGVkIGZpZWxkIG9ic2VydmF0aW9ucyZsdDsvc21hbGwmZ3Q7CgkJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7L2RpdiZndDsKCgkmbHQ7L3NlY3Rpb24mZ3Q7CiAgICAKICAgICZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O3RtYi1odWItc2VjdGlvbiZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItaHViLXNlY3Rpb24taGVhZGluZyZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7Q29tbWFuZCBBc3Nlc3NtZW50Jmx0Oy9zcGFuJmd0OwoJCQkmbHQ7aDImZ3Q7T3BlcmF0aW9uYWwgUHJvZmlsZSZsdDsvaDImZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zdGF0dXMtZ3JpZCZxdW90OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zdGF0dXMtY2FyZCB0bWItbWV0cmljLWNhcmQmcXVvdDsmZ3Q7CgoJJmx0O3NwYW4KCQljbGFzcz0mcXVvdDt0bWItbWV0cmljLWhlbHAmcXVvdDsKCQl0YWJpbmRleD0mcXVvdDswJnF1b3Q7CgkJcm9sZT0mcXVvdDtidXR0b24mcXVvdDsKCQlhcmlhLWxhYmVsPSZxdW90O0V4cGxhaW4gbW9yYWxlJnF1b3Q7CgkJYXJpYS1kZXNjcmliZWRieT0mcXVvdDt0bWItbW9yYWxlLXRvb2x0aXAmcXVvdDsKCSZndDs/Jmx0Oy9zcGFuJmd0OwoKCSZsdDtzcGFuCgkJaWQ9JnF1b3Q7dG1iLW1vcmFsZS10b29sdGlwJnF1b3Q7CgkJY2xhc3M9JnF1b3Q7dG1iLW1ldHJpYy10b29sdGlwJnF1b3Q7CgkJcm9sZT0mcXVvdDt0b29sdGlwJnF1b3Q7CgkmZ3Q7CgkJTW9yYWxlIG1lYXN1cmVzIHRoZSBwYXRyb2wmIzM5O3MgY29sbGVjdGl2ZSByZXNvbHZlLiBIaWdoZXIgbW9yYWxlCgkJcmVwcmVzZW50cyBncmVhdGVyIGNvbmZpZGVuY2UsIGZvY3VzLCBhbmQgb3BlcmF0aW9uYWwgc3RhYmlsaXR5LgoJCUEgbG93IHZhbHVlIG1lYW5zIHRoZSBwYXRyb2wgaXMgYmVjb21pbmcgc3RyYWluZWQuCgkmbHQ7L3NwYW4mZ3Q7CgoJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zdGF0dXMtbnVtYmVyJnF1b3Q7Jmd0OwoJCSZsdDsmbHQ7PSAkYjAxTW9yYWxlJmd0OyZndDsKCSZsdDsvc3BhbiZndDsKCgkmbHQ7c3Ryb25nJmd0O01vcmFsZSZsdDsvc3Ryb25nJmd0OwoKCSZsdDtzbWFsbCZndDsKCQkmbHQ7Jmx0O2lmICRiMDFNb3JhbGUgJmd0Oz0gOCZndDsmZ3Q7CgkJCVN0cm9uZyBhbmQgZm9jdXNlZAoJCSZsdDsmbHQ7ZWxzZWlmICRiMDFNb3JhbGUgJmd0Oz0gNiZndDsmZ3Q7CgkJCVN0ZWFkeQoJCSZsdDsmbHQ7ZWxzZWlmICRiMDFNb3JhbGUgJmd0Oz0gNCZndDsmZ3Q7CgkJCVVuY2VydGFpbgoJCSZsdDsmbHQ7ZWxzZWlmICRiMDFNb3JhbGUgJmd0Oz0gMiZndDsmZ3Q7CgkJCVN0cmFpbmVkCgkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJQ3JpdGljYWwKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7L3NtYWxsJmd0OwoKJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1odWItc3RhdHVzLWNhcmQgaW5qdXJlZCB0bWItbWV0cmljLWNhcmQmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuCgljbGFzcz0mcXVvdDt0bWItbWV0cmljLWhlbHAmcXVvdDsKCXRhYmluZGV4PSZxdW90OzAmcXVvdDsKCXJvbGU9JnF1b3Q7YnV0dG9uJnF1b3Q7CglhcmlhLWxhYmVsPSZxdW90O0V4cGxhaW4gY2F1dGlvbiZxdW90OwoJYXJpYS1kZXNjcmliZWRieT0mcXVvdDt0bWItY2F1dGlvbi10b29sdGlwJnF1b3Q7CiZndDs/Jmx0Oy9zcGFuJmd0OwoKJmx0O3NwYW4KCWlkPSZxdW90O3RtYi1jYXV0aW9uLXRvb2x0aXAmcXVvdDsKCWNsYXNzPSZxdW90O3RtYi1tZXRyaWMtdG9vbHRpcCZxdW90OwoJcm9sZT0mcXVvdDt0b29sdGlwJnF1b3Q7CiZndDsKCUNhdXRpb24gbWVhc3VyZXMgaG93IGNhcmVmdWxseSB0aGUgcGF0cm9sIGFwcHJvYWNoZXMgdW5jZXJ0YWluCglzaXR1YXRpb25zLiBBIGhpZ2hlciB2YWx1ZSBpbmRpY2F0ZXMgZ3JlYXRlciBkZWxpYmVyYXRpb24gYW5kCglyaXNrIGF3YXJlbmVzcywgYnV0IGRvZXMgbm90IGd1YXJhbnRlZSBhIGJldHRlciBvdXRjb21lLgombHQ7L3NwYW4mZ3Q7CgoJCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zdGF0dXMtbnVtYmVyJnF1b3Q7Jmd0OwoJCQkJCSZsdDsmbHQ7PSAkYjAxQ2F1dGlvbiZndDsmZ3Q7CgkJCQkmbHQ7L3NwYW4mZ3Q7CgoJCQkJJmx0O3N0cm9uZyZndDtDYXV0aW9uJmx0Oy9zdHJvbmcmZ3Q7CgoJCQkJJmx0O3NtYWxsJmd0OwoJCQkJCSZsdDsmbHQ7aWYgJGIwMUNhdXRpb24gJmd0Oz0gOCZndDsmZ3Q7CgkJCQkJCUV4dHJlbWVseSBndWFyZGVkCgkJCQkJJmx0OyZsdDtlbHNlaWYgJGIwMUNhdXRpb24gJmd0Oz0gNSZndDsmZ3Q7CgkJCQkJCUNhcmVmdWwKCQkJCQkmbHQ7Jmx0O2Vsc2VpZiAkYjAxQ2F1dGlvbiAmZ3Q7PSAyJmd0OyZndDsKCQkJCQkJQWxlcnQKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQlEaXJlY3QKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L3NtYWxsJmd0OwoKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1odWItc3RhdHVzLWNhcmQgaW50ZWxsaWdlbmNlIHRtYi1tZXRyaWMtY2FyZCZxdW90OyZndDsKCQkJJmx0O3NwYW4KCWNsYXNzPSZxdW90O3RtYi1tZXRyaWMtaGVscCZxdW90OwoJdGFiaW5kZXg9JnF1b3Q7MCZxdW90OwoJcm9sZT0mcXVvdDtidXR0b24mcXVvdDsKCWFyaWEtbGFiZWw9JnF1b3Q7RXhwbGFpbiBwYXRyb2wgdHJ1c3QmcXVvdDsKCWFyaWEtZGVzY3JpYmVkYnk9JnF1b3Q7dG1iLXRydXN0LXRvb2x0aXAmcXVvdDsKJmd0Oz8mbHQ7L3NwYW4mZ3Q7CgombHQ7c3BhbgoJaWQ9JnF1b3Q7dG1iLXRydXN0LXRvb2x0aXAmcXVvdDsKCWNsYXNzPSZxdW90O3RtYi1tZXRyaWMtdG9vbHRpcCZxdW90OwoJcm9sZT0mcXVvdDt0b29sdGlwJnF1b3Q7CiZndDsKCVBhdHJvbCBUcnVzdCBtZWFzdXJlcyBjb25maWRlbmNlLCBjb29wZXJhdGlvbiwgYW5kIG11dHVhbAoJcmVsaWFuY2UgYWNyb3NzIHRoZSBlbnRpcmUgdW5pdC4gVGhpcyBvdmVyYWxsIHNjb3JlIGlzIHNlcGFyYXRlCglmcm9tIHRoZSBpbmRpdmlkdWFsIHRydXN0IHZhbHVlcyBzaG93biBpbiBwZXJzb25uZWwgcmVjb3Jkcy4KJmx0Oy9zcGFuJmd0OwoKCQkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O3RtYi1odWItc3RhdHVzLW51bWJlciZxdW90OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gJGIwMVRydXN0Jmd0OyZndDsKCQkJCSZsdDsvc3BhbiZndDsKCgkJCQkmbHQ7c3Ryb25nJmd0O1BhdHJvbCBUcnVzdCZsdDsvc3Ryb25nJmd0OwoKCQkJCSZsdDtzbWFsbCZndDsKCQkJCQkmbHQ7Jmx0O2lmICRiMDFUcnVzdCAmZ3Q7PSA4Jmd0OyZndDsKCQkJCQkJVW5pZmllZAoJCQkJCSZsdDsmbHQ7ZWxzZWlmICRiMDFUcnVzdCAmZ3Q7PSA1Jmd0OyZndDsKCQkJCQkJRXN0YWJsaXNoZWQKCQkJCQkmbHQ7Jmx0O2Vsc2VpZiAkYjAxVHJ1c3QgJmd0Oz0gMiZndDsmZ3Q7CgkJCQkJCURldmVsb3BpbmcKCQkJCQkmbHQ7Jmx0O2Vsc2VpZiAkYjAxVHJ1c3QgJmd0Oz0gMCZndDsmZ3Q7CgkJCQkJCU5ldXRyYWwKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQlTdHJhaW5lZAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvc21hbGwmZ3Q7CgoJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zdGF0dXMtY2FyZCBtaXNzaW5nIHRtYi1tZXRyaWMtY2FyZCZxdW90OyZndDsKCQkJJmx0O3NwYW4KCWNsYXNzPSZxdW90O3RtYi1tZXRyaWMtaGVscCZxdW90OwoJdGFiaW5kZXg9JnF1b3Q7MCZxdW90OwoJcm9sZT0mcXVvdDtidXR0b24mcXVvdDsKCWFyaWEtbGFiZWw9JnF1b3Q7RXhwbGFpbiBvcGVyYXRpb25hbCBhcHByb2FjaCZxdW90OwoJYXJpYS1kZXNjcmliZWRieT0mcXVvdDt0bWItYXBwcm9hY2gtdG9vbHRpcCZxdW90OwomZ3Q7PyZsdDsvc3BhbiZndDsKCiZsdDtzcGFuCglpZD0mcXVvdDt0bWItYXBwcm9hY2gtdG9vbHRpcCZxdW90OwoJY2xhc3M9JnF1b3Q7dG1iLW1ldHJpYy10b29sdGlwJnF1b3Q7Cglyb2xlPSZxdW90O3Rvb2x0aXAmcXVvdDsKJmd0OwoJQXBwcm9hY2ggcmVjb3JkcyB0aGUgcGF0cm9sJiMzOTtzIHNlbGVjdGVkIG9wZXJhdGlvbmFsIG1ldGhvZC4KCU1ldGhvZGljYWwgZW1waGFzaXplcyBpbnZlc3RpZ2F0aW9uLCBSZXRyYWNpbmcgZW1waGFzaXplcwoJdmVyaWZpY2F0aW9uIG9mIHRoZSBwcmV2aW91cyByb3V0ZSwgYW5kIFJlY29ubmFpc3NhbmNlIGVtcGhhc2l6ZXMKCWZvcndhcmQgb2JzZXJ2YXRpb24uIEFwcHJvYWNoIGlzIGEgY2F0ZWdvcnkgcmF0aGVyIHRoYW4gYSBzY29yZS4KJmx0Oy9zcGFuJmd0OwoKCQkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O3RtYi1odWItc3RhdHVzLW51bWJlciZxdW90OyZndDsKCQkJCQkmbHQ7Jmx0O2lmICRiMDFBcHByb2FjaCBpcyAmcXVvdDttZXRob2RpY2FsJnF1b3Q7Jmd0OyZndDsKCQkJCQkJTQoJCQkJCSZsdDsmbHQ7ZWxzZWlmICRiMDFBcHByb2FjaCBpcyAmcXVvdDtyZXRyYWNlJnF1b3Q7Jmd0OyZndDsKCQkJCQkJUgoJCQkJCSZsdDsmbHQ7ZWxzZWlmICRiMDFBcHByb2FjaCBpcyAmcXVvdDtzY291dCZxdW90OyZndDsmZ3Q7CgkJCQkJCVMKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQk/CgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9zcGFuJmd0OwoKCQkJCSZsdDtzdHJvbmcmZ3Q7QXBwcm9hY2gmbHQ7L3N0cm9uZyZndDsKCgkJCQkmbHQ7c21hbGwmZ3Q7CgkJCQkJJmx0OyZsdDtpZiAkYjAxQXBwcm9hY2ggaXMgJnF1b3Q7bWV0aG9kaWNhbCZxdW90OyZndDsmZ3Q7CgkJCQkJCU1ldGhvZGljYWwKCQkJCQkmbHQ7Jmx0O2Vsc2VpZiAkYjAxQXBwcm9hY2ggaXMgJnF1b3Q7cmV0cmFjZSZxdW90OyZndDsmZ3Q7CgkJCQkJCVJldHJhY2luZwoJCQkJCSZsdDsmbHQ7ZWxzZWlmICRiMDFBcHByb2FjaCBpcyAmcXVvdDtzY291dCZxdW90OyZndDsmZ3Q7CgkJCQkJCVJlY29ubmFpc3NhbmNlCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJTm90IGVzdGFibGlzaGVkCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9zbWFsbCZndDsKCgkJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7L2RpdiZndDsKCgkmbHQ7L3NlY3Rpb24mZ3Q7CgoJJmx0O3NlY3Rpb24gY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zZWN0aW9uJnF1b3Q7Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1odWItc2VjdGlvbi1oZWFkaW5nJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDtNaXNzaW9uIEZpbGVzJmx0Oy9zcGFuJmd0OwoJCQkmbHQ7aDImZ3Q7UGF0cm9sIFJlY29yZHMmbHQ7L2gyJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1maWxlLWdyaWQmcXVvdDsmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1maWxlLWNhcmQmcXVvdDsmZ3Q7CgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1maWxlLWNhcmQtY29kZSZxdW90OyZndDtQUiZsdDsvZGl2Jmd0OwoJCQkJJmx0O2gzJmd0O1BhdHJvbCBSb3N0ZXImbHQ7L2gzJmd0OwoJCQkJJmx0O3AmZ3Q7CgkJCQkJUmV2aWV3IHBhdHJvbCByb2xlcywgY29uZGl0aW9ucywgbG9jYXRpb25zLCBhbmQKCQkJCQlvcGVyYXRpb25hbCBzdGF0dXMuCgkJCQkmbHQ7L3AmZ3Q7CgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1maWxlLWNhcmQtbWV0YSZxdW90OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gJGIwMVBhdHJvbC5sZW5ndGgmZ3Q7Jmd0OyBwZXJzb25uZWwgcmVjb3JkcwoJCQkJJmx0Oy9kaXYmZ3Q7CgkJCQkmbHQ7Jmx0O2lmIFN0b3J5LmhhcygmcXVvdDtCMDEgLSBQYXRyb2wgUm9zdGVyJnF1b3Q7KSZndDsmZ3Q7CgkJCQkJW1tPcGVuIFBhdHJvbCBSb3N0ZXItJmd0O0IwMSAtIFBhdHJvbCBSb3N0ZXJdXQoJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkmbHQ7c3BhbiBjbGFzcz0mcXVvdDt0bWItZmlsZS11bmF2YWlsYWJsZSZxdW90OyZndDsKCQkJCQkJRmlsZSBCZWluZyBQcmVwYXJlZAoJCQkJCSZsdDsvc3BhbiZndDsKCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1maWxlLWNhcmQmcXVvdDsmZ3Q7CgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1maWxlLWNhcmQtY29kZSZxdW90OyZndDtGSiZsdDsvZGl2Jmd0OwoJCQkJJmx0O2gzJmd0O0ZpZWxkIEpvdXJuYWwmbHQ7L2gzJmd0OwoJCQkJJmx0O3AmZ3Q7CgkJCQkJUmV2aWV3IGRvY3VtZW50ZWQgbG9jYXRpb25zLCB1bnVzdWFsIGV2ZW50cywgYW5kCgkJCQkJb2JzZXJ2YXRpb25zIHJlY29yZGVkIGR1cmluZyB0aGUgbWlzc2lvbi4KCQkJCSZsdDsvcCZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtY2FyZC1tZXRhJnF1b3Q7Jmd0OwoJCQkJCSZsdDsmbHQ7PSAkYjAxSm91cm5hbC5sZW5ndGgmZ3Q7Jmd0OyBqb3VybmFsIGVudHJpZXMKCQkJCSZsdDsvZGl2Jmd0OwoJCQkJJmx0OyZsdDtpZiBTdG9yeS5oYXMoJnF1b3Q7QjAxIC0gRmllbGQgSm91cm5hbCZxdW90OykmZ3Q7Jmd0OwoJCQkJCVtbT3BlbiBGaWVsZCBKb3VybmFsLSZndDtCMDEgLSBGaWVsZCBKb3VybmFsXV0KCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWZpbGUtdW5hdmFpbGFibGUmcXVvdDsmZ3Q7CgkJCQkJCUZpbGUgQmVpbmcgUHJlcGFyZWQKCQkJCQkmbHQ7L3NwYW4mZ3Q7CgkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZmlsZS1jYXJkJnF1b3Q7Jmd0OwoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZmlsZS1jYXJkLWNvZGUmcXVvdDsmZ3Q7RFImbHQ7L2RpdiZndDsKCQkJCSZsdDtoMyZndDtEZWNpc2lvbiBSZWNvcmQmbHQ7L2gzJmd0OwoJCQkJJmx0O3AmZ3Q7CgkJCQkJUmV2aWV3IHRoZSBtYWpvciBjaG9pY2VzIHRoYXQgaGF2ZSBpbmZsdWVuY2VkIHRoZQoJCQkJCXBhdHJvbCYjMzk7cyByb3V0ZSBhbmQgY29uZHVjdC4KCQkJCSZsdDsvcCZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtY2FyZC1tZXRhJnF1b3Q7Jmd0OwoJCQkJCSZsdDsmbHQ7PSAkYjAxRGVjaXNpb25zLmxlbmd0aCZndDsmZ3Q7IHJlY29yZGVkIGRlY2lzaW9ucwoJCQkJJmx0Oy9kaXYmZ3Q7CgkJCQkmbHQ7Jmx0O2lmIFN0b3J5LmhhcygmcXVvdDtCMDEgLSBEZWNpc2lvbiBSZWNvcmQmcXVvdDspJmd0OyZndDsKCQkJCQlbW09wZW4gRGVjaXNpb24gUmVjb3JkLSZndDtCMDEgLSBEZWNpc2lvbiBSZWNvcmRdXQoJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkmbHQ7c3BhbiBjbGFzcz0mcXVvdDt0bWItZmlsZS11bmF2YWlsYWJsZSZxdW90OyZndDsKCQkJCQkJRmlsZSBCZWluZyBQcmVwYXJlZAoJCQkJCSZsdDsvc3BhbiZndDsKCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvc2VjdGlvbiZndDsKCgkmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDt0bWItaHViLXNlY3Rpb24mcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWh1Yi1zZWN0aW9uLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O1JlY292ZXJlZCBSb3V0ZSZsdDsvc3BhbiZndDsKCQkJJmx0O2gyJmd0O0NoYXB0ZXIgQXJjaGl2ZSZsdDsvaDImZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWNoYXB0ZXItYXJjaGl2ZSZxdW90OyZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jaGFwdGVyLWVudHJ5IGF2YWlsYWJsZSZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItY2hhcHRlci1udW1iZXImcXVvdDsmZ3Q7MDAmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItY2hhcHRlci1kZXRhaWxzJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDtBdmFpbGFibGUmbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtzdHJvbmcmZ3Q7UHJvbG9ndWUmbHQ7L3N0cm9uZyZndDsKCQkJJmx0O3NtYWxsJmd0O1RoZSBSb2FkIFRoYXQgV2FzbiYjMzk7dCBUaGVyZSZsdDsvc21hbGwmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWNoYXB0ZXItYWN0aW9uJnF1b3Q7Jmd0OwoKCQkJJmx0OyZsdDtpZiAkYjAxU3RhcnRlZCZndDsmZ3Q7CgkJCQlbW1Jldmlldy0mZ3Q7QjAxIC0gUHJvbG9ndWUgUmVwbGF5XV0KCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCVtbQmVnaW4tJmd0O0IwMSAtIFByb2xvZ3VlXV0KCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkmbHQ7L2RpdiZndDsKCgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jaGFwdGVyLWVudHJ5ICZsdDsmbHQ7aWYgJGIwMVVubG9ja2VkQ2hhcHRlcnMuaW5jbHVkZXMoJiMzOTtDaGFwdGVyIE9uZSYjMzk7KSZndDsmZ3Q7YXZhaWxhYmxlJmx0OyZsdDtlbHNlJmd0OyZndDtsb2NrZWQmbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jaGFwdGVyLW51bWJlciZxdW90OyZndDswMSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jaGFwdGVyLWRldGFpbHMmcXVvdDsmZ3Q7CgoJCQkmbHQ7Jmx0O2lmICRiMDFVbmxvY2tlZENoYXB0ZXJzLmluY2x1ZGVzKCZxdW90O0NoYXB0ZXIgT25lJnF1b3Q7KSZndDsmZ3Q7CgoJCQkJJmx0O3NwYW4mZ3Q7Q3VycmVudCBSb3V0ZSZsdDsvc3BhbiZndDsKCQkJCSZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciBPbmUmbHQ7L3N0cm9uZyZndDsKCgkJCQkmbHQ7c21hbGwmZ3Q7CgkJCQkJJmx0OyZsdDtpZiAkYjAxQXBwcm9hY2ggaXMgJnF1b3Q7bWV0aG9kaWNhbCZxdW90OyZndDsmZ3Q7CgkJCQkJCUNoZWNrIHRoZSBNYXAKCQkJCQkmbHQ7Jmx0O2Vsc2VpZiAkYjAxQXBwcm9hY2ggaXMgJnF1b3Q7cmV0cmFjZSZxdW90OyZndDsmZ3Q7CgkJCQkJCVJldHJhY2UgdGhlIFJvdXRlCgkJCQkJJmx0OyZsdDtlbHNlaWYgJGIwMUFwcHJvYWNoIGlzICZxdW90O3Njb3V0JnF1b3Q7Jmd0OyZndDsKCQkJCQkJU2NvdXQgQWhlYWQKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQlUaGUgVW5tYXJrZWQgUm9hZAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvc21hbGwmZ3Q7CgoJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoKCQkJCSZsdDtzcGFuJmd0O0NsYXNzaWZpZWQmbHQ7L3NwYW4mZ3Q7CgkJCQkmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgT25lJmx0Oy9zdHJvbmcmZ3Q7CgkJCQkmbHQ7c21hbGwmZ3Q7Q29tcGxldGUgdGhlIFByb2xvZ3VlJmx0Oy9zbWFsbCZndDsKCgkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWNoYXB0ZXItYWN0aW9uJnF1b3Q7Jmd0OwoKCQkJJmx0OyZsdDtpZiAkYjAxVW5sb2NrZWRDaGFwdGVycy5pbmNsdWRlcygmcXVvdDtDaGFwdGVyIE9uZSZxdW90OykmZ3Q7Jmd0OwoKCQkJCSZsdDsmbHQ7aWYgJGIwMUFwcHJvYWNoIGlzICZxdW90O21ldGhvZGljYWwmcXVvdDsmZ3Q7Jmd0OwoKCQkJCQlbW0NvbnRpbnVlLSZndDtCMDEgLSBDMDEgLSBDaGVjayB0aGUgTWFwXV0KCgkJCQkmbHQ7Jmx0O2Vsc2VpZiAkYjAxQXBwcm9hY2ggaXMgJnF1b3Q7cmV0cmFjZSZxdW90OyZndDsmZ3Q7CgoJCQkJCVtbQ29udGludWUtJmd0O0IwMSAtIEMwMSAtIFJldHJhY2UgdGhlIFJvdXRlXV0KCgkJCQkmbHQ7Jmx0O2Vsc2VpZiAkYjAxQXBwcm9hY2ggaXMgJnF1b3Q7c2NvdXQmcXVvdDsmZ3Q7Jmd0OwoKCQkJCQlbW0NvbnRpbnVlLSZndDtCMDEgLSBDMDEgLSBTY291dCBBaGVhZF1dCgoJCQkJJmx0OyZsdDtlbHNlaWYgU3RvcnkuaGFzKCRiMDFMYXN0UGFzc2FnZSkmZ3Q7Jmd0OwoKCQkJCQkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q29udGludWUmcXVvdDsmZ3Q7Jmd0OwoJCQkJCQkmbHQ7Jmx0O2dvdG8gJGIwMUxhc3RQYXNzYWdlJmd0OyZndDsKCQkJCQkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoKCQkJCQkmbHQ7c3BhbiZndDtVbmF2YWlsYWJsZSZsdDsvc3BhbiZndDsKCgkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoKCQkJCSZsdDtzcGFuJmd0O0xvY2tlZCZsdDsvc3BhbiZndDsKCgkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItY2hhcHRlci1lbnRyeSBsb2NrZWQmcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWNoYXB0ZXItbnVtYmVyJnF1b3Q7Jmd0OzAyJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWNoYXB0ZXItZGV0YWlscyZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7Q2xhc3NpZmllZCZsdDsvc3BhbiZndDsKCQkJJmx0O3N0cm9uZyZndDtDaGFwdGVyIFR3byZsdDsvc3Ryb25nJmd0OwoJCQkmbHQ7c21hbGwmZ3Q7TWlzc2lvbiBkZXRhaWxzIHJlc3RyaWN0ZWQmbHQ7L3NtYWxsJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jaGFwdGVyLWFjdGlvbiZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7TG9ja2VkJmx0Oy9zcGFuJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvZGl2Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWNoYXB0ZXItZW50cnkgbG9ja2VkJnF1b3Q7Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jaGFwdGVyLW51bWJlciZxdW90OyZndDswMyZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jaGFwdGVyLWRldGFpbHMmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O0NsYXNzaWZpZWQmbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciBUaHJlZSZsdDsvc3Ryb25nJmd0OwoJCQkmbHQ7c21hbGwmZ3Q7TWlzc2lvbiBkZXRhaWxzIHJlc3RyaWN0ZWQmbHQ7L3NtYWxsJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jaGFwdGVyLWFjdGlvbiZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7TG9ja2VkJmx0Oy9zcGFuJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvZGl2Jmd0OwoKJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9zZWN0aW9uJmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWh1Yi1mb290ZXItYWN0aW9ucyZxdW90OyZndDsKCgkJJmx0OyZsdDtpZiAkYjAxU3RhcnRlZCZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1odWItcmVzdGFydC1hY3Rpb24mcXVvdDsmZ3Q7CgkJW1tSZXN0YXJ0IEJvb2sgT25lLSZndDtCMDEgLSBDb25maXJtIFJlc3RhcnRdXQoJJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItdXRpbGl0eS1saW5rJnF1b3Q7Jmd0OwoJCQlbW1JldHVybiB0byBTZXJpZXMgTGlicmFyeS0mZ3Q7U3RhcnRdXQoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvZGl2Jmd0OwoKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0Oy9ub2JyJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUiIG5hbWU9IkIwMSAtIFByb2xvZ3VlIiB0YWdzPSIiIHBvc2l0aW9uPSIxMTUwLDYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRjdXJyZW50Qm9vayA9IDEmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY3VycmVudENoYXB0ZXIgPSAmcXVvdDtQcm9sb2d1ZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjdXJyZW50TG9jYXRpb24gPSAmcXVvdDtOb3J0aGVybiBGcmFuY2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYjAxU3RhcnRlZCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYjAxTGFzdFBhc3NhZ2UgPSAmcXVvdDtCMDEgLSBQcm9sb2d1ZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRiMDFPYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgdGhlIHBhdHJvbCYjMzk7cyBwb3NpdGlvbiZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRiMDFQcm9ncmVzcyA9IDEmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBtZW1vcml6ZSgmcXVvdDtjdXJyZW50Qm9vayZxdW90OywgMSkmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiBub3QgZGVmICRiMDFVbmxvY2tlZENoYXB0ZXJzJmd0OyZndDsKCSZsdDsmbHQ7c2V0ICRiMDFVbmxvY2tlZENoYXB0ZXJzID0gWyZxdW90O1Byb2xvZ3VlJnF1b3Q7XSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgbm90IGRlZiAkYjAxSm91cm5hbCZndDsmZ3Q7CgkmbHQ7Jmx0O3NldCAkYjAxSm91cm5hbCA9IFtdJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiBub3QgJGIwMUpvdXJuYWwuaW5jbHVkZXMoJnF1b3Q7VGhlIHBhdHJvbCBlbnRlcmVkIGFuIHVuZmFtaWxpYXIgc3RyZXRjaCBvZiByb2FkIGluIE5vcnRoZXJuIEZyYW5jZS4mcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRiMDFKb3VybmFsLnB1c2goCgkJJnF1b3Q7VGhlIHBhdHJvbCBlbnRlcmVkIGFuIHVuZmFtaWxpYXIgc3RyZXRjaCBvZiByb2FkIGluIE5vcnRoZXJuIEZyYW5jZS4mcXVvdDsKCSkmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMU1vcmFsZSZndDsmZ3Q7CgkmbHQ7Jmx0O3NldCAkYjAxTW9yYWxlID0gNSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgbm90IGRlZiAkYjAxQ2F1dGlvbiZndDsmZ3Q7CgkmbHQ7Jmx0O3NldCAkYjAxQ2F1dGlvbiA9IDAmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMVRydXN0Jmd0OyZndDsKCSZsdDsmbHQ7c2V0ICRiMDFUcnVzdCA9IDAmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMUNsdWVzJmd0OyZndDsKCSZsdDsmbHQ7c2V0ICRiMDFDbHVlcyA9IFtdJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc3Rvcnktc2NlbmUmcXVvdDsmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2NlbmUta2lja2VyJnF1b3Q7Jmd0OwoJCUJvb2sgT25lCgkmbHQ7L2RpdiZndDsKCgkmbHQ7aDEmZ3Q7VGhlIFJvYWQgQmV0d2VlbiZsdDsvaDEmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItY2hhcHRlci1oZWFkaW5nJnF1b3Q7Jmd0OwoJCSZsdDtzcGFuJmd0O1Byb2xvZ3VlJmx0Oy9zcGFuJmd0OwoJCSZsdDtzdHJvbmcmZ3Q7VGhlIFJvYWQgVGhhdCBXYXNuJiMzOTt0IFRoZXJlJmx0Oy9zdHJvbmcmZ3Q7CgkmbHQ7L2RpdiZndDsKCgkmbHQ7cCZndDsKCQlUaGUgcmFpbiBoYWQgc3RvcHBlZCBiZWZvcmUgZGF3biwgbGVhdmluZyB0aGUgY291bnRyeXNpZGUgYmVuZWF0aAoJCWEgbG93IGNlaWxpbmcgb2YgZ3JheSBjbG91ZHMuIFdhdGVyIGdhdGhlcmVkIGluIHRoZSBzaGVsbCBob2xlcwoJCWJlc2lkZSB0aGUgcm9hZCBhbmQgcmFuIGluIG5hcnJvdyBzdHJlYW1zIGJldHdlZW4gdGhlIGJyb2tlbiBzdG9uZXMuCgkJVGhlIGZpZWxkcyBiZXlvbmQgdGhlIGhlZGdlcm93cyB3ZXJlIGVtcHR5LgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCU5vIGZhcm1lcnMgd2F0Y2hlZCBmcm9tIHRoZSBkaXN0YW50IGNvdHRhZ2VzLiBObyBsaXZlc3RvY2sgbW92ZWQKCQliZWhpbmQgdGhlIGZlbmNlcy4gRXZlbiB0aGUgYXJ0aWxsZXJ5IGhhZCBmYWxsZW4gc2lsZW50LgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBwYXRyb2wgaGFkIGJlZW4gdHJhdmVsaW5nIG5vcnRoIGZvciBuZWFybHkgYW4gaG91ciB3aGVuIFNlcmdlYW50CgkJV2lsbGlhbSBNZXJjZXIgb3JkZXJlZCB0aGUgamVlcCB0byBzdG9wLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCUNvcnBvcmFsIERhbmllbCBIYXllcyBlYXNlZCBoaXMgZm9vdCBmcm9tIHRoZSBhY2NlbGVyYXRvci4gVGhlIGVuZ2luZQoJCXNldHRsZWQgaW50byBhIHJvdWdoIGlkbGUsIHJhdHRsaW5nIGJlbmVhdGggdGhlIGhvb2QuIEJlaGluZCB0aGUgamVlcCwKCQl0aGUgdHJ1Y2sgY2FycnlpbmcgdGhlIHJlc3Qgb2YgdGhlIHBhdHJvbCBzdG9wcGVkIGJlbmVhdGggdGhlIGRyaXBwaW5nCgkJYnJhbmNoZXMgb2YgYW4gb2xkIGVsbS4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlNZXJjZXIgY2xpbWJlZCBkb3duIGFuZCBzdHVkaWVkIHRoZSByb2FkIGFoZWFkLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCUl0IHdhcyBuYXJyb3csIHBhdmVkIHdpdGggZGFyayBzdG9uZSwgYW5kIGJvcmRlcmVkIG9uIGJvdGggc2lkZXMgYnkKCQljbG9zZWx5IHBsYW50ZWQgdHJlZXMuIFRoZWlyIGJyYW5jaGVzIGN1cnZlZCBvdmVyIHRoZSByb2FkIHVudGlsIHRoZXkKCQluZWFybHkgdG91Y2hlZCwgZm9ybWluZyBhIHR1bm5lbCB0aGF0IGRpc2FwcGVhcmVkIGludG8gdGhlIG1vcm5pbmcgbWlzdC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlOb3RoaW5nIGFib3V0IHRoZSByb2FkIHNlZW1lZCByZW1hcmthYmxlIHVudGlsIE1lcmNlciB1bmZvbGRlZCB0aGUgbWFwLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSByb2FkIHdhc24mIzM5O3Qgb24gaXQuCgkmbHQ7L3AmZ3Q7CgoJJmx0O2Jsb2NrcXVvdGUmZ3Q7CgkJJnF1b3Q7VGhhdCB0dXJuIHNob3VsZCBoYXZlIHRha2VuIHVzIHdlc3QsJnF1b3Q7IE1lcmNlciBzYWlkLiAmcXVvdDtUaGlzIHJvYWQgcnVucwoJCW5vcnRoLiZxdW90OwoJJmx0Oy9ibG9ja3F1b3RlJmd0OwoKCSZsdDtwJmd0OwoJUHJpdmF0ZSBUaG9tYXMgQmVsbCBjbGltYmVkIGZyb20gdGhlIHBhc3NlbmdlciBzaWRlIG9mIHRoZSBqZWVwLAoJaGlzIG1lZGljYWwgYmFnIGhhbmdpbmcgYWdhaW5zdCBoaXMgaGlwLCBhbmQgbG9va2VkIG92ZXIgTWVyY2VyJiMzOTtzCglzaG91bGRlci4gQmVsbCBoYWQgY2hlY2tlZCB0aGUgcm91dGUgYmVmb3JlIHRoZSBwYXRyb2wgbGVmdCB0aGUKCXJ1aW5lZCBmYXJtaG91c2Ugc2VydmluZyBhcyBjb21wYW55IGhlYWRxdWFydGVycy4gVGhlIHBlbmNpbGVkCglsaW5lIG9uIHRoZSBtYXAgd2FzIHN0aWxsIGNsZWFyLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBwYXRyb2wgc2hvdWxkIGhhdmUgcmVhY2hlZCB0aGUgdmlsbGFnZSBvZiBTYWludC1DbGFpciB0d2VudHkKCQltaW51dGVzIGFnby4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlQcml2YXRlIEVkZGllIFdhbHNoIHN0ZXBwZWQgZG93biBmcm9tIHRoZSB0cnVjayB3aXRoIGhpcyByaWZsZSBhbmQKCQlsb29rZWQgYmFjayBhbG9uZyB0aGUgcm9hZCB0aGV5IGhhZCBqdXN0IHRyYXZlbGVkLgoJJmx0Oy9wJmd0OwoKCSZsdDtibG9ja3F1b3RlJmd0OwoJCSZxdW90O1dlIGRpZG4mIzM5O3QgbWlzcyBhIHR1cm4sJnF1b3Q7IFdhbHNoIHNhaWQuICZxdW90O1RoZXJlIHdhc24mIzM5O3QgYW5vdGhlciB0dXJuLiZxdW90OwoJJmx0Oy9ibG9ja3F1b3RlJmd0OwoKCSZsdDtwJmd0OwoJCVByaXZhdGUgU2FtdWVsIFByaWNlIGpvaW5lZCBoaW0gbmVhciB0aGUgcmVhciBvZiB0aGUgdHJ1Y2suIFByaWNlCgkJcmVtb3ZlZCBoaXMgaGVsbWV0IGZvciBhIG1vbWVudCBhbmQgd2lwZWQgcmFpbndhdGVyIGZyb20gaXRzIHJpbS4KCSZsdDsvcCZndDsKCgkmbHQ7YmxvY2txdW90ZSZndDsKCQkmcXVvdDtUaGVyZSBoYWQgdG8gYmUsJnF1b3Q7IFByaWNlIHNhaWQuICZxdW90O1JvYWRzIGRvbiYjMzk7dCBzaW1wbHkgYXBwZWFyLiZxdW90OwoJJmx0Oy9ibG9ja3F1b3RlJmd0OwoKCSZsdDtwJmd0OwoJCVByaXZhdGUgSm9zZXBoIENhcnRlciByZW1haW5lZCBiZXNpZGUgdGhlIHRydWNrLCB3YXRjaGluZyB0aGUgdHJlZQoJCWxpbmUuIENhcnRlciBoYWQgc2FpZCBsaXR0bGUgc2luY2UgdGhlIHBhdHJvbCBzdG9wcGVkLiBIaXMgYXR0ZW50aW9uCgkJd2FzIGZpeGVkIG9uIHRoZSBtaXN0IGFoZWFkLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVByaXZhdGUgUm9iZXJ0IEVsbGlzLCBjYXJyeWluZyB0aGUgcGF0cm9sJiMzOTtzIHJhZGlvLCB0dXJuZWQgdGhlIHR1bmluZwoJCWRpYWwgYW5kIGxpc3RlbmVkIHRocm91Z2ggdGhlIGhlYWRzZXQuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJT25seSBzdGF0aWMgYW5zd2VyZWQuCgkmbHQ7L3AmZ3Q7CgoJJmx0O2Jsb2NrcXVvdGUmZ3Q7CgkJJnF1b3Q7Tm8gY29tcGFueSBzaWduYWwsJnF1b3Q7IEVsbGlzIHJlcG9ydGVkLiAmcXVvdDtObyBjb21tYW5kIGZyZXF1ZW5jeS4gTm90aGluZy4mcXVvdDsKCSZsdDsvYmxvY2txdW90ZSZndDsKCgkmbHQ7cCZndDsKCQlNZXJjZXIgbG93ZXJlZCB0aGUgbWFwLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBzaXggc29sZGllcnMgc3Rvb2QgYmV0d2VlbiB0d28gc3RyZXRjaGVzIG9mIHJvYWQuIEJlaGluZCB0aGVtIHdhcwoJCXRoZSByb3V0ZSB0aGV5IHJlbWVtYmVyZWQgdHJhdmVsaW5nLiBBaGVhZCB3YXMgYSByb2FkIHRoYXQgZGlkIG5vdAoJCWV4aXN0IG9uIGFueSBtYXAgdGhleSBjYXJyaWVkLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVNvbWV3aGVyZSBpbnNpZGUgdGhlIG1pc3QsIG1ldGFsIHN0cnVjayBzdG9uZS4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlPbmNlLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZW4gYWdhaW4uCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhlIHNvdW5kIHdhcyB0b28gc2xvdyBhbmQgZGVsaWJlcmF0ZSB0byBiZSBndW5maXJlLiBJdCByZXNlbWJsZWQgYQoJCWhhbW1lciBmYWxsaW5nIGFnYWluc3QgYW4gaXJvbiBwb3N0LgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCU1lcmNlciBmb2xkZWQgdGhlIG1hcCBhbmQgbG9va2VkIHRvd2FyZCB0aGUgcGF0cm9sLgoJJmx0Oy9wJmd0OwoKCSZsdDtibG9ja3F1b3RlJmd0OwoJCSZxdW90O1dlIGRldGVybWluZSBvdXIgcG9zaXRpb24gYmVmb3JlIHdlIG1vdmUgYW5vdGhlciB5YXJkLiZxdW90OwoJJmx0Oy9ibG9ja3F1b3RlJmd0OwoKCSZsdDtwJmd0OwoJCUZvciB0aGUgbW9tZW50LCBldmVyeW9uZSB3YWl0ZWQgZm9yIHNvbWVvbmUgZWxzZSB0byBzcGVhay4KCSZsdDsvcCZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1kZWNpc2lvbi1oZWFkaW5nJnF1b3Q7Jmd0OwoJCVlvdXIgZmlyc3QgZGVjaXNpb24gd2lsbCBpbmZsdWVuY2UgaG93IHRoZSBwYXRyb2wgYXBwcm9hY2hlcyB0aGUKCQl1bmtub3duIHJvYWQuCgkmbHQ7L2RpdiZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7RXhhbWluZSB0aGUgbWFwIGFuZCBjb21wYXJlIHRoZSBzdXJyb3VuZGluZyB0ZXJyYWluJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkYjAxQXBwcm9hY2ggPSAmcXVvdDttZXRob2RpY2FsJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkYjAxQ2F1dGlvbiArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkYjAxVHJ1c3QgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGN1cnJlbnRDaGFwdGVyID0gJnF1b3Q7Q2hhcHRlciBPbmUmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRjdXJyZW50TG9jYXRpb24gPSAmcXVvdDtUaGUgVW5tYXJrZWQgUm9hZCZxdW90OyZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzYXZlQm9va09uZVByb2dyZXNzJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7QjAxIC0gQzAxIC0gQ2hlY2sgdGhlIE1hcCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7V2FsayBiYWNrIGFuZCBzZWFyY2ggZm9yIHRoZSBtaXNzaW5nIGludGVyc2VjdGlvbiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGIwMUFwcHJvYWNoID0gJnF1b3Q7cmV0cmFjZSZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGIwMUNhdXRpb24gKz0gMiZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGN1cnJlbnRDaGFwdGVyID0gJnF1b3Q7Q2hhcHRlciBPbmUmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRjdXJyZW50TG9jYXRpb24gPSAmcXVvdDtUaGUgUm9hZCBCZWhpbmQmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2F2ZUJvb2tPbmVQcm9ncmVzcyZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0IwMSAtIEMwMSAtIFJldHJhY2UgdGhlIFJvdXRlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtTY291dCB0aGUgZW50cmFuY2UgdG8gdGhlIHVua25vd24gcm9hZCZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGIwMUFwcHJvYWNoID0gJnF1b3Q7c2NvdXQmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRiMDFNb3JhbGUgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGN1cnJlbnRDaGFwdGVyID0gJnF1b3Q7Q2hhcHRlciBPbmUmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRjdXJyZW50TG9jYXRpb24gPSAmcXVvdDtUaGUgVW5tYXJrZWQgUm9hZCZxdW90OyZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzYXZlQm9va09uZVByb2dyZXNzJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7QjAxIC0gQzAxIC0gU2NvdXQgQWhlYWQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItdXRpbGl0eS1saW5rJnF1b3Q7Jmd0OwoJCVtbUmV0dXJuIHRvIEJvb2sgTWVudS0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCSZsdDsvZGl2Jmd0OwoKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0Oy9ub2JyJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYiIG5hbWU9IlN0b3J5Q2FwdGlvbiIgdGFncz0iIiBwb3NpdGlvbj0iMjc1LDE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKCiZsdDsmbHQ7c2V0IF9zaWRlYmFyQWN0aXZlID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0IF9zaWRlYmFySW5qdXJlZCA9IDAmZ3Q7Jmd0OwombHQ7Jmx0O3NldCBfc2lkZWJhck1pc3NpbmcgPSAwJmd0OyZndDsKCiZsdDsmbHQ7aWYgZGVmICRiMDFQYXRyb2wmZ3Q7Jmd0OwoJJmx0OyZsdDtmb3IgX21lbWJlciByYW5nZSAkYjAxUGF0cm9sJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIF9tZW1iZXIuc3RhdHVzIGlzICZxdW90O0FjdGl2ZSZxdW90OyZndDsmZ3Q7CgkJCSZsdDsmbHQ7c2V0IF9zaWRlYmFyQWN0aXZlICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7ZWxzZWlmIF9tZW1iZXIuc3RhdHVzIGlzICZxdW90O0luanVyZWQmcXVvdDsmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3NldCBfc2lkZWJhckluanVyZWQgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDtlbHNlaWYgX21lbWJlci5zdGF0dXMgaXMgJnF1b3Q7TWlzc2luZyZxdW90OyBvciBfbWVtYmVyLnN0YXR1cyBpcyAmcXVvdDtTZXBhcmF0ZWQmcXVvdDsmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3NldCBfc2lkZWJhck1pc3NpbmcgKz0gMSZndDsmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0OyZsdDsvZm9yJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2lkZWJhci1wYW5lbCZxdW90OyZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1zaWRlYmFyLXBhbmVsLXRpdGxlJnF1b3Q7Jmd0OwoJCUN1cnJlbnQgQ2FtcGFpZ24KCSZsdDsvZGl2Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXNpZGViYXItcGFuZWwtY29udGVudCZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2lkZWJhci1yb3cmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O0Jvb2smbHQ7L3NwYW4mZ3Q7CgoJCQkmbHQ7c3Ryb25nJmd0OwoJCQkJJmx0OyZsdDtpZiAkY3VycmVudEJvb2sgaXMgMSZndDsmZ3Q7CgkJCQkJMTogVGhlIFJvYWQgQmV0d2VlbgoJCQkJJmx0OyZsdDtlbHNlaWYgJGN1cnJlbnRCb29rIGlzIDImZ3Q7Jmd0OwoJCQkJCTI6IE5vIE1hbiYjMzk7cyBMYW5kCgkJCQkmbHQ7Jmx0O2Vsc2VpZiAkY3VycmVudEJvb2sgJmd0OyAwJmd0OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gJGN1cnJlbnRCb29rJmd0OyZndDsKCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJTm9uZSBTZWxlY3RlZAoJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkmbHQ7L3N0cm9uZyZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2lkZWJhci1yb3cmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O0NoYXB0ZXImbHQ7L3NwYW4mZ3Q7CgoJCQkmbHQ7c3Ryb25nJmd0OwoJCQkJJmx0OyZsdDtpZiBkZWYgJGN1cnJlbnRDaGFwdGVyJmd0OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gJGN1cnJlbnRDaGFwdGVyJmd0OyZndDsKCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJTm90IFN0YXJ0ZWQKCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0Oy9zdHJvbmcmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXNpZGViYXItcm93JnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDtMb2NhdGlvbiZsdDsvc3BhbiZndDsKCgkJCSZsdDtzdHJvbmcmZ3Q7CgkJCQkmbHQ7Jmx0O2lmIGRlZiAkY3VycmVudExvY2F0aW9uJmd0OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gJGN1cnJlbnRMb2NhdGlvbiZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCVVua25vd24KCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0Oy9zdHJvbmcmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDsmbHQ7aWYgJGN1cnJlbnRCb29rIGlzIDEmZ3Q7Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2lkZWJhci1yb3cmcXVvdDsmZ3Q7CgkJCQkmbHQ7c3BhbiZndDtQcm9ncmVzcyZsdDsvc3BhbiZndDsKCgkJCQkmbHQ7c3Ryb25nJmd0OwoJCQkJCSZsdDsmbHQ7aWYgZGVmICRiMDFQcm9ncmVzcyZndDsmZ3Q7CgkJCQkJCSZsdDsmbHQ7PSAkYjAxUHJvZ3Jlc3MmZ3Q7Jmd0OyUKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwJQoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvc3Ryb25nJmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCSZsdDsvZGl2Jmd0OwoKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O2lmICRjdXJyZW50Qm9vayBpcyAxJmd0OyZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1zaWRlYmFyLXBhbmVsJnF1b3Q7Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1zaWRlYmFyLXBhbmVsLXRpdGxlJnF1b3Q7Jmd0OwoJCQlDdXJyZW50IE9iamVjdGl2ZQoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1zaWRlYmFyLXBhbmVsLWNvbnRlbnQmcXVvdDsmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1zaWRlYmFyLW9iamVjdGl2ZSZxdW90OyZndDsKCgkJCQkmbHQ7Jmx0O2lmIGRlZiAkYjAxT2JqZWN0aXZlJmd0OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gJGIwMU9iamVjdGl2ZSZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCUF3YWl0IGRlcGxveW1lbnQgb3JkZXJzCgkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCQkmbHQ7L2RpdiZndDsKCgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2lkZWJhci1wYW5lbCZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2lkZWJhci1wYW5lbC10aXRsZSZxdW90OyZndDsKCQkJUGF0cm9sIFN0YXR1cwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1zaWRlYmFyLXBhbmVsLWNvbnRlbnQmcXVvdDsmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1zaWRlYmFyLXJvdyZxdW90OyZndDsKCQkJCSZsdDtzcGFuJmd0O0FjdGl2ZSZsdDsvc3BhbiZndDsKCQkJCSZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDs9IF9zaWRlYmFyQWN0aXZlJmd0OyZndDsmbHQ7L3N0cm9uZyZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1zaWRlYmFyLXJvdyZxdW90OyZndDsKCQkJCSZsdDtzcGFuJmd0O0luanVyZWQmbHQ7L3NwYW4mZ3Q7CgkJCQkmbHQ7c3Ryb25nJmd0OyZsdDsmbHQ7PSBfc2lkZWJhckluanVyZWQmZ3Q7Jmd0OyZsdDsvc3Ryb25nJmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXNpZGViYXItcm93JnF1b3Q7Jmd0OwoJCQkJJmx0O3NwYW4mZ3Q7TWlzc2luZyZsdDsvc3BhbiZndDsKCQkJCSZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDs9IF9zaWRlYmFyTWlzc2luZyZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7CgkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2lkZWJhci1yb3cmcXVvdDsmZ3Q7CgkJCQkmbHQ7c3BhbiZndDtDbHVlcyZsdDsvc3BhbiZndDsKCgkJCQkmbHQ7c3Ryb25nJmd0OwoJCQkJCSZsdDsmbHQ7aWYgZGVmICRiMDFDbHVlcyZndDsmZ3Q7CgkJCQkJCSZsdDsmbHQ7PSAkYjAxQ2x1ZXMubGVuZ3RoJmd0OyZndDsKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9zdHJvbmcmZ3Q7CgkJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7L2RpdiZndDsKCgkmbHQ7L2RpdiZndDsKCiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXNpZGViYXItcGFuZWwmcXVvdDsmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2lkZWJhci1wYW5lbC10aXRsZSZxdW90OyZndDsKCQlTZXJpZXMgUHJvZ3Jlc3MKCSZsdDsvZGl2Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXNpZGViYXItcGFuZWwtY29udGVudCZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2lkZWJhci1yb3cmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O0Jvb2tzIFVubG9ja2VkJmx0Oy9zcGFuJmd0OwoKCQkJJmx0O3N0cm9uZyZndDsKCQkJCSZsdDsmbHQ7aWYgZGVmICRib29rc1VubG9ja2VkJmd0OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gJGJvb2tzVW5sb2NrZWQmZ3Q7Jmd0OwoJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkxIG9mIDEyCgkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCSZsdDsvc3Ryb25nJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1zaWRlYmFyLXJvdyZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7Qm9vayBPbmUmbHQ7L3NwYW4mZ3Q7CgoJCQkmbHQ7c3Ryb25nJmd0OwoJCQkJJmx0OyZsdDtpZiAkYm9vazFDb21wbGV0ZSZndDsmZ3Q7CgkJCQkJQ29tcGxldGVkCgkJCQkmbHQ7Jmx0O2Vsc2VpZiAkYjAxU3RhcnRlZCZndDsmZ3Q7CgkJCQkJSW4gUHJvZ3Jlc3MKCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJTm90IFN0YXJ0ZWQKCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0Oy9zdHJvbmcmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXNpZGViYXItcm93JnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDtCb29rIFR3byZsdDsvc3BhbiZndDsKCgkJCSZsdDtzdHJvbmcmZ3Q7CgkJCQkmbHQ7Jmx0O2lmICRib29rMkNvbXBsZXRlJmd0OyZndDsKCQkJCQlDb21wbGV0ZWQKCQkJCSZsdDsmbHQ7ZWxzZWlmICRib29rMlVubG9ja2VkJmd0OyZndDsKCQkJCQlVbmxvY2tlZAoJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQlMb2NrZWQKCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0Oy9zdHJvbmcmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9kaXYmZ3Q7CgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNyIgbmFtZT0iU3RvcnlNZW51IiB0YWdzPSIiIHBvc2l0aW9uPSI1MjUsNTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwoKW1tTZXJpZXMgTGlicmFyeS0mZ3Q7U3RhcnRdXQpbW0ludGVyZmFjZSBHdWlkZS0mZ3Q7U3lzdGVtIC0gSW50ZXJmYWNlIEd1aWRlXV0KCiZsdDsmbHQ7aWYgJGN1cnJlbnRCb29rIGlzIDEmZ3Q7Jmd0OwoKCVtbQm9vayBPbmUgTWlzc2lvbiBIdWItJmd0O0IwMSAtIE1haW4gTWVudV1dCglbW1BhdHJvbCBSb3N0ZXItJmd0O0IwMSAtIFBhdHJvbCBSb3N0ZXJdXQoJW1tGaWVsZCBKb3VybmFsLSZndDtCMDEgLSBGaWVsZCBKb3VybmFsXV0KCVtbRGVjaXNpb24gUmVjb3JkLSZndDtCMDEgLSBEZWNpc2lvbiBSZWNvcmRdXQoKJmx0OyZsdDtlbHNlaWYgJGN1cnJlbnRCb29rIGlzIDIgYW5kICRib29rMlVubG9ja2VkJmd0OyZndDsKCglbW0Jvb2sgVHdvIE1pc3Npb24gRmlsZS0mZ3Q7QjAyIC0gTWFpbiBNZW51XV0KCiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgoJW1tCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iOCIgbmFtZT0iQjAyIC0gTWFpbiBNZW51IiB0YWdzPSIiIHBvc2l0aW9uPSIyNzUsNzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGN1cnJlbnRCb29rID0gMiZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjdXJyZW50Q2hhcHRlciA9ICZxdW90O05vdCBTdGFydGVkJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGN1cnJlbnRMb2NhdGlvbiA9ICZxdW90O0Jvb2sgVHdvIE1pc3Npb24gRmlsZSZxdW90OyZndDsmZ3Q7CgombHQ7Jmx0O3J1biBtZW1vcml6ZSgmcXVvdDtjdXJyZW50Qm9vayZxdW90OywgMikmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItYm9vay1wcmV2aWV3JnF1b3Q7Jmd0OwoKCSZsdDtoZWFkZXIgY2xhc3M9JnF1b3Q7dG1iLWJvb2stcHJldmlldy1oZWFkZXImcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWJvb2stcHJldmlldy1jb3ZlciZxdW90OyZndDsKwqAKJmx0O2ltZwpzcmM9JnF1b3Q7aW1hZ2VzL21iLWNvdmVyLW5vbWFucy5qcGcmcXVvdDsKYWx0PSZxdW90O05vIE1hbiYjMzk7cyBMYW5kIGNvdmVyJnF1b3Q7CiZndDsKwqAKJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItYm9vay1wcmV2aWV3LWxhYmVsJnF1b3Q7Jmd0OwpCb29rIFR3bwombHQ7L2RpdiZndDsKwqAKJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWJvb2stcHJldmlldy1kZXRhaWxzJnF1b3Q7Jmd0OwoKCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWJvb2stcHJldmlldy1raWNrZXImcXVvdDsmZ3Q7CgkJCQlUaGUgTWVuIEJldHdlZW4KCQkJJmx0Oy9zcGFuJmd0OwoKCQkJJmx0O2gxJmd0O05vIE1hbiYjMzk7cyBMYW5kJmx0Oy9oMSZndDsKCgkJCSZsdDtwIGNsYXNzPSZxdW90O3RtYi1ib29rLXByZXZpZXctZGVzY3JpcHRpb24mcXVvdDsmZ3Q7CgkJCQlUaGUgcGF0cm9sIGNyb3NzZXMgYSBkZXNvbGF0ZSBsYW5kc2NhcGUgd2hlcmUgdGhlIGRlYWQKCQkJCXdhdGNoIGZyb20gdGhlIHJ1aW5zIGFuZCBubyBmYW1pbGlhciBhcm15IGhvbGRzIHRoZSBncm91bmQuCgkJCSZsdDsvcCZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWJvb2stcHJldmlldy1zdGF0dXMmcXVvdDsmZ3Q7CgkJCQkmbHQ7c3BhbiZndDtNaXNzaW9uIFN0YXR1cyZsdDsvc3BhbiZndDsKCQkJCSZsdDtzdHJvbmcmZ3Q7QWNjZXNzIEdyYW50ZWQmbHQ7L3N0cm9uZyZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1ib29rLXByZXZpZXctbm90aWNlJnF1b3Q7Jmd0OwoKCQkJCSZsdDtzdHJvbmcmZ3Q7TWlzc2lvbiBGaWxlIEluIFByZXBhcmF0aW9uJmx0Oy9zdHJvbmcmZ3Q7CgoJCQkJJmx0O3AmZ3Q7CgkJCQkJQm9vayBUd28gaGFzIGJlZW4gdW5sb2NrZWQsIGJ1dCB0aGUgaW50ZXJhY3RpdmUKCQkJCQltaXNzaW9uIGNvbnRlbnQgaGFzIG5vdCB5ZXQgYmVlbiBhZGRlZCB0byB0aGlzIGJ1aWxkLgoJCQkJCVRoZSBhY2Nlc3Mgc3RhdHVzIHdpbGwgcmVtYWluIHNhdmVkLgoJCQkJJmx0Oy9wJmd0OwoKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1ib29rLXByZXZpZXctYWN0aW9ucyZxdW90OyZndDsKCQkJCVtbUmV0dXJuIHRvIFNlcmllcyBMaWJyYXJ5LSZndDtTdGFydF1dCgkJCQlbW09wZW4gQm9vayBPbmUgTWlzc2lvbiBIdWItJmd0O0IwMSAtIE1haW4gTWVudV1dCgkJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7L2RpdiZndDsKCgkmbHQ7L2hlYWRlciZndDsKCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDsvbm9iciZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI5IiBuYW1lPSJCMDEgLSBDMDEgLSBDaGVjayB0aGUgTWFwIiB0YWdzPSIiIHBvc2l0aW9uPSIxMTUwLDk3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRjdXJyZW50Qm9vayA9IDEmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY3VycmVudENoYXB0ZXIgPSAmcXVvdDtDaGFwdGVyIE9uZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjdXJyZW50TG9jYXRpb24gPSAmcXVvdDtUaGUgVW5tYXJrZWQgUm9hZCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRiMDFPYmplY3RpdmUgPSAmcXVvdDtDb21wYXJlIHRoZSByb2FkIHdpdGggdGhlIHN1cnJvdW5kaW5nIHRlcnJhaW4mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYjAxUHJvZ3Jlc3MgPSA0Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGIwMUxhc3RQYXNzYWdlID0gJnF1b3Q7QjAxIC0gQzAxIC0gQ2hlY2sgdGhlIE1hcCZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1zdG9yeS1zY2VuZSZxdW90OyZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1zY2VuZS1raWNrZXImcXVvdDsmZ3Q7CgkJQm9vayBPbmUgwrcgQ2hhcHRlciBPbmUKCSZsdDsvZGl2Jmd0OwoKCSZsdDtoMSZndDtDaGVjayB0aGUgTWFwJmx0Oy9oMSZndDsKCgkmbHQ7cCZndDsKCQlNZXJjZXIgc3ByZWFkcyB0aGUgbWFwIGFjcm9zcyB0aGUgaG9vZCBvZiB0aGUgamVlcCB3aGlsZSBCZWxsCgkJY29tcGFyZXMgdGhlIHByaW50ZWQgcm9hZHMgd2l0aCB0aGUgc3Vycm91bmRpbmcgcmlkZ2VsaW5lcy4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlUaGUgdGVycmFpbiBhcHBlYXJzIGNvcnJlY3QuIFRoZSByb2FkIGRvZXMgbm90LgoJJmx0Oy9wJmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWRlY2lzaW9uLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJVGhpcyByb3V0ZSB3aWxsIGNvbnRpbnVlIGluIHRoZSBuZXh0IHN0b3J5LWRldmVsb3BtZW50IHBhc3MuCgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtYWN0aW9ucyZxdW90OyZndDsKCQlbW1JldHVybiB0byBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCQlbW1JldHVybiB0byB0aGUgUHJvbG9ndWUtJmd0O0IwMSAtIFByb2xvZ3VlXV0KCSZsdDsvZGl2Jmd0OwoKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0Oy9ub2JyJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEwIiBuYW1lPSJCMDEgLSBDMDEgLSBSZXRyYWNlIHRoZSBSb3V0ZSIgdGFncz0iIiBwb3NpdGlvbj0iMTMyNSw4NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkY3VycmVudEJvb2sgPSAxJmd0OyZndDsKJmx0OyZsdDtzZXQgJGN1cnJlbnRDaGFwdGVyID0gJnF1b3Q7Q2hhcHRlciBPbmUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY3VycmVudExvY2F0aW9uID0gJnF1b3Q7VGhlIFJvYWQgQmVoaW5kJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGIwMU9iamVjdGl2ZSA9ICZxdW90O0xvY2F0ZSB0aGUgbWlzc2luZyBpbnRlcnNlY3Rpb24mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYjAxUHJvZ3Jlc3MgPSA0Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGIwMUxhc3RQYXNzYWdlID0gJnF1b3Q7QjAxIC0gQzAxIC0gUmV0cmFjZSB0aGUgUm91dGUmcXVvdDsmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc3Rvcnktc2NlbmUmcXVvdDsmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItc2NlbmUta2lja2VyJnF1b3Q7Jmd0OwoJCUJvb2sgT25lIMK3IENoYXB0ZXIgT25lCgkmbHQ7L2RpdiZndDsKCgkmbHQ7aDEmZ3Q7UmV0cmFjZSB0aGUgUm91dGUmbHQ7L2gxJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBwYXRyb2wgd2Fsa3MgYmFjayBhbG9uZyB0aGUgd2V0IHJvYWQsIHNlYXJjaGluZyBmb3IgdGhlIHR1cm4KCQl0aGF0IHNob3VsZCBoYXZlIGJyb3VnaHQgdGhlIHZlaGljbGVzIGludG8gdGhlIHZhbGxleS4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlUaGUgaW50ZXJzZWN0aW9uIGlzIGdvbmUuIEV2ZW4gdGhlIHRpcmUgdHJhY2tzIGJlaGluZCB0aGUgcGF0cm9sCgkJZW5kIHdoZXJlIHRoZSB1bmZhbWlsaWFyIHJvYWQgYmVnaW5zLgoJJmx0Oy9wJmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWRlY2lzaW9uLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJVGhpcyByb3V0ZSB3aWxsIGNvbnRpbnVlIGluIHRoZSBuZXh0IHN0b3J5LWRldmVsb3BtZW50IHBhc3MuCgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtYWN0aW9ucyZxdW90OyZndDsKCQlbW1JldHVybiB0byBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCQlbW1JldHVybiB0byB0aGUgUHJvbG9ndWUtJmd0O0IwMSAtIFByb2xvZ3VlXV0KCSZsdDsvZGl2Jmd0OwoKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0Oy9ub2JyJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjExIiBuYW1lPSJCMDEgLSBDMDEgLSBTY291dCBBaGVhZCIgdGFncz0iIiBwb3NpdGlvbj0iMTU1MCwxMDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGN1cnJlbnRCb29rID0gMSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjdXJyZW50Q2hhcHRlciA9ICZxdW90O0NoYXB0ZXIgT25lJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGN1cnJlbnRMb2NhdGlvbiA9ICZxdW90O1RoZSBVbm1hcmtlZCBSb2FkJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGIwMU9iamVjdGl2ZSA9ICZxdW90O1Njb3V0IHRoZSBlbnRyYW5jZSB0byB0aGUgdW5rbm93biByb2FkJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGIwMVByb2dyZXNzID0gNCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRiMDFMYXN0UGFzc2FnZSA9ICZxdW90O0IwMSAtIEMwMSAtIFNjb3V0IEFoZWFkJnF1b3Q7Jmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXN0b3J5LXNjZW5lJnF1b3Q7Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXNjZW5lLWtpY2tlciZxdW90OyZndDsKCQlCb29rIE9uZSDCtyBDaGFwdGVyIE9uZQoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2gxJmd0O1Njb3V0IEFoZWFkJmx0Oy9oMSZndDsKCgkmbHQ7cCZndDsKCQlUd28gbWVtYmVycyBvZiB0aGUgcGF0cm9sIGFkdmFuY2UgdG93YXJkIHRoZSB3YWxsIG9mIG1pc3Qgd2hpbGUKCQl0aGUgb3RoZXJzIHJlbWFpbiBuZWFyIHRoZSB2ZWhpY2xlcy4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlUaGUgbWV0YWxsaWMgc291bmQgY29tZXMgYWdhaW4uIFRoaXMgdGltZSwgaXQgaXMgY2xvc2VyLgoJJmx0Oy9wJmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWRlY2lzaW9uLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJVGhpcyByb3V0ZSB3aWxsIGNvbnRpbnVlIGluIHRoZSBuZXh0IHN0b3J5LWRldmVsb3BtZW50IHBhc3MuCgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtYWN0aW9ucyZxdW90OyZndDsKCQlbW1JldHVybiB0byBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCQlbW1JldHVybiB0byB0aGUgUHJvbG9ndWUtJmd0O0IwMSAtIFByb2xvZ3VlXV0KCSZsdDsvZGl2Jmd0OwoKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0Oy9ub2JyJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyIiBuYW1lPSJCMDEgLSBQYXRyb2wgUm9zdGVyIiB0YWdzPSIiIHBvc2l0aW9uPSI3MDAsMTEyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRjdXJyZW50Qm9vayA9IDEmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiBub3QgZGVmICRiMDFQYXRyb2wmZ3Q7Jmd0OwoJJmx0OyZsdDtzZXQgJGIwMVBhdHJvbCA9IFtdJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgX2FjdGl2ZUNvdW50ID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0IF9pbmp1cmVkQ291bnQgPSAwJmd0OyZndDsKJmx0OyZsdDtzZXQgX21pc3NpbmdDb3VudCA9IDAmZ3Q7Jmd0OwombHQ7Jmx0O3NldCBfc2VwYXJhdGVkQ291bnQgPSAwJmd0OyZndDsKCiZsdDsmbHQ7Zm9yIF9tZW1iZXIgcmFuZ2UgJGIwMVBhdHJvbCZndDsmZ3Q7CgkmbHQ7Jmx0O2lmIF9tZW1iZXIuc3RhdHVzIGlzICZxdW90O0FjdGl2ZSZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgX2FjdGl2ZUNvdW50ICs9IDEmZ3Q7Jmd0OwoJJmx0OyZsdDtlbHNlaWYgX21lbWJlci5zdGF0dXMgaXMgJnF1b3Q7SW5qdXJlZCZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgX2luanVyZWRDb3VudCArPSAxJmd0OyZndDsKCSZsdDsmbHQ7ZWxzZWlmIF9tZW1iZXIuc3RhdHVzIGlzICZxdW90O01pc3NpbmcmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0IF9taXNzaW5nQ291bnQgKz0gMSZndDsmZ3Q7CgkmbHQ7Jmx0O2Vsc2VpZiBfbWVtYmVyLnN0YXR1cyBpcyAmcXVvdDtTZXBhcmF0ZWQmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0IF9zZXBhcmF0ZWRDb3VudCArPSAxJmd0OyZndDsKCSZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDsvZm9yJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1wYWdlJnF1b3Q7Jmd0OwoKCSZsdDtoZWFkZXIgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1oZWFkZXImcXVvdDsmZ3Q7CgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLWNvZGUmcXVvdDsmZ3Q7UFImbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiZndDsKCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1raWNrZXImcXVvdDsmZ3Q7CgkJCQlCb29rIE9uZSBNaXNzaW9uIEZpbGUKCQkJJmx0Oy9zcGFuJmd0OwoKCQkJJmx0O2gxJmd0O1BhdHJvbCBSb3N0ZXImbHQ7L2gxJmd0OwoKCQkJJmx0O3AmZ3Q7CgkJCQlQZXJzb25uZWwgYXNzaWdubWVudHMsIGZpZWxkIGNvbmRpdGlvbnMsIGFuZCBjdXJyZW50CgkJCQlvcGVyYXRpb25hbCBzdGF0dXMgZm9yIHRoZSBwYXRyb2wuCgkJCSZsdDsvcCZndDsKCQkmbHQ7L2RpdiZndDsKCSZsdDsvaGVhZGVyJmd0OwoKCSZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc3VtbWFyeSZxdW90OyBhcmlhLWxhYmVsPSZxdW90O1BhdHJvbCBzdW1tYXJ5JnF1b3Q7Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc3VtbWFyeS1pdGVtJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDsmbHQ7Jmx0Oz0gJGIwMVBhdHJvbC5sZW5ndGgmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsKCQkJJmx0O3N0cm9uZyZndDtQZXJzb25uZWwmbHQ7L3N0cm9uZyZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXN1bW1hcnktaXRlbSBhY3RpdmUmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0OyZsdDsmbHQ7PSBfYWN0aXZlQ291bnQmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsKCQkJJmx0O3N0cm9uZyZndDtBY3RpdmUmbHQ7L3N0cm9uZyZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXN1bW1hcnktaXRlbSBpbmp1cmVkJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDsmbHQ7Jmx0Oz0gX2luanVyZWRDb3VudCZndDsmZ3Q7Jmx0Oy9zcGFuJmd0OwoJCQkmbHQ7c3Ryb25nJmd0O0luanVyZWQmbHQ7L3N0cm9uZyZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXN1bW1hcnktaXRlbSBtaXNzaW5nJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDsmbHQ7Jmx0Oz0gX21pc3NpbmdDb3VudCArIF9zZXBhcmF0ZWRDb3VudCZndDsmZ3Q7Jmx0Oy9zcGFuJmd0OwoJCQkmbHQ7c3Ryb25nJmd0O1VuYWNjb3VudGVkIEZvciZsdDsvc3Ryb25nJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvc2VjdGlvbiZndDsKCgkmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXNlY3Rpb24mcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1zZWN0aW9uLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O1BlcnNvbm5lbCBSZWNvcmRzJmx0Oy9zcGFuJmd0OwoJCQkmbHQ7aDImZ3Q7Q3VycmVudCBSb3N0ZXImbHQ7L2gyJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7Jmx0O2lmICRiMDFQYXRyb2wubGVuZ3RoICZndDsgMCZndDsmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yb3N0ZXItZ3JpZCZxdW90OyZndDsKCgkJCQkmbHQ7Jmx0O2ZvciBfbWVtYmVyIHJhbmdlICRiMDFQYXRyb2wmZ3Q7Jmd0OwoKCQkJCQkmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDt0bWItcm9zdGVyLWNhcmQmcXVvdDsmZ3Q7CgoJCQkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yb3N0ZXItY2FyZC10b3AmcXVvdDsmZ3Q7CgoJCQkJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcm9zdGVyLWluaXRpYWwmcXVvdDsmZ3Q7CgkJCQkJCQkJJmx0OyZsdDs9IF9tZW1iZXIubmFtZS5jaGFyQXQoMCkmZ3Q7Jmd0OwoJCQkJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcm9zdGVyLWlkZW50aXR5JnF1b3Q7Jmd0OwoJCQkJCQkJCSZsdDtzcGFuJmd0OyZsdDsmbHQ7PSBfbWVtYmVyLnJhbmsmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsKCQkJCQkJCQkmbHQ7aDMmZ3Q7Jmx0OyZsdDs9IF9tZW1iZXIubmFtZSZndDsmZ3Q7Jmx0Oy9oMyZndDsKCQkJCQkJCQkmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9tZW1iZXIucm9sZSZndDsmZ3Q7Jmx0Oy9zbWFsbCZndDsKCQkJCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJvc3Rlci1zdGF0dXMgJmx0OyZsdDs9IF9tZW1iZXIuc3RhdHVzLnRvTG93ZXJDYXNlKCkmZ3Q7Jmd0OyZxdW90OyZndDsKCQkJCQkJCQkmbHQ7Jmx0Oz0gX21lbWJlci5zdGF0dXMmZ3Q7Jmd0OwoJCQkJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJCQkmbHQ7L2RpdiZndDsKCgkJCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJvc3Rlci1kZXRhaWxzJnF1b3Q7Jmd0OwoKCQkJCQkJCSZsdDtkaXYmZ3Q7CgkJCQkJCQkJJmx0O3NwYW4mZ3Q7Q29uZGl0aW9uJmx0Oy9zcGFuJmd0OwoJCQkJCQkJCSZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDs9IF9tZW1iZXIuY29uZGl0aW9uJmd0OyZndDsmbHQ7L3N0cm9uZyZndDsKCQkJCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCQkJCSZsdDtkaXYmZ3Q7CgkJCQkJCQkJJmx0O3NwYW4mZ3Q7TG9jYXRpb24mbHQ7L3NwYW4mZ3Q7CgkJCQkJCQkJJmx0O3N0cm9uZyZndDsmbHQ7Jmx0Oz0gX21lbWJlci5sb2NhdGlvbiZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7CgkJCQkJCQkmbHQ7L2RpdiZndDsKCgkJCQkJCQkmbHQ7ZGl2Jmd0OwoJCQkJCQkJCSZsdDtzcGFuJmd0O1RydXN0Jmx0Oy9zcGFuJmd0OwoJCQkJCQkJCSZsdDtzdHJvbmcmZ3Q7CgkJCQkJCQkJCSZsdDsmbHQ7aWYgX21lbWJlci50cnVzdCAmZ3Q7PSA0Jmd0OyZndDsKCQkJCQkJCQkJCUhpZ2gKCQkJCQkJCQkJJmx0OyZsdDtlbHNlaWYgX21lbWJlci50cnVzdCAmZ3Q7PSAyJmd0OyZndDsKCQkJCQkJCQkJCUVzdGFibGlzaGVkCgkJCQkJCQkJCSZsdDsmbHQ7ZWxzZWlmIF9tZW1iZXIudHJ1c3QgJmd0Oz0gMCZndDsmZ3Q7CgkJCQkJCQkJCQlOZXV0cmFsCgkJCQkJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCQkJCQlTdHJhaW5lZAoJCQkJCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkJCQkJJmx0Oy9zdHJvbmcmZ3Q7CgkJCQkJCQkmbHQ7L2RpdiZndDsKCgkJCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCQkJJmx0OyZsdDtpZiBfbWVtYmVyLnJldmVhbGVkJmd0OyZndDsKCgkmbHQ7Jmx0O2lmIF9tZW1iZXIubmFtZSBpcyAmcXVvdDtUaG9tYXMgQmVsbCZxdW90OyZndDsmZ3Q7CgoJCSZsdDtwIGNsYXNzPSZxdW90O3RtYi1yb3N0ZXItbm90ZSZxdW90OyZndDsKCQkJQ2FycmllcyB0aGUgcGF0cm9sJiMzOTtzIG1lZGljYWwgYmFnIGFuZCBpcyByZXNwb25zaWJsZSBmb3IKCQkJYmF0dGxlZmllbGQgZmlyc3QgYWlkIGFuZCBjYXN1YWx0eSBhc3Nlc3NtZW50LgoJCSZsdDsvcCZndDsKCgkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoKCQkmbHQ7cCBjbGFzcz0mcXVvdDt0bWItcm9zdGVyLW5vdGUmcXVvdDsmZ3Q7CgkJCUFkZGl0aW9uYWwgcGVyc29ubmVsIGluZm9ybWF0aW9uIHdpbGwgYmUgcmVjb3JkZWQgYXMgdGhlCgkJCW1pc3Npb24gZGV2ZWxvcHMuCgkJJmx0Oy9wJmd0OwoKCSZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgoJJmx0O3AgY2xhc3M9JnF1b3Q7dG1iLXJvc3Rlci1ub3RlIGNsYXNzaWZpZWQmcXVvdDsmZ3Q7CgkJQWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZW1haW5zIGNsYXNzaWZpZWQuCgkmbHQ7L3AmZ3Q7CgombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCQkJCSZsdDsvYXJ0aWNsZSZndDsKCgkJCQkmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwoKCQkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1lbXB0eS1yZWNvcmQmcXVvdDsmZ3Q7CgkJCQkmbHQ7c3Ryb25nJmd0O05vIFBlcnNvbm5lbCBSZWNvcmRzIEF2YWlsYWJsZSZsdDsvc3Ryb25nJmd0OwoKCQkJCSZsdDtwJmd0OwoJCQkJCVRoZSBwYXRyb2wgcm9zdGVyIGhhcyBub3QgeWV0IGJlZW4gaW5pdGlhbGl6ZWQuCgkJCQkJUmV0dXJuIHRvIHRoZSBCb29rIE9uZSBNaXNzaW9uIEh1YiB0byBwcmVwYXJlIHRoZSBtaXNzaW9uLgoJCQkJJmx0Oy9wJmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCSZsdDsvc2VjdGlvbiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtYWN0aW9ucyZxdW90OyZndDsKCQlbW1JldHVybiB0byBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCQlbW1JldHVybiB0byBTZXJpZXMgTGlicmFyeS0mZ3Q7U3RhcnRdXQoJJmx0Oy9kaXYmZ3Q7CgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTMiIG5hbWU9IkIwMSAtIEZpZWxkIEpvdXJuYWwiIHRhZ3M9IiIgcG9zaXRpb249IjgyNSwxMTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGN1cnJlbnRCb29rID0gMSZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMUpvdXJuYWwmZ3Q7Jmd0OwoJJmx0OyZsdDtzZXQgJGIwMUpvdXJuYWwgPSBbXSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgbm90IGRlZiAkYjAxQ2x1ZXMmZ3Q7Jmd0OwoJJmx0OyZsdDtzZXQgJGIwMUNsdWVzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtcGFnZSZxdW90OyZndDsKCgkmbHQ7aGVhZGVyIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtaGVhZGVyJnF1b3Q7Jmd0OwoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1jb2RlJnF1b3Q7Jmd0O0ZKJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYmZ3Q7CgkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQta2lja2VyJnF1b3Q7Jmd0OwoJCQkJQm9vayBPbmUgTWlzc2lvbiBGaWxlCgkJCSZsdDsvc3BhbiZndDsKCgkJCSZsdDtoMSZndDtGaWVsZCBKb3VybmFsJmx0Oy9oMSZndDsKCgkJCSZsdDtwJmd0OwoJCQkJUmVjb3JkZWQgbG9jYXRpb25zLCB1bnVzdWFsIGV2ZW50cywgYW5kIG9ic2VydmF0aW9ucwoJCQkJZ2F0aGVyZWQgZHVyaW5nIHRoZSBwYXRyb2wmIzM5O3MgbWlzc2lvbi4KCQkJJmx0Oy9wJmd0OwoJCSZsdDsvZGl2Jmd0OwoJJmx0Oy9oZWFkZXImZ3Q7CgoJJmx0O3NlY3Rpb24gY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1zdW1tYXJ5JnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7Sm91cm5hbCBzdW1tYXJ5JnF1b3Q7Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc3VtbWFyeS1pdGVtJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDsmbHQ7Jmx0Oz0gJGIwMUpvdXJuYWwubGVuZ3RoJmd0OyZndDsmbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtzdHJvbmcmZ3Q7RW50cmllcyZsdDsvc3Ryb25nJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc3VtbWFyeS1pdGVtIGludGVsbGlnZW5jZSZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7Jmx0OyZsdDs9ICRiMDFDbHVlcy5sZW5ndGgmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsKCQkJJmx0O3N0cm9uZyZndDtDbHVlcyZsdDsvc3Ryb25nJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc3VtbWFyeS1pdGVtJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDsKCQkJCSZsdDsmbHQ7aWYgZGVmICRjdXJyZW50Q2hhcHRlciZndDsmZ3Q7CgkJCQkJJmx0OyZsdDs9ICRjdXJyZW50Q2hhcHRlciZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCU5vbmUKCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0Oy9zcGFuJmd0OwoJCQkmbHQ7c3Ryb25nJmd0O0NoYXB0ZXImbHQ7L3N0cm9uZyZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXN1bW1hcnktaXRlbSZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7CgkJCQkmbHQ7Jmx0O2lmIGRlZiAkY3VycmVudExvY2F0aW9uJmd0OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gJGN1cnJlbnRMb2NhdGlvbiZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCVVua25vd24KCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0Oy9zcGFuJmd0OwoJCQkmbHQ7c3Ryb25nJmd0O0xvY2F0aW9uJmx0Oy9zdHJvbmcmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9zZWN0aW9uJmd0OwoKCSZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc2VjdGlvbiZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXNlY3Rpb24taGVhZGluZyZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7TWlzc2lvbiBPYnNlcnZhdGlvbnMmbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtoMiZndDtKb3VybmFsIEVudHJpZXMmbHQ7L2gyJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7Jmx0O2lmICRiMDFKb3VybmFsLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwoKCQkJJmx0O29sIGNsYXNzPSZxdW90O3RtYi1qb3VybmFsLWxpc3QmcXVvdDsmZ3Q7CgoJCQkJJmx0OyZsdDtmb3IgX2kgPSAwOyBfaSAmbHQ7ICRiMDFKb3VybmFsLmxlbmd0aDsgX2krKyZndDsmZ3Q7CgoJCQkJCSZsdDtsaSBjbGFzcz0mcXVvdDt0bWItam91cm5hbC1lbnRyeSZxdW90OyZndDsKCQkJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItam91cm5hbC1udW1iZXImcXVvdDsmZ3Q7CgkJCQkJCQkmbHQ7Jmx0Oz0gX2kgKyAxICZsdDsgMTAgPyAmcXVvdDswJnF1b3Q7ICsgKF9pICsgMSkgOiBfaSArIDEmZ3Q7Jmd0OwoJCQkJCQkmbHQ7L2RpdiZndDsKCgkJCQkJCSZsdDtwJmd0OyZsdDsmbHQ7PSAkYjAxSm91cm5hbFtfaV0mZ3Q7Jmd0OyZsdDsvcCZndDsKCQkJCQkmbHQ7L2xpJmd0OwoKCQkJCSZsdDsmbHQ7L2ZvciZndDsmZ3Q7CgoJCQkmbHQ7L29sJmd0OwoKCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZW1wdHktcmVjb3JkJnF1b3Q7Jmd0OwoJCQkJJmx0O3N0cm9uZyZndDtObyBKb3VybmFsIEVudHJpZXMgUmVjb3JkZWQmbHQ7L3N0cm9uZyZndDsKCgkJCQkmbHQ7cCZndDsKCQkJCQlPYnNlcnZhdGlvbnMgd2lsbCBiZSBhZGRlZCBhdXRvbWF0aWNhbGx5IGFzIHRoZQoJCQkJCXBhdHJvbCBhZHZhbmNlcyB0aHJvdWdoIHRoZSBtaXNzaW9uLgoJCQkJJmx0Oy9wJmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCSZsdDsvc2VjdGlvbiZndDsKCgkmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXNlY3Rpb24mcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1zZWN0aW9uLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O1JlY292ZXJlZCBJbnRlbGxpZ2VuY2UmbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtoMiZndDtEaXNjb3ZlcmVkIENsdWVzJmx0Oy9oMiZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0OyZsdDtpZiAkYjAxQ2x1ZXMubGVuZ3RoICZndDsgMCZndDsmZ3Q7CgoJCQkmbHQ7dWwgY2xhc3M9JnF1b3Q7dG1iLWNsdWUtbGlzdCZxdW90OyZndDsKCgkJCQkmbHQ7Jmx0O2ZvciBfaSA9IDA7IF9pICZsdDsgJGIwMUNsdWVzLmxlbmd0aDsgX2krKyZndDsmZ3Q7CgoJCQkJCSZsdDtsaSZndDsKCQkJCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWNsdWUtbWFya2VyJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7CgkJCQkJCQk/CgkJCQkJCSZsdDsvc3BhbiZndDsKCgkJCQkJCSZsdDtwJmd0OyZsdDsmbHQ7PSAkYjAxQ2x1ZXNbX2ldJmd0OyZndDsmbHQ7L3AmZ3Q7CgkJCQkJJmx0Oy9saSZndDsKCgkJCQkmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwoKCQkJJmx0Oy91bCZndDsKCgkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWVtcHR5LXJlY29yZCZxdW90OyZndDsKCQkJCSZsdDtzdHJvbmcmZ3Q7Tm8gQ2x1ZXMgUmVjb3JkZWQmbHQ7L3N0cm9uZyZndDsKCgkJCQkmbHQ7cCZndDsKCQkJCQlJbXBvcnRhbnQgZXZpZGVuY2UgYW5kIHVuZXhwbGFpbmVkIG9ic2VydmF0aW9ucwoJCQkJCXdpbGwgYXBwZWFyIGhlcmUgd2hlbiBkaXNjb3ZlcmVkLgoJCQkJJmx0Oy9wJmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCSZsdDsvc2VjdGlvbiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtYWN0aW9ucyZxdW90OyZndDsKCQlbW1JldHVybiB0byBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCQlbW1JldHVybiB0byBTZXJpZXMgTGlicmFyeS0mZ3Q7U3RhcnRdXQoJJmx0Oy9kaXYmZ3Q7CgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7L25vYnImZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE0IiBuYW1lPSJCMDEgLSBEZWNpc2lvbiBSZWNvcmQiIHRhZ3M9IiIgcG9zaXRpb249Ijk1MCwxMTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGN1cnJlbnRCb29rID0gMSZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBkZWYgJGIwMURlY2lzaW9ucyZndDsmZ3Q7CgkmbHQ7Jmx0O3NldCAkYjAxRGVjaXNpb25zID0gW10mZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtcGFnZSZxdW90OyZndDsKCgkmbHQ7aGVhZGVyIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtaGVhZGVyJnF1b3Q7Jmd0OwoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1jb2RlJnF1b3Q7Jmd0O0RSJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYmZ3Q7CgkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQta2lja2VyJnF1b3Q7Jmd0OwoJCQkJQm9vayBPbmUgTWlzc2lvbiBGaWxlCgkJCSZsdDsvc3BhbiZndDsKCgkJCSZsdDtoMSZndDtEZWNpc2lvbiBSZWNvcmQmbHQ7L2gxJmd0OwoKCQkJJmx0O3AmZ3Q7CgkJCQlBIGNocm9ub2xvZ2ljYWwgcmVjb3JkIG9mIHRoZSBtYWpvciBvcmRlcnMgYW5kIGNob2ljZXMKCQkJCXRoYXQgaGF2ZSBpbmZsdWVuY2VkIHRoZSBwYXRyb2wmIzM5O3Mgcm91dGUuCgkJCSZsdDsvcCZndDsKCQkmbHQ7L2RpdiZndDsKCSZsdDsvaGVhZGVyJmd0OwoKCSZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc3VtbWFyeSZxdW90OyBhcmlhLWxhYmVsPSZxdW90O0RlY2lzaW9uIHN1bW1hcnkmcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1zdW1tYXJ5LWl0ZW0mcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0OyZsdDsmbHQ7PSAkYjAxRGVjaXNpb25zLmxlbmd0aCZndDsmZ3Q7Jmx0Oy9zcGFuJmd0OwoJCQkmbHQ7c3Ryb25nJmd0O0RlY2lzaW9ucyZsdDsvc3Ryb25nJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc3VtbWFyeS1pdGVtJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDsKCQkJCSZsdDsmbHQ7aWYgZGVmICRiMDFDYXV0aW9uJmd0OyZndDsKCQkJCQkmbHQ7Jmx0Oz0gJGIwMUNhdXRpb24mZ3Q7Jmd0OwoJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkwCgkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCSZsdDsvc3BhbiZndDsKCQkJJmx0O3N0cm9uZyZndDtDYXV0aW9uJmx0Oy9zdHJvbmcmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1zdW1tYXJ5LWl0ZW0gYWN0aXZlJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDsKCQkJCSZsdDsmbHQ7aWYgZGVmICRiMDFUcnVzdCZndDsmZ3Q7CgkJCQkJJmx0OyZsdDs9ICRiMDFUcnVzdCZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCTAKCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0Oy9zcGFuJmd0OwoJCQkmbHQ7c3Ryb25nJmd0O1RydXN0Jmx0Oy9zdHJvbmcmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1zdW1tYXJ5LWl0ZW0gaW50ZWxsaWdlbmNlJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDsKCQkJCSZsdDsmbHQ7aWYgZGVmICRiMDFNb3JhbGUmZ3Q7Jmd0OwoJCQkJCSZsdDsmbHQ7PSAkYjAxTW9yYWxlJmd0OyZndDsKCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJNQoJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkmbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtzdHJvbmcmZ3Q7TW9yYWxlJmx0Oy9zdHJvbmcmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9zZWN0aW9uJmd0OwoKCSZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc2VjdGlvbiZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXNlY3Rpb24taGVhZGluZyZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7Q29tbWFuZCBIaXN0b3J5Jmx0Oy9zcGFuJmd0OwoJCQkmbHQ7aDImZ3Q7UmVjb3JkZWQgRGVjaXNpb25zJmx0Oy9oMiZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0OyZsdDtpZiAkYjAxRGVjaXNpb25zLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwoKCQkJJmx0O29sIGNsYXNzPSZxdW90O3RtYi1kZWNpc2lvbi1saXN0JnF1b3Q7Jmd0OwoKCQkJCSZsdDsmbHQ7Zm9yIF9pID0gMDsgX2kgJmx0OyAkYjAxRGVjaXNpb25zLmxlbmd0aDsgX2krKyZndDsmZ3Q7CgoJCQkJCSZsdDtsaSBjbGFzcz0mcXVvdDt0bWItZGVjaXNpb24tZW50cnkmcXVvdDsmZ3Q7CgoJCQkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1kZWNpc2lvbi1vcmRlciZxdW90OyZndDsKCQkJCQkJCU9yZGVyICZsdDsmbHQ7PSBTdHJpbmcoX2kgKyAxKS5wYWRTdGFydCgyLCAmcXVvdDswJnF1b3Q7KSZndDsmZ3Q7CgkJCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCQkJJmx0O3AmZ3Q7Jmx0OyZsdDs9ICRiMDFEZWNpc2lvbnNbX2ldJmd0OyZndDsmbHQ7L3AmZ3Q7CgoJCQkJCSZsdDsvbGkmZ3Q7CgoJCQkJJmx0OyZsdDsvZm9yJmd0OyZndDsKCgkJCSZsdDsvb2wmZ3Q7CgoJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1lbXB0eS1yZWNvcmQmcXVvdDsmZ3Q7CgkJCQkmbHQ7c3Ryb25nJmd0O05vIERlY2lzaW9ucyBSZWNvcmRlZCZsdDsvc3Ryb25nJmd0OwoKCQkJCSZsdDtwJmd0OwoJCQkJCU1ham9yIG1pc3Npb24gY2hvaWNlcyB3aWxsIGFwcGVhciBoZXJlIGFmdGVyIHRoZQoJCQkJCXBhdHJvbCBiZWdpbnMgaXRzIGFzc2lnbm1lbnQuCgkJCQkmbHQ7L3AmZ3Q7CgkJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJJmx0Oy9zZWN0aW9uJmd0OwoKCSZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc2VjdGlvbiZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXNlY3Rpb24taGVhZGluZyZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7Q29tbWFuZCBBc3Nlc3NtZW50Jmx0Oy9zcGFuJmd0OwoJCQkmbHQ7aDImZ3Q7Q3VycmVudCBBcHByb2FjaCZsdDsvaDImZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWFwcHJvYWNoLXBhbmVsJnF1b3Q7Jmd0OwoKCQkJJmx0OyZsdDtpZiAkYjAxRGVjaXNpb25zLmxlbmd0aCBpcyAwJmd0OyZndDsKCgkJCQkmbHQ7cCZndDsKCQkJCQlObyBjb21tYW5kIHBhdHRlcm4gaGFzIGJlZW4gZXN0YWJsaXNoZWQuCgkJCQkmbHQ7L3AmZ3Q7CgoJCQkmbHQ7Jmx0O2Vsc2VpZiAkYjAxQ2F1dGlvbiAmZ3Q7ICRiMDFUcnVzdCBhbmQgJGIwMUNhdXRpb24gJmd0OyAxJmd0OyZndDsKCgkJCQkmbHQ7c3Ryb25nJmd0O0NhdXRpb3VzJmx0Oy9zdHJvbmcmZ3Q7CgoJCQkJJmx0O3AmZ3Q7CgkJCQkJVGhlIHBhdHJvbCBoYXMgZ2VuZXJhbGx5IGZhdm9yZWQgY2FyZWZ1bCBvYnNlcnZhdGlvbgoJCQkJCWFuZCBjb250cm9sbGVkIG1vdmVtZW50LgoJCQkJJmx0Oy9wJmd0OwoKCQkJJmx0OyZsdDtlbHNlaWYgJGIwMVRydXN0ICZndDsgJGIwMUNhdXRpb24gYW5kICRiMDFUcnVzdCAmZ3Q7IDEmZ3Q7Jmd0OwoKCQkJCSZsdDtzdHJvbmcmZ3Q7Q29vcGVyYXRpdmUmbHQ7L3N0cm9uZyZndDsKCgkJCQkmbHQ7cCZndDsKCQkJCQlUaGUgcGF0cm9sIGhhcyBnZW5lcmFsbHkgcmVsaWVkIG9uIHNoYXJlZCBqdWRnbWVudAoJCQkJCWFuZCBjb25maWRlbmNlIGFtb25nIGl0cyBtZW1iZXJzLgoJCQkJJmx0Oy9wJmd0OwoKCQkJJmx0OyZsdDtlbHNlaWYgJGIwMU1vcmFsZSAmZ3Q7IDUmZ3Q7Jmd0OwoKCQkJCSZsdDtzdHJvbmcmZ3Q7RGVjaXNpdmUmbHQ7L3N0cm9uZyZndDsKCgkJCQkmbHQ7cCZndDsKCQkJCQlUaGUgcGF0cm9sIGhhcyBnZW5lcmFsbHkgZmF2b3JlZCBkaXJlY3QgYWN0aW9uIGFuZAoJCQkJCW1haW50YWluZWQgZm9yd2FyZCBtb21lbnR1bS4KCQkJCSZsdDsvcCZndDsKCgkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgoJCQkJJmx0O3N0cm9uZyZndDtVbnJlc29sdmVkJmx0Oy9zdHJvbmcmZ3Q7CgoJCQkJJmx0O3AmZ3Q7CgkJCQkJVGhlIHBhdHJvbCBoYXMgbm90IHlldCBlc3RhYmxpc2hlZCBhIGNvbnNpc3RlbnQKCQkJCQlvcGVyYXRpb25hbCBhcHByb2FjaC4KCQkJCSZsdDsvcCZndDsKCgkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9zZWN0aW9uJmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1hY3Rpb25zJnF1b3Q7Jmd0OwoJCVtbUmV0dXJuIHRvIEJvb2sgT25lIE1pc3Npb24gSHViLSZndDtCMDEgLSBNYWluIE1lbnVdXQoJCVtbUmV0dXJuIHRvIFNlcmllcyBMaWJyYXJ5LSZndDtTdGFydF1dCgkmbHQ7L2RpdiZndDsKCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDsvbm9iciZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTUiIG5hbWU9IkIwMyAtIE1haW4gTWVudSIgdGFncz0iIiBwb3NpdGlvbj0iMTUwMCwzNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkY3VycmVudEJvb2sgPSAxJmd0OyZndDsKJmx0OyZsdDtzZXQgJGN1cnJlbnRMb2NhdGlvbiA9ICZxdW90O1NlcmllcyBMaWJyYXJ5JnF1b3Q7Jmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ib29rLXBhZ2UmcXVvdDsmZ3Q7CgoJJmx0O2hlYWRlciBjbGFzcz0mcXVvdDt0bWItZnV0dXJlLWJvb2staGVhZGVyJnF1b3Q7Jmd0OwoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ib29rLW51bWJlciZxdW90OyZndDswMyZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2Jmd0OwoJCQkmbHQ7c3BhbiBjbGFzcz0mcXVvdDt0bWItZnV0dXJlLWJvb2sta2lja2VyJnF1b3Q7Jmd0OwoJCQkJUmVzdHJpY3RlZCBDYW1wYWlnbiBGaWxlCgkJCSZsdDsvc3BhbiZndDsKCgkJCSZsdDtoMSZndDtUaGUgR2F0ZSBvZiBBc2ggYW5kIEJvbmUmbHQ7L2gxJmd0OwoKCQkJJmx0O3AmZ3Q7CgkJCQlCb29rIFRocmVlIG9mIFRoZSBNZW4gQmV0d2VlbgoJCQkmbHQ7L3AmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgkmbHQ7L2hlYWRlciZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1tZXNzYWdlJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7TWlzc2lvbiBGaWxlIExvY2tlZCZsdDsvc3Ryb25nJmd0OwoKCQkmbHQ7cCZndDsKCQkJVGhpcyBjYW1wYWlnbiByZWNvcmQgaXMgbm90IHlldCBhdmFpbGFibGUgaW4gdGhlIGN1cnJlbnQgYnVpbGQuCgkJCUNvbXBsZXRlIHRoZSBwcmVjZWRpbmcgbWlzc2lvbnMgb3IgZW50ZXIgdGhlIGFwcHJvcHJpYXRlIGFjY2VzcwoJCQljb2RlIHdoZW4gQm9vayBUaHJlZSBiZWNvbWVzIGF2YWlsYWJsZS4KCQkmbHQ7L3AmZ3Q7CgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtYWN0aW9ucyZxdW90OyZndDsKCQlbW1JldHVybiB0byBTZXJpZXMgTGlicmFyeS0mZ3Q7U3RhcnRdXQoJCVtbT3BlbiBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCSZsdDsvZGl2Jmd0OwoKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0Oy9ub2JyJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE2IiBuYW1lPSJCMDQgLSBNYWluIE1lbnUiIHRhZ3M9IiIgcG9zaXRpb249IjE1MDAsNTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGN1cnJlbnRCb29rID0gMSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjdXJyZW50TG9jYXRpb24gPSAmcXVvdDtTZXJpZXMgTGlicmFyeSZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1wYWdlJnF1b3Q7Jmd0OwoKCSZsdDtoZWFkZXIgY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ib29rLWhlYWRlciZxdW90OyZndDsKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1udW1iZXImcXVvdDsmZ3Q7MDQmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiZndDsKCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ib29rLWtpY2tlciZxdW90OyZndDsKCQkJCVJlc3RyaWN0ZWQgQ2FtcGFpZ24gRmlsZQoJCQkmbHQ7L3NwYW4mZ3Q7CgoJCQkmbHQ7aDEmZ3Q7VGhlIExvc3QgUGF0cm9sIG9mIFNhaW50LU1lcmN5Jmx0Oy9oMSZndDsKCgkJCSZsdDtwJmd0OwoJCQkJQm9vayBGb3VyIG9mIFRoZSBNZW4gQmV0d2VlbgoJCQkmbHQ7L3AmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgkmbHQ7L2hlYWRlciZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1tZXNzYWdlJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7TWlzc2lvbiBGaWxlIExvY2tlZCZsdDsvc3Ryb25nJmd0OwoKCQkmbHQ7cCZndDsKCQkJVGhpcyBjYW1wYWlnbiByZWNvcmQgaXMgbm90IHlldCBhdmFpbGFibGUgaW4gdGhlIGN1cnJlbnQgYnVpbGQuCgkJCUNvbXBsZXRlIHRoZSBwcmVjZWRpbmcgbWlzc2lvbnMgb3IgZW50ZXIgdGhlIGFwcHJvcHJpYXRlIGFjY2VzcwoJCQljb2RlIHdoZW4gQm9vayBGb3VyIGJlY29tZXMgYXZhaWxhYmxlLgoJCSZsdDsvcCZndDsKCSZsdDsvZGl2Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1hY3Rpb25zJnF1b3Q7Jmd0OwoJCVtbUmV0dXJuIHRvIFNlcmllcyBMaWJyYXJ5LSZndDtTdGFydF1dCgkJW1tPcGVuIEJvb2sgT25lIE1pc3Npb24gSHViLSZndDtCMDEgLSBNYWluIE1lbnVdXQoJJmx0Oy9kaXYmZ3Q7CgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTciIG5hbWU9IkIwNSAtIE1haW4gTWVudSIgdGFncz0iIiBwb3NpdGlvbj0iNTUwLDE3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRjdXJyZW50Qm9vayA9IDEmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY3VycmVudExvY2F0aW9uID0gJnF1b3Q7U2VyaWVzIExpYnJhcnkmcXVvdDsmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZnV0dXJlLWJvb2stcGFnZSZxdW90OyZndDsKCgkmbHQ7aGVhZGVyIGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1oZWFkZXImcXVvdDsmZ3Q7CgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZnV0dXJlLWJvb2stbnVtYmVyJnF1b3Q7Jmd0OzA1Jmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYmZ3Q7CgkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1raWNrZXImcXVvdDsmZ3Q7CgkJCQlSZXN0cmljdGVkIENhbXBhaWduIEZpbGUKCQkJJmx0Oy9zcGFuJmd0OwoKCQkJJmx0O2gxJmd0O1doZXJlIHRoZSBNYXBzIEVuZCZsdDsvaDEmZ3Q7CgoJCQkmbHQ7cCZndDsKCQkJCUJvb2sgRml2ZSBvZiBUaGUgTWVuIEJldHdlZW4KCQkJJmx0Oy9wJmd0OwoJCSZsdDsvZGl2Jmd0OwoJJmx0Oy9oZWFkZXImZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZnV0dXJlLWJvb2stbWVzc2FnZSZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O01pc3Npb24gRmlsZSBMb2NrZWQmbHQ7L3N0cm9uZyZndDsKCgkJJmx0O3AmZ3Q7CgkJCVRoaXMgY2FtcGFpZ24gcmVjb3JkIGlzIG5vdCB5ZXQgYXZhaWxhYmxlIGluIHRoZSBjdXJyZW50IGJ1aWxkLgoJCQlDb21wbGV0ZSB0aGUgcHJlY2VkaW5nIG1pc3Npb25zIG9yIGVudGVyIHRoZSBhcHByb3ByaWF0ZSBhY2Nlc3MKCQkJY29kZSB3aGVuIEJvb2sgRml2ZSBiZWNvbWVzIGF2YWlsYWJsZS4KCQkmbHQ7L3AmZ3Q7CgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtYWN0aW9ucyZxdW90OyZndDsKCQlbW1JldHVybiB0byBTZXJpZXMgTGlicmFyeS0mZ3Q7U3RhcnRdXQoJCVtbT3BlbiBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCSZsdDsvZGl2Jmd0OwoKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0Oy9ub2JyJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE4IiBuYW1lPSJCMDYgLSBNYWluIE1lbnUiIHRhZ3M9IiIgcG9zaXRpb249IjE0MDAsMTc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGN1cnJlbnRCb29rID0gMSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjdXJyZW50TG9jYXRpb24gPSAmcXVvdDtTZXJpZXMgTGlicmFyeSZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1wYWdlJnF1b3Q7Jmd0OwoKCSZsdDtoZWFkZXIgY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ib29rLWhlYWRlciZxdW90OyZndDsKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1udW1iZXImcXVvdDsmZ3Q7MDYmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiZndDsKCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ib29rLWtpY2tlciZxdW90OyZndDsKCQkJCVJlc3RyaWN0ZWQgQ2FtcGFpZ24gRmlsZQoJCQkmbHQ7L3NwYW4mZ3Q7CgoJCQkmbHQ7aDEmZ3Q7VGhlIEtpbmdkb20gVW5kZXIgdGhlIEJhdHRsZWZpZWxkJmx0Oy9oMSZndDsKCgkJCSZsdDtwJmd0OwoJCQkJQm9vayBTaXggb2YgVGhlIE1lbiBCZXR3ZWVuCgkJCSZsdDsvcCZndDsKCQkmbHQ7L2RpdiZndDsKCSZsdDsvaGVhZGVyJmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ib29rLW1lc3NhZ2UmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtNaXNzaW9uIEZpbGUgTG9ja2VkJmx0Oy9zdHJvbmcmZ3Q7CgoJCSZsdDtwJmd0OwoJCQlUaGlzIGNhbXBhaWduIHJlY29yZCBpcyBub3QgeWV0IGF2YWlsYWJsZSBpbiB0aGUgY3VycmVudCBidWlsZC4KCQkJQ29tcGxldGUgdGhlIHByZWNlZGluZyBtaXNzaW9ucyBvciBlbnRlciB0aGUgYXBwcm9wcmlhdGUgYWNjZXNzCgkJCWNvZGUgd2hlbiBCb29rIFNpeCBiZWNvbWVzIGF2YWlsYWJsZS4KCQkmbHQ7L3AmZ3Q7CgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtYWN0aW9ucyZxdW90OyZndDsKCQlbW1JldHVybiB0byBTZXJpZXMgTGlicmFyeS0mZ3Q7U3RhcnRdXQoJCVtbT3BlbiBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCSZsdDsvZGl2Jmd0OwoKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0Oy9ub2JyJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE5IiBuYW1lPSJCMDcgLSBNYWluIE1lbnUiIHRhZ3M9IiIgcG9zaXRpb249IjEwMjUsNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGN1cnJlbnRCb29rID0gMSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjdXJyZW50TG9jYXRpb24gPSAmcXVvdDtTZXJpZXMgTGlicmFyeSZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1wYWdlJnF1b3Q7Jmd0OwoKCSZsdDtoZWFkZXIgY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ib29rLWhlYWRlciZxdW90OyZndDsKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1udW1iZXImcXVvdDsmZ3Q7MDcmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiZndDsKCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ib29rLWtpY2tlciZxdW90OyZndDsKCQkJCVJlc3RyaWN0ZWQgQ2FtcGFpZ24gRmlsZQoJCQkmbHQ7L3NwYW4mZ3Q7CgoJCQkmbHQ7aDEmZ3Q7VGhlIEJsYWNrIE9yY2hhcmQmbHQ7L2gxJmd0OwoKCQkJJmx0O3AmZ3Q7CgkJCQlCb29rIFNldmVuIG9mIFRoZSBNZW4gQmV0d2VlbgoJCQkmbHQ7L3AmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgkmbHQ7L2hlYWRlciZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1tZXNzYWdlJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7TWlzc2lvbiBGaWxlIExvY2tlZCZsdDsvc3Ryb25nJmd0OwoKCQkmbHQ7cCZndDsKCQkJVGhpcyBjYW1wYWlnbiByZWNvcmQgaXMgbm90IHlldCBhdmFpbGFibGUgaW4gdGhlIGN1cnJlbnQgYnVpbGQuCgkJCUNvbXBsZXRlIHRoZSBwcmVjZWRpbmcgbWlzc2lvbnMgb3IgZW50ZXIgdGhlIGFwcHJvcHJpYXRlIGFjY2VzcwoJCQljb2RlIHdoZW4gQm9vayBTZXZlbiBiZWNvbWVzIGF2YWlsYWJsZS4KCQkmbHQ7L3AmZ3Q7CgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtYWN0aW9ucyZxdW90OyZndDsKCQlbW1JldHVybiB0byBTZXJpZXMgTGlicmFyeS0mZ3Q7U3RhcnRdXQoJCVtbT3BlbiBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCSZsdDsvZGl2Jmd0OwoKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0Oy9ub2JyJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIwIiBuYW1lPSJCMDggLSBNYWluIE1lbnUiIHRhZ3M9IiIgcG9zaXRpb249IjE0NTAsNjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGN1cnJlbnRCb29rID0gMSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjdXJyZW50TG9jYXRpb24gPSAmcXVvdDtTZXJpZXMgTGlicmFyeSZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1wYWdlJnF1b3Q7Jmd0OwoKCSZsdDtoZWFkZXIgY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ib29rLWhlYWRlciZxdW90OyZndDsKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1mdXR1cmUtYm9vay1udW1iZXImcXVvdDsmZ3Q7MDgmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiZndDsKCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWZ1dHVyZS1ib29rLWtpY2tlciZxdW90OyZndDsKCQkJCVJlc3RyaWN0ZWQgQ2FtcGFpZ24gRmlsZQoJCQkmbHQ7L3NwYW4mZ3Q7CgoJCQkmbHQ7aDEmZ3Q7VGhlIFZpbGxhZ2UgVGhhdCBXYXNuJiMzOTt0IFRoZXJlJmx0Oy9oMSZndDsKCgkJCSZsdDtwJmd0OwoJCQkJQm9vayBFaWdodCBvZiBUaGUgTWVuIEJldHdlZW4KCQkJJmx0Oy9wJmd0OwoJCSZsdDsvZGl2Jmd0OwoJJmx0Oy9oZWFkZXImZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZnV0dXJlLWJvb2stbWVzc2FnZSZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O01pc3Npb24gRmlsZSBMb2NrZWQmbHQ7L3N0cm9uZyZndDsKCgkJJmx0O3AmZ3Q7CgkJCVRoaXMgY2FtcGFpZ24gcmVjb3JkIGlzIG5vdCB5ZXQgYXZhaWxhYmxlIGluIHRoZSBjdXJyZW50IGJ1aWxkLgoJCQlDb21wbGV0ZSB0aGUgcHJlY2VkaW5nIG1pc3Npb25zIG9yIGVudGVyIHRoZSBhcHByb3ByaWF0ZSBhY2Nlc3MKCQkJY29kZSB3aGVuIEJvb2sgRWlnaHQgYmVjb21lcyBhdmFpbGFibGUuCgkJJmx0Oy9wJmd0OwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLWFjdGlvbnMmcXVvdDsmZ3Q7CgkJW1tSZXR1cm4gdG8gU2VyaWVzIExpYnJhcnktJmd0O1N0YXJ0XV0KCQlbW09wZW4gQm9vayBPbmUgTWlzc2lvbiBIdWItJmd0O0IwMSAtIE1haW4gTWVudV1dCgkmbHQ7L2RpdiZndDsKCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDsvbm9iciZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMSIgbmFtZT0iU3lzdGVtIC0gV2lkZ2V0cyIgdGFncz0id2lkZ2V0IG5vYnIiIHBvc2l0aW9uPSIxMTAwLDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3dpZGdldCAmcXVvdDtzYXZlQm9va09uZVByb2dyZXNzJnF1b3Q7Jmd0OyZndDsKCgkmbHQ7Jmx0O3J1biBtZW1vcml6ZSgKCQkmcXVvdDtiMDFTdGFydGVkJnF1b3Q7LAoJCSRiMDFTdGFydGVkCgkpJmd0OyZndDsKCgkmbHQ7Jmx0O3J1biBtZW1vcml6ZSgKCQkmcXVvdDtiMDFMYXN0UGFzc2FnZSZxdW90OywKCQkkYjAxTGFzdFBhc3NhZ2UKCSkmZ3Q7Jmd0OwoKCSZsdDsmbHQ7cnVuIG1lbW9yaXplKAoJCSZxdW90O2IwMU9iamVjdGl2ZSZxdW90OywKCQkkYjAxT2JqZWN0aXZlCgkpJmd0OyZndDsKCgkmbHQ7Jmx0O3J1biBtZW1vcml6ZSgKCQkmcXVvdDtiMDFQcm9ncmVzcyZxdW90OywKCQkkYjAxUHJvZ3Jlc3MKCSkmZ3Q7Jmd0OwoKCSZsdDsmbHQ7cnVuIG1lbW9yaXplKAoJCSZxdW90O2IwMU1vcmFsZSZxdW90OywKCQkkYjAxTW9yYWxlCgkpJmd0OyZndDsKCgkmbHQ7Jmx0O3J1biBtZW1vcml6ZSgKCQkmcXVvdDtiMDFDYXV0aW9uJnF1b3Q7LAoJCSRiMDFDYXV0aW9uCgkpJmd0OyZndDsKCgkmbHQ7Jmx0O3J1biBtZW1vcml6ZSgKCQkmcXVvdDtiMDFUcnVzdCZxdW90OywKCQkkYjAxVHJ1c3QKCSkmZ3Q7Jmd0OwoKCSZsdDsmbHQ7cnVuIG1lbW9yaXplKAoJCSZxdW90O2IwMUFwcHJvYWNoJnF1b3Q7LAoJCSRiMDFBcHByb2FjaAoJKSZndDsmZ3Q7CgoJJmx0OyZsdDtydW4gbWVtb3JpemUoCgkJJnF1b3Q7YjAxQ2x1ZXMmcXVvdDssCgkJY2xvbmUoJGIwMUNsdWVzKQoJKSZndDsmZ3Q7CgoJJmx0OyZsdDtydW4gbWVtb3JpemUoCgkJJnF1b3Q7YjAxRGVjaXNpb25zJnF1b3Q7LAoJCWNsb25lKCRiMDFEZWNpc2lvbnMpCgkpJmd0OyZndDsKCgkmbHQ7Jmx0O3J1biBtZW1vcml6ZSgKCQkmcXVvdDtiMDFKb3VybmFsJnF1b3Q7LAoJCWNsb25lKCRiMDFKb3VybmFsKQoJKSZndDsmZ3Q7CgoJJmx0OyZsdDtydW4gbWVtb3JpemUoCgkJJnF1b3Q7YjAxVW5sb2NrZWRDaGFwdGVycyZxdW90OywKCQljbG9uZSgkYjAxVW5sb2NrZWRDaGFwdGVycykKCSkmZ3Q7Jmd0OwoKCSZsdDsmbHQ7cnVuIG1lbW9yaXplKAoJCSZxdW90O2N1cnJlbnRDaGFwdGVyJnF1b3Q7LAoJCSRjdXJyZW50Q2hhcHRlcgoJKSZndDsmZ3Q7CgoJJmx0OyZsdDtydW4gbWVtb3JpemUoCgkJJnF1b3Q7Y3VycmVudExvY2F0aW9uJnF1b3Q7LAoJCSRjdXJyZW50TG9jYXRpb24KCSkmZ3Q7Jmd0OwoKJmx0OyZsdDsvd2lkZ2V0Jmd0OyZndDsKCiZsdDsmbHQ7d2lkZ2V0ICZxdW90O2NsZWFyQm9va09uZVByb2dyZXNzJnF1b3Q7Jmd0OyZndDsKCgkmbHQ7Jmx0O3J1biBmb3JnZXQoJnF1b3Q7YjAxU3RhcnRlZCZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gZm9yZ2V0KCZxdW90O2IwMUxhc3RQYXNzYWdlJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biBmb3JnZXQoJnF1b3Q7YjAxT2JqZWN0aXZlJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biBmb3JnZXQoJnF1b3Q7YjAxUHJvZ3Jlc3MmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuIGZvcmdldCgmcXVvdDtiMDFNb3JhbGUmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuIGZvcmdldCgmcXVvdDtiMDFDYXV0aW9uJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biBmb3JnZXQoJnF1b3Q7YjAxVHJ1c3QmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuIGZvcmdldCgmcXVvdDtiMDFBcHByb2FjaCZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gZm9yZ2V0KCZxdW90O2IwMUNsdWVzJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biBmb3JnZXQoJnF1b3Q7YjAxRGVjaXNpb25zJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biBmb3JnZXQoJnF1b3Q7YjAxSm91cm5hbCZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gZm9yZ2V0KCZxdW90O2IwMVVubG9ja2VkQ2hhcHRlcnMmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuIGZvcmdldCgmcXVvdDtjdXJyZW50Q2hhcHRlciZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gZm9yZ2V0KCZxdW90O2N1cnJlbnRMb2NhdGlvbiZxdW90OykmZ3Q7Jmd0OwoKJmx0OyZsdDsvd2lkZ2V0Jmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIyIiBuYW1lPSJCMDEgLSBDb25maXJtIFJlc3RhcnQiIHRhZ3M9IiIgcG9zaXRpb249IjU1MCw3NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkY3VycmVudEJvb2sgPSAxJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWNvbmZpcm0tcGFnZSZxdW90OyZndDsKCgkmbHQ7aGVhZGVyIGNsYXNzPSZxdW90O3RtYi1jb25maXJtLWhlYWRlciZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItY29uZmlybS1pY29uJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7CgkJCSEKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiZndDsKCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLWNvbmZpcm0ta2lja2VyJnF1b3Q7Jmd0OwoJCQkJQm9vayBPbmUgTWlzc2lvbiBDb250cm9sCgkJCSZsdDsvc3BhbiZndDsKCgkJCSZsdDtoMSZndDtSZXN0YXJ0IFRoZSBSb2FkIEJldHdlZW4/Jmx0Oy9oMSZndDsKCgkJCSZsdDtwJmd0OwoJCQkJVGhpcyBhY3Rpb24gd2lsbCBlcmFzZSB0aGUgY3VycmVudCBCb29rIE9uZSBtaXNzaW9uCgkJCQlwcm9ncmVzcyBhbmQgcmV0dXJuIHRoZSBjYW1wYWlnbiB0byB0aGUgYmVnaW5uaW5nLgoJCQkmbHQ7L3AmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9oZWFkZXImZ3Q7CgoJJmx0O3NlY3Rpb24gY2xhc3M9JnF1b3Q7dG1iLWNvbmZpcm0td2FybmluZyZxdW90OyZndDsKCgkJJmx0O3N0cm9uZyZndDtQcm9ncmVzcyB0aGF0IHdpbGwgYmUgZXJhc2VkJmx0Oy9zdHJvbmcmZ3Q7CgoJCSZsdDt1bCZndDsKCQkJJmx0O2xpJmd0O0N1cnJlbnQgY2hhcHRlciBhbmQgbG9jYXRpb24mbHQ7L2xpJmd0OwoJCQkmbHQ7bGkmZ3Q7Q3VycmVudCBtaXNzaW9uIG9iamVjdGl2ZSZsdDsvbGkmZ3Q7CgkJCSZsdDtsaSZndDtCb29rIE9uZSBwcm9ncmVzcyBwZXJjZW50YWdlJmx0Oy9saSZndDsKCQkJJmx0O2xpJmd0O1VubG9ja2VkIEJvb2sgT25lIGNoYXB0ZXJzJmx0Oy9saSZndDsKCQkJJmx0O2xpJmd0O1JlY29yZGVkIGRlY2lzaW9ucyZsdDsvbGkmZ3Q7CgkJCSZsdDtsaSZndDtGaWVsZCBqb3VybmFsIGVudHJpZXMmbHQ7L2xpJmd0OwoJCQkmbHQ7bGkmZ3Q7RGlzY292ZXJlZCBjbHVlcyZsdDsvbGkmZ3Q7CgkJCSZsdDtsaSZndDtNb3JhbGUsIGNhdXRpb24sIGFuZCB0cnVzdCB2YWx1ZXMmbHQ7L2xpJmd0OwoJCQkmbHQ7bGkmZ3Q7U2VsZWN0ZWQgbWlzc2lvbiBhcHByb2FjaCZsdDsvbGkmZ3Q7CgkJJmx0Oy91bCZndDsKCgkmbHQ7L3NlY3Rpb24mZ3Q7CgoJJmx0O3NlY3Rpb24gY2xhc3M9JnF1b3Q7dG1iLWNvbmZpcm0tc3RhdHVzJnF1b3Q7Jmd0OwoKCQkmbHQ7ZGl2Jmd0OwoJCQkmbHQ7c3BhbiZndDtDdXJyZW50IENoYXB0ZXImbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtzdHJvbmcmZ3Q7CgkJCQkmbHQ7Jmx0O2lmIGRlZiAkY3VycmVudENoYXB0ZXImZ3Q7Jmd0OwoJCQkJCSZsdDsmbHQ7PSAkY3VycmVudENoYXB0ZXImZ3Q7Jmd0OwoJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQlOb3QgU3RhcnRlZAoJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkmbHQ7L3N0cm9uZyZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiZndDsKCQkJJmx0O3NwYW4mZ3Q7Q3VycmVudCBMb2NhdGlvbiZsdDsvc3BhbiZndDsKCQkJJmx0O3N0cm9uZyZndDsKCQkJCSZsdDsmbHQ7aWYgZGVmICRjdXJyZW50TG9jYXRpb24mZ3Q7Jmd0OwoJCQkJCSZsdDsmbHQ7PSAkY3VycmVudExvY2F0aW9uJmd0OyZndDsKCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJVW5rbm93bgoJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkmbHQ7L3N0cm9uZyZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiZndDsKCQkJJmx0O3NwYW4mZ3Q7Qm9vayBQcm9ncmVzcyZsdDsvc3BhbiZndDsKCQkJJmx0O3N0cm9uZyZndDsKCQkJCSZsdDsmbHQ7aWYgZGVmICRiMDFQcm9ncmVzcyZndDsmZ3Q7CgkJCQkJJmx0OyZsdDs9ICRiMDFQcm9ncmVzcyZndDsmZ3Q7JQoJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkwJQoJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkmbHQ7L3N0cm9uZyZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiZndDsKCQkJJmx0O3NwYW4mZ3Q7UmVjb3JkZWQgRGVjaXNpb25zJmx0Oy9zcGFuJmd0OwoJCQkmbHQ7c3Ryb25nJmd0OwoJCQkJJmx0OyZsdDtpZiBkZWYgJGIwMURlY2lzaW9ucyZndDsmZ3Q7CgkJCQkJJmx0OyZsdDs9ICRiMDFEZWNpc2lvbnMubGVuZ3RoJmd0OyZndDsKCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJMAoJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkmbHQ7L3N0cm9uZyZndDsKCQkmbHQ7L2RpdiZndDsKCgkmbHQ7L3NlY3Rpb24mZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItY29uZmlybS1hY3Rpb25zJnF1b3Q7Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1jb25maXJtLWNhbmNlbCZxdW90OyZndDsKCQkJW1tDYW5jZWwgYW5kIFJldHVybiB0byBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItY29uZmlybS1kYW5nZXImcXVvdDsmZ3Q7CgoJCQkmbHQ7Jmx0O2J1dHRvbiAmcXVvdDtFcmFzZSBQcm9ncmVzcyBhbmQgUmVzdGFydCZxdW90OyZndDsmZ3Q7CgoJCQkJJmx0OyZsdDtzZXQgJGIwMVN0YXJ0ZWQgPSBmYWxzZSZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O3NldCAkYjAxTGFzdFBhc3NhZ2UgPSAmcXVvdDtCMDEgLSBQcm9sb2d1ZSZxdW90OyZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O3NldCAkYjAxT2JqZWN0aXZlID0gJnF1b3Q7QXdhaXQgZGVwbG95bWVudCBvcmRlcnMmcXVvdDsmZ3Q7Jmd0OwoJCQkJJmx0OyZsdDtzZXQgJGIwMVByb2dyZXNzID0gMCZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O3NldCAkYjAxTW9yYWxlID0gNSZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O3NldCAkYjAxQ2F1dGlvbiA9IDAmZ3Q7Jmd0OwoJCQkJJmx0OyZsdDtzZXQgJGIwMVRydXN0ID0gMCZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O3NldCAkYjAxQXBwcm9hY2ggPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwoKCQkJCSZsdDsmbHQ7c2V0ICRiMDFDbHVlcyA9IFtdJmd0OyZndDsKCQkJCSZsdDsmbHQ7c2V0ICRiMDFEZWNpc2lvbnMgPSBbXSZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O3NldCAkYjAxSm91cm5hbCA9IFtdJmd0OyZndDsKCQkJCSZsdDsmbHQ7c2V0ICRiMDFVbmxvY2tlZENoYXB0ZXJzID0gWyZxdW90O1Byb2xvZ3VlJnF1b3Q7XSZndDsmZ3Q7CgoJCQkJJmx0OyZsdDtzZXQgJGN1cnJlbnRDaGFwdGVyID0gJnF1b3Q7Tm90IFN0YXJ0ZWQmcXVvdDsmZ3Q7Jmd0OwoJCQkJJmx0OyZsdDtzZXQgJGN1cnJlbnRMb2NhdGlvbiA9ICZxdW90O05vcnRoZXJuIEZyYW5jZSZxdW90OyZndDsmZ3Q7CgoJCQkJJmx0OyZsdDtpZiBNYWNyby5oYXMoJnF1b3Q7Y2xlYXJCb29rT25lUHJvZ3Jlc3MmcXVvdDspJmd0OyZndDsKCQkJCQkmbHQ7Jmx0O2NsZWFyQm9va09uZVByb2dyZXNzJmd0OyZndDsKCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7QjAxIC0gTWFpbiBNZW51JnF1b3Q7Jmd0OyZndDsKCgkJCSZsdDsmbHQ7L2J1dHRvbiZndDsmZ3Q7CgoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvZGl2Jmd0OwoKCSZsdDtwIGNsYXNzPSZxdW90O3RtYi1jb25maXJtLW5vdGUmcXVvdDsmZ3Q7CgkJQm9vayBUd28gYWNjZXNzIGFuZCBzZXJpZXMtbGV2ZWwgdW5sb2NrcyB3aWxsIG5vdCBiZSBlcmFzZWQuCgkmbHQ7L3AmZ3Q7CgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjMiIG5hbWU9IkIwMSAtIFByb2xvZ3VlIFJlcGxheSIgdGFncz0iIiBwb3NpdGlvbj0iMTI3NSwzNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkY3VycmVudEJvb2sgPSAxJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXN0b3J5LXNjZW5lJnF1b3Q7Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXNjZW5lLWtpY2tlciZxdW90OyZndDsKCQlCb29rIE9uZQoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2gxJmd0O1RoZSBSb2FkIEJldHdlZW4mbHQ7L2gxJmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWNoYXB0ZXItaGVhZGluZyZxdW90OyZndDsKCQkmbHQ7c3BhbiZndDtQcm9sb2d1ZSBBcmNoaXZlJmx0Oy9zcGFuJmd0OwoJCSZsdDtzdHJvbmcmZ3Q7VGhlIFJvYWQgVGhhdCBXYXNuJiMzOTt0IFRoZXJlJmx0Oy9zdHJvbmcmZ3Q7CgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1hcmNoaXZlLW5vdGljZSZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O1JlYWQtT25seSBNaXNzaW9uIFJlY29yZCZsdDsvc3Ryb25nJmd0OwoKCQkmbHQ7cCZndDsKCQkJVGhpcyBhcmNoaXZlZCB2ZXJzaW9uIGRvZXMgbm90IGNoYW5nZSB5b3VyIGN1cnJlbnQgcm91dGUsCgkJCXN0YXRpc3RpY3MsIGRlY2lzaW9ucywgY2x1ZXMsIG9yIG1pc3Npb24gcHJvZ3Jlc3MuCgkJJmx0Oy9wJmd0OwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhlIHJhaW4gaGFkIHN0b3BwZWQgYmVmb3JlIGRhd24sIGxlYXZpbmcgdGhlIGNvdW50cnlzaWRlIGJlbmVhdGgKCQlhIGxvdyBjZWlsaW5nIG9mIGdyYXkgY2xvdWRzLiBXYXRlciBnYXRoZXJlZCBpbiB0aGUgc2hlbGwgaG9sZXMKCQliZXNpZGUgdGhlIHJvYWQgYW5kIHJhbiBpbiBuYXJyb3cgc3RyZWFtcyBiZXR3ZWVuIHRoZSBicm9rZW4gc3RvbmVzLgoJCVRoZSBmaWVsZHMgYmV5b25kIHRoZSBoZWRnZXJvd3Mgd2VyZSBlbXB0eS4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlObyBmYXJtZXJzIHdhdGNoZWQgZnJvbSB0aGUgZGlzdGFudCBjb3R0YWdlcy4gTm8gbGl2ZXN0b2NrIG1vdmVkCgkJYmVoaW5kIHRoZSBmZW5jZXMuIEV2ZW4gdGhlIGFydGlsbGVyeSBoYWQgZmFsbGVuIHNpbGVudC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlUaGUgcGF0cm9sIGhhZCBiZWVuIHRyYXZlbGluZyBub3J0aCBmb3IgbmVhcmx5IGFuIGhvdXIgd2hlbiBTZXJnZWFudAoJCVdpbGxpYW0gTWVyY2VyIG9yZGVyZWQgdGhlIGplZXAgdG8gc3RvcC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlDb3Jwb3JhbCBEYW5pZWwgSGF5ZXMgZWFzZWQgaGlzIGZvb3QgZnJvbSB0aGUgYWNjZWxlcmF0b3IuIFRoZSBlbmdpbmUKCQlzZXR0bGVkIGludG8gYSByb3VnaCBpZGxlLCByYXR0bGluZyBiZW5lYXRoIHRoZSBob29kLiBCZWhpbmQgdGhlIGplZXAsCgkJdGhlIHRydWNrIGNhcnJ5aW5nIHRoZSByZXN0IG9mIHRoZSBwYXRyb2wgc3RvcHBlZCBiZW5lYXRoIHRoZSBkcmlwcGluZwoJCWJyYW5jaGVzIG9mIGFuIG9sZCBlbG0uCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJTWVyY2VyIGNsaW1iZWQgZG93biBhbmQgc3R1ZGllZCB0aGUgcm9hZCBhaGVhZC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlJdCB3YXMgbmFycm93LCBwYXZlZCB3aXRoIGRhcmsgc3RvbmUsIGFuZCBib3JkZXJlZCBvbiBib3RoIHNpZGVzIGJ5CgkJY2xvc2VseSBwbGFudGVkIHRyZWVzLiBUaGVpciBicmFuY2hlcyBjdXJ2ZWQgb3ZlciB0aGUgcm9hZCB1bnRpbCB0aGV5CgkJbmVhcmx5IHRvdWNoZWQsIGZvcm1pbmcgYSB0dW5uZWwgdGhhdCBkaXNhcHBlYXJlZCBpbnRvIHRoZSBtb3JuaW5nIG1pc3QuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJTm90aGluZyBhYm91dCB0aGUgcm9hZCBzZWVtZWQgcmVtYXJrYWJsZSB1bnRpbCBNZXJjZXIgdW5mb2xkZWQgdGhlIG1hcC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlUaGUgcm9hZCB3YXNuJiMzOTt0IG9uIGl0LgoJJmx0Oy9wJmd0OwoKCSZsdDtibG9ja3F1b3RlJmd0OwoJCSZxdW90O1RoYXQgdHVybiBzaG91bGQgaGF2ZSB0YWtlbiB1cyB3ZXN0LCZxdW90OyBNZXJjZXIgc2FpZC4gJnF1b3Q7VGhpcyByb2FkIHJ1bnMKCQlub3J0aC4mcXVvdDsKCSZsdDsvYmxvY2txdW90ZSZndDsKCgkmbHQ7cCZndDsKCQlQcml2YXRlIFRob21hcyBCZWxsIGNsaW1iZWQgZnJvbSB0aGUgcGFzc2VuZ2VyIHNpZGUgb2YgdGhlIGplZXAsIGhpcwoJCW1lZGljYWwgYmFnIGhhbmdpbmcgYWdhaW5zdCBoaXMgaGlwLCBhbmQgbG9va2VkIG92ZXIgTWVyY2VyJiMzOTtzIHNob3VsZGVyLgoJCUJlbGwgaGFkIGNoZWNrZWQgdGhlIHJvdXRlIGJlZm9yZSB0aGUgcGF0cm9sIGxlZnQgdGhlIHJ1aW5lZCBmYXJtaG91c2UKCQlzZXJ2aW5nIGFzIGNvbXBhbnkgaGVhZHF1YXJ0ZXJzLiBUaGUgcGVuY2lsZWQgbGluZSBvbiB0aGUgbWFwIHdhcyBzdGlsbAoJCWNsZWFyLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBwYXRyb2wgc2hvdWxkIGhhdmUgcmVhY2hlZCB0aGUgdmlsbGFnZSBvZiBTYWludC1DbGFpciB0d2VudHkKCQltaW51dGVzIGFnby4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlQcml2YXRlIEVkZGllIFdhbHNoIHN0ZXBwZWQgZG93biBmcm9tIHRoZSB0cnVjayB3aXRoIGhpcyByaWZsZSBhbmQKCQlsb29rZWQgYmFjayBhbG9uZyB0aGUgcm9hZCB0aGV5IGhhZCBqdXN0IHRyYXZlbGVkLgoJJmx0Oy9wJmd0OwoKCSZsdDtibG9ja3F1b3RlJmd0OwoJCSZxdW90O1dlIGRpZG4mIzM5O3QgbWlzcyBhIHR1cm4sJnF1b3Q7IFdhbHNoIHNhaWQuICZxdW90O1RoZXJlIHdhc24mIzM5O3QgYW5vdGhlciB0dXJuLgoJCVJvYWRzIGRvbiYjMzk7dCBzaW1wbHkgYXBwZWFyLiZxdW90OwoJJmx0Oy9ibG9ja3F1b3RlJmd0OwoKCSZsdDtwJmd0OwoJCVByaXZhdGUgSm9zZXBoIENhcnRlciByZW1haW5lZCBiZXNpZGUgdGhlIHRydWNrLCB3YXRjaGluZyB0aGUgdHJlZQoJCWxpbmUuIENhcnRlciBoYWQgc2FpZCBsaXR0bGUgc2luY2UgdGhlIHBhdHJvbCBzdG9wcGVkLiBDYXJ0ZXImIzM5O3MKCQlhdHRlbnRpb24gd2FzIGZpeGVkIG9uIHRoZSBtaXN0IGFoZWFkLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVByaXZhdGUgUm9iZXJ0IEVsbGlzLCBjYXJyeWluZyB0aGUgcGF0cm9sJiMzOTtzIHJhZGlvLCB0dXJuZWQgdGhlIHR1bmluZwoJCWRpYWwgYW5kIGxpc3RlbmVkIHRocm91Z2ggdGhlIGhlYWRzZXQuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJT25seSBzdGF0aWMgYW5zd2VyZWQuCgkmbHQ7L3AmZ3Q7CgoJJmx0O2Jsb2NrcXVvdGUmZ3Q7CgkJJnF1b3Q7Tm8gY29tcGFueSBzaWduYWwsJnF1b3Q7IEVsbGlzIHJlcG9ydGVkLiAmcXVvdDtObyBjb21tYW5kIGZyZXF1ZW5jeS4gTm90aGluZy4mcXVvdDsKCSZsdDsvYmxvY2txdW90ZSZndDsKCgkmbHQ7cCZndDsKCQlNZXJjZXIgbG93ZXJlZCB0aGUgbWFwLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBzaXggc29sZGllcnMgc3Rvb2QgYmV0d2VlbiB0d28gc3RyZXRjaGVzIG9mIHJvYWQuIEJlaGluZCB0aGVtIHdhcwoJCXRoZSByb3V0ZSB0aGV5IHJlbWVtYmVyZWQgdHJhdmVsaW5nLiBBaGVhZCB3YXMgYSByb2FkIHRoYXQgZGlkIG5vdAoJCWV4aXN0IG9uIGFueSBtYXAgdGhleSBjYXJyaWVkLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVNvbWV3aGVyZSBpbnNpZGUgdGhlIG1pc3QsIG1ldGFsIHN0cnVjayBzdG9uZS4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDtPbmNlLiZsdDsvcCZndDsKCgkmbHQ7cCZndDtUaGVuIGFnYWluLiZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlUaGUgc291bmQgd2FzIHRvbyBzbG93IGFuZCBkZWxpYmVyYXRlIHRvIGJlIGd1bmZpcmUuIEl0IHJlc2VtYmxlZCBhCgkJaGFtbWVyIGZhbGxpbmcgYWdhaW5zdCBhbiBpcm9uIHBvc3QuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJTWVyY2VyIGZvbGRlZCB0aGUgbWFwIGFuZCBsb29rZWQgdG93YXJkIHRoZSBwYXRyb2wuCgkmbHQ7L3AmZ3Q7CgoJJmx0O2Jsb2NrcXVvdGUmZ3Q7CgkJJnF1b3Q7V2UgZGV0ZXJtaW5lIG91ciBwb3NpdGlvbiBiZWZvcmUgd2UgbW92ZSBhbm90aGVyIHlhcmQuJnF1b3Q7CgkmbHQ7L2Jsb2NrcXVvdGUmZ3Q7CgoJJmx0O3NlY3Rpb24gY2xhc3M9JnF1b3Q7dG1iLWFyY2hpdmUtY2hvaWNlJnF1b3Q7Jmd0OwoKCQkmbHQ7c3BhbiZndDtSZWNvcmRlZCBEZWNpc2lvbiZsdDsvc3BhbiZndDsKCgkJJmx0O3N0cm9uZyZndDsKCQkJJmx0OyZsdDtpZiAkYjAxQXBwcm9hY2ggaXMgJnF1b3Q7bWV0aG9kaWNhbCZxdW90OyZndDsmZ3Q7CgkJCQlFeGFtaW5lZCB0aGUgbWFwIGFuZCBjb21wYXJlZCB0aGUgc3Vycm91bmRpbmcgdGVycmFpbgoJCQkmbHQ7Jmx0O2Vsc2VpZiAkYjAxQXBwcm9hY2ggaXMgJnF1b3Q7cmV0cmFjZSZxdW90OyZndDsmZ3Q7CgkJCQlXYWxrZWQgYmFjayB0byBzZWFyY2ggZm9yIHRoZSBtaXNzaW5nIGludGVyc2VjdGlvbgoJCQkmbHQ7Jmx0O2Vsc2VpZiAkYjAxQXBwcm9hY2ggaXMgJnF1b3Q7c2NvdXQmcXVvdDsmZ3Q7Jmd0OwoJCQkJU2NvdXRlZCB0aGUgZW50cmFuY2UgdG8gdGhlIHVua25vd24gcm9hZAoJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJTm8gZGVjaXNpb24gcmVjb3JkZWQKCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsvc3Ryb25nJmd0OwoKCSZsdDsvc2VjdGlvbiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtYWN0aW9ucyZxdW90OyZndDsKCQlbW1JldHVybiB0byBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCgkJJmx0OyZsdDtpZiAkYjAxU3RhcnRlZCBhbmQgU3RvcnkuaGFzKCRiMDFMYXN0UGFzc2FnZSkmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHRvIEN1cnJlbnQgTWlzc2lvbiZxdW90OyZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O2dvdG8gJGIwMUxhc3RQYXNzYWdlJmd0OyZndDsKCQkJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0Oy9kaXYmZ3Q7CgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjQiIG5hbWU9IlN5c3RlbSAtIEludGVyZmFjZSBHdWlkZSIgdGFncz0iIiBwb3NpdGlvbj0iMTYwMCwxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtcGFnZSZxdW90OyZndDsKCgkmbHQ7aGVhZGVyIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtaGVhZGVyJnF1b3Q7Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtY29kZSZxdW90OyZndDtJRyZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2Jmd0OwoKCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1raWNrZXImcXVvdDsmZ3Q7CgkJCQlTeXN0ZW0gUmVmZXJlbmNlCgkJCSZsdDsvc3BhbiZndDsKCgkJCSZsdDtoMSZndDtJbnRlcmZhY2UgR3VpZGUmbHQ7L2gxJmd0OwoKCQkJJmx0O3AmZ3Q7CgkJCQlBIHF1aWNrIHJlZmVyZW5jZSBmb3IgbmF2aWdhdGluZyBUaGUgTWVuIEJldHdlZW4sCgkJCQl0cmFja2luZyBtaXNzaW9uIHByb2dyZXNzLCBhbmQgbWFuYWdpbmcgY2FtcGFpZ24gcmVjb3Jkcy4KCQkJJmx0Oy9wJmd0OwoKCQkmbHQ7L2RpdiZndDsKCgkmbHQ7L2hlYWRlciZndDsKCgkmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXNlY3Rpb24mcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1zZWN0aW9uLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O0NhbXBhaWduIE5hdmlnYXRpb24mbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtoMiZndDtTZXJpZXMgTGlicmFyeSZsdDsvaDImZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWVtcHR5LXJlY29yZCZxdW90OyZndDsKCgkJCSZsdDtzdHJvbmcmZ3Q7Q2hvb3NlIGEgQm9vayZsdDsvc3Ryb25nJmd0OwoKCQkJJmx0O3AmZ3Q7CgkJCQlUaGUgU2VyaWVzIExpYnJhcnkgZGlzcGxheXMgZXZlcnkgYW5ub3VuY2VkIGJvb2sgaW4KCQkJCVRoZSBNZW4gQmV0d2Vlbi4gQXZhaWxhYmxlIGJvb2tzIG1heSBiZSBzdGFydGVkIG9yCgkJCQljb250aW51ZWQuIExvY2tlZCBib29rcyBzaG93IHRoZWlyIGN1cnJlbnQgYWNjZXNzCgkJCQlyZXF1aXJlbWVudHMuCgkJCSZsdDsvcCZndDsKCgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9zZWN0aW9uJmd0OwoKCSZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc2VjdGlvbiZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXNlY3Rpb24taGVhZGluZyZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7Qm9vayBOYXZpZ2F0aW9uJmx0Oy9zcGFuJmd0OwoJCQkmbHQ7aDImZ3Q7TWlzc2lvbiBIdWImbHQ7L2gyJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1lbXB0eS1yZWNvcmQmcXVvdDsmZ3Q7CgoJCQkmbHQ7c3Ryb25nJmd0O01hbmFnZSB0aGUgQ3VycmVudCBCb29rJmx0Oy9zdHJvbmcmZ3Q7CgoJCQkmbHQ7cCZndDsKCQkJCVRoZSBNaXNzaW9uIEh1YiBzaG93cyB0aGUgYWN0aXZlIGNoYXB0ZXIsIGN1cnJlbnQKCQkJCWxvY2F0aW9uLCBtaXNzaW9uIG9iamVjdGl2ZSwgYm9vayBwcm9ncmVzcywgcGF0cm9sIHN0YXR1cywKCQkJCW1pc3Npb24gcmVjb3JkcywgYW5kIHVubG9ja2VkIGNoYXB0ZXJzLgoJCQkmbHQ7L3AmZ3Q7CgoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvc2VjdGlvbiZndDsKCgkmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXNlY3Rpb24mcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1zZWN0aW9uLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O01pc3Npb24gSW5mb3JtYXRpb24mbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtoMiZndDtQYXRyb2wgUmVjb3JkcyZsdDsvaDImZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtZ3JpZCZxdW90OyZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtY2FyZCZxdW90OyZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1maWxlLWNhcmQtY29kZSZxdW90OyZndDtQUiZsdDsvZGl2Jmd0OwoKCQkJCSZsdDtoMyZndDtQYXRyb2wgUm9zdGVyJmx0Oy9oMyZndDsKCgkJCQkmbHQ7cCZndDsKCQkJCQlTaG93cyBlYWNoIHBhdHJvbCBtZW1iZXImIzM5O3MgcmFuaywgcm9sZSwgY29uZGl0aW9uLAoJCQkJCWxvY2F0aW9uLCBvcGVyYXRpb25hbCBzdGF0dXMsIGFuZCBjdXJyZW50IHRydXN0IGxldmVsLgoJCQkJJmx0Oy9wJmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtY2FyZC1tZXRhJnF1b3Q7Jmd0OwoJCQkJCVBlcnNvbm5lbCBhbmQgY29uZGl0aW9uIHRyYWNraW5nCgkJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZmlsZS1jYXJkJnF1b3Q7Jmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtY2FyZC1jb2RlJnF1b3Q7Jmd0O0ZKJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O2gzJmd0O0ZpZWxkIEpvdXJuYWwmbHQ7L2gzJmd0OwoKCQkJCSZsdDtwJmd0OwoJCQkJCVN0b3JlcyBpbXBvcnRhbnQgbG9jYXRpb25zLCB1bnVzdWFsIG9ic2VydmF0aW9ucywKCQkJCQlhbmQgY2x1ZXMgZGlzY292ZXJlZCBkdXJpbmcgdGhlIGFjdGl2ZSBtaXNzaW9uLgoJCQkJJmx0Oy9wJmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtY2FyZC1tZXRhJnF1b3Q7Jmd0OwoJCQkJCU9ic2VydmF0aW9ucyBhbmQgaW50ZWxsaWdlbmNlCgkJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZmlsZS1jYXJkJnF1b3Q7Jmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWZpbGUtY2FyZC1jb2RlJnF1b3Q7Jmd0O0RSJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O2gzJmd0O0RlY2lzaW9uIFJlY29yZCZsdDsvaDMmZ3Q7CgoJCQkJJmx0O3AmZ3Q7CgkJCQkJUmVjb3JkcyBpbXBvcnRhbnQgY2hvaWNlcyBhbmQgZGlzcGxheXMgdGhlIG9wZXJhdGlvbmFsCgkJCQkJYXBwcm9hY2ggdGhhdCBoYXMgZGV2ZWxvcGVkIGR1cmluZyB0aGUgbWlzc2lvbi4KCQkJCSZsdDsvcCZndDsKCgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1maWxlLWNhcmQtbWV0YSZxdW90OyZndDsKCQkJCQlDaG9pY2VzIGFuZCBjb25zZXF1ZW5jZXMKCQkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvc2VjdGlvbiZndDsKCgkmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXNlY3Rpb24mcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1zZWN0aW9uLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O0NoYXB0ZXIgTmF2aWdhdGlvbiZsdDsvc3BhbiZndDsKCQkJJmx0O2gyJmd0O0NoYXB0ZXIgQXJjaGl2ZSZsdDsvaDImZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWVtcHR5LXJlY29yZCZxdW90OyZndDsKCgkJCSZsdDtzdHJvbmcmZ3Q7UmV2aWV3IFdpdGhvdXQgQ2hhbmdpbmcgUHJvZ3Jlc3MmbHQ7L3N0cm9uZyZndDsKCgkJCSZsdDtwJmd0OwoJCQkJVGhlIENoYXB0ZXIgQXJjaGl2ZSBzaG93cyB1bmxvY2tlZCBjaGFwdGVycyBhbmQgdGhlCgkJCQljdXJyZW50IHJvdXRlLiBBcmNoaXZlZCBzY2VuZXMgbWFya2VkIGFzIHJlYWQtb25seSBtYXkKCQkJCWJlIHJldmlld2VkIHdpdGhvdXQgY2hhbmdpbmcgZGVjaXNpb25zLCBjbHVlcywgc3RhdGlzdGljcywKCQkJCW9yIG1pc3Npb24gcHJvZ3Jlc3MuCgkJCSZsdDsvcCZndDsKCgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9zZWN0aW9uJmd0OwoKCSZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc2VjdGlvbiZxdW90OyZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXNlY3Rpb24taGVhZGluZyZxdW90OyZndDsKCQkJJmx0O3NwYW4mZ3Q7Q2FtcGFpZ24gQWNjZXNzJmx0Oy9zcGFuJmd0OwoJCQkmbHQ7aDImZ3Q7VW5sb2NrIENvZGVzJmx0Oy9oMiZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDt0bWItZW1wdHktcmVjb3JkJnF1b3Q7Jmd0OwoKCQkJJmx0O3N0cm9uZyZndDtPcGVuIHRoZSBOZXh0IE1pc3Npb24mbHQ7L3N0cm9uZyZndDsKCgkJCSZsdDtwJmd0OwoJCQkJU29tZSBib29rcyBtYXkgYmUgb3BlbmVkIHdpdGggYW4gYWNjZXNzIGNvZGUgYXdhcmRlZAoJCQkJYWZ0ZXIgY29tcGxldGluZyBhbiBlYXJsaWVyIG1pc3Npb24uIEFjY2VzcyBjb2RlcyBhcmUKCQkJCW5vdCBjYXNlLXNlbnNpdGl2ZS4KCQkJJmx0Oy9wJmd0OwoKCQkmbHQ7L2RpdiZndDsKCgkmbHQ7L3NlY3Rpb24mZ3Q7CgoJJmx0O3NlY3Rpb24gY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1zZWN0aW9uJnF1b3Q7Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1yZWNvcmQtc2VjdGlvbi1oZWFkaW5nJnF1b3Q7Jmd0OwoJCQkmbHQ7c3BhbiZndDtQcm9ncmVzcyBNYW5hZ2VtZW50Jmx0Oy9zcGFuJmd0OwoJCQkmbHQ7aDImZ3Q7QnJvd3NlciBQcm9ncmVzcyBhbmQgU2F2ZXMmbHQ7L2gyJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O3RtYi1lbXB0eS1yZWNvcmQmcXVvdDsmZ3Q7CgoJCQkmbHQ7c3Ryb25nJmd0O1R3byBGb3JtcyBvZiBQcm9ncmVzcyBTdG9yYWdlJmx0Oy9zdHJvbmcmZ3Q7CgoJCQkmbHQ7cCZndDsKCQkJCVRoZSBnYW1lIHJlbWVtYmVycyBjYW1wYWlnbiBwcm9ncmVzcyBpbiB0aGUgYnJvd3Nlci4KCQkJCVRoZSBTdWdhckN1YmUgU2F2ZXMgbWVudSBtYXkgYWxzbyBiZSB1c2VkIHRvIGNyZWF0ZQoJCQkJbWFudWFsIHNhdmUgc2xvdHMsIGV4cG9ydCBzYXZlcywgb3IgcmVzdG9yZSBhbiBlYXJsaWVyCgkJCQlnYW1lIHN0YXRlLgoJCQkmbHQ7L3AmZ3Q7CgoJCSZsdDsvZGl2Jmd0OwoKCSZsdDsvc2VjdGlvbiZndDsKCgkmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDt0bWItcmVjb3JkLXNlY3Rpb24mcXVvdDsmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1zZWN0aW9uLWhlYWRpbmcmcXVvdDsmZ3Q7CgkJCSZsdDtzcGFuJmd0O0Rlc3RydWN0aXZlIEFjdGlvbnMmbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtoMiZndDtSZXN0YXJ0aW5nIGEgQm9vayZsdDsvaDImZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLWVtcHR5LXJlY29yZCZxdW90OyZndDsKCgkJCSZsdDtzdHJvbmcmZ3Q7Q29uZmlybWF0aW9uIElzIFJlcXVpcmVkJmx0Oy9zdHJvbmcmZ3Q7CgoJCQkmbHQ7cCZndDsKCQkJCVJlc3RhcnRpbmcgYSBib29rIGVyYXNlcyB0aGF0IGJvb2smIzM5O3MgY2hhcHRlciBwcm9ncmVzcywKCQkJCWpvdXJuYWwgZW50cmllcywgY2x1ZXMsIGRlY2lzaW9ucywgc3RhdGlzdGljcywgYW5kIHJvdXRlLgoJCQkJU2VyaWVzLWxldmVsIHVubG9ja3MgYXJlIG5vdCBlcmFzZWQuCgkJCSZsdDsvcCZndDsKCgkJJmx0Oy9kaXYmZ3Q7CgoJJmx0Oy9zZWN0aW9uJmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7dG1iLXJlY29yZC1hY3Rpb25zJnF1b3Q7Jmd0OwoKCQlbW1JldHVybiB0byBTZXJpZXMgTGlicmFyeS0mZ3Q7U3RhcnRdXQoKCQkmbHQ7Jmx0O2lmICRjdXJyZW50Qm9vayBpcyAxJmd0OyZndDsKCQkJW1tSZXR1cm4gdG8gQm9vayBPbmUgTWlzc2lvbiBIdWItJmd0O0IwMSAtIE1haW4gTWVudV1dCgkJJmx0OyZsdDtlbHNlaWYgJGN1cnJlbnRCb29rIGlzIDIgYW5kICRib29rMlVubG9ja2VkJmd0OyZndDsKCQkJW1tSZXR1cm4gdG8gQm9vayBUd28gTWlzc2lvbiBGaWxlLSZndDtCMDIgLSBNYWluIE1lbnVdXQoJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCVtbT3BlbiBCb29rIE9uZSBNaXNzaW9uIEh1Yi0mZ3Q7QjAxIC0gTWFpbiBNZW51XV0KCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJJmx0Oy9kaXYmZ3Q7CgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OwpgPC90dy1wYXNzYWdlZGF0YT48L3R3LXN0b3J5ZGF0YT4=