JavaScript must be enabled to play.
Browser lacks capabilities required to play.
Upgrade or switch to another browser.
Loading…
PHR3LXN0b3J5ZGF0YSBuYW1lPSJUYWxlcyBGcm9tIEJyZWNrZW5yaWRnZSAtIEVwaXNvZGUgT25lIERlZmluaXRpdmUiIHN0YXJ0bm9kZT0iMSIgY3JlYXRvcj0iVHdpbmUiIGNyZWF0b3ItdmVyc2lvbj0iMi4xMi4xIiBmb3JtYXQ9IlN1Z2FyQ3ViZSIgZm9ybWF0LXZlcnNpb249IjIuMzcuMyIgaWZpZD0iREVBQjI5RkQtQzJFNi00MkM5LUIwOTEtQzc0MTZDQUZBNTk2IiBvcHRpb25zPSIiIHRhZ3M9IiIgem9vbT0iMSIgaGlkZGVuPjxzdHlsZSByb2xlPSJzdHlsZXNoZWV0IiBpZD0idHdpbmUtdXNlci1zdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L3R3aW5lLWNzcyI+QGltcG9ydCB1cmwoImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9QXZlcmlhK1NlcmlmK0xpYnJlOml0YWwsd2dodEAwLDMwMDswLDQwMDswLDcwMDsxLDMwMDsxLDQwMDsxLDcwMCZkaXNwbGF5PXN3YXAiKTsKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBCTEFDS1dPT0QgREVTSUdOIFZBUklBQkxFUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCjpyb290IHsKCS0tYmxhY2t3b29kLWJnOiAjMGMwZjExOwotLWJsYWNrd29vZC1nb2xkOiAjYzlhMTVhOwoJLS1ibGFja3dvb2QtZ29sZC1icmlnaHQ6ICNlZmQzOWE7CgktLWJsYWNrd29vZC10ZXh0OiAjZThlNGQ5OwotLWJsYWNrd29vZC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC41NSk7CgoJLS1hdG1vc3BoZXJlLXByaW1hcnk6IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjA1KTsKCS0tYXRtb3NwaGVyZS1zZWNvbmRhcnk6IHJnYmEoOTAsIDEwNSwgMTEyLCAwLjAyNSk7CgktLWF0bW9zcGhlcmUtYm9yZGVyOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4yMik7CgktLWF0bW9zcGhlcmUtc2lkZWJhcjogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDQ1KTsKCgktLXBvdi1hY2NlbnQ6ICNjOWExNWE7CgktLXBvdi1hY2NlbnQtYnJpZ2h0OiAjZWZkMzlhOwoJLS1wb3YtYWNjZW50LXNvZnQ6IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjEyKTsKCS0tcG92LWJvcmRlcjogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMjUpOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgR0xPQkFMIFNUT1JZIFNUWUxJTkcKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpodG1sIHsKCXNjcm9sbGJhci1jb2xvcjogIzY2NTUzNiAjMTExNTE4OwoJc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwp9Cgpib2R5IHsKCWJhY2tncm91bmQ6CgkJcmFkaWFsLWdyYWRpZW50KAoJCQljaXJjbGUgYXQgNTIlIDAlLAoJCQl2YXIoLS1hdG1vc3BoZXJlLXByaW1hcnkpLAoJCQl0cmFuc3BhcmVudCAzNWVtCgkJKSwKCQlyYWRpYWwtZ3JhZGllbnQoCgkJCWNpcmNsZSBhdCA4MiUgNjIlLAoJCQl2YXIoLS1hdG1vc3BoZXJlLXNlY29uZGFyeSksCgkJCXRyYW5zcGFyZW50IDQyZW0KCQkpLAoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQl2YXIoLS1ibGFja3dvb2QtYmcpIDAlLAoJCQkjMTExNTE4IDQ4JSwKCQkJdmFyKC0tYmxhY2t3b29kLWJnKSAxMDAlCgkJKTsKCWJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7Cgljb2xvcjogdmFyKC0tYmxhY2t3b29kLXRleHQpOwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7Cglmb250LXdlaWdodDogNDAwOwp9Cgo6OnNlbGVjdGlvbiB7CgliYWNrZ3JvdW5kOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4zNCk7Cgljb2xvcjogI2ZmZjRkODsKfQoKOjotbW96LXNlbGVjdGlvbiB7CgliYWNrZ3JvdW5kOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4zNCk7Cgljb2xvcjogI2ZmZjRkODsKfQoKOjotd2Via2l0LXNjcm9sbGJhciB7Cgl3aWR0aDogMTBweDsKCWhlaWdodDogMTBweDsKfQoKOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CgliYWNrZ3JvdW5kOiAjMTExNTE4Owp9Cgo6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCSM2ZDViMzksCgkJCSM0ZTQyMmUKCQkpOwoJYm9yZGVyOiAycHggc29saWQgIzExMTUxODsKCWJvcmRlci1yYWRpdXM6IDhweDsKfQoKOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjOGI3MDQxLAoJCQkjNjY1MjM0CgkJKTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIE1BSU4gUkVBRElORyBBUkVBCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI3N0b3J5IHsKCXBhZGRpbmctdG9wOiAxLjI1ZW07CglwYWRkaW5nLWJvdHRvbTogMi41ZW07Cn0KCiNwYXNzYWdlcyB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJbWF4LXdpZHRoOiA5MDBweDsKCW1hcmdpbjogMCBhdXRvOwoJcGFkZGluZzogMmVtIDIuNWVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE0NWRlZywKCQkJcmdiYSgyOCwgMzMsIDM2LCAwLjY4KSwKCQkJcmdiYSgxNCwgMTgsIDIwLCAwLjgyKQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wb3YtYm9yZGVyKTsKCWJvcmRlci1yYWRpdXM6IDEwcHg7Cglib3gtc2hhZG93OgoJCTAgMjJweCA2MHB4IHZhcigtLWJsYWNrd29vZC1zaGFkb3cpLAoJCTAgMCAzNHB4IHZhcigtLWF0bW9zcGhlcmUtcHJpbWFyeSksCgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KTsKCWxpbmUtaGVpZ2h0OiAxLjU1OwoJdHJhbnNpdGlvbjoKCQlib3JkZXItY29sb3IgMC40MnMgZWFzZSwKCQlib3gtc2hhZG93IDAuNDJzIGVhc2U7Cn0KCiNwYXNzYWdlczo6YmVmb3JlIHsKCWNvbnRlbnQ6ICIiOwoJcG9zaXRpb246IGFic29sdXRlOwoJaW5zZXQ6IDVweDsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMjUpOwoJYm9yZGVyLXJhZGl1czogNnB4OwoJcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBQQVNTQUdFIFRZUE9HUkFQSFkKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoucGFzc2FnZSB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJY29sb3I6IHZhcigtLWJsYWNrd29vZC10ZXh0KTsKCWZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwoJZm9udC1zaXplOiAxLjA4ZW07Cglmb250LXdlaWdodDogNDAwOwoJbGluZS1oZWlnaHQ6IDEuNjg7Cgl0ZXh0LWFsaWduOiBsZWZ0OwoJYW5pbWF0aW9uOiBibGFja3dvb2QtcGFzc2FnZS1pbiAwLjMycyBlYXNlLW91dCBib3RoOwp9CgoucGFzc2FnZSA+IGJyIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCi5wYXNzYWdlIHAgewoJbWF4LXdpZHRoOiA3MmNoOwoJbWFyZ2luOiAwLjU4ZW0gMDsKfQoKLnBhc3NhZ2UgPiBwOmZpcnN0LW9mLXR5cGUgewoJbWFyZ2luLXRvcDogMC4yNWVtOwp9CgoucGFzc2FnZSA+IHA6bGFzdC1vZi10eXBlIHsKCW1hcmdpbi1ib3R0b206IDAuOGVtOwp9CgoucGFzc2FnZSBzdHJvbmcgewoJY29sb3I6ICNlZWU2ZDM7Cn0KCi5wYXNzYWdlIGVtIHsKCWNvbG9yOiAjZDFjNGE4Owp9CgoucGFzc2FnZSBoMSwKLnBhc3NhZ2UgaDIsCi5wYXNzYWdlIGgzLAoucGFzc2FnZSBoNCB7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKfQoKLnBhc3NhZ2UgaDEgewoJZm9udC13ZWlnaHQ6IDcwMDsKfQoKLnBhc3NhZ2UgaDIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJY29sb3I6ICNlOWQ5YjU7Cglmb250LXNpemU6IDEuNjVlbTsKCWZvbnQtd2VpZ2h0OiA0MDA7CglsaW5lLWhlaWdodDogMS4yOwoJbWFyZ2luOiAwLjE1ZW0gMCAwLjg1ZW07CglwYWRkaW5nLWJvdHRvbTogMC40MmVtOwoJdGV4dC1zaGFkb3c6IDAgMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuNyk7Cn0KCi5wYXNzYWdlIGgyOjphZnRlciB7Cgljb250ZW50OiAiIjsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDA7Cglib3R0b206IDA7Cgl3aWR0aDogbWluKDEyZW0sIDYyJSk7CgloZWlnaHQ6IDFweDsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJcmdiYSgyMDEsIDE2MSwgOTAsIDAuNzIpLAoJCQl0cmFuc3BhcmVudAoJCSk7Cn0KCi5wYXNzYWdlIGgzIHsKCWNvbG9yOiAjZDhjMjhlOwoJZm9udC1zaXplOiAxLjE0ZW07Cglmb250LXdlaWdodDogNDAwOwoJbGluZS1oZWlnaHQ6IDEuMjU7CgltYXJnaW46IDEuMjVlbSAwIDAuNGVtOwp9CgoucGFzc2FnZSBoNCB7Cgljb2xvcjogI2NhYmM5OTsKCWZvbnQtc2l6ZTogMWVtOwoJZm9udC13ZWlnaHQ6IDQwMDsKCWxpbmUtaGVpZ2h0OiAxLjI1OwoJbWFyZ2luOiAxZW0gMCAwLjMyZW07Cn0KCkBrZXlmcmFtZXMgYmxhY2t3b29kLXBhc3NhZ2UtaW4gewoJZnJvbSB7CgkJb3BhY2l0eTogMDsKCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTsKCX0KCgl0byB7CgkJb3BhY2l0eTogMTsKCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7Cgl9Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBQQVNTQUdFIExJTktTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKYS5saW5rLWludGVybmFsLAoucGFzc2FnZSBhLmxpbmstaW50ZXJuYWw6bm90KC5jaG9pY2UtbGlzdCBhKSB7Cgljb2xvcjogI2Q5YjY2ZjsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIxNywgMTgyLCAxMTEsIDAuNDIpOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJdGV4dC1zaGFkb3c6IDAgMCA5cHggcmdiYSgyMTcsIDE4MiwgMTExLCAwLjEyKTsKCXRyYW5zaXRpb246CgkJY29sb3IgMC4xNHMgZWFzZSwKCQlib3JkZXItY29sb3IgMC4xNHMgZWFzZSwKCQl0ZXh0LXNoYWRvdyAwLjE0cyBlYXNlOwp9CgphLmxpbmstaW50ZXJuYWw6aG92ZXIsCi5wYXNzYWdlIGEubGluay1pbnRlcm5hbDpub3QoLmNob2ljZS1saXN0IGEpOmhvdmVyIHsKCWNvbG9yOiAjZmZmMGI3OwoJYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjBiNzsKCXRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDIxNywgMTgyLCAxMTEsIDAuMik7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTVUdBUkNVQkUgU0lERUJBUgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiN1aS1iYXIgewoJYmFja2dyb3VuZDoKCQlyYWRpYWwtZ3JhZGllbnQoCgkJCWNpcmNsZSBhdCA1MCUgMCUsCgkJCXZhcigtLWF0bW9zcGhlcmUtc2lkZWJhciksCgkJCXRyYW5zcGFyZW50IDE3ZW0KCQkpLAoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjMTgxZDIwLAoJCQkjMTExNTE4IDcyJSwKCQkJIzBjMGYxMQoJCSk7Cglib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1hdG1vc3BoZXJlLWJvcmRlcik7Cglib3gtc2hhZG93OiA4cHggMCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKCWZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwoJdHJhbnNpdGlvbjoKCQliYWNrZ3JvdW5kLWNvbG9yIDAuNDJzIGVhc2UsCgkJYm9yZGVyLWNvbG9yIDAuNDJzIGVhc2U7Cn0KCiN1aS1iYXItYm9keSB7CglsaW5lLWhlaWdodDogMS4yOwoJcGFkZGluZzogMCAxZW07CglzY3JvbGxiYXItY29sb3I6ICM1ZTUwMzUgdHJhbnNwYXJlbnQ7CglzY3JvbGxiYXItd2lkdGg6IHRoaW47Cn0KCiN1aS1iYXItYm9keSA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CgltYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7Cn0KCiN1aS1iYXItYm9keSA+ICN0aXRsZSB7CglwYWRkaW5nLXRvcDogMC41ZW0gIWltcG9ydGFudDsKCXBhZGRpbmctYm90dG9tOiAwLjhlbSAhaW1wb3J0YW50Owp9Cgojc3RvcnktdGl0bGUgewoJY29sb3I6ICNkZWI5NmQ7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCWZvbnQtc2l6ZTogMS4yNWVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxLjE7CgltYXJnaW46IDA7Cgl0ZXh0LXNoYWRvdzoKCQkwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjkpLAoJCTAgMCAxNXB4IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjE1KTsKfQoKI3N0b3J5LWF1dGhvciB7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCW1hcmdpbi10b3A6IDAuNGVtOwp9Cgojc3RvcnktY2FwdGlvbiB7CgltYXJnaW46IDAgIWltcG9ydGFudDsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNJREVCQVIgQ09OVFJPTFMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojdWktYmFyLXRyYXkgYnV0dG9uIHsKCWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMjUpOwoJYm9yZGVyLWNvbG9yOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4yMik7Cgljb2xvcjogI2NkYmI5MTsKfQoKI3VpLWJhci10cmF5IGJ1dHRvbjpob3ZlciB7CgliYWNrZ3JvdW5kOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xMik7Cglib3JkZXItY29sb3I6IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjU1KTsKCWNvbG9yOiAjZjBkMzlhOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU0lERUJBUiBTVEFUVVMgUEFORUwKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouc3RhdHVzLXBhbmVsIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMzUpLAoJCQlyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDEyKQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xNik7Cglib3JkZXItcmFkaXVzOiA3cHg7Cglib3gtc2hhZG93OgoJCTAgOHB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjIpLAoJCWluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyNSk7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCWZvbnQtc2l6ZTogMC45ZW07CglsaW5lLWhlaWdodDogMS4yOwoJbWFyZ2luOiAwOwoJcGFkZGluZzogMC42OGVtOwp9Cgouc3RhdHVzLXBhbmVsIGJyLAouc3RhdHVzLXBhbmVsID4gYnIgewoJZGlzcGxheTogbm9uZTsKfQoKLnN0YXR1cy10aXRsZSB7Cgljb2xvcjogI2M1YTc2MTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xNik7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCWZvbnQtc2l6ZTogMC43OGVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjE0ZW07CgltYXJnaW46IDAgMCAwLjRlbTsKCXBhZGRpbmctYm90dG9tOiAwLjM1ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Cgouc3RhdHVzLXJvdyB7Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSk7CglkaXNwbGF5OiBmbGV4OwoJZ2FwOiAwLjVlbTsKCWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDAuM2VtIDA7Cgl0cmFuc2l0aW9uOgoJCWJhY2tncm91bmQtY29sb3IgMC4xNHMgZWFzZSwKCQlwYWRkaW5nIDAuMTRzIGVhc2U7Cn0KCi5zdGF0dXMtcm93OmhvdmVyIHsKCWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMjYpOwoJcGFkZGluZy1sZWZ0OiAwLjE4ZW07CglwYWRkaW5nLXJpZ2h0OiAwLjE4ZW07Cn0KCi5zdGF0dXMtbGFiZWwgewoJY29sb3I6ICM5OTk7Cglmb250LXNpemU6IDAuOTVlbTsKfQoKLnN0YXR1cy12YWx1ZSB7Cgljb2xvcjogI2VlZTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cgl0ZXh0LWFsaWduOiByaWdodDsKCWZvbnQtc2l6ZTogMS4wNWVtOwoJbGluZS1oZWlnaHQ6IDEuMjU7Cn0KCi5zdGF0dXMtb2JqZWN0aXZlLAouc3RhdHVzLXBhdHRlcm4gewoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1NSk7Cglib3JkZXItcmFkaXVzOiA0cHg7Cglib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMik7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDAuNGVtIDAuNWVtOwp9Cgouc3RhdHVzLW9iamVjdGl2ZSB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTM1ZGVnLAoJCQlyZ2JhKDQ2LCA1MSwgNTMsIDAuODgpLAoJCQlyZ2JhKDMxLCAzNywgNDAsIDAuODgpCgkJKTsKCWJvcmRlci1sZWZ0OiAzcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuNTUpOwoJY29sb3I6ICNkZGQ7CglsaW5lLWhlaWdodDogMS40OwoJcGFkZGluZzogMC44ZW0gMC44NWVtOwp9Cgouc3RhdHVzLXBhdHRlcm4gewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTEzNWRlZywKCQkJcmdiYSg0MiwgNTcsIDY1LCAwLjg2KSwKCQkJcmdiYSgyOSwgNDAsIDQ2LCAwLjg4KQoJCSk7Cglib3JkZXItbGVmdDogM3B4IHNvbGlkIHJnYmEoMTI1LCAxNjYsIDE4NiwgMC42OCk7Cgljb2xvcjogI2JkZDRkZjsKfQoKLnN0YXR1cy1vYmplY3RpdmUgc3Ryb25nIHsKCWNvbG9yOiAjZTJjNzg3Owp9Cgouc3RhdHVzLXBhdHRlcm4gc3Ryb25nIHsKCWNvbG9yOiAjYzJkY2U4Owp9Cgouc3RhdHVzLW9iamVjdGl2ZSBzdHJvbmcsCi5zdGF0dXMtcGF0dGVybiBzdHJvbmcgewoJZGlzcGxheTogaW5saW5lOwoJbWFyZ2luLXJpZ2h0OiAwLjJlbTsKfQoKLnN0YXR1cy1vYmplY3RpdmUgPiBiciwKLnN0YXR1cy1wYXR0ZXJuID4gYnIgewoJZGlzcGxheTogbm9uZTsKfQoKI3N0b3J5LWNhcHRpb24gLnN0YXR1cy1vYmplY3RpdmUgewoJZGlzcGxheTogYmxvY2s7CgltYXJnaW4tdG9wOiAwLjllbSAhaW1wb3J0YW50Owp9Cgojc3RvcnktY2FwdGlvbiAuc3RhdHVzLXBhdHRlcm4gewoJZGlzcGxheTogYmxvY2s7CgltYXJnaW4tdG9wOiAwLjYyZW0gIWltcG9ydGFudDsKfQoKLnN0YXR1cy1pbnRybyB7CglsaW5lLWhlaWdodDogMS4yNTsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDAuMjVlbSAwOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU0lERUJBUiBNRU5VCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI3VpLWJhci1ib2R5ID4gI21lbnUgewoJZGlzcGxheTogYmxvY2s7CgltYXJnaW4tdG9wOiAwLjg1ZW0gIWltcG9ydGFudDsKfQoKI21lbnUgdWwgewoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMTgpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTUpOwoJYm9yZGVyLXJhZGl1czogNXB4OwoJbWFyZ2luOiAwICFpbXBvcnRhbnQ7CglwYWRkaW5nOiAwOwp9CgojbWVudSBsaSB7CgltYXJnaW46IDA7Cn0KCiNtZW51IGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHsKCWJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNzUpOwp9CgojbWVudSBsaSBhIHsKCWNvbG9yOiAjY2JiZjlmOwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7CglwYWRkaW5nOiAwLjI4ZW0gMC40NWVtOwoJdHJhbnNpdGlvbjoKCQliYWNrZ3JvdW5kLWNvbG9yIDAuMTRzIGVhc2UsCgkJY29sb3IgMC4xNHMgZWFzZTsKfQoKI21lbnUgbGkgYTpob3ZlciB7CgliYWNrZ3JvdW5kOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xKTsKCWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7Cgljb2xvcjogI2YwZDM5YTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFRJVExFIFNDUkVFTgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi50aXRsZS1zY3JlZW4gewoJcG9zaXRpb246IHJlbGF0aXZlOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCW1heC13aWR0aDogNzAwcHg7CgltYXJnaW46IDAgYXV0bzsKCXBhZGRpbmc6IDEuMjVlbSAxZW07CgliYWNrZ3JvdW5kOgoJCXJhZGlhbC1ncmFkaWVudCgKCQkJY2lyY2xlIGF0IDUwJSA0JSwKCQkJcmdiYSgyMDEsIDE2MSwgOTAsIDAuMSksCgkJCXRyYW5zcGFyZW50IDQ4JQoJCSksCgkJbGluZWFyLWdyYWRpZW50KAoJCQkxNDVkZWcsCgkJCXJnYmEoMjgsIDMxLCAzMSwgMC4zNSksCgkJCXJnYmEoMTEsIDE0LCAxNiwgMC4xNikKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTIpOwoJYm9yZGVyLXJhZGl1czogMTBweDsKCWJveC1zaGFkb3c6CgkJMCAyMnB4IDU1cHggcmdiYSgwLCAwLCAwLCAwLjMzKSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgoudGl0bGUtc2NyZWVuOjpiZWZvcmUgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiAxOCU7CglyaWdodDogMTglOwoJdG9wOiAwOwoJaGVpZ2h0OiAxcHg7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXRyYW5zcGFyZW50LAoJCQlyZ2JhKDIwMSwgMTYxLCA5MCwgMC42OCksCgkJCXRyYW5zcGFyZW50CgkJKTsKfQoKLmdhbWUtc2VyaWVzIHsKCWNvbG9yOiAjYjdhYThjOwoJZm9udC1zaXplOiAwLjgyZW07Cglmb250LXdlaWdodDogNDAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMmVtOwoJbWFyZ2luLWJvdHRvbTogMC4yNWVtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLnRpdGxlLXN5bWJvbCB7Cgljb2xvcjogI2Q5YjY2ZjsKCWZvbnQtc2l6ZTogMi4xZW07CglsaW5lLWhlaWdodDogMTsKCW1hcmdpbjogMC4yZW0gMDsKCXRleHQtc2hhZG93OgoJCTAgMCAxOHB4IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjI4KSwKCQkwIDNweCA4cHggcmdiYSgwLCAwLCAwLCAwLjcyKTsKfQoKLmdhbWUtdGl0bGUgewoJY29sb3I6ICNlZmU2Y2Y7Cglmb250LXNpemU6IDIuMzVlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wMTVlbTsKCWxpbmUtaGVpZ2h0OiAxLjA4OwoJbWFyZ2luOiAwLjJlbSAwOwoJdGV4dC1zaGFkb3c6CgkJMCAzcHggOXB4IHJnYmEoMCwgMCwgMCwgMC45MiksCgkJMCAwIDI0cHggcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTEpOwp9CgouZ2FtZS1zdWJ0aXRsZSB7Cgljb2xvcjogI2M3Yjc4ZjsKCWZvbnQtc2l6ZTogMS4wNWVtOwoJZm9udC1zdHlsZTogaXRhbGljOwoJZm9udC13ZWlnaHQ6IDQwMDsKCW1hcmdpbjogMC4zZW0gMCAwLjllbTsKfQoKLnRpdGxlLXRhZ2xpbmUgewoJY29sb3I6ICNlMGQ1YmI7Cglmb250LXNpemU6IDEuMDVlbTsKCWZvbnQtc3R5bGU6IGl0YWxpYzsKCW1hcmdpbjogMC42ZW0gMDsKfQoKLnRpdGxlLWRlc2NyaXB0aW9uIHsKCWxpbmUtaGVpZ2h0OiAxLjQ1OwoJbWFyZ2luOiAwLjY1ZW0gYXV0byAxLjFlbTsKCW1heC13aWR0aDogNjIwcHg7Cn0KCi50aXRsZS1hYm91dCB7Cglmb250LXNpemU6IDAuOWVtOwoJbWFyZ2luLXRvcDogMC4zNWVtOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU1RBUlQgQlVUVE9OCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnN0YXJ0LWJ1dHRvbiB7CgltYXJnaW46IDAuOWVtIDAgMC42NWVtOwp9Cgouc3RhcnQtYnV0dG9uIGEgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCSM2YjU0MmQsCgkJCSM0ZTNlMjUKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgI2IzOGE0MjsKCWJvcmRlci1yYWRpdXM6IDRweDsKCWJveC1zaGFkb3c6CgkJMCA3cHggMTlweCByZ2JhKDAsIDAsIDAsIDAuMzQpLAoJCWluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTsKCWNvbG9yOiAjZmZmNWQ1OwoJZm9udC1zaXplOiAwLjk1ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKCXBhZGRpbmc6IDAuNjVlbSAxLjI1ZW07Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwoJdHJhbnNpdGlvbjoKCQl0cmFuc2Zvcm0gMC4xNHMgZWFzZSwKCQliYWNrZ3JvdW5kLWNvbG9yIDAuMTRzIGVhc2UsCgkJYm9yZGVyLWNvbG9yIDAuMTRzIGVhc2UsCgkJYm94LXNoYWRvdyAwLjE0cyBlYXNlOwp9Cgouc3RhcnQtYnV0dG9uIGE6aG92ZXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJIzgwNjUzNiwKCQkJIzVmNGMyYwoJCSk7Cglib3JkZXItY29sb3I6ICNkMGE3NTU7Cglib3gtc2hhZG93OgoJCTAgOXB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjQpLAoJCTAgMCAxOHB4IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjEyKSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKCWNvbG9yOiAjZmZmN2RmOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgRVBJU09ERSBPUEVOSU5HUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5lcGlzb2RlLW9wZW5pbmcgewoJcGFkZGluZzogMS4yNWVtIDEuNWVtOwp9CgouZXBpc29kZS1sYWJlbCB7Cgljb2xvcjogI2E4OTc3NDsKCWZvbnQtc2l6ZTogMC43OGVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjI1ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouZXBpc29kZS10aXRsZSB7Cgljb2xvcjogI2YwZTdkMDsKCWZvbnQtc2l6ZTogMi4zZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsKCWxpbmUtaGVpZ2h0OiAxLjE7CgltYXJnaW46IDAuMjVlbSAwIDAuMzVlbTsKCXRleHQtc2hhZG93OiAwIDJweCA4cHggIzAwMDsKfQoKLmVwaXNvZGUtZGF0ZSB7Cgljb2xvcjogI2I5YWU5NDsKCWZvbnQtc2l6ZTogMC44MmVtOwoJZm9udC13ZWlnaHQ6IDQwMDsKCWxldHRlci1zcGFjaW5nOiAwLjEyZW07CgltYXJnaW4tYm90dG9tOiAxZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQ0hBUFRFUiBDQVJEUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5jaGFwdGVyLWNhcmQgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6CgkJcmFkaWFsLWdyYWRpZW50KAoJCQljaXJjbGUgYXQgNTAlIDAlLAoJCQlyZ2JhKDIwMSwgMTYxLCA5MCwgMC4xMiksCgkJCXRyYW5zcGFyZW50IDY1JQoJCSksCgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoNDgsIDQxLCAyOSwgMC42NiksCgkJCXJnYmEoMjUsIDI0LCAyMSwgMC43MikKCQkpOwoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjYyKTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC40OCk7Cglib3JkZXItcmFkaXVzOiA0cHg7Cglib3gtc2hhZG93OgoJCTAgMTVweCAzOHB4IHJnYmEoMCwgMCwgMCwgMC40KSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMzUpOwoJbWFyZ2luOiAwLjg1ZW0gYXV0byAxLjI1ZW07CglwYWRkaW5nOiAxLjU1ZW0gMS40ZW07Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5jaGFwdGVyLWNhcmQ6OmJlZm9yZSB7Cgljb250ZW50OiAi4pyjIjsKCWRpc3BsYXk6IGJsb2NrOwoJY29sb3I6IHZhcigtLXBvdi1hY2NlbnQpOwoJZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmOwoJZm9udC1zaXplOiAxLjU1ZW07CglsaW5lLWhlaWdodDogMTsKCW1hcmdpbi1ib3R0b206IDAuNDVlbTsKCXRleHQtc2hhZG93OgoJCTAgMCAxNHB4IHZhcigtLXBvdi1hY2NlbnQtc29mdCksCgkJMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC44KTsKfQoKLmNoYXB0ZXItY2FyZDo6YWZ0ZXIgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiAxMiU7CglyaWdodDogMTIlOwoJYm90dG9tOiAwOwoJaGVpZ2h0OiAxcHg7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXRyYW5zcGFyZW50LAoJCQl2YXIoLS1hdG1vc3BoZXJlLWJvcmRlciksCgkJCXRyYW5zcGFyZW50CgkJKTsKfQoKLmNoYXB0ZXItbnVtYmVyIHsKCWNvbG9yOiAjZDVjYmIxOwoJZm9udC1zaXplOiAwLjg1ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMTdlbTsKCW1hcmdpbi10b3A6IDAuNTVlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5wb3YtbmFtZSB7Cgljb2xvcjogI2YzZWFkMzsKCWZvbnQtc2l6ZTogMi4xZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CgltYXJnaW46IDAuMmVtIDA7Cgl0ZXh0LXNoYWRvdzoKCQkwIDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjkpLAoJCTAgMCAxOHB4IHZhcigtLXBvdi1hY2NlbnQtc29mdCk7Cn0KCi5jaGFwdGVyLXRpdGxlIHsKCWNvbG9yOiAjZDJiOTdlOwoJZm9udC1zaXplOiAxLjA1ZW07Cglmb250LXN0eWxlOiBpdGFsaWM7Cglmb250LXdlaWdodDogNDAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsKfQoKLmNoYXB0ZXItb2JqZWN0aXZlIHsKCWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xOCk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xMik7Cglib3JkZXItcmFkaXVzOiA0cHg7Cgljb2xvcjogI2Q0Y2ViZDsKCWZvbnQtc2l6ZTogMC45ZW07CgltYXJnaW46IDFlbSBhdXRvIDA7CgltYXgtd2lkdGg6IDUwMHB4OwoJcGFkZGluZzogMC41NWVtIDAuOGVtOwp9CgouY2hhcHRlci1vYmplY3RpdmUgPiBiciB7CglkaXNwbGF5OiBub25lOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgUE9WIE5PVElDRQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5wb3Ytbm90aWNlIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJcmdiYSg5MSwgNzksIDUyLCAwLjQyKSwKCQkJcmdiYSg0OCwgNDUsIDM3LCAwLjIyKQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE4MywgMTQ5LCA3OCwgMC4yMik7Cglib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLXBvdi1hY2NlbnQpOwoJYm9yZGVyLXJhZGl1czogMCA2cHggNnB4IDA7Cglib3gtc2hhZG93OgoJCTAgOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE4KSwKCQkwIDAgMTVweCB2YXIoLS1wb3YtYWNjZW50LXNvZnQpLAoJCWluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyNSk7CgltYXJnaW46IDAuOGVtIDAgMC45ZW07CglwYWRkaW5nOiAwLjU4ZW0gMC45ZW07Cn0KCi5wb3Ytbm90aWNlID4gYnIgewoJZGlzcGxheTogbm9uZTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFBMQVlFUiBDSE9JQ0VTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmNob2ljZS1wcm9tcHQgewoJY29sb3I6ICNkOGNjYjE7Cglmb250LXNpemU6IDAuODZlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wOGVtOwoJbWFyZ2luOiAwLjk1ZW0gMCAwLjNlbTsKCXRleHQtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjcpOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmNob2ljZS1saXN0IHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWRpc3BsYXk6IGZsZXg7CglmbGV4LWRpcmVjdGlvbjogY29sdW1uOwoJZ2FwOiAwLjNlbTsKCW1hcmdpbjogMC4zZW0gMCAwLjc1ZW07Cn0KCi5jaG9pY2UtbGlzdCA+IGJyLAouY2hvaWNlLWxpc3QgYnIgewoJZGlzcGxheTogbm9uZTsKfQoKLmNob2ljZS1saXN0OjpiZWZvcmUgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiAwLjUyZW07Cgl0b3A6IDAuNmVtOwoJYm90dG9tOiAwLjZlbTsKCXdpZHRoOiAxcHg7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQl0cmFuc3BhcmVudCwKCQkJcmdiYSgyMDEsIDE2MSwgOTAsIDAuMTYpLAoJCQl0cmFuc3BhcmVudAoJCSk7Cglwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLmNob2ljZS1saXN0IGEsCi5jaG9pY2UtbGlzdCBhLmxpbmstaW50ZXJuYWwsCi5jaG9pY2UtbGlzdCAubGluay1pbnRlcm5hbCB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglvdmVyZmxvdzogaGlkZGVuOwoJaXNvbGF0aW9uOiBpc29sYXRlOwoJZGlzcGxheTogYmxvY2s7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJd2lkdGg6IDEwMCU7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDU4LCA2MiwgNjAsIDAuOTIpLAoJCQlyZ2JhKDM5LCA0MywgNDIsIDAuOTQpCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTIwLCAxMjQsIDExOSwgMC41OCk7Cglib3JkZXItcmFkaXVzOiA1cHg7Cglib3gtc2hhZG93OgoJCTAgNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIyKSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7Cgljb2xvcjogI2RmYmQ3NzsKCWZvbnQtc2l6ZTogMWVtOwoJbGluZS1oZWlnaHQ6IDEuMjg7CgltYXJnaW46IDA7CglwYWRkaW5nOiAwLjY4ZW0gMWVtIDAuNjhlbSAyLjE1ZW07Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7Cgl0cmFuc2l0aW9uOgoJCXRyYW5zZm9ybSAwLjE0cyBlYXNlLAoJCWJhY2tncm91bmQtY29sb3IgMC4xNHMgZWFzZSwKCQlib3JkZXItY29sb3IgMC4xNHMgZWFzZSwKCQlib3gtc2hhZG93IDAuMTRzIGVhc2UsCgkJY29sb3IgMC4xNHMgZWFzZTsKfQoKLmNob2ljZS1saXN0IGE6OmJlZm9yZSwKLmNob2ljZS1saXN0IGEubGluay1pbnRlcm5hbDo6YmVmb3JlLAouY2hvaWNlLWxpc3QgLmxpbmstaW50ZXJuYWw6OmJlZm9yZSB7Cgljb250ZW50OiAi4oC6IjsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDAuOGVtOwoJdG9wOiA1MCU7Cgljb2xvcjogcmdiYSgyMjMsIDE4OSwgMTE5LCAwLjYyKTsKCWZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsKCWZvbnQtc2l6ZTogMS4yZW07CglsaW5lLWhlaWdodDogMTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTQlKTsKCXRyYW5zaXRpb246CgkJbGVmdCAwLjE0cyBlYXNlLAoJCWNvbG9yIDAuMTRzIGVhc2U7Cn0KCi5jaG9pY2UtbGlzdCBhOjphZnRlciwKLmNob2ljZS1saXN0IGEubGluay1pbnRlcm5hbDo6YWZ0ZXIsCi5jaG9pY2UtbGlzdCAubGluay1pbnRlcm5hbDo6YWZ0ZXIgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglpbnNldDogMDsKCXotaW5kZXg6IC0xOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTExMGRlZywKCQkJdHJhbnNwYXJlbnQgMCUsCgkJCXJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMzUpIDQ2JSwKCQkJdHJhbnNwYXJlbnQgNjglCgkJKTsKCW9wYWNpdHk6IDA7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwJSk7Cgl0cmFuc2l0aW9uOgoJCW9wYWNpdHkgMC4xOHMgZWFzZSwKCQl0cmFuc2Zvcm0gMC4yMnMgZWFzZTsKfQoKLmNob2ljZS1saXN0IGE6aG92ZXIsCi5jaG9pY2UtbGlzdCBhLmxpbmstaW50ZXJuYWw6aG92ZXIsCi5jaG9pY2UtbGlzdCAubGluay1pbnRlcm5hbDpob3ZlciB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDc5LCA3NSwgNjMsIDAuOTYpLAoJCQlyZ2JhKDUwLCA1MCwgNDUsIDAuOTgpCgkJKTsKCWJvcmRlci1jb2xvcjogI2IzOGE0MjsKCWJveC1zaGFkb3c6CgkJMCA3cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMyksCgkJMCAwIDE1cHggcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDgpLAoJCWluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1NSk7Cgljb2xvcjogI2ZmZjBiODsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOwp9CgouY2hvaWNlLWxpc3QgYTpob3Zlcjo6YmVmb3JlLAouY2hvaWNlLWxpc3QgYS5saW5rLWludGVybmFsOmhvdmVyOjpiZWZvcmUsCi5jaG9pY2UtbGlzdCAubGluay1pbnRlcm5hbDpob3Zlcjo6YmVmb3JlIHsKCWxlZnQ6IDAuOTVlbTsKCWNvbG9yOiB2YXIoLS1ibGFja3dvb2QtZ29sZC1icmlnaHQpOwp9CgouY2hvaWNlLWxpc3QgYTpob3Zlcjo6YWZ0ZXIsCi5jaG9pY2UtbGlzdCBhLmxpbmstaW50ZXJuYWw6aG92ZXI6OmFmdGVyLAouY2hvaWNlLWxpc3QgLmxpbmstaW50ZXJuYWw6aG92ZXI6OmFmdGVyIHsKCW9wYWNpdHk6IDE7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTglKTsKfQoKLmNob2ljZS1saXN0IGE6Zm9jdXMsCi5jaG9pY2UtbGlzdCBhLmxpbmstaW50ZXJuYWw6Zm9jdXMsCi5jaG9pY2UtbGlzdCAubGluay1pbnRlcm5hbDpmb2N1cyB7Cglib3JkZXItY29sb3I6IHZhcigtLWJsYWNrd29vZC1nb2xkKTsKCWJveC1zaGFkb3c6CgkJMCAwIDAgMnB4IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjIpLAoJCTAgNnB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjMpOwoJb3V0bGluZTogbm9uZTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIElOVEVSTkFMIFRIT1VHSFRTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmludGVybmFsLXRob3VnaHQgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQlyZ2JhKDEwNCwgMTIwLCAxMzAsIDAuMSksCgkJCXJnYmEoMTA0LCAxMjAsIDEzMCwgMC4wMjUpCgkJKTsKCWJvcmRlci1sZWZ0OiAzcHggc29saWQgIzc0ODk5MzsKCWJvcmRlci1yYWRpdXM6IDAgNnB4IDZweCAwOwoJYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpOwoJY29sb3I6ICNjOWQzZDg7Cglmb250LXN0eWxlOiBpdGFsaWM7CglsZXR0ZXItc3BhY2luZzogMC4wMTJlbTsKCW1hcmdpbjogMC43ZW0gMDsKCXBhZGRpbmc6IDAuNDZlbSAwLjg1ZW07Cn0KCi5pbnRlcm5hbC10aG91Z2h0OjphZnRlciB7Cgljb250ZW50OiAiIjsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDA7Cgl0b3A6IDA7Cglib3R0b206IDA7Cgl3aWR0aDogM3B4OwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSgxNTgsIDE4OSwgMjA0LCAwLjc1KSwKCQkJcmdiYSgxMDAsIDExOSwgMTI5LCAwLjM1KQoJCSk7Cglib3JkZXItcmFkaXVzOiAycHg7Cn0KCi5pbnRlcm5hbC10aG91Z2h0ID4gYnI6Zmlyc3QtY2hpbGQsCi5pbnRlcm5hbC10aG91Z2h0ID4gYnI6bGFzdC1jaGlsZCB7CglkaXNwbGF5OiBub25lOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgS0VWSU4gUEFUVEVSTiBUUkFDS0VSCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmtldmluLXBhdHRlcm4gewoJcG9zaXRpb246IHJlbGF0aXZlOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQlyZ2JhKDQ5LCA2OSwgODAsIDAuNzIpLAoJCQlyZ2JhKDM1LCA0OSwgNTcsIDAuNTUpCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTEyLCAxNDgsIDE2NiwgMC41Mik7Cglib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLXBvdi1hY2NlbnQpOwoJYm9yZGVyLXJhZGl1czogNHB4OwoJYm94LXNoYWRvdzoKCQkwIDZweCAxN3B4IHJnYmEoMCwgMCwgMCwgMC4yMyksCgkJMCAwIDE3cHggcmdiYSgxMTIsIDE0OCwgMTY2LCAwLjA1NSk7Cgljb2xvcjogI2Q0ZTJlODsKCWZvbnQtc2l6ZTogMC45ZW07CglsaW5lLWhlaWdodDogMS4zOwoJbWFyZ2luOiAwLjY1ZW0gMDsKCXBhZGRpbmc6IDAuNDJlbSAwLjcyZW07CglhbmltYXRpb246IGJsYWNrd29vZC1wYXR0ZXJuLWFycml2ZSAwLjMycyBlYXNlLW91dCBib3RoOwp9Cgoua2V2aW4tcGF0dGVybjo6YmVmb3JlIHsKCWNvbnRlbnQ6ICLil4giOwoJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJY29sb3I6IHJnYmEoMTgwLCAyMTksIDIzNywgMC43KTsKCWZvbnQtc2l6ZTogMC44ZW07CgltYXJnaW4tcmlnaHQ6IDAuNDVlbTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4wNGVtKTsKfQoKLmtldmluLXBhdHRlcm4gc3Ryb25nIHsKCWNvbG9yOiAjZTNmMGY1Owp9Cgoua2V2aW4tcGF0dGVybiA+IGJyIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCkBrZXlmcmFtZXMgYmxhY2t3b29kLXBhdHRlcm4tYXJyaXZlIHsKCWZyb20gewoJCW9wYWNpdHk6IDA7CgkJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOwoJfQoKCXRvIHsKCQlvcGFjaXR5OiAxOwoJCXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKCX0KfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIENMVUUgQk9YRVMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouY2x1ZS1kaXNjb3ZlcmVkIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxMzVkZWcsCgkJCXJnYmEoOTQsIDc2LCA0MSwgMC43MiksCgkJCXJnYmEoNTcsIDQ5LCAzMywgMC42OCkKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTMsIDE1NywgODAsIDAuNjYpOwoJYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjYjg5MzQ4OwoJYm9yZGVyLXJhZGl1czogNHB4OwoJYm94LXNoYWRvdzoKCQkwIDhweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yNCksCgkJMCAwIDE4cHggcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDU1KSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMzUpOwoJY29sb3I6ICNmMGRjYWE7Cglmb250LXNpemU6IDAuODhlbTsKCW1hcmdpbjogMC43NWVtIDA7CglwYWRkaW5nOiAwLjU4ZW0gMC43OGVtOwoJdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7CglhbmltYXRpb246CgkJYmxhY2t3b29kLWNsdWUtYXJyaXZlIDAuMzhzIGVhc2Utb3V0IGJvdGgsCgkJYmxhY2t3b29kLWNsdWUtc2V0dGxlIDAuOHMgZWFzZS1vdXQgMC4ycyBib3RoOwp9CgouY2x1ZS1kaXNjb3ZlcmVkOjpiZWZvcmUgewoJY29udGVudDogIuKXhiI7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cgljb2xvcjogcmdiYSgyNTUsIDIyMSwgMTQzLCAwLjY4KTsKCWZvbnQtc2l6ZTogMC43ZW07CgltYXJnaW4tcmlnaHQ6IDAuNWVtOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjA4ZW0pOwp9CgouY2x1ZS1kaXNjb3ZlcmVkIHN0cm9uZyB7Cgljb2xvcjogI2ZmZTdhOTsKfQoKLmNsdWUtZGlzY292ZXJlZCA+IGJyIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCkBrZXlmcmFtZXMgYmxhY2t3b29kLWNsdWUtYXJyaXZlIHsKCTAlIHsKCQlvcGFjaXR5OiAwOwoJCXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOwoJCWJveC1zaGFkb3c6IG5vbmU7Cgl9CgoJNjAlLAoJMTAwJSB7CgkJb3BhY2l0eTogMTsKCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7Cgl9Cn0KCkBrZXlmcmFtZXMgYmxhY2t3b29kLWNsdWUtc2V0dGxlIHsKCWZyb20gewoJCWJvcmRlci1jb2xvcjogcmdiYSgyMzIsIDE5MywgMTA0LCAwLjgyKTsKCX0KCgl0byB7CgkJYm9yZGVyLWNvbG9yOiByZ2JhKDE5MywgMTU3LCA4MCwgMC42Nik7Cgl9Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBDSEFQVEVSIFNVTU1BUklFUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5jaGFwdGVyLXN1bW1hcnktY2x1ZXMgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE0NWRlZywKCQkJcmdiYSg4NywgNzAsIDM5LCAwLjY1KSwKCQkJcmdiYSg0NSwgNDAsIDMxLCAwLjcyKQoJCSk7Cglib3JkZXItY29sb3I6IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjUyKTsKCWJvcmRlci1sZWZ0LXdpZHRoOiA0cHg7CgltYXJnaW46IDAuN2VtIDA7CglwYWRkaW5nOiAwLjhlbSAwLjllbTsKCWFuaW1hdGlvbjogbm9uZTsKfQoKLmNoYXB0ZXItc3VtbWFyeS1jbHVlczo6YmVmb3JlIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCi5jaGFwdGVyLXN1bW1hcnktY2x1ZXMgPiBzdHJvbmcgewoJZGlzcGxheTogYmxvY2s7Cgljb2xvcjogI2ZmZTRhNDsKCWZvbnQtc2l6ZTogMS4wM2VtOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CgltYXJnaW4tYm90dG9tOiAwLjU1ZW07CglwYWRkaW5nLWJvdHRvbTogMC4zOGVtOwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyMjgsIDE2NCwgMC4xNik7Cn0KCi5jaGFwdGVyLXN1bW1hcnktY2x1ZXMgdWwgewoJbGlzdC1zdHlsZTogbm9uZTsKCW1hcmdpbjogMC40ZW0gMCAwOwoJcGFkZGluZzogMDsKfQoKLmNoYXB0ZXItc3VtbWFyeS1jbHVlcyBsaSB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglsaW5lLWhlaWdodDogMS4zODsKCW1hcmdpbjogMC4xMmVtIDA7CglwYWRkaW5nOiAwLjE2ZW0gMCAwLjE2ZW0gMS4yNWVtOwp9CgouY2hhcHRlci1zdW1tYXJ5LWNsdWVzIGxpOjpiZWZvcmUgewoJY29udGVudDogIuKAuiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiAwLjEyZW07Cgl0b3A6IDAuMTJlbTsKCWNvbG9yOiByZ2JhKDI1NSwgMjIyLCAxNDYsIDAuNjYpOwoJZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmOwoJZm9udC1zaXplOiAxLjAyZW07Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBHRU5FUkFMIExJU1QgU1BBQ0lORwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5wYXNzYWdlIHVsLAoucGFzc2FnZSBvbCB7CgltYXJnaW4tdG9wOiAwLjZlbTsKCW1hcmdpbi1ib3R0b206IDAuOGVtOwoJcGFkZGluZy1sZWZ0OiAxLjZlbTsKfQoKLnBhc3NhZ2UgbGkgewoJbWFyZ2luOiAwLjI1ZW0gMDsKfQoKLmNsdWUtZGlzY292ZXJlZCB1bCwKLmNsdWUtZGlzY292ZXJlZCBvbCB7CgltYXJnaW4tdG9wOiAwLjRlbTsKCW1hcmdpbi1ib3R0b206IDA7Cn0KCi5jbHVlLWRpc2NvdmVyZWQgbGkgewoJbWFyZ2luLXRvcDogMC4xMmVtOwoJbWFyZ2luLWJvdHRvbTogMC4xMmVtOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQ1VTVE9NIEJPWCBOT1JNQUxJWkFUSU9OCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnBvdi1ub3RpY2UgPiA6Zmlyc3QtY2hpbGQsCi5jaGFwdGVyLW9iamVjdGl2ZSA+IDpmaXJzdC1jaGlsZCwKLmtldmluLXBhdHRlcm4gPiA6Zmlyc3QtY2hpbGQsCi5jbHVlLWRpc2NvdmVyZWQgPiA6Zmlyc3QtY2hpbGQsCi5pbnRlcm5hbC10aG91Z2h0ID4gOmZpcnN0LWNoaWxkLAouc3RhdHVzLW9iamVjdGl2ZSA+IDpmaXJzdC1jaGlsZCwKLnN0YXR1cy1wYXR0ZXJuID4gOmZpcnN0LWNoaWxkIHsKCW1hcmdpbi10b3A6IDA7Cn0KCi5wb3Ytbm90aWNlID4gOmxhc3QtY2hpbGQsCi5jaGFwdGVyLW9iamVjdGl2ZSA+IDpsYXN0LWNoaWxkLAoua2V2aW4tcGF0dGVybiA+IDpsYXN0LWNoaWxkLAouY2x1ZS1kaXNjb3ZlcmVkID4gOmxhc3QtY2hpbGQsCi5pbnRlcm5hbC10aG91Z2h0ID4gOmxhc3QtY2hpbGQsCi5zdGF0dXMtb2JqZWN0aXZlID4gOmxhc3QtY2hpbGQsCi5zdGF0dXMtcGF0dGVybiA+IDpsYXN0LWNoaWxkIHsKCW1hcmdpbi1ib3R0b206IDA7Cn0KCi5jaGFwdGVyLWNhcmQgKyAucG92LW5vdGljZSwKLmNoYXB0ZXItY2FyZCArIHAgewoJbWFyZ2luLXRvcDogMC43ZW07Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBMT0NBVElPTi1CQVNFRCBBVE1PU1BIRVJFCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKYm9keS5hdG1vc3BoZXJlLXRpdGxlIHsKCS0tYXRtb3NwaGVyZS1wcmltYXJ5OiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4wOSk7CgktLWF0bW9zcGhlcmUtc2Vjb25kYXJ5OiByZ2JhKDg3LCA2OCwgMzksIDAuMDUpOwoJLS1hdG1vc3BoZXJlLWJvcmRlcjogcmdiYSgyMDEsIDE2MSwgOTAsIDAuMjcpOwoJLS1hdG1vc3BoZXJlLXNpZGViYXI6IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjA1NSk7Cn0KCmJvZHkuYXRtb3NwaGVyZS1ob3VzZSB7CgktLWF0bW9zcGhlcmUtcHJpbWFyeTogcmdiYSg5MSwgMTIzLCAxMzcsIDAuMDc1KTsKCS0tYXRtb3NwaGVyZS1zZWNvbmRhcnk6IHJnYmEoNjksIDg2LCA3MCwgMC4wNDUpOwoJLS1hdG1vc3BoZXJlLWJvcmRlcjogcmdiYSgxMTMsIDE1MSwgMTY2LCAwLjI1KTsKCS0tYXRtb3NwaGVyZS1zaWRlYmFyOiByZ2JhKDkzLCAxMjYsIDEzOSwgMC4wNTUpOwp9Cgpib2R5LmF0bW9zcGhlcmUtZmllbGQgewoJLS1hdG1vc3BoZXJlLXByaW1hcnk6IHJnYmEoOTMsIDEwNSwgNzgsIDAuMDcpOwoJLS1hdG1vc3BoZXJlLXNlY29uZGFyeTogcmdiYSg5MywgNjcsIDQ0LCAwLjA2NSk7CgktLWF0bW9zcGhlcmUtYm9yZGVyOiByZ2JhKDE0MSwgMTMwLCA4NCwgMC4yNik7CgktLWF0bW9zcGhlcmUtc2lkZWJhcjogcmdiYSg5OSwgMTA0LCA3MiwgMC4wNTUpOwp9Cgpib2R5LmF0bW9zcGhlcmUtc3RyZWV0IHsKCS0tYXRtb3NwaGVyZS1wcmltYXJ5OiByZ2JhKDExMywgMTI4LCAxMzUsIDAuMDU1KTsKCS0tYXRtb3NwaGVyZS1zZWNvbmRhcnk6IHJnYmEoOTUsIDEwNCwgMTA4LCAwLjAzNSk7CgktLWF0bW9zcGhlcmUtYm9yZGVyOiByZ2JhKDEzNSwgMTQ3LCAxNTEsIDAuMik7CgktLWF0bW9zcGhlcmUtc2lkZWJhcjogcmdiYSgxMTIsIDEyNSwgMTMxLCAwLjA0KTsKfQoKYm9keS5hdG1vc3BoZXJlLWVsZW1lbnRhcnkgewoJLS1hdG1vc3BoZXJlLXByaW1hcnk6IHJnYmEoMTUxLCAxMzcsIDEwMSwgMC4wNik7CgktLWF0bW9zcGhlcmUtc2Vjb25kYXJ5OiByZ2JhKDEwMCwgMTE3LCAxMjEsIDAuMDQ1KTsKCS0tYXRtb3NwaGVyZS1ib3JkZXI6IHJnYmEoMTcxLCAxNTEsIDEwNCwgMC4yMik7CgktLWF0bW9zcGhlcmUtc2lkZWJhcjogcmdiYSgxNDUsIDEzMCwgOTQsIDAuMDQpOwp9Cgpib2R5LmF0bW9zcGhlcmUtbWlkZGxlLXNjaG9vbCB7CgktLWF0bW9zcGhlcmUtcHJpbWFyeTogcmdiYSg4NywgMTA2LCAxMTYsIDAuMDY1KTsKCS0tYXRtb3NwaGVyZS1zZWNvbmRhcnk6IHJnYmEoNjEsIDc4LCA4MiwgMC4wNDUpOwoJLS1hdG1vc3BoZXJlLWJvcmRlcjogcmdiYSgxMDMsIDEzMiwgMTQ0LCAwLjIzKTsKCS0tYXRtb3NwaGVyZS1zaWRlYmFyOiByZ2JhKDg3LCAxMDgsIDExNiwgMC4wNDgpOwp9Cgpib2R5LmF0bW9zcGhlcmUtb2ZmaWNlIHsKCS0tYXRtb3NwaGVyZS1wcmltYXJ5OiByZ2JhKDExMiwgMTIxLCA3NCwgMC4wNzUpOwoJLS1hdG1vc3BoZXJlLXNlY29uZGFyeTogcmdiYSgxNDIsIDExMSwgNTcsIDAuMDU1KTsKCS0tYXRtb3NwaGVyZS1ib3JkZXI6IHJnYmEoMTUxLCAxNTEsIDg3LCAwLjI3KTsKCS0tYXRtb3NwaGVyZS1zaWRlYmFyOiByZ2JhKDExMSwgMTIyLCA3NCwgMC4wNTUpOwp9Cgpib2R5LmF0bW9zcGhlcmUtZW5kaW5nIHsKCS0tYXRtb3NwaGVyZS1wcmltYXJ5OiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4xKTsKCS0tYXRtb3NwaGVyZS1zZWNvbmRhcnk6IHJnYmEoMTA1LCA3NywgNDYsIDAuMDU1KTsKCS0tYXRtb3NwaGVyZS1ib3JkZXI6IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjMxKTsKCS0tYXRtb3NwaGVyZS1zaWRlYmFyOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4wNik7Cn0KCmJvZHkuYXRtb3NwaGVyZS1maWVsZCAjcGFzc2FnZXMgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE0NWRlZywKCQkJcmdiYSgyNywgMzEsIDI4LCAwLjczKSwKCQkJcmdiYSgxNCwgMTgsIDE3LCAwLjg2KQoJCSk7Cn0KCmJvZHkuYXRtb3NwaGVyZS1ob3VzZSAjcGFzc2FnZXMgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE0NWRlZywKCQkJcmdiYSgyNCwgMzEsIDM1LCAwLjcyKSwKCQkJcmdiYSgxMywgMTcsIDIwLCAwLjg2KQoJCSk7Cn0KCmJvZHkuYXRtb3NwaGVyZS1vZmZpY2UgLnN0YXR1cy1wYXR0ZXJuIHsKCWJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDE1MSwgMTY0LCA5MSwgMC43Mik7Cn0KCmJvZHkuYXRtb3NwaGVyZS1vZmZpY2UgLnN0YXR1cy1wYXR0ZXJuIHN0cm9uZyB7Cgljb2xvcjogI2Q2ZGRhODsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFBPViBWSVNVQUwgSURFTlRJVElFUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCmJvZHkucG92LWtldmluIHsKCS0tcG92LWFjY2VudDogIzdkYTZiYTsKCS0tcG92LWFjY2VudC1icmlnaHQ6ICNjNWU0ZjE7CgktLXBvdi1hY2NlbnQtc29mdDogcmdiYSgxMjUsIDE2NiwgMTg2LCAwLjEyKTsKCS0tcG92LWJvcmRlcjogcmdiYSgxMjUsIDE2NiwgMTg2LCAwLjI4KTsKfQoKYm9keS5wb3YtcnlhbiB7CgktLXBvdi1hY2NlbnQ6ICNhNmFhNzM7CgktLXBvdi1hY2NlbnQtYnJpZ2h0OiAjZGRlMWE4OwoJLS1wb3YtYWNjZW50LXNvZnQ6IHJnYmEoMTY2LCAxNzAsIDExNSwgMC4xMik7CgktLXBvdi1ib3JkZXI6IHJnYmEoMTY2LCAxNzAsIDExNSwgMC4zKTsKfQoKYm9keS5wb3YtcnlhbiAuc3RhdHVzLXBhdHRlcm4gewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTEzNWRlZywKCQkJcmdiYSg1OSwgNjMsIDQyLCAwLjg4KSwKCQkJcmdiYSgzNiwgNDEsIDMxLCAwLjkpCgkJKTsKCWJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1wb3YtYWNjZW50KTsKfQoKYm9keS5wb3YtcnlhbiAuc3RhdHVzLXBhdHRlcm4gc3Ryb25nIHsKCWNvbG9yOiB2YXIoLS1wb3YtYWNjZW50LWJyaWdodCk7Cn0KCmJvZHkucG92LXJ5YW4gLmNsdWUtZGlzY292ZXJlZCB7Cglib3JkZXItbGVmdC1jb2xvcjogIzhmOTY2MTsKfQoKYm9keS5wb3Yta2V2aW4gLmludGVybmFsLXRob3VnaHQgewoJYm9yZGVyLWxlZnQtY29sb3I6ICM3NDg5OTM7Cn0KCmJvZHkucG92LXJ5YW4gLmludGVybmFsLXRob3VnaHQgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQlyZ2JhKDEzMCwgMTM0LCA4NywgMC4xKSwKCQkJcmdiYSgxMzAsIDEzNCwgODcsIDAuMDI1KQoJCSk7Cglib3JkZXItbGVmdC1jb2xvcjogIzg1ODk1ZTsKCWNvbG9yOiAjZDVkN2I4Owp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgUExBWUVSIERJU1BMQVkgU0VUVElOR1MKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpib2R5LnRleHQtY29tcGFjdCAucGFzc2FnZSB7Cglmb250LXNpemU6IDFlbTsKCWxpbmUtaGVpZ2h0OiAxLjU4Owp9Cgpib2R5LnRleHQtc3RhbmRhcmQgLnBhc3NhZ2UgewoJZm9udC1zaXplOiAxLjA4ZW07CglsaW5lLWhlaWdodDogMS42ODsKfQoKYm9keS50ZXh0LWxhcmdlIC5wYXNzYWdlIHsKCWZvbnQtc2l6ZTogMS4xOGVtOwoJbGluZS1oZWlnaHQ6IDEuNzI7Cn0KCmJvZHkud2lkdGgtbmFycm93ICNwYXNzYWdlcyB7CgltYXgtd2lkdGg6IDc2MHB4Owp9Cgpib2R5LndpZHRoLXN0YW5kYXJkICNwYXNzYWdlcyB7CgltYXgtd2lkdGg6IDkwMHB4Owp9Cgpib2R5LndpZHRoLXdpZGUgI3Bhc3NhZ2VzIHsKCW1heC13aWR0aDogMTA2MHB4Owp9Cgpib2R5LnNldHRpbmctbW90aW9uLW9mZiAucGFzc2FnZSwKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLmNsdWUtZGlzY292ZXJlZCwKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLmtldmluLXBhdHRlcm4gewoJYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7Cn0KCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5jaG9pY2UtbGlzdCBhLApib2R5LnNldHRpbmctbW90aW9uLW9mZiAuY2hvaWNlLWxpc3QgYTo6YmVmb3JlLApib2R5LnNldHRpbmctbW90aW9uLW9mZiAuY2hvaWNlLWxpc3QgYTo6YWZ0ZXIsCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5zdGF0dXMtcm93LApib2R5LnNldHRpbmctbW90aW9uLW9mZiAuc3RhcnQtYnV0dG9uIGEgewoJdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50Owp9Cgpib2R5LnNldHRpbmctbW90aW9uLW9mZiAuY2hvaWNlLWxpc3QgYTpob3ZlciwKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLmNob2ljZS1saXN0IGEubGluay1pbnRlcm5hbDpob3ZlciwKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLmNob2ljZS1saXN0IC5saW5rLWludGVybmFsOmhvdmVyLApib2R5LnNldHRpbmctbW90aW9uLW9mZiAuc3RhcnQtYnV0dG9uIGE6aG92ZXIgewoJdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBISUdILUNPTlRSQVNUIFNFVFRJTkcKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCB7CgktLWJsYWNrd29vZC10ZXh0OiAjZmZmZGY1OwotLWJsYWNrd29vZC1nb2xkOiAjZTNiODVlOwoJLS1ibGFja3dvb2QtZ29sZC1icmlnaHQ6ICNmZmU0YTM7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0ICNwYXNzYWdlcyB7CgliYWNrZ3JvdW5kOiByZ2JhKDEwLCAxMiwgMTMsIDAuOTYpOwoJYm9yZGVyLWNvbG9yOiByZ2JhKDI0MCwgMjExLCAxNTQsIDAuNTQpOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAucGFzc2FnZSwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLnBhc3NhZ2UgcCB7Cgljb2xvcjogI2ZmZmRmNTsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLnN0YXR1cy1sYWJlbCB7Cgljb2xvcjogI2Q0ZDRkMTsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLnN0YXR1cy12YWx1ZSB7Cgljb2xvcjogI2ZmZmZmZjsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmludGVybmFsLXRob3VnaHQgewoJY29sb3I6ICNlM2YyZmE7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5jbHVlLWRpc2NvdmVyZWQgewoJY29sb3I6ICNmZmYwYmY7Cglib3JkZXItY29sb3I6ICNkNWFjNTc7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5jaG9pY2UtbGlzdCBhLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuY2hvaWNlLWxpc3QgYS5saW5rLWludGVybmFsLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuY2hvaWNlLWxpc3QgLmxpbmstaW50ZXJuYWwgewoJY29sb3I6ICNmZmUxOWE7Cglib3JkZXItY29sb3I6IHJnYmEoMjQwLCAyMTEsIDE1NCwgMC42KTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNVR0FSQ1VCRSBESUFMT0cgT1ZFUkxBWQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiN1aS1vdmVybGF5IHsKCWJhY2tncm91bmQ6CgkJcmFkaWFsLWdyYWRpZW50KAoJCQljaXJjbGUgYXQgY2VudGVyLAoJCQlyZ2JhKDMwLCAzNSwgMzcsIDAuMTUpLAoJCQlyZ2JhKDAsIDAsIDAsIDAuOTYpCgkJKTsKCWJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpOwp9CgojdWktb3ZlcmxheS5vcGVuIHsKCW9wYWNpdHk6IDAuODg7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBHRU5FUkFMIERJQUxPRyBXSU5ET1cKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojdWktZGlhbG9nIHsKCWNvbG9yOiB2YXIoLS1ibGFja3dvb2QtdGV4dCk7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCWZpbHRlcjogZHJvcC1zaGFkb3coMCAyNHB4IDU1cHggcmdiYSgwLCAwLCAwLCAwLjcyKSk7Cn0KCiN1aS1kaWFsb2ctdGl0bGViYXIgewoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6CgkJcmFkaWFsLWdyYWRpZW50KAoJCQljaXJjbGUgYXQgNTAlIDAlLAoJCQlyZ2JhKDIwMSwgMTYxLCA5MCwgMC4xNiksCgkJCXRyYW5zcGFyZW50IDc1JQoJCSksCgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCSMyOTI2MWYsCgkJCSMxOTFiMWMKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuNCk7Cglib3JkZXItYm90dG9tOiAwOwoJYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7Cglib3gtc2hhZG93OgoJCWluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KSwKCQkwIC0xcHggMThweCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4wNSk7Cn0KCiN1aS1kaWFsb2ctdGl0bGUgewoJY29sb3I6ICNmMGQzOWE7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCWZvbnQtc2l6ZTogMS4yZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTsKCWxpbmUtaGVpZ2h0OiAxLjI1OwoJbWFyZ2luOiAwOwoJcGFkZGluZzogMC42NWVtIDMuNmVtIDAuNThlbTsKCXRleHQtYWxpZ246IGNlbnRlcjsKCXRleHQtc2hhZG93OgoJCTAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuODUpLAoJCTAgMCAxNHB4IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjE1KTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCiN1aS1kaWFsb2ctY2xvc2UgewoJYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyNSk7Cglib3JkZXI6IDA7Cglib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjE4KTsKCWNvbG9yOiAjY2RiYjkxOwoJaGVpZ2h0OiAxMDAlOwoJd2lkdGg6IDMuMmVtOwoJdHJhbnNpdGlvbjoKCQliYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsCgkJY29sb3IgMC4xNXMgZWFzZTsKfQoKI3VpLWRpYWxvZy1jbG9zZTpob3ZlciwKI3VpLWRpYWxvZy1jbG9zZTpmb2N1cyB7CgliYWNrZ3JvdW5kOiByZ2JhKDEyMiwgNDcsIDQ3LCAwLjcyKTsKCWJvcmRlci1jb2xvcjogcmdiYSgxOTAsIDkzLCA4MCwgMC42KTsKCWNvbG9yOiAjZmZmMGU4Owp9CgojdWktZGlhbG9nLWJvZHkgewoJYmFja2dyb3VuZDoKCQlyYWRpYWwtZ3JhZGllbnQoCgkJCWNpcmNsZSBhdCA1MCUgMCUsCgkJCXJnYmEoMjAxLCAxNjEsIDkwLCAwLjAzNSksCgkJCXRyYW5zcGFyZW50IDI1ZW0KCQkpLAoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTQ1ZGVnLAoJCQkjMTcxYzFmLAoJCQkjMGYxMzE1CgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjM0KTsKCWJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4OwoJYm94LXNoYWRvdzoKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMjUpLAoJCWluc2V0IDAgMCAzNXB4IHJnYmEoMCwgMCwgMCwgMC4yMik7Cgljb2xvcjogI2U4ZTRkOTsKCWZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwoJbGluZS1oZWlnaHQ6IDEuNDsKCXBhZGRpbmc6IDFlbTsKCXNjcm9sbGJhci1jb2xvcjogIzY2NTUzNiAjMTExNTE4OwoJc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwp9CgojdWktZGlhbG9nLWJvZHkgaDIgewoJY29sb3I6ICNkOWJkODA7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wNmVtOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgR0VORVJBTCBESUFMT0cgQlVUVE9OUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiN1aS1kaWFsb2ctYm9keSBidXR0b24gewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSg2NywgNjksIDY0LCAwLjk2KSwKCQkJcmdiYSg0MCwgNDQsIDQzLCAwLjk4KQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4zNSk7Cglib3JkZXItcmFkaXVzOiA0cHg7Cglib3gtc2hhZG93OgoJCTAgNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjI1KSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7Cgljb2xvcjogI2UwYzQ4NDsKCWZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwoJdHJhbnNpdGlvbjoKCQliYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsCgkJYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsCgkJYm94LXNoYWRvdyAwLjE1cyBlYXNlLAoJCWNvbG9yIDAuMTVzIGVhc2U7Cn0KCiN1aS1kaWFsb2ctYm9keSBidXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIsCiN1aS1kaWFsb2ctYm9keSBidXR0b246bm90KDpkaXNhYmxlZCk6Zm9jdXMgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSg5MSwgODAsIDU1LCAwLjk4KSwKCQkJcmdiYSg1NCwgNTEsIDQzLCAwLjk4KQoJCSk7Cglib3JkZXItY29sb3I6ICNjOWExNWE7Cglib3gtc2hhZG93OgoJCTAgNnB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjMpLAoJCTAgMCAxMnB4IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjA4KTsKCWNvbG9yOiAjZmZmMGI4OwoJb3V0bGluZTogbm9uZTsKfQoKI3VpLWRpYWxvZy1ib2R5IGJ1dHRvbjpkaXNhYmxlZCB7CgliYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDE4KTsKCWJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTsKCWNvbG9yOiAjNWU2MjYzOwoJb3BhY2l0eTogMC43Owp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU0FWRSBESUFMT0cKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgewoJcGFkZGluZzogMCAwIDFweDsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzID4gaDIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQlyZ2JhKDIwMSwgMTYxLCA5MCwgMC4xMyksCgkJCXJnYmEoMjAxLCAxNjEsIDkwLCAwLjAyNSkKCQkpOwoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjIpOwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjE3KTsKCWNvbG9yOiAjZDhiZDgyOwoJZm9udC1zaXplOiAwLjgyZW07CglsZXR0ZXItc3BhY2luZzogMC4xMWVtOwoJbWFyZ2luOiAwOwoJcGFkZGluZzogMC40OGVtIDAuN2VtOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKCWJvcmRlci10b3AtY29sb3I6IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjE2KTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRhYmxlIHsKCWJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7Cglib3JkZXItc3BhY2luZzogMDsKCXdpZHRoOiAxMDAlOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgdHIgewoJYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxMik7Cgl0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTRzIGVhc2U7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyB0cjpudGgtY2hpbGQoZXZlbikgewoJYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyMik7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyB0cjpob3ZlciB7CgliYWNrZ3JvdW5kOiByZ2JhKDIwMSwgMTYxLCA5MCwgMC4wNTUpOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgdHI6bm90KDpmaXJzdC1jaGlsZCkgewoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNjUpOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgdGQgewoJcGFkZGluZzogMC40OGVtIDAuNGVtOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgdGQ6bnRoLWNoaWxkKDMpIHsKCWNvbG9yOiAjZTRkZWNlOwoJbGluZS1oZWlnaHQ6IDEuMjU7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyAuZW1wdHkgewoJY29sb3I6ICM3NzdkN2Y7Cglmb250LXN0eWxlOiBpdGFsaWM7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyAuZGV0YWlscyB7Cgljb2xvcjogIzlmYTRhMTsKCWZvbnQtc2l6ZTogMC43MmVtOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsKCW1hcmdpbi1sZWZ0OiAwLjJlbTsKCW1hcmdpbi10b3A6IDAuMTJlbTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzICNzYXZlcy1saXN0IGJ1dHRvbiB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDYwLCA2NCwgNjIsIDAuOTQpLAoJCQlyZ2JhKDM3LCA0MSwgNDAsIDAuOTYpCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjI4KTsKCWJvcmRlci1yYWRpdXM6IDRweDsKCWNvbG9yOiAjZDhjMjhlOwoJaGVpZ2h0OiAyLjM1ZW07Cgl3aWR0aDogMi4zNWVtOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgI3NhdmVzLWxpc3QgYnV0dG9uLnNhdmU6bm90KDpkaXNhYmxlZCkgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSg3NSwgNjksIDQ5LCAwLjk1KSwKCQkJcmdiYSg0OCwgNDYsIDM4LCAwLjk4KQoJCSk7Cglib3JkZXItY29sb3I6IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjU0KTsKCWNvbG9yOiAjZjBkMzlhOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgI3NhdmVzLWxpc3QgYnV0dG9uLnNhdmU6bm90KDpkaXNhYmxlZCk6aG92ZXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJIzc5NjQzYywKCQkJIzU3NDkyZgoJCSk7Cglib3JkZXItY29sb3I6ICNlMGJjNzI7Cgljb2xvcjogI2ZmZjRjZjsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzICNzYXZlcy1saXN0IGJ1dHRvbi5sb2FkOm5vdCg6ZGlzYWJsZWQpIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoNTMsIDc2LCA4MiwgMC45NiksCgkJCXJnYmEoMzUsIDUyLCA1NywgMC45OCkKCQkpOwoJYm9yZGVyLWNvbG9yOiByZ2JhKDEyNSwgMTY2LCAxODYsIDAuNTgpOwoJY29sb3I6ICNjZWUzZWI7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyAjc2F2ZXMtbGlzdCBidXR0b24ubG9hZDpub3QoOmRpc2FibGVkKTpob3ZlciB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjNDk2ZDc4LAoJCQkjMzY1NDVkCgkJKTsKCWJvcmRlci1jb2xvcjogIzkxYmRjZjsKCWNvbG9yOiAjZWZmYWZmOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgI3NhdmVzLWxpc3QgYnV0dG9uLmRlbGV0ZTpub3QoOmRpc2FibGVkKSwKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIGJ1dHRvbltpZD0ic2F2ZXMtY2xlYXIiXTpub3QoOmRpc2FibGVkKSB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDExMiwgNDgsIDQ0LCAwLjk2KSwKCQkJcmdiYSg3NiwgMzUsIDMzLCAwLjk4KQoJCSk7Cglib3JkZXItY29sb3I6IHJnYmEoMTc3LCA4MywgNzQsIDAuNyk7Cgljb2xvcjogI2YwYzRiYjsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzICNzYXZlcy1saXN0IGJ1dHRvbi5kZWxldGU6bm90KDpkaXNhYmxlZCk6aG92ZXIsCiN1aS1kaWFsb2ctYm9keS5zYXZlcyBidXR0b25baWQ9InNhdmVzLWNsZWFyIl06bm90KDpkaXNhYmxlZCk6aG92ZXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJIzkxM2YzOCwKCQkJIzY4MmYyYgoJCSk7Cglib3JkZXItY29sb3I6ICNkMDZkNjA7Cgljb2xvcjogI2ZmZjBlYTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIC5idXR0b25zIHsKCWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xMik7Cglib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDkpOwoJbWFyZ2luOiAwOwoJcGFkZGluZzogMC40MmVtOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgLmJ1dHRvbnMgbGkgewoJcGFkZGluZzogMC4xOGVtOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgLmJ1dHRvbnMgYnV0dG9uIHsKCW1pbi1oZWlnaHQ6IDIuM2VtOwoJcGFkZGluZzogMC40MmVtIDAuNjhlbTsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNFVFRJTkdTIERJQUxPRwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyB7CglwYWRkaW5nOiAxZW07Cn0KCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBkaXZbaWR8PSJzZXR0aW5nLWJvZHkiXSArIGRpdltpZHw9InNldHRpbmctYm9keSJdIHsKCWJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDcpOwoJbWFyZ2luLXRvcDogMC43NWVtOwoJcGFkZGluZy10b3A6IDAuNzVlbTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIFtpZHw9InNldHRpbmctbGFiZWwiXSB7Cgljb2xvcjogI2U0ZDViNDsKCWZvbnQtd2VpZ2h0OiA3MDA7Cn0KCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBwW2lkfD0ic2V0dGluZy1kZXNjIl0sCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBwW2lkfD0iaGVhZGVyLWRlc2MiXSB7Cgljb2xvcjogI2FlYjRiNTsKCWxpbmUtaGVpZ2h0OiAxLjM7CgltYXJnaW4tdG9wOiAwLjI1ZW07Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBSRVNUQVJUIEFORCBBTEVSVCBESUFMT0dTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKI3VpLWRpYWxvZy1ib2R5LnJlc3RhcnQsCiN1aS1kaWFsb2ctYm9keS5hbGVydCB7CglwYWRkaW5nOiAxZW07Cn0KCiN1aS1kaWFsb2ctYm9keS5yZXN0YXJ0IHAsCiN1aS1kaWFsb2ctYm9keS5hbGVydCBwIHsKCWNvbG9yOiAjZGRkN2M4OwoJbWFyZ2luOiAwIDAgMC44ZW07Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBFTkQtT0YtQ1VSUkVOVC1CVUlMRCBTQ1JFRU4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IkVwaXNvZGUgMSBDdXJyZW50IEVuZGluZyJdIC5jaGFwdGVyLWNhcmQgewoJYmFja2dyb3VuZDoKCQlyYWRpYWwtZ3JhZGllbnQoCgkJCWNpcmNsZSBhdCA1MCUgMTAlLAoJCQlyZ2JhKDIwMSwgMTYxLCA5MCwgMC4xNCksCgkJCXRyYW5zcGFyZW50IDYwJQoJCSksCgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoNTgsIDQ2LCAyOCwgMC41NCksCgkJCXJnYmEoMjEsIDIxLCAxOSwgMC43NikKCQkpOwp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IkVwaXNvZGUgMSBDdXJyZW50IEVuZGluZyJdIC5jaG9pY2UtbGlzdCB7CgltYXgtd2lkdGg6IDQyMHB4OwoJbWFyZ2luLWxlZnQ6IGF1dG87CgltYXJnaW4tcmlnaHQ6IGF1dG87Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBBQ0NFU1NJQkxFIEtFWUJPQVJEIEZPQ1VTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKYTpmb2N1cy12aXNpYmxlLApidXR0b246Zm9jdXMtdmlzaWJsZSB7CglvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYmxhY2t3b29kLWdvbGQtYnJpZ2h0KTsKCW91dGxpbmUtb2Zmc2V0OiAzcHg7Cn0KCi5jaG9pY2UtbGlzdCBhOmZvY3VzLXZpc2libGUsCi5jaG9pY2UtbGlzdCBhLmxpbmstaW50ZXJuYWw6Zm9jdXMtdmlzaWJsZSwKLmNob2ljZS1saXN0IC5saW5rLWludGVybmFsOmZvY3VzLXZpc2libGUgewoJYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFja3dvb2QtZ29sZC1icmlnaHQpOwoJYm94LXNoYWRvdzoKCQkwIDAgMCAycHggcmdiYSgyMzksIDIxMSwgMTU0LCAwLjIpLAoJCTAgN3B4IDE3cHggcmdiYSgwLCAwLCAwLCAwLjMpOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgVEFCTEVUIEFORCBNT0JJTEUKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewoJI3N0b3J5IHsKCQlwYWRkaW5nLXRvcDogMC42ZW07Cgl9CgoJI3Bhc3NhZ2VzIHsKCQltYXgtd2lkdGg6IG5vbmU7CgkJbWFyZ2luOiAwIDAuNTVlbTsKCQlwYWRkaW5nOiAxLjNlbSAxZW07CgkJYm9yZGVyLXJhZGl1czogN3B4OwoJfQoKCWJvZHkud2lkdGgtbmFycm93ICNwYXNzYWdlcywKCWJvZHkud2lkdGgtc3RhbmRhcmQgI3Bhc3NhZ2VzLAoJYm9keS53aWR0aC13aWRlICNwYXNzYWdlcyB7CgkJbWF4LXdpZHRoOiBub25lOwoJfQoKCS5wYXNzYWdlIHsKCQlmb250LXNpemU6IDFlbTsKCQlsaW5lLWhlaWdodDogMS41ODsKCX0KCglib2R5LnRleHQtY29tcGFjdCAucGFzc2FnZSB7CgkJZm9udC1zaXplOiAwLjk2ZW07CgkJbGluZS1oZWlnaHQ6IDEuNTU7Cgl9CgoJYm9keS50ZXh0LXN0YW5kYXJkIC5wYXNzYWdlIHsKCQlmb250LXNpemU6IDFlbTsKCQlsaW5lLWhlaWdodDogMS41ODsKCX0KCglib2R5LnRleHQtbGFyZ2UgLnBhc3NhZ2UgewoJCWZvbnQtc2l6ZTogMS4xZW07CgkJbGluZS1oZWlnaHQ6IDEuNjU7Cgl9CgoJLnRpdGxlLXNjcmVlbiB7CgkJcGFkZGluZzogMC43NWVtIDAuNWVtOwoJCWJvcmRlci1yYWRpdXM6IDdweDsKCX0KCgkuZ2FtZS10aXRsZSB7CgkJZm9udC1zaXplOiAxLjllbTsKCX0KCgkudGl0bGUtc3ltYm9sIHsKCQlmb250LXNpemU6IDEuNzVlbTsKCX0KCgkuZXBpc29kZS10aXRsZSB7CgkJZm9udC1zaXplOiAxLjg1ZW07Cgl9CgoJLmNoYXB0ZXItY2FyZCB7CgkJcGFkZGluZzogMS4yZW0gMC44ZW07Cgl9CgoJLnBvdi1uYW1lIHsKCQlmb250LXNpemU6IDEuNzVlbTsKCX0KCgkucGFzc2FnZSBoMiB7CgkJZm9udC1zaXplOiAxLjQyZW07Cgl9CgoJLmNob2ljZS1saXN0OjpiZWZvcmUgewoJCWRpc3BsYXk6IG5vbmU7Cgl9CgoJLmNob2ljZS1saXN0IGEsCgkuY2hvaWNlLWxpc3QgYS5saW5rLWludGVybmFsLAoJLmNob2ljZS1saXN0IC5saW5rLWludGVybmFsIHsKCQlwYWRkaW5nLXRvcDogMC43NWVtOwoJCXBhZGRpbmctYm90dG9tOiAwLjc1ZW07Cgl9CgoJLmNob2ljZS1saXN0IGE6aG92ZXIsCgkuY2hvaWNlLWxpc3QgYS5saW5rLWludGVybmFsOmhvdmVyLAoJLmNob2ljZS1saXN0IC5saW5rLWludGVybmFsOmhvdmVyIHsKCQl0cmFuc2Zvcm06IG5vbmU7Cgl9CgoJLnN0YXR1cy1yb3c6aG92ZXIgewoJCXBhZGRpbmctbGVmdDogMDsKCQlwYWRkaW5nLXJpZ2h0OiAwOwoJfQoKCS5jaGFwdGVyLXN1bW1hcnktY2x1ZXMgbGkgewoJCXBhZGRpbmctbGVmdDogMS4wOGVtOwoJfQp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU01BTEwtU0NSRUVOIERJQUxPR1MKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgewoJI3VpLWRpYWxvZyB7CgkJbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMjBweCk7Cgl9CgoJI3VpLWRpYWxvZy10aXRsZSB7CgkJZm9udC1zaXplOiAxZW07CgkJcGFkZGluZy10b3A6IDAuN2VtOwoJCXBhZGRpbmctYm90dG9tOiAwLjY1ZW07Cgl9CgoJI3VpLWRpYWxvZy1ib2R5IHsKCQltaW4td2lkdGg6IDA7Cgl9CgoJI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRkIHsKCQlwYWRkaW5nOiAwLjQyZW0gMC4yNWVtOwoJfQoKCSN1aS1kaWFsb2ctYm9keS5zYXZlcyAjc2F2ZXMtbGlzdCBidXR0b24gewoJCWhlaWdodDogMi40NWVtOwoJCXdpZHRoOiAyLjQ1ZW07Cgl9CgoJI3VpLWRpYWxvZy1ib2R5LnNhdmVzIC5idXR0b25zIGxpIHsKCQlkaXNwbGF5OiBibG9jazsKCQlwYWRkaW5nOiAwLjE2ZW07Cgl9CgoJI3VpLWRpYWxvZy1ib2R5LnNhdmVzIC5idXR0b25zIGJ1dHRvbiB7CgkJYm94LXNpemluZzogYm9yZGVyLWJveDsKCQltYXJnaW46IDAgIWltcG9ydGFudDsKCQl3aWR0aDogMTAwJTsKCX0KCgkjdWktZGlhbG9nLWJvZHkuc2F2ZXMgLmJ1dHRvbnMuc2xvdHMgPiBsaTpsYXN0LWNoaWxkIHsKCQlmbG9hdDogbm9uZTsKCX0KCgkuc3RhdHVzLXBhbmVsIHsKCQlmb250LXNpemU6IDAuNzllbTsKCX0KfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFJFRFVDRUQgTU9USU9OCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKCWJvZHksCgkjcGFzc2FnZXMsCgkjdWktYmFyLAoJI3VpLW92ZXJsYXksCgkjdWktZGlhbG9nLAoJI3VpLWRpYWxvZyBidXR0b24sCgkjdWktZGlhbG9nLWJvZHkuc2F2ZXMgdHIsCgkuY2hvaWNlLWxpc3QgYSwKCS5jaG9pY2UtbGlzdCBhOjpiZWZvcmUsCgkuY2hvaWNlLWxpc3QgYTo6YWZ0ZXIsCgkuc3RhcnQtYnV0dG9uIGEsCgkuc3RhdHVzLXJvdywKCSNtZW51IGxpIGEgewoJCXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKCX0KCgkucGFzc2FnZSwKCS5jbHVlLWRpc2NvdmVyZWQsCgkua2V2aW4tcGF0dGVybiB7CgkJYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7Cgl9CgoJLmNob2ljZS1saXN0IGE6aG92ZXIsCgkuY2hvaWNlLWxpc3QgYS5saW5rLWludGVybmFsOmhvdmVyLAoJLmNob2ljZS1saXN0IC5saW5rLWludGVybmFsOmhvdmVyLAoJLnN0YXJ0LWJ1dHRvbiBhOmhvdmVyIHsKCQl0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKCX0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTk9WRUwgQkFOTkVSCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLm5vdmVsLWJhbm5lciB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglvdmVyZmxvdzogaGlkZGVuOwoJbWF4LXdpZHRoOiAxMDAlOwoJbWFyZ2luOiAwIGF1dG8gMS4xNWVtOwoJYmFja2dyb3VuZDogIzBiMGUxMDsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjM4KTsKCWJvcmRlci1yYWRpdXM6IDhweDsKCWJveC1zaGFkb3c6CgkJMCAxOHB4IDQycHggcmdiYSgwLCAwLCAwLCAwLjUyKSwKCQkwIDAgMjRweCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4wOCksCgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpOwp9Cgoubm92ZWwtYmFubmVyOjphZnRlciB7Cgljb250ZW50OiAiIjsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWluc2V0OiAwOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzNSk7Cglib3JkZXItcmFkaXVzOiA3cHg7Cglib3gtc2hhZG93OiBpbnNldCAwIC0yMHB4IDM1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTsKCXBvaW50ZXItZXZlbnRzOiBub25lOwp9Cgoubm92ZWwtYmFubmVyIGltZyB7CglkaXNwbGF5OiBibG9jazsKCXdpZHRoOiAxMDAlOwoJaGVpZ2h0OiBhdXRvOwoJbWFyZ2luOiAwOwoJcGFkZGluZzogMDsKCWJvcmRlcjogMDsKfQoKLnRpdGxlLXNjcmVlbjpoYXMoLm5vdmVsLWJhbm5lcikgewoJbWF4LXdpZHRoOiAxMDAwcHg7CglwYWRkaW5nOiAxZW07Cn0KCi50aXRsZS1zY3JlZW46aGFzKC5ub3ZlbC1iYW5uZXIpIC50aXRsZS1kZXNjcmlwdGlvbiB7CgltYXgtd2lkdGg6IDY4MHB4Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewoJLm5vdmVsLWJhbm5lciB7CgkJbWFyZ2luLWJvdHRvbTogMC45ZW07CgkJYm9yZGVyLXJhZGl1czogNnB4OwoJfQoKCS5ub3ZlbC1iYW5uZXI6OmFmdGVyIHsKCQlib3JkZXItcmFkaXVzOiA1cHg7Cgl9CgoJLnRpdGxlLXNjcmVlbjpoYXMoLm5vdmVsLWJhbm5lcikgewoJCXBhZGRpbmc6IDAuNjVlbTsKCX0KfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNJREVCQVIgQk9PSyBQUk9NT1RJT04KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYm9vay1zaWRlYmFyLWN0YSB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglvdmVyZmxvdzogaGlkZGVuOwoJbWFyZ2luOiAwLjc1ZW0gMCAwOwoJcGFkZGluZzogMC40OGVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSgzOCwgNDUsIDQ2LCAwLjk0KSwKCQkJcmdiYSgyMSwgMjcsIDI5LCAwLjk2KQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4yOCk7Cglib3JkZXItcmFkaXVzOiA3cHg7Cglib3gtc2hhZG93OgoJCTAgOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjI4KSwKCQlpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMzUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm9vay1zaWRlYmFyLWhlYWRpbmcgewoJY29sb3I6ICNlMWM0ODE7Cglmb250LXNpemU6IDAuOTVlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMC4wNGVtOwoJbGluZS1oZWlnaHQ6IDEuMjU7CgltYXJnaW46IDAuMWVtIDAgMC41NWVtOwoJdGV4dC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNzUpOwp9Ci5ib29rLXNpZGViYXItaW1hZ2UtbGluayB7CglkaXNwbGF5OiBibG9jazsKCXdpZHRoOiAxOTVweDsKCW1heC13aWR0aDogMTk1cHg7CgltYXJnaW46IDAgYXV0bzsKCWJvcmRlcjogMCAhaW1wb3J0YW50OwoJbGluZS1oZWlnaHQ6IDA7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKCXRyYW5zaXRpb246CgkJZmlsdGVyIDAuMTZzIGVhc2UsCgkJdHJhbnNmb3JtIDAuMTZzIGVhc2U7Cn0KCi5ib29rLXNpZGViYXItaW1hZ2UtbGluayBpbWcuYm9vay1zaWRlYmFyLWltYWdlIHsKCWRpc3BsYXk6IGJsb2NrOwoJd2lkdGg6IDE5NXB4OwoJbWF4LXdpZHRoOiAxOTVweDsKCWhlaWdodDogYXV0bzsKCW1heC1oZWlnaHQ6IG5vbmU7CgltYXJnaW46IDAgYXV0bzsKCXBhZGRpbmc6IDA7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgMTYxLCA5MCwgMC40Mik7Cglib3JkZXItcmFkaXVzOiA0cHg7Cglib3gtc2hhZG93OgoJCTAgN3B4IDE3cHggcmdiYSgwLCAwLCAwLCAwLjQ4KSwKCQkwIDAgMTRweCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4wOSk7CglvYmplY3QtZml0OiBjb250YWluOwp9CgouYm9vay1zaWRlYmFyLWltYWdlLWxpbms6aG92ZXIgewoJYm9yZGVyOiAwICFpbXBvcnRhbnQ7CglmaWx0ZXI6IGJyaWdodG5lc3MoMS4wOCk7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7Cn0KCi5ib29rLXNpZGViYXItY29weSB7Cgljb2xvcjogI2Q1Y2RiOTsKCWZvbnQtc2l6ZTogMC45NWVtOwoJZm9udC13ZWlnaHQ6IDQwMDsKCWxpbmUtaGVpZ2h0OiAxLjM1OwoJbWFyZ2luOiAwLjU1ZW0gMDsKfQoKLmJvb2stc2lkZWJhci1idXR0b24gewoJZGlzcGxheTogYmxvY2s7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJd2lkdGg6IDEwMCU7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjNzE1YTMyLAoJCQkjNTAzZjI3CgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjYyKSAhaW1wb3J0YW50OwoJYm9yZGVyLXJhZGl1czogNHB4OwoJYm94LXNoYWRvdzoKCQkwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yOCksCgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpOwoJY29sb3I6ICNmZmYwYzUgIWltcG9ydGFudDsKCWZvbnQtc2l6ZTogMC43MmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxLjI7CgltYXJnaW46IDAuMjVlbSAwIDAuMWVtOwoJcGFkZGluZzogMC41ZW0gMC40ZW07Cgl0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKCXRyYW5zaXRpb246CgkJYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLAoJCWJvcmRlci1jb2xvciAwLjE1cyBlYXNlLAoJCWNvbG9yIDAuMTVzIGVhc2UsCgkJdHJhbnNmb3JtIDAuMTVzIGVhc2U7Cn0KCi5ib29rLXNpZGViYXItYnV0dG9uOmhvdmVyIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCSM4ODZjM2EsCgkJCSM2MjRlMmQKCQkpOwoJYm9yZGVyLWNvbG9yOiAjZTBiZDc4ICFpbXBvcnRhbnQ7Cgljb2xvcjogI2ZmZjhkZiAhaW1wb3J0YW50OwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwp9CgphLmJvb2stc2lkZWJhci1pbWFnZS1saW5rLmxpbmstZXh0ZXJuYWw6OmFmdGVyLAphLmJvb2stc2lkZWJhci1pbWFnZS1saW5rOjphZnRlciwKYS5ib29rLXNpZGViYXItYnV0dG9uLmxpbmstZXh0ZXJuYWw6OmFmdGVyLAphLmJvb2stc2lkZWJhci1idXR0b246OmFmdGVyIHsKCWRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKCWNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKCW1hcmdpbjogMCAhaW1wb3J0YW50OwoJZm9udC1zaXplOiAwICFpbXBvcnRhbnQ7Cn0KCi5ib29rLXNpZGViYXItY3RhICsgI21lbnUgewoJbWFyZ2luLXRvcDogMC44NWVtICFpbXBvcnRhbnQ7Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CgkuYm9vay1zaWRlYmFyLWltYWdlLWxpbmssCgkuYm9vay1zaWRlYmFyLWJ1dHRvbiB7CgkJdHJhbnNpdGlvbjogbm9uZTsKCX0KCgkuYm9vay1zaWRlYmFyLWltYWdlLWxpbms6aG92ZXIsCgkuYm9vay1zaWRlYmFyLWJ1dHRvbjpob3ZlciB7CgkJdHJhbnNmb3JtOiBub25lOwoJfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBLSU1NWSBJTlZFU1RJR0FUSU9OIFNUQVRVUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCmJvZHkucG92LWtpbW15IHsKCS0tcG92LWFjY2VudDogI2I1OGI5ZDsKCS0tcG92LWFjY2VudC1icmlnaHQ6ICNlZmQxZGM7CgktLXBvdi1hY2NlbnQtc29mdDogcmdiYSgxODEsIDEzOSwgMTU3LCAwLjEzKTsKCS0tcG92LWJvcmRlcjogcmdiYSgxODEsIDEzOSwgMTU3LCAwLjMpOwp9Cgpib2R5LnBvdi1raW1teSAuc3RhdHVzLXBhdHRlcm4sCmJvZHkucG92LWtpbW15IC5raW1teS1zdGF0dXMgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTEzNWRlZywKCQkJcmdiYSg2NywgNDgsIDU4LCAwLjg4KSwKCQkJcmdiYSg0MSwgMzMsIDM5LCAwLjkpCgkJKTsKCWJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1wb3YtYWNjZW50KTsKCWNvbG9yOiAjZTNjY2Q1Owp9Cgpib2R5LnBvdi1raW1teSAuc3RhdHVzLXBhdHRlcm4gc3Ryb25nLApib2R5LnBvdi1raW1teSAua2ltbXktc3RhdHVzIHN0cm9uZyB7Cgljb2xvcjogdmFyKC0tcG92LWFjY2VudC1icmlnaHQpOwp9Cgpib2R5LnBvdi1raW1teSAuY2x1ZS1kaXNjb3ZlcmVkIHsKCWJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1wb3YtYWNjZW50KTsKfQoKYm9keS5wb3Yta2ltbXkgLmludGVybmFsLXRob3VnaHQgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQlyZ2JhKDE0NSwgMTA0LCAxMjMsIDAuMTEpLAoJCQlyZ2JhKDE0NSwgMTA0LCAxMjMsIDAuMDI1KQoJCSk7Cglib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tcG92LWFjY2VudCk7Cgljb2xvcjogI2RkY2JkMzsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNDT09UIFZJU1VBTCBJREVOVElUWQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCmJvZHkucG92LXNjb290IHsKCS0tcG92LWFjY2VudDogI2I3OGE2MzsKCS0tcG92LWFjY2VudC1icmlnaHQ6ICNmMGM4OWY7CgktLXBvdi1hY2NlbnQtc29mdDogcmdiYSgxODMsIDEzOCwgOTksIDAuMTMpOwoJLS1wb3YtYm9yZGVyOiByZ2JhKDE4MywgMTM4LCA5OSwgMC4zKTsKfQoKYm9keS5wb3Ytc2Nvb3QgLnN0YXR1cy1wYXR0ZXJuLApib2R5LnBvdi1zY29vdCAuc2Nvb3Qtc3RhdHVzIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxMzVkZWcsCgkJCXJnYmEoNzIsIDU0LCA0MiwgMC44OCksCgkJCXJnYmEoNDMsIDM1LCAzMCwgMC45KQoJCSk7Cglib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tcG92LWFjY2VudCk7Cgljb2xvcjogI2U0ZDJjMjsKfQoKYm9keS5wb3Ytc2Nvb3QgLnN0YXR1cy1wYXR0ZXJuIHN0cm9uZywKYm9keS5wb3Ytc2Nvb3QgLnNjb290LXN0YXR1cyBzdHJvbmcgewoJY29sb3I6IHZhcigtLXBvdi1hY2NlbnQtYnJpZ2h0KTsKfQoKYm9keS5wb3Ytc2Nvb3QgLmNsdWUtZGlzY292ZXJlZCB7Cglib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tcG92LWFjY2VudCk7Cn0KCmJvZHkucG92LXNjb290IC5pbnRlcm5hbC10aG91Z2h0IHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJcmdiYSgxNTEsIDExMSwgNzgsIDAuMTEpLAoJCQlyZ2JhKDE1MSwgMTExLCA3OCwgMC4wMjUpCgkJKTsKCWJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1wb3YtYWNjZW50KTsKCWNvbG9yOiAjZTBkMGMyOwp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBCVUlMRCBJTkZPUk1BVElPTiBQQU5FTAogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5idWlsZC1pbmZvLXBhbmVsIHsKCW92ZXJmbG93OiBoaWRkZW47CgltYXJnaW46IDAuNzVlbSAwIDA7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQlyZ2JhKDM4LCAzNiwgMzAsIDAuOTcpLAoJCQlyZ2JhKDIwLCAyMiwgMjEsIDAuOTgpCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjQyKTsKCWJvcmRlci1yYWRpdXM6IDdweDsKCWJveC1zaGFkb3c6CgkJMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMyksCgkJMCAwIDE0cHggcmdiYSgyMDEsIDE2MSwgOTAsIDAuMDQpLAoJCWluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzNSk7Cglmb250LXNpemU6IDAuOGVtOwp9CgouYnVpbGQtaW5mby10aXRsZSB7CglkaXNwbGF5OiBmbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWdhcDogMC40NWVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQlyZ2JhKDEwNSwgNzksIDM5LCAwLjcyKSwKCQkJcmdiYSg1NywgNDcsIDMxLCAwLjI4KQoJCSk7Cglib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuMyk7Cgljb2xvcjogI2UwYmQ3ODsKCWZvbnQtc2l6ZTogMC44NGVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjFlbTsKCWxpbmUtaGVpZ2h0OiAxLjI7CglwYWRkaW5nOiAwLjU4ZW0gMC42NWVtOwoJdGV4dC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuOCk7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYnVpbGQtaW5mby1pY29uIHsKCWRpc3BsYXk6IGlubGluZS1mbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJYm94LXNpemluZzogYm9yZGVyLWJveDsKCW1pbi13aWR0aDogMS43NWVtOwoJaGVpZ2h0OiAxLjU1ZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjYjI4YTQ1LAoJCQkjNzY1YjMxCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCAyMTEsIDE1NCwgMC42Mik7Cglib3JkZXItcmFkaXVzOiAzcHg7Cglib3gtc2hhZG93OgoJCTAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMzIpLAoJCWluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTsKCWNvbG9yOiAjMTcxMzBkOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC45MWVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAtMC4wOGVtOwoJbGluZS1oZWlnaHQ6IDE7CglwYWRkaW5nOiAwIDAuMmVtOwoJdGV4dC1zaGFkb3c6IG5vbmU7Cn0KCi5idWlsZC1pbmZvLXJvdyB7CglkaXNwbGF5OiBmbGV4OwoJYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CglqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CglnYXA6IDAuNjVlbTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDcpOwoJcGFkZGluZzogMC41MmVtIDAuNjhlbTsKfQoKLmJ1aWxkLWluZm8tcm93Om50aC1jaGlsZChvZGQpIHsKCWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMTIpOwp9CgouYnVpbGQtaW5mby1sYWJlbCB7CglmbGV4OiAwIDAgYXV0bzsKCWNvbG9yOiAjYWFhMThjOwoJZm9udC1zaXplOiAwLjkyZW07CglsaW5lLWhlaWdodDogMS4yNTsKCXRleHQtYWxpZ246IGxlZnQ7Cn0KCi5idWlsZC1pbmZvLXZhbHVlIHsKCWNvbG9yOiAjZWVlNmQzOwoJZm9udC1zaXplOiAwLjkyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDEuMjU7Cgl0ZXh0LWFsaWduOiByaWdodDsKfQoKLmJ1aWxkLWluZm8tbGluayB7CglwYWRkaW5nOiAwOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYnVpbGQtaW5mby1saW5rIGEsCi5idWlsZC1pbmZvLWxpbmsgYS5saW5rLWludGVybmFsIHsKCWRpc3BsYXk6IGJsb2NrOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSg5MywgNzIsIDM5LCAwLjgyKSwKCQkJcmdiYSg1OSwgNDgsIDMxLCAwLjkpCgkJKTsKCWJvcmRlcjogMDsKCWNvbG9yOiAjZjFkNjk4OwoJZm9udC1zaXplOiAwLjkyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDEuMjU7CglwYWRkaW5nOiAwLjYyZW0gMC41ZW07Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cgl0ZXh0LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC43OCk7Cgl0cmFuc2l0aW9uOgoJCWJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwKCQljb2xvciAwLjE1cyBlYXNlOwp9CgouYnVpbGQtaW5mby1saW5rIGE6aG92ZXIsCi5idWlsZC1pbmZvLWxpbmsgYS5saW5rLWludGVybmFsOmhvdmVyIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCSM4MDY1MzYsCgkJCSM1ZjRjMmMKCQkpOwoJYm9yZGVyOiAwOwoJY29sb3I6ICNmZmY1ZDU7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi5idWlsZC1pbmZvLXBhbmVsICsgI21lbnUgewoJbWFyZ2luLXRvcDogMC44NWVtICFpbXBvcnRhbnQ7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CgkuYnVpbGQtaW5mby1wYW5lbCB7CgkJZm9udC1zaXplOiAwLjc4ZW07Cgl9CgoJLmJ1aWxkLWluZm8tcm93IHsKCQlnYXA6IDAuNDVlbTsKCQlwYWRkaW5nLWxlZnQ6IDAuNTVlbTsKCQlwYWRkaW5nLXJpZ2h0OiAwLjU1ZW07Cgl9Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7Ci5idWlsZC1pbmZvLWxpbmsgYSB7CnRyYW5zaXRpb246IG5vbmU7Cn0KfQogICAgICAKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIENPUFlSSUdIVCBOT1RJQ0UgUEFORUwKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouY29weXJpZ2h0LXNpZGViYXItcGFuZWwgewoJb3ZlcmZsb3c6IGhpZGRlbjsKCW1hcmdpbjogMC43NWVtIDAgMDsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoMzgsIDM2LCAzMCwgMC45NyksCgkJCXJnYmEoMjAsIDIyLCAyMSwgMC45OCkKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDE2MSwgOTAsIDAuNDIpOwoJYm9yZGVyLXJhZGl1czogN3B4OwoJYm94LXNoYWRvdzoKCQkwIDhweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4zKSwKCQkwIDAgMTRweCByZ2JhKDIwMSwgMTYxLCA5MCwgMC4wNCksCgkJaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KTsKCWZvbnQtc2l6ZTogMC44ZW07Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5jb3B5cmlnaHQtc2lkZWJhci10aXRsZSB7CgltYXJnaW46IDAgMC42NWVtOwoJcGFkZGluZzogMC42NWVtIDAgMC40OGVtOwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjAxLCAxNjEsIDkwLCAwLjI0KTsKCWNvbG9yOiAjZTBiZDc4OwoJZm9udC1zaXplOiAwLjg0ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMWVtOwoJbGluZS1oZWlnaHQ6IDEuMjsKCXRleHQtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjgpOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmNvcHlyaWdodC1zaWRlYmFyLWNvbnRlbnQgewoJcGFkZGluZzogMC42MmVtIDAuNjVlbSAwLjcyZW07Cn0KCi5jb3B5cmlnaHQtc2lkZWJhci1vd25lciB7Cgljb2xvcjogI2YwZWFkYjsKCWZvbnQtc2l6ZTogMC45M2VtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxLjM7Cn0KCi5jb3B5cmlnaHQtc2lkZWJhci1jb21wYW55IHsKCWNvbG9yOiAjZTVkZGM5OwoJZm9udC1zaXplOiAwLjg5ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDEuMzsKCW1hcmdpbi10b3A6IDAuMTJlbTsKfQoKLmNvcHlyaWdodC1zaWRlYmFyLXdlYnNpdGUsCi5jb3B5cmlnaHQtc2lkZWJhci13ZWJzaXRlLmxpbmstZXh0ZXJuYWwgewoJZGlzcGxheTogaW5saW5lLWZsZXg7CglhbGlnbi1pdGVtczogY2VudGVyOwoJanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CglnYXA6IDAuMjRlbTsKCW1hcmdpbi10b3A6IDAuNDJlbTsKCWJvcmRlcjogMCAhaW1wb3J0YW50OwoJY29sb3I6ICNkOWI5NmY7Cglmb250LXNpemU6IDAuOTJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMS4yNTsKCXRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OwoJdHJhbnNpdGlvbjoKCQljb2xvciAwLjE1cyBlYXNlLAoJCXRleHQtc2hhZG93IDAuMTVzIGVhc2U7Cn0KCi5jb3B5cmlnaHQtc2lkZWJhci13ZWJzaXRlOmhvdmVyLAouY29weXJpZ2h0LXNpZGViYXItd2Vic2l0ZS5saW5rLWV4dGVybmFsOmhvdmVyIHsKCWJvcmRlcjogMCAhaW1wb3J0YW50OwoJY29sb3I6ICNmZmYwYmQ7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKCXRleHQtc2hhZG93OiAwIDAgOHB4IHJnYmEoMjAxLCAxNjEsIDkwLCAwLjMpOwp9CgouY29weXJpZ2h0LWV4dGVybmFsLWljb24gewoJY29sb3I6ICNkOWI5NmY7Cglmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7Cglmb250LXNpemU6IDEuMDVlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMTsKfQoKLmNvcHlyaWdodC1zaWRlYmFyLXJpZ2h0cyB7Cgljb2xvcjogIzlmOTg4ODsKCWZvbnQtc2l6ZTogMC43OGVtOwoJbGluZS1oZWlnaHQ6IDEuMjU7CgltYXJnaW4tdG9wOiAwLjM4ZW07Cn0KCmEuY29weXJpZ2h0LXNpZGViYXItd2Vic2l0ZS5saW5rLWV4dGVybmFsOjphZnRlciwKYS5jb3B5cmlnaHQtc2lkZWJhci13ZWJzaXRlOjphZnRlciB7CglkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cgljb250ZW50OiBub25lICFpbXBvcnRhbnQ7CgltYXJnaW46IDAgIWltcG9ydGFudDsKCWZvbnQtc2l6ZTogMCAhaW1wb3J0YW50Owp9CgouY29weXJpZ2h0LXNpZGViYXItcGFuZWwgKyAjbWVudSB7CgltYXJnaW4tdG9wOiAwLjg1ZW0gIWltcG9ydGFudDsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKCS5jb3B5cmlnaHQtc2lkZWJhci1wYW5lbCB7CgkJZm9udC1zaXplOiAwLjc4ZW07Cgl9Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CgkuY29weXJpZ2h0LXNpZGViYXItd2Vic2l0ZSB7CgkJdHJhbnNpdGlvbjogbm9uZTsKCX0KfQoJLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJSRUNLRU5SSURHRSBNWVNURVJZIERFU0sKICAgUEhBU0UgMTogU1RBUlQgU0NSRUVOCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIHsKCXdpZHRoOiAxMDAlOwp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gPiBiciB7CglkaXNwbGF5OiBub25lOwp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gI2JtLXN0YXJ0LXRpdGxlIHsKCW1hcmdpbi10b3A6IDA7Cn0KCi8qIFJlbW92ZSB0aGUgc3RhbmRhcmQgZGFyayByZWFkaW5nLXBhbmVsIGFwcGVhcmFuY2Ugb24gU3RhcnQgb25seS4gKi8KYm9keS5hdG1vc3BoZXJlLXRpdGxlICNwYXNzYWdlcyB7CgltYXgtd2lkdGg6IDExNjBweDsKCXBhZGRpbmc6IDEuMXJlbTsKCWJhY2tncm91bmQ6CgkJcmFkaWFsLWdyYWRpZW50KAoJCQljaXJjbGUgYXQgNTAlIDAlLAoJCQlyZ2JhKDc1LCAxMDUsIDEwNSwgMC4xNyksCgkJCXRyYW5zcGFyZW50IDQyJQoJCSksCgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoMTEsIDE5LCAyMCwgMC45NCksCgkJCXJnYmEoOCwgMTMsIDE0LCAwLjk3KQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE3MywgMTQ4LCA5OCwgMC4zKTsKCWJvcmRlci1yYWRpdXM6IDRweDsKCWJveC1zaGFkb3c6CgkJMCAyNHB4IDY1cHggcmdiYSgwLCAwLCAwLCAwLjU4KSwKCQkwIDAgMzhweCByZ2JhKDY3LCA5OCwgMTAwLCAwLjA4KTsKfQoKYm9keS5hdG1vc3BoZXJlLXRpdGxlICNwYXNzYWdlczo6YmVmb3JlIHsKCWluc2V0OiA1cHg7Cglib3JkZXItY29sb3I6IHJnYmEoMjEwLCAxODQsIDEyNywgMC4wOSk7Cglib3JkZXItcmFkaXVzOiAycHg7Cn0KCi8qIE1haW4gb3BlbmluZyBjb250YWluZXIuICovCi5ibS1zdGFydC1zY3JlZW4gewoJLS1ibS1wYXBlcjogI2Q4Y2JhNzsKCS0tYm0tcGFwZXItbGlnaHQ6ICNmMGU1YzU7CgktLWJtLXBhcGVyLWRhcms6ICNhYTk1Njk7CgktLWJtLWluazogIzI3MjcxZjsKCS0tYm0tZmFkZWQtaW5rOiAjNTM1NjQ4OwoJLS1ibS1idXJndW5keTogIzgxMzQ0NzsKCS0tYm0tYnVyZ3VuZHktbGlnaHQ6ICNhZTUwNjU7CgktLWJtLWJsdWUtZ3JlZW46ICMyOTQ4NGM7CgktLWJtLXRlYWwtbGlnaHQ6ICM1Mjc3N2E7CgktLWJtLWdvbGQ6ICNiNDliNjQ7CgktLWJtLXB1cnBsZTogIzczNTdkYzsKCS0tYm0tZ3JlZW46ICM0ZmQ1NmE7CgktLWJtLW9yYW5nZTogI2RiNmUzMTsKCglwb3NpdGlvbjogcmVsYXRpdmU7Cglib3gtc2l6aW5nOiBib3JkZXItYm94OwoJd2lkdGg6IDEwMCU7CgltYXgtd2lkdGg6IDEwODBweDsKCW1hcmdpbjogMCBhdXRvOwp9CgovKiBCYW5uZXIgYXJ0d29yay4gKi8KLmJtLXN0YXJ0LWJhbm5lciB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglvdmVyZmxvdzogaGlkZGVuOwoJYmFja2dyb3VuZDogIzA3MTAxMTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTk2LCAxNjksIDExMSwgMC41KTsKCWJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwOwoJYm94LXNoYWRvdzoKCQkwIDE3cHggMzZweCByZ2JhKDAsIDAsIDAsIDAuNDYpLAoJCWluc2V0IDAgMCAwIDRweCByZ2JhKDEwLCAxNSwgMTQsIDAuNDgpOwp9CgouYm0tc3RhcnQtYmFubmVyOjpiZWZvcmUgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglpbnNldDogN3B4OwoJei1pbmRleDogMzsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjE5LCAxOTEsIDEzMCwgMC4yNSk7Cglwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLmJtLXN0YXJ0LWJhbm5lcjo6YWZ0ZXIgewoJY29udGVudDogIiI7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglpbnNldDogMDsKCXotaW5kZXg6IDI7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXJnYmEoMTAsIDksIDcsIDAuMiksCgkJCXRyYW5zcGFyZW50IDE1JSwKCQkJdHJhbnNwYXJlbnQgODUlLAoJCQlyZ2JhKDEwLCA5LCA3LCAwLjIpCgkJKSwKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJdHJhbnNwYXJlbnQgNjIlLAoJCQlyZ2JhKDQsIDksIDEwLCAwLjQ4KQoJCSk7Cglwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLmJtLXN0YXJ0LWJhbm5lciBpbWcgewoJZGlzcGxheTogYmxvY2s7Cgl3aWR0aDogMTAwJTsKCWhlaWdodDogYXV0bzsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDA7Cglib3JkZXI6IDA7Cn0KCi5ibS1iYW5uZXItc2hhZGUgewoJcG9zaXRpb246IGFic29sdXRlOwoJaW5zZXQ6IDA7Cgl6LWluZGV4OiAxOwoJYm94LXNoYWRvdzoKCQlpbnNldCAwIDAgMzVweCByZ2JhKDAsIDAsIDAsIDAuNDYpLAoJCWluc2V0IDAgLTI1cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMjYpOwoJcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCgovKiBBZ2VkIGNhc2UtZmlsZSBwYW5lbC4gKi8KLmJtLXN0YXJ0LWNhc2UtZmlsZSB7CnBvc2l0aW9uOiByZWxhdGl2ZTsKYm94LXNpemluZzogYm9yZGVyLWJveDsKbWF4LXdpZHRoOiA5MzBweDsKbWFyZ2luOiAtMy4yNXJlbSBhdXRvIDA7CglwYWRkaW5nOiAyLjdyZW0gMy4ycmVtIDIuMnJlbTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQlyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDI1KSwKCQkJcmdiYSg2MCwgNDcsIDI0LCAwLjAzNSkKCQkpLAoJCXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoCgkJCTBkZWcsCgkJCXJnYmEoNzYsIDY1LCA0MywgMC4wMjUpIDAsCgkJCXJnYmEoNzYsIDY1LCA0MywgMC4wMjUpIDFweCwKCQkJdHJhbnNwYXJlbnQgMXB4LAoJCQl0cmFuc3BhcmVudCA0cHgKCQkpLAoJCSNkOGNiYTc7Cglib3JkZXI6IDFweCBzb2xpZCAjOWU4NjU3OwoJYm9yZGVyLXJhZGl1czogMnB4OwoJYm94LXNoYWRvdzoKCQkwIDE4cHggNDVweCByZ2JhKDAsIDAsIDAsIDAuNDgpLAoJCWluc2V0IDAgMCAyOHB4IHJnYmEoNTQsIDQyLCAyMywgMC4xMyk7Cgljb2xvcjogdmFyKC0tYm0taW5rKTsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJtLXN0YXJ0LWNhc2UtZmlsZTo6YmVmb3JlLAouYm0tc3RhcnQtY2FzZS1maWxlOjphZnRlciB7Cgljb250ZW50OiAiIjsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXBvaW50ZXItZXZlbnRzOiBub25lOwp9CgouYm0tc3RhcnQtY2FzZS1maWxlOjpiZWZvcmUgewoJaW5zZXQ6IDhweDsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoOTAsIDY5LCAzNywgMC4yNik7Cn0KCi5ibS1zdGFydC1jYXNlLWZpbGU6OmFmdGVyIHsKCWxlZnQ6IDIuNSU7CglyaWdodDogMi41JTsKCXRvcDogMDsKCWhlaWdodDogNHB4OwoJYmFja2dyb3VuZDoKCQlyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KAoJCQk5MGRlZywKCQkJdHJhbnNwYXJlbnQgMCwKCQkJdHJhbnNwYXJlbnQgMTRweCwKCQkJcmdiYSg2NSwgNTIsIDMwLCAwLjIpIDE1cHgsCgkJCXRyYW5zcGFyZW50IDE3cHgKCQkpOwp9CgouYm0tc3RhcnQtc2VyaWVzIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXotaW5kZXg6IDE7CgltYXJnaW4tYm90dG9tOiAwLjQ1cmVtOwoJY29sb3I6ICM0YzU1NGE7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjgycmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjE5ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tc3RhcnQtdGl0bGUgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCW1heC13aWR0aDogNzgwcHg7CgltYXJnaW46IDAgYXV0bzsKCWNvbG9yOiB2YXIoLS1ibS1idXJndW5keSk7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsIHNlcmlmOwoJZm9udC1zaXplOiBjbGFtcCgycmVtLCA1dncsIDMuNXJlbSk7Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDA1ZW07CglsaW5lLWhlaWdodDogMS4wMjsKCXRleHQtc2hhZG93OiAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpOwp9CgouYm0tc3RhcnQtZGF0ZSB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJbWFyZ2luOiAwLjlyZW0gYXV0byAwLjY1cmVtOwoJcGFkZGluZzogMC4zcmVtIDAuN3JlbTsKCWJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDcxLCA3MCwgNTQsIDAuMzUpOwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNzEsIDcwLCA1NCwgMC4zNSk7Cgljb2xvcjogdmFyKC0tYm0tZmFkZWQtaW5rKTsKCWZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7Cglmb250LXNpemU6IDAuNzhyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDk1ZW07Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tc3RhcnQtdGFnbGluZSB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJbWF4LXdpZHRoOiA2NTBweDsKCW1hcmdpbjogMC43cmVtIGF1dG8gMC41cmVtICFpbXBvcnRhbnQ7Cgljb2xvcjogIzM0M2IzNyAhaW1wb3J0YW50OwoJZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCBzZXJpZjsKCWZvbnQtc2l6ZTogMS4xOHJlbTsKCWZvbnQtc3R5bGU6IGl0YWxpYzsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMS4zNTsKfQoKLmJtLXN0YXJ0LWRlc2NyaXB0aW9uIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXotaW5kZXg6IDE7CgltYXgtd2lkdGg6IDY4MHB4ICFpbXBvcnRhbnQ7CgltYXJnaW46IDAuN3JlbSBhdXRvIDFyZW0gIWltcG9ydGFudDsKCWNvbG9yOiAjMzQzNTJkICFpbXBvcnRhbnQ7Cglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKCWZvbnQtc2l6ZTogMXJlbTsKCWxpbmUtaGVpZ2h0OiAxLjU1Owp9CgovKiBQaW5uZWQgbm90ZS4gKi8KLmJtLXN0YXJ0LW5vdGUgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCW1heC13aWR0aDogNjIwcHg7CgltYXJnaW46IDEuMTVyZW0gYXV0byAxLjM1cmVtOwoJcGFkZGluZzogMC43NXJlbSAxcmVtIDAuN3JlbTsKCWJhY2tncm91bmQ6ICNlOGRlYjk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDk0LCA3NCwgMzksIDAuMzYpOwoJYm94LXNoYWRvdzoKCQkwIDVweCAxMXB4IHJnYmEoNTQsIDQyLCAyMywgMC4xNiksCgkJaW5zZXQgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTsKCWNvbG9yOiAjM2EzODJkOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC44OHJlbTsKCWxpbmUtaGVpZ2h0OiAxLjQ1OwoJdHJhbnNmb3JtOiByb3RhdGUoLTAuMzVkZWcpOwp9CgouYm0tc3RhcnQtbm90ZSBzdHJvbmcgewoJY29sb3I6ICM2ZDJjM2M7Cn0KCi5ibS1ub3RlLXBpbiB7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgl0b3A6IC02cHg7CglsZWZ0OiA1MCU7Cgl3aWR0aDogMTJweDsKCWhlaWdodDogMTJweDsKCWJhY2tncm91bmQ6IHZhcigtLWJtLWJ1cmd1bmR5KTsKCWJvcmRlcjogMnB4IHNvbGlkICM1YTI0MzA7Cglib3JkZXItcmFkaXVzOiA1MCU7Cglib3gtc2hhZG93OiAwIDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjM1KTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKfQoKLyogUHJpbWFyeSBhbmQgc2Vjb25kYXJ5IGFjdGlvbnMuICovCi5ibS1zdGFydC1hY3Rpb25zIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXotaW5kZXg6IDE7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOwoJZ2FwOiAwLjg1cmVtOwoJbWF4LXdpZHRoOiA3MjBweDsKCW1hcmdpbjogMCBhdXRvOwp9CgouYm0tc3RhcnQtcHJpbWFyeSwKLmJtLXN0YXJ0LXNlY29uZGFyeSB7CglkaXNwbGF5OiBmbGV4OwoJZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKCW1pbi13aWR0aDogMDsKfQoKLmJtLXN0YXJ0LXByaW1hcnkgYSwKLmJtLXN0YXJ0LXNlY29uZGFyeSBhLAouYm0tc3RhcnQtcHJpbWFyeSBhLmxpbmstaW50ZXJuYWwsCi5ibS1zdGFydC1zZWNvbmRhcnkgYS5saW5rLWludGVybmFsLAouYm0tc3RhcnQtcHJpbWFyeSBhLm1hY3JvLWxpbmssCi5ibS1zdGFydC1zZWNvbmRhcnkgYS5tYWNyby1saW5rIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWRpc3BsYXk6IGJsb2NrOwoJYm94LXNpemluZzogYm9yZGVyLWJveDsKCXdpZHRoOiAxMDAlOwoJbWFyZ2luOiAwOwoJcGFkZGluZzogMC45cmVtIDFyZW07Cglib3JkZXItcmFkaXVzOiAzcHg7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsIHNlcmlmOwoJZm9udC1zaXplOiAxLjA4cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwoJbGluZS1oZWlnaHQ6IDEuMjI7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cgl0cmFuc2Zvcm06IG5vbmU7Cn0KCi5ibS1zdGFydC1wcmltYXJ5IGEsCi5ibS1zdGFydC1wcmltYXJ5IGEubGluay1pbnRlcm5hbCB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQl2YXIoLS1ibS1idXJndW5keS1saWdodCksCgkJCXZhcigtLWJtLWJ1cmd1bmR5KQoJCSk7Cglib3JkZXI6IDFweCBzb2xpZCAjNjkyNTM2OwoJYm94LXNoYWRvdzoKCQkwIDZweCAxM3B4IHJnYmEoNTcsIDI1LCAzMiwgMC4yOCksCgkJaW5zZXQgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE3KTsKCWNvbG9yOiAjZmZmM2RhOwp9CgouYm0tc3RhcnQtc2Vjb25kYXJ5IGEsCi5ibS1zdGFydC1zZWNvbmRhcnkgYS5tYWNyby1saW5rIHsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCSM0NjYyNjYsCgkJCSMyOTQ2NGEKCQkpOwoJYm9yZGVyOiAxcHggc29saWQgIzIwM2EzZDsKCWJveC1zaGFkb3c6CgkJMCA2cHggMTNweCByZ2JhKDI2LCA0NSwgNDcsIDAuMjUpLAoJCWluc2V0IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMyk7Cgljb2xvcjogI2YyZThjOTsKfQoKLmJtLXN0YXJ0LXByaW1hcnkgYTo6YmVmb3JlLAouYm0tc3RhcnQtcHJpbWFyeSBhOjphZnRlciwKLmJtLXN0YXJ0LXNlY29uZGFyeSBhOjpiZWZvcmUsCi5ibS1zdGFydC1zZWNvbmRhcnkgYTo6YWZ0ZXIgewoJZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwoJY29udGVudDogbm9uZSAhaW1wb3J0YW50Owp9CgouYm0tc3RhcnQtcHJpbWFyeSBhOmhvdmVyLAouYm0tc3RhcnQtcHJpbWFyeSBhLmxpbmstaW50ZXJuYWw6aG92ZXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJI2MwNWQ3MiwKCQkJIzk3M2I1MAoJCSk7Cglib3JkZXItY29sb3I6ICM3ZDI4M2I7Cgljb2xvcjogI2ZmZmZmZjsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsKfQoKLmJtLXN0YXJ0LXNlY29uZGFyeSBhOmhvdmVyLAouYm0tc3RhcnQtc2Vjb25kYXJ5IGEubWFjcm8tbGluazpob3ZlciB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjNTY3NjdhLAoJCQkjMzQ1NjVhCgkJKTsKCWJvcmRlci1jb2xvcjogIzI5NDg0YjsKCWNvbG9yOiAjZmZmZmZmOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwp9CgouYm0tc3RhcnQtcHJpbWFyeSA+IHNwYW4sCi5ibS1zdGFydC1zZWNvbmRhcnkgPiBzcGFuIHsKCWRpc3BsYXk6IGJsb2NrOwoJbWFyZ2luLXRvcDogMC4zNXJlbTsKCWNvbG9yOiAjNWI1OTRiOwoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cglmb250LXNpemU6IDAuNzZyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CglsaW5lLWhlaWdodDogMS4yNTsKfQoKLyogSW5mb3JtYXRpb24gdG9vbHMuICovCi5ibS1zdGFydC10b29scyB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJZGlzcGxheTogZmxleDsKCWZsZXgtd3JhcDogd3JhcDsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJZ2FwOiAwLjU1cmVtIDEuMnJlbTsKCW1hcmdpbjogMS4zNXJlbSBhdXRvIDA7CglwYWRkaW5nLXRvcDogMXJlbTsKCWJvcmRlci10b3A6IDFweCBkYXNoZWQgcmdiYSg3NSwgNjUsIDQzLCAwLjM0KTsKfQoKLmJtLXN0YXJ0LXRvb2wgewoJZGlzcGxheTogaW5saW5lLWZsZXg7CglhbGlnbi1pdGVtczogY2VudGVyOwoJZ2FwOiAwLjRyZW07Cgljb2xvcjogIzQxNDgzZjsKCWZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwoJZm9udC1zaXplOiAwLjg2cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKfQoKLmJtLXN0YXJ0LXRvb2wgYSwKLmJtLXN0YXJ0LXRvb2wgYS5saW5rLWludGVybmFsLAouYm0tc3RhcnQtdG9vbCBhLm1hY3JvLWxpbmsgewoJZGlzcGxheTogaW5saW5lOwoJd2lkdGg6IGF1dG87CgltYXJnaW46IDA7CglwYWRkaW5nOiAwOwoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cglib3JkZXI6IDA7Cglib3gtc2hhZG93OiBub25lOwoJY29sb3I6ICM0OTVmNjA7Cglmb250LWZhbWlseTogaW5oZXJpdDsKCWZvbnQtc2l6ZTogaW5oZXJpdDsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsZXR0ZXItc3BhY2luZzogMDsKCWxpbmUtaGVpZ2h0OiBpbmhlcml0OwoJdGV4dC1hbGlnbjogbGVmdDsKCXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwoJdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKDczLCA5NSwgOTYsIDAuNDUpOwoJdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7Cgl0ZXh0LXRyYW5zZm9ybTogbm9uZTsKCXRyYW5zZm9ybTogbm9uZTsKfQoKLmJtLXN0YXJ0LXRvb2wgYTo6YmVmb3JlLAouYm0tc3RhcnQtdG9vbCBhOjphZnRlciB7CglkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cgljb250ZW50OiBub25lICFpbXBvcnRhbnQ7Cn0KCi5ibS1zdGFydC10b29sIGE6aG92ZXIsCi5ibS1zdGFydC10b29sIGEubGluay1pbnRlcm5hbDpob3ZlciwKLmJtLXN0YXJ0LXRvb2wgYS5tYWNyby1saW5rOmhvdmVyIHsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwoJYm9yZGVyOiAwOwoJYm94LXNoYWRvdzogbm9uZTsKCWNvbG9yOiB2YXIoLS1ibS1idXJndW5keSk7Cgl0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjsKCXRyYW5zZm9ybTogbm9uZTsKfQoKLmJtLXRvb2wtaWNvbiB7CglkaXNwbGF5OiBpbmxpbmUtZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKCXdpZHRoOiAxLjQ1cmVtOwoJaGVpZ2h0OiAxLjQ1cmVtOwoJYmFja2dyb3VuZDogIzUyNjc2OTsKCWJvcmRlcjogMXB4IHNvbGlkICMzMzQ5NGI7Cglib3JkZXItcmFkaXVzOiA1MCU7Cgljb2xvcjogI2Y0ZTdiYzsKCWZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwoJZm9udC1zaXplOiAwLjc4cmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKfQoKLmJtLXN0YXJ0LWZvb3RlciB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJbWFyZ2luLXRvcDogMS4zcmVtOwoJY29sb3I6ICM2ODY0NTI7Cglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKCWZvbnQtc2l6ZTogMC43NnJlbTsKCWxpbmUtaGVpZ2h0OiAxLjQ7Cn0KCi8qIEhpZ2ggY29udHJhc3Qgc3VwcG9ydC4gKi8KYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLXN0YXJ0LWNhc2UtZmlsZSB7CgliYWNrZ3JvdW5kOiAjZjJlN2M3OwoJY29sb3I6ICMxNzE3MTI7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1zdGFydC1kZXNjcmlwdGlvbiwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLXN0YXJ0LXRhZ2xpbmUgewoJY29sb3I6ICMxNzE3MTIgIWltcG9ydGFudDsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLXN0YXJ0LXRvb2wgYSB7Cgljb2xvcjogIzIwM2Y0MzsKfQoKLyogVGFibGV0IGFuZCBtb2JpbGUuICovCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7Cglib2R5LmF0bW9zcGhlcmUtdGl0bGUgI3Bhc3NhZ2VzIHsKCQltYXJnaW46IDAgMC40cmVtOwoJCXBhZGRpbmc6IDAuNTVyZW07Cgl9CgoJLmJtLXN0YXJ0LWNhc2UtZmlsZSB7CgkJbWFyZ2luLXRvcDogLTEuMnJlbTsKCQlwYWRkaW5nOiAycmVtIDEuMnJlbSAxLjVyZW07Cgl9CgoJLmJtLXN0YXJ0LWFjdGlvbnMgewoJCWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwoJCW1heC13aWR0aDogNDgwcHg7Cgl9CgoJLmJtLXN0YXJ0LXNlY29uZGFyeSB7CgkJbWFyZ2luLXRvcDogMC4xNXJlbTsKCX0KCgkuYm0taGlkZGVuLWV5ZXMgc3BhbiB7CgkJd2lkdGg6IDhweDsKCQloZWlnaHQ6IDRweDsKCX0KCgkuYm0tc3RhcnQtdGl0bGUgewoJCWZvbnQtc2l6ZTogY2xhbXAoMS44NXJlbSwgOXZ3LCAyLjY1cmVtKTsKCX0KCgkuYm0tc3RhcnQtZGVzY3JpcHRpb24gewoJCWZvbnQtc2l6ZTogMC45NnJlbTsKCX0KCgkuYm0tc3RhcnQtdG9vbHMgewoJCWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CgkJYWxpZ24taXRlbXM6IGNlbnRlcjsKCQlnYXA6IDAuNjVyZW07Cgl9Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7CgkuYm0tc3RhcnQtYmFubmVyOjpiZWZvcmUgewoJCWluc2V0OiA0cHg7Cgl9CgoJLmJtLXN0YXJ0LWNhc2UtZmlsZSB7CgkJbWFyZ2luLXRvcDogLTAuNDVyZW07CgkJcGFkZGluZzogMS42cmVtIDAuOXJlbSAxLjI1cmVtOwoJfQoKCS5ibS1zdGFydC1zZXJpZXMgewoJCWZvbnQtc2l6ZTogMC43cmVtOwoJCWxldHRlci1zcGFjaW5nOiAwLjEzZW07Cgl9CgoJLmJtLXN0YXJ0LWRhdGUgewoJCWZvbnQtc2l6ZTogMC42OHJlbTsKCQlsZXR0ZXItc3BhY2luZzogMC4wNmVtOwoJfQoKCS5ibS1zdGFydC10YWdsaW5lIHsKCQlmb250LXNpemU6IDEuMDVyZW07Cgl9CgoJLmJtLXN0YXJ0LW5vdGUgewoJCWZvbnQtc2l6ZTogMC44cmVtOwoJfQoKCS5ibS1zdGFydC1wcmltYXJ5IGEsCgkuYm0tc3RhcnQtc2Vjb25kYXJ5IGEsCgkuYm0tc3RhcnQtcHJpbWFyeSBhLmxpbmstaW50ZXJuYWwsCgkuYm0tc3RhcnQtc2Vjb25kYXJ5IGEubGluay1pbnRlcm5hbCwKCS5ibS1zdGFydC1zZWNvbmRhcnkgYS5tYWNyby1saW5rIHsKCQlwYWRkaW5nOiAwLjgycmVtIDAuNzVyZW07CgkJZm9udC1zaXplOiAxcmVtOwoJfQp9CgovKiBSZXNwZWN0IHRoZSBwbGF5ZXIncyBtb3Rpb24gcHJlZmVyZW5jZXMuICovCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5ibS1zdGFydC1wcmltYXJ5IGEsCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5ibS1zdGFydC1zZWNvbmRhcnkgYSwKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLmJtLXN0YXJ0LXRvb2wgYSwKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLmJtLWhpZGRlbi1leWVzIHsKCXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKCWFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50Owp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewoJLmJtLXN0YXJ0LXByaW1hcnkgYSwKCS5ibS1zdGFydC1zZWNvbmRhcnkgYSwKCS5ibS1zdGFydC10b29sIGEsCgkuYm0taGlkZGVuLWV5ZXMgewoJCXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKCQlhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDsKCX0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQlJFQ0tFTlJJREdFIE1ZU1RFUlkgREVTSwogICBQSEFTRSAxOiBDVVJSRU5UIENBU0UgQU5EIE1ZU1RFUlkgS0lUCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLWNhc2Utc2lkZWJhciB7CgktLWJtLXNpZGUtcGFwZXI6ICNkNGM2OWY7CgktLWJtLXNpZGUtcGFwZXItbGlnaHQ6ICNlOGRjYmE7CgktLWJtLXNpZGUtaW5rOiAjMjkyYTIzOwoJLS1ibS1zaWRlLW11dGVkOiAjNjc2NjUzOwoJLS1ibS1zaWRlLWJ1cmd1bmR5OiAjOGIzYjUwOwoJLS1ibS1zaWRlLXRlYWw6ICM0OTZiNmU7CgktLWJtLXNpZGUtZ29sZDogI2I3OWE1ZDsKCglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKfQoKLyogQ3VycmVudCBDYXNlIGNhcmQuICovCi5ibS1jYXNlLWNhcmQgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6CgkJcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgKCQkJMGRlZywKCQkJcmdiYSg3MSwgNTcsIDM0LCAwLjAyNSkgMCwKCQkJcmdiYSg3MSwgNTcsIDM0LCAwLjAyNSkgMXB4LAoJCQl0cmFuc3BhcmVudCAxcHgsCgkJCXRyYW5zcGFyZW50IDRweAoJCSksCgkJdmFyKC0tYm0tc2lkZS1wYXBlcik7Cglib3JkZXI6IDFweCBzb2xpZCAjOTI3YTRlOwoJYm9yZGVyLXJhZGl1czogM3B4OwoJYm94LXNoYWRvdzoKCQkwIDhweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4zNCksCgkJaW5zZXQgMCAwIDIwcHggcmdiYSg1OSwgNDQsIDIwLCAwLjEyKTsKCWNvbG9yOiB2YXIoLS1ibS1zaWRlLWluayk7CgltYXJnaW46IDA7CglwYWRkaW5nOiAwLjcyZW07Cgl0ZXh0LWFsaWduOiBsZWZ0Owp9CgouYm0tY2FzZS1jYXJkOjphZnRlciB7Cgljb250ZW50OiAiIjsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWluc2V0OiA1cHg7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc0LCA1NywgMzAsIDAuMTcpOwoJcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi5ibS1jYXNlLWNhcmQtdG9wIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXotaW5kZXg6IDE7CglkaXNwbGF5OiBmbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKCWdhcDogMC41ZW07CgltYXJnaW46IC0wLjcyZW0gLTAuNzJlbSAwLjU1ZW07CglwYWRkaW5nOiAwLjUyZW0gMC42NWVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTkwZGVnLAoJCQkjNzczMTQ1LAoJCQkjOWI0MzU5CgkJKTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjYyNjM4OwoJY29sb3I6ICNmZmYwZDI7Cn0KCi5ibS1jYXNlLXRhYiB7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjc4ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMTNlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1jYXNlLWV5ZXMgewoJZGlzcGxheTogZmxleDsKCWdhcDogM3B4OwoJY29sb3I6ICNkNzg3ZmY7CglmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA0cHggcmdiYSgxODEsIDEwNCwgMjU1LCAwLjY1KSk7Cn0KCi5ibS1jYXNlLWV5ZXMgc3BhbiB7CglkaXNwbGF5OiBibG9jazsKCXdpZHRoOiA4cHg7CgloZWlnaHQ6IDRweDsKCWJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsKCWJvcmRlci1yYWRpdXM6IDgwJSAxNSUgODAlIDE1JTsKCXRyYW5zZm9ybTogcm90YXRlKDE4ZGVnKTsKfQoKLmJtLWNhc2UtZXllcyBzcGFuOmxhc3QtY2hpbGQgewoJdHJhbnNmb3JtOiBzY2FsZVgoLTEpIHJvdGF0ZSgxOGRlZyk7Cn0KCi5ibS1jYXNlLW51bWJlciB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJY29sb3I6ICM3NDY0NDc7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjY3ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1jYXNlLW5hbWUgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCW1hcmdpbjogMC4xMmVtIDAgMC41NWVtOwoJcGFkZGluZy1ib3R0b206IDAuNDJlbTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDcxLCA1NywgMzMsIDAuMyk7Cgljb2xvcjogIzVmMjYzNjsKCWZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgc2VyaWY7Cglmb250LXNpemU6IDEuMDhlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMS4xNTsKfQoKLmJtLWNhc2UtZGV0YWlscyB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwp9CgouYm0tY2FzZS1kZXRhaWwgewoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwoJanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwoJZ2FwOiAwLjVlbTsKCXBhZGRpbmc6IDAuMjJlbSAwOwoJYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCByZ2JhKDcyLCA2MSwgMzksIDAuMjIpOwp9CgouYm0tY2FzZS1sYWJlbCB7Cgljb2xvcjogdmFyKC0tYm0tc2lkZS1tdXRlZCk7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjY5ZW07Cglmb250LXdlaWdodDogNzAwOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJtLWNhc2UtdmFsdWUgewoJY29sb3I6ICMzMzM1MmQ7Cglmb250LXNpemU6IDAuNzhlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cgl0ZXh0LWFsaWduOiByaWdodDsKfQoKLmJtLWNhc2UtbG9jYXRpb24sCi5ibS1jYXNlLW9iamVjdGl2ZSB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJbWFyZ2luLXRvcDogMC42MmVtOwoJcGFkZGluZzogMC41MmVtIDAuNThlbTsKCWJhY2tncm91bmQ6IHJnYmEoMjQ0LCAyMzQsIDIwMiwgMC41Mik7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDg4LCA3MCwgMzksIDAuMjYpOwp9CgouYm0tY2FzZS1sb2NhdGlvbiB7Cglib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWJtLXNpZGUtdGVhbCk7Cn0KCi5ibS1jYXNlLW9iamVjdGl2ZSB7Cglib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWJtLXNpZGUtYnVyZ3VuZHkpOwp9CgouYm0tY2FzZS1zZWN0aW9uLWxhYmVsIHsKCW1hcmdpbi1ib3R0b206IDAuMmVtOwoJY29sb3I6ICM3NTVhMzQ7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjY1ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1jYXNlLWxvY2F0aW9uLW5hbWUsCi5ibS1jYXNlLW9iamVjdGl2ZS10ZXh0IHsKCWNvbG9yOiAjMzMzNTJkOwoJZm9udC1zaXplOiAwLjc4ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDEuMzI7Cn0KCi5ibS1jaGFyYWN0ZXItdHJhY2tlciB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgl6LWluZGV4OiAxOwoJbWFyZ2luLXRvcDogMC42NWVtOwp9CgouYm0tY2hhcmFjdGVyLXRyYWNrZXItaGVhZGluZyB7CglwYWRkaW5nOiAwLjRlbSAwLjVlbTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjksIDU5LCA0MCwgMC4yOCk7Cglib3JkZXItYm90dG9tOiAwOwoJY29sb3I6ICNmNWVhZDA7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjY3ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS10cmFja2VyLWtldmluIHsKCWJhY2tncm91bmQ6ICM0YzZjN2E7Cn0KCi5ibS10cmFja2VyLXJ5YW4gewoJYmFja2dyb3VuZDogIzcxNzU0ODsKfQoKLmJtLXRyYWNrZXIta2ltbXkgewoJYmFja2dyb3VuZDogIzhjNjA3MjsKfQoKLmJtLXRyYWNrZXItc2Nvb3QgewoJYmFja2dyb3VuZDogIzk1Njk0MzsKfQoKLmJtLXRyYWNrZXItZ3JvdXAgewoJYmFja2dyb3VuZDogIzZmNDA1MjsKfQoKLmJtLXRyYWNrZXItY291bnQsCi5ibS10cmFja2VyLXBhaXIgewoJYmFja2dyb3VuZDogcmdiYSgyNDMsIDIzMiwgMTk4LCAwLjYyKTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjksIDU5LCA0MCwgMC4yOCk7Cgljb2xvcjogIzMzMzUyZDsKfQoKLmJtLXRyYWNrZXItY291bnQgewoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglnYXA6IDAuNTVlbTsKCXBhZGRpbmc6IDAuNDVlbSAwLjU1ZW07Cn0KCi5ibS10cmFja2VyLXBhaXIgewoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKfQoKLmJtLXRyYWNrZXItc21hbGwgewoJcGFkZGluZzogMC40MmVtIDAuM2VtOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tdHJhY2tlci1zbWFsbCArIC5ibS10cmFja2VyLXNtYWxsIHsKCWJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSg2OSwgNTksIDQwLCAwLjI0KTsKfQoKLmJtLXRyYWNrZXItbnVtYmVyIHsKCWRpc3BsYXk6IGJsb2NrOwoJY29sb3I6ICM3MDJkM2U7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAxLjJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMTsKfQoKLmJtLXRyYWNrZXItbGFiZWwgewoJZGlzcGxheTogYmxvY2s7CgltYXJnaW4tdG9wOiAwLjE0ZW07Cgljb2xvcjogIzU5NTk0NzsKCWZvbnQtc2l6ZTogMC42NWVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxpbmUtaGVpZ2h0OiAxLjI7Cn0KCi5ibS1jYXNlLXdhaXRpbmcgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJei1pbmRleDogMTsKCXBhZGRpbmc6IDAuNzVlbSAwLjNlbSAwLjM1ZW07Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS1jYXNlLXdhaXRpbmctdGl0bGUgewoJY29sb3I6ICM2NjI4M2E7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsIHNlcmlmOwoJZm9udC1zaXplOiAxZW07Cglmb250LXdlaWdodDogNzAwOwp9CgouYm0tY2FzZS13YWl0aW5nLXRleHQgewoJbWFyZ2luLXRvcDogMC4zNWVtOwoJY29sb3I6ICM1NTU2NDY7Cglmb250LXNpemU6IDAuNzVlbTsKCWxpbmUtaGVpZ2h0OiAxLjM1Owp9CgovKiBNeXN0ZXJ5IEtpdC4gKi8KLmJtLW15c3Rlcnkta2l0IHsKCW92ZXJmbG93OiBoaWRkZW47CgltYXJnaW4tdG9wOiAwLjcyZW07CgliYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgMjQsIDAuOTQpOwoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNjYsIDEzOSwgODIsIDAuMzQpOwoJYm9yZGVyLXJhZGl1czogNHB4OwoJYm94LXNoYWRvdzogMCA3cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMjgpOwp9CgouYm0ta2l0LWhlYWRpbmcgewoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglnYXA6IDAuNDJlbTsKCXBhZGRpbmc6IDAuNTJlbSAwLjYyZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXJnYmEoMTEyLCA0NiwgNjUsIDAuODYpLAoJCQlyZ2JhKDU1LCAzOSwgNDMsIDAuMzgpCgkJKTsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE3OCwgMTMwLCAxNDMsIDAuMjUpOwoJY29sb3I6ICNlZmQ5YjA7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjcyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMTFlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1raXQtaGVhZGluZy1pY29uIHsKCWNvbG9yOiAjNzVkNzgxOwoJdGV4dC1zaGFkb3c6IDAgMCA3cHggcmdiYSg3OCwgMjE3LCAxMDQsIDAuNDUpOwp9CgouYm0ta2l0LWdyaWQgewoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsKCWdhcDogMXB4OwoJYmFja2dyb3VuZDogcmdiYSgxNzgsIDE1NCwgMTAyLCAwLjE1KTsKfQoKLmJtLWtpdC1ncmlkIGEsCi5ibS1raXQtZ3JpZCBhLmxpbmstaW50ZXJuYWwsCi5ibS1raXQtZ3JpZCBhLm1hY3JvLWxpbmsgewoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglnYXA6IDAuNDJlbTsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7CgltaW4td2lkdGg6IDA7CglwYWRkaW5nOiAwLjU4ZW0gMC40OGVtOwoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSgzOSwgNTAsIDUxLCAwLjk4KSwKCQkJcmdiYSgyNiwgMzUsIDM2LCAwLjk4KQoJCSk7Cglib3JkZXI6IDA7Cgljb2xvcjogI2UxZDRiMzsKCWZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwoJZm9udC1zaXplOiAwLjdlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7CglsaW5lLWhlaWdodDogMS4xNTsKCXRleHQtYWxpZ246IGxlZnQ7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cgl0ZXh0LXRyYW5zZm9ybTogbm9uZTsKfQoKLmJtLWtpdC1ncmlkIGE6OmJlZm9yZSwKLmJtLWtpdC1ncmlkIGE6OmFmdGVyIHsKCWRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKCWNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKfQoKLmJtLWtpdC1ncmlkIGE6aG92ZXIsCi5ibS1raXQtZ3JpZCBhLmxpbmstaW50ZXJuYWw6aG92ZXIsCi5ibS1raXQtZ3JpZCBhLm1hY3JvLWxpbms6aG92ZXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSg4MCwgNjAsIDYxLCAwLjk4KSwKCQkJcmdiYSg1NSwgNDMsIDQ1LCAwLjk4KQoJCSk7Cgljb2xvcjogI2ZmZjFjYzsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLmJtLWtpdC1pY29uIHsKCWRpc3BsYXk6IGlubGluZS1mbGV4OwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCWp1c3RpZnktY29udGVudDogY2VudGVyOwoJZmxleDogMCAwIDEuN2VtOwoJd2lkdGg6IDEuN2VtOwoJaGVpZ2h0OiAxLjdlbTsKCWJhY2tncm91bmQ6ICM3ZTQwNTI7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzNSwgMjA2LCAxNjAsIDAuMjgpOwoJYm9yZGVyLXJhZGl1czogNTAlOwoJY29sb3I6ICNmM2RmYjc7Cglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKCWZvbnQtc2l6ZTogMC45NWVtOwp9CgouYm0taWNvbi1jbHVlIHsKCWJhY2tncm91bmQ6ICM3NjY0Mzg7Cn0KCi5ibS1pY29uLW5vdGUgewoJYmFja2dyb3VuZDogIzhiNjg0MjsKfQoKLmJtLWljb24tbWFwIHsKCWJhY2tncm91bmQ6ICM0MTY2Njg7Cn0KCi5ibS1pY29uLXBlb3BsZSB7CgliYWNrZ3JvdW5kOiAjNWU2NTczOwp9CgouYm0taWNvbi1zYXZlIHsKCWJhY2tncm91bmQ6ICM1NTZmNGI7Cn0KCi5ibS1raXQtbGFiZWwgewoJb3ZlcmZsb3c6IGhpZGRlbjsKCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLyogVG9vbCBwYWdlcy4gKi8KLmJtLXRvb2wtcGFnZSB7CgltYXgtd2lkdGg6IDkwMHB4OwoJbWFyZ2luOiAwIGF1dG87Cn0KCi5ibS10b29sLXBhZ2UtaGVhZGluZyB7CgltYXJnaW4tYm90dG9tOiAxLjFlbTsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJtLXRvb2wtcGFnZS1raWNrZXIgewoJY29sb3I6ICNiNTliNjI7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjcyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS10b29sLXBhZ2UtaGVhZGluZyBoMSB7CgltYXJnaW46IDAuMTVlbSAwIDAuMmVtOwoJY29sb3I6ICNlYWRjYjk7Cglmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsIHNlcmlmOwoJZm9udC1zaXplOiAyLjJlbTsKfQoKLmJtLXRvb2wtcGFnZS1oZWFkaW5nIHAgewoJbWF4LXdpZHRoOiA2MjBweDsKCW1hcmdpbjogMCBhdXRvOwoJY29sb3I6ICNiY2I0OWY7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS1maWxlLWZvbGRlciB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CgltYXJnaW4tdG9wOiAyZW07CglwYWRkaW5nOiAxLjVlbTsKCWJhY2tncm91bmQ6ICNkM2MzOWM7Cglib3JkZXI6IDFweCBzb2xpZCAjOWI4MTUwOwoJYm9yZGVyLXJhZGl1czogM3B4OwoJYm94LXNoYWRvdzoKCQkwIDE3cHggMzZweCByZ2JhKDAsIDAsIDAsIDAuMzcpLAoJCWluc2V0IDAgMCAyNXB4IHJnYmEoNzEsIDUyLCAyMiwgMC4xMik7Cgljb2xvcjogIzI5MmEyMzsKfQoKLmJtLWZvbGRlci10YWIgewoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogMWVtOwoJdG9wOiAtMS42NWVtOwoJbWluLXdpZHRoOiA4ZW07CglwYWRkaW5nOiAwLjQyZW0gMC44ZW07CgliYWNrZ3JvdW5kOiAjYTg4ZjVkOwoJYm9yZGVyOiAxcHggc29saWQgIzgwNmE0MjsKCWJvcmRlci1ib3R0b206IDA7Cglib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsKCWNvbG9yOiAjMjkyNjFlOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC44MmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1jYXNlLWZpbGUtZ3JpZCB7CglkaXNwbGF5OiBncmlkOwoJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOwoJZ2FwOiAwLjdlbTsKfQoKLmJtLWZpbGUtY2FyZCwKLmJtLWZpbGUtb2JqZWN0aXZlIHsKCWJhY2tncm91bmQ6IHJnYmEoMjQyLCAyMzEsIDE5NiwgMC42NSk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDkxLCA3MCwgMzcsIDAuMyk7CglwYWRkaW5nOiAwLjdlbTsKfQoKLmJtLWZpbGUtbGFiZWwgewoJY29sb3I6ICM3NjVjMzU7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjcyZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1maWxlLXZhbHVlIHsKCW1hcmdpbi10b3A6IDAuMmVtOwoJY29sb3I6ICMzMDMxMmE7Cglmb250LXdlaWdodDogNzAwOwp9CgouYm0tZmlsZS1vYmplY3RpdmUgewoJbWFyZ2luLXRvcDogMC43ZW07Cglib3JkZXItbGVmdDogNHB4IHNvbGlkICM4NzM4NGQ7Cn0KCi5ibS1maWxlLW9iamVjdGl2ZSBwIHsKCW1hcmdpbjogMC4yNWVtIDAgMDsKCWNvbG9yOiAjMzAzMTJhOwp9CgouYm0tZmlsZS10b3RhbHMgewoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTsKCWdhcDogMC42ZW07CgltYXJnaW4tdG9wOiAwLjdlbTsKfQoKLmJtLWZpbGUtdG90YWwgewoJcGFkZGluZzogMC42NWVtOwoJYmFja2dyb3VuZDogIzMxNGY1MjsKCWJvcmRlcjogMXB4IHNvbGlkICMyMzNjM2U7Cgljb2xvcjogI2VlZTBiZDsKCWZvbnQtc2l6ZTogMC43OGVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJtLWZpbGUtdG90YWwgc3BhbiB7CglkaXNwbGF5OiBibG9jazsKCWNvbG9yOiAjZmZmMGM4OwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMS41ZW07CglsaW5lLWhlaWdodDogMTsKfQoKLyogQ2x1ZSBib2FyZC4gKi8KLmJtLWNsdWUtYm9hcmQgewoJcGFkZGluZzogMS4yZW07CgliYWNrZ3JvdW5kOgoJCXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoCgkJCTQ1ZGVnLAoJCQlyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDE4KSAwLAoJCQlyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDE4KSAycHgsCgkJCXRyYW5zcGFyZW50IDJweCwKCQkJdHJhbnNwYXJlbnQgN3B4CgkJKSwKCQkjNGIzNzI3OwoJYm9yZGVyOiA4cHggc29saWQgIzJmMjQxYzsKCWJveC1zaGFkb3c6CgkJMCAxOHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjQyKSwKCQlpbnNldCAwIDAgMzBweCByZ2JhKDAsIDAsIDAsIDAuMjUpOwp9CgouYm0tY2x1ZS1ib2FyZC1jb3VudCB7CgltYXJnaW4tYm90dG9tOiAwLjllbTsKCWNvbG9yOiAjZWJkOGFlOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMC43NmVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWxldHRlci1zcGFjaW5nOiAwLjA5ZW07Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tY2x1ZS1jYXJkLWdyaWQgewoJZGlzcGxheTogZ3JpZDsKCWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsKCWdhcDogMC45ZW07Cn0KCi5ibS1jbHVlLWNhcmQgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJbWluLWhlaWdodDogNS41ZW07CglwYWRkaW5nOiAxZW0gMC45ZW0gMC44ZW07CgliYWNrZ3JvdW5kOiAjZGZkMWE4OwoJYm9yZGVyOiAxcHggc29saWQgI2E5OTA2MDsKCWJveC1zaGFkb3c6IDAgN3B4IDEzcHggcmdiYSgwLCAwLCAwLCAwLjI3KTsKCWNvbG9yOiAjMzAzMTI5OwoJdHJhbnNmb3JtOiByb3RhdGUoLTAuM2RlZyk7Cn0KCi5ibS1jbHVlLWNhcmQ6bnRoLWNoaWxkKGV2ZW4pIHsKCXRyYW5zZm9ybTogcm90YXRlKDAuNGRlZyk7Cn0KCi5ibS1jbHVlLXBpbiB7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiA1MCU7Cgl0b3A6IC02cHg7Cgl3aWR0aDogMTFweDsKCWhlaWdodDogMTFweDsKCWJhY2tncm91bmQ6ICM4ZjNkNTA7Cglib3JkZXI6IDJweCBzb2xpZCAjNWYyODM3OwoJYm9yZGVyLXJhZGl1czogNTAlOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwp9CgouYm0tY2x1ZS1udW1iZXIgewoJY29sb3I6ICM3OTVmMzk7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjY3ZW07Cglmb250LXdlaWdodDogNzAwOwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJtLWNsdWUtdGV4dCB7CgltYXJnaW4tdG9wOiAwLjNlbTsKCWZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwoJZm9udC1zaXplOiAwLjg4ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDEuMzg7Cn0KCi5ibS1jb25uZWN0aW9ucy1zZWN0aW9uIHsKCW1hcmdpbi10b3A6IDEuMjVlbTsKCXBhZGRpbmctdG9wOiAxZW07Cglib3JkZXItdG9wOiAxcHggZGFzaGVkIHJnYmEoMjMzLCAyMTIsIDE3MCwgMC4zMik7Cn0KCi5ibS1jb25uZWN0aW9ucy1zZWN0aW9uIGgyIHsKCWNvbG9yOiAjZjBkZGIyOwp9CgouYm0tY29ubmVjdGlvbi1saXN0IHsKCWRpc3BsYXk6IGdyaWQ7CglnYXA6IDAuNTVlbTsKfQoKLmJtLWNvbm5lY3Rpb24tY2FyZCB7CglwYWRkaW5nOiAwLjdlbSAwLjhlbTsKCWJhY2tncm91bmQ6IHJnYmEoMzAsIDUwLCA1MSwgMC45Myk7Cglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwOSwgMTU1LCAxNTUsIDAuNDIpOwoJY29sb3I6ICNkYmU0ZDU7Cn0KCi5ibS1jb25uZWN0aW9uLWNhcmQgc3BhbiB7CgltYXJnaW4tcmlnaHQ6IDAuMzVlbTsKCWNvbG9yOiAjNjVkYjc5Owp9CgovKiBOb3RlYm9vay4gKi8KLmJtLW5vdGVib29rLXNoZWV0IHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCW1pbi1oZWlnaHQ6IDM4MHB4OwoJcGFkZGluZzogMmVtIDJlbSAyZW0gNC40ZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJOTBkZWcsCgkJCXRyYW5zcGFyZW50IDAsCgkJCXRyYW5zcGFyZW50IDMuNGVtLAoJCQlyZ2JhKDE4NCwgNjgsIDgyLCAwLjQyKSAzLjRlbSwKCQkJcmdiYSgxODQsIDY4LCA4MiwgMC40MikgMy40OGVtLAoJCQl0cmFuc3BhcmVudCAzLjQ4ZW0KCQkpLAoJCXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoCgkJCTBkZWcsCgkJCXRyYW5zcGFyZW50IDAsCgkJCXRyYW5zcGFyZW50IDEuNzVlbSwKCQkJcmdiYSg4MiwgMTI1LCAxNTgsIDAuMjIpIDEuNzVlbSwKCQkJcmdiYSg4MiwgMTI1LCAxNTgsIDAuMjIpIDEuODFlbQoJCSksCgkJI2U2ZGJiODsKCWJvcmRlcjogMXB4IHNvbGlkICM5ZTg5NWM7Cglib3gtc2hhZG93OiAwIDE4cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMzgpOwoJY29sb3I6ICMzMDMxMjg7Cn0KCi5ibS1ub3RlYm9vay1zaGVldCBoMiB7Cgljb2xvcjogIzZkMzA0MTsKCWZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7Cn0KCi5ibS1ub3RlYm9vay1ob2xlcyB7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiAwLjdlbTsKCXRvcDogMmVtOwoJYm90dG9tOiAyZW07CglkaXNwbGF5OiBmbGV4OwoJZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKCWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKfQoKLmJtLW5vdGVib29rLWhvbGVzIHNwYW4gewoJZGlzcGxheTogYmxvY2s7Cgl3aWR0aDogMTRweDsKCWhlaWdodDogMTRweDsKCWJhY2tncm91bmQ6ICMzMTM0MzQ7Cglib3JkZXI6IDNweCBzb2xpZCAjYWE5OTZlOwoJYm9yZGVyLXJhZGl1czogNTAlOwoJYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC43KTsKfQoKLmJtLW5vdGVib29rLWxpc3QgewoJbWFyZ2luLWxlZnQ6IDA7CglwYWRkaW5nLWxlZnQ6IDEuNWVtOwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKfQoKLmJtLW5vdGVib29rLWxpc3QgbGkgewoJbWFyZ2luOiAwLjU1ZW0gMDsKCXBhZGRpbmctbGVmdDogMC4zZW07CglsaW5lLWhlaWdodDogMS40Owp9CgouYm0tbm90ZWJvb2stZW1wdHkgewoJY29sb3I6ICM2YjY4NTc7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zdHlsZTogaXRhbGljOwp9CgovKiBNYXAuICovCi5ibS1tYXAtcGxhY2Vob2xkZXIgewoJcG9zaXRpb246IHJlbGF0aXZlOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCW1pbi1oZWlnaHQ6IDQ4MHB4OwoJYmFja2dyb3VuZDoKCQlyYWRpYWwtZ3JhZGllbnQoCgkJCWNpcmNsZSBhdCA3NSUgMzAlLAoJCQlyZ2JhKDY5LCAxMDMsIDgyLCAwLjE4KSwKCQkJdHJhbnNwYXJlbnQgMjQlCgkJKSwKCQlyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KAoJCQkwZGVnLAoJCQlyZ2JhKDc0LCA2MiwgMzksIDAuMDI1KSAwLAoJCQlyZ2JhKDc0LCA2MiwgMzksIDAuMDI1KSAxcHgsCgkJCXRyYW5zcGFyZW50IDFweCwKCQkJdHJhbnNwYXJlbnQgNXB4CgkJKSwKCQkjZDJjNTlkOwoJYm9yZGVyOiAxcHggc29saWQgIzk5ODA0ZTsKCWJveC1zaGFkb3c6IDAgMThweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKCWNvbG9yOiAjMzAzMTI4Owp9CgouYm0tbWFwLXJvYWQgewoJcG9zaXRpb246IGFic29sdXRlOwoJYmFja2dyb3VuZDogcmdiYSgxMDEsIDg1LCA1NSwgMC4zMyk7Cglib3JkZXI6IDFweCBkYXNoZWQgcmdiYSg3OCwgNjUsIDQyLCAwLjU1KTsKfQoKLmJtLW1hcC1yb2FkLW9uZSB7CglsZWZ0OiAtNSU7Cgl0b3A6IDQ2JTsKCXdpZHRoOiAxMTUlOwoJaGVpZ2h0OiAyLjJlbTsKCXRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsKfQoKLmJtLW1hcC1yb2FkLXR3byB7CglsZWZ0OiA0OCU7Cgl0b3A6IC0xMCU7Cgl3aWR0aDogMi4yZW07CgloZWlnaHQ6IDEyMCU7Cgl0cmFuc2Zvcm06IHJvdGF0ZSgxNGRlZyk7Cn0KCi5ibS1tYXAtbG9jYXRpb24gewoJcG9zaXRpb246IGFic29sdXRlOwoJei1pbmRleDogMjsKCW1heC13aWR0aDogMTgwcHg7CglwYWRkaW5nOiAwLjY1ZW0gMC43NWVtOwoJYmFja2dyb3VuZDogI2U3ZGJiODsKCWJvcmRlcjogMXB4IHNvbGlkICM5MDc3NDc7Cglib3gtc2hhZG93OiAwIDdweCAxM3B4IHJnYmEoNTYsIDQzLCAyMiwgMC4yNSk7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAwLjc4ZW07Cglmb250LXdlaWdodDogNzAwOwoJdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tbWFwLWN1cnJlbnQgewoJbGVmdDogMzclOwoJdG9wOiAzOSU7Cglib3JkZXI6IDJweCBzb2xpZCAjODczODRkOwp9CgouYm0tbWFwLWhvdXNlIHsKCWxlZnQ6IDglOwoJdG9wOiAxOCU7Cn0KCi5ibS1tYXAtc2Nob29sIHsKCXJpZ2h0OiA4JTsKCXRvcDogMTklOwp9CgouYm0tbWFwLXdvb2RzIHsKCXJpZ2h0OiAxMyU7Cglib3R0b206IDE4JTsKfQoKLmJtLW1hcC1zeW1ib2wgewoJZGlzcGxheTogYmxvY2s7CgltYXJnaW4tYm90dG9tOiAwLjJlbTsKCWNvbG9yOiAjNTA2YzU3OwoJZm9udC1zaXplOiAxLjZlbTsKfQoKLmJtLW1hcC1waW4gewoJZGlzcGxheTogYmxvY2s7Cgl3aWR0aDogMTJweDsKCWhlaWdodDogMTJweDsKCW1hcmdpbjogMCBhdXRvIDAuMzVlbTsKCWJhY2tncm91bmQ6ICM5MTNjNTE7Cglib3JkZXItcmFkaXVzOiA1MCUgNTAlIDUwJSAwOwoJdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKfQoKLmJtLW1hcC1ub3RlIHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDglOwoJYm90dG9tOiA4JTsKCXotaW5kZXg6IDI7CgltYXgtd2lkdGg6IDI3MHB4OwoJcGFkZGluZzogMC43NWVtOwoJYmFja2dyb3VuZDogI2VlZTJiZDsKCWJvcmRlcjogMXB4IHNvbGlkICM5ZTg3NTg7Cglib3gtc2hhZG93OiAwIDZweCAxM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTsKCWZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7Cglmb250LXNpemU6IDAuNzRlbTsKCWxpbmUtaGVpZ2h0OiAxLjQ7Cgl0cmFuc2Zvcm06IHJvdGF0ZSgtMWRlZyk7Cn0KCi8qIFBlb3BsZS4gKi8KLmJtLXBlb3BsZS1ncmlkIHsKCWRpc3BsYXk6IGdyaWQ7CglncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CglnYXA6IDAuODVlbTsKfQoKLmJtLXBlcnNvbi1jYXJkIHsKCWRpc3BsYXk6IGZsZXg7CglnYXA6IDAuOGVtOwoJcGFkZGluZzogMC45ZW07CgliYWNrZ3JvdW5kOiAjZDdjOWEzOwoJYm9yZGVyOiAxcHggc29saWQgIzkxN2E0ZDsKCWJveC1zaGFkb3c6IDAgOXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjI4KTsKCWNvbG9yOiAjMzAzMTI4Owp9CgouYm0tcGVyc29uLWluaXRpYWwgewoJZGlzcGxheTogZmxleDsKCWFsaWduLWl0ZW1zOiBjZW50ZXI7CglqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKCWZsZXg6IDAgMCAzZW07Cgl3aWR0aDogM2VtOwoJaGVpZ2h0OiAzZW07CgliYWNrZ3JvdW5kOiAjNGQ2OTc2OwoJYm9yZGVyOiAzcHggc29saWQgI2VlZTFiYzsKCWJvcmRlci1yYWRpdXM6IDNweDsKCWJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjQpOwoJY29sb3I6ICNmZmZmZmY7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAxLjJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS1wZXJzb24tcnlhbiAuYm0tcGVyc29uLWluaXRpYWwgewoJYmFja2dyb3VuZDogIzczNzc0NjsKfQoKLmJtLXBlcnNvbi1raW1teSAuYm0tcGVyc29uLWluaXRpYWwgewoJYmFja2dyb3VuZDogIzkxNjM3NjsKfQoKLmJtLXBlcnNvbi1zY29vdCAuYm0tcGVyc29uLWluaXRpYWwgewoJYmFja2dyb3VuZDogIzk4NmI0NTsKfQoKLmJtLXBlcnNvbi1pbmZvcm1hdGlvbiBoMiB7CgltYXJnaW46IDA7Cgljb2xvcjogIzYxMzA0MzsKCWZvbnQtc2l6ZTogMS4xNWVtOwp9CgouYm0tcGVyc29uLWluZm9ybWF0aW9uIHAgewoJbWFyZ2luOiAwLjM1ZW0gMCAwOwoJY29sb3I6ICMzZDNlMzQ7Cglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKCWZvbnQtc2l6ZTogMC44NmVtOwoJbGluZS1oZWlnaHQ6IDEuMzg7Cn0KCi5ibS1wZXJzb24tdG9vbCB7CgltYXJnaW4tdG9wOiAwLjE1ZW07Cgljb2xvcjogIzY5NjM0ZjsKCWZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7Cglmb250LXNpemU6IDAuN2VtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1wZW9wbGUtbm90ZSB7CgltYXJnaW4tdG9wOiAxZW07CglwYWRkaW5nOiAwLjc1ZW07CgliYWNrZ3JvdW5kOiByZ2JhKDQ0LCA2NSwgNjYsIDAuNTUpOwoJYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjNjM4YThjOwoJY29sb3I6ICNkOWQ1YzY7Cglmb250LXNpemU6IDAuODZlbTsKfQoKLyogU2hhcmVkIGVtcHR5IHN0YXRlIGFuZCByZXR1cm4gYnV0dG9uLiAqLwouYm0tdG9vbC1lbXB0eSB7CglwYWRkaW5nOiAyZW0gMWVtOwoJYmFja2dyb3VuZDogcmdiYSgyMzEsIDIxNywgMTc4LCAwLjkyKTsKCWJvcmRlcjogMXB4IHNvbGlkICM5ZTg2NTY7Cgljb2xvcjogIzM3MzgyZjsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJtLXRvb2wtZW1wdHktc3ltYm9sIHsKCWRpc3BsYXk6IGZsZXg7CglhbGlnbi1pdGVtczogY2VudGVyOwoJanVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cgl3aWR0aDogMi41ZW07CgloZWlnaHQ6IDIuNWVtOwoJbWFyZ2luOiAwIGF1dG8gMC43ZW07CgliYWNrZ3JvdW5kOiAjN2IzYTRjOwoJYm9yZGVyLXJhZGl1czogNTAlOwoJY29sb3I6ICNmZmYwY2Y7Cglmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwoJZm9udC1zaXplOiAxLjJlbTsKCWZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS10b29sLWVtcHR5IHAgewoJbWFyZ2luOiAwLjQ1ZW0gYXV0byAwOwoJY29sb3I6ICM1MDUxNDQ7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS10b29sLXJldHVybiB7CgltYXgtd2lkdGg6IDM0MHB4OwoJbWFyZ2luOiAxLjI1ZW0gYXV0byAwOwp9CgouYm0tdG9vbC1yZXR1cm4gYSwKLmJtLXRvb2wtcmV0dXJuIGEubGluay1pbnRlcm5hbCwKLmJtLXRvb2wtcmV0dXJuIGEubWFjcm8tbGluayB7CglkaXNwbGF5OiBibG9jazsKCWJveC1zaXppbmc6IGJvcmRlci1ib3g7Cgl3aWR0aDogMTAwJTsKCXBhZGRpbmc6IDAuNzVlbSAxZW07CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjOGY0MDU1LAoJCQkjNmUyZDQwCgkJKTsKCWJvcmRlcjogMXB4IHNvbGlkICNhODVhNmU7Cglib3JkZXItcmFkaXVzOiAzcHg7Cgljb2xvcjogI2ZmZjBjZjsKCWZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgc2VyaWY7Cglmb250LXdlaWdodDogNzAwOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgouYm0tdG9vbC1yZXR1cm4gYTo6YmVmb3JlLAouYm0tdG9vbC1yZXR1cm4gYTo6YWZ0ZXIgewoJZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwoJY29udGVudDogbm9uZSAhaW1wb3J0YW50Owp9CgouYm0tdG9vbC1yZXR1cm4gYTpob3ZlciwKLmJtLXRvb2wtcmV0dXJuIGEubGluay1pbnRlcm5hbDpob3ZlciwKLmJtLXRvb2wtcmV0dXJuIGEubWFjcm8tbGluazpob3ZlciB7CgliYWNrZ3JvdW5kOgoJCWxpbmVhci1ncmFkaWVudCgKCQkJMTgwZGVnLAoJCQkjYTk0YjYzLAoJCQkjODAzNDQ4CgkJKTsKCWNvbG9yOiAjZmZmZmZmOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgovKiBIaWdoIGNvbnRyYXN0LiAqLwpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY2FzZS1jYXJkLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tZmlsZS1mb2xkZXIsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1ub3RlYm9vay1zaGVldCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLW1hcC1wbGFjZWhvbGRlciwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLXBlcnNvbi1jYXJkLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY2x1ZS1jYXJkIHsKCWNvbG9yOiAjMTUxNTEwOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY2FzZS1sb2NhdGlvbi1uYW1lLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY2FzZS1vYmplY3RpdmUtdGV4dCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWZpbGUtdmFsdWUsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1maWxlLW9iamVjdGl2ZSBwLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tcGVyc29uLWluZm9ybWF0aW9uIHAgewoJY29sb3I6ICMxNTE1MTA7Cn0KCi8qIFJlc3BvbnNpdmUgdG9vbCBwYWdlcy4gKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKCS5ibS1jYXNlLWZpbGUtZ3JpZCwKCS5ibS1jbHVlLWNhcmQtZ3JpZCwKCS5ibS1wZW9wbGUtZ3JpZCB7CgkJZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7Cgl9CgoJLmJtLWZpbGUtdG90YWxzIHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKCX0KCgkuYm0tbm90ZWJvb2stc2hlZXQgewoJCXBhZGRpbmctcmlnaHQ6IDFlbTsKCQlwYWRkaW5nLWxlZnQ6IDMuN2VtOwoJfQoKCS5ibS1tYXAtcGxhY2Vob2xkZXIgewoJCW1pbi1oZWlnaHQ6IDU0MHB4OwoJfQoKCS5ibS1tYXAtY3VycmVudCB7CgkJbGVmdDogMzAlOwoJCXRvcDogNDElOwoJfQoKCS5ibS1tYXAtaG91c2UgewoJCWxlZnQ6IDQlOwoJCXRvcDogMTQlOwoJfQoKCS5ibS1tYXAtc2Nob29sIHsKCQlyaWdodDogNCU7CgkJdG9wOiAxOCU7Cgl9CgoJLmJtLW1hcC13b29kcyB7CgkJcmlnaHQ6IDUlOwoJCWJvdHRvbTogMTklOwoJfQoKCS5ibS1tYXAtbm90ZSB7CgkJbGVmdDogNSU7CgkJcmlnaHQ6IDUlOwoJCWJvdHRvbTogNCU7CgkJbWF4LXdpZHRoOiBub25lOwoJfQp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkgewoJLmJtLWtpdC1ncmlkIHsKCQlncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKCX0KCgkuYm0tZmlsZS1mb2xkZXIsCgkuYm0tY2x1ZS1ib2FyZCB7CgkJcGFkZGluZzogMC44ZW07Cgl9CgoJLmJtLXBlcnNvbi1jYXJkIHsKCQlmbGV4LWRpcmVjdGlvbjogY29sdW1uOwoJfQoKCS5ibS1tYXAtcGxhY2Vob2xkZXIgewoJCW1pbi1oZWlnaHQ6IDYyMHB4OwoJfQoKCS5ibS1tYXAtbG9jYXRpb24gewoJCW1heC13aWR0aDogMTI1cHg7CgkJZm9udC1zaXplOiAwLjY4ZW07Cgl9CgoJLmJtLW1hcC1jdXJyZW50IHsKCQlsZWZ0OiAyNSU7CgkJdG9wOiA0MCU7Cgl9Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTVEFSVCBTQ1JFRU4gQkFOTkVSIE9WRVJMQVAgRklYCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLXN0YXJ0LWNhc2UtZmlsZSB7CgltYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CgkuYm0tc3RhcnQtY2FzZS1maWxlIHsKCQltYXJnaW4tdG9wOiAwLjc1cmVtICFpbXBvcnRhbnQ7Cgl9Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7CgkuYm0tc3RhcnQtY2FzZS1maWxlIHsKCQltYXJnaW4tdG9wOiAwLjZyZW0gIWltcG9ydGFudDsKCX0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQlJFQ0tFTlJJREdFIFNJREVCQVIgTkFWSUdBVElPTgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNtZW51LXN0b3J5IHsKCW1hcmdpbi1ib3R0b206IDAuNTVlbSAhaW1wb3J0YW50OwoJYm9yZGVyLWNvbG9yOiByZ2JhKDEzOSwgNjEsIDgxLCAwLjM4KSAhaW1wb3J0YW50Owp9CgojbWVudS1zdG9yeSBsaSBhIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXBhZGRpbmc6IDAuNDhlbSAwLjY1ZW0gMC40OGVtIDIuMTVlbTsKCWJhY2tncm91bmQ6CgkJbGluZWFyLWdyYWRpZW50KAoJCQkxODBkZWcsCgkJCXJnYmEoNjQsIDQ3LCA1MSwgMC44KSwKCQkJcmdiYSg0MCwgMzQsIDM2LCAwLjg2KQoJCSk7Cgljb2xvcjogI2VhZDhiMzsKCWZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwoJZm9udC1zaXplOiAwLjc4ZW07Cglmb250LXdlaWdodDogNzAwOwoJbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CglsaW5lLWhlaWdodDogMS4yOwoJdGV4dC1hbGlnbjogbGVmdDsKCXRleHQtdHJhbnNmb3JtOiBub25lOwp9CgojbWVudS1zdG9yeSBsaSBhOjpiZWZvcmUgewoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogMC43ZW07Cgl0b3A6IDUwJTsKCWNvbG9yOiAjYmQ3Mjg1OwoJZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKCWZvbnQtc2l6ZTogMWVtOwoJZm9udC13ZWlnaHQ6IDcwMDsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKfQoKI21lbnUtc3RvcnkgbGk6bnRoLWNoaWxkKDEpIGE6OmJlZm9yZSB7Cgljb250ZW50OiAi4oyCIjsKfQoKI21lbnUtc3RvcnkgbGk6bnRoLWNoaWxkKDIpIGE6OmJlZm9yZSB7Cgljb250ZW50OiAiPyI7Cn0KCiNtZW51LXN0b3J5IGxpOm50aC1jaGlsZCgzKSBhOjpiZWZvcmUgewoJY29udGVudDogIuKWpCI7Cn0KCiNtZW51LXN0b3J5IGxpIGE6aG92ZXIgewoJYmFja2dyb3VuZDoKCQlsaW5lYXItZ3JhZGllbnQoCgkJCTE4MGRlZywKCQkJcmdiYSgxMTYsIDU3LCA3NCwgMC45KSwKCQkJcmdiYSg3MCwgNDMsIDUxLCAwLjkyKQoJCSk7Cgljb2xvcjogI2ZmZjFjZTsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKI21lbnUtc3RvcnkgbGk6bm90KDpmaXJzdC1jaGlsZCkgewoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjAyLCAxNjAsIDExMSwgMC4xNCk7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0ICNtZW51LXN0b3J5IGxpIGEgewoJY29sb3I6ICNmZmY1ZDY7Cn0KCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmICNtZW51LXN0b3J5IGxpIGEgewoJdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50Owp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewoJI21lbnUtc3RvcnkgbGkgYSB7CgkJdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwoJfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBJTlZFU1RJR0FUT1IgRklMRSBTVEFUVVMKICAgQWRkIHRoaXMgYmxvY2sgdG8gdGhlIGVuZCBvZiB0aGUgVHdpbmUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYm0tcGVyc29uLXN0YXR1cyB7CiAgICBtYXJnaW4tdG9wOiAwLjQyZW07CiAgICBwYWRkaW5nLXRvcDogMC4zOGVtOwogICAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCByZ2JhKDc0LCA2MiwgMzksIDAuMyk7CiAgICBjb2xvcjogIzRjNGQ0MTsKICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDAuNzJlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM1Owp9CgouYm0tcGVyc29uLXN0YXR1cyBzdHJvbmcgewogICAgY29sb3I6ICM2ODJmNDI7Cn0KCi5ibS1wZW9wbGUtbm90ZSBzdHJvbmcgewogICAgY29sb3I6ICNmMGNmODM7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1wZXJzb24tc3RhdHVzIHsKICAgIGNvbG9yOiAjMWExYTE2Owp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tcGVyc29uLXN0YXR1cyBzdHJvbmcgewogICAgY29sb3I6ICM1MDIwMzM7Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIENBU0UgRklMRSBDSEFQVEVSIFBST0dSRVNTCiAgIEFkZCB0aGlzIGJsb2NrIHRvIHRoZSBlbmQgb2YgdGhlIFR3aW5lIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLWNhc2UtcHJvZ3Jlc3MgewogICAgbWFyZ2luLXRvcDogMC44NWVtOwogICAgcGFkZGluZzogMC44ZW07CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMjMxLCAxOTYsIDAuNjUpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg5MSwgNzAsIDM3LCAwLjMpOwp9CgouYm0tY2FzZS1wcm9ncmVzcy10aXRsZSB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjU1ZW07CiAgICBjb2xvcjogIzc2NWMzNTsKICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDAuNzJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJtLWNhc2UtcHJvZ3Jlc3MtdHJhY2sgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKTsKICAgIGdhcDogMC4zNWVtOwp9CgouYm0tY2FzZS1wcm9ncmVzcy1zdGVwIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1pbi13aWR0aDogMDsKICAgIHBhZGRpbmc6IDAuNTVlbSAwLjJlbTsKICAgIGJhY2tncm91bmQ6IHJnYmEoOTMsIDgzLCA2MSwgMC4xNik7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDc4LCA2NiwgNDMsIDAuMyk7CiAgICBjb2xvcjogIzZkNjk1ODsKICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDAuN2VtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjE1OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tY2FzZS1wcm9ncmVzcy1zdGVwLmlzLWNvbXBsZXRlIHsKICAgIGJhY2tncm91bmQ6ICM0ZjZjNTk7CiAgICBib3JkZXItY29sb3I6ICMzZTU5NDg7CiAgICBjb2xvcjogI2Y0ZThjOTsKfQoKLmJtLWNhc2UtcHJvZ3Jlc3Mtc3RlcC5pcy1jdXJyZW50IHsKICAgIGJhY2tncm91bmQ6ICM4NzM4NGQ7CiAgICBib3JkZXItY29sb3I6ICNhNTU1NmE7CiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgxMzUsIDU2LCA3NywgMC4xOCk7CiAgICBjb2xvcjogI2ZmZjBjZjsKfQoKLmJtLWNhc2UtcHJvZ3Jlc3Mtc3RlcC5pcy1sb2NrZWQgewogICAgb3BhY2l0eTogMC41ODsKfQoKLmJtLWNhc2UtcHJvZ3Jlc3Mtc3RlcCBzcGFuIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luLXRvcDogMC4yZW07CiAgICBmb250LXNpemU6IDAuNzhlbTsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7Cn0KCi5ibS1jYXNlLXByb2dyZXNzLXN1bW1hcnkgewogICAgbWFyZ2luLXRvcDogMC42ZW07CiAgICBjb2xvcjogIzRmNTA0NDsKICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAwLjc4ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1jYXNlLXByb2dyZXNzIHsKICAgIGJhY2tncm91bmQ6ICNmNGU5Yzg7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1jYXNlLXByb2dyZXNzLXN0ZXAgewogICAgYm9yZGVyLWNvbG9yOiAjMjkyOTFmOwogICAgY29sb3I6ICMyOTI5MWY7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1jYXNlLXByb2dyZXNzLXN0ZXAuaXMtY29tcGxldGUsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1jYXNlLXByb2dyZXNzLXN0ZXAuaXMtY3VycmVudCB7CiAgICBjb2xvcjogI2ZmZmZmZjsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKICAgIC5ibS1jYXNlLXByb2dyZXNzLXRyYWNrIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7CiAgICB9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIENMVUUgQk9BUkQgRVhQQU5TSU9OCiAgIEFkZCB0aGlzIGJsb2NrIHRvIHRoZSBlbmQgb2YgdGhlIFR3aW5lIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLWNsdWUtc3VtbWFyeSB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpOwogICAgZ2FwOiAwLjU1ZW07CiAgICBtYXJnaW4tYm90dG9tOiAwLjg1ZW07Cn0KCi5ibS1jbHVlLXN1bW1hcnktaXRlbSB7CiAgICBwYWRkaW5nOiAwLjdlbSAwLjQ1ZW07CiAgICBiYWNrZ3JvdW5kOiAjMzE0ZjUyOwogICAgYm9yZGVyOiAxcHggc29saWQgIzQ5NmQ3MDsKICAgIGNvbG9yOiAjZThkYWI4OwogICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7CiAgICBmb250LXNpemU6IDAuNzVlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yNTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmJtLWNsdWUtc3VtbWFyeS1pdGVtIHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tYm90dG9tOiAwLjEyZW07CiAgICBjb2xvcjogI2ZmZjBjODsKICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDEuNTVlbTsKICAgIGxpbmUtaGVpZ2h0OiAxOwp9CgouYm0tbGF0ZXN0LWNsdWUgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luLWJvdHRvbTogMWVtOwogICAgcGFkZGluZzogMC45ZW0gMWVtOwogICAgYmFja2dyb3VuZDogI2U1ZDhiMDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNhMjhhNTk7CiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM4NzM4NGQ7CiAgICBib3gtc2hhZG93OiAwIDhweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4yNik7CiAgICBjb2xvcjogIzMwMzEyODsKfQoKLmJtLWxhdGVzdC1jbHVlLWxhYmVsIHsKICAgIG1hcmdpbi1ib3R0b206IDAuM2VtOwogICAgY29sb3I6ICM3NDMyNDc7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjcyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1sYXRlc3QtY2x1ZS10ZXh0IHsKICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAwLjkyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNDsKfQoKLmJtLXNoYXJlZC1ldmlkZW5jZS1zZWN0aW9uIHsKICAgIG1hcmdpbi10b3A6IDEuMjVlbTsKICAgIHBhZGRpbmctdG9wOiAxZW07CiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHJnYmEoMjMzLCAyMTIsIDE3MCwgMC4zMik7Cn0KCi5ibS1zaGFyZWQtZXZpZGVuY2Utc2VjdGlvbiBoMiB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjE1ZW07CiAgICBjb2xvcjogI2YwZGRiMjsKfQoKLmJtLWJvYXJkLXNlY3Rpb24tbm90ZSB7CiAgICBtYXJnaW46IDAgMCAwLjdlbTsKICAgIGNvbG9yOiAjY2FiZjlmOwogICAgZm9udC1zaXplOiAwLjgyZW07CiAgICBsaW5lLWhlaWdodDogMS4zNTsKfQoKLmJtLXNoYXJlZC1ldmlkZW5jZS1saXN0IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDAuNTVlbTsKfQoKLmJtLXNoYXJlZC1ldmlkZW5jZS1jYXJkIHsKICAgIHBhZGRpbmc6IDAuN2VtIDAuOGVtOwogICAgYmFja2dyb3VuZDogcmdiYSg3MiwgNjYsIDQzLCAwLjk0KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTkwLCAxNjUsIDEwMSwgMC40OCk7CiAgICBjb2xvcjogI2VlZTBiYTsKICAgIGZvbnQtc2l6ZTogMC44NmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNDsKfQoKLmJtLXNoYXJlZC1ldmlkZW5jZS1jYXJkIHNwYW4gewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMS4zNWVtOwogICAgaGVpZ2h0OiAxLjM1ZW07CiAgICBtYXJnaW4tcmlnaHQ6IDAuNGVtOwogICAgYmFja2dyb3VuZDogIzhiNmUzNTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGNvbG9yOiAjZmZmMWM2OwogICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1sYXRlc3QtY2x1ZSB7CiAgICBiYWNrZ3JvdW5kOiAjZjRlOWM4OwogICAgY29sb3I6ICMxNzE3MTI7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1zaGFyZWQtZXZpZGVuY2UtY2FyZCB7CiAgICBiYWNrZ3JvdW5kOiAjMzMyZjIwOwogICAgY29sb3I6ICNmZmZmZmY7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgICAuYm0tY2x1ZS1zdW1tYXJ5IHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgIH0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgSU5WRVNUSUdBVE9SIE5PVEVCT09LIEVYUEFOU0lPTgogICBBZGQgdGhpcyBibG9jayB0byB0aGUgZW5kIG9mIHRoZSBUd2luZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1ub3RlYm9vay1zdW1tYXJ5IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7CiAgICBnYXA6IDAuNTVlbTsKICAgIG1hcmdpbi1ib3R0b206IDAuODVlbTsKfQoKLmJtLW5vdGVib29rLXN1bW1hcnktY2FyZCB7CiAgICBwYWRkaW5nOiAwLjY4ZW0gMC40NWVtOwogICAgYmFja2dyb3VuZDogIzUxM2IzMjsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM3OTViNDk7CiAgICBjb2xvcjogI2U1ZDdiYTsKICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAwLjc0ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS1ub3RlYm9vay1zdW1tYXJ5LWNhcmQgc3BhbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBtYXJnaW4tYm90dG9tOiAwLjEyZW07CiAgICBjb2xvcjogI2ZmZjBjYjsKICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDEuMzVlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi5ibS1ub3RlYm9vay1zZWN0aW9uIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLmJtLW5vdGVib29rLXNlY3Rpb24gKyAuYm0tbm90ZWJvb2stc2VjdGlvbiB7CiAgICBtYXJnaW4tdG9wOiAxLjRlbTsKICAgIHBhZGRpbmctdG9wOiAxLjFlbTsKICAgIGJvcmRlci10b3A6IDJweCBkYXNoZWQgcmdiYSg5MiwgNzUsIDQ4LCAwLjM0KTsKfQoKLmJtLW5vdGVib29rLXNlY3Rpb24gaDIgewogICAgbWFyZ2luOiAwIDAgMC40ZW07Cn0KCi5ibS1ub3RlYm9vay1zZWN0aW9uLW5vdGUgewogICAgbWFyZ2luOiAwIDAgMC43NWVtOwogICAgY29sb3I6ICM2NjYyNTA7CiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMC44ZW07CiAgICBsaW5lLWhlaWdodDogMS40Owp9CgouYm0tbm90ZWJvb2stc2hhcmVkLXNlY3Rpb24gaDIgewogICAgY29sb3I6ICM1MzZlNWE7Cn0KCi5ibS1ub3RlYm9vay1jb25uZWN0aW9ucy1zZWN0aW9uIGgyIHsKICAgIGNvbG9yOiAjNzQzMjQ3Owp9CgouYm0tbm90ZWJvb2stY29ubmVjdGlvbnMtc2VjdGlvbiAuYm0tbm90ZWJvb2stbGlzdCBsaSB7CiAgICBmb250LXdlaWdodDogNzAwOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tbm90ZWJvb2stc3VtbWFyeS1jYXJkIHsKICAgIGJhY2tncm91bmQ6ICMyZDIzMWY7CiAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7CiAgICBjb2xvcjogI2ZmZmZmZjsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLW5vdGVib29rLXNlY3Rpb24tbm90ZSB7CiAgICBjb2xvcjogIzIwMjAxODsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKICAgIC5ibS1ub3RlYm9vay1zdW1tYXJ5IHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgIH0KCiAgICAuYm0tbm90ZWJvb2stc3VtbWFyeS1jYXJkIHNwYW4gewogICAgICAgIGZvbnQtc2l6ZTogMS4xNWVtOwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTVEFSVCBTQ1JFRU4gVE9PTCBWSVNJQklMSVRZIEZJWAogICBBZGQgdGhpcyBibG9jayB0byB0aGUgZW5kIG9mIHRoZSBUd2luZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1zdGFydC10b29scyB7CiAgICBnYXA6IDAuN3JlbTsKICAgIHBhZGRpbmctdG9wOiAxLjFyZW07Cn0KCi5ibS1zdGFydC10b29sIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgIGdhcDogMDsKICAgIG1pbi13aWR0aDogMTIuNXJlbTsKICAgIGNvbG9yOiAjZmZmZmZmOwp9CgouYm0tc3RhcnQtdG9vbCAuYm0tdG9vbC1pY29uIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBmbGV4OiAwIDAgMi42cmVtOwogICAgd2lkdGg6IDIuNnJlbTsKICAgIGhlaWdodDogYXV0bzsKICAgIG1pbi1oZWlnaHQ6IDIuNnJlbTsKICAgIGJhY2tncm91bmQ6ICMyOTQ4NGM7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMWQzNTM4OwogICAgYm9yZGVyLXJpZ2h0OiAwOwogICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7CiAgICBjb2xvcjogI2ZmZjJjYTsKICAgIGZvbnQtc2l6ZTogMC45NXJlbTsKICAgIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi5ibS1zdGFydC10b29sIGEsCi5ibS1zdGFydC10b29sIGEubGluay1pbnRlcm5hbCwKLmJtLXN0YXJ0LXRvb2wgYS5tYWNyby1saW5rIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBmbGV4OiAxIDEgYXV0bzsKICAgIHdpZHRoOiBhdXRvOwogICAgbWluLWhlaWdodDogMi42cmVtOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDAuNTVyZW0gMC44cmVtOwogICAgYmFja2dyb3VuZDogIzNkNjA2NDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMyOTQ4NGM7CiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsKICAgIGJveC1zaGFkb3c6IDAgNHB4IDlweCByZ2JhKDQ0LCA0OSwgNDAsIDAuMTgpOwogICAgY29sb3I6ICNmZmY0ZDQ7CiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMC44OHJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7Cn0KCi5ibS1zdGFydC10b29sIGE6aG92ZXIsCi5ibS1zdGFydC10b29sIGEubGluay1pbnRlcm5hbDpob3ZlciwKLmJtLXN0YXJ0LXRvb2wgYS5tYWNyby1saW5rOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICM4MTM0NDc7CiAgICBib3JkZXItY29sb3I6ICM2OTI1MzY7CiAgICBjb2xvcjogI2ZmZmZmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKfQoKLmJtLXN0YXJ0LXRvb2wgYTpmb2N1cy12aXNpYmxlLAouYm0tc3RhcnQtdG9vbCBhLmxpbmstaW50ZXJuYWw6Zm9jdXMtdmlzaWJsZSwKLmJtLXN0YXJ0LXRvb2wgYS5tYWNyby1saW5rOmZvY3VzLXZpc2libGUgewogICAgb3V0bGluZTogM3B4IHNvbGlkICM4MTM0NDc7CiAgICBvdXRsaW5lLW9mZnNldDogM3B4Owp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tc3RhcnQtdG9vbCBhLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tc3RhcnQtdG9vbCBhLmxpbmstaW50ZXJuYWwsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1zdGFydC10b29sIGEubWFjcm8tbGluayB7CiAgICBiYWNrZ3JvdW5kOiAjMTczODNkOwogICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwogICAgY29sb3I6ICNmZmZmZmY7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1zdGFydC10b29sIC5ibS10b29sLWljb24gewogICAgYmFja2dyb3VuZDogIzAwMDAwMDsKICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsKICAgIGNvbG9yOiAjZmZmZmZmOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgewogICAgLmJtLXN0YXJ0LXRvb2xzIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAuYm0tc3RhcnQtdG9vbCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWF4LXdpZHRoOiAyMnJlbTsKICAgIH0KfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgRElTQ09WRVJFRCBMT0NBVElPTlMgVE9XTiBNQVAKICAgQWRkIHRoaXMgYmxvY2sgdG8gdGhlIGVuZCBvZiB0aGUgVHdpbmUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYm0tbWFwLXN1bW1hcnkgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDAuN2ZyKSBtaW5tYXgoMCwgMS4zZnIpOwogICAgZ2FwOiAwLjU1ZW07CiAgICBtYXJnaW4tYm90dG9tOiAwLjg1ZW07Cn0KCi5ibS1tYXAtc3VtbWFyeS1jYXJkIHsKICAgIG1pbi13aWR0aDogMDsKICAgIHBhZGRpbmc6IDAuN2VtIDAuNTVlbTsKICAgIGJhY2tncm91bmQ6ICMzMTRmNTI7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDk2ZDcwOwogICAgY29sb3I6ICNlOGRhYjg7CiAgICBmb250LXNpemU6IDAuNzRlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS1tYXAtc3VtbWFyeS1jYXJkIHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLWJvdHRvbTogMC4xNWVtOwogICAgY29sb3I6ICNmZmYwYzg7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxLjM1ZW07CiAgICBsaW5lLWhlaWdodDogMS4xNTsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLmJtLW1hcC1zdW1tYXJ5LWN1cnJlbnQgc3BhbiB7CiAgICBmb250LXNpemU6IDAuOTVlbTsKfQoKLmJtLWRpc2NvdmVyeS1tYXAgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWluLWhlaWdodDogNjIwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZDoKICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDc1JSAyMiUsIHJnYmEoNTAsIDkyLCA3MCwgMC4xOCksIHRyYW5zcGFyZW50IDI1JSksCiAgICAgICAgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDc0LCA2MiwgMzksIDAuMDI1KSAwLCByZ2JhKDc0LCA2MiwgMzksIDAuMDI1KSAxcHgsIHRyYW5zcGFyZW50IDFweCwgdHJhbnNwYXJlbnQgNXB4KSwKICAgICAgICAjZDJjNTlkOwogICAgYm9yZGVyOiAxcHggc29saWQgIzk5ODA0ZTsKICAgIGJveC1zaGFkb3c6IDAgMThweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKfQoKLmJtLW1hcC1wYXRoIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHotaW5kZXg6IDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwMSwgODUsIDU1LCAwLjI4KTsKICAgIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDc4LCA2NSwgNDIsIDAuNTIpOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi5ibS1tYXAtcGF0aC1tYWluIHsKICAgIGxlZnQ6IC04JTsKICAgIHRvcDogNDclOwogICAgd2lkdGg6IDExNiU7CiAgICBoZWlnaHQ6IDIuMWVtOwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOwp9CgouYm0tbWFwLXBhdGgtc2Nob29sIHsKICAgIGxlZnQ6IDQ5JTsKICAgIHRvcDogLTglOwogICAgd2lkdGg6IDJlbTsKICAgIGhlaWdodDogMTE1JTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDEzZGVnKTsKfQoKLmJtLW1hcC1wYXRoLXdvb2RzIHsKICAgIHJpZ2h0OiAxOCU7CiAgICB0b3A6IDIyJTsKICAgIHdpZHRoOiAxLjVlbTsKICAgIGhlaWdodDogNzIlOwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTI4ZGVnKTsKfQoKLmJtLWRpc2NvdmVyeS1sb2NhdGlvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB6LWluZGV4OiAyOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDAuNDVlbTsKICAgIG1heC13aWR0aDogMjM1cHg7Cn0KCi5ibS1sb2NhdGlvbi1tYXJrZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZsZXg6IDAgMCAyLjFlbTsKICAgIHdpZHRoOiAyLjFlbTsKICAgIGhlaWdodDogMi4xZW07CiAgICBiYWNrZ3JvdW5kOiAjNDc2ODU5OwogICAgYm9yZGVyOiAzcHggc29saWQgI2U5ZGNiODsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJveC1zaGFkb3c6IDAgNHB4IDlweCByZ2JhKDAsIDAsIDAsIDAuMzIpOwogICAgY29sb3I6ICNmZmZmZmY7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKLmJtLWxvY2F0aW9uLWNhcmQgewogICAgbWluLXdpZHRoOiAwOwogICAgcGFkZGluZzogMC41NWVtIDAuNjVlbTsKICAgIGJhY2tncm91bmQ6ICNlNmRhYjY7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTA3NzQ3OwogICAgYm94LXNoYWRvdzogMCA2cHggMTNweCByZ2JhKDU2LCA0MywgMjIsIDAuMjIpOwogICAgY29sb3I6ICMzMDMxMjg7Cn0KCi5ibS1sb2NhdGlvbi1jYXJkIHN0cm9uZyB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiAjNjUzMDQ0OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCBzZXJpZjsKICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICBsaW5lLWhlaWdodDogMS4xNTsKfQoKLmJtLWxvY2F0aW9uLWNhcmQgc3BhbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi10b3A6IDAuMTVlbTsKICAgIGNvbG9yOiAjNTU1NTQ1OwogICAgZm9udC1zaXplOiAwLjY4ZW07CiAgICBsaW5lLWhlaWdodDogMS4zOwp9CgouYm0tZGlzY292ZXJ5LWxvY2F0aW9uLmlzLWN1cnJlbnQgLmJtLWxvY2F0aW9uLW1hcmtlciB7CiAgICBiYWNrZ3JvdW5kOiAjODczODRkOwogICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTM1LCA1NiwgNzcsIDAuMiksIDAgNHB4IDlweCByZ2JhKDAsIDAsIDAsIDAuMzIpOwp9CgouYm0tZGlzY292ZXJ5LWxvY2F0aW9uLmlzLWN1cnJlbnQgLmJtLWxvY2F0aW9uLWNhcmQgewogICAgYm9yZGVyOiAycHggc29saWQgIzg3Mzg0ZDsKfQoKLmJtLWRpc2NvdmVyeS1sb2NhdGlvbi5pcy1sb2NrZWQgewogICAgb3BhY2l0eTogMC41ODsKfQoKLmJtLWRpc2NvdmVyeS1sb2NhdGlvbi5pcy1sb2NrZWQgLmJtLWxvY2F0aW9uLW1hcmtlciB7CiAgICBiYWNrZ3JvdW5kOiAjNjc2NDUyOwp9CgouYm0tZGlzY292ZXJ5LWxvY2F0aW9uLmlzLWxvY2tlZCAuYm0tbG9jYXRpb24tY2FyZCB7CiAgICBiYWNrZ3JvdW5kOiAjYzdiYjk5OwogICAgZmlsdGVyOiBncmF5c2NhbGUoMC41NSk7Cn0KCi5ibS1sb2NhdGlvbi1ob3VzZSB7CiAgICBsZWZ0OiA1JTsKICAgIHRvcDogMTAlOwp9CgouYm0tbG9jYXRpb24tZWxlbWVudGFyeSB7CiAgICByaWdodDogNSU7CiAgICB0b3A6IDEyJTsKfQoKLmJtLWxvY2F0aW9uLW1pZGRsZSB7CiAgICBsZWZ0OiAzNiU7CiAgICB0b3A6IDM4JTsKfQoKLmJtLWxvY2F0aW9uLXBhc3NhZ2UgewogICAgcmlnaHQ6IDYlOwogICAgYm90dG9tOiAxNyU7Cn0KCi5ibS1sb2NhdGlvbi1vbGQtdG93biB7CiAgICBsZWZ0OiA3JTsKICAgIGJvdHRvbTogMTUlOwp9CgouYm0tbWFwLWxlZ2VuZCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICBib3R0b206IDIuMiU7CiAgICB6LWluZGV4OiAzOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZ2FwOiAwLjc1ZW07CiAgICB3aWR0aDogODAlOwogICAgcGFkZGluZzogMC41ZW07CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyOSwgMjE2LCAxNzYsIDAuODgpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg5MCwgNzIsIDQyLCAwLjM1KTsKICAgIGNvbG9yOiAjNDY0NzNjOwogICAgZm9udC1zaXplOiAwLjdlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7Cn0KCi5ibS1tYXAtbGVnZW5kIHNwYW4gewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAwLjNlbTsKfQoKLmJtLW1hcC1sZWdlbmQgaSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogMC44ZW07CiAgICBoZWlnaHQ6IDAuOGVtOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwp9CgouYm0tbGVnZW5kLWZvdW5kIHsKICAgIGJhY2tncm91bmQ6ICM0NzY4NTk7Cn0KCi5ibS1sZWdlbmQtY3VycmVudCB7CiAgICBiYWNrZ3JvdW5kOiAjODczODRkOwp9CgouYm0tbGVnZW5kLWxvY2tlZCB7CiAgICBiYWNrZ3JvdW5kOiAjODU4MDZiOwp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tbG9jYXRpb24tY2FyZCB7CiAgICBiYWNrZ3JvdW5kOiAjZjVlOWM2OwogICAgY29sb3I6ICMxNzE3MTI7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1sb2NhdGlvbi1jYXJkIHNwYW4gewogICAgY29sb3I6ICMxNzE3MTI7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7CiAgICAuYm0tbWFwLXN1bW1hcnkgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgfQoKICAgIC5ibS1kaXNjb3ZlcnktbWFwIHsKICAgICAgICBtaW4taGVpZ2h0OiA3NjBweDsKICAgIH0KCiAgICAuYm0tZGlzY292ZXJ5LWxvY2F0aW9uIHsKICAgICAgICBtYXgtd2lkdGg6IDE5MHB4OwogICAgfQoKICAgIC5ibS1sb2NhdGlvbi1ob3VzZSB7CiAgICAgICAgbGVmdDogMyU7CiAgICAgICAgdG9wOiA3JTsKICAgIH0KCiAgICAuYm0tbG9jYXRpb24tZWxlbWVudGFyeSB7CiAgICAgICAgcmlnaHQ6IDMlOwogICAgICAgIHRvcDogMjQlOwogICAgfQoKICAgIC5ibS1sb2NhdGlvbi1taWRkbGUgewogICAgICAgIGxlZnQ6IDglOwogICAgICAgIHRvcDogNDIlOwogICAgfQoKICAgIC5ibS1sb2NhdGlvbi1wYXNzYWdlIHsKICAgICAgICByaWdodDogMyU7CiAgICAgICAgYm90dG9tOiAyMCU7CiAgICB9CgogICAgLmJtLWxvY2F0aW9uLW9sZC10b3duIHsKICAgICAgICBsZWZ0OiAzJTsKICAgICAgICBib3R0b206IDclOwogICAgfQp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MzBweCkgewogICAgLmJtLWRpc2NvdmVyeS1tYXAgewogICAgICAgIG1pbi1oZWlnaHQ6IDg1MHB4OwogICAgfQoKICAgIC5ibS1kaXNjb3ZlcnktbG9jYXRpb24gewogICAgICAgIGxlZnQ6IDUlOwogICAgICAgIHJpZ2h0OiA1JTsKICAgICAgICBtYXgtd2lkdGg6IG5vbmU7CiAgICB9CgogICAgLmJtLWxvY2F0aW9uLWhvdXNlIHsKICAgICAgICB0b3A6IDUlOwogICAgfQoKICAgIC5ibS1sb2NhdGlvbi1lbGVtZW50YXJ5IHsKICAgICAgICB0b3A6IDIzJTsKICAgIH0KCiAgICAuYm0tbG9jYXRpb24tbWlkZGxlIHsKICAgICAgICB0b3A6IDQxJTsKICAgIH0KCiAgICAuYm0tbG9jYXRpb24tcGFzc2FnZSB7CiAgICAgICAgdG9wOiA1OSU7CiAgICAgICAgYm90dG9tOiBhdXRvOwogICAgfQoKICAgIC5ibS1sb2NhdGlvbi1vbGQtdG93biB7CiAgICAgICAgdG9wOiA3NyU7CiAgICAgICAgYm90dG9tOiBhdXRvOwogICAgfQoKICAgIC5ibS1tYXAtbGVnZW5kIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBNWVNURVJZIEJBREdFUwogICBBZGQgdGhpcyBibG9jayB0byB0aGUgZW5kIG9mIHRoZSBUd2luZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1iYWRnZS1wcm9ncmVzcyB7CiAgICBtYXJnaW4tYm90dG9tOiAxZW07CiAgICBwYWRkaW5nOiAwLjg1ZW07CiAgICBiYWNrZ3JvdW5kOiAjZDhjYmE3OwogICAgYm9yZGVyOiAxcHggc29saWQgIzlkODU1NTsKICAgIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjI0KTsKICAgIGNvbG9yOiAjMzAzMTI4Owp9CgouYm0tYmFkZ2UtcHJvZ3Jlc3MtY291bnQgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZ2FwOiAwLjQ1ZW07CiAgICBtYXJnaW4tYm90dG9tOiAwLjU1ZW07CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKLmJtLWJhZGdlLXByb2dyZXNzLWNvdW50IHN0cm9uZyB7CiAgICBjb2xvcjogIzgxMzQ0NzsKICAgIGZvbnQtc2l6ZTogMS43ZW07CiAgICBsaW5lLWhlaWdodDogMTsKfQoKLmJtLWJhZGdlLXByb2dyZXNzLWNvdW50IHNwYW4gewogICAgY29sb3I6ICM1NTU1NDU7CiAgICBmb250LXNpemU6IDAuNzhlbTsKfQoKLmJtLWJhZGdlLXByb2dyZXNzLXRyYWNrIHsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBoZWlnaHQ6IDAuN2VtOwogICAgYmFja2dyb3VuZDogcmdiYSg3MiwgNjQsIDQ1LCAwLjIpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3MiwgNjQsIDQ1LCAwLjM1KTsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4Owp9CgouYm0tYmFkZ2UtcHJvZ3Jlc3MtZmlsbCB7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM0OTZiNTksICM4MTM0NDcpOwogICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsKfQoKLmJtLWJhZGdlLWdyaWQgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsKICAgIGdhcDogMC44ZW07Cn0KCi5ibS1iYWRnZS1jYXJkIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1pbi13aWR0aDogMDsKICAgIHBhZGRpbmc6IDFlbTsKICAgIGJhY2tncm91bmQ6ICNkOGNiYTc7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWQ4NTU1OwogICAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMjUpOwogICAgY29sb3I6ICMzMDMxMjg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS1iYWRnZS1jYXJkLmlzLWVhcm5lZCB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZThkZGJkLCAjZDJjMjk1KTsKICAgIGJvcmRlci1jb2xvcjogI2I5OWE1ZDsKfQoKLmJtLWJhZGdlLWNhcmQuaXMtbG9ja2VkIHsKICAgIGJhY2tncm91bmQ6ICNiZGIzOTc7CiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwLjcyKTsKICAgIG9wYWNpdHk6IDAuNzsKfQoKLmJtLWJhZGdlLXNlYWwgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHdpZHRoOiAzLjRlbTsKICAgIGhlaWdodDogMy40ZW07CiAgICBtYXJnaW46IDAgYXV0byAwLjZlbTsKICAgIGJhY2tncm91bmQ6ICM2ODY1NTQ7CiAgICBib3JkZXI6IDRweCBkb3VibGUgI2VlZTBiYTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMWVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKLmJtLWJhZGdlLWJsdWUgewogICAgYmFja2dyb3VuZDogIzRjNmM3YTsKfQoKLmJtLWJhZGdlLWdvbGQgewogICAgYmFja2dyb3VuZDogIzg1NmQzYjsKfQoKLmJtLWJhZGdlLXB1cnBsZSB7CiAgICBiYWNrZ3JvdW5kOiAjNmQ1MTk2Owp9CgouYm0tYmFkZ2UtZ3JlZW4gewogICAgYmFja2dyb3VuZDogIzU5NmY0MzsKfQoKLmJtLWJhZGdlLXJvc2UgewogICAgYmFja2dyb3VuZDogIzhjNjA3MjsKfQoKLmJtLWJhZGdlLW9yYW5nZSB7CiAgICBiYWNrZ3JvdW5kOiAjOTU2OTQzOwp9CgouYm0tYmFkZ2UtZ3JvdXAgewogICAgYmFja2dyb3VuZDogIzQxNmI2ODsKfQoKLmJtLWJhZGdlLWZpbmFsIHsKICAgIGJhY2tncm91bmQ6ICM4MTM0NDc7Cn0KCi5ibS1iYWRnZS1jYXJkIGgyIHsKICAgIG1hcmdpbjogMCAwIDAuM2VtOwogICAgY29sb3I6ICM2NzMwNDQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsIHNlcmlmOwogICAgZm9udC1zaXplOiAxLjA1ZW07CiAgICBsaW5lLWhlaWdodDogMS4yOwp9CgouYm0tYmFkZ2UtY2FyZCBwIHsKICAgIG1hcmdpbjogMDsKICAgIGNvbG9yOiAjNDg0OTNlOwogICAgZm9udC1zaXplOiAwLjgyZW07CiAgICBsaW5lLWhlaWdodDogMS40OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tYmFkZ2Utc3RhdHVzIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi10b3A6IDAuN2VtOwogICAgcGFkZGluZzogMC4yNWVtIDAuNTVlbTsKICAgIGJhY2tncm91bmQ6ICM0OTZiNTk7CiAgICBjb2xvcjogI2ZmZjBjZjsKICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDAuNjZlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJtLWJhZGdlLWNhcmQuaXMtbG9ja2VkIC5ibS1iYWRnZS1zdGF0dXMgewogICAgYmFja2dyb3VuZDogIzY2NjM1NDsKfQoKLmJtLWJhZGdlLW5vdGUgewogICAgbWFyZ2luLXRvcDogMWVtOwogICAgcGFkZGluZzogMC43NWVtOwogICAgYmFja2dyb3VuZDogcmdiYSg0NCwgNjUsIDY2LCAwLjU4KTsKICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzYzOGE4YzsKICAgIGNvbG9yOiAjZDlkNWM2OwogICAgZm9udC1zaXplOiAwLjgyZW07CiAgICBsaW5lLWhlaWdodDogMS40Owp9Cgpib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tYmFkZ2UtcHJvZ3Jlc3MsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1iYWRnZS1jYXJkIHsKICAgIGJhY2tncm91bmQ6ICNmM2U4Yzc7CiAgICBjb2xvcjogIzE3MTcxMjsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWJhZGdlLWNhcmQgcCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWJhZGdlLXByb2dyZXNzLWNvdW50IHNwYW4gewogICAgY29sb3I6ICMxNzE3MTI7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7CiAgICAuYm0tYmFkZ2UtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICB9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJBREdFIEVBUk5FRCBOT1RJRklDQVRJT04KICAgQWRkIHRoaXMgYmxvY2sgdG8gdGhlIGVuZCBvZiB0aGUgVHdpbmUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYm0tYmFkZ2UtdG9hc3QgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMC43NWVtOwogICAgbWFyZ2luOiAxLjE1ZW0gMCAwLjI1ZW07CiAgICBwYWRkaW5nOiAwLjhlbTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlOGRkYmQsICNkMWMwOTIpOwogICAgYm9yZGVyOiAxcHggc29saWQgI2I3OTU1NDsKICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzRjNmM3YTsKICAgIGJveC1zaGFkb3c6IDAgOXB4IDIycHggcmdiYSgwLCAwLCAwLCAwLjMyKTsKICAgIGNvbG9yOiAjMmYzMDI4Owp9CgouYm0tYmFkZ2UtdG9hc3Qtc2VhbCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgd2lkdGg6IDMuMWVtOwogICAgaGVpZ2h0OiAzLjFlbTsKICAgIGJhY2tncm91bmQ6ICM0YzZjN2E7CiAgICBib3JkZXI6IDRweCBkb3VibGUgI2YxZTNiZDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJveC1zaGFkb3c6IDAgNHB4IDlweCByZ2JhKDAsIDAsIDAsIDAuMjYpOwogICAgY29sb3I6ICNmZmZmZmY7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjllbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS1iYWRnZS10b2FzdC1jb3B5IHsKICAgIG1pbi13aWR0aDogMDsKfQoKLmJtLWJhZGdlLXRvYXN0LWtpY2tlciB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjA4ZW07CiAgICBjb2xvcjogIzc2NDA1YTsKICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDAuNjZlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tYmFkZ2UtdG9hc3QtY29weSBzdHJvbmcgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBjb2xvcjogIzY1MzA0NDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgc2VyaWY7CiAgICBmb250LXNpemU6IDEuMDVlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7Cn0KCi5ibS1iYWRnZS10b2FzdC1jb3B5IHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tdG9wOiAwLjE2ZW07CiAgICBjb2xvcjogIzUwNTE0NDsKICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAwLjc2ZW07CiAgICBsaW5lLWhlaWdodDogMS4zNTsKfQoKLmJtLWJhZGdlLXRvYXN0LWFjdGlvbiBhLAouYm0tYmFkZ2UtdG9hc3QtYWN0aW9uIGEubGluay1pbnRlcm5hbCwKLmJtLWJhZGdlLXRvYXN0LWFjdGlvbiBhLm1hY3JvLWxpbmsgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwYWRkaW5nOiAwLjVlbSAwLjdlbTsKICAgIGJhY2tncm91bmQ6ICMzZDYwNjQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjk0ODRjOwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgY29sb3I6ICNmZmYxY2Y7CiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMC43MmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi5ibS1iYWRnZS10b2FzdC1hY3Rpb24gYTpob3ZlciwKLmJtLWJhZGdlLXRvYXN0LWFjdGlvbiBhLmxpbmstaW50ZXJuYWw6aG92ZXIsCi5ibS1iYWRnZS10b2FzdC1hY3Rpb24gYS5tYWNyby1saW5rOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICM4MTM0NDc7CiAgICBib3JkZXItY29sb3I6ICM2OTI1MzY7CiAgICBjb2xvcjogI2ZmZmZmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLmJtLXRvYXN0LWdvbGQgewogICAgYm9yZGVyLWxlZnQtY29sb3I6ICM4NTZkM2I7Cn0KCi5ibS10b2FzdC1nb2xkIC5ibS1iYWRnZS10b2FzdC1zZWFsIHsKICAgIGJhY2tncm91bmQ6ICM4NTZkM2I7Cn0KCi5ibS10b2FzdC1wdXJwbGUgewogICAgYm9yZGVyLWxlZnQtY29sb3I6ICM2ZDUxOTY7Cn0KCi5ibS10b2FzdC1wdXJwbGUgLmJtLWJhZGdlLXRvYXN0LXNlYWwgewogICAgYmFja2dyb3VuZDogIzZkNTE5NjsKfQoKLmJtLXRvYXN0LWdyZWVuIHsKICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjNTk2ZjQzOwp9CgouYm0tdG9hc3QtZ3JlZW4gLmJtLWJhZGdlLXRvYXN0LXNlYWwgewogICAgYmFja2dyb3VuZDogIzU5NmY0MzsKfQoKLmJtLXRvYXN0LXJvc2UgewogICAgYm9yZGVyLWxlZnQtY29sb3I6ICM4YzYwNzI7Cn0KCi5ibS10b2FzdC1yb3NlIC5ibS1iYWRnZS10b2FzdC1zZWFsIHsKICAgIGJhY2tncm91bmQ6ICM4YzYwNzI7Cn0KCi5ibS10b2FzdC1vcmFuZ2UgewogICAgYm9yZGVyLWxlZnQtY29sb3I6ICM5NTY5NDM7Cn0KCi5ibS10b2FzdC1vcmFuZ2UgLmJtLWJhZGdlLXRvYXN0LXNlYWwgewogICAgYmFja2dyb3VuZDogIzk1Njk0MzsKfQoKLmJtLXRvYXN0LXRlYWwgewogICAgYm9yZGVyLWxlZnQtY29sb3I6ICM0MTZiNjg7Cn0KCi5ibS10b2FzdC10ZWFsIC5ibS1iYWRnZS10b2FzdC1zZWFsIHsKICAgIGJhY2tncm91bmQ6ICM0MTZiNjg7Cn0KCi5ibS10b2FzdC1idXJndW5keSB7CiAgICBib3JkZXItbGVmdC1jb2xvcjogIzgxMzQ0NzsKfQoKLmJtLXRvYXN0LWJ1cmd1bmR5IC5ibS1iYWRnZS10b2FzdC1zZWFsIHsKICAgIGJhY2tncm91bmQ6ICM4MTM0NDc7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1iYWRnZS10b2FzdCB7CiAgICBiYWNrZ3JvdW5kOiAjZjRlOWM4OwogICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwogICAgY29sb3I6ICMxNzE3MTI7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1iYWRnZS10b2FzdC1jb3B5IHNwYW4gewogICAgY29sb3I6ICMxNzE3MTI7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7CiAgICAuYm0tYmFkZ2UtdG9hc3QgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTsKICAgIH0KCiAgICAuYm0tYmFkZ2UtdG9hc3QtYWN0aW9uIHsKICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xOwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBUSUVSRUQgQkFER0UgQ0FCSU5FVAogICBBZGQgdGhpcyBibG9jayB0byB0aGUgZW5kIG9mIHRoZSBUd2luZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmJtLWNhYmluZXQtc3VtbWFyeXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpO2dhcDouNTVlbTttYXJnaW4tYm90dG9tOjFlbX0uYm0tY2FiaW5ldC1zdW1tYXJ5LWNhcmR7cGFkZGluZzouN2VtIC40ZW07YmFja2dyb3VuZDojMzE0ZjUyO2JvcmRlcjoxcHggc29saWQgIzQ5NmQ3MDtjb2xvcjojZThkYWI4O2ZvbnQtc2l6ZTouNzJlbTtmb250LXdlaWdodDo3MDA7dGV4dC1hbGlnbjpjZW50ZXJ9LmJtLWNhYmluZXQtc3VtbWFyeS1jYXJkIHNwYW57ZGlzcGxheTpibG9jaztjb2xvcjojZmZmMGM4O2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyIsQ291cmllcixtb25vc3BhY2U7Zm9udC1zaXplOjEuMzVlbX0uYm0tY2FiaW5ldC1zdW1tYXJ5LWNhcmQuaXMtcmFyZXtiYWNrZ3JvdW5kOiM1NTU5NjQ7Ym9yZGVyLWNvbG9yOiM4Mjg4OTV9LmJtLWNhYmluZXQtc3VtbWFyeS1jYXJkLmlzLXNlY3JldHtiYWNrZ3JvdW5kOiMzZjMwNGI7Ym9yZGVyLWNvbG9yOiM3MzU2OGF9LmJtLWNhYmluZXR7bWFyZ2luLXRvcDoxLjJlbTtwYWRkaW5nOjFlbTtiYWNrZ3JvdW5kOiMyYzIxMWE7Ym9yZGVyOjhweCBzb2xpZCAjMTcxMTBlO2JveC1zaGFkb3c6MCAxNXB4IDM1cHggcmdiYSgwLDAsMCwuNDUpLGluc2V0IDAgMCAyOHB4IHJnYmEoMCwwLDAsLjMyKX0uYm0tY2FiaW5ldC1oZWFkaW5ne2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MWVtO21hcmdpbi1ib3R0b206LjhlbTtwYWRkaW5nOi43ZW07YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzZjNGIyZiwjM2QyYjIwKTtib3JkZXI6MXB4IHNvbGlkICM5MjcwNGN9LmJtLWNhYmluZXQtaGVhZGluZyBoMnttYXJnaW46LjFlbSAwIDA7cGFkZGluZzowO2NvbG9yOiNmMWRmYjY7Zm9udC1zaXplOjEuMjVlbX0uYm0tY2FiaW5ldC1oZWFkaW5nIGgyOjphZnRlcntkaXNwbGF5Om5vbmV9LmJtLWNhYmluZXQtdGllcntjb2xvcjojZDViOTdhO2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyIsQ291cmllcixtb25vc3BhY2U7Zm9udC1zaXplOi42NWVtO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMWVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uYm0tY2FiaW5ldC1jb3VudHtjb2xvcjojZjNlNGMxO2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyIsQ291cmllcixtb25vc3BhY2U7Zm9udC1zaXplOi43NmVtO2ZvbnQtd2VpZ2h0OjcwMH0uYm0tY2FiaW5ldC1zaGVsZntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpO2dhcDouN2VtO3BhZGRpbmc6Ljg1ZW07YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCMzOTI5MWYsIzI0MWExNSk7Ym9yZGVyLWJvdHRvbToxMnB4IHNvbGlkICM1YzNmMjk7Ym94LXNoYWRvdzppbnNldCAwIC01cHggOHB4IHJnYmEoMCwwLDAsLjQ1KX0uYm0tY2FiaW5ldC1iYWRnZXttaW4td2lkdGg6MDtwYWRkaW5nOi43NWVtIC41ZW07YmFja2dyb3VuZDojZDhjYmE3O2JvcmRlcjoxcHggc29saWQgIzlkODU1NTtjb2xvcjojMzAzMTI4O3RleHQtYWxpZ246Y2VudGVyfS5ibS1jYWJpbmV0LWJhZGdlLmlzLWxvY2tlZHtiYWNrZ3JvdW5kOiM5MzhiNzc7ZmlsdGVyOmdyYXlzY2FsZSguOCk7b3BhY2l0eTouNjJ9LmJtLWNhYmluZXQtYmFkZ2UuaXMtaGlkZGVue2JhY2tncm91bmQ6IzI4MjMzMTtib3JkZXI6MXB4IHNvbGlkICM2NTU0Nzc7Y29sb3I6I2NmYzVkOX0uYm0tY2FiaW5ldC1tZWRhbHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6My4yNWVtO2hlaWdodDozLjI1ZW07bWFyZ2luOjAgYXV0byAuNWVtO2JhY2tncm91bmQ6IzY2NjM1NDtib3JkZXI6NHB4IGRvdWJsZSAjZWZlMWJhO2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MCA1cHggMTBweCByZ2JhKDAsMCwwLC4zKTtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyIsQ291cmllcixtb25vc3BhY2U7Zm9udC1zaXplOi45NWVtO2ZvbnQtd2VpZ2h0OjcwMH0uYm0tY2FiaW5ldC1iYWRnZSBoM3ttYXJnaW46MDtjb2xvcjojNjczMDQ0O2ZvbnQtc2l6ZTouOWVtO2xpbmUtaGVpZ2h0OjEuMn0uYm0tY2FiaW5ldC1iYWRnZSBwe21hcmdpbjouM2VtIDAgMDtjb2xvcjojNGM0ZDQxO2ZvbnQtc2l6ZTouN2VtO2xpbmUtaGVpZ2h0OjEuMzU7dGV4dC1hbGlnbjpjZW50ZXJ9LmJtLWNhYmluZXQtYmFkZ2UuaXMtaGlkZGVuIGgzLC5ibS1jYWJpbmV0LWJhZGdlLmlzLWhpZGRlbiBwe2NvbG9yOiNkOGNkZTJ9LmJtLWNhYmluZXQtc3RhdHVze2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6LjU1ZW07cGFkZGluZzouMmVtIC40ZW07YmFja2dyb3VuZDojNDk2YjU5O2NvbG9yOiNmZmYwY2Y7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IixDb3VyaWVyLG1vbm9zcGFjZTtmb250LXNpemU6LjU3ZW07Zm9udC13ZWlnaHQ6NzAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaXMtbG9ja2VkIC5ibS1jYWJpbmV0LXN0YXR1c3tiYWNrZ3JvdW5kOiM2NjYzNTR9LmlzLWhpZGRlbiAuYm0tY2FiaW5ldC1zdGF0dXN7YmFja2dyb3VuZDojNWY0NjcyfS50aWVyLXJhcmUuaXMtZWFybmVke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjZWNlOGRjLCNhYWFlYmEpO2JvcmRlci1jb2xvcjojZDdkOWRmfS50aWVyLXNlY3JldC5pcy1lYXJuZWR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCNkZGQwZTgsIzhjNmFhMyk7Ym9yZGVyLWNvbG9yOiNkNWI5ZTh9LmNvbG9yLWJsdWUgLmJtLWNhYmluZXQtbWVkYWx7YmFja2dyb3VuZDojNGM2YzdhfS5jb2xvci1nb2xkIC5ibS1jYWJpbmV0LW1lZGFse2JhY2tncm91bmQ6Izg1NmQzYn0uY29sb3ItcHVycGxlIC5ibS1jYWJpbmV0LW1lZGFse2JhY2tncm91bmQ6IzZkNTE5Nn0uY29sb3ItZ3JlZW4gLmJtLWNhYmluZXQtbWVkYWx7YmFja2dyb3VuZDojNTk2ZjQzfS5jb2xvci1yb3NlIC5ibS1jYWJpbmV0LW1lZGFse2JhY2tncm91bmQ6IzhjNjA3Mn0uY29sb3Itb3JhbmdlIC5ibS1jYWJpbmV0LW1lZGFse2JhY2tncm91bmQ6Izk1Njk0M30uY29sb3ItdGVhbCAuYm0tY2FiaW5ldC1tZWRhbHtiYWNrZ3JvdW5kOiM0MTZiNjh9LmNvbG9yLWJ1cmd1bmR5IC5ibS1jYWJpbmV0LW1lZGFse2JhY2tncm91bmQ6IzgxMzQ0N30uY29sb3Itc2lsdmVyIC5ibS1jYWJpbmV0LW1lZGFse2JhY2tncm91bmQ6IzZjNzQ4Mn0uY29sb3Itc2VjcmV0IC5ibS1jYWJpbmV0LW1lZGFse2JhY2tncm91bmQ6IzU5M2Q2Y30uYm0tc2VjcmV0LWludHJve21hcmdpbjowIDAgLjhlbTtjb2xvcjojY2ZjM2Q4O2ZvbnQtc2l6ZTouOGVtO3RleHQtYWxpZ246Y2VudGVyfS5ibS1jZXJ0aWZpY2F0ZS1wcmV2aWV3e21hcmdpbi10b3A6MWVtO3BhZGRpbmc6LjhlbTtiYWNrZ3JvdW5kOiNkOGNiYTc7Ym9yZGVyOjFweCBzb2xpZCAjOWQ4NTU1O2NvbG9yOiMzMDMxMjg7dGV4dC1hbGlnbjpjZW50ZXJ9LmJtLWNlcnRpZmljYXRlLXByZXZpZXcgc3Ryb25nLC5ibS1jZXJ0aWZpY2F0ZS1wcmV2aWV3IHNwYW57ZGlzcGxheTpibG9ja30uYm0tY2VydGlmaWNhdGUtcHJldmlldyBzdHJvbmd7Y29sb3I6IzgxMzQ0N30uYm0tY2VydGlmaWNhdGUtcHJldmlldyBzcGFue21hcmdpbi10b3A6LjJlbTtmb250LXNpemU6Ljc4ZW19LmJtLXRvYXN0LXNpbHZlcntib3JkZXItbGVmdC1jb2xvcjojN2Y4Nzk0fS5ibS10b2FzdC1zaWx2ZXIgLmJtLWJhZGdlLXRvYXN0LXNlYWx7YmFja2dyb3VuZDojNmM3NDgyfS5ibS10b2FzdC1zZWNyZXR7Ym9yZGVyLWxlZnQtY29sb3I6IzczNTY4YX0uYm0tdG9hc3Qtc2VjcmV0IC5ibS1iYWRnZS10b2FzdC1zZWFse2JhY2tncm91bmQ6IzU5M2Q2Y30uYm0taWNvbi1iYWRnZXtiYWNrZ3JvdW5kOiM2ZDUxOTZ9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo4NTBweCl7LmJtLWNhYmluZXQtc2hlbGZ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5ibS1jYWJpbmV0LXN1bW1hcnl7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ4MHB4KXsuYm0tY2FiaW5ldC1zaGVsZiwuYm0tY2FiaW5ldC1zdW1tYXJ5e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LmJtLWNhYmluZXQtaGVhZGluZ3thbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uYm0tY2FiaW5ldHtwYWRkaW5nOi41NWVtO2JvcmRlci13aWR0aDo1cHh9fQoKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTVEFSVCBGT09URVIgQ0VOVEVSSU5HIEFORCBCT09LIExJTksgLSBGSU5BTCBPVkVSUklERQogICBBZGQgdGhpcyBibG9jayBhdCB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtZm9vdGVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDE7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsKICAgIG1hcmdpbjogMS4zNXJlbSBhdXRvIDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjNWQ1OTRiOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQ1OwogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7Cn0KCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtZm9vdGVyLXByZWZpeCB7CiAgICBkaXNwbGF5OiBpbmxpbmU7CiAgICBjb2xvcjogIzVkNTk0YjsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IGluaGVyaXQ7CiAgICBmb250LXdlaWdodDogNzAwOwp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWZvb3Rlci1wcmVmaXg6OmFmdGVyIHsKICAgIGNvbnRlbnQ6ICIgIjsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ib29rLWxpbmssCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtYm9vay1saW5rLmxpbmstZXh0ZXJuYWwgewogICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDEyOSwgNTIsIDcxLCAwLjQ4KSAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgY29sb3I6ICM4MTM0NDcgIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50OwogICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTsKICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50Owp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWJvb2stbGluazo6YmVmb3JlLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWJvb2stbGluazo6YWZ0ZXIsCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtYm9vay1saW5rLmxpbmstZXh0ZXJuYWw6OmJlZm9yZSwKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ib29rLWxpbmsubGluay1leHRlcm5hbDo6YWZ0ZXIgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50Owp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWJvb2stbGluazpob3ZlciwKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ib29rLWxpbmsubGluay1leHRlcm5hbDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzM1NTk1ZCAhaW1wb3J0YW50OwogICAgY29sb3I6ICMzNTU5NWQgIWltcG9ydGFudDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50Owp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWJvb2stbGluazpmb2N1cy12aXNpYmxlIHsKICAgIG91dGxpbmU6IDNweCBzb2xpZCAjODEzNDQ3OwogICAgb3V0bGluZS1vZmZzZXQ6IDRweDsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1mb290ZXItcHJlZml4LApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWJvb2stbGluayB7CiAgICBjb2xvcjogIzE3MTcxMiAhaW1wb3J0YW50Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgewogICAgLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1mb290ZXIgewogICAgICAgIHBhZGRpbmc6IDAgMC40NXJlbSAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtc2l6ZTogMC44NnJlbTsKICAgIH0KCiAgICAucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWZvb3Rlci1wcmVmaXgsCiAgICAucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWJvb2stbGluayB7CiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgIH0KCiAgICAucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWZvb3Rlci1wcmVmaXg6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiBub25lOwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTVEFSVCBTQ1JFRU4gREVTQ1JJUFRJT04gQU5EIENIT0lDRVMgRk9OVAogICBBZGQgdGhpcyBibG9jayBhdCB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtZGVzY3JpcHRpb24sCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtbm90ZSwKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1ub3RlIHN0cm9uZyB7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50Owp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LWRlc2NyaXB0aW9uIHsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtOwp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LW5vdGUgewogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAxNWVtOwp9CgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LW5vdGUgc3Ryb25nIHsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNUQVJUIFNDUkVFTiBBQ1RJT04gQU5EIFRPT0wgRk9OVFMKICAgQWRkIHRoaXMgYmxvY2sgYXQgdGhlIGFic29sdXRlIGVuZCBvZiB0aGUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LXByaW1hcnkgYSwKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1wcmltYXJ5IGEubGluay1pbnRlcm5hbCwKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1zZWNvbmRhcnkgYSwKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC1zZWNvbmRhcnkgYS5tYWNyby1saW5rLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LXByaW1hcnkgPiBzcGFuLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LXNlY29uZGFyeSA+IHNwYW4sCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtdG9vbCBhLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LXRvb2wgYS5saW5rLWludGVybmFsLAoucGFzc2FnZVtkYXRhLXBhc3NhZ2U9IlN0YXJ0Il0gLmJtLXN0YXJ0LXRvb2wgYS5tYWNyby1saW5rIHsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7Cn0KCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtcHJpbWFyeSA+IHNwYW4sCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtc2Vjb25kYXJ5ID4gc3BhbiB7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTsKfQoKLnBhc3NhZ2VbZGF0YS1wYXNzYWdlPSJTdGFydCJdIC5ibS1zdGFydC10b29sIGEsCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtdG9vbCBhLmxpbmstaW50ZXJuYWwsCi5wYXNzYWdlW2RhdGEtcGFzc2FnZT0iU3RhcnQiXSAuYm0tc3RhcnQtdG9vbCBhLm1hY3JvLWxpbmsgewogICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTsKfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQkxBQ0tXT09EIFNVR0FSQ1VCRSBTWVNURU0gQ09OVFJPTFMKICAgU2F2ZXMsIFNldHRpbmdzLCBhbmQgUmVzdGFydCB0aGVtZQogICBBZGQgdGhpcyBibG9jayBhdCB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIFNpZGViYXIgc3lzdGVtIG1lbnUgaXRlbXMuICovCiNtZW51LWl0ZW0tc2F2ZXMgYSwKI21lbnUtaXRlbS1zZXR0aW5ncyBhLAojbWVudS1pdGVtLXJlc3RhcnQgYSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIG1pbi1oZWlnaHQ6IDIuN2VtOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHBhZGRpbmc6IDAuNjJlbSAwLjcyZW0gMC42MmVtIDMuMmVtOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzMxNGY1MiwgIzIwMzgzYik7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDg2NjZhOwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMjgpOwogICAgY29sb3I6ICNmMGRmYjg7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKICAgIGZvbnQtc2l6ZTogMC44NmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKI21lbnUtaXRlbS1zYXZlcyBhOjpiZWZvcmUsCiNtZW51LWl0ZW0tc2V0dGluZ3MgYTo6YmVmb3JlLAojbWVudS1pdGVtLXJlc3RhcnQgYTo6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDAuNzJlbTsKICAgIHRvcDogNTAlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHdpZHRoOiAxLjc1ZW07CiAgICBoZWlnaHQ6IDEuNzVlbTsKICAgIGJhY2tncm91bmQ6ICM3YjNhNGM7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0MCwgMjIwLCAxNzcsIDAuMzQpOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgY29sb3I6ICNmZmYwYzg7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjg2ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwp9CgojbWVudS1pdGVtLXNhdmVzIGE6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiUyI7CiAgICBiYWNrZ3JvdW5kOiAjNTU2ZjRiOwp9CgojbWVudS1pdGVtLXNldHRpbmdzIGE6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiUiI7CiAgICBiYWNrZ3JvdW5kOiAjNDE2NjY4Owp9CgojbWVudS1pdGVtLXJlc3RhcnQgYTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIhIjsKICAgIGJhY2tncm91bmQ6ICM3YjNhNGM7Cn0KCiNtZW51LWl0ZW0tc2F2ZXMgYTpob3ZlciwKI21lbnUtaXRlbS1zZXR0aW5ncyBhOmhvdmVyLAojbWVudS1pdGVtLXJlc3RhcnQgYTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjOGY0MDU1LCAjNmUyZDQwKTsKICAgIGJvcmRlci1jb2xvcjogI2E4NWE2ZTsKICAgIGNvbG9yOiAjZmZmMmQyOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgojbWVudS1pdGVtLXNhdmVzIGE6Zm9jdXMtdmlzaWJsZSwKI21lbnUtaXRlbS1zZXR0aW5ncyBhOmZvY3VzLXZpc2libGUsCiNtZW51LWl0ZW0tcmVzdGFydCBhOmZvY3VzLXZpc2libGUgewogICAgb3V0bGluZTogM3B4IHNvbGlkICNkMGFkNjg7CiAgICBvdXRsaW5lLW9mZnNldDogMnB4Owp9CgovKiBTaGFyZWQgZGlhbG9nIGZyYW1lLiAqLwojdWktZGlhbG9nIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7Cn0KCiN1aS1kaWFsb2ctdGl0bGViYXIgewogICAgcGFkZGluZzogMC43ZW0gMy4yZW0gMC43ZW0gMWVtOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjODEzNDQ3LCAjNGQyZTM4KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNhNTU1NmE7CiAgICBib3JkZXItYm90dG9tOiAwOwogICAgY29sb3I6ICNmNGUzYmQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtOwp9CgojdWktZGlhbG9nLXRpdGxlIHsKICAgIGNvbG9yOiAjZjRlM2JkOwp9CgojdWktZGlhbG9nLWNsb3NlIHsKICAgIHRvcDogNTAlOwogICAgcmlnaHQ6IDAuNjJlbTsKICAgIHdpZHRoOiAyZW07CiAgICBoZWlnaHQ6IDJlbTsKICAgIG1hcmdpbjogMDsKICAgIGJhY2tncm91bmQ6ICMyYjQ1NDg7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjNmY4YThkOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgY29sb3I6ICNmZmYwYzg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7Cn0KCiN1aS1kaWFsb2ctY2xvc2U6aG92ZXIgewogICAgYmFja2dyb3VuZDogI2EyNDY1ZDsKICAgIGJvcmRlci1jb2xvcjogI2QxODQ5NjsKICAgIGNvbG9yOiAjZmZmZmZmOwp9CgojdWktZGlhbG9nLWJvZHkgewogICAgYmFja2dyb3VuZDoKICAgICAgICByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KAogICAgICAgICAgICAwZGVnLAogICAgICAgICAgICByZ2JhKDc2LCA1OCwgMzEsIDAuMDMpIDAsCiAgICAgICAgICAgIHJnYmEoNzYsIDU4LCAzMSwgMC4wMykgMXB4LAogICAgICAgICAgICB0cmFuc3BhcmVudCAxcHgsCiAgICAgICAgICAgIHRyYW5zcGFyZW50IDVweAogICAgICAgICksCiAgICAgICAgI2Q4Y2JhNzsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM5ZDg1NTU7CiAgICBib3gtc2hhZG93OiAwIDIycHggNTVweCByZ2JhKDAsIDAsIDAsIDAuNTIpOwogICAgY29sb3I6ICMzMDMxMjg7Cn0KCiN1aS1kaWFsb2ctYm9keSBoMiwKI3VpLWRpYWxvZy1ib2R5IGgzIHsKICAgIGNvbG9yOiAjNzAzMjQ3OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7Cn0KCiN1aS1kaWFsb2ctYm9keSBwLAojdWktZGlhbG9nLWJvZHkgbGFiZWwsCiN1aS1kaWFsb2ctYm9keSAuc2V0dGluZy1kZXNjIHsKICAgIGNvbG9yOiAjNDU0NjNiOwp9CgovKiBEaWFsb2cgYnV0dG9ucy4gKi8KI3VpLWRpYWxvZy1ib2R5IGJ1dHRvbiwKI3VpLWRpYWxvZy1ib2R5IC5idXR0b25zIGJ1dHRvbiwKI3VpLWRpYWxvZy1ib2R5IC51aS1jbG9zZSB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjM2Y2MjY2LCAjMjk0NzRhKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMyNDQwNDQ7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBib3gtc2hhZG93OiAwIDRweCA5cHggcmdiYSgwLCAwLCAwLCAwLjIpOwogICAgY29sb3I6ICNmZmYwY2E7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCiN1aS1kaWFsb2ctYm9keSBidXR0b246aG92ZXIsCiN1aS1kaWFsb2ctYm9keSAuYnV0dG9ucyBidXR0b246aG92ZXIsCiN1aS1kaWFsb2ctYm9keSAudWktY2xvc2U6aG92ZXIgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzk5NDY1ZCwgIzcxMzA0NCk7CiAgICBib3JkZXItY29sb3I6ICNhODVhNmU7CiAgICBjb2xvcjogI2ZmZmZmZjsKfQoKI3VpLWRpYWxvZy1ib2R5IGJ1dHRvbjpmb2N1cy12aXNpYmxlLAojdWktZGlhbG9nLWJvZHkgc2VsZWN0OmZvY3VzLXZpc2libGUsCiN1aS1kaWFsb2ctYm9keSBpbnB1dDpmb2N1cy12aXNpYmxlIHsKICAgIG91dGxpbmU6IDNweCBzb2xpZCAjODEzNDQ3OwogICAgb3V0bGluZS1vZmZzZXQ6IDJweDsKfQoKLyogU2F2ZXMgZGlhbG9nIGFzIGEgQ2FzZSBBcmNoaXZlLiAqLwojdWktZGlhbG9nLWJvZHkuc2F2ZXMgaDIgewogICAgbWFyZ2luOiAwLjhlbSAwIDAuNWVtOwogICAgcGFkZGluZy1ib3R0b206IDAuMzVlbTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDEwMywgNzcsIDM5LCAwLjM1KTsKICAgIGNvbG9yOiAjNzAzMjQ3Owp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgdGFibGUgewogICAgd2lkdGg6IDEwMCU7CiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOwogICAgYm9yZGVyLXNwYWNpbmc6IDAgMC40OGVtOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgdHIgewogICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDIzMCwgMTk1LCAwLjgyKTsKICAgIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggcmdiYSg3MCwgNTIsIDI1LCAwLjE2KTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRkIHsKICAgIHBhZGRpbmc6IDAuNmVtOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTE5LCA5MiwgNDgsIDAuMzIpOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTE5LCA5MiwgNDgsIDAuMzIpOwogICAgY29sb3I6ICMzNjM3MmU7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyB0ZDpmaXJzdC1jaGlsZCB7CiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICM4MTM0NDc7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyB0ZDpsYXN0LWNoaWxkIHsKICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTE5LCA5MiwgNDgsIDAuMzIpOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgLmVtcHR5IHsKICAgIGNvbG9yOiAjNmI2NzU2OwogICAgZm9udC1zdHlsZTogaXRhbGljOwp9CgojdWktZGlhbG9nLWJvZHkuc2F2ZXMgYnV0dG9uLnNhdmUgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzYwN2I1MSwgIzQzNWQzYik7CiAgICBib3JkZXItY29sb3I6ICMzNjRmMzE7Cn0KCiN1aS1kaWFsb2ctYm9keS5zYXZlcyBidXR0b24ubG9hZCB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjNDY2YjcwLCAjMmQ0ZjUzKTsKICAgIGJvcmRlci1jb2xvcjogIzI3NDY0YTsKfQoKI3VpLWRpYWxvZy1ib2R5LnNhdmVzIGJ1dHRvbi5kZWxldGUgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzhkNDg1NywgIzY2MzEzZSk7CiAgICBib3JkZXItY29sb3I6ICM1NzI3MzM7Cn0KCi8qIFJlYWRpbmcgc2V0dGluZ3MgY29udHJvbHMuICovCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyAuc2V0dGluZy1ib2R5IHsKICAgIG1hcmdpbjogMC42NWVtIDA7CiAgICBwYWRkaW5nOiAwLjc1ZW07CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMjMwLCAxOTUsIDAuNzIpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTksIDkyLCA0OCwgMC4zMik7CiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICM0MTY2Njg7Cn0KCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyAuc2V0dGluZy1sYWJlbCB7CiAgICBjb2xvcjogIzcwMzI0NzsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIHNlbGVjdCwKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIGlucHV0IHsKICAgIGJhY2tncm91bmQ6ICNmM2U3YzU7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGQ3NzRkOwogICAgY29sb3I6ICMyOTJhMjM7Cn0KCi8qIFJlc3RhcnQgd2FybmluZy4gKi8KI3VpLWRpYWxvZy1ib2R5LnJlc3RhcnQgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgojdWktZGlhbG9nLWJvZHkucmVzdGFydCBwIHsKICAgIG1heC13aWR0aDogMzRlbTsKICAgIG1hcmdpbjogMWVtIGF1dG87CiAgICBmb250LXNpemU6IDFlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCiN1aS1kaWFsb2ctYm9keS5yZXN0YXJ0ICNyZXN0YXJ0LW9rIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICM5OTQ2NWQsICM3MTMwNDQpOwogICAgYm9yZGVyLWNvbG9yOiAjYTg1YTZlOwp9CgojdWktZGlhbG9nLWJvZHkucmVzdGFydCAjcmVzdGFydC1jYW5jZWwgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzQ2NmI3MCwgIzJkNGY1Myk7CiAgICBib3JkZXItY29sb3I6ICMyNzQ2NGE7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0ICN1aS1kaWFsb2ctYm9keSB7CiAgICBiYWNrZ3JvdW5kOiAjZjRlOWM4OwogICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwogICAgY29sb3I6ICMxNzE3MTI7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0ICN1aS1kaWFsb2ctYm9keSBwLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAjdWktZGlhbG9nLWJvZHkgbGFiZWwsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0ICN1aS1kaWFsb2ctYm9keSB0ZCB7CiAgICBjb2xvcjogIzE3MTcxMjsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKICAgICN1aS1kaWFsb2ctYm9keSB7CiAgICAgICAgcGFkZGluZzogMC43NWVtOwogICAgfQoKICAgICN1aS1kaWFsb2ctYm9keS5zYXZlcyB0YWJsZSwKICAgICN1aS1kaWFsb2ctYm9keS5zYXZlcyB0Ym9keSwKICAgICN1aS1kaWFsb2ctYm9keS5zYXZlcyB0ciwKICAgICN1aS1kaWFsb2ctYm9keS5zYXZlcyB0ZCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIH0KCiAgICAjdWktZGlhbG9nLWJvZHkuc2F2ZXMgdGQgewogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTE5LCA5MiwgNDgsIDAuMzIpOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgxMTksIDkyLCA0OCwgMC4zMik7CiAgICB9CgogICAgI3VpLWRpYWxvZy1ib2R5LnNhdmVzIHRkOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICM4MTM0NDc7CiAgICB9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNVR0FSQ1VCRSBTWVNURU0gTUVOVSBJQ09OIEFORCBBTElHTk1FTlQgRklYCiAgIEFkZCB0aGlzIGJsb2NrIGF0IHRoZSBhYnNvbHV0ZSBlbmQgb2YgdGhlIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLyogS2VlcCB0aGUgdGhyZWUgc3lzdGVtIGNvbnRyb2xzIGluc2lkZSB0aGUgc2lkZWJhciB3aWR0aC4gKi8KI21lbnUtaXRlbS1zYXZlcywKI21lbnUtaXRlbS1zZXR0aW5ncywKI21lbnUtaXRlbS1yZXN0YXJ0IHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Cn0KCi8qIFJlc2V0IFN1Z2FyQ3ViZSBhbmQgZWFybGllciB0aGVtZSBwb3NpdGlvbmluZyBvbiB0aGUgbGlua3MuICovCiNtZW51LWl0ZW0tc2F2ZXMgPiBhLAojbWVudS1pdGVtLXNldHRpbmdzID4gYSwKI21lbnUtaXRlbS1yZXN0YXJ0ID4gYSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1pbi1oZWlnaHQ6IDMuMzVyZW0gIWltcG9ydGFudDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMC43MnJlbSAwLjg1cmVtIDAuNzJyZW0gNC4xNXJlbSAhaW1wb3J0YW50OwogICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMzMTU3NWIsICMyMDNmNDMpICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjNGU3NDc4ICFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjI4KSAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmMGRmYjggIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW0gIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsKICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7CiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKfQoKLyogUmVwbGFjZSBTdWdhckN1YmUncyBpY29uLWZvbnQgZ2x5cGggd2l0aCBhIGNvbnRyb2xsZWQgdGhlbWVkIGJhZGdlLiAqLwojbWVudS1pdGVtLXNhdmVzID4gYTo6YmVmb3JlLAojbWVudS1pdGVtLXNldHRpbmdzID4gYTo6YmVmb3JlLAojbWVudS1pdGVtLXJlc3RhcnQgPiBhOjpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7CiAgICBsZWZ0OiAwLjlyZW0gIWltcG9ydGFudDsKICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7CiAgICByaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgd2lkdGg6IDIuMTVyZW0gIWltcG9ydGFudDsKICAgIGhlaWdodDogMi4xNXJlbSAhaW1wb3J0YW50OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0NCwgMjI1LCAxODQsIDAuNDIpICFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKDAsIDAsIDAsIDAuMykgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjZmZmMGM4ICFpbXBvcnRhbnQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7CiAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1zYXZlcyA+IGE6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiUyIgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICM2MDc5NGYgIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1zZXR0aW5ncyA+IGE6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiUiIgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICM0MTY2NjggIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1yZXN0YXJ0ID4gYTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIhIiAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogIzhhM2Q1MiAhaW1wb3J0YW50Owp9CgovKiBEbyBub3QgYWxsb3cgYSBzZWNvbmQgaWNvbiBvbiB0aGUgcmlnaHQgc2lkZS4gKi8KI21lbnUtaXRlbS1zYXZlcyA+IGE6OmFmdGVyLAojbWVudS1pdGVtLXNldHRpbmdzID4gYTo6YWZ0ZXIsCiNtZW51LWl0ZW0tcmVzdGFydCA+IGE6OmFmdGVyIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1zYXZlcyA+IGE6aG92ZXIsCiNtZW51LWl0ZW0tc2V0dGluZ3MgPiBhOmhvdmVyLAojbWVudS1pdGVtLXJlc3RhcnQgPiBhOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICM4ZjQwNTUsICM2ZTJkNDApICFpbXBvcnRhbnQ7CiAgICBib3JkZXItY29sb3I6ICNhODVhNmUgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjZmZmMmQyICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tc2F2ZXMgPiBhOmZvY3VzLXZpc2libGUsCiNtZW51LWl0ZW0tc2V0dGluZ3MgPiBhOmZvY3VzLXZpc2libGUsCiNtZW51LWl0ZW0tcmVzdGFydCA+IGE6Zm9jdXMtdmlzaWJsZSB7CiAgICBvdXRsaW5lOiAzcHggc29saWQgI2QwYWQ2OCAhaW1wb3J0YW50OwogICAgb3V0bGluZS1vZmZzZXQ6IDJweCAhaW1wb3J0YW50Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkgewogICAgI21lbnUtaXRlbS1zYXZlcyA+IGEsCiAgICAjbWVudS1pdGVtLXNldHRpbmdzID4gYSwKICAgICNtZW51LWl0ZW0tcmVzdGFydCA+IGEgewogICAgICAgIG1pbi1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuOHJlbSAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtc2l6ZTogMC45MnJlbSAhaW1wb3J0YW50OwogICAgfQoKICAgICNtZW51LWl0ZW0tc2F2ZXMgPiBhOjpiZWZvcmUsCiAgICAjbWVudS1pdGVtLXNldHRpbmdzID4gYTo6YmVmb3JlLAogICAgI21lbnUtaXRlbS1yZXN0YXJ0ID4gYTo6YmVmb3JlIHsKICAgICAgICBsZWZ0OiAwLjhyZW0gIWltcG9ydGFudDsKICAgICAgICB3aWR0aDogMnJlbSAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogMnJlbSAhaW1wb3J0YW50OwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBCQURHRSBDQUJJTkVUIElNQUdFIEFSVFdPUksKICAgQWRkIHRoaXMgYmxvY2sgYXQgdGhlIGFic29sdXRlIGVuZCBvZiB0aGUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYm0tY2FiaW5ldC1hcnQgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHdpZHRoOiAxMDAlOwogICAgbWF4LXdpZHRoOiA5LjVyZW07CiAgICBhc3BlY3QtcmF0aW86IDEgLyAxOwogICAgbWFyZ2luOiAwIGF1dG8gMC41NWVtOwp9CgouYm0tY2FiaW5ldC1hcnQgaW1nIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb250YWluOwogICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjQyKSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7Cn0KCi5ibS1jYWJpbmV0LWJhZGdlLmlzLWVhcm5lZCAuYm0tY2FiaW5ldC1hcnQgaW1nIHsKICAgIG9wYWNpdHk6IDE7CiAgICBmaWx0ZXI6CiAgICAgICAgc2F0dXJhdGUoMS4wOCkKICAgICAgICBjb250cmFzdCgxLjAzKQogICAgICAgIGRyb3Atc2hhZG93KDAgNnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuNDgpKTsKfQoKLmJtLWNhYmluZXQtYmFkZ2UuaXMtZWFybmVkOmhvdmVyIC5ibS1jYWJpbmV0LWFydCBpbWcgewogICAgZmlsdGVyOgogICAgICAgIHNhdHVyYXRlKDEuMikKICAgICAgICBicmlnaHRuZXNzKDEuMDYpCiAgICAgICAgZHJvcC1zaGFkb3coMCA4cHggMTFweCByZ2JhKDAsIDAsIDAsIDAuNTUpKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSBzY2FsZSgxLjAyNSk7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZSwgZmlsdGVyIDE2MG1zIGVhc2U7Cn0KCi5ibS1jYWJpbmV0LWJhZGdlLmlzLWxvY2tlZCAuYm0tY2FiaW5ldC1hcnQgaW1nIHsKICAgIG9wYWNpdHk6IDAuMjg7CiAgICBmaWx0ZXI6CiAgICAgICAgZ3JheXNjYWxlKDEpCiAgICAgICAgYnJpZ2h0bmVzcygwLjQ4KQogICAgICAgIGNvbnRyYXN0KDEuMTUpCiAgICAgICAgZHJvcC1zaGFkb3coMCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4zNSkpOwp9CgouYm0tY2FiaW5ldC1iYWRnZS5pcy1sb2NrZWQgLmJtLWNhYmluZXQtYXJ0OjphZnRlciB7CiAgICBjb250ZW50OiAiPyI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICB0b3A6IDUwJTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMi40cmVtOwogICAgaGVpZ2h0OiAyLjRyZW07CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAzMSwgMjcsIDAuODgpOwogICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyMzksIDIyNSwgMTg2LCAwLjY4KTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjQ4KTsKICAgIGNvbG9yOiAjZjBkZmI4OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCBzZXJpZjsKICAgIGZvbnQtc2l6ZTogMS4zNXJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKfQoKLmJtLWNhYmluZXQtc2VjcmV0LWNvdmVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMTAwJTsKICAgIG1heC13aWR0aDogOS41cmVtOwogICAgYXNwZWN0LXJhdGlvOiAxIC8gMTsKICAgIG1hcmdpbjogMCBhdXRvIDAuNTVlbTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOgogICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNTAlIDQyJSwgcmdiYSgxMTIsIDc4LCAxMzIsIDAuMzIpLCB0cmFuc3BhcmVudCA0MiUpLAogICAgICAgIGxpbmVhci1ncmFkaWVudCgxNDVkZWcsICMyOTIwMmYsICMxNTExMTkpOwogICAgYm9yZGVyOiAycHggc29saWQgIzZhNGQ3OTsKICAgIGJvcmRlci1yYWRpdXM6IDIyJSAyMiUgMTQlIDE0JTsKICAgIGJveC1zaGFkb3c6CiAgICAgICAgaW5zZXQgMCAwIDI0cHggcmdiYSgwLCAwLCAwLCAwLjcyKSwKICAgICAgICAwIDZweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC40Mik7Cn0KCi5ibS1jYWJpbmV0LXNlY3JldC1jb3Zlcjo6YmVmb3JlLAouYm0tY2FiaW5ldC1zZWNyZXQtY292ZXI6OmFmdGVyIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgYm90dG9tOiAwOwogICAgd2lkdGg6IDU0JTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzE3MTIxYiwgIzRiMzQ1OSA3MiUsICMyNDFhMmIpOwp9CgouYm0tY2FiaW5ldC1zZWNyZXQtY292ZXI6OmJlZm9yZSB7CiAgICBsZWZ0OiAwOwogICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCA3NiUgNDglLCAxMDAlIDEwMCUsIDAgMTAwJSk7Cn0KCi5ibS1jYWJpbmV0LXNlY3JldC1jb3Zlcjo6YWZ0ZXIgewogICAgcmlnaHQ6IDA7CiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCAxMDAlLCAyNCUgNDglKTsKfQoKLmJtLWNhYmluZXQtc2VjcmV0LWNvdmVyIHNwYW4gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogMjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMi43NXJlbTsKICAgIGhlaWdodDogMi43NXJlbTsKICAgIGJhY2tncm91bmQ6ICMxOTE1MWM7CiAgICBib3JkZXI6IDJweCBzb2xpZCAjYTM4MmI0OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgY29sb3I6ICNlOGQ3ZWY7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsIHNlcmlmOwogICAgZm9udC1zaXplOiAxLjVyZW07CiAgICBmb250LXdlaWdodDogNzAwOwp9CgouYm0tY2FiaW5ldC1iYWRnZSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQoKLmJtLWNhYmluZXQtYmFkZ2UgaDMgewogICAgbWluLWhlaWdodDogMi4zNWVtOwp9CgouYm0tY2FiaW5ldC1iYWRnZSBwIHsKICAgIGZsZXg6IDEgMSBhdXRvOwp9CgouYm0tY2FiaW5ldC1zdGF0dXMgewogICAgYWxpZ24tc2VsZjogY2VudGVyOwp9Cgpib2R5LnNldHRpbmctbW90aW9uLW9mZiAuYm0tY2FiaW5ldC1iYWRnZS5pcy1lYXJuZWQ6aG92ZXIgLmJtLWNhYmluZXQtYXJ0IGltZyB7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2l0aW9uOiBub25lOwp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogICAgLmJtLWNhYmluZXQtYmFkZ2UuaXMtZWFybmVkOmhvdmVyIC5ibS1jYWJpbmV0LWFydCBpbWcgewogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgfQp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkgewogICAgLmJtLWNhYmluZXQtYXJ0LAogICAgLmJtLWNhYmluZXQtc2VjcmV0LWNvdmVyIHsKICAgICAgICBtYXgtd2lkdGg6IDExcmVtOwogICAgfQp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQkFER0UgRUFSTkVEIE5PVElGSUNBVElPTiBBUlRXT1JLCiAgIEFkZCB0aGlzIGJsb2NrIGF0IHRoZSBhYnNvbHV0ZSBlbmQgb2YgdGhlIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLWJhZGdlLXRvYXN0LWFydCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZmxleDogMCAwIDQuNmVtOwogICAgd2lkdGg6IDQuNmVtOwogICAgaGVpZ2h0OiA0LjZlbTsKICAgIG1hcmdpbjogLTAuM2VtIDA7Cn0KCi5ibS1iYWRnZS10b2FzdC1hcnQgaW1nIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb250YWluOwogICAgZmlsdGVyOgogICAgICAgIHNhdHVyYXRlKDEuMTIpCiAgICAgICAgY29udHJhc3QoMS4wNCkKICAgICAgICBkcm9wLXNoYWRvdygwIDVweCA3cHggcmdiYSgwLCAwLCAwLCAwLjQyKSk7Cn0KCi5ibS1iYWRnZS10b2FzdDpob3ZlciAuYm0tYmFkZ2UtdG9hc3QtYXJ0IGltZyB7CiAgICBmaWx0ZXI6CiAgICAgICAgc2F0dXJhdGUoMS4yNCkKICAgICAgICBicmlnaHRuZXNzKDEuMDYpCiAgICAgICAgZHJvcC1zaGFkb3coMCA3cHggOXB4IHJnYmEoMCwgMCwgMCwgMC40OCkpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpIHNjYWxlKDEuMDM1KTsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlLCBmaWx0ZXIgMTYwbXMgZWFzZTsKfQoKLyogVGhlIGltYWdlIHJlcGxhY2VzIHRoZSBmb3JtZXIgbGV0dGVyZWQgY2lyY2xlLiAqLwouYm0tYmFkZ2UtdG9hc3QgLmJtLWJhZGdlLXRvYXN0LXNlYWwgewogICAgZGlzcGxheTogbm9uZTsKfQoKYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgLmJtLWJhZGdlLXRvYXN0OmhvdmVyIC5ibS1iYWRnZS10b2FzdC1hcnQgaW1nIHsKICAgIHRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zaXRpb246IG5vbmU7Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgICAuYm0tYmFkZ2UtdG9hc3Q6aG92ZXIgLmJtLWJhZGdlLXRvYXN0LWFydCBpbWcgewogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgfQp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkgewogICAgLmJtLWJhZGdlLXRvYXN0LWFydCB7CiAgICAgICAgZmxleC1iYXNpczogNC4xZW07CiAgICAgICAgd2lkdGg6IDQuMWVtOwogICAgICAgIGhlaWdodDogNC4xZW07CiAgICB9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNFVFRJTkdTIERJQUxPRyBURVhUIENPTlRSQVNUIEZJWAogICBBZGQgdGhpcyBibG9jayBhdCB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIE1haW4gU2V0dGluZ3MgZGlhbG9nIHRleHQuICovCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncywKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIHAsCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBsYWJlbCwKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIHNwYW4sCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBkaXYgewogICAgdGV4dC1zaGFkb3c6IG5vbmU7Cn0KCi8qIFNlY3Rpb24gaGVhZGluZzogUmVhZGluZyBFeHBlcmllbmNlLiAqLwojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgaDIsCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBoMyB7CiAgICBjb2xvcjogIzcxMzI0NyAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7Cn0KCi8qIFNldHRpbmcgbmFtZXM6IFRleHQgU2l6ZSwgUmVhZGluZyBXaWR0aCwgUGFzc2FnZSBNb3Rpb24sIEhpZ2ggQ29udHJhc3QuICovCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyAuc2V0dGluZy1sYWJlbCwKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIGxhYmVsLAojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgLnNldHRpbmctbmFtZSB7CiAgICBjb2xvcjogIzM0MmYyNyAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OwogICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50OwogICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKfQoKLyogRGVzY3JpcHRpb25zIGJlbmVhdGggZWFjaCBzZXR0aW5nLiAqLwojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgLnNldHRpbmctZGVzYywKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIC5zZXR0aW5nLWRlc2NyaXB0aW9uLAojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgcCB7CiAgICBjb2xvcjogIzU1NjE1ZCAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMC44OHJlbSAhaW1wb3J0YW50OwogICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6IDEuNCAhaW1wb3J0YW50OwogICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKfQoKLyogSW5kaXZpZHVhbCBzZXR0aW5nIHJvd3MuICovCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyAuc2V0dGluZy1ib2R5IHsKICAgIG1hcmdpbjogMC41NWVtIDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAuN2VtIDAuNzVlbSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogcmdiYSgyNDgsIDIzNywgMjA4LCAwLjcpICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDExNSwgODYsIDQ2LCAwLjI1KSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjNDk2YjZlICFpbXBvcnRhbnQ7Cn0KCi8qIERyb3Bkb3duIGNvbnRyb2xzLiAqLwojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3Mgc2VsZWN0IHsKICAgIG1pbi13aWR0aDogNi40ZW07CiAgICBiYWNrZ3JvdW5kOiAjZjdlZGNmICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjODA2ODNmICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogIzI5MjgyMCAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMC45NXJlbSAhaW1wb3J0YW50OwogICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKfQoKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIHNlbGVjdCBvcHRpb24gewogICAgYmFja2dyb3VuZDogI2Y3ZWRjZjsKICAgIGNvbG9yOiAjMjkyODIwOwp9CgovKiBTdWdhckN1YmUgdG9nZ2xlIGNvbnRyb2xzLiAqLwojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgYnV0dG9uW2lkXj0ic2V0dGluZy1jb250cm9sLSJdLAojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgYnV0dG9uW2lkXj0ic2V0dGluZy10b2dnbGUtIl0sCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyAudG9nZ2xlIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICM0MTZiNmUsICMyOTRiNGUpICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMWYzZDQwICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2ZmZjFjYyAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7Cn0KCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBidXR0b25baWRePSJzZXR0aW5nLWNvbnRyb2wtIl06aG92ZXIsCiN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyBidXR0b25baWRePSJzZXR0aW5nLXRvZ2dsZS0iXTpob3ZlciwKI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIC50b2dnbGU6aG92ZXIgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzhmNDA1NSwgIzZlMmQ0MCkgIWltcG9ydGFudDsKICAgIGJvcmRlci1jb2xvcjogIzlmNTM2NyAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsKfQoKLyogQm90dG9tIGFjdGlvbiBidXR0b25zLiAqLwojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgLmJ1dHRvbnMgYnV0dG9uLAojdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgPiBidXR0b24gewogICAgY29sb3I6ICNmZmYxY2MgIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50Owp9CgovKiBIaWdoIGNvbnRyYXN0IG1vZGUuICovCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0ICN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyAuc2V0dGluZy1sYWJlbCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIGxhYmVsLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAjdWktZGlhbG9nLWJvZHkuc2V0dGluZ3MgLnNldHRpbmctbmFtZSwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIC5zZXR0aW5nLWRlc2MsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0ICN1aS1kaWFsb2ctYm9keS5zZXR0aW5ncyAuc2V0dGluZy1kZXNjcmlwdGlvbiwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIHAgewogICAgY29sb3I6ICMxMTExMTEgIWltcG9ydGFudDsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgI3VpLWRpYWxvZy1ib2R5LnNldHRpbmdzIC5zZXR0aW5nLWJvZHkgewogICAgYmFja2dyb3VuZDogI2ZmZjRkNCAhaW1wb3J0YW50OwogICAgYm9yZGVyLWNvbG9yOiAjMTExMTExICFpbXBvcnRhbnQ7Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNJREVCQVIgQlVJTEQgSU5GT1JNQVRJT04gQU5EIENPUFlSSUdIVCBQQU5FTFMKICAgQWRkIHRoaXMgYmxvY2sgYXQgdGhlIGFic29sdXRlIGVuZCBvZiB0aGUgU3RvcnkgU3R5bGVzaGVldC4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgouYm0tc2lkZWJhci1tZXRhIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDAuNzJlbTsKICAgIG1hcmdpbi10b3A6IDAuNzhlbTsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwp9CgouYm0tYnVpbGQtcGFuZWwsCi5ibS1jb3B5cmlnaHQtcGFuZWwgewogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOgogICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjQsIDM1LCAzOSwgMC45OCksIHJnYmEoMTcsIDI3LCAzMSwgMC45OCkpOwogICAgYm9yZGVyOiAxcHggc29saWQgIzM3NmI4NjsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIGJveC1zaGFkb3c6CiAgICAgICAgMCA2cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuMjgpLAogICAgICAgIGluc2V0IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMzUpOwogICAgY29sb3I6ICNlZGYwZTU7Cn0KCi5ibS1tZXRhLWhlYWRpbmcgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDAuNDhlbTsKICAgIHBhZGRpbmc6IDAuNThlbSAwLjY4ZW07CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjMsIDY0LCA3OSwgMC45KSwgcmdiYSgyMiwgNDAsIDQ3LCAwLjM1KSk7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg3MiwgMTI3LCAxNTcsIDAuNDIpOwogICAgY29sb3I6ICM2ZmM5ZmY7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjcyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tbWV0YS1oZWFkaW5nLWljb24gewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMS42MmVtOwogICAgaGVpZ2h0OiAxLjYyZW07CiAgICBiYWNrZ3JvdW5kOiAjNGVhOGQ0OwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgY29sb3I6ICMxMDIzMmM7CiAgICBmb250LXNpemU6IDAuOWVtOwogICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4ZW07Cn0KCi5ibS1tZXRhLXJvdyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMC44ZnIpIG1pbm1heCgwLCAxLjM1ZnIpOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMC41NWVtOwogICAgcGFkZGluZzogMC41NGVtIDAuN2VtOwp9CgouYm0tbWV0YS1yb3cgKyAuYm0tbWV0YS1yb3cgewogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoODgsIDExOCwgMTI4LCAwLjIyKTsKfQoKLmJtLW1ldGEtbGFiZWwgewogICAgY29sb3I6ICNiOGRjZjE7CiAgICBmb250LXNpemU6IDAuNzJlbTsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7Cn0KCi5ibS1tZXRhLXZhbHVlIHsKICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOwogICAgY29sb3I6ICNmZmZmZmY7CiAgICBmb250LXNpemU6IDAuNzJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yNTsKICAgIHRleHQtYWxpZ246IHJpZ2h0Owp9CgouYm0tY29weXJpZ2h0LXBhbmVsIHsKICAgIHBhZGRpbmc6IDAuNzJlbSAwLjgyZW0gMC43NmVtOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tY29weXJpZ2h0LWhlYWRpbmcgewogICAgY29sb3I6ICNjNmQ2ZGM7CiAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjY0ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1jb3B5cmlnaHQtcnVsZSB7CiAgICBoZWlnaHQ6IDFweDsKICAgIG1hcmdpbjogMC41ZW0gYXV0byAwLjU4ZW07CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDExNywgMTU4LCAxNzMsIDAuNTUpLCB0cmFuc3BhcmVudCk7Cn0KCi5ibS1jb3B5cmlnaHQtY29weSwKLmJtLWNvcHlyaWdodC1jb21wYW55LAouYm0tY29weXJpZ2h0LXNpdGUgewogICAgY29sb3I6ICNmZmZmZmY7CiAgICBmb250LXNpemU6IDAuNzJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4zNTsKfQoKLmJtLWNvcHlyaWdodC1jb3B5IGEsCi5ibS1jb3B5cmlnaHQtc2l0ZSwKLmJtLWNvcHlyaWdodC1zaXRlLmxpbmstZXh0ZXJuYWwgewogICAgZGlzcGxheTogaW5saW5lOwogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXI6IDA7CiAgICBib3gtc2hhZG93OiBub25lOwogICAgY29sb3I6ICM3MmQ4ZmY7CiAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMDsKICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7Cn0KCi5ibS1jb3B5cmlnaHQtc2l0ZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBtYXJnaW4tdG9wOiAwLjIyZW07Cn0KCi5ibS1jb3B5cmlnaHQtY29weSBhOjpiZWZvcmUsCi5ibS1jb3B5cmlnaHQtY29weSBhOjphZnRlciwKLmJtLWNvcHlyaWdodC1zaXRlOjpiZWZvcmUsCi5ibS1jb3B5cmlnaHQtc2l0ZTo6YWZ0ZXIgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50Owp9CgouYm0tY29weXJpZ2h0LWNvcHkgYTpob3ZlciwKLmJtLWNvcHlyaWdodC1zaXRlOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY29sb3I6ICNmZmYwYzk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4Owp9CgouYm0tY29weXJpZ2h0LXJpZ2h0cyB7CiAgICBtYXJnaW4tdG9wOiAwLjMyZW07CiAgICBjb2xvcjogIzljYjJiYjsKICAgIGZvbnQtc2l6ZTogMC42NWVtOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWJ1aWxkLXBhbmVsLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY29weXJpZ2h0LXBhbmVsIHsKICAgIGJhY2tncm91bmQ6ICMxMDE3MTk7CiAgICBib3JkZXItY29sb3I6ICM5ZmRjZmY7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1tZXRhLWxhYmVsLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY29weXJpZ2h0LWhlYWRpbmcsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1jb3B5cmlnaHQtcmlnaHRzIHsKICAgIGNvbG9yOiAjZmZmZmZmOwp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBCTEFDS1dPT0QgU0lERUJBUiBCVUlMRCBBTkQgQ09QWVJJR0hUIFRIRU1FCiAgIFJlcGxhY2VzIHRoZSBibHVlIHRlcm1pbmFsIGFwcGVhcmFuY2UuCiAgIEFkZCB0aGlzIGJsb2NrIGF0IHRoZSBhYnNvbHV0ZSBlbmQgb2YgdGhlIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLXNpZGViYXItbWV0YSB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ2FwOiAwLjcyZW07CiAgICBtYXJnaW4tdG9wOiAwLjgyZW07CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50Owp9CgouYm0tYnVpbGQtcGFuZWwsCi5ibS1jb3B5cmlnaHQtcGFuZWwgewogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOgogICAgICAgIHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg2NywgNDksIDI4LCAwLjAyNSkgMCwgcmdiYSg2NywgNDksIDI4LCAwLjAyNSkgMXB4LCB0cmFuc3BhcmVudCAxcHgsIHRyYW5zcGFyZW50IDRweCksCiAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2Q4Y2NhOSwgI2M5Yjk4ZCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTE3OTRjOwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMyksIGluc2V0IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICAgIGNvbG9yOiAjMzAyYzIzOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKfQoKLmJtLW1ldGEtaGVhZGluZyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMC40OGVtOwogICAgcGFkZGluZzogMC41NWVtIDAuNjhlbTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzczMzI0NywgIzRlMjkzNik7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzhmNGE1ZTsKICAgIGNvbG9yOiAjZjFkZmI3OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMC43NmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA1NWVtOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1tZXRhLWhlYWRpbmctaWNvbiB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHdpZHRoOiAxLjY1ZW07CiAgICBoZWlnaHQ6IDEuNjVlbTsKICAgIGJhY2tncm91bmQ6ICM0MTY1Njg7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjNmU4YjhkOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgY29sb3I6ICNmMmUxYmI7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuODZlbTsKICAgIGxldHRlci1zcGFjaW5nOiAwOwp9CgouYm0tbWV0YS1yb3cgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDAuNzJmcikgbWlubWF4KDAsIDEuNGZyKTsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDAuNWVtOwogICAgcGFkZGluZzogMC41MmVtIDAuNzJlbTsKfQoKLmJtLW1ldGEtcm93ICsgLmJtLW1ldGEtcm93IHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEwNCwgODAsIDQzLCAwLjI1KTsKfQoKLmJtLW1ldGEtbGFiZWwgewogICAgY29sb3I6ICM1ZTU4NDc7CiAgICBmb250LXNpemU6IDAuNzRlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS1tZXRhLXZhbHVlIHsKICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOwogICAgY29sb3I6ICM2NTMwNDQ7CiAgICBmb250LXNpemU6IDAuNzRlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yNTsKICAgIHRleHQtYWxpZ246IHJpZ2h0Owp9CgouYm0tY29weXJpZ2h0LXBhbmVsIHsKICAgIHBhZGRpbmc6IDAuN2VtIDAuODJlbSAwLjc2ZW07CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5ibS1jb3B5cmlnaHQtaGVhZGluZyB7CiAgICBjb2xvcjogIzY1MzA0NDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuNzJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wOWVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLmJtLWNvcHlyaWdodC1ydWxlIHsKICAgIGhlaWdodDogMXB4OwogICAgbWFyZ2luOiAwLjQ2ZW0gYXV0byAwLjU1ZW07CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDEwMywgNzAsIDQ3LCAwLjU1KSwgdHJhbnNwYXJlbnQpOwp9CgouYm0tY29weXJpZ2h0LWNvcHksCi5ibS1jb3B5cmlnaHQtY29tcGFueSwKLmJtLWNvcHlyaWdodC1zaXRlIHsKICAgIGNvbG9yOiAjMzAyYzIzOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMC43NGVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM4Owp9CgouYm0tY29weXJpZ2h0LWNvcHkgYSwKLmJtLWNvcHlyaWdodC1zaXRlLAouYm0tY29weXJpZ2h0LXNpdGUubGluay1leHRlcm5hbCB7CiAgICBkaXNwbGF5OiBpbmxpbmU7CiAgICB3aWR0aDogYXV0bzsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDA7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogIzNkNjI2NSAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50OwogICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogICAgbGV0dGVyLXNwYWNpbmc6IDA7CiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7Cn0KCi5ibS1jb3B5cmlnaHQtc2l0ZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXRvcDogMC4yZW07IH0KCi5ibS1jb3B5cmlnaHQtY29weSBhOjpiZWZvcmUsCi5ibS1jb3B5cmlnaHQtY29weSBhOjphZnRlciwKLmJtLWNvcHlyaWdodC1zaXRlOjpiZWZvcmUsCi5ibS1jb3B5cmlnaHQtc2l0ZTo6YWZ0ZXIgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50Owp9CgouYm0tY29weXJpZ2h0LWNvcHkgYTpob3ZlciwKLmJtLWNvcHlyaWdodC1zaXRlOmhvdmVyIHsKICAgIGNvbG9yOiAjN2MzNDQ5ICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4Owp9CgouYm0tY29weXJpZ2h0LXJpZ2h0cyB7CiAgICBtYXJnaW4tdG9wOiAwLjNlbTsKICAgIGNvbG9yOiAjNjg2MDRlOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMC42N2VtOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWJ1aWxkLXBhbmVsLApib2R5LnNldHRpbmctaGlnaC1jb250cmFzdCAuYm0tY29weXJpZ2h0LXBhbmVsIHsKICAgIGJhY2tncm91bmQ6ICNmM2U3YzU7CiAgICBib3JkZXItY29sb3I6ICMxMTE7CiAgICBjb2xvcjogIzExMTsKfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQkxBQ0tXT09EIFNJREVCQVIgQlVJTEQgQU5EIENPUFlSSUdIVCBUSEVNRQogICBSZXBsYWNlcyB0aGUgYmx1ZSB0ZXJtaW5hbCBhcHBlYXJhbmNlLgogICBBZGQgdGhpcyBibG9jayBhdCB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1zaWRlYmFyLW1ldGEgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdhcDogMC43MmVtOwogICAgbWFyZ2luLXRvcDogMC44MmVtOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKfQoKLmJtLWJ1aWxkLXBhbmVsLAouYm0tY29weXJpZ2h0LXBhbmVsIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZDoKICAgICAgICByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoNjcsIDQ5LCAyOCwgMC4wMjUpIDAsIHJnYmEoNjcsIDQ5LCAyOCwgMC4wMjUpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCA0cHgpLAogICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNkOGNjYTksICNjOWI5OGQpOwogICAgYm9yZGVyOiAxcHggc29saWQgIzkxNzk0YzsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpLCBpbnNldCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgICBjb2xvcjogIzMwMmMyMzsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7Cn0KCi5ibS1tZXRhLWhlYWRpbmcgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDAuNDhlbTsKICAgIHBhZGRpbmc6IDAuNTVlbSAwLjY4ZW07CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM3MzMyNDcsICM0ZTI5MzYpOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4ZjRhNWU7CiAgICBjb2xvcjogI2YxZGZiNzsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuNzZlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNTVlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYm0tbWV0YS1oZWFkaW5nLWljb24gewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMS42NWVtOwogICAgaGVpZ2h0OiAxLjY1ZW07CiAgICBiYWNrZ3JvdW5kOiAjNDE2NTY4OwogICAgYm9yZGVyOiAxcHggc29saWQgIzZlOGI4ZDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGNvbG9yOiAjZjJlMWJiOwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAwLjg2ZW07CiAgICBsZXR0ZXItc3BhY2luZzogMDsKfQoKLmJtLW1ldGEtcm93IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAwLjcyZnIpIG1pbm1heCgwLCAxLjRmcik7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAwLjVlbTsKICAgIHBhZGRpbmc6IDAuNTJlbSAwLjcyZW07Cn0KCi5ibS1tZXRhLXJvdyArIC5ibS1tZXRhLXJvdyB7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMDQsIDgwLCA0MywgMC4yNSk7Cn0KCi5ibS1tZXRhLWxhYmVsIHsKICAgIGNvbG9yOiAjNWU1ODQ3OwogICAgZm9udC1zaXplOiAwLjc0ZW07CiAgICBmb250LXdlaWdodDogNzAwOwp9CgouYm0tbWV0YS12YWx1ZSB7CiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsKICAgIGNvbG9yOiAjNjUzMDQ0OwogICAgZm9udC1zaXplOiAwLjc0ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgICB0ZXh0LWFsaWduOiByaWdodDsKfQoKLmJtLWNvcHlyaWdodC1wYW5lbCB7CiAgICBwYWRkaW5nOiAwLjdlbSAwLjgyZW0gMC43NmVtOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYm0tY29weXJpZ2h0LWhlYWRpbmcgewogICAgY29sb3I6ICM2NTMwNDQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAwLjcyZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDllbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibS1jb3B5cmlnaHQtcnVsZSB7CiAgICBoZWlnaHQ6IDFweDsKICAgIG1hcmdpbjogMC40NmVtIGF1dG8gMC41NWVtOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgxMDMsIDcwLCA0NywgMC41NSksIHRyYW5zcGFyZW50KTsKfQoKLmJtLWNvcHlyaWdodC1jb3B5LAouYm0tY29weXJpZ2h0LWNvbXBhbnksCi5ibS1jb3B5cmlnaHQtc2l0ZSB7CiAgICBjb2xvcjogIzMwMmMyMzsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuNzRlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4zODsKfQoKLmJtLWNvcHlyaWdodC1jb3B5IGEsCi5ibS1jb3B5cmlnaHQtc2l0ZSwKLmJtLWNvcHlyaWdodC1zaXRlLmxpbmstZXh0ZXJuYWwgewogICAgZGlzcGxheTogaW5saW5lOwogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgY29sb3I6ICMzZDYyNjUgIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIGxldHRlci1zcGFjaW5nOiAwOwogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50Owp9CgouYm0tY29weXJpZ2h0LXNpdGUgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi10b3A6IDAuMmVtOyB9CgouYm0tY29weXJpZ2h0LWNvcHkgYTo6YmVmb3JlLAouYm0tY29weXJpZ2h0LWNvcHkgYTo6YWZ0ZXIsCi5ibS1jb3B5cmlnaHQtc2l0ZTo6YmVmb3JlLAouYm0tY29weXJpZ2h0LXNpdGU6OmFmdGVyIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKfQoKLmJtLWNvcHlyaWdodC1jb3B5IGE6aG92ZXIsCi5ibS1jb3B5cmlnaHQtc2l0ZTpob3ZlciB7CiAgICBjb2xvcjogIzdjMzQ0OSAhaW1wb3J0YW50OwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDsKfQoKLmJtLWNvcHlyaWdodC1yaWdodHMgewogICAgbWFyZ2luLXRvcDogMC4zZW07CiAgICBjb2xvcjogIzY4NjA0ZTsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuNjdlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7Cn0KCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1idWlsZC1wYW5lbCwKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLWNvcHlyaWdodC1wYW5lbCB7CiAgICBiYWNrZ3JvdW5kOiAjZjNlN2M1OwogICAgYm9yZGVyLWNvbG9yOiAjMTExOwogICAgY29sb3I6ICMxMTE7Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFNUT1JZIE1FTlUgU1lTVEVNIEJVVFRPTlMgLSBUSVRMRSBTQ1JFRU4gQU5EIEhPVyBUTyBQTEFZCiAgIEFkZCB0aGlzIGJsb2NrIGF0IHRoZSBhYnNvbHV0ZSBlbmQgb2YgdGhlIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLyogTmV1dHJhbGl6ZSB0aGUgb2xkZXIgU3RvcnlNZW51IHJvdyB0cmVhdG1lbnQuICovCiNtZW51LXN0b3J5IGxpOmhhcyguYm0tc3lzdGVtLXN0b3J5LWxpbmspIHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsKfQoKLyogUHJlc2VydmUgYSBzbWFsbCBtYXRjaGluZyBnYXAgd2hlbiBib3RoIGNvbnRyb2xzIGFyZSB2aXNpYmxlLiAqLwojbWVudS1zdG9yeSBsaTpoYXMoLmJtLXN5c3RlbS1zdG9yeS1saW5rKSArIGxpOmhhcyguYm0tc3lzdGVtLXN0b3J5LWxpbmspIHsKICAgIG1hcmdpbi10b3A6IDAuMjJyZW0gIWltcG9ydGFudDsKfQoKLyogTWF0Y2ggU2F2ZXMsIFNldHRpbmdzLCBhbmQgUmVzdGFydC4gKi8KI21lbnUtc3RvcnkgYTpoYXMoLmJtLXN5c3RlbS1zdG9yeS1saW5rKSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1pbi1oZWlnaHQ6IDMuMzVyZW0gIWltcG9ydGFudDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMC43MnJlbSAwLjg1cmVtIDAuNzJyZW0gNC4xNXJlbSAhaW1wb3J0YW50OwogICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMzMTU3NWIsICMyMDNmNDMpICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjNGU3NDc4ICFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjI4KSAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmMGRmYjggIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW0gIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsKICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7CiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKfQoKLyogRXhhY3QgMS1waXhlbCBhbGlnbm1lbnQgY29ycmVjdGlvbiByZXF1ZXN0ZWQgZm9yIEhvdyB0byBQbGF5LiAqLwojbWVudS1zdG9yeSBhOmhhcyguYm0taG93LXRvLXBsYXktbGFiZWwpIHsKICAgIHRvcDogMXB4ICFpbXBvcnRhbnQ7Cn0KCi8qIFNoYXJlZCBjaXJjdWxhciBpY29uIGdlb21ldHJ5LiAqLwojbWVudS1zdG9yeSBhOmhhcyguYm0tc3lzdGVtLXN0b3J5LWxpbmspOjpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7CiAgICBsZWZ0OiAwLjlyZW0gIWltcG9ydGFudDsKICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7CiAgICByaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgd2lkdGg6IDIuMTVyZW0gIWltcG9ydGFudDsKICAgIGhlaWdodDogMi4xNXJlbSAhaW1wb3J0YW50OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0NCwgMjI1LCAxODQsIDAuNDIpICFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKDAsIDAsIDAsIDAuMykgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjZmZmMGM4ICFpbXBvcnRhbnQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAxLjA4cmVtICFpbXBvcnRhbnQ7CiAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDsKfQoKLyogVGl0bGUgU2NyZWVuIHJlY2VpdmVzIGEgaG9tZS1zdHlsZSBIIG1hcmtlci4gKi8KI21lbnUtc3RvcnkgYTpoYXMoLmJtLXRpdGxlLXNjcmVlbi1sYWJlbCk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiSCIgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICM1NTZmNGIgIWltcG9ydGFudDsKfQoKLyogSG93IHRvIFBsYXkgcmV0YWlucyBpdHMgcXVlc3Rpb24tbWFyayBtYXJrZXIuICovCiNtZW51LXN0b3J5IGE6aGFzKC5ibS1ob3ctdG8tcGxheS1sYWJlbCk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiPyIgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICM3MzMyNDcgIWltcG9ydGFudDsKfQoKI21lbnUtc3RvcnkgYTpoYXMoLmJtLXN5c3RlbS1zdG9yeS1saW5rKTo6YWZ0ZXIgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50Owp9CgojbWVudS1zdG9yeSBhOmhhcyguYm0tc3lzdGVtLXN0b3J5LWxpbmspOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICM4ZjQwNTUsICM2ZTJkNDApICFpbXBvcnRhbnQ7CiAgICBib3JkZXItY29sb3I6ICNhODVhNmUgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjZmZmMmQyICFpbXBvcnRhbnQ7Cn0KCiNtZW51LXN0b3J5IGE6aGFzKC5ibS1zeXN0ZW0tc3RvcnktbGluayk6Zm9jdXMtdmlzaWJsZSB7CiAgICBvdXRsaW5lOiAzcHggc29saWQgI2QwYWQ2OCAhaW1wb3J0YW50OwogICAgb3V0bGluZS1vZmZzZXQ6IDJweCAhaW1wb3J0YW50Owp9CgouYm0tc3lzdGVtLXN0b3J5LWxpbmsgewogICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsKICAgIGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDsKICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50OwogICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHsKICAgICNtZW51LXN0b3J5IGE6aGFzKC5ibS1zeXN0ZW0tc3RvcnktbGluaykgewogICAgICAgIG1pbi1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuOHJlbSAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtc2l6ZTogMC45MnJlbSAhaW1wb3J0YW50OwogICAgfQoKICAgICNtZW51LXN0b3J5IGE6aGFzKC5ibS1zeXN0ZW0tc3RvcnktbGluayk6OmJlZm9yZSB7CiAgICAgICAgbGVmdDogMC44cmVtICFpbXBvcnRhbnQ7CiAgICAgICAgd2lkdGg6IDJyZW0gIWltcG9ydGFudDsKICAgICAgICBoZWlnaHQ6IDJyZW0gIWltcG9ydGFudDsKICAgIH0KfQovKiBSZW1vdmUgdGhlIHRpbnkgZ2FwIGJldHdlZW4gU3RvcnlNZW51IGFuZCBTdWdhckN1YmUgY29udHJvbHMuICovCiNtZW51LXN0b3J5IHsKICAgIG1hcmdpbi1ib3R0b206IC0xcHggIWltcG9ydGFudDsKfQoKI21lbnUtY29yZSB7CiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIENVUlJFTlQgQ0FTRSBCT1ggRk9OVAogICBBZGQgdGhpcyBibG9jayBhdCB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi5ibS1jYXNlLXNpZGViYXIsCi5ibS1jYXNlLXNpZGViYXIgKiwKLmJtLWN1cnJlbnQtY2FzZSwKLmJtLWN1cnJlbnQtY2FzZSAqIHsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7Cn0KCi8qIFByZXNlcnZlIGNsZWFyIHZpc3VhbCBoaWVyYXJjaHkgaW5zaWRlIHRoZSBDdXJyZW50IENhc2UgYm94LiAqLwouYm0tY2FzZS1zaWRlYmFyIC5ibS1jYXNlLWxhYmVsLAouYm0tY3VycmVudC1jYXNlIC5ibS1jYXNlLWxhYmVsLAouYm0tY2FzZS1zaWRlYmFyIC5ibS1jYXNlLWtpY2tlciwKLmJtLWN1cnJlbnQtY2FzZSAuYm0tY2FzZS1raWNrZXIgewogICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDQ1ZW0gIWltcG9ydGFudDsKfQoKLmJtLWNhc2Utc2lkZWJhciAuYm0tY2FzZS12YWx1ZSwKLmJtLWN1cnJlbnQtY2FzZSAuYm0tY2FzZS12YWx1ZSwKLmJtLWNhc2Utc2lkZWJhciBzdHJvbmcsCi5ibS1jdXJyZW50LWNhc2Ugc3Ryb25nIHsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKfQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU0lOR0xFLVNMT1QgQVVUT1NBVkUgTk9USUNFCiAgIEFkZCB0aGlzIGJsb2NrIHRvIHRoZSBFTkQgb2YgdGhlIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLWF1dG9zYXZlLW5vdGljZSB7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICByaWdodDogMXJlbTsKICAgIGJvdHRvbTogMXJlbTsKICAgIHotaW5kZXg6IDEwMDUwOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDAuNjJlbTsKICAgIG1heC13aWR0aDogbWluKDI0cmVtLCBjYWxjKDEwMHZ3IC0gMnJlbSkpOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHBhZGRpbmc6IDAuNjhlbSAwLjgyZW07CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMzE1NzViLCAjMjAzZjQzKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM2Mjg1ODk7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBib3gtc2hhZG93OiAwIDhweCAyMnB4IHJnYmEoMCwgMCwgMCwgMC40NCk7CiAgICBjb2xvcjogI2YxZGZiOTsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwogICAgZm9udC1zaXplOiAwLjg2cmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMjBtcyBlYXNlLCB0cmFuc2Zvcm0gMjIwbXMgZWFzZTsKfQoKLmJtLWF1dG9zYXZlLWljb24gewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBmbGV4OiAwIDAgMnJlbTsKICAgIHdpZHRoOiAycmVtOwogICAgaGVpZ2h0OiAycmVtOwogICAgYmFja2dyb3VuZDogIzYwNzk0ZjsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQ0LCAyMjUsIDE4NCwgMC40Mik7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBjb2xvcjogI2ZmZjBjODsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS1hdXRvc2F2ZS1ub3RpY2UuaXMtbGVhdmluZyB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNXJlbSk7Cn0KCmJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5ibS1hdXRvc2F2ZS1ub3RpY2UgewogICAgdHJhbnNpdGlvbjogbm9uZTsKfQoKQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKICAgIC5ibS1hdXRvc2F2ZS1ub3RpY2UgewogICAgICAgIHRyYW5zaXRpb246IG5vbmU7CiAgICB9Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgICAuYm0tYXV0b3NhdmUtbm90aWNlIHsKICAgICAgICByaWdodDogMC42NXJlbTsKICAgICAgICBib3R0b206IDAuNjVyZW07CiAgICAgICAgbGVmdDogMC42NXJlbTsKICAgICAgICBtYXgtd2lkdGg6IG5vbmU7CiAgICB9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIExPQUQgQVVUT1NBVkUgU0lERUJBUiBCVVRUT04KICAgTWF0Y2hlcyBTYXZlcywgU2V0dGluZ3MsIGFuZCBSZXN0YXJ0LgogICBBZGQgdGhpcyBibG9jayB0byB0aGUgRU5EIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGEgewogICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtaW4taGVpZ2h0OiAzLjM1cmVtICFpbXBvcnRhbnQ7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAuNzJyZW0gMC44NXJlbSAwLjcycmVtIDQuMTVyZW0gIWltcG9ydGFudDsKICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMzE1NzViLCAjMjAzZjQzKSAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxcHggc29saWQgIzRlNzQ3OCAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yOCkgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjZjBkZmI4ICFpbXBvcnRhbnQ7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OwogICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGE6OmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKICAgIGxlZnQ6IDAuOXJlbSAhaW1wb3J0YW50OwogICAgdG9wOiA1MCUgIWltcG9ydGFudDsKICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDsKICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMi4xNXJlbSAhaW1wb3J0YW50OwogICAgaGVpZ2h0OiAyLjE1cmVtICFpbXBvcnRhbnQ7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgIGNvbnRlbnQ6ICJBIiAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogIzYwNzk0ZiAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDQsIDIyNSwgMTg0LCAwLjQyKSAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiAwIDNweCA4cHggcmdiYSgwLCAwLCAwLCAwLjMpICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2ZmZjBjOCAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OwogICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OwogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGE6OmFmdGVyIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYTpob3ZlciwKI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYTpmb2N1cyB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjOGY0MDU1LCAjNmUyZDQwKSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWNvbG9yOiAjYTg1YTZlICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2ZmZjJkMiAhaW1wb3J0YW50Owp9CgojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhOmZvY3VzLXZpc2libGUgewogICAgb3V0bGluZTogM3B4IHNvbGlkICNkMGFkNjggIWltcG9ydGFudDsKICAgIG91dGxpbmUtb2Zmc2V0OiAycHggIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYS5pcy11bmF2YWlsYWJsZSwKI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYVthcmlhLWRpc2FibGVkPSJ0cnVlIl0gewogICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50OwogICAgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7CiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwLjQ1KSAhaW1wb3J0YW50Owp9CgojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhLmlzLXVuYXZhaWxhYmxlOmhvdmVyLAojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhW2FyaWEtZGlzYWJsZWQ9InRydWUiXTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMzE1NzViLCAjMjAzZjQzKSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWNvbG9yOiAjNGU3NDc4ICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2YwZGZiOCAhaW1wb3J0YW50Owp9CgojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhLmlzLWxvYWRpbmc6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiLi4uIiAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAwLjcycmVtICFpbXBvcnRhbnQ7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAjbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhIHsKICAgICAgICBtaW4taGVpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjhyZW0gIWltcG9ydGFudDsKICAgICAgICBmb250LXNpemU6IDAuOTJyZW0gIWltcG9ydGFudDsKICAgIH0KCiAgICAjbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhOjpiZWZvcmUgewogICAgICAgIGxlZnQ6IDAuOHJlbSAhaW1wb3J0YW50OwogICAgICAgIHdpZHRoOiAycmVtICFpbXBvcnRhbnQ7CiAgICAgICAgaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7CiAgICB9Cn0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEJFRk9SRSBZT1UgQkVHSU4gLSBTQVZJTkcgWU9VUiBNWVNURVJZCiAgIEFkZCB0aGlzIGJsb2NrIHRvIHRoZSBhYnNvbHV0ZSBlbmQgb2YgdGhlIFN0b3J5IFN0eWxlc2hlZXQuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmJtLXNhdmUtZXhwbGFpbmVyIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7CiAgICBnYXA6IDAuODVlbTsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBtYXJnaW46IDEuMTVlbSAwOwogICAgcGFkZGluZzogMC45NWVtIDFlbTsKICAgIGJhY2tncm91bmQ6CiAgICAgICAgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgKICAgICAgICAgICAgMGRlZywKICAgICAgICAgICAgcmdiYSg2NywgNDksIDI4LCAwLjAyNSkgMCwKICAgICAgICAgICAgcmdiYSg2NywgNDksIDI4LCAwLjAyNSkgMXB4LAogICAgICAgICAgICB0cmFuc3BhcmVudCAxcHgsCiAgICAgICAgICAgIHRyYW5zcGFyZW50IDRweAogICAgICAgICksCiAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2RkZDBhYywgI2NkYmQ5MSk7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTQ3YjRiOwogICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjNDE2NTY4OwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgYm94LXNoYWRvdzoKICAgICAgICAwIDZweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4yNCksCiAgICAgICAgaW5zZXQgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTsKICAgIGNvbG9yOiAjMzAyZDI1OwogICAgZm9udC1mYW1pbHk6ICJBdmVyaWEgU2VyaWYgTGlicmUiLCBHZW9yZ2lhLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWY7Cn0KCi5ibS1zYXZlLWV4cGxhaW5lci1pY29uIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMi43NWVtOwogICAgaGVpZ2h0OiAyLjc1ZW07CiAgICBtYXJnaW4tdG9wOiAwLjA1ZW07CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjNjA3OTRmLCAjNDM1YjNjKTsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyMzksIDE5NywgMC43Mik7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3gtc2hhZG93OiAwIDRweCA5cHggcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgY29sb3I6ICNmZmYxY2E7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5ibS1zYXZlLWV4cGxhaW5lci1jb250ZW50IHsKICAgIG1pbi13aWR0aDogMDsKfQoKLmJtLXNhdmUtZXhwbGFpbmVyIGgzIHsKICAgIG1hcmdpbjogMCAwIDAuNDVlbTsKICAgIHBhZGRpbmc6IDAgMCAwLjMyZW07CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMDIsIDcyLCA0MiwgMC4zNSk7CiAgICBjb2xvcjogIzcxMzI0NzsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmOwogICAgZm9udC1zaXplOiAxLjE1ZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICBsaW5lLWhlaWdodDogMS4yOwp9CgouYm0tc2F2ZS1leHBsYWluZXIgcCB7CiAgICBtYXJnaW46IDAuNTJlbSAwOwogICAgY29sb3I6ICMzZDM5MmY7CiAgICBmb250LWZhbWlseTogIkF2ZXJpYSBTZXJpZiBMaWJyZSIsIEdlb3JnaWEsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZjsKICAgIGZvbnQtc2l6ZTogMC45NGVtOwogICAgbGluZS1oZWlnaHQ6IDEuNTI7Cn0KCi5ibS1zYXZlLWV4cGxhaW5lciBwIHN0cm9uZywKLmJtLXNhdmUtZXhwbGFpbmVyLWFjdGlvbnMgc3Ryb25nIHsKICAgIGNvbG9yOiAjNjUzMDQ0OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKLmJtLXNhdmUtZXhwbGFpbmVyLWFjdGlvbnMgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdhcDogMC4zOGVtOwogICAgbWFyZ2luLXRvcDogMC43MmVtOwogICAgcGFkZGluZzogMC42MmVtIDAuN2VtOwogICAgYmFja2dyb3VuZDogcmdiYSgyNDcsIDIzNSwgMjAyLCAwLjYyKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoODYsIDEwNSwgOTYsIDAuMzUpOwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgY29sb3I6ICM0NjQ4M2U7CiAgICBmb250LXNpemU6IDAuODZlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjQyOwp9CgouYm0tc2F2ZS1leHBsYWluZXItYWN0aW9ucyBzcGFuIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcGFkZGluZy1sZWZ0OiAxLjA1ZW07Cn0KCi5ibS1zYXZlLWV4cGxhaW5lci1hY3Rpb25zIHNwYW46OmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwLjA1ZW07CiAgICBjb250ZW50OiAi4oCiIjsKICAgIGNvbG9yOiAjNDE2NTY4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLXNhdmUtZXhwbGFpbmVyIHsKICAgIGJhY2tncm91bmQ6ICNmZmYxYzk7CiAgICBib3JkZXItY29sb3I6ICMxMTExMTE7CiAgICBjb2xvcjogIzExMTExMTsKfQoKYm9keS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLmJtLXNhdmUtZXhwbGFpbmVyIHAsCmJvZHkuc2V0dGluZy1oaWdoLWNvbnRyYXN0IC5ibS1zYXZlLWV4cGxhaW5lci1hY3Rpb25zIHsKICAgIGNvbG9yOiAjMTExMTExOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgewogICAgLmJtLXNhdmUtZXhwbGFpbmVyIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBwYWRkaW5nOiAwLjg1ZW07CiAgICB9CgogICAgLmJtLXNhdmUtZXhwbGFpbmVyLWljb24gewogICAgICAgIHdpZHRoOiAyLjVlbTsKICAgICAgICBoZWlnaHQ6IDIuNWVtOwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQoKICAgIC5ibS1zYXZlLWV4cGxhaW5lciBoMyB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQp9Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBMT0FEIEFVVE9TQVZFIFVOQVZBSUxBQkxFIFNUQVRFIC0gVklTVUFMIENPTlNJU1RFTkNZIEZJWAogICBBZGQgdGhpcyBibG9jayBhdCB0aGUgYWJzb2x1dGUgZW5kIG9mIHRoZSBTdG9yeSBTdHlsZXNoZWV0LgogICBLZWVwcyB0aGUgYnV0dG9uIHN0eWxlZCBjb3JyZWN0bHkgYmVmb3JlIHRoZSBmaXJzdCBhdXRvc2F2ZS4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgovKiBLZWVwIHRoZSBjb21wbGV0ZSBidXR0b24gYXQgZnVsbCBvcGFjaXR5IGJlZm9yZSBhbiBhdXRvc2F2ZSBleGlzdHMuICovCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGEuaXMtdW5hdmFpbGFibGUsCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGEuaXMtdW5hdmFpbGFibGVbYXJpYS1kaXNhYmxlZD0idHJ1ZSJdIHsKICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsKICAgIGZpbHRlcjogbm9uZSAhaW1wb3J0YW50OwogICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzJkNGE0ZCwgIzFlMzYzOSkgIWltcG9ydGFudDsKICAgIGJvcmRlci1jb2xvcjogIzQxNWY2MyAhaW1wb3J0YW50OwogICAgY29sb3I6ICNiYWFmOTEgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjI0KSAhaW1wb3J0YW50Owp9CgovKiBPbmx5IG11dGUgdGhlIGNpcmN1bGFyIEEgbWFya2VyLCByYXRoZXIgdGhhbiBmYWRpbmcgdGhlIGVudGlyZSBidXR0b24uICovCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGEuaXMtdW5hdmFpbGFibGU6OmJlZm9yZSwKI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYS5pcy11bmF2YWlsYWJsZVthcmlhLWRpc2FibGVkPSJ0cnVlIl06OmJlZm9yZSB7CiAgICBjb250ZW50OiAiQSIgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICM0ODU2NGEgIWltcG9ydGFudDsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDUsIDE5NSwgMTY0LCAwLjMpICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2JiYWU5MCAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogMCAzcHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yNikgIWltcG9ydGFudDsKfQoKLyogVW5hdmFpbGFibGUgY29udHJvbHMgc2hvdWxkIG5vdCBhZG9wdCB0aGUgYnVyZ3VuZHkgaG92ZXIgc3RhdGUuICovCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGEuaXMtdW5hdmFpbGFibGU6aG92ZXIsCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGEuaXMtdW5hdmFpbGFibGU6Zm9jdXMsCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGEuaXMtdW5hdmFpbGFibGVbYXJpYS1kaXNhYmxlZD0idHJ1ZSJdOmhvdmVyLAojbWVudS1pdGVtLWxvYWQtYXV0b3NhdmUgPiBhLmlzLXVuYXZhaWxhYmxlW2FyaWEtZGlzYWJsZWQ9InRydWUiXTpmb2N1cyB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMmQ0YTRkLCAjMWUzNjM5KSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWNvbG9yOiAjNDE1ZjYzICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2JhYWY5MSAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7Cn0KCi8qIE9uY2UgYW4gYXV0b3NhdmUgZXhpc3RzLCByZXN0b3JlIHRoZSBzYW1lIGFwcGVhcmFuY2UgYXMgU2F2ZXMuICovCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGE6bm90KC5pcy11bmF2YWlsYWJsZSlbYXJpYS1kaXNhYmxlZD0iZmFsc2UiXSB7CiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7CiAgICBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDsKICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzMxNTc1YiwgIzIwM2Y0MykgIWltcG9ydGFudDsKICAgIGJvcmRlci1jb2xvcjogIzRlNzQ3OCAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmMGRmYjggIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlID4gYTpub3QoLmlzLXVuYXZhaWxhYmxlKVthcmlhLWRpc2FibGVkPSJmYWxzZSJdOjpiZWZvcmUgewogICAgY29udGVudDogIkEiICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiAjNjA3OTRmICFpbXBvcnRhbnQ7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMjQ0LCAyMjUsIDE4NCwgMC40MikgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjZmZmMGM4ICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSA+IGE6bm90KC5pcy11bmF2YWlsYWJsZSlbYXJpYS1kaXNhYmxlZD0iZmFsc2UiXTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjOGY0MDU1LCAjNmUyZDQwKSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWNvbG9yOiAjYTg1YTZlICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogI2ZmZjJkMiAhaW1wb3J0YW50Owp9CgoKLyogTWFudXNjcmlwdC1iYXNlZCBwdXp6bGUgbG9ja3MgKi8KLnB1enpsZS1wYW5lbCB7CiAgbWFyZ2luOiAxLjRyZW0gMDsKICBwYWRkaW5nOiAxLjJyZW0gMS4yNXJlbTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE4MCwxNDUsODAsLjY1KTsKICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNiOTkyNGI7CiAgYmFja2dyb3VuZDogcmdiYSgyNCwyMSwxOCwuODIpOwogIGJveC1zaGFkb3c6IDAgMTBweCAyOHB4IHJnYmEoMCwwLDAsLjIyKTsKfQoucHV6emxlLXBhbmVsIGgzIHsgbWFyZ2luLXRvcDogMDsgY29sb3I6ICNlMmMyN2U7IGxldHRlci1zcGFjaW5nOiAuMDNlbTsgfQoucHV6emxlLXBhbmVsIGlucHV0W3R5cGU9InRleHQiXSB7IHdpZHRoOiBtaW4oMTAwJSwgMjRyZW0pOyBtYXJnaW46IC40NXJlbSAuNDVyZW0gLjY1cmVtIDA7IHBhZGRpbmc6IC43cmVtIC44cmVtOyBiYWNrZ3JvdW5kOiAjZjJlYWQ4OyBjb2xvcjogIzIwMWMxODsgYm9yZGVyOiAycHggc29saWQgIzhjNmQzODsgfQoucHV6emxlLXBhbmVsIGJ1dHRvbiB7IG1hcmdpbjogLjM1cmVtIDA7IH0KLnB1enpsZS1zdWNjZXNzLCAucHV6emxlLWVycm9yIHsgbWFyZ2luLXRvcDogLjlyZW07IHBhZGRpbmc6IC44cmVtIDFyZW07IH0KLnB1enpsZS1zdWNjZXNzIHsgYmFja2dyb3VuZDogcmdiYSg0Miw5Miw2MiwuMzUpOyBib3JkZXItbGVmdDogNHB4IHNvbGlkICM3OGI5OGQ7IH0KLnB1enpsZS1lcnJvciB7IGJhY2tncm91bmQ6IHJnYmEoMTEwLDQ4LDQyLC4zNSk7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2M4Nzk2ZjsgfQouY2lwaGVyLXRleHQgeyBtYXJnaW46IDFyZW0gMDsgcGFkZGluZzogLjlyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udDogNzAwIDEuMjVyZW0vMS40IG1vbm9zcGFjZTsgbGV0dGVyLXNwYWNpbmc6IC4xNmVtOyBjb2xvcjogI2VmZDI4ZDsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMzIpOyB9CgouYWJpbGl0eS1oaW50IHsgbWFyZ2luOiAxcmVtIDA7IHBhZGRpbmc6IC44cmVtIDFyZW07IGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzcwYTdiODsgYmFja2dyb3VuZDogcmdiYSg0Miw3NSw4NiwuMzgpOyB9CgovKiBWaXN1YWwgZGVkdWN0aW9uIGJvYXJkICovCi5kZWR1Y3Rpb24tYm9hcmR7bWFyZ2luOjEuMjVyZW0gMDtwYWRkaW5nOjEuMjVyZW07Ym9yZGVyOjFweCBzb2xpZCAjNzY1ZjNiO2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcscmdiYSg1Miw0MiwzMSwuOTcpLHJnYmEoMjcsMjUsMjMsLjk4KSk7Ym94LXNoYWRvdzowIDE4cHggNDJweCByZ2JhKDAsMCwwLC4zMyksaW5zZXQgMCAwIDQ1cHggcmdiYSgxNTcsMTE5LDU4LC4wNil9Ci5ib2FyZC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxcmVtO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyMjEsMTkwLDEyNiwuMjUpO3BhZGRpbmctYm90dG9tOjFyZW19LmJvYXJkLWhlYWRlciBoMnttYXJnaW46LjJyZW0gMDtjb2xvcjojZjBkNjlifS5ib2FyZC1oZWFkZXIgcHttYXJnaW46LjJyZW0gMDtjb2xvcjojYzliZWE4fS5ib2FyZC1raWNrZXJ7Zm9udC1zaXplOi43MnJlbTtsZXR0ZXItc3BhY2luZzouMTRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6I2E5Y2JkMH0uYm9hcmQtc2NvcmV7ZmxleDowIDAgYXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOi41NXJlbSAuNzVyZW07Ym9yZGVyOjFweCBzb2xpZCAjNWY3ZjgyO2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6IzIwMzYzODtjb2xvcjojYjhjY2NhO2ZvbnQtc2l6ZTouNzVyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wNmVtfS5ib2FyZC1zY29yZSBzdHJvbmd7ZGlzcGxheTpibG9jaztjb2xvcjojZjJkY2FhO2ZvbnQtc2l6ZToxLjE1cmVtO21hcmdpbi10b3A6LjE1cmVtfQouYm9hcmQtcHJvZ3Jlc3N7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDouNHJlbTttYXJnaW46MXJlbSAwfS5ib2FyZC1wcm9ncmVzcyBzcGFue3BhZGRpbmc6LjVyZW07dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjNGU0ODQwO2JvcmRlci1yYWRpdXM6NnB4O2JhY2tncm91bmQ6IzI0MjMyMTtjb2xvcjojODE3OTZjO2ZvbnQtc2l6ZTouNzhyZW19LmJvYXJkLXByb2dyZXNzIHNwYW4uYWN0aXZle2JvcmRlci1jb2xvcjojYTk4NTQ4O2JhY2tncm91bmQ6IzQwMzUyMjtjb2xvcjojZWZkNjk3fQouYm9hcmQtbmFycmF0aW9ue3BhZGRpbmc6Ljc1cmVtIDFyZW07bWFyZ2luOi44cmVtIDAgMXJlbTtib3JkZXItbGVmdDozcHggc29saWQgIzc0OGY5MDtiYWNrZ3JvdW5kOnJnYmEoMjAsMjgsMjksLjQ4KX0uYm9hcmQtbmFycmF0aW9uIHA6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9Ci5ldmlkZW5jZS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSk7Z2FwOi43NXJlbTttYXJnaW46MXJlbSAwfS5ldmlkZW5jZS1ncmlkLmNvbXBhY3R7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfS5ldmlkZW5jZS1jYXJke21pbi1oZWlnaHQ6MTA1cHg7cGFkZGluZzouNzVyZW07Ym9yZGVyOjFweCBzb2xpZCAjNzE2NTRmO2JvcmRlci1yYWRpdXM6N3B4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE2MGRlZywjZTVkNWI0LCNiZmE3N2IpO2NvbG9yOiMyOTIzMWI7Ym94LXNoYWRvdzowIDZweCAxNHB4IHJnYmEoMCwwLDAsLjI1KTt0cmFuc2Zvcm06cm90YXRlKC0uMzVkZWcpfS5ldmlkZW5jZS1jYXJkOm50aC1jaGlsZChldmVuKXt0cmFuc2Zvcm06cm90YXRlKC4zNWRlZyl9LmV2aWRlbmNlLWNhcmQgc3Ryb25nLC5ldmlkZW5jZS1jYXJkIHNtYWxse2Rpc3BsYXk6YmxvY2t9LmV2aWRlbmNlLWNhcmQgc21hbGx7bWFyZ2luLXRvcDouMzVyZW07bGluZS1oZWlnaHQ6MS4zO2NvbG9yOiM1NzRhMzh9LmV2aWRlbmNlLWljb257ZGlzcGxheTppbmxpbmUtZ3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7d2lkdGg6MjlweDtoZWlnaHQ6MjlweDttYXJnaW4tYm90dG9tOi41cmVtO2JvcmRlcjoxcHggc29saWQgIzc5Njg0OTtib3JkZXItcmFkaXVzOjUwJTtmb250LXdlaWdodDo3MDA7Y29sb3I6IzUxNDEyNn0KLmJvYXJkLXF1ZXN0aW9ue21hcmdpbjoxLjI1cmVtIDAgLjc1cmVtO2NvbG9yOiNlZmRiYWR9LmRlZHVjdGlvbi1vcHRpb25ze2Rpc3BsYXk6Z3JpZDtnYXA6LjdyZW19LmRlZHVjdGlvbi1vcHRpb25zIGF7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50fS5kZWR1Y3Rpb24tb3B0aW9ue3BhZGRpbmc6LjlyZW0gMXJlbTtib3JkZXI6MXB4IHNvbGlkICM1MzY1Njg7Ym9yZGVyLXJhZGl1czo4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMyNDM4M2EsIzFjMjkyYik7Y29sb3I6I2VlZTJjNzt0cmFuc2l0aW9uOi4xOHMgZWFzZX0uZGVkdWN0aW9uLW9wdGlvbjpob3ZlciwuZGVkdWN0aW9uLW9wdGlvbnMgYTpmb2N1cyAuZGVkdWN0aW9uLW9wdGlvbnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTtib3JkZXItY29sb3I6I2QyYWE1Zjtib3gtc2hhZG93OjAgOHB4IDE4cHggcmdiYSgwLDAsMCwuMjgpfS5kZWR1Y3Rpb24tb3B0aW9uIHN0cm9uZywuZGVkdWN0aW9uLW9wdGlvbiBzbWFsbHtkaXNwbGF5OmJsb2NrfS5kZWR1Y3Rpb24tb3B0aW9uIHNtYWxse21hcmdpbi10b3A6LjNyZW07Y29sb3I6I2FlYmZiZH0ub3B0aW9uLXRhZ3tkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOi40cmVtO3BhZGRpbmc6LjE2cmVtIC40NXJlbTtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6IzZlNTgzMztjb2xvcjojZjVkZmE5O2ZvbnQtc2l6ZTouNjhyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wNmVtfQouYm9hcmQtZmVlZGJhY2t7ZGlzcGxheTpmbGV4O2dhcDouODVyZW07cGFkZGluZzoxcmVtO2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbjoxcmVtIDB9LmJvYXJkLWZlZWRiYWNrLmluY29ycmVjdHtib3JkZXI6MXB4IHNvbGlkICM4ZTU1NGQ7YmFja2dyb3VuZDpyZ2JhKDk5LDQzLDM4LC4zNCl9LmJvYXJkLWZlZWRiYWNrLmNvcnJlY3R7Ym9yZGVyOjFweCBzb2xpZCAjNTQ4MzY0O2JhY2tncm91bmQ6cmdiYSgzOCw4Myw1NSwuMzgpfS5mZWVkYmFjay1tYXJre2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7ZmxleDowIDAgMzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtmb250LXNpemU6MS4ycmVtO2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjI1KX0uYm9hcmQtZmVlZGJhY2sgcHttYXJnaW46LjNyZW0gMCAwfS5ib2FyZC1yZXR1cm4gYXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjhyZW0gMXJlbTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6MXB4IHNvbGlkICNhOTg1NDg7Ym9yZGVyLXJhZGl1czo3cHg7YmFja2dyb3VuZDojNGIzYjIzO2NvbG9yOiNmMmRhYTQhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lIWltcG9ydGFudH0KLmNhc2UtbWFwe3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6MjM1cHg7bWFyZ2luOjFyZW0gYXV0bzttYXgtd2lkdGg6NTIwcHg7Ym9yZGVyOjFweCBkYXNoZWQgcmdiYSgyMTYsMTg0LDExNiwuMzUpO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSxyZ2JhKDIwMSwxNjIsOTEsLjEyKSx0cmFuc3BhcmVudCA2MiUpfS5tYXAtbm9kZXtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOi41cmVtIC43cmVtO2JvcmRlcjoxcHggc29saWQgIzhkNzQ0Nztib3JkZXItcmFkaXVzOjZweDtiYWNrZ3JvdW5kOiNkZmM5OWQ7Y29sb3I6IzJlMjcxZTtmb250LXdlaWdodDo3MDA7Ym94LXNoYWRvdzowIDVweCAxMnB4IHJnYmEoMCwwLDAsLjI1KX0ubWFwLW5vZGUuY2VudGVye2xlZnQ6NTAlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2JvcmRlci1yYWRpdXM6NTAlO2ZvbnQtc2l6ZToxLjRyZW19Lm1hcC1ub2RlLm4xe2xlZnQ6OCU7dG9wOjE4JX0ubWFwLW5vZGUubjJ7cmlnaHQ6OSU7dG9wOjE4JX0ubWFwLW5vZGUubjN7cmlnaHQ6NSU7Ym90dG9tOjE3JX0ubWFwLW5vZGUubjR7bGVmdDo4JTtib3R0b206MTclfS5tYXAtbm9kZS5uNXtsZWZ0OjQzJTt0b3A6NCV9Ci50aGVvcnktY2hhaW57ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgYXV0byAxZnIgYXV0byAxZnI7Z2FwOi41NXJlbTthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjEuMnJlbSAwfS50aGVvcnktY2hhaW4+ZGl2e3BhZGRpbmc6LjhyZW07Ym9yZGVyOjFweCBzb2xpZCAjODA2YTQzO2JvcmRlci1yYWRpdXM6N3B4O2JhY2tncm91bmQ6I2UxY2ZhYTtjb2xvcjojMzAyODFkO3RleHQtYWxpZ246Y2VudGVyfS50aGVvcnktY2hhaW4gc21hbGx7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi4zcmVtO2NvbG9yOiM2MzU0M2V9LnRoZW9yeS1jaGFpbj5zcGFue2NvbG9yOiNkN2I5NzM7Zm9udC1zaXplOjEuM3JlbX0udGhlb3J5LXN0YXR1c3ttYXJnaW46MXJlbSAwO3BhZGRpbmc6LjY1cmVtO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6NnB4O2xldHRlci1zcGFjaW5nOi4wOGVtfS50aGVvcnktc3RhdHVzLnN1cHBvcnRlZHtiYWNrZ3JvdW5kOiMyODRhMzU7Y29sb3I6I2JmZTBjOH0udGhlb3J5LXN0YXR1cy5wb3NzaWJsZXtiYWNrZ3JvdW5kOiM1OTQ5Mjk7Y29sb3I6I2VhZDQ5ZX0KQG1lZGlhKG1heC13aWR0aDo3MjBweCl7LmV2aWRlbmNlLWdyaWQsLmV2aWRlbmNlLWdyaWQuY29tcGFjdHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmJvYXJkLWhlYWRlcntkaXNwbGF5OmJsb2NrfS5ib2FyZC1zY29yZXttYXJnaW4tdG9wOi43NXJlbX0udGhlb3J5LWNoYWlue2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LnRoZW9yeS1jaGFpbj5zcGFue3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RleHQtYWxpZ246Y2VudGVyfS5jYXNlLW1hcHt0cmFuc2Zvcm06c2NhbGUoLjkpO21hcmdpbi1sZWZ0Oi01JTttYXJnaW4tcmlnaHQ6LTUlfX0KCi8qIFB1enpsZSBjbHVlIHZpc3VhbCBmZWVkYmFjayAqLwoucHV6emxlLXZpc3VhbHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxcmVtO21hcmdpbjoxcmVtIDA7cGFkZGluZzoxcmVtO2JvcmRlcjoxcHggc29saWQgIzZmNjA0Njtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDEyJSA1MCUscmdiYSgyMDcsMTcxLDkyLC4xNiksdHJhbnNwYXJlbnQgMjglKSxsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMyMDJkMmUsIzE5MWMxYyk7Ym94LXNoYWRvdzowIDEycHggMzBweCByZ2JhKDAsMCwwLC4yOCl9Ci5wdXp6bGUtdmlzdWFsIC5wdXp6bGUtc2lnaWx7ZGlzcGxheTpncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6ODhweDttaW4taGVpZ2h0OjcycHg7cGFkZGluZzouMzVyZW07Ym9yZGVyOjFweCBzb2xpZCAjYjE4YjQ5O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6IzE0MTgxNztjb2xvcjojZWZkMjhkO2ZvbnQ6NzAwIDEuMjVyZW0vMS4yIG1vbm9zcGFjZTtsZXR0ZXItc3BhY2luZzouMDhlbTt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXNoYWRvdzowIDAgMTJweCByZ2JhKDIzOSwyMTAsMTQxLC4zNSl9LnB1enpsZS12aXN1YWwuc3RhaXJzIC5wdXp6bGUtc2lnaWx7Zm9udC1zaXplOi44MnJlbX0ucHV6emxlLXZpc3VhbCBzdHJvbmcsLnB1enpsZS1raWNrZXJ7ZGlzcGxheTpibG9ja30ucHV6emxlLXZpc3VhbCBzdHJvbmd7Zm9udC1zaXplOjEuMTVyZW07Y29sb3I6I2YwZDhhMn0ucHV6emxlLWtpY2tlcnt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjEyZW07Zm9udC1zaXplOi42OHJlbTtjb2xvcjojODZhZWIwO21hcmdpbi1ib3R0b206LjJyZW19Ci5wdXp6bGUtY2x1ZS1zdHJpcHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gcmVwZWF0KDMsMWZyKTtnYXA6LjQ1cmVtO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MXJlbSAwfS5zdHJpcC1sYWJlbHtmb250LXNpemU6LjY4cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMWVtO2NvbG9yOiM5ZDk1ODZ9LmNsdWUtY2hpcHtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOi41cmVtIC41NXJlbTtib3JkZXI6MXB4IHNvbGlkICM0YzRhNDU7Ym9yZGVyLXJhZGl1czo2cHg7YmFja2dyb3VuZDojMjQyNDI0O2NvbG9yOiM4ZTg4N2Q7Zm9udC1zaXplOi43NXJlbX0uY2x1ZS1jaGlwIGJ7ZGlzcGxheTppbmxpbmUtZ3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tcmlnaHQ6LjM1cmVtO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzM3MzczNztjb2xvcjojYWFhfS5jbHVlLWNoaXAuc2Vlbntib3JkZXItY29sb3I6IzcwNjE0Nztjb2xvcjojYzliNzhmfS5jbHVlLWNoaXAuYWN0aXZle2JvcmRlci1jb2xvcjojYjA4YTQ2O2JhY2tncm91bmQ6IzQ0MzcxZjtjb2xvcjojZjFkNjk4O2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMjI0LDE4MywxMDIsLjEyKSwwIDAgMThweCByZ2JhKDE4OSwxNDUsNjEsLjEyKX0uY2x1ZS1jaGlwLnNvbHZlZHtib3JkZXItY29sb3I6IzU0ODU2NTtiYWNrZ3JvdW5kOiMyNTNkMmQ7Y29sb3I6I2MzZTBjYX0uY2x1ZS1jaGlwLnNvbHZlZCBie2JhY2tncm91bmQ6IzRiN2E1Yjtjb2xvcjojZmZmfS5jbHVlLWNoaXAubG9ja2Vke29wYWNpdHk6LjZ9Ci5wdXp6bGUtcmV2ZWFse2Rpc3BsYXk6ZmxleDtnYXA6LjlyZW07bWFyZ2luLXRvcDoxcmVtO3BhZGRpbmc6MXJlbTtib3JkZXItcmFkaXVzOjlweDthbmltYXRpb246cHV6emxlUmV2ZWFsIC4zOHMgZWFzZS1vdXR9LnB1enpsZS1yZXZlYWwuc3VjY2Vzc3tib3JkZXI6MXB4IHNvbGlkICM1ZDkyNmQ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoMzksODYsNTYsLjYyKSxyZ2JhKDI3LDQ4LDM1LC43MikpO2JveC1zaGFkb3c6MCAwIDIycHggcmdiYSg4MCwxNTAsMTAxLC4xMil9LnB1enpsZS1yZXZlYWwucmV0cnl7Ym9yZGVyOjFweCBzb2xpZCAjYTU2MTU2O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2JhKDEwNSw0OCw0MiwuNTgpLHJnYmEoNTIsMzEsMjksLjcyKSk7YW5pbWF0aW9uOnB1enpsZVNoYWtlIC4zcyBlYXNlLW91dH0ucmV2ZWFsLWljb257ZGlzcGxheTpncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCAzOHB4O2hlaWdodDozOHB4O2JvcmRlci1yYWRpdXM6NTAlO2ZvbnQtc2l6ZToxLjI1cmVtO2ZvbnQtd2VpZ2h0OjgwMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjI4KX0uc3VjY2VzcyAucmV2ZWFsLWljb257Y29sb3I6I2M2ZWJjZjtib3JkZXI6MXB4IHNvbGlkICM3MmE5ODB9LnJldHJ5IC5yZXZlYWwtaWNvbntjb2xvcjojZjFjMWI4O2JvcmRlcjoxcHggc29saWQgI2JlNzU2OX0ucmV2ZWFsLWxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTouMTVyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4xZW07Zm9udC1zaXplOi42NnJlbTtjb2xvcjojYTljN2IwfS5yZXRyeSAucmV2ZWFsLWxhYmVse2NvbG9yOiNkY2E3OWV9LnB1enpsZS1yZXZlYWwgc3Ryb25ne2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2YxZGZiNztmb250LXNpemU6MS4wNXJlbX0ucHV6emxlLXJldmVhbCBwe21hcmdpbjouMzVyZW0gMH0uY2x1ZS1lYXJuZWR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDouMzVyZW07cGFkZGluZzouMjVyZW0gLjU1cmVtO2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDpyZ2JhKDE0LDI1LDE3LC4zNSk7Y29sb3I6I2JmZTBjNztmb250LXNpemU6LjcycmVtfS5zZXF1ZW5jZS12aXN1YWx7ZGlzcGxheTpmbGV4O2dhcDouMzVyZW07bWFyZ2luOi42NXJlbSAwfS5zZXF1ZW5jZS12aXN1YWwgaXtkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO21pbi13aWR0aDozMXB4O2hlaWdodDozMXB4O3BhZGRpbmc6MCAuMjVyZW07Ym9yZGVyOjFweCBzb2xpZCAjN2NhZDg5O2JvcmRlci1yYWRpdXM6NXB4O2JhY2tncm91bmQ6IzIzM2UyYztjb2xvcjojZDNlZmQ4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMH0uc2VxdWVuY2UtdmlzdWFsLm11dGVkIGl7Ym9yZGVyLWNvbG9yOiM4YjYyNWM7YmFja2dyb3VuZDojNDkyZTJhO2NvbG9yOiNlMWJiYjR9CkBrZXlmcmFtZXMgcHV6emxlUmV2ZWFse2Zyb217b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCkgc2NhbGUoLjk4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgcHV6emxlU2hha2V7MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0zMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTVweCl9NjUle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDRweCl9fQpAbWVkaWEobWF4LXdpZHRoOjY1MHB4KXsucHV6emxlLWNsdWUtc3RyaXB7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0uc3RyaXAtbGFiZWx7bWFyZ2luLWJvdHRvbTouMXJlbX0ucHV6emxlLXZpc3VhbHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5wdXp6bGUtdmlzdWFsIC5wdXp6bGUtc2lnaWx7bWluLXdpZHRoOjY4cHh9LnB1enpsZS1yZXZlYWx7YWxpZ24taXRlbXM6ZmxleC1zdGFydH19CkBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LnB1enpsZS1yZXZlYWx7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50fS5kZWR1Y3Rpb24tb3B0aW9ue3RyYW5zaXRpb246bm9uZSFpbXBvcnRhbnR9fQoKLyogT3B0aW9uYWwgaW52ZXN0aWdhdGlvbnMgKi8KLm9wdGlvbmFsLWludmVzdGlnYXRpb257bWFyZ2luOjFyZW0gMDtwYWRkaW5nOi44cmVtIDFyZW07Ym9yZGVyOjFweCBkYXNoZWQgIzhkNzQ0Nztib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOnJnYmEoNjYsNTIsMzEsLjQ1KX0ub3B0aW9uYWwtaW52ZXN0aWdhdGlvbiBzcGFue2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTouMzVyZW07Y29sb3I6I2I4YTI3NTtmb250LXNpemU6LjY4cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMWVtfS5vcHRpb25hbC1pbnZlc3RpZ2F0aW9uIGF7Y29sb3I6I2VmZDc5ZiFpbXBvcnRhbnR9Lm9wdGlvbmFsLXJld2FyZHttYXJnaW46MXJlbSAwO3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkICM1ZDg3Njg7Ym9yZGVyLXJhZGl1czo5cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoNDAsODUsNTUsLjU1KSxyZ2JhKDI4LDQ5LDM1LC43MikpO2FuaW1hdGlvbjpwdXp6bGVSZXZlYWwgLjM4cyBlYXNlLW91dH0ub3B0aW9uYWwtcmV3YXJkIHNwYW4sLm9wdGlvbmFsLXJld2FyZCBzdHJvbmcsLm9wdGlvbmFsLXJld2FyZCBzbWFsbHtkaXNwbGF5OmJsb2NrfS5vcHRpb25hbC1yZXdhcmQgc3Bhbntjb2xvcjojOWZjOGE5O2ZvbnQtc2l6ZTouNjhyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4xZW19Lm9wdGlvbmFsLXJld2FyZCBzdHJvbmd7bWFyZ2luOi4yNXJlbSAwO2NvbG9yOiNlOGQ4YWN9Lm9wdGlvbmFsLXJld2FyZCBzbWFsbHtjb2xvcjojYjljOWJjfS5vcHRpb25hbC1wYXlvZmZ7bWFyZ2luOi40NXJlbSAwO3BhZGRpbmc6LjZyZW0gLjc1cmVtO2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjNmM5ODgwO2JhY2tncm91bmQ6cmdiYSg0MCw3Niw1MywuMzYpO2NvbG9yOiNjOWQ5Y2M7Zm9udC1zaXplOi44MnJlbX0KCi8qIE9wdGlvbmFsIGNsdWUgcGF5b2ZmIHNjZW5lcyAqLwoucGF5b2ZmLXNjZW5lLC5wYXlvZmYtc3VtbWFyeXttYXJnaW46MS4yNXJlbSAwO3BhZGRpbmc6MS4ycmVtO2JvcmRlcjoxcHggc29saWQgIzc4NjM0MTtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLHJnYmEoNDksNDAsMzAsLjk3KSxyZ2JhKDI1LDI1LDIzLC45OCkpO2JveC1zaGFkb3c6MCAxNnB4IDM4cHggcmdiYSgwLDAsMCwuMyl9LnBheW9mZi1zY2VuZSBoMiwucGF5b2ZmLXN1bW1hcnkgaDJ7bWFyZ2luOi4yNXJlbSAwIDFyZW07Y29sb3I6I2VmZDY5Zn0ucGF5b2ZmLW93bmVye2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzhkYjRiNDtmb250LXNpemU6LjY4cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMTJlbX0ucGF5b2ZmLWNsdWV7bWFyZ2luOi44cmVtIDA7cGFkZGluZzouNzVyZW07Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICNhMTgwNDg7YmFja2dyb3VuZDpyZ2JhKDgzLDY1LDM3LC4zOCl9LnBheW9mZi1jbHVlIHNwYW4sLnBheW9mZi1jbHVlIHN0cm9uZ3tkaXNwbGF5OmJsb2NrfS5wYXlvZmYtY2x1ZSBzcGFue2NvbG9yOiNiYWFhODg7Zm9udC1zaXplOi42OHJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA4ZW19LnBheW9mZi1jbHVlIHN0cm9uZ3tjb2xvcjojZWFkOGIwO21hcmdpbi10b3A6LjJyZW19LnBheW9mZi1yZXN1bHR7bWFyZ2luOjFyZW0gMDtwYWRkaW5nOi44NXJlbSAxcmVtO2JvcmRlcjoxcHggc29saWQgIzVhODY2ODtib3JkZXItcmFkaXVzOjdweDtiYWNrZ3JvdW5kOnJnYmEoMzcsNzgsNTAsLjQyKTtjb2xvcjojYzhkY2NkfS5wYXlvZmYtcmVzdWx0IHN0cm9uZ3tjb2xvcjojZTdkNmFhfS5wYXlvZmYtc3VtbWFyeS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSk7Z2FwOi42cmVtO21hcmdpbjoxcmVtIDB9LnBheW9mZi1zdW1tYXJ5LWdyaWQ+ZGl2e3BhZGRpbmc6Ljc1cmVtO2JvcmRlcjoxcHggc29saWQgIzVkNjk1ZDtib3JkZXItcmFkaXVzOjdweDtiYWNrZ3JvdW5kOiMyNDMxMmF9LnBheW9mZi1zdW1tYXJ5LWdyaWQgYiwucGF5b2ZmLXN1bW1hcnktZ3JpZCBzcGFue2Rpc3BsYXk6YmxvY2t9LnBheW9mZi1zdW1tYXJ5LWdyaWQgYntjb2xvcjojZGZjYTk4fS5wYXlvZmYtc3VtbWFyeS1ncmlkIHNwYW57bWFyZ2luLXRvcDouMnJlbTtjb2xvcjojYjhjOGJiO2ZvbnQtc2l6ZTouOHJlbX0ucGF5b2ZmLXN1bW1hcnkuZW1wdHl7Ym9yZGVyLWNvbG9yOiM2NTViNGN9QG1lZGlhKG1heC13aWR0aDo2MjBweCl7LnBheW9mZi1zdW1tYXJ5LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19CgovKiBGaXggU3VnYXJDdWJlIGJ1aWx0LWluIENvbnRpbnVlIGNvbnRyb2wgc28gaXQgbWF0Y2hlcyB0aGUgc2lkZWJhciBidXR0b25zLiAqLwojbWVudS1pdGVtLWNvbnRpbnVlIHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7Cn0KCiNtZW51LWl0ZW0tY29udGludWUgPiBhIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OwogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIG1pbi1oZWlnaHQ6IDMuNDVyZW0gIWltcG9ydGFudDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMC43MnJlbSAwLjg1cmVtIDAuNzJyZW0gNC4xNXJlbSAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxcHggc29saWQgIzRlNzQ3OCAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMzE1NzViLCAjMjAzZjQzKSAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmMGRmYjggIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiAiQXZlcmlhIFNlcmlmIExpYnJlIiwgR2VvcmdpYSwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsKICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7CiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDsKICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1jb250aW51ZSA+IGE6OmJlZm9yZSB7CiAgICBjb250ZW50OiAi4pa2IiAhaW1wb3J0YW50OwogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7CiAgICBsZWZ0OiAwLjk1cmVtICFpbXBvcnRhbnQ7CiAgICB0b3A6IDUwJSAhaW1wb3J0YW50OwogICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogICAgcGxhY2UtaXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgd2lkdGg6IDIuMTVyZW0gIWltcG9ydGFudDsKICAgIGhlaWdodDogMi4xNXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0NCwgMjI1LCAxODQsIDAuNDIpICFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICM2MDc5NGYgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjZmZmMGM4ICFpbXBvcnRhbnQ7CiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMC43OHJlbSAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDsKICAgIHRleHQtaW5kZW50OiAwLjA4cmVtICFpbXBvcnRhbnQ7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1jb250aW51ZSA+IGE6OmFmdGVyIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1jb250aW51ZSA+IGE6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiAjYTg1YTZlICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjOGY0MDU1LCAjNmUyZDQwKSAhaW1wb3J0YW50OwogICAgY29sb3I6ICNmZmYyZDIgIWltcG9ydGFudDsKfQoKI21lbnUtaXRlbS1jb250aW51ZSA+IGE6Zm9jdXMtdmlzaWJsZSB7CiAgICBvdXRsaW5lOiAycHggc29saWQgI2VmZDI4ZCAhaW1wb3J0YW50OwogICAgb3V0bGluZS1vZmZzZXQ6IDJweCAhaW1wb3J0YW50Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkgewogICAgI21lbnUtaXRlbS1jb250aW51ZSA+IGEgewogICAgICAgIG1pbi1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuOHJlbSAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtc2l6ZTogMC45MnJlbSAhaW1wb3J0YW50OwogICAgfQoKICAgICNtZW51LWl0ZW0tY29udGludWUgPiBhOjpiZWZvcmUgewogICAgICAgIGxlZnQ6IDAuOHJlbSAhaW1wb3J0YW50OwogICAgICAgIHdpZHRoOiAycmVtICFpbXBvcnRhbnQ7CiAgICAgICAgaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7CiAgICB9Cn0KCi8qIFJlbGF0aW9uc2hpcCBwYXlvZmYgc2NlbmVzICovCi5yZWxhdGlvbnNoaXAtc2NlbmV7bWFyZ2luOjEuMnJlbSAwO3BhZGRpbmc6MS4xNXJlbTtib3JkZXI6MXB4IHNvbGlkICM2ZDY3NTU7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjMjczNTM2LCMxZDIzMjMpO2JveC1zaGFkb3c6MCAxNXB4IDM0cHggcmdiYSgwLDAsMCwuMyl9LnJlbGF0aW9uc2hpcC1zY2VuZSBoMnttYXJnaW46LjJyZW0gMCAxcmVtO2NvbG9yOiNlZmQ2OWZ9LnJlbGF0aW9uc2hpcC1raWNrZXJ7Y29sb3I6IzhmYjViNjtmb250LXNpemU6LjY4cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMTJlbX0ucmVsYXRpb25zaGlwLWJlYXR7bWFyZ2luOi42NXJlbSAwO3BhZGRpbmc6Ljc1cmVtIC45cmVtO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjNzc3O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMil9LnJlbGF0aW9uc2hpcC1iZWF0IGJ7Y29sb3I6I2VhZDdhOH0ucmVsYXRpb25zaGlwLWJlYXQgcHttYXJnaW46LjNyZW0gMCAwfS5yZWxhdGlvbnNoaXAtYmVhdC5wb3NpdGl2ZXtib3JkZXItY29sb3I6IzYyOTA2ZjtiYWNrZ3JvdW5kOnJnYmEoMzksNzksNTEsLjM4KX0ucmVsYXRpb25zaGlwLWJlYXQuY2F1dGlvdXN7Ym9yZGVyLWNvbG9yOiNhMTg1NGM7YmFja2dyb3VuZDpyZ2JhKDgwLDY0LDM0LC4zOCl9LnJlbGF0aW9uc2hpcC1iZWF0Lndhcm5pbmd7Ym9yZGVyLWNvbG9yOiNhNTVlNTU7YmFja2dyb3VuZDpyZ2JhKDkxLDQzLDM4LC40KX0uYm9uZC1zdGF0dXN7bWFyZ2luOjFyZW0gMDtwYWRkaW5nOi44cmVtO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjoxcHggc29saWQgIzYxN2I3OTtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOiMyMTMwMzN9LmJvbmQtc3RhdHVzIHNwYW4sLmJvbmQtc3RhdHVzIHN0cm9uZywuYm9uZC1zdGF0dXMgc21hbGx7ZGlzcGxheTpibG9ja30uYm9uZC1zdGF0dXMgc3Bhbntmb250LXNpemU6LjY4cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMWVtO2NvbG9yOiM5YWI0YjJ9LmJvbmQtc3RhdHVzIHN0cm9uZ3ttYXJnaW46LjJyZW07Y29sb3I6I2YwZDY5Yn0uYm9uZC1zdGF0dXMgc21hbGx7Y29sb3I6I2I5YzZjMn0uYm9uZC1zdGF0dXMuc3Ryb25ne2JvcmRlci1jb2xvcjojNjI5MDZmfS5ib25kLXN0YXR1cy5mb3JtaW5ne2JvcmRlci1jb2xvcjojOWE1ZjU2fQoKLyogSW1wcm92ZSBjb250cmFzdCBpbiBTdWdhckN1YmUgY29uZmlybWF0aW9uIGRpYWxvZ3MsIGluY2x1ZGluZyBSZXN0YXJ0LiAqLwojdWktZGlhbG9nLWJvZHksCiN1aS1kaWFsb2ctYm9keSBwLAojdWktZGlhbG9nLWJvZHkgZGl2LAojdWktZGlhbG9nLWJvZHkgc3BhbiwKI3VpLWRpYWxvZy1ib2R5IGxhYmVsIHsKICAgIGNvbG9yOiAjM2IyYjIyICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50Owp9CgojdWktZGlhbG9nLWJvZHkgewogICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50Owp9CgojdWktZGlhbG9nLWJvZHkgYTpub3QoLmxpbmstaW50ZXJuYWwpLAojdWktZGlhbG9nLWJvZHkgLmxpbmstZXh0ZXJuYWwgewogICAgY29sb3I6ICMyODU3NWQgIWltcG9ydGFudDsKfQoKLyogUHJlc2VydmUgcmVhZGFibGUgdGV4dCBvbiBkaWFsb2cgYWN0aW9uIGJ1dHRvbnMuICovCiN1aS1kaWFsb2ctYm9keSBidXR0b24sCiN1aS1kaWFsb2ctYm9keSAuYnV0dG9uLAojdWktZGlhbG9nLWJvZHkgYS5idXR0b24gewogICAgY29sb3I6ICNmZmYxY2UgIWltcG9ydGFudDsKICAgIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQ1KSAhaW1wb3J0YW50Owp9CgojdWktZGlhbG9nLWJvZHkgYnV0dG9uOmRpc2FibGVkLAojdWktZGlhbG9nLWJvZHkgLmJ1dHRvbjpkaXNhYmxlZCB7CiAgICBjb2xvcjogI2QxYzVhZCAhaW1wb3J0YW50Owp9CgovKiBSb3V0ZSBjb25zZXF1ZW5jZSBhbmQgZW5kaW5nIHZhcmlhdGlvbiAqLwoucm91dGUtY29uc2VxdWVuY2UsLnJvdXRlLWFmdGVyc2hvY2t7bWFyZ2luOjEuMnJlbSAwO3BhZGRpbmc6MS4ycmVtO2JvcmRlcjoxcHggc29saWQgIzc5NjQ0Mjtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCMzMDJhMjIsIzFkMjAyMCk7Ym94LXNoYWRvdzowIDE2cHggMzhweCByZ2JhKDAsMCwwLC4zMil9LnJvdXRlLWNvbnNlcXVlbmNlIGgyLC5yb3V0ZS1hZnRlcnNob2NrIGgye21hcmdpbjouMnJlbSAwIDFyZW07Y29sb3I6I2VmZDQ5YX0ucm91dGUtbGFiZWx7ZGlzcGxheTpibG9jaztjb2xvcjojODliMGIxO2ZvbnQtc2l6ZTouNjhyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4xMmVtfS5yb3V0ZS1jbHVlLWNhcmR7bWFyZ2luOi44cmVtIDA7cGFkZGluZzouNzVyZW07Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICNhODg0NDk7YmFja2dyb3VuZDpyZ2JhKDc0LDU3LDMyLC40Mil9LnJvdXRlLWNsdWUtY2FyZCBiLC5yb3V0ZS1jbHVlLWNhcmQgc3Ryb25ne2Rpc3BsYXk6YmxvY2t9LnJvdXRlLWNsdWUtY2FyZCBie2NvbG9yOiNhYjljN2M7Zm9udC1zaXplOi42OHJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA4ZW19LnJvdXRlLWNsdWUtY2FyZCBzdHJvbmd7bWFyZ2luLXRvcDouMnJlbTtjb2xvcjojZWFkOGFlfS5yb3V0ZS13YXJuaW5ne21hcmdpbjoxcmVtIDA7cGFkZGluZzouODVyZW07Ym9yZGVyOjFweCBzb2xpZCAjOWI1ZTU1O2JvcmRlci1yYWRpdXM6N3B4O2JhY2tncm91bmQ6cmdiYSg4OCw0MCwzNywuNDUpO2NvbG9yOiNlNGM1YmR9LnJvdXRlLXdhcm5pbmcgc3Ryb25ne2NvbG9yOiNmMGQ5YTV9LmFmdGVyc2hvY2stY29kZXttYXJnaW46MXJlbSAwO3BhZGRpbmc6LjhyZW07dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjOWI3MDQxO2JhY2tncm91bmQ6IzE3MTkxODtjb2xvcjojZTljNzdlO2ZvbnQ6NzAwIDFyZW0vMS40IG1vbm9zcGFjZTtsZXR0ZXItc3BhY2luZzouMWVtfS5yb3V0ZS1ob3VzZXtib3JkZXItY29sb3I6IzhkNmM0M30ucm91dGUtcGFzc2FnZXtib3JkZXItY29sb3I6IzY1N2Y4MX0ucm91dGUtb2Fre2JvcmRlci1jb2xvcjojNjY3NzRmfQoKLyogUmVtb3ZlIFN1Z2FyQ3ViZSdzIHJlZHVuZGFudCBidWlsdC1pbiBDb250aW51ZSBjb250cm9sLiAqLwojbWVudS1pdGVtLWNvbnRpbnVlIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoKLyogRW5kLW9mLWNhc2UgcmVzdWx0cyAqLwouY2FzZS1yZXN1bHRze21hcmdpbjoxLjJyZW0gMDtwYWRkaW5nOjEuMjVyZW07Ym9yZGVyOjFweCBzb2xpZCAjNzk2NDQxO2JvcmRlci1yYWRpdXM6MTFweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsIzMwMjkxZiwjMWQyMjIxKTtib3gtc2hhZG93OjAgMThweCA0MnB4IHJnYmEoMCwwLDAsLjM0KX0ucmVzdWx0cy1oZWFkZXJ7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy1ib3R0b206MXJlbTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDIyNCwxOTEsMTI0LC4yNSl9LnJlc3VsdHMtaGVhZGVyPnNwYW57Y29sb3I6IzhkYjNiMztmb250LXNpemU6LjdyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4xNGVtfS5yZXN1bHRzLWhlYWRlciBoMXttYXJnaW46LjI1cmVtIDA7Y29sb3I6I2VmZDY5ZX0ucmVzdWx0cy1oZWFkZXIgcHttYXJnaW46LjI1cmVtIDA7Y29sb3I6I2M5YmVhOH0ucmVzdWx0cy1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSk7Z2FwOi43cmVtO21hcmdpbjoxcmVtIDB9LnJlc3VsdC1jYXJke3BhZGRpbmc6Ljg1cmVtO2JvcmRlcjoxcHggc29saWQgIzY2NzY3NTtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOiMyMjMwMzF9LnJlc3VsdC1jYXJkIHNwYW4sLnJlc3VsdC1jYXJkIHN0cm9uZywucmVzdWx0LWNhcmQgc21hbGx7ZGlzcGxheTpibG9ja30ucmVzdWx0LWNhcmQgc3Bhbntjb2xvcjojOTFhYWFhO2ZvbnQtc2l6ZTouNjdyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wOWVtfS5yZXN1bHQtY2FyZCBzdHJvbmd7bWFyZ2luOi4yNXJlbSAwO2NvbG9yOiNlZmQ0OWI7Zm9udC1zaXplOjEuMDVyZW19LnJlc3VsdC1jYXJkIHNtYWxse2NvbG9yOiNiZmM5YzR9LnJlc3VsdHMtc2VjdGlvbnttYXJnaW4tdG9wOjFyZW07cGFkZGluZy10b3A6LjhyZW07Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyMjQsMTkxLDEyNCwuMil9LnJlc3VsdHMtc2VjdGlvbiBoMnttYXJnaW46LjJyZW0gMCAuNzVyZW07Y29sb3I6I2U2ZDA5ZDtmb250LXNpemU6MS4wNXJlbX0uY29udHJpYnV0aW9uLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKTtnYXA6LjZyZW19LmNvbnRyaWJ1dGlvbi1ncmlkPmRpdntwYWRkaW5nOi43NXJlbTtib3JkZXItbGVmdDo0cHggc29saWQgIzZiOTE4MDtiYWNrZ3JvdW5kOnJnYmEoMzgsNzIsNTEsLjM4KX0uY29udHJpYnV0aW9uLWdyaWQgYiwuY29udHJpYnV0aW9uLWdyaWQgc3BhbiwuY29udHJpYnV0aW9uLWdyaWQgc21hbGx7ZGlzcGxheTpibG9ja30uY29udHJpYnV0aW9uLWdyaWQgYntjb2xvcjojZWZkNTllfS5jb250cmlidXRpb24tZ3JpZCBzcGFue2NvbG9yOiM5ZGJiYjE7Zm9udC1zaXplOi43OHJlbX0uY29udHJpYnV0aW9uLWdyaWQgc21hbGx7bWFyZ2luLXRvcDouMjhyZW07Y29sb3I6I2MwY2JjNH0ucmVzdWx0cy1zZWN0aW9uLnVucmVzb2x2ZWR7cGFkZGluZzouOXJlbTtib3JkZXI6MXB4IHNvbGlkICM4MjVlNGY7Ym9yZGVyLXJhZGl1czo4cHg7YmFja2dyb3VuZDpyZ2JhKDgzLDM5LDM1LC4zMil9LnJlc3VsdHMtc2VjdGlvbi51bnJlc29sdmVkIHVse21hcmdpbi1ib3R0b206MH0ucmVzdWx0cy1hY3Rpb25ze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6LjY1cmVtO21hcmdpbi10b3A6MXJlbX0ucmVzdWx0cy1hY3Rpb25zIGF7ZGlzcGxheTpibG9jaztwYWRkaW5nOi44cmVtO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjoxcHggc29saWQgI2E2ODQ0YTtib3JkZXItcmFkaXVzOjdweDtiYWNrZ3JvdW5kOiM0OTNhMjU7Y29sb3I6I2YwZDU5ZCFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50fS5yZXBsYXktbm90ZXttYXJnaW4tdG9wOjFyZW07cGFkZGluZzouNzVyZW07Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICM2YjhmOTE7YmFja2dyb3VuZDpyZ2JhKDM1LDY1LDY3LC40KTtjb2xvcjojYzNkMWNmfUBtZWRpYShtYXgtd2lkdGg6NjgwcHgpey5yZXN1bHRzLWdyaWQsLmNvbnRyaWJ1dGlvbi1ncmlkLC5yZXN1bHRzLWFjdGlvbnN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19CgovKiBFcGlzb2RlIFR3bzogTXIuIEFzaHRvbiAqLwoudGVhY2hlci1ub3RlLC5jbGFzc3Jvb20tcmVhY3Rpb24sLm5ldy1ldmlkZW5jZSwucmV2ZWxhdGlvbi1jYXJke21hcmdpbjoxcmVtIDA7cGFkZGluZzouOHJlbSAxcmVtO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjNmU5MjkwO2JhY2tncm91bmQ6cmdiYSgzNCw2Niw2NywuNDIpO2NvbG9yOiNjOGQ3ZDR9LnRlYWNoZXItbm90ZSBzdHJvbmcsLmNsYXNzcm9vbS1yZWFjdGlvbiBzdHJvbmcsLm5ldy1ldmlkZW5jZSBzdHJvbmcsLnJldmVsYXRpb24tY2FyZCBzdHJvbmd7Y29sb3I6I2VjZDI5YX0uaGlzdG9yeS1ib2FyZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOi42cmVtO21hcmdpbjoxcmVtIDB9Lmhpc3RvcnktYm9hcmQgc3BhbntwYWRkaW5nOi43NXJlbTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6MXB4IHNvbGlkICM4ZjczNDQ7YmFja2dyb3VuZDojMmIyODIxO2NvbG9yOiNlZGNmOGQ7Zm9udDo3MDAgMS4xcmVtIG1vbm9zcGFjZX0ud2F0Y2gtZGlzcGxheXttYXJnaW46MXJlbSBhdXRvO3BhZGRpbmc6Ljg1cmVtO21heC13aWR0aDoyODBweDt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6MXB4IHNvbGlkICM5YjZhNDk7YmFja2dyb3VuZDojMTIxODE4O2NvbG9yOiNkN2JiNzI7Zm9udDo3MDAgMS4yNXJlbSBtb25vc3BhY2U7bGV0dGVyLXNwYWNpbmc6LjA4ZW07Ym94LXNoYWRvdzowIDAgMThweCByZ2JhKDE5OCwxNTEsNjgsLjE0KX0ud2F0Y2gtZGlzcGxheSBzbWFsbHtmb250LXNpemU6LjcycmVtO2NvbG9yOiNkM2M3YTh9LmV2aWRlbmNlLXN1bW1hcnl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDouNXJlbTttYXJnaW46MXJlbSAwfS5ldmlkZW5jZS1zdW1tYXJ5IHNwYW57cGFkZGluZzouNnJlbTtib3JkZXI6MXB4IHNvbGlkICM2NDc1NzM7YmFja2dyb3VuZDojMjIzMDMxO2NvbG9yOiNjNGQxY2V9LmVwaXNvZGUtdHdvLWxhdW5jaHttYXJnaW46MXJlbSAwO3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkICNhOTgzNDg7Ym9yZGVyLXJhZGl1czo4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCM1YjQ1MjYsIzMzMjgxYyk7dGV4dC1hbGlnbjpjZW50ZXJ9LmVwaXNvZGUtdHdvLWxhdW5jaCBhe2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2YzZDU5NSFpbXBvcnRhbnQ7Zm9udC1zaXplOjEuMXJlbTtmb250LXdlaWdodDo3MDA7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50fS5lcGlzb2RlLXR3by1sYXVuY2ggc3BhbntkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6LjI1cmVtO2NvbG9yOiNjYmI5OTE7Zm9udC1zaXplOi43OHJlbX1AbWVkaWEobWF4LXdpZHRoOjY1MHB4KXsuaGlzdG9yeS1ib2FyZCwuZXZpZGVuY2Utc3VtbWFyeXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfX0KCi8qIEVwaXNvZGUgVHdvIHJlc2N1ZSBzZXF1ZW5jZSAqLwoucmVzY3VlLXdhcm5pbmcsLnJlc2N1ZS1jbHVlLC5yZXNjdWUtc3VjY2Vzc3ttYXJnaW46MXJlbSAwO3BhZGRpbmc6Ljg1cmVtIDFyZW07Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICM5YjYyNTg7YmFja2dyb3VuZDpyZ2JhKDg0LDM5LDM2LC40Mik7Y29sb3I6I2RkYzhjMn0ucmVzY3VlLWNsdWV7Ym9yZGVyLWNvbG9yOiM2ZDkwOTA7YmFja2dyb3VuZDpyZ2JhKDM1LDY4LDY5LC40Mik7Y29sb3I6I2M3ZDdkNX0ucmVzY3VlLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiM2MThiNjk7YmFja2dyb3VuZDpyZ2JhKDM3LDc3LDQ5LC40NSk7Y29sb3I6I2M4ZGRjZH0ucmVzY3VlLXN1Y2Nlc3MucGFydGlhbHtib3JkZXItY29sb3I6I2ExODM0ZDtiYWNrZ3JvdW5kOnJnYmEoNzgsNjIsMzMsLjQyKTtjb2xvcjojZTFkMWFkfS5yZXNjdWUtd2FybmluZyBzdHJvbmcsLnJlc2N1ZS1jbHVlIHN0cm9uZywucmVzY3VlLXN1Y2Nlc3Mgc3Ryb25ne2NvbG9yOiNlZmQ0OWJ9CgovKiBVcHN0YWlycyBpbnZlc3RpZ2F0aW9uICovCi51cHN0YWlycy1tYXB7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpO2dhcDouNDVyZW07bWFyZ2luOjFyZW0gMH0udXBzdGFpcnMtbWFwIC5yb29te3BhZGRpbmc6LjY1cmVtO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjoxcHggc29saWQgIzU5NjQ2MztiYWNrZ3JvdW5kOiMyNjMxMzI7Y29sb3I6I2I5YzhjNjtmb250LXNpemU6Ljc2cmVtfS51cHN0YWlycy1tYXAgLnJvb20uY2hlY2tlZHtib3JkZXItY29sb3I6Izc3OTE3Yn0udXBzdGFpcnMtbWFwIC5yb29tLnN0cmFuZ2V7Ym9yZGVyLWNvbG9yOiM5YjVlNTU7YmFja2dyb3VuZDojNGIyYjJiO2NvbG9yOiNlM2MxYjl9Lm1lbW9yeS1uYW1lc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcik7Z2FwOi40NXJlbTttYXJnaW46MXJlbSAwfS5tZW1vcnktbmFtZXMgc3BhbntwYWRkaW5nOi42NXJlbTtib3JkZXI6MXB4IHNvbGlkICM2YjgyNmY7YmFja2dyb3VuZDojMjkzYjJlO2NvbG9yOiNkMmRmZDQ7dGV4dC1hbGlnbjpjZW50ZXJ9Lm1lbW9yeS1uYW1lcyBzcGFuLmRhbmdlcntib3JkZXItY29sb3I6IzljNWQ1NjtiYWNrZ3JvdW5kOiM0YjJjMmI7Y29sb3I6I2ViYzZiZn1AbWVkaWEobWF4LXdpZHRoOjY4MHB4KXsudXBzdGFpcnMtbWFwLC5tZW1vcnktbmFtZXN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnJ9fQoKLyogRXBpc29kZSBUd28gZm9ybWFsIHB1enpsZXMgKi8KLmZvcm1hbC1wdXp6bGV7bWFyZ2luOjEuMnJlbSAwO3BhZGRpbmc6MS4xNXJlbTtib3JkZXI6MXB4IHNvbGlkICM3NTYzNDQ7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjMzAyYTIyLCMxZTIyMjEpO2JveC1zaGFkb3c6MCAxNnB4IDM4cHggcmdiYSgwLDAsMCwuMzIpfS5mb3JtYWwtcHV6emxlLWhlYWR7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyMjEsMTg4LDEyMCwuMjIpO3BhZGRpbmctYm90dG9tOi44cmVtfS5mb3JtYWwtcHV6emxlLWhlYWQ+c3Bhbntmb250LXNpemU6LjY4cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMTJlbTtjb2xvcjojOGZiM2IzfS5mb3JtYWwtcHV6emxlIGgye21hcmdpbjouMjVyZW0gMCAuNzVyZW07Y29sb3I6I2VmZDQ5Yn0ucmVjb3JkLWZyYWdtZW50c3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOi42cmVtO21hcmdpbjoxcmVtIDB9LnJlY29yZC1mcmFnbWVudHM+ZGl2e3BhZGRpbmc6Ljc1cmVtO2JvcmRlcjoxcHggc29saWQgIzhhNzQ0YztiYWNrZ3JvdW5kOiNkZWM5OWY7Y29sb3I6IzMzMmIyMDt0cmFuc2Zvcm06cm90YXRlKC0uM2RlZyl9LnJlY29yZC1mcmFnbWVudHM+ZGl2Om50aC1jaGlsZCgyKXt0cmFuc2Zvcm06cm90YXRlKC40ZGVnKX0ucmVjb3JkLWZyYWdtZW50cyBiLC5yZWNvcmQtZnJhZ21lbnRzIHNwYW57ZGlzcGxheTpibG9ja30ucmVjb3JkLWZyYWdtZW50cyBzcGFue21hcmdpbi10b3A6LjM1cmVtO2ZvbnQ6NzAwIDFyZW0gbW9ub3NwYWNlfS5wdXp6bGUtcnVsZSwuZWFybmVkLWhpbnR7bWFyZ2luOi42NXJlbSAwO3BhZGRpbmc6LjY1cmVtIC44cmVtO2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjYTU4MjQ4O2JhY2tncm91bmQ6cmdiYSg3Nyw2MSwzNCwuNCl9LmVhcm5lZC1oaW50e2JvcmRlci1jb2xvcjojNjM4Yjc4O2JhY2tncm91bmQ6cmdiYSgzNSw3Miw0OSwuMzgpO2NvbG9yOiNjOGQ5Y2R9LnB1enpsZS1zdGVwYmFye2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6LjRyZW07bWFyZ2luLWJvdHRvbToxcmVtfS5wdXp6bGUtc3RlcGJhciBzcGFue3BhZGRpbmc6LjQ1cmVtO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjoxcHggc29saWQgIzRlNTE0ZDtiYWNrZ3JvdW5kOiMyNzJhMjk7Y29sb3I6Izc3N30ucHV6emxlLXN0ZXBiYXIgc3Bhbi5jdXJyZW50e2JvcmRlci1jb2xvcjojYjA4YTQ2O2NvbG9yOiNlZmQ0OWJ9LnB1enpsZS1zdGVwYmFyIHNwYW4uc29sdmVke2JvcmRlci1jb2xvcjojNWM4YjY4O2JhY2tncm91bmQ6IzI3NDAzMTtjb2xvcjojYzhlM2NlfS5wdXp6bGUtYW5zd2VyLWdyaWR7ZGlzcGxheTpncmlkO2dhcDouNnJlbX0ucHV6emxlLWFuc3dlci1ncmlkIGF7ZGlzcGxheTpibG9jaztwYWRkaW5nOi44cmVtO2JvcmRlcjoxcHggc29saWQgIzYwNzc3OTtib3JkZXItcmFkaXVzOjdweDtiYWNrZ3JvdW5kOiMyMjM1Mzg7Y29sb3I6I2U5ZDhhZSFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50fS5wdXp6bGUtYW5zd2VyLWdyaWQgYTpob3Zlcntib3JkZXItY29sb3I6I2IwOGE0NjtiYWNrZ3JvdW5kOiMzZDM1MjV9Lm5hbWUtc2VhbC1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDouNXJlbTttYXJnaW46MXJlbSAwfS5uYW1lLXNlYWwtcm93IHNwYW57cGFkZGluZzouN3JlbTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6MXB4IHNvbGlkICM2ODkxNzQ7YmFja2dyb3VuZDojMjk0MzMyO2NvbG9yOiNkMmU2ZDZ9LmhleGFmb2lsLWJvYXJke3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjI3MHB4O2hlaWdodDoyNzBweDttYXJnaW46MXJlbSBhdXRvO2JvcmRlcjoxcHggZGFzaGVkICM3YjZjNGM7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCM0NzNhMjQgMCAxOCUsdHJhbnNwYXJlbnQgMTklKX0uaGV4YWZvaWwtYm9hcmQgLnBldGFse3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7d2lkdGg6NjZweDtoZWlnaHQ6NDhweDtib3JkZXI6MXB4IHNvbGlkICM5YjdlNDg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojM2IzMDIwO2NvbG9yOiNlOWNjODl9LmhleGFmb2lsLWJvYXJkIC5wMXtsZWZ0OjEwMnB4O3RvcDoxMnB4fS5oZXhhZm9pbC1ib2FyZCAucDJ7cmlnaHQ6MjBweDt0b3A6NjdweDt0cmFuc2Zvcm06cm90YXRlKDYwZGVnKX0uaGV4YWZvaWwtYm9hcmQgLnAze3JpZ2h0OjIwcHg7Ym90dG9tOjY3cHg7dHJhbnNmb3JtOnJvdGF0ZSgxMjBkZWcpfS5oZXhhZm9pbC1ib2FyZCAucDR7bGVmdDoxMDJweDtib3R0b206MTJweH0uaGV4YWZvaWwtYm9hcmQgLnA1e2xlZnQ6MjBweDtib3R0b206NjdweDt0cmFuc2Zvcm06cm90YXRlKDYwZGVnKX0uaGV4YWZvaWwtYm9hcmQgLnA2e2xlZnQ6MjBweDt0b3A6NjdweDt0cmFuc2Zvcm06cm90YXRlKDEyMGRlZyl9LnNlYWwtY2VudGVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTA1cHg7dG9wOjEwNXB4O2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7d2lkdGg6NjBweDtoZWlnaHQ6NjBweDtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjojZWZkMThiO2ZvbnQtc2l6ZToxLjhyZW19LnBpZWNlLWJhbmt7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOi40cmVtO21hcmdpbjoxcmVtIDB9LnBpZWNlLWJhbmsgc3BhbntwYWRkaW5nOi4zNXJlbSAuNTVyZW07Ym9yZGVyOjFweCBzb2xpZCAjNjE3Nzc2O2JvcmRlci1yYWRpdXM6NXB4O2JhY2tncm91bmQ6IzI0MzMzNDtjb2xvcjojYzdkNmQzO2ZvbnQtc2l6ZTouNzZyZW19LmhleGFmb2lsLW1pbml7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDouNHJlbTttYXJnaW46MXJlbSAwfS5oZXhhZm9pbC1taW5pIHNwYW4sLmhleGFmb2lsLW1pbmkgYntwYWRkaW5nOi41NXJlbTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6MXB4IHNvbGlkICM4YTcxNDU7YmFja2dyb3VuZDojM2UzMzIyO2NvbG9yOiNlNmNhOGJ9LmhleGFmb2lsLW1pbmkgYntncmlkLWNvbHVtbjoxLy0xO2JvcmRlci1jb2xvcjojNjY4YTczO2JhY2tncm91bmQ6IzI5NDAyZn0uY29tcGxldGVkLXNlYWx7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDouNHJlbTttYXJnaW46MXJlbSAwfS5jb21wbGV0ZWQtc2VhbD4qe3BhZGRpbmc6LjU1cmVtO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjoxcHggc29saWQgIzY1ODc2ZTtiYWNrZ3JvdW5kOiMyOTQwMzE7Y29sb3I6I2QyZTVkNX0uY29tcGxldGVkLXNlYWwgc3Ryb25ne2dyaWQtY29sdW1uOjEvLTE7Zm9udC1zaXplOjEuNHJlbTtjb2xvcjojZWZkMThjfS5zb2x2ZWQtZm9ybWFse2JvcmRlci1jb2xvcjojNjI4YTZjfUBtZWRpYShtYXgtd2lkdGg6NjgwcHgpey5yZWNvcmQtZnJhZ21lbnRze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LmhleGFmb2lsLWJvYXJke3RyYW5zZm9ybTpzY2FsZSguODgpO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9fQoKLyogRXBpc29kZSBUaHJlZSBvcGVuaW5nICovCi5lcGlzb2RlLXRocmVlLWNhcmR7Ym9yZGVyLWNvbG9yOiM3YjUyNjB9LmNvbnRpbnVpdHktcGF5b2ZmLC5lcGlzb2RlLXRocmVlLWV2aWRlbmNle21hcmdpbjouNjVyZW0gMDtwYWRkaW5nOi43MnJlbSAuODVyZW07Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICM3MThlN2E7YmFja2dyb3VuZDpyZ2JhKDM4LDczLDUwLC4zOCk7Y29sb3I6I2NhZDljZH0uZXBpc29kZS10aHJlZS1ldmlkZW5jZXtib3JkZXItY29sb3I6IzhlNjk0NTtiYWNrZ3JvdW5kOnJnYmEoNzUsNTUsMzEsLjQpfS5jb250aW51aXR5LXBheW9mZiBzdHJvbmcsLmVwaXNvZGUtdGhyZWUtZXZpZGVuY2Ugc3Ryb25ne2NvbG9yOiNlZmQzOWF9LmFzY2hlcmRvd24tcmluZ3MsLnJpbmctbG9jYXRpb24tYm9hcmR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDouNjVyZW07bWFyZ2luOjFyZW0gMH0uYXNjaGVyZG93bi1yaW5ncz5kaXYsLnJpbmctbG9jYXRpb24tYm9hcmQ+ZGl2e3BhZGRpbmc6LjhyZW07dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjNjY2O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6IzI4MjgyOH0uYXNjaGVyZG93bi1yaW5ncyBiLC5hc2NoZXJkb3duLXJpbmdzIHNwYW4sLnJpbmctbG9jYXRpb24tYm9hcmQgYiwucmluZy1sb2NhdGlvbi1ib2FyZCBzcGFuLC5yaW5nLWxvY2F0aW9uLWJvYXJkIHNtYWxse2Rpc3BsYXk6YmxvY2t9LmFzY2hlcmRvd24tcmluZ3Mgc3BhbiwucmluZy1sb2NhdGlvbi1ib2FyZCBzbWFsbHttYXJnaW4tdG9wOi4yNXJlbTtjb2xvcjojYzVjMGIzfS5wdXJwbGV7Ym9yZGVyLWNvbG9yOiM4MDYxOWIhaW1wb3J0YW50O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjMzkyZDQ1LCMyNTFmMmIpIWltcG9ydGFudH0uZ3JlZW57Ym9yZGVyLWNvbG9yOiM1Zjg3NmIhaW1wb3J0YW50O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjMjgzZDJlLCMxZDI5MjEpIWltcG9ydGFudH0ucmVke2JvcmRlci1jb2xvcjojOTg1YjU4IWltcG9ydGFudDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsIzQ4MmMyYywjMmMyMDIwKSFpbXBvcnRhbnR9LmVwaXNvZGUtdGhyZWUtaHVie21hcmdpbjoxLjJyZW0gMDtwYWRkaW5nOjEuMXJlbTtib3JkZXI6MXB4IHNvbGlkICM3OTYzNDQ7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjMzAyOTFmLCMxZDIyMjEpfS5odWItaGVhZGVye3RleHQtYWxpZ246Y2VudGVyfS5odWItaGVhZGVyPnNwYW57Zm9udC1zaXplOi42N3JlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjEyZW07Y29sb3I6IzkwYjFiMX0uaHViLWhlYWRlciBoMntjb2xvcjojZWZkMzlhfS5sZWFkLWNhcmRze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6LjdyZW07bWFyZ2luLXRvcDoxcmVtfS5sZWFke3BhZGRpbmc6Ljg1cmVtO2JvcmRlcjoxcHggc29saWQgIzY2Njtib3JkZXItcmFkaXVzOjhweH0ubGVhZCBoM3ttYXJnaW46LjFyZW0gMCAuNXJlbTtjb2xvcjojZWZkNGEwfS5sZWFkIGF7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi43NXJlbTtwYWRkaW5nOi41NXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjM5LDIxMiwxNjAsLjQ1KTtib3JkZXItcmFkaXVzOjZweDtjb2xvcjojZjBkN2E0IWltcG9ydGFudDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnR9LmVwaXNvZGUtdGhyZWUtbGF1bmNoe21hcmdpbjoxcmVtIDA7cGFkZGluZzoxcmVtO2JvcmRlcjoxcHggc29saWQgIzg1NWE2ODtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzU2MzM0MiwjMzAyMTI5KTt0ZXh0LWFsaWduOmNlbnRlcn0uZXBpc29kZS10aHJlZS1sYXVuY2ggYXtkaXNwbGF5OmJsb2NrO2NvbG9yOiNmMGQzYTAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnR9LmVwaXNvZGUtdGhyZWUtbGF1bmNoIHNwYW57ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi4yNXJlbTtjb2xvcjojYzhiOWE4O2ZvbnQtc2l6ZTouNzhyZW19QG1lZGlhKG1heC13aWR0aDo3MDBweCl7LmFzY2hlcmRvd24tcmluZ3MsLnJpbmctbG9jYXRpb24tYm9hcmQsLmxlYWQtY2FyZHN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19CgovKiBFcGlzb2RlIFRocmVlIHB1cnBsZS1yaW5nIGxpYnJhcnkgbGVhZCAqLwoucHVycGxlLWNoYXB0ZXJ7Ym9yZGVyLWNvbG9yOiM4MDYxOWJ9LmxpYnJhcnktY2FyZC1jbHVle2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0byAxZnI7Z2FwOi4zNXJlbSAuN3JlbTttYXJnaW46MXJlbSAwO3BhZGRpbmc6LjlyZW07Ym9yZGVyOjFweCBzb2xpZCAjODA2YTRiO2JhY2tncm91bmQ6I2Q4YzQ5ZTtjb2xvcjojMzQyYjIwO3RyYW5zZm9ybTpyb3RhdGUoLS4yNWRlZyl9LmxpYnJhcnktY2FyZC1jbHVlIHNwYW57dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtc2l6ZTouNjdyZW07bGV0dGVyLXNwYWNpbmc6LjA4ZW07Y29sb3I6IzZhNTk0MX0udHlwZXdyaXRlci1tZXNzYWdlLC5saWJyYXJ5LWJvb2stdGl0bGV7bWFyZ2luOjFyZW0gMDtwYWRkaW5nOi44cmVtO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjoxcHggc29saWQgIzdkNjk5MTtiYWNrZ3JvdW5kOiMyMDFiMjU7Y29sb3I6I2QzYmRlMjtmb250OjcwMCAxcmVtLzEuNSBtb25vc3BhY2U7bGV0dGVyLXNwYWNpbmc6LjA4ZW19LnRydXRoLWxvY2t7ZGlzcGxheTpncmlkO2dhcDouNDVyZW07bWFyZ2luOjFyZW0gMH0udHJ1dGgtbG9jayBzcGFue3BhZGRpbmc6LjY1cmVtO2JvcmRlcjoxcHggc29saWQgIzgwNzI1MjtiYWNrZ3JvdW5kOiNkN2M1OWU7Y29sb3I6IzMzMmIyMH0uY2F0YWxvZy1jb2Rle2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6LjU1cmVtO21hcmdpbjoxcmVtIDB9LmNhdGFsb2ctY29kZT5kaXZ7cGFkZGluZzouN3JlbTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6MXB4IHNvbGlkICM3NTYxOGI7YmFja2dyb3VuZDojMzMyOTQxfS5jYXRhbG9nLWNvZGUgYiwuY2F0YWxvZy1jb2RlIHNwYW57ZGlzcGxheTpibG9ja30uY2F0YWxvZy1jb2RlIGJ7Y29sb3I6I2UxYzdlZn0uY2F0YWxvZy1jb2RlIHNwYW57bWFyZ2luLXRvcDouMjVyZW07Y29sb3I6I2M3YjhjZX0ucHVycGxlLWNhdGFsb2d7Ym9yZGVyLWNvbG9yOiM4MDYxOWJ9LmxpYnJhcnktYm9vay10aXRsZXtmb250LXNpemU6MS4wOHJlbX0ucHVycGxlLWNoYXB0ZXIrLmNob2ljZS1saXN0e21hcmdpbi10b3A6MXJlbX1AbWVkaWEobWF4LXdpZHRoOjY1MHB4KXsuY2F0YWxvZy1jb2Rle2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LmxpYnJhcnktY2FyZC1jbHVle2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQoKLyogRXBpc29kZSBUaHJlZSBjZW1ldGVyeSBpbnZlc3RpZ2F0aW9uICovCi5jZW1ldGVyeS1jaGFwdGVye2JvcmRlci1jb2xvcjojNmU3NTVmfS5jZW1ldGVyeS1zaWduLC5ncmF2ZS1jbGlmZmhhbmdlcnttYXJnaW46MXJlbSAwO3BhZGRpbmc6Ljg1cmVtO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjoxcHggc29saWQgIzc3NzA1YztiYWNrZ3JvdW5kOiMyNDI1MWY7Y29sb3I6I2Q3ZDBiNDtmb250OjcwMCAxcmVtIG1vbm9zcGFjZTtsZXR0ZXItc3BhY2luZzouMDhlbX0uY2VtZXRlcnktbWFwe2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6LjZyZW07bWFyZ2luOjFyZW0gMH0uY2VtZXRlcnktbWFwPmRpdntwYWRkaW5nOi44cmVtO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjoxcHggc29saWQgIzY0Njk1ZDtiYWNrZ3JvdW5kOiMyODJkMjh9LmNlbWV0ZXJ5LW1hcCBiLC5jZW1ldGVyeS1tYXAgc3BhbntkaXNwbGF5OmJsb2NrfS5jZW1ldGVyeS1tYXAgc3BhbnttYXJnaW4tdG9wOi4yNXJlbTtjb2xvcjojYjliY2FlO2ZvbnQtc2l6ZTouNzZyZW19LmNlbWV0ZXJ5LWV2aWRlbmNle21hcmdpbjouNzVyZW0gMDtwYWRkaW5nOi43NXJlbSAuOXJlbTtib3JkZXItbGVmdDo0cHggc29saWQgIzcyN2M2ODtiYWNrZ3JvdW5kOnJnYmEoNTcsNjksNTQsLjQyKTtjb2xvcjojZDBkNmM4fS5jZW1ldGVyeS1ldmlkZW5jZSBzdHJvbmd7Y29sb3I6I2U1ZDM5Zn0uZXBpdGFwaC1jYXJke21hcmdpbjoxcmVtIDA7cGFkZGluZzouODVyZW07dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjODE3NjVjO2JhY2tncm91bmQ6I2QyYzI5ZTtjb2xvcjojMzUyZjI1O2ZvbnQ6NzAwIC45NXJlbS8xLjUgc2VyaWZ9LmVwaXRhcGgtb3B0aW9uc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOi41NXJlbTttYXJnaW46MXJlbSAwfS5lcGl0YXBoLW9wdGlvbnM+ZGl2e3BhZGRpbmc6LjdyZW07Ym9yZGVyOjFweCBzb2xpZCAjNzE2YTU4O2JhY2tncm91bmQ6IzJkMmQyOH0uZXBpdGFwaC1vcHRpb25zIGIsLmVwaXRhcGgtb3B0aW9ucyBzcGFue2Rpc3BsYXk6YmxvY2t9LmVwaXRhcGgtb3B0aW9ucyBie2NvbG9yOiNlMmQwOWV9LmVwaXRhcGgtb3B0aW9ucyBzcGFue21hcmdpbi10b3A6LjNyZW07Y29sb3I6I2JmYzBiNTtmb250LXNpemU6Ljc2cmVtfS5jZW1ldGVyeS1wdXp6bGV7Ym9yZGVyLWNvbG9yOiM3MDc5NjZ9LmxldHRlci1sYXllcnN7ZGlzcGxheTpncmlkO2dhcDouNXJlbTttYXJnaW46MXJlbSAwfS5sZXR0ZXItbGF5ZXJzIHNwYW57cGFkZGluZzouN3JlbTtib3JkZXItbGVmdDo0cHggc29saWQgIzhhNWU1NztiYWNrZ3JvdW5kOnJnYmEoNzUsNDMsMzksLjQpfS5sZXR0ZXItbGF5ZXJzIHNwYW4rc3Bhbntib3JkZXItY29sb3I6Izc2NWY5MTtiYWNrZ3JvdW5kOnJnYmEoNTUsNDMsNzAsLjQyKX0uZ3JhdmUtY2xpZmZoYW5nZXIgc3BhbiwuZ3JhdmUtY2xpZmZoYW5nZXIgYiwuZ3JhdmUtY2xpZmZoYW5nZXIgc21hbGx7ZGlzcGxheTpibG9ja30uZ3JhdmUtY2xpZmZoYW5nZXIgYnttYXJnaW46LjNyZW07Y29sb3I6I2U0Y2Y5OH0uZ3JhdmUtY2xpZmZoYW5nZXIgc21hbGx7Y29sb3I6I2FhYTc5Mn1AbWVkaWEobWF4LXdpZHRoOjY4MHB4KXsuY2VtZXRlcnktbWFwLC5lcGl0YXBoLW9wdGlvbnN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19CgovKiBDZW1ldGVyeSBwdXp6bGUgYW5pbWF0aW9ucyAqLwouY2VtZXRlcnktcHV6emxlLWVudGVye2FuaW1hdGlvbjpjZW1ldGVyeVB1enpsZVJpc2UgLjU1cyBjdWJpYy1iZXppZXIoLjIsLjc1LC4yNSwxKSBib3RofS5lcGl0YXBoLWNsdWUtcmV2ZWFsPmRpdntvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCk7YW5pbWF0aW9uOmVwaXRhcGhDbHVlSW4gLjRzIGVhc2Utb3V0IGZvcndhcmRzfS5lcGl0YXBoLWNsdWUtcmV2ZWFsPmRpdjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xMnN9LmVwaXRhcGgtY2x1ZS1yZXZlYWw+ZGl2Om50aC1jaGlsZCgzKXthbmltYXRpb24tZGVsYXk6LjI0c30uY2VtZXRlcnktcmVqZWN0e2FuaW1hdGlvbjpjZW1ldGVyeVJlamVjdCAuNDJzIGVhc2Utb3V0IGJvdGghaW1wb3J0YW50fS5ncmF2ZS1kdXN0e2hlaWdodDoxOHB4O3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjotLjJyZW0gMCAuNXJlbTtvdmVyZmxvdzpoaWRkZW59LmdyYXZlLWR1c3QgaXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtib3R0b206MDt3aWR0aDo1cHg7aGVpZ2h0OjVweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiM5NTg2NmE7b3BhY2l0eTowO2FuaW1hdGlvbjpncmF2ZUR1c3QgLjc1cyBlYXNlLW91dCBib3RofS5ncmF2ZS1kdXN0IGk6bnRoLWNoaWxkKDEpey0tZHg6LTU4cHg7YW5pbWF0aW9uLWRlbGF5Oi4wMnN9LmdyYXZlLWR1c3QgaTpudGgtY2hpbGQoMil7LS1keDotMjlweDthbmltYXRpb24tZGVsYXk6LjA2c30uZ3JhdmUtZHVzdCBpOm50aC1jaGlsZCgzKXstLWR4OjVweDthbmltYXRpb24tZGVsYXk6LjFzfS5ncmF2ZS1kdXN0IGk6bnRoLWNoaWxkKDQpey0tZHg6MzRweDthbmltYXRpb24tZGVsYXk6LjA0c30uZ3JhdmUtZHVzdCBpOm50aC1jaGlsZCg1KXstLWR4OjYzcHg7YW5pbWF0aW9uLWRlbGF5Oi4wOHN9LmNlbWV0ZXJ5LXNvbHZlZC1mbGFzaHthbmltYXRpb246Y2VtZXRlcnlTdWNjZXNzIC43cyBlYXNlLW91dCBib3RoIWltcG9ydGFudH0ucmVzdG9yZWQtZXBpdGFwaHttYXJnaW46MXJlbSAwO3BhZGRpbmc6MXJlbTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6MXB4IHNvbGlkICNiYmEwNjk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNkOGM2OWUsI2I5YTU3NSk7Y29sb3I6IzJmMmEyMTtmb250OjcwMCAxcmVtLzEuNSBHZW9yZ2lhLHNlcmlmO2xldHRlci1zcGFjaW5nOi4wNDVlbTtib3gtc2hhZG93OjAgMCAwIHJnYmEoMjE3LDE4OCwxMTksMCk7YW5pbWF0aW9uOmVwaXRhcGhSZXN0b3JlIDEuMTVzIGVhc2Utb3V0IGJvdGh9LnR3ZWx2ZS1zdG9uZXN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMTIsMWZyKTtnYXA6NHB4O2FsaWduLWl0ZW1zOmVuZDtoZWlnaHQ6NDJweDttYXJnaW46MXJlbSAwfS50d2VsdmUtc3RvbmVzIGl7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjFweDtib3JkZXI6MXB4IHNvbGlkICM2ODY5NWY7Ym9yZGVyLXJhZGl1czo5cHggOXB4IDJweCAycHg7YmFja2dyb3VuZDojM2IzZDM4O29wYWNpdHk6LjI1O3RyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpO2FuaW1hdGlvbjpzdG9uZVJlbWVtYmVyIC40NXMgZWFzZS1vdXQgZm9yd2FyZHN9LnR3ZWx2ZS1zdG9uZXMgaTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNXN9LnR3ZWx2ZS1zdG9uZXMgaTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xc30udHdlbHZlLXN0b25lcyBpOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjE1c30udHdlbHZlLXN0b25lcyBpOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjJzfS50d2VsdmUtc3RvbmVzIGk6bnRoLWNoaWxkKDYpe2FuaW1hdGlvbi1kZWxheTouMjVzfS50d2VsdmUtc3RvbmVzIGk6bnRoLWNoaWxkKDcpe2FuaW1hdGlvbi1kZWxheTouM3N9LnR3ZWx2ZS1zdG9uZXMgaTpudGgtY2hpbGQoOCl7YW5pbWF0aW9uLWRlbGF5Oi4zNXN9LnR3ZWx2ZS1zdG9uZXMgaTpudGgtY2hpbGQoOSl7YW5pbWF0aW9uLWRlbGF5Oi40c30udHdlbHZlLXN0b25lcyBpOm50aC1jaGlsZCgxMCl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9LnR3ZWx2ZS1zdG9uZXMgaTpudGgtY2hpbGQoMTEpe2FuaW1hdGlvbi1kZWxheTouNXN9LnR3ZWx2ZS1zdG9uZXMgaTpudGgtY2hpbGQoMTIpe2FuaW1hdGlvbi1kZWxheTouNTVzfS5tZW1vcnktZ3JhdmUtb3BlbmluZ3twb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6NzhweDttYXJnaW46MS4ycmVtIGF1dG87bWF4LXdpZHRoOjMzMHB4O292ZXJmbG93OmhpZGRlbjtwZXJzcGVjdGl2ZTo1MDBweH0ubWVtb3J5LWdyYXZlLW9wZW5pbmcgc3Bhbntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo4cHggMjhweDtib3JkZXI6MXB4IHNvbGlkICM3NzcwNWM7YmFja2dyb3VuZDojM2IzYjM0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGNlbnRlcjthbmltYXRpb246Z3JhdmVPcGVuIDFzIGN1YmljLWJlemllciguMiwuNywuMiwxKSAuMjVzIGJvdGh9Lm1lbW9yeS1ncmF2ZS1vcGVuaW5nIGJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjRweDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojYmZhZDgyO2ZvbnQ6NzAwIC43MnJlbSBtb25vc3BhY2U7bGV0dGVyLXNwYWNpbmc6LjE1ZW07b3BhY2l0eTowO2FuaW1hdGlvbjpncmF2ZUxhYmVsIC40NXMgZWFzZS1vdXQgMXMgZm9yd2FyZHN9LmdyYXZlLXJpbmctc2xvdHN7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjEuMnJlbTttYXJnaW46MXJlbSAwfS5ncmF2ZS1yaW5nLXNsb3RzIGl7ZGlzcGxheTpibG9jazt3aWR0aDo0NnB4O2hlaWdodDo0NnB4O2JvcmRlcjoycHggc29saWQgIzc3Nztib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiMyMjI7YW5pbWF0aW9uOnJpbmdQdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZX0uZ3JhdmUtcmluZy1zbG90cyAucHVycGxlLXNsb3R7Ym9yZGVyLWNvbG9yOiM5NDcwYWU7Ym94LXNoYWRvdzowIDAgMThweCByZ2JhKDE1MCw5NywxOTAsLjM4KX0uZ3JhdmUtcmluZy1zbG90cyAuZ3JlZW4tc2xvdHtib3JkZXItY29sb3I6IzZmOWQ3ODtib3gtc2hhZG93OjAgMCAxOHB4IHJnYmEoODIsMTUzLDk5LC4zMik7YW5pbWF0aW9uLWRlbGF5Oi4zNXN9LmdyYXZlLXJpbmctc2xvdHMgLnJlZC1zbG90e2JvcmRlci1jb2xvcjojOGI0YjQ5O2JhY2tncm91bmQ6IzMwMWYxZjtib3gtc2hhZG93Omluc2V0IDAgMCAxNHB4IHJnYmEoMTQzLDU1LDUwLC4zNSk7YW5pbWF0aW9uLWRlbGF5Oi43c30uZ3JhdmUtc2VhbC1hbmltYXRpb257cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTYwcHg7aGVpZ2h0OjkycHg7bWFyZ2luOjFyZW0gYXV0bztvdmVyZmxvdzpoaWRkZW59LnNlYWwtc3RvbmV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxNXB4O3JpZ2h0OjE1cHg7dG9wOjhweDtoZWlnaHQ6NjVweDtib3JkZXI6MXB4IHNvbGlkICM3MDZjNWM7Ym9yZGVyLXJhZGl1czo1NSUgNTUlIDhweCA4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoIzU1NTY0ZSwjMzczODMyKTthbmltYXRpb246c2VhbFN0b25lRHJvcCAuOHMgY3ViaWMtYmV6aWVyKC4yNSwuOCwuMjUsMSkgYm90aH0uc2VhbC1tYXJre3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDoyN3B4O3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiNlMmM3N2Y7Zm9udC1zaXplOjEuOHJlbTt0ZXh0LXNoYWRvdzowIDAgMTJweCByZ2JhKDIyNiwxOTksMTI3LC42KTtvcGFjaXR5OjA7YW5pbWF0aW9uOnNlYWxNYXJrR2xvdyAxcyBlYXNlLW91dCAuNjVzIGZvcndhcmRzfS5ncmF2ZS1uYW1lLXJldmVhbCBzcGFuLC5ncmF2ZS1uYW1lLXJldmVhbCBiLC5ncmF2ZS1uYW1lLXJldmVhbCBzbWFsbHtvcGFjaXR5OjA7YW5pbWF0aW9uOmdyYXZlVGV4dFJldmVhbCAuNDVzIGVhc2Utb3V0IGZvcndhcmRzfS5ncmF2ZS1uYW1lLXJldmVhbCBie2FuaW1hdGlvbi1kZWxheTouMzVzfS5ncmF2ZS1uYW1lLXJldmVhbCBzbWFsbHthbmltYXRpb24tZGVsYXk6LjdzfQpAa2V5ZnJhbWVzIGNlbWV0ZXJ5UHV6emxlUmlzZXtmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNHB4KSBzY2FsZSguOTg1KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgZXBpdGFwaENsdWVJbnt0b3tvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgY2VtZXRlcnlSZWplY3R7MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0yMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTdweCl9NDIle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDZweCl9NjUle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpfTgyJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpfX1Aa2V5ZnJhbWVzIGdyYXZlRHVzdHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDVweCkgc2NhbGUoLjUpfTM1JXtvcGFjaXR5Oi44fTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tZHgpLC0xNHB4KSBzY2FsZSgxLjE1KX19QGtleWZyYW1lcyBjZW1ldGVyeVN1Y2Nlc3N7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOTcpO2JveC1zaGFkb3c6MCAwIDAgcmdiYSgxMDIsMTU1LDExMSwwKX01NSV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxLjAxNSk7Ym94LXNoYWRvdzowIDAgMjhweCByZ2JhKDEwMiwxNTUsMTExLC4yOCl9MTAwJXt0cmFuc2Zvcm06bm9uZX19QGtleWZyYW1lcyBlcGl0YXBoUmVzdG9yZXswJXtvcGFjaXR5OjA7ZmlsdGVyOmJsdXIoNXB4KTtsZXR0ZXItc3BhY2luZzouMTVlbX01NSV7b3BhY2l0eToxO2ZpbHRlcjpub25lO2JveC1zaGFkb3c6MCAwIDMycHggcmdiYSgyMTcsMTg4LDExOSwuMjYpfTEwMCV7bGV0dGVyLXNwYWNpbmc6LjA0NWVtO2JveC1zaGFkb3c6MCAwIDEycHggcmdiYSgyMTcsMTg4LDExOSwuMTIpfX1Aa2V5ZnJhbWVzIHN0b25lUmVtZW1iZXJ7dG97b3BhY2l0eToxO3RyYW5zZm9ybTpub25lO2hlaWdodDozNHB4O2JveC1zaGFkb3c6MCAtNXB4IDEycHggcmdiYSgyMDcsMTg4LDEzOSwuMDgpfX1Aa2V5ZnJhbWVzIGdyYXZlT3BlbnswJXt0cmFuc2Zvcm06cm90YXRlWCgwKTtmaWx0ZXI6YnJpZ2h0bmVzcygxKX0xMDAle3RyYW5zZm9ybTpyb3RhdGVYKDcyZGVnKTtmaWx0ZXI6YnJpZ2h0bmVzcyguNTUpfX1Aa2V5ZnJhbWVzIGdyYXZlTGFiZWx7dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHJpbmdQdWxzZXswJSwxMDAle3RyYW5zZm9ybTpzY2FsZSgxKTtmaWx0ZXI6YnJpZ2h0bmVzcyguODUpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4wNik7ZmlsdGVyOmJyaWdodG5lc3MoMS4yNSl9fUBrZXlmcmFtZXMgc2VhbFN0b25lRHJvcHtmcm9te3RyYW5zZm9ybTp0cmFuc2xhdGVZKC03OHB4KTtvcGFjaXR5Oi4yfTcwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpO29wYWNpdHk6MX0xMDAle3RyYW5zZm9ybTpub25lfX1Aa2V5ZnJhbWVzIHNlYWxNYXJrR2xvd3swJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC43KX02MCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxLjE4KX0xMDAle29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX19QGtleWZyYW1lcyBncmF2ZVRleHRSZXZlYWx7ZnJvbXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTtmaWx0ZXI6Ymx1cigzcHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZTtmaWx0ZXI6bm9uZX19CkBtZWRpYShtYXgtd2lkdGg6NjUwcHgpey50d2VsdmUtc3RvbmVze2dhcDoycHh9LmdyYXZlLXJpbmctc2xvdHN7Z2FwOi43cmVtfS5ncmF2ZS1yaW5nLXNsb3RzIGl7d2lkdGg6NDBweDtoZWlnaHQ6NDBweH19CkBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmNlbWV0ZXJ5LXB1enpsZS1lbnRlciwuZXBpdGFwaC1jbHVlLXJldmVhbD5kaXYsLmNlbWV0ZXJ5LXJlamVjdCwuZ3JhdmUtZHVzdCBpLC5jZW1ldGVyeS1zb2x2ZWQtZmxhc2gsLnJlc3RvcmVkLWVwaXRhcGgsLnR3ZWx2ZS1zdG9uZXMgaSwubWVtb3J5LWdyYXZlLW9wZW5pbmcgc3BhbiwubWVtb3J5LWdyYXZlLW9wZW5pbmcgYiwuZ3JhdmUtcmluZy1zbG90cyBpLC5zZWFsLXN0b25lLC5zZWFsLW1hcmssLmdyYXZlLW5hbWUtcmV2ZWFsIHNwYW4sLmdyYXZlLW5hbWUtcmV2ZWFsIGIsLmdyYXZlLW5hbWUtcmV2ZWFsIHNtYWxse2FuaW1hdGlvbjpub25lIWltcG9ydGFudDtvcGFjaXR5OjEhaW1wb3J0YW50O3RyYW5zZm9ybTpub25lIWltcG9ydGFudDtmaWx0ZXI6bm9uZSFpbXBvcnRhbnR9Lm1lbW9yeS1ncmF2ZS1vcGVuaW5nIHNwYW57dHJhbnNmb3JtOnJvdGF0ZVgoNzJkZWcpIWltcG9ydGFudH19CgovKiBUZW1wb3JhcnkgZW5kLW9mLWJ1aWxkIHBhc3NhZ2UgKi8KLmNvbWluZy1zb29uLXBhZ2V7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjEuNHJlbSBhdXRvO3BhZGRpbmc6MS41cmVtO21heC13aWR0aDo4MjBweDt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6MXB4IHNvbGlkICM3YjY4NDc7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCB0b3AscmdiYSg5Miw3Miw0MiwuNDIpLHRyYW5zcGFyZW50IDQyJSksbGluZWFyLWdyYWRpZW50KDE0NWRlZywjMmIyODIxLCMxODIwMWYpO2JveC1zaGFkb3c6MCAyMHB4IDQ2cHggcmdiYSgwLDAsMCwuMzgpO292ZXJmbG93OmhpZGRlbjthbmltYXRpb246Y29taW5nU29vbkVudGVyIC42NXMgZWFzZS1vdXQgYm90aH0uY29taW5nLXNvb24tcGFnZTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDExMGRlZyx0cmFuc3BhcmVudCAyNSUscmdiYSgyMzgsMjA4LDE0NiwuMDYpIDQ4JSx0cmFuc3BhcmVudCA3MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMjAlKTthbmltYXRpb246Y29taW5nU29vbkxpZ2h0IDVzIGVhc2UtaW4tb3V0IDFzIGluZmluaXRlfS5jb21pbmctc29vbi1zeW1ib2x7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjAgYXV0byAuNnJlbTt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjYTg4YjUzO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzNiMzAyMDtjb2xvcjojZWZkMThiO2ZvbnQtc2l6ZToycmVtO2JveC1zaGFkb3c6MCAwIDI0cHggcmdiYSgyMjAsMTgxLDEwNCwuMTYpO2FuaW1hdGlvbjpjb21pbmdTb29uUHVsc2UgMi44cyBlYXNlLWluLW91dCBpbmZpbml0ZX0uY29taW5nLXNvb24ta2lja2Vye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzkxYjFhZjtmb250LXNpemU6LjdyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4xNGVtfS5jb21pbmctc29vbi1wYWdlIGgxe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjouM3JlbSAwO2NvbG9yOiNlZmQzOWI7Zm9udC1zaXplOmNsYW1wKDEuOHJlbSw1dncsM3JlbSl9LmNvbWluZy1zb29uLWxlYWR7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOi4ycmVtIDAgMS4ycmVtO2NvbG9yOiNkNmM3YTk7Zm9udC1zaXplOjEuMDVyZW19LmNvbWluZy1zb29uLXJlY2Fwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSk7Z2FwOi42NXJlbTttYXJnaW46MXJlbSAwO3RleHQtYWxpZ246bGVmdH0uY29taW5nLXNvb24tcmVjYXA+ZGl2e3BhZGRpbmc6LjhyZW07Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICM3MDg5Nzc7YmFja2dyb3VuZDpyZ2JhKDM1LDYyLDQ1LC40KX0uY29taW5nLXNvb24tcmVjYXAgYiwuY29taW5nLXNvb24tcmVjYXAgc3BhbntkaXNwbGF5OmJsb2NrfS5jb21pbmctc29vbi1yZWNhcCBie2NvbG9yOiNlYWQzOWZ9LmNvbWluZy1zb29uLXJlY2FwIHNwYW57bWFyZ2luLXRvcDouMjVyZW07Y29sb3I6I2MxY2RjNTtmb250LXNpemU6LjgycmVtfS5jb21pbmctc29vbi1tZXNzYWdle3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjoxLjE1cmVtIDA7cGFkZGluZzouOXJlbTtib3JkZXI6MXB4IHNvbGlkICM2Yzg1ODI7Ym9yZGVyLXJhZGl1czo4cHg7YmFja2dyb3VuZDpyZ2JhKDM0LDYxLDYzLC40NSl9LmNvbWluZy1zb29uLW1lc3NhZ2Ugc3Ryb25nLC5jb21pbmctc29vbi1tZXNzYWdlIHNwYW57ZGlzcGxheTpibG9ja30uY29taW5nLXNvb24tbWVzc2FnZSBzdHJvbmd7Y29sb3I6I2VmZDM5Yjtmb250LXNpemU6MXJlbX0uY29taW5nLXNvb24tbWVzc2FnZSBzcGFue21hcmdpbi10b3A6LjI1cmVtO2NvbG9yOiNjNWQxY2Y7Zm9udC1zaXplOi44cmVtfS5jb21pbmctc29vbi1hY3Rpb25ze3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6LjY1cmVtO21hcmdpbi10b3A6MXJlbX0uY29taW5nLXNvb24tYWN0aW9ucyBhe2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouOHJlbTtib3JkZXI6MXB4IHNvbGlkICM5YjdkNDY7Ym9yZGVyLXJhZGl1czo3cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoIzRkM2QyNiwjMzQyYTFlKTtjb2xvcjojZjBkNTljIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnR9LmNvbWluZy1zb29uLWFjdGlvbnMgYTpob3Zlcntib3JkZXItY29sb3I6I2E3NWE2YztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjOGE0MDUzLCM2NTJkM2QpO2NvbG9yOiNmZmYwY2QhaW1wb3J0YW50fS5jb21pbmctc29vbi12ZXJzaW9ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxcmVtO2NvbG9yOiM4ZDkzOGQ7Zm9udC1zaXplOi42N3JlbTtsZXR0ZXItc3BhY2luZzouMDVlbX1Aa2V5ZnJhbWVzIGNvbWluZ1Nvb25FbnRlcntmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNnB4KSBzY2FsZSguOTg1KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgY29taW5nU29vblB1bHNlezAlLDEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpO2ZpbHRlcjpicmlnaHRuZXNzKC45KX01MCV7dHJhbnNmb3JtOnNjYWxlKDEuMDUpO2ZpbHRlcjpicmlnaHRuZXNzKDEuMTgpfX1Aa2V5ZnJhbWVzIGNvbWluZ1Nvb25MaWdodHswJSwzNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEyMCUpfTY1JSwxMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEyMCUpfX1AbWVkaWEobWF4LXdpZHRoOjY1MHB4KXsuY29taW5nLXNvb24tcGFnZXtwYWRkaW5nOjEuMXJlbX0uY29taW5nLXNvb24tcmVjYXAsLmNvbWluZy1zb29uLWFjdGlvbnN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuY29taW5nLXNvb24tcGFnZSwuY29taW5nLXNvb24tcGFnZTpiZWZvcmUsLmNvbWluZy1zb29uLXN5bWJvbHthbmltYXRpb246bm9uZSFpbXBvcnRhbnR9fQoKLyogUG9ydGFsLXdpbmRvdyBob21lIHNjcmVlbiBlbnZpcm9ubWVudCAqLwpib2R5OmhhcyguYm0tcG9ydGFsLXN0YWdlKSAjcGFzc2FnZXN7bWF4LXdpZHRoOm5vbmUhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50fQpib2R5OmhhcyguYm0tcG9ydGFsLXN0YWdlKSAjcGFzc2FnZS1zdGFydHtwYWRkaW5nOjAhaW1wb3J0YW50O21hcmdpbjowIWltcG9ydGFudH0KLmJtLXBvcnRhbC1zdGFnZXtwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6bWluKDEwMCUsMTUzNnB4KTttaW4taGVpZ2h0Ojk2MHB4O21hcmdpbjotMXJlbSBhdXRvIDA7cGFkZGluZzo1NHB4IGNsYW1wKDI4cHgsOHZ3LDE1MHB4KSAxMDBweDtiYWNrZ3JvdW5kLWNvbG9yOiMwYjExMTE7YmFja2dyb3VuZC1pbWFnZTp2YXIoLS1ibS1ob21lLWJhY2tncm91bmQsdXJsKCJpbWFnZXMvaG9tZV9pbnZlc3RpZ2F0b3Jfd2luZG93LnBuZyIpKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciB0b3A7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTc2LDE0Myw4MiwuMyk7Ym94LXNoYWRvdzowIDIwcHggNzBweCByZ2JhKDAsMCwwLC42MiksaW5zZXQgMCAwIDkwcHggcmdiYSgwLDAsMCwuNDIpO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZX0uYm0tcG9ydGFsLXN0YWdlOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDQsOCw5LC4wOCkscmdiYSg0LDgsOSwuMDIpIDU0JSxyZ2JhKDUsNyw3LC4yMikpO3BvaW50ZXItZXZlbnRzOm5vbmV9LmJtLXN0YXJ0LXNjcmVlbntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjM7bWF4LXdpZHRoOjkyMHB4IWltcG9ydGFudDttYXJnaW46MCBhdXRvIWltcG9ydGFudDtwYWRkaW5nOjEycHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIwNSwxNzAsMTAyLC40Mik7YmFja2dyb3VuZDpyZ2JhKDcsMTMsMTMsLjc2KTtib3gtc2hhZG93OjAgMThweCA0OHB4IHJnYmEoMCwwLDAsLjUyKSxpbnNldCAwIDAgMCA1cHggcmdiYSg4LDEzLDEzLC42Mik7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMnB4KX0uYm0tc3RhcnQtYmFubmVye2JvcmRlci1yYWRpdXM6M3B4IWltcG9ydGFudDtib3gtc2hhZG93OjAgMTRweCAzNHB4IHJnYmEoMCwwLDAsLjQ4KSwwIDAgMCA1cHggcmdiYSgxNywxNiwxMiwuNTgpIWltcG9ydGFudH0uYm0tc3RhcnQtY2FzZS1maWxle21hcmdpbi10b3A6MTJweCFpbXBvcnRhbnQ7bWF4LXdpZHRoOjgxMHB4IWltcG9ydGFudDtib3gtc2hhZG93OjAgMThweCA0MnB4IHJnYmEoMCwwLDAsLjUyKSwwIDAgMCA1cHggcmdiYSgzNywyNiwxNSwuMzYpIWltcG9ydGFudH0uYm0tcG9ydGFsLWF0bW9zcGhlcmV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjI7cG9pbnRlci1ldmVudHM6bm9uZTtvdmVyZmxvdzpoaWRkZW59LmZvZ3twb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjcyJTtoZWlnaHQ6MTIwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSxyZ2JhKDE5MSwyMDcsMjAyLC4xNCkscmdiYSgxMTYsMTQzLDEzOSwuMDcpIDQyJSx0cmFuc3BhcmVudCA3MyUpO2ZpbHRlcjpibHVyKDE3cHgpO29wYWNpdHk6LjQ0fS5mb2ctYXtsZWZ0Oi0yNCU7dG9wOjMxJTthbmltYXRpb246cG9ydGFsRm9nQSAxOHMgZWFzZS1pbi1vdXQgaW5maW5pdGUgYWx0ZXJuYXRlfS5mb2ctYntyaWdodDotMjglO3RvcDo0NyU7YW5pbWF0aW9uOnBvcnRhbEZvZ0IgMjJzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZX0ucmluZy1nbG93e3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjUwJTtvcGFjaXR5Oi41NTtmaWx0ZXI6Ymx1cigxcHgpO2FuaW1hdGlvbjpyaW5nV2F0Y2ggMy42cyBlYXNlLWluLW91dCBpbmZpbml0ZX0uZ2xvdy1wdXJwbGV7bGVmdDoxOCU7dG9wOjMwJTtiYWNrZ3JvdW5kOiM5NDY3ZDg7Ym94LXNoYWRvdzowIDAgMjBweCA3cHggcmdiYSgxMzUsODMsMjExLC4zOCl9Lmdsb3ctZ3JlZW57bGVmdDoxNiU7dG9wOjQ0JTtiYWNrZ3JvdW5kOiM2NWQ1ODE7Ym94LXNoYWRvdzowIDAgMjBweCA3cHggcmdiYSg2NCwxODgsOTEsLjMpO2FuaW1hdGlvbi1kZWxheToxLjJzfS5nbG93LXJlZHtyaWdodDoxNCU7dG9wOjM4JTtiYWNrZ3JvdW5kOiNjYzVkNjE7Ym94LXNoYWRvdzowIDAgMjBweCA3cHggcmdiYSgxOTYsNjEsNzEsLjI4KTthbmltYXRpb24tZGVsYXk6Mi4yc31Aa2V5ZnJhbWVzIHBvcnRhbEZvZ0F7ZnJvbXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNCUpIHNjYWxlKDEpfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVYKDMyJSkgc2NhbGUoMS4xMil9fUBrZXlmcmFtZXMgcG9ydGFsRm9nQntmcm9te3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUlKSBzY2FsZSguOTQpfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0zMSUpIHNjYWxlKDEuMDgpfX1Aa2V5ZnJhbWVzIHJpbmdXYXRjaHswJSwxMDAle29wYWNpdHk6LjI7dHJhbnNmb3JtOnNjYWxlKC43NSl9NTAle29wYWNpdHk6LjcyO3RyYW5zZm9ybTpzY2FsZSgxLjI1KX19CkBtZWRpYShtYXgtd2lkdGg6MTEwMHB4KXsuYm0tcG9ydGFsLXN0YWdle21pbi1oZWlnaHQ6OTAwcHg7cGFkZGluZzo0MnB4IDQwcHggODRweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciB0b3B9LmJtLXN0YXJ0LXNjcmVlbnttYXgtd2lkdGg6ODgwcHghaW1wb3J0YW50fX0KQG1lZGlhKG1heC13aWR0aDo3NjBweCl7LmJtLXBvcnRhbC1zdGFnZXttaW4taGVpZ2h0OmF1dG87bWFyZ2luOjA7cGFkZGluZzoyNHB4IDEycHggNzBweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUyJSB0b3A7YmFja2dyb3VuZC1zaXplOmF1dG8gMTAwJTtib3JkZXItbGVmdDowO2JvcmRlci1yaWdodDowfS5ibS1zdGFydC1zY3JlZW57cGFkZGluZzo4cHg7YmFja2dyb3VuZDpyZ2JhKDcsMTMsMTMsLjg0KX0uYm0tc3RhcnQtY2FzZS1maWxle21hcmdpbi10b3A6OHB4IWltcG9ydGFudH0uZm9ne2Rpc3BsYXk6bm9uZX0ucmluZy1nbG93e29wYWNpdHk6LjM1fX0KQG1lZGlhKG1heC13aWR0aDo0ODBweCl7LmJtLXBvcnRhbC1zdGFnZXtwYWRkaW5nOjE2cHggN3B4IDYwcHh9LmJtLXN0YXJ0LXNjcmVlbntwYWRkaW5nOjVweH0uYm0tc3RhcnQtYmFubmVye2JveC1zaGFkb3c6MCA5cHggMjRweCByZ2JhKDAsMCwwLC41KSFpbXBvcnRhbnR9fQpib2R5LnNldHRpbmctbW90aW9uLW9mZiAuZm9nLGJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5yaW5nLWdsb3d7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50fUBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmZvZywucmluZy1nbG93e2FuaW1hdGlvbjpub25lIWltcG9ydGFudH19CgovKiBMb2NhdGlvbi1hd2FyZSBnYW1lcGxheSBiYWNrZ3JvdW5kcyAqLwojYm0tZ2FtZXBsYXktYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MCAwIDAgMTguNWVtO3otaW5kZXg6LTM7YmFja2dyb3VuZC1jb2xvcjojMGExMDEwO2JhY2tncm91bmQtaW1hZ2U6dmFyKC0tYm0tZ2FtZXBsYXktYmcpO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuN3MgZWFzZSxiYWNrZ3JvdW5kLWltYWdlIC43cyBlYXNlO3BvaW50ZXItZXZlbnRzOm5vbmV9I2JtLWdhbWVwbGF5LWJhY2tkcm9wOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyxyZ2JhKDYsMTEsMTIsLjcyKSxyZ2JhKDYsMTEsMTIsLjM2KSAyMiUscmdiYSg2LDExLDEyLC4zNikgNzglLHJnYmEoNiwxMSwxMiwuNzIpKSxsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoNSw5LDEwLC4yOCkscmdiYSg1LDksMTAsLjUpKX1ib2R5LmJtLWdhbWVwbGF5LXNjZW5lICNibS1nYW1lcGxheS1iYWNrZHJvcHtvcGFjaXR5OjF9Ym9keS5ibS1nYW1lcGxheS1zY2VuZSAjcGFzc2FnZXN7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfWJvZHkuYm0tZ2FtZXBsYXktc2NlbmUgLnBhc3NhZ2V7Ym94LXNpemluZzpib3JkZXItYm94O21heC13aWR0aDo5NDBweDttYXJnaW46MS4ycmVtIGF1dG87cGFkZGluZzoxLjM1cmVtIDEuNXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTkwLDE1Nyw5NiwuMjgpO2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6cmdiYSgxMiwxOCwxOCwuODgpO2JveC1zaGFkb3c6MCAxOHB4IDUwcHggcmdiYSgwLDAsMCwuNDgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDRweCl9Ym9keS5ibS1nYW1lcGxheS1zY2VuZS5zZXR0aW5nLWhpZ2gtY29udHJhc3QgLnBhc3NhZ2V7YmFja2dyb3VuZDojMDcwYjBjfWJvZHkuYm0tZ2FtZXBsYXktc2NlbmUuYm0tYmctbGlnaHQgLnBhc3NhZ2V7YmFja2dyb3VuZDpyZ2JhKDksMTUsMTYsLjkxKX1AbWVkaWEobWF4LXdpZHRoOjExMzZweCl7I2JtLWdhbWVwbGF5LWJhY2tkcm9we2xlZnQ6MH19QG1lZGlhKG1heC13aWR0aDo3MDBweCl7Ym9keS5ibS1nYW1lcGxheS1zY2VuZSAucGFzc2FnZXttYXJnaW46LjY1cmVtO3BhZGRpbmc6MXJlbTtiYWNrZ3JvdW5kOnJnYmEoMTAsMTYsMTcsLjkzKX0jYm0tZ2FtZXBsYXktYmFja2Ryb3B7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXJ9fWJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmICNibS1nYW1lcGxheS1iYWNrZHJvcHt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fUBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7I2JtLWdhbWVwbGF5LWJhY2tkcm9we3RyYW5zaXRpb246bm9uZSFpbXBvcnRhbnR9fQoKLyogUGhhc2UgMiBleHBsaWNpdC10YWcgYmFja2dyb3VuZCBzeXN0ZW0gKi8KI2JtLWJnLWxheWVyLWEsI2JtLWJnLWxheWVyLWJ7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MCAwIDAgMTguNWVtO3otaW5kZXg6LTQ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC44NXMgZWFzZTtwb2ludGVyLWV2ZW50czpub25lfSNibS1iZy1sYXllci1hOmFmdGVyLCNibS1iZy1sYXllci1iOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyxyZ2JhKDUsMTAsMTEsLjcyKSxyZ2JhKDUsMTAsMTEsLjM0KSAyNCUscmdiYSg1LDEwLDExLC4zNCkgNzYlLHJnYmEoNSwxMCwxMSwuNzIpKSxsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoNSw4LDksLjIyKSxyZ2JhKDUsOCw5LC41MikpfS5ibS1iZy12aXNpYmxle29wYWNpdHk6MSFpbXBvcnRhbnR9I2JtLWdhbWVwbGF5LWJhY2tkcm9we2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9I2JtLWxvY2F0aW9uLWxhYmVse3Bvc2l0aW9uOmZpeGVkO2xlZnQ6Y2FsYygxOC41ZW0gKyAxLjFyZW0pO3RvcDoxcmVtO3otaW5kZXg6NTA7cGFkZGluZzouNTJyZW0gLjhyZW07Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIxMCwxNzgsMTEyLC40OCk7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDpyZ2JhKDEzLDIwLDIwLC44OCk7Y29sb3I6I2VhZDZhODtmb250OjcwMCAuN3JlbSBBcmlhbCxzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi4xZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JveC1zaGFkb3c6MCA4cHggMjVweCByZ2JhKDAsMCwwLC4zOCk7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpO3BvaW50ZXItZXZlbnRzOm5vbmV9I2JtLWxvY2F0aW9uLWxhYmVsLmJtLWxhYmVsLXNob3d7YW5pbWF0aW9uOmJtTG9jYXRpb25MYWJlbCAyLjdzIGVhc2UgYm90aH1Aa2V5ZnJhbWVzIGJtTG9jYXRpb25MYWJlbHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCl9MTUlLDcyJXtvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9MTAwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCl9fWJvZHkuYm0tYmFja2dyb3VuZHMtb2ZmICNibS1iZy1sYXllci1hLGJvZHkuYm0tYmFja2dyb3VuZHMtb2ZmICNibS1iZy1sYXllci1ie2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9Ym9keS5ibS1iYWNrZ3JvdW5kcy1zdGF0aWMgI2JtLWJnLWxheWVyLWEsYm9keS5ibS1iYWNrZ3JvdW5kcy1zdGF0aWMgI2JtLWJnLWxheWVyLWJ7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudH1AbWVkaWEobWF4LXdpZHRoOjExMzZweCl7I2JtLWJnLWxheWVyLWEsI2JtLWJnLWxheWVyLWJ7bGVmdDowfSNibS1sb2NhdGlvbi1sYWJlbHtsZWZ0OjFyZW19fUBtZWRpYShtYXgtd2lkdGg6NzAwcHgpeyNibS1sb2NhdGlvbi1sYWJlbHt0b3A6LjVyZW07bGVmdDouNTVyZW07Zm9udC1zaXplOi42MnJlbX19Ym9keS5zZXR0aW5nLW1vdGlvbi1vZmYgI2JtLWJnLWxheWVyLWEsYm9keS5zZXR0aW5nLW1vdGlvbi1vZmYgI2JtLWJnLWxheWVyLWJ7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudH1ib2R5LnNldHRpbmctbW90aW9uLW9mZiAjYm0tbG9jYXRpb24tbGFiZWx7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50O2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsjYm0tYmctbGF5ZXItYSwjYm0tYmctbGF5ZXItYnt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fSNibS1sb2NhdGlvbi1sYWJlbHthbmltYXRpb246bm9uZSFpbXBvcnRhbnQ7ZGlzcGxheTpub25lIWltcG9ydGFudH19CgovKiBQaGFzZSAzIGxvY2F0aW9uIGF0bW9zcGhlcmUgYW5kIHNjZW5lIGZyYW1pbmcgKi8KI2JtLWF0bW9zcGhlcmV7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MCAwIDAgMTguNWVtO3otaW5kZXg6LTI7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eToxO3RyYW5zaXRpb246b3BhY2l0eSAuNDVzIGVhc2V9I2JtLWF0bW9zcGhlcmUgaXtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOm5vbmV9LmJtLXJhaW57aW5zZXQ6LTIwJTtiYWNrZ3JvdW5kLWltYWdlOnJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMTA4ZGVnLHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQgMTVweCxyZ2JhKDIwNSwyMjIsMjI0LC4xNikgMTZweCx0cmFuc3BhcmVudCAxN3B4KTtiYWNrZ3JvdW5kLXNpemU6MTQ1cHggMTQ1cHg7YW5pbWF0aW9uOmJtUmFpbiAxLjE1cyBsaW5lYXIgaW5maW5pdGV9LmJtLWZvZ3tsZWZ0Oi0yNSU7Ym90dG9tOi01JTt3aWR0aDoxNTAlO2hlaWdodDo1MyU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgODAlLHJnYmEoMTk2LDIxMCwyMDQsLjI0KSxyZ2JhKDEwOSwxMzMsMTI4LC4xMSkgNDMlLHRyYW5zcGFyZW50IDcyJSk7ZmlsdGVyOmJsdXIoMThweCk7YW5pbWF0aW9uOmJtRm9nIDE4cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGV9LmJtLWR1c3R7aW5zZXQ6MDtiYWNrZ3JvdW5kLWltYWdlOnJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSgyMzUsMjExLDE1NiwuMzIpIDAgMXB4LHRyYW5zcGFyZW50IDEuNXB4KSxyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHJnYmEoMjIxLDE5OSwxNDYsLjIyKSAwIDFweCx0cmFuc3BhcmVudCAxLjVweCk7YmFja2dyb3VuZC1zaXplOjkzcHggMTA3cHgsMTM3cHggMTUxcHg7YW5pbWF0aW9uOmJtRHVzdCAyMnMgbGluZWFyIGluZmluaXRlfS5ibS1nbG93e3dpZHRoOjE4dnc7aGVpZ2h0OjE4dnc7bWluLXdpZHRoOjE0NXB4O21pbi1oZWlnaHQ6MTQ1cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmlsdGVyOmJsdXIoMzRweCk7b3BhY2l0eTouMzI7YW5pbWF0aW9uOmJtR2xvdyA0LjVzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5ibS1nbG93LXB1cnBsZXtyaWdodDo4JTt0b3A6MTQlO2JhY2tncm91bmQ6cmdiYSgxMjMsNjksMTg2LC42Mil9LmJtLWdsb3ctZ3JlZW57bGVmdDoxMCU7Ym90dG9tOjEyJTtiYWNrZ3JvdW5kOnJnYmEoNTcsMTU5LDgyLC41Mik7YW5pbWF0aW9uLWRlbGF5OjEuM3N9LmJtLWdsb3ctcmVke3JpZ2h0OjEzJTtib3R0b206OCU7YmFja2dyb3VuZDpyZ2JhKDE3MSw0Niw1NSwuNTIpO2FuaW1hdGlvbi1kZWxheToyLjJzfS5ibS1yb290LXNoYWRvd3tpbnNldDowO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgOTAlIDYwJSx0cmFuc3BhcmVudCAwIDI1JSxyZ2JhKDgsNSw0LC4zNSkgNDklLHRyYW5zcGFyZW50IDY5JSk7YW5pbWF0aW9uOmJtUm9vdHMgOXMgZWFzZS1pbi1vdXQgaW5maW5pdGUgYWx0ZXJuYXRlfS5ibS1jbG9jay1wdWxzZXtyaWdodDo5JTt0b3A6OSU7d2lkdGg6NzRweDtoZWlnaHQ6NzRweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjI4LDE5NCwxMTAsLjM0KTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjAgMCAyOHB4IHJnYmEoMjI4LDE5NCwxMTAsLjE2KTthbmltYXRpb246Ym1DbG9jayA5LjE0cyBlYXNlLWluLW91dCBpbmZpbml0ZX0uYm0tc2NlbmUtdmlnbmV0dGV7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MCAwIDAgMTguNWVtO3otaW5kZXg6LTE7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlcix0cmFuc3BhcmVudCAzOCUscmdiYSgzLDYsNywuMjYpIDEwMCUpfWJvZHkuYm0tYXRtb3NwaGVyZS1vZmYgI2JtLWF0bW9zcGhlcmV7ZGlzcGxheTpub25lIWltcG9ydGFudH1ib2R5LmJtLWF0bW9zcGhlcmUtcmVkdWNlZCAjYm0tYXRtb3NwaGVyZXtvcGFjaXR5Oi40Mn1ib2R5LmJtLWF0bW9zcGhlcmUtcmVkdWNlZCAjYm0tYXRtb3NwaGVyZSBpe2FuaW1hdGlvbjpub25lIWltcG9ydGFudH1odG1sW2RhdGEtYm0tZ2FtZXBsYXktc2NlbmU9ImJlZHJvb20iXSAjYm0tYmctbGF5ZXItYSxodG1sW2RhdGEtYm0tZ2FtZXBsYXktc2NlbmU9ImJlZHJvb20iXSAjYm0tYmctbGF5ZXItYntiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciA1NiV9aHRtbFtkYXRhLWJtLWdhbWVwbGF5LXNjZW5lPSJzY2hvb2xleHRlcmlvciJdICNibS1iZy1sYXllci1hLGh0bWxbZGF0YS1ibS1nYW1lcGxheS1zY2VuZT0ic2Nob29sZXh0ZXJpb3IiXSAjYm0tYmctbGF5ZXItYntiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciA0NSV9aHRtbFtkYXRhLWJtLWdhbWVwbGF5LXNjZW5lPSJzY2hvb2xoYWxsIl0gI2JtLWJnLWxheWVyLWEsaHRtbFtkYXRhLWJtLWdhbWVwbGF5LXNjZW5lPSJzY2hvb2xoYWxsIl0gI2JtLWJnLWxheWVyLWJ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXJ9aHRtbFtkYXRhLWJtLWdhbWVwbGF5LXNjZW5lPSJjbGFzc3Jvb20iXSAjYm0tYmctbGF5ZXItYSxodG1sW2RhdGEtYm0tZ2FtZXBsYXktc2NlbmU9ImNsYXNzcm9vbSJdICNibS1iZy1sYXllci1ie2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIDQ4JX1odG1sW2RhdGEtYm0tZ2FtZXBsYXktc2NlbmU9ImhvdXNlIl0gI2JtLWJnLWxheWVyLWEsaHRtbFtkYXRhLWJtLWdhbWVwbGF5LXNjZW5lPSJob3VzZSJdICNibS1iZy1sYXllci1ie2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIDUyJX1odG1sW2RhdGEtYm0tZ2FtZXBsYXktc2NlbmU9InVwc3RhaXJzIl0gI2JtLWJnLWxheWVyLWEsaHRtbFtkYXRhLWJtLWdhbWVwbGF5LXNjZW5lPSJ1cHN0YWlycyJdICNibS1iZy1sYXllci1ie2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIDUwJX1odG1sW2RhdGEtYm0tZ2FtZXBsYXktc2NlbmU9Im1lbW9yeXJvb20iXSAjYm0tYmctbGF5ZXItYSxodG1sW2RhdGEtYm0tZ2FtZXBsYXktc2NlbmU9Im1lbW9yeXJvb20iXSAjYm0tYmctbGF5ZXItYntiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciA0OCV9aHRtbFtkYXRhLWJtLWdhbWVwbGF5LXNjZW5lPSJsaWJyYXJ5Il0gI2JtLWJnLWxheWVyLWEsaHRtbFtkYXRhLWJtLWdhbWVwbGF5LXNjZW5lPSJsaWJyYXJ5Il0gI2JtLWJnLWxheWVyLWJ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgNTAlfWh0bWxbZGF0YS1ibS1nYW1lcGxheS1zY2VuZT0iYnJlYXJ5Il0gI2JtLWJnLWxheWVyLWEsaHRtbFtkYXRhLWJtLWdhbWVwbGF5LXNjZW5lPSJicmVhcnkiXSAjYm0tYmctbGF5ZXItYntiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciA0NSV9aHRtbFtkYXRhLWJtLWdhbWVwbGF5LXNjZW5lPSJjZW1ldGVyeSJdICNibS1iZy1sYXllci1hLGh0bWxbZGF0YS1ibS1nYW1lcGxheS1zY2VuZT0iY2VtZXRlcnkiXSAjYm0tYmctbGF5ZXItYntiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciA0NCV9aHRtbFtkYXRhLWJtLWdhbWVwbGF5LXNjZW5lPSJtZW1vcnlncmF2ZSJdICNibS1iZy1sYXllci1hLGh0bWxbZGF0YS1ibS1nYW1lcGxheS1zY2VuZT0ibWVtb3J5Z3JhdmUiXSAjYm0tYmctbGF5ZXItYntiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciA0NiV9QGtleWZyYW1lcyBibVJhaW57dG97YmFja2dyb3VuZC1wb3NpdGlvbjotNzJweCAxNDVweH19QGtleWZyYW1lcyBibUZvZ3tmcm9te3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01JSkgc2NhbGUoMSl9dG97dHJhbnNmb3JtOnRyYW5zbGF0ZVgoOCUpIHNjYWxlKDEuMTIpfX1Aa2V5ZnJhbWVzIGJtRHVzdHt0b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjkzcHggLTEwN3B4LC0xMzdweCAtMTUxcHh9fUBrZXlmcmFtZXMgYm1HbG93ezAlLDEwMCV7b3BhY2l0eTouMjt0cmFuc2Zvcm06c2NhbGUoLjg4KX01MCV7b3BhY2l0eTouNDI7dHJhbnNmb3JtOnNjYWxlKDEuMDgpfX1Aa2V5ZnJhbWVzIGJtUm9vdHN7ZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSl9dG97dHJhbnNmb3JtOnNjYWxlKDEuMDQpIHRyYW5zbGF0ZVgoLTElKX19QGtleWZyYW1lcyBibUNsb2NrezAlLDkyJSwxMDAle29wYWNpdHk6LjEyO3RyYW5zZm9ybTpzY2FsZSguOTQpfTk1JXtvcGFjaXR5Oi41Mjt0cmFuc2Zvcm06c2NhbGUoMS4wOCl9fUBtZWRpYShtYXgtd2lkdGg6MTEzNnB4KXsjYm0tYXRtb3NwaGVyZSwuYm0tc2NlbmUtdmlnbmV0dGV7bGVmdDowfX1AbWVkaWEobWF4LXdpZHRoOjcwMHB4KXsjYm0tYXRtb3NwaGVyZXtvcGFjaXR5Oi41NX0uYm0tZ2xvd3t3aWR0aDoxNDVweDtoZWlnaHQ6MTQ1cHh9LmJtLXNjZW5lLXZpZ25ldHRle2xlZnQ6MH1odG1sW2RhdGEtYm0tZ2FtZXBsYXktc2NlbmVdICNibS1iZy1sYXllci1hLGh0bWxbZGF0YS1ibS1nYW1lcGxheS1zY2VuZV0gI2JtLWJnLWxheWVyLWJ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyfX1ib2R5LnNldHRpbmctbW90aW9uLW9mZiAjYm0tYXRtb3NwaGVyZSBpe2FuaW1hdGlvbjpub25lIWltcG9ydGFudH1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpeyNibS1hdG1vc3BoZXJlIGl7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50fX0KCi8qIFBoYXNlIDQgaW50ZXJhY3RpdmUgc2NlbmUgZXhwbG9yYXRpb24gKi8KI2JtLWV4cGxvcmUtYnV0dG9ue3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjFyZW07Ym90dG9tOjFyZW07ei1pbmRleDo4MDtwYWRkaW5nOi43MnJlbSAxcmVtO2JvcmRlcjoxcHggc29saWQgI2IzOTE1NTtib3JkZXItcmFkaXVzOjdweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjNGMzYjI0LCMyZTI1MWIpO2NvbG9yOiNmMWQ3OWU7Zm9udDo3MDAgLjc2cmVtIEFyaWFsLHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LjA3ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JveC1zaGFkb3c6MCA4cHggMjVweCByZ2JhKDAsMCwwLC40NSk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlLGJvcmRlci1jb2xvciAuMThzIGVhc2UsYmFja2dyb3VuZCAuMThzIGVhc2V9I2JtLWV4cGxvcmUtYnV0dG9uOmhvdmVyLCNibS1leHBsb3JlLWJ1dHRvbjpmb2N1c3t0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTtib3JkZXItY29sb3I6I2QxYWQ2NjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjNjk0ZDI5LCMzYTJjMWUpO291dGxpbmU6MnB4IHNvbGlkIHJnYmEoMjM0LDIwMiwxMzcsLjI4KX0jYm0tZXhwbG9yZS1idXR0b24gLmJtLWV4cGxvcmUtY291bnR7ZGlzcGxheTppbmxpbmUtZ3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7bWluLXdpZHRoOjEuMjVyZW07aGVpZ2h0OjEuMjVyZW07bWFyZ2luLWxlZnQ6LjQ1cmVtO3BhZGRpbmc6MCAuMThyZW07Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojMWEyODI4O2NvbG9yOiNhOGQxY2M7Zm9udC1zaXplOi42NnJlbX0jYm0tZXhwbG9yZS1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDoxMjA7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MXJlbTtiYWNrZ3JvdW5kOnJnYmEoMiw2LDcsLjc4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig1cHgpfSNibS1leHBsb3JlLW92ZXJsYXkuYm0tb3BlbntkaXNwbGF5OmZsZXg7YW5pbWF0aW9uOmJtRXhwbG9yZUZhZGUgLjJzIGVhc2UgYm90aH0uYm0tZXhwbG9yZS1wYW5lbHt3aWR0aDptaW4oNzgwcHgsOTV2dyk7bWF4LWhlaWdodDo4OHZoO292ZXJmbG93OmF1dG87Ym9yZGVyOjFweCBzb2xpZCAjOTI3ODRjO2JvcmRlci1yYWRpdXM6MTFweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcscmdiYSgyNSwzMSwyOSwuOTgpLHJnYmEoMTMsMjAsMjEsLjk4KSk7Ym94LXNoYWRvdzowIDI4cHggODBweCByZ2JhKDAsMCwwLC42OCk7Y29sb3I6I2U4ZTJkM30uYm0tZXhwbG9yZS1oZWFke3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjFyZW0gMS4xcmVtO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTc5LDE0NSw4NSwuMzUpO2JhY2tncm91bmQ6cmdiYSgxNywyNCwyNCwuOTcpfS5ibS1leHBsb3JlLWhlYWQgc3BhbntkaXNwbGF5OmJsb2NrO2NvbG9yOiM4ZGI2YjE7Zm9udC1zaXplOi42NXJlbTtsZXR0ZXItc3BhY2luZzouMTNlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LmJtLWV4cGxvcmUtaGVhZCBoMnttYXJnaW46LjE4cmVtIDAgMDtjb2xvcjojZWZkMjlhO2ZvbnQtc2l6ZToxLjI1cmVtfS5ibS1leHBsb3JlLWNsb3Nle3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7Ym9yZGVyOjFweCBzb2xpZCAjODA2YjQ4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzI5MjcxZjtjb2xvcjojZWFkNWE1O2ZvbnQtc2l6ZToxLjJyZW07Y3Vyc29yOnBvaW50ZXJ9LmJtLWV4cGxvcmUtaW50cm97bWFyZ2luOjA7cGFkZGluZzouODVyZW0gMS4xcmVtO2NvbG9yOiNjOGNkYzY7Zm9udC1zaXplOi44NnJlbX0uYm0taG90c3BvdC1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSk7Z2FwOi43cmVtO3BhZGRpbmc6MCAxLjFyZW0gMS4xNXJlbX0uYm0taG90c3BvdHtwb3NpdGlvbjpyZWxhdGl2ZTttaW4taGVpZ2h0OjE0NXB4O3BhZGRpbmc6LjlyZW07Ym9yZGVyOjFweCBzb2xpZCAjNTM2ODY2O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZyxyZ2JhKDM4LDU3LDU1LC44MikscmdiYSgyNiwzNiwzNSwuOSkpO2NvbG9yOiNlNWRmZDA7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyO292ZXJmbG93OmhpZGRlbn0uYm0taG90c3BvdDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDphdXRvIC0yNSUgLTUwJSAyNSU7aGVpZ2h0OjkwJTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSgxMjcsMTgwLDE3MCwuMTYpLHRyYW5zcGFyZW50IDY3JSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBlYXNlfS5ibS1ob3RzcG90OmhvdmVyOmJlZm9yZXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMiUsLTEwJSkgc2NhbGUoMS4yKX0uYm0taG90c3BvdCBiLC5ibS1ob3RzcG90IHNwYW4sLmJtLWhvdHNwb3Qgc21hbGx7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30uYm0taG90c3BvdCBie2NvbG9yOiNlZmQxOTg7Zm9udC1zaXplOi45MnJlbX0uYm0taG90c3BvdCBzcGFue21hcmdpbi10b3A6LjQ1cmVtO2NvbG9yOiNiZGNiYzY7Zm9udC1zaXplOi43OHJlbTtsaW5lLWhlaWdodDoxLjM4fS5ibS1ob3RzcG90IHNtYWxse21hcmdpbi10b3A6LjdyZW07Y29sb3I6Izg3YWFhNjtmb250LXNpemU6LjY2cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDdlbX0uYm0taG90c3BvdC5ibS1mb3VuZHtib3JkZXItY29sb3I6Izc1NmI1NDtiYWNrZ3JvdW5kOnJnYmEoMzUsMzYsMzEsLjc2KTtjdXJzb3I6ZGVmYXVsdDtmaWx0ZXI6c2F0dXJhdGUoLjcpfS5ibS1ob3RzcG90LmJtLWZvdW5kIHNtYWxse2NvbG9yOiNkMmI3NzV9LmJtLWZpbmQtcmV2ZWFse21hcmdpbjowIDEuMXJlbSAxLjFyZW07cGFkZGluZzouOXJlbTtib3JkZXItbGVmdDo0cHggc29saWQgI2E3ODM0YztiYWNrZ3JvdW5kOnJnYmEoNzAsNTIsMjgsLjQ1KTthbmltYXRpb246Ym1GaW5kUmV2ZWFsIC4zNXMgZWFzZSBib3RofS5ibS1maW5kLXJldmVhbCBzdHJvbmcsLmJtLWZpbmQtcmV2ZWFsIHNwYW57ZGlzcGxheTpibG9ja30uYm0tZmluZC1yZXZlYWwgc3Ryb25ne2NvbG9yOiNlZmQyOWF9LmJtLWZpbmQtcmV2ZWFsIHNwYW57bWFyZ2luLXRvcDouMzVyZW07Y29sb3I6I2QzZDZjYztmb250LXNpemU6Ljg0cmVtO2xpbmUtaGVpZ2h0OjEuNDV9LmJtLWNsdWUtdG9hc3R7cG9zaXRpb246Zml4ZWQ7bGVmdDo1MCU7Ym90dG9tOjEuNHJlbTt6LWluZGV4OjE1MDt3aWR0aDptaW4oNTIwcHgsODh2dyk7cGFkZGluZzouOHJlbSAxcmVtO2JvcmRlcjoxcHggc29saWQgI2IwOGI0Zjtib3JkZXItcmFkaXVzOjdweDtiYWNrZ3JvdW5kOnJnYmEoMTksMjgsMjcsLjk3KTtjb2xvcjojZWFkNWE3O3RleHQtYWxpZ246Y2VudGVyO2JveC1zaGFkb3c6MCAxMnB4IDM0cHggcmdiYSgwLDAsMCwuNTUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwyNXB4KTtvcGFjaXR5OjA7YW5pbWF0aW9uOmJtVG9hc3QgMy4ycyBlYXNlIGJvdGh9QGtleWZyYW1lcyBibUV4cGxvcmVGYWRle2Zyb217b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyBibUZpbmRSZXZlYWx7ZnJvbXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoN3B4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgYm1Ub2FzdHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDI1cHgpfTEyJSw4MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwwKX0xMDAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTdweCl9fWJvZHkuYm0tYmFja2dyb3VuZHMtb2ZmICNibS1leHBsb3JlLWJ1dHRvbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYShtYXgtd2lkdGg6NzYwcHgpeyNibS1leHBsb3JlLWJ1dHRvbntyaWdodDouNTVyZW07Ym90dG9tOi41NXJlbTtwYWRkaW5nOi42MnJlbSAuNzVyZW19LmJtLWhvdHNwb3QtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5ibS1ob3RzcG90e21pbi1oZWlnaHQ6MTEycHh9fWJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmICNibS1leHBsb3JlLWJ1dHRvbixib2R5LnNldHRpbmctbW90aW9uLW9mZiAjYm0tZXhwbG9yZS1vdmVybGF5LGJvZHkuc2V0dGluZy1tb3Rpb24tb2ZmIC5ibS1maW5kLXJldmVhbCxib2R5LnNldHRpbmctbW90aW9uLW9mZiAuYm0tY2x1ZS10b2FzdHthbmltYXRpb246bm9uZSFpbXBvcnRhbnQ7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudH1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpeyNibS1leHBsb3JlLWJ1dHRvbiwjYm0tZXhwbG9yZS1vdmVybGF5LC5ibS1maW5kLXJldmVhbCwuYm0tY2x1ZS10b2FzdHthbmltYXRpb246bm9uZSFpbXBvcnRhbnQ7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudH19CgovKiBQaGFzZSA1IGV2aWRlbmNlIGNsYXNzaWZpY2F0aW9uIGFuZCBkZWR1Y3Rpb24gbGFiICovCiNibS1kZWR1Y3Rpb24tYnV0dG9ue3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjFyZW07Ym90dG9tOjQuNjVyZW07ei1pbmRleDo4MDtwYWRkaW5nOi42NnJlbSAuOXJlbTtib3JkZXI6MXB4IHNvbGlkICM2ZjkxODk7Ym9yZGVyLXJhZGl1czo3cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoIzI5NDIzZiwjMWQyZDJiKTtjb2xvcjojY2FlMmRjO2ZvbnQ6NzAwIC43M3JlbSBBcmlhbCxzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi4wNjVlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym94LXNoYWRvdzowIDhweCAyNXB4IHJnYmEoMCwwLDAsLjQyKTtjdXJzb3I6cG9pbnRlcn0jYm0tZGVkdWN0aW9uLWJ1dHRvbjpob3Zlcntib3JkZXItY29sb3I6Izk0YjliMDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjMzU1NzUyLCMyMTNhMzYpfSNibS1kZWR1Y3Rpb24tb3ZlcmxheXtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6MTI1O2Rpc3BsYXk6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjFyZW07YmFja2dyb3VuZDpyZ2JhKDIsNiw3LC44Mik7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNXB4KX0jYm0tZGVkdWN0aW9uLW92ZXJsYXkuYm0tb3BlbntkaXNwbGF5OmZsZXh9LmJtLWRlZHVjdGlvbi1wYW5lbHt3aWR0aDptaW4oOTIwcHgsOTZ2dyk7bWF4LWhlaWdodDo5MHZoO292ZXJmbG93OmF1dG87Ym9yZGVyOjFweCBzb2xpZCAjNmY5MTg5O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsIzFhMjUyNCwjMGYxODE5KTtib3gtc2hhZG93OjAgMzBweCA4NXB4IHJnYmEoMCwwLDAsLjcpO2NvbG9yOiNlMWU0ZGF9LmJtLWRlZHVjdGlvbi1oZWFke3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjM7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjFyZW0gMS4xNXJlbTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDExMSwxNDUsMTM3LC4zOCk7YmFja2dyb3VuZDpyZ2JhKDE3LDI3LDI3LC45OCl9LmJtLWRlZHVjdGlvbi1oZWFkIHNwYW57Y29sb3I6IzhlYjZhZTtmb250LXNpemU6LjY1cmVtO2xldHRlci1zcGFjaW5nOi4xM2VtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uYm0tZGVkdWN0aW9uLWhlYWQgaDJ7bWFyZ2luOi4xNXJlbSAwIDA7Y29sb3I6I2VmZDI5YX0uYm0tZGVkdWN0aW9uLWNsb3Nle3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7Ym9yZGVyOjFweCBzb2xpZCAjNjg4MzdlO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzIyMzMzMTtjb2xvcjojZDdlNWRmO2ZvbnQtc2l6ZToxLjE1cmVtO2N1cnNvcjpwb2ludGVyfS5ibS1ldmlkZW5jZS1zdW1tYXJ5e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKTtnYXA6LjU1cmVtO3BhZGRpbmc6MXJlbSAxLjE1cmVtfS5ibS1ldmlkZW5jZS1zdW1tYXJ5IGRpdntwYWRkaW5nOi42NXJlbTtib3JkZXI6MXB4IHNvbGlkICM0ODVlNWE7YmFja2dyb3VuZDpyZ2JhKDM3LDUzLDUxLC42OCk7dGV4dC1hbGlnbjpjZW50ZXJ9LmJtLWV2aWRlbmNlLXN1bW1hcnkgYiwuYm0tZXZpZGVuY2Utc3VtbWFyeSBzcGFue2Rpc3BsYXk6YmxvY2t9LmJtLWV2aWRlbmNlLXN1bW1hcnkgYntjb2xvcjojZWZkMDlhO2ZvbnQtc2l6ZToxLjA1cmVtfS5ibS1ldmlkZW5jZS1zdW1tYXJ5IHNwYW57bWFyZ2luLXRvcDouMnJlbTtjb2xvcjojYWJjMWJjO2ZvbnQtc2l6ZTouNjdyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5ibS10aGVvcnktZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpO2dhcDouNzVyZW07cGFkZGluZzowIDEuMTVyZW0gMS4xNXJlbX0uYm0tdGhlb3J5e3BhZGRpbmc6LjlyZW07Ym9yZGVyOjFweCBzb2xpZCAjNTg2ZDY4O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6cmdiYSgzMCw0Myw0MiwuODIpfS5ibS10aGVvcnkuYm0tc29sdmVke2JvcmRlci1jb2xvcjojOGNhMTZhO2JhY2tncm91bmQ6cmdiYSg0Miw1NSwzNSwuNzgpfS5ibS10aGVvcnkgaDN7bWFyZ2luOi4xcmVtIDAgLjM1cmVtO2NvbG9yOiNlZWQxOWF9LmJtLXRoZW9yeSBwe21hcmdpbjouM3JlbSAwO2NvbG9yOiNjMmNlYzk7Zm9udC1zaXplOi44MXJlbTtsaW5lLWhlaWdodDoxLjQyfS5ibS10aGVvcnktcm9sZXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46LjI1cmVtIDAgLjY1cmVtO3BhZGRpbmc6LjIycmVtIC40NHJlbTtib3JkZXI6MXB4IHNvbGlkICM2YTgyN2Q7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2E5YzljMjtmb250LXNpemU6LjYzcmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDZlbX0uYm0tcmVxdWlyZW1lbnRze2Rpc3BsYXk6Z3JpZDtnYXA6LjM1cmVtO21hcmdpbjouNnJlbSAwfS5ibS1yZXF1aXJlbWVudHtwYWRkaW5nOi40cmVtIC41cmVtO2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjNzk1NzVhO2JhY2tncm91bmQ6cmdiYSg2NywzNiwzOSwuNDIpO2NvbG9yOiNjYmI5Yjc7Zm9udC1zaXplOi43MnJlbX0uYm0tcmVxdWlyZW1lbnQuaGF2ZXtib3JkZXItY29sb3I6IzY2OGI3MTtiYWNrZ3JvdW5kOnJnYmEoMzcsNjgsNDYsLjQyKTtjb2xvcjojYzdkOGNhfS5ibS10ZXN0LXRoZW9yeXt3aWR0aDoxMDAlO3BhZGRpbmc6LjU4cmVtO2JvcmRlcjoxcHggc29saWQgIzkxNzg0ZDtib3JkZXItcmFkaXVzOjVweDtiYWNrZ3JvdW5kOiM0NDM3MjA7Y29sb3I6I2VjZDE5Yztmb250LXdlaWdodDo3MDA7Y3Vyc29yOnBvaW50ZXJ9LmJtLXRlc3QtdGhlb3J5OmRpc2FibGVke2JvcmRlci1jb2xvcjojNTg2MDVhO2JhY2tncm91bmQ6IzJhMzAyZDtjb2xvcjojOGQ5NjkwO2N1cnNvcjpkZWZhdWx0fS5ibS1kZWR1Y3Rpb24tZmVlZGJhY2t7bWFyZ2luOjAgMS4xNXJlbSAxLjFyZW07cGFkZGluZzouOHJlbTtib3JkZXItbGVmdDo0cHggc29saWQgI2E2N2U0NjtiYWNrZ3JvdW5kOnJnYmEoNjksNTAsMjUsLjQ2KTtjb2xvcjojZDlkOGNkfS5ibS1jb21wbGV0aW9uLWxpc3R7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDouNDVyZW07cGFkZGluZzowIDEuMTVyZW0gMS4xNXJlbX0uYm0tbG9jYXRpb24tcHJvZ3Jlc3N7cGFkZGluZzouNTVyZW07Ym9yZGVyOjFweCBzb2xpZCAjNGU2MjVlO2JhY2tncm91bmQ6cmdiYSgzMSw0NSw0MywuNyk7Zm9udC1zaXplOi43MnJlbX0uYm0tbG9jYXRpb24tcHJvZ3Jlc3MuY29tcGxldGV7Ym9yZGVyLWNvbG9yOiM3ZDkwNjQ7YmFja2dyb3VuZDpyZ2JhKDQ2LDU5LDM3LC43KTtjb2xvcjojZDRkZmM4fS5ibS1jYXNlLXJhbmt7bWFyZ2luOjAgMS4xNXJlbSAxLjE1cmVtO3BhZGRpbmc6LjhyZW07Ym9yZGVyOjFweCBzb2xpZCAjOWM4MTRlO2JhY2tncm91bmQ6cmdiYSg2OCw1MSwyOCwuNDUpO3RleHQtYWxpZ246Y2VudGVyfS5ibS1jYXNlLXJhbmsgYntkaXNwbGF5OmJsb2NrO2NvbG9yOiNlZmQwOWE7Zm9udC1zaXplOjEuMDVyZW19LmJtLWNhc2UtcmFuayBzcGFue2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDouMjVyZW07Y29sb3I6I2M4Y2FiYztmb250LXNpemU6Ljc1cmVtfS5ibS1xdWFsaXR5LWJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjouMTZyZW07cGFkZGluZzouMTRyZW0gLjM0cmVtO2JvcmRlcjoxcHggc29saWQgIzU5NzE2ZDtib3JkZXItcmFkaXVzOjNweDtjb2xvcjojYTljOGMyO2ZvbnQtc2l6ZTouNThyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5ibS1wYXlvZmYtdG9hc3R7cG9zaXRpb246Zml4ZWQ7bGVmdDo1MCU7dG9wOjEuMnJlbTt6LWluZGV4OjE2MDt3aWR0aDptaW4oNTgwcHgsOTB2dyk7cGFkZGluZzouODVyZW0gMXJlbTtib3JkZXI6MXB4IHNvbGlkICM5YzgxNGU7Ym9yZGVyLXJhZGl1czo3cHg7YmFja2dyb3VuZDpyZ2JhKDE5LDI4LDI3LC45OCk7Y29sb3I6I2VhZDVhNzt0ZXh0LWFsaWduOmNlbnRlcjtib3gtc2hhZG93OjAgMTJweCAzNXB4IHJnYmEoMCwwLDAsLjU2KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX1AbWVkaWEobWF4LXdpZHRoOjc2MHB4KXsjYm0tZGVkdWN0aW9uLWJ1dHRvbntyaWdodDouNTVyZW07Ym90dG9tOjQuMTVyZW19LmJtLWV2aWRlbmNlLXN1bW1hcnksLmJtLXRoZW9yeS1ncmlkLC5ibS1jb21wbGV0aW9uLWxpc3R7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnJ9fUBtZWRpYShtYXgtd2lkdGg6NDgwcHgpey5ibS1ldmlkZW5jZS1zdW1tYXJ5LC5ibS10aGVvcnktZ3JpZCwuYm0tY29tcGxldGlvbi1saXN0e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQoKLyogUGhhc2UgNSBjb21wbGV0aW9uLCBhcmNoaXZlLCBib251c2VzIGFuZCBicmlkZ2UgKi8KLmdyZWVuLWNoYXB0ZXJ7Ym9yZGVyLWNvbG9yOiM2NTg2NmR9LnBoYXNlNS1wYXlvZmZ7bWFyZ2luOi44cmVtIDA7cGFkZGluZzouOHJlbSAuOXJlbTtib3JkZXItbGVmdDo0cHggc29saWQgIzcxOTM3YTtiYWNrZ3JvdW5kOnJnYmEoMzksNjgsNDgsLjQ4KX0ucGhhc2U1LXBheW9mZiBzdHJvbmd7Y29sb3I6I2Q4ZDM5Y30ucGhhc2U1LXBheW9mZiBwe21hcmdpbjouMzVyZW0gMCAwfS5ibS1hcmNoaXZlLXN1bW1hcnl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpO2dhcDouNTVyZW07bWFyZ2luOjFyZW0gMH0uYm0tYXJjaGl2ZS1zdW1tYXJ5PmRpdntwYWRkaW5nOi42NXJlbTtib3JkZXI6MXB4IHNvbGlkICM1MjZiNjY7YmFja2dyb3VuZDpyZ2JhKDM0LDUyLDQ5LC43Mik7dGV4dC1hbGlnbjpjZW50ZXJ9LmJtLWFyY2hpdmUtc3VtbWFyeSBiLC5ibS1hcmNoaXZlLXN1bW1hcnkgc3BhbntkaXNwbGF5OmJsb2NrfS5ibS1hcmNoaXZlLXN1bW1hcnkgYntjb2xvcjojZWZkMDlhO2ZvbnQtc2l6ZToxLjA1cmVtfS5ibS1hcmNoaXZlLXN1bW1hcnkgc3Bhbntmb250LXNpemU6LjY3cmVtO2NvbG9yOiNhYmMyYmQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5ibS1hcmNoaXZlLWxpc3R7ZGlzcGxheTpncmlkO2dhcDouNTVyZW19LmJtLWFyY2hpdmUtaXRlbXtwYWRkaW5nOi43cmVtIC44cmVtO2JvcmRlcjoxcHggc29saWQgIzRmNjI1ZTtib3JkZXItcmFkaXVzOjZweDtiYWNrZ3JvdW5kOnJnYmEoMjgsNDEsMzksLjc4KX0uYm0tYXJjaGl2ZS1pdGVtIGgze21hcmdpbjowO2NvbG9yOiNlOWNjOTY7Zm9udC1zaXplOi45cmVtfS5ibS1hcmNoaXZlLWl0ZW0gcHttYXJnaW46LjM1cmVtIDA7Y29sb3I6I2M3ZDFjYztmb250LXNpemU6Ljc2cmVtfS5ibS1hcmNoaXZlLXRhZ3N7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDouM3JlbX0uYm0tYXJjaGl2ZS10YWdzIHNwYW57cGFkZGluZzouMTVyZW0gLjM1cmVtO2JvcmRlcjoxcHggc29saWQgIzVlNzc3Mjtib3JkZXItcmFkaXVzOjNweDtjb2xvcjojYTljOWMyO2ZvbnQtc2l6ZTouNTlyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5ibS1hcmNoaXZlLWVtcHR5e3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IGRhc2hlZCAjNjQ3MzZkO3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiNhZWJiYjZ9LmJtLWJvbnVzLWNhcmR7bWFyZ2luOi41NXJlbSAwO3BhZGRpbmc6LjY1cmVtO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjOGU3YTRlO2JhY2tncm91bmQ6cmdiYSg1OSw0OCwyNywuNDgpfS5ibS1ib251cy1jYXJkIGIsLmJtLWJvbnVzLWNhcmQgc3BhbntkaXNwbGF5OmJsb2NrfS5ibS1ib251cy1jYXJkIGJ7Y29sb3I6I2U5Y2Y5OH0uYm0tYm9udXMtY2FyZCBzcGFue21hcmdpbi10b3A6LjJyZW07Y29sb3I6I2NkZDBjMztmb250LXNpemU6Ljc2cmVtfUBtZWRpYShtYXgtd2lkdGg6NjUwcHgpey5ibS1hcmNoaXZlLXN1bW1hcnl7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnJ9fQoKLyogUmVmaW5lZCBnYW1lcGxheSBhdG1vc3BoZXJlOiByZW1vdmUgcGF0dGVybmVkIG92ZXJsYXlzOyByZXRhaW4gcmFyZSByYW5kb21pemVkIHJpbmcgcHVsc2VzICovCiNibS1hdG1vc3BoZXJlIC5ibS1yYWluLCNibS1hdG1vc3BoZXJlIC5ibS1mb2csI2JtLWF0bW9zcGhlcmUgLmJtLWR1c3QsI2JtLWF0bW9zcGhlcmUgLmJtLXJvb3Qtc2hhZG93LCNibS1hdG1vc3BoZXJlIC5ibS1jbG9jay1wdWxzZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50O2FuaW1hdGlvbjpub25lIWltcG9ydGFudH0KI2JtLWF0bW9zcGhlcmUgLmJtLWdsb3d7ZGlzcGxheTpub25lIWltcG9ydGFudH0KI2JtLXJhbmRvbS1yaW5nLXB1bHNle3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6LTE7d2lkdGg6Y2xhbXAoNzJweCw5dncsMTM4cHgpO2hlaWdodDpjbGFtcCg3MnB4LDl2dywxMzhweCk7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7ZmlsdGVyOmJsdXIoMjJweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKC42KTt0cmFuc2l0aW9uOm5vbmV9CiNibS1yYW5kb20tcmluZy1wdWxzZS5ibS1wdWxzZS1wdXJwbGV7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHJnYmEoMTcwLDExMiwyMjYsLjYyKSAwLHJnYmEoMTIzLDY5LDE4NiwuMzQpIDM4JSx0cmFuc3BhcmVudCA3MiUpO2JveC1zaGFkb3c6MCAwIDM4cHggcmdiYSgxNDMsODMsMjExLC4yNCl9CiNibS1yYW5kb20tcmluZy1wdWxzZS5ibS1wdWxzZS1ncmVlbntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSgxMDYsMjE4LDEzMiwuNTgpIDAscmdiYSg1NywxNTksODIsLjMpIDM4JSx0cmFuc3BhcmVudCA3MiUpO2JveC1zaGFkb3c6MCAwIDM4cHggcmdiYSg2NCwxODgsOTEsLjIyKX0KI2JtLXJhbmRvbS1yaW5nLXB1bHNlLmJtLXB1bHNlLXJlZHtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSgyMjIsOTksMTA2LC41OCkgMCxyZ2JhKDE3MSw0Niw1NSwuMzEpIDM4JSx0cmFuc3BhcmVudCA3MiUpO2JveC1zaGFkb3c6MCAwIDM4cHggcmdiYSgxOTYsNjEsNzEsLjIyKX0KI2JtLXJhbmRvbS1yaW5nLXB1bHNlLmJtLXB1bHNlLWFjdGl2ZXthbmltYXRpb246Ym1SYXJlUmluZ1B1bHNlIHZhcigtLWJtLXB1bHNlLWR1cmF0aW9uLDMuMnMpIGVhc2UtaW4tb3V0IGJvdGh9CkBrZXlmcmFtZXMgYm1SYXJlUmluZ1B1bHNlezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoLjU4KX0yNCV7b3BhY2l0eTouMzQ7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKC45Mil9NTIle29wYWNpdHk6LjQ4O3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgxLjA4KX03OCV7b3BhY2l0eTouMjU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKC45Nil9MTAwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKC42OCl9fQpib2R5LmJtLWJhY2tncm91bmRzLW9mZiAjYm0tcmFuZG9tLXJpbmctcHVsc2UsYm9keS5ibS1hdG1vc3BoZXJlLW9mZiAjYm0tcmFuZG9tLXJpbmctcHVsc2V7ZGlzcGxheTpub25lIWltcG9ydGFudH0KYm9keS5ibS1hdG1vc3BoZXJlLXJlZHVjZWQgI2JtLXJhbmRvbS1yaW5nLXB1bHNle2ZpbHRlcjpibHVyKDI1cHgpfQpib2R5LmJtLWF0bW9zcGhlcmUtcmVkdWNlZCAjYm0tcmFuZG9tLXJpbmctcHVsc2UuYm0tcHVsc2UtYWN0aXZle2FuaW1hdGlvbi1kdXJhdGlvbjoyLjRzO29wYWNpdHk6LjIyfQpib2R5LnNldHRpbmctbW90aW9uLW9mZiAjYm0tcmFuZG9tLXJpbmctcHVsc2V7ZGlzcGxheTpub25lIWltcG9ydGFudH0KQG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsjYm0tcmFuZG9tLXJpbmctcHVsc2V7ZGlzcGxheTpub25lIWltcG9ydGFudH19CkBtZWRpYShtYXgtd2lkdGg6MTEzNnB4KXsjYm0tcmFuZG9tLXJpbmctcHVsc2V7ei1pbmRleDotMX19CgovKiBQaGFzZSA2QSBncmVlbi1yaW5nIGludmVzdGlnYXRpb24gKi8KLnBoYXNlNi1hZHZhbnRhZ2UsLnBoYXNlNi1oaW50LC5waGFzZTYtc3VjY2Vzc3ttYXJnaW46Ljc1cmVtIDA7cGFkZGluZzouNzVyZW0gLjg1cmVtO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjNjlhMjc2O2JhY2tncm91bmQ6cmdiYSgzNCw3Myw0NiwuNDgpfS5waGFzZTYtYWR2YW50YWdlIHN0cm9uZywucGhhc2U2LWhpbnQgc3Ryb25nLC5waGFzZTYtc3VjY2VzcyBzdHJvbmcsLnBoYXNlNi1hZHZhbnRhZ2Ugc3BhbiwucGhhc2U2LWhpbnQgc3BhbntkaXNwbGF5OmJsb2NrfS5waGFzZTYtYWR2YW50YWdlIHN0cm9uZywucGhhc2U2LWhpbnQgc3Ryb25ne2NvbG9yOiNkNGRkYTd9LnBoYXNlNi1hZHZhbnRhZ2Ugc3BhbiwucGhhc2U2LWhpbnQgc3BhbnttYXJnaW4tdG9wOi4yNXJlbTtjb2xvcjojYzlkOWNjO2ZvbnQtc2l6ZTouNzlyZW19LmdyZWVuLWxvY2t7Ym9yZGVyLWNvbG9yOiM3Mzk4NzUhaW1wb3J0YW50O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZyxyZ2JhKDI5LDU4LDM5LC44OCkscmdiYSgyMCwzNywzMSwuOTMpKSFpbXBvcnRhbnR9LmxvY2stY29udHJvbHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDouNXJlbTttYXJnaW46LjhyZW0gMH0ubG9jay1jb250cm9scz5kaXZ7cGFkZGluZzouNjVyZW07Ym9yZGVyOjFweCBzb2xpZCAjNTI3NTViO2JhY2tncm91bmQ6cmdiYSgyMiw0NywzMSwuNjUpfS5sb2NrLWNvbnRyb2xzIGIsLmxvY2stY29udHJvbHMgc3BhbntkaXNwbGF5OmJsb2NrfS5sb2NrLWNvbnRyb2xzIGJ7Y29sb3I6I2Q3ZDk5ZX0ubG9jay1jb250cm9scyBzcGFue21hcmdpbi10b3A6LjJyZW07Y29sb3I6I2I5Y2NiOTtmb250LXNpemU6LjcycmVtfUBtZWRpYShtYXgtd2lkdGg6NjUwcHgpey5sb2NrLWNvbnRyb2xze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQoKLyogUGhhc2UgNkIgYXJjaGl2ZSwgcm91dGluZywgYW5kIENhcmEgZW5jb3VudGVyICovCi5hcmNoaXZlLXByb2dyZXNze21hcmdpbjouN3JlbSAwO3BhZGRpbmc6LjU1cmVtIC43cmVtO2JvcmRlcjoxcHggc29saWQgIzVlODQ2ODtiYWNrZ3JvdW5kOnJnYmEoMzEsNjQsNDIsLjUpO2NvbG9yOiNkM2RmYTk7Zm9udC13ZWlnaHQ6NzAwfS5ldmlkZW5jZS1maW5ke21hcmdpbjouOHJlbSAwO3BhZGRpbmc6Ljg1cmVtO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjNzhhMTdiO2JhY2tncm91bmQ6cmdiYSgzNCw3MCw0NSwuNTIpfS5ldmlkZW5jZS1maW5kIGIsLmV2aWRlbmNlLWZpbmQgc3BhbntkaXNwbGF5OmJsb2NrfS5ldmlkZW5jZS1maW5kIGJ7Y29sb3I6I2UzZDdhMn0uZXZpZGVuY2UtZmluZCBzcGFue21hcmdpbi10b3A6LjNyZW07Y29sb3I6I2NmZGJjZn0ucm91dGUtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOi41NXJlbTttYXJnaW46LjhyZW0gMH0ucm91dGUtZ3JpZD5kaXZ7cGFkZGluZzouNzVyZW07Ym9yZGVyOjFweCBzb2xpZCAjNTU3NjVkO2JhY2tncm91bmQ6cmdiYSgyNSw1NCwzNiwuNjIpfS5yb3V0ZS1ncmlkIGIsLnJvdXRlLWdyaWQgc3BhbntkaXNwbGF5OmJsb2NrfS5yb3V0ZS1ncmlkIGJ7Y29sb3I6I2Q4ZGNhM30ucm91dGUtZ3JpZCBzcGFue21hcmdpbi10b3A6LjI1cmVtO2NvbG9yOiNiOWNiYmI7Zm9udC1zaXplOi43NHJlbX0uY2FyYS10cnVzdHttYXJnaW46LjdyZW0gMDtwYWRkaW5nOi42NXJlbTtib3JkZXItbGVmdDo0cHggc29saWQgIzg5YTk2NjtiYWNrZ3JvdW5kOnJnYmEoNTAsNzIsMzgsLjUyKTtjb2xvcjojZGFlMmJhfUBtZWRpYShtYXgtd2lkdGg6NjUwcHgpey5yb3V0ZS1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQoKLyogUGhhc2UgNkMgRm91cnRoLU5hbWUgQ2hhbWJlciBhbmQgY29tcGxldGVkIG1pbGVzdG9uZSAqLwoucmVjb3JkLWZyYWdtZW50e21hcmdpbjoxcmVtIDA7cGFkZGluZzouOXJlbTtib3JkZXI6MXB4IHNvbGlkICM4YTc0NGE7YmFja2dyb3VuZDpyZ2JhKDU3LDQ1LDI1LC42Mik7Y29sb3I6I2VkZDU5ZTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDo4MDA7bGV0dGVyLXNwYWNpbmc6LjA4ZW19LnJlc3VsdHMtc2VjdGlvbiB1bHtsaW5lLWhlaWdodDoxLjZ9CgovKiBQYXNzYWdlLWludGVncmF0ZWQgZXZpZGVuY2Ugc2tldGNoZXMgKi8KLmV2aWRlbmNlLXNrZXRjaHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOm1pbigzOCUsMzIwcHgpO21hcmdpbjoxcmVtIDAgMXJlbSAxLjI1cmVtO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDlweCA5cHggcmdiYSgwLDAsMCwuNSkpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpldmlkZW5jZVNrZXRjaEluIC41NXMgZWFzZS1vdXQgYm90aDt6LWluZGV4OjF9LmV2aWRlbmNlLXNrZXRjaC5sZWZ0e2Zsb2F0OmxlZnQ7bWFyZ2luOjFyZW0gMS4zNXJlbSAxcmVtIDB9LmV2aWRlbmNlLXNrZXRjaC5yaWdodHtmbG9hdDpyaWdodH0uZXZpZGVuY2Utc2tldGNoLndpZGV7d2lkdGg6bWluKDQ0JSwzNzBweCl9LmV2aWRlbmNlLXNrZXRjaCBpbWd7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDphdXRvO2JvcmRlci1yYWRpdXM6MnB4fS5ldmlkZW5jZS1za2V0Y2gudGlsdC1uMnt0cmFuc2Zvcm06cm90YXRlKC0xLjhkZWcpfS5ldmlkZW5jZS1za2V0Y2gudGlsdC1uMXt0cmFuc2Zvcm06cm90YXRlKC0uOGRlZyl9LmV2aWRlbmNlLXNrZXRjaC50aWx0LXAxe3RyYW5zZm9ybTpyb3RhdGUoLjlkZWcpfS5ldmlkZW5jZS1za2V0Y2gudGlsdC1wMnt0cmFuc2Zvcm06cm90YXRlKDEuN2RlZyl9LnBhc3NhZ2U6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlO2NsZWFyOmJvdGh9QGtleWZyYW1lcyBldmlkZW5jZVNrZXRjaElue2Zyb217b3BhY2l0eTowO3RyYW5zbGF0ZTowIDhweH10b3tvcGFjaXR5OjE7dHJhbnNsYXRlOjAgMH19QG1lZGlhKG1heC13aWR0aDo3MDBweCl7LmV2aWRlbmNlLXNrZXRjaCwuZXZpZGVuY2Utc2tldGNoLmxlZnQsLmV2aWRlbmNlLXNrZXRjaC5yaWdodCwuZXZpZGVuY2Utc2tldGNoLndpZGV7ZmxvYXQ6bm9uZTt3aWR0aDptaW4oODglLDQ0MHB4KTttYXJnaW46MS4wNXJlbSBhdXRvIDEuMnJlbX19QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuZXZpZGVuY2Utc2tldGNoe2FuaW1hdGlvbjpub25lfX0KCi8qIFRyYW5zcGFyZW50IHBhcGVyLW9ubHkgZXZpZGVuY2Ugc2tldGNoZXMgKi8KLmV2aWRlbmNlLXNrZXRjaC50cmFuc3BhcmVudC1wYXBlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fS5ldmlkZW5jZS1za2V0Y2gudHJhbnNwYXJlbnQtcGFwZXIgaW1ne2JhY2tncm91bmQ6dHJhbnNwYXJlbnQhaW1wb3J0YW50O2JvcmRlcjowIWltcG9ydGFudDtmaWx0ZXI6ZHJvcC1zaGFkb3coMCA4cHggN3B4IHJnYmEoMCwwLDAsLjQ4KSl9CgovKiBIaWdoLWNvbnRyYXN0IHB1enpsZSBhbmQgZm9ybS1lbnRyeSBjb250cm9scyAqLwoucGFzc2FnZSBpbnB1dDpub3QoW3R5cGU9ImJ1dHRvbiJdKTpub3QoW3R5cGU9InN1Ym1pdCJdKTpub3QoW3R5cGU9InJlc2V0Il0pOm5vdChbdHlwZT0iY2hlY2tib3giXSk6bm90KFt0eXBlPSJyYWRpbyJdKTpub3QoW3R5cGU9InJhbmdlIl0pOm5vdChbdHlwZT0iY29sb3IiXSksCi5wYXNzYWdlIHRleHRhcmVhLAoucGFzc2FnZSBzZWxlY3QsCiNwYXNzYWdlcyBpbnB1dDpub3QoW3R5cGU9ImJ1dHRvbiJdKTpub3QoW3R5cGU9InN1Ym1pdCJdKTpub3QoW3R5cGU9InJlc2V0Il0pOm5vdChbdHlwZT0iY2hlY2tib3giXSk6bm90KFt0eXBlPSJyYWRpbyJdKTpub3QoW3R5cGU9InJhbmdlIl0pOm5vdChbdHlwZT0iY29sb3IiXSksCiNwYXNzYWdlcyB0ZXh0YXJlYSwKI3Bhc3NhZ2VzIHNlbGVjdCB7CiAgY29sb3I6ICMxNzEyMGIgIWltcG9ydGFudDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOGU3ICFpbXBvcnRhbnQ7CiAgYm9yZGVyOiAycHggc29saWQgI2Q1YWQ1OSAhaW1wb3J0YW50OwogIGNhcmV0LWNvbG9yOiAjOGIxZTJkICFpbXBvcnRhbnQ7CiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICMxNzEyMGIgIWltcG9ydGFudDsKICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7CiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoNTgsMzksMTMsLjIyKSwgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjE2KSAhaW1wb3J0YW50Owp9Ci5wYXNzYWdlIGlucHV0OjpwbGFjZWhvbGRlciwKLnBhc3NhZ2UgdGV4dGFyZWE6OnBsYWNlaG9sZGVyLAojcGFzc2FnZXMgaW5wdXQ6OnBsYWNlaG9sZGVyLAojcGFzc2FnZXMgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogIzZkNjI1MyAhaW1wb3J0YW50OwogIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjNmQ2MjUzICFpbXBvcnRhbnQ7CiAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDsKfQoucGFzc2FnZSBpbnB1dDpmb2N1cywKLnBhc3NhZ2UgdGV4dGFyZWE6Zm9jdXMsCi5wYXNzYWdlIHNlbGVjdDpmb2N1cywKI3Bhc3NhZ2VzIGlucHV0OmZvY3VzLAojcGFzc2FnZXMgdGV4dGFyZWE6Zm9jdXMsCiNwYXNzYWdlcyBzZWxlY3Q6Zm9jdXMgewogIGNvbG9yOiAjMDgwNjA0ICFpbXBvcnRhbnQ7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmRmNSAhaW1wb3J0YW50OwogIGJvcmRlci1jb2xvcjogI2YwYzg2OSAhaW1wb3J0YW50OwogIGNhcmV0LWNvbG9yOiAjYjAwMDIwICFpbXBvcnRhbnQ7CiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICMwODA2MDQgIWltcG9ydGFudDsKICBvdXRsaW5lOiAzcHggc29saWQgcmdiYSgyNDAsMjAwLDEwNSwuMzgpICFpbXBvcnRhbnQ7CiAgb3V0bGluZS1vZmZzZXQ6IDJweCAhaW1wb3J0YW50OwogIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCByZ2JhKDU4LDM5LDEzLC4xOCksIDAgMCAwIDRweCByZ2JhKDI0MCwyMDAsMTA1LC4xNSkgIWltcG9ydGFudDsKfQoucGFzc2FnZSBpbnB1dDo6c2VsZWN0aW9uLAoucGFzc2FnZSB0ZXh0YXJlYTo6c2VsZWN0aW9uLAojcGFzc2FnZXMgaW5wdXQ6OnNlbGVjdGlvbiwKI3Bhc3NhZ2VzIHRleHRhcmVhOjpzZWxlY3Rpb24gewogIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7CiAgYmFja2dyb3VuZDogIzdmMjk0MCAhaW1wb3J0YW50OwogIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7Cn0KLnBhc3NhZ2UgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCwKLnBhc3NhZ2UgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlciwKLnBhc3NhZ2UgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cywKI3Bhc3NhZ2VzIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsCiNwYXNzYWdlcyBpbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLAojcGFzc2FnZXMgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7CiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICMxNzEyMGIgIWltcG9ydGFudDsKICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwMDBweCAjZmZmOGU3IGluc2V0ICFpbXBvcnRhbnQ7CiAgYm94LXNoYWRvdzogMCAwIDAgMTAwMHB4ICNmZmY4ZTcgaW5zZXQgIWltcG9ydGFudDsKICBjYXJldC1jb2xvcjogIzhiMWUyZCAhaW1wb3J0YW50Owp9Ci5wYXNzYWdlIGlucHV0OmRpc2FibGVkLAoucGFzc2FnZSB0ZXh0YXJlYTpkaXNhYmxlZCwKI3Bhc3NhZ2VzIGlucHV0OmRpc2FibGVkLAojcGFzc2FnZXMgdGV4dGFyZWE6ZGlzYWJsZWQgewogIGNvbG9yOiAjNGQ0NjNjICFpbXBvcnRhbnQ7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDBiZiAhaW1wb3J0YW50OwogIGJvcmRlci1jb2xvcjogIzg1N2E2NyAhaW1wb3J0YW50OwogIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjNGQ0NjNjICFpbXBvcnRhbnQ7CiAgb3BhY2l0eTogMSAhaW1wb3J0YW50Owp9CkBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkgewogIC5wYXNzYWdlIGlucHV0Om5vdChbdHlwZT0iYnV0dG9uIl0pOm5vdChbdHlwZT0ic3VibWl0Il0pLAogIC5wYXNzYWdlIHRleHRhcmVhLAogICNwYXNzYWdlcyBpbnB1dDpub3QoW3R5cGU9ImJ1dHRvbiJdKTpub3QoW3R5cGU9InN1Ym1pdCJdKSwKICAjcGFzc2FnZXMgdGV4dGFyZWEgewogICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7CiAgICBtaW4taGVpZ2h0OiA0NnB4OwogIH0KfQoKLmJtLWRldi1zaG9ydGN1dHttYXJnaW46MXJlbSBhdXRvIDA7bWF4LXdpZHRoOjYwcmVtO3BhZGRpbmc6LjVyZW0gLjc1cmVtO2JvcmRlcjoxcHggZGFzaGVkICM4YjZmNDc7YmFja2dyb3VuZDpyZ2JhKDI1LDIwLDE1LC44Mik7Zm9udC1zaXplOi44NXJlbX0uYm0tZGV2LXNob3J0Y3V0IGF7Y29sb3I6I2UwYzQ5M30uYm0tZGV2LXBhc3NhZ2UtbGlzdHttYXgtaGVpZ2h0OjY1dmg7b3ZlcmZsb3c6YXV0bztwYWRkaW5nOjFyZW07Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE4MCwxNTAsMTAwLC4zNSl9CgoudjQtY2hlY2stcm93e3BhZGRpbmc6LjU1cmVtIC43cmVtO21hcmdpbjouMzVyZW0gMDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTgwLDE1MCwxMDAsLjI1KTtiYWNrZ3JvdW5kOnJnYmEoMjAsMTYsMTIsLjU1KX0udjQtcGFzcywudjQtb3BlbntkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6My40cmVtO21hcmdpbi1yaWdodDouNTVyZW07Zm9udC13ZWlnaHQ6NzAwfS52NC1wYXNze2NvbG9yOiM5OGNmOWF9LnY0LW9wZW57Y29sb3I6I2UwYzQ5M30udjQtbm90ZXtwYWRkaW5nOi43cmVtO2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjOGI2ZjQ3fQoKLnY0MS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDdyZW0sLjdmcikgMWZyIDFmcjtnYXA6MXB4O2JhY2tncm91bmQ6cmdiYSgxODAsMTUwLDEwMCwuMyk7bWFyZ2luOjFyZW0gMH0udjQxLWdyaWQ+ZGl2e3BhZGRpbmc6LjVyZW07YmFja2dyb3VuZDpyZ2JhKDIwLDE2LDEyLC45NCk7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX1AbWVkaWEobWF4LXdpZHRoOjY1MHB4KXsudjQxLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0udjQxLWdyaWQ+ZGl2Om50aC1jaGlsZCgzbisxKXtmb250LXdlaWdodDo3MDA7Y29sb3I6I2UwYzQ5MzttYXJnaW4tdG9wOi40cmVtfX0KCi52NDItd2FybmluZ3twYWRkaW5nOi44NXJlbSAxcmVtO21hcmdpbjoxcmVtIDA7Ym9yZGVyOjFweCBzb2xpZCAjOWI3MTQ4O2JhY2tncm91bmQ6cmdiYSg5MCw0OCwyNSwuMzIpfS52NDItcHJvZmlsZXttYXgtaGVpZ2h0OjI3cmVtO292ZXJmbG93OmF1dG87d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTtwYWRkaW5nOjFyZW07YmFja2dyb3VuZDpyZ2JhKDEyLDEwLDgsLjkpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxODAsMTUwLDEwMCwuMyl9CgoudjQzLWhlYWQsLnY0My1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczouN2ZyIDEuMzVmciAxLjJmciAuNDVmcjtnYXA6MXB4O2JhY2tncm91bmQ6cmdiYSgxODAsMTUwLDEwMCwuMjgpfS52NDMtaGVhZHtmb250LXdlaWdodDo3MDA7bWFyZ2luLXRvcDoxcmVtfS52NDMtaGVhZD5kaXYsLnY0My1yb3c+ZGl2e3BhZGRpbmc6LjU1cmVtO2JhY2tncm91bmQ6cmdiYSgyMCwxNiwxMiwuOTQpO292ZXJmbG93LXdyYXA6YW55d2hlcmV9LnY0My1yb3cgc3BhbntkaXNwbGF5OmJsb2NrfUBtZWRpYShtYXgtd2lkdGg6NzIwcHgpey52NDMtaGVhZHtkaXNwbGF5Om5vbmV9LnY0My1yb3d7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjttYXJnaW46LjY1cmVtIDA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE4MCwxNTAsMTAwLC4yOCl9fQoKLnY0NC1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczouNjVmciAxLjI1ZnIgMS4zZnIgLjZmcjtnYXA6MXB4O2JhY2tncm91bmQ6cmdiYSgxODAsMTUwLDEwMCwuMjgpfS52NDQtcm93PmRpdntwYWRkaW5nOi41NXJlbTtiYWNrZ3JvdW5kOnJnYmEoMjAsMTYsMTIsLjk0KTtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS52NDQtcm93IHNwYW4sLnY0NC1yb3cgc21hbGx7ZGlzcGxheTpibG9ja31AbWVkaWEobWF4LXdpZHRoOjcyMHB4KXsudjQ0LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO21hcmdpbjouNjVyZW0gMDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTgwLDE1MCwxMDAsLjI4KX19CgoudjQ1LWNhcmR7bWFyZ2luOjFyZW0gMDtwYWRkaW5nOjFyZW07Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE4MCwxNTAsMTAwLC4zNSk7YmFja2dyb3VuZDpyZ2JhKDIwLDE2LDEyLC43Nil9LnY0NS1jYXJkIGgye21hcmdpbi10b3A6MH0udjQ1LWhlYWx0aHttYXJnaW4tbGVmdDouNXJlbTtjb2xvcjojZDZjNGExfS52NDUtaGVhbHRoLXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOi41NWZyIDEuNWZyIC41NWZyO2dhcDoxcHg7YmFja2dyb3VuZDpyZ2JhKDE4MCwxNTAsMTAwLC4yNSk7bWFyZ2luOi4xNXJlbSAwfS52NDUtaGVhbHRoLXJvdz4qe3BhZGRpbmc6LjVyZW07YmFja2dyb3VuZDpyZ2JhKDIwLDE2LDEyLC45NCl9QG1lZGlhKG1heC13aWR0aDo2NTBweCl7LnY0NS1oZWFsdGgtcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQoKLnN0YWZmLWJ1aWxke3BhZGRpbmc6LjZyZW0gLjhyZW07Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICM4YjZmNDc7YmFja2dyb3VuZDpyZ2JhKDIwLDE2LDEyLC42NSl9LnN0YWZmLWNvbnNvbGUtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpO2dhcDoxcmVtfS5zdGFmZi1jb25zb2xlLWdyaWQgc2VjdGlvbntwYWRkaW5nOjFyZW07Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE4MCwxNTAsMTAwLC4zKTtiYWNrZ3JvdW5kOnJnYmEoMjAsMTYsMTIsLjcyKX0uc3RhZmYtY29uc29sZS1ncmlkIGgye21hcmdpbi10b3A6MH0uc3RhZmYtY29uc29sZS1mb290ZXJ7bWFyZ2luLXRvcDoxcmVtfS5yYy1jaGVja3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjRyZW0gMWZyO2dhcDouNnJlbTtwYWRkaW5nOi41NXJlbSAuN3JlbTttYXJnaW46LjNyZW0gMDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTgwLDE1MCwxMDAsLjI1KTtiYWNrZ3JvdW5kOnJnYmEoMjAsMTYsMTIsLjU1KX1AbWVkaWEobWF4LXdpZHRoOjcwMHB4KXsuc3RhZmYtY29uc29sZS1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQoKLmNvbnNlcXVlbmNlLWNhbGxiYWNre21hcmdpbjoxcmVtIDA7cGFkZGluZzouODVyZW0gMXJlbTtib3JkZXItbGVmdDozcHggc29saWQgIzhiNmY0NztiYWNrZ3JvdW5kOnJnYmEoNTIsNDEsMjgsLjU2KX0uY29uc2VxdWVuY2UtcmVzdWx0c3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoMTVyZW0sMWZyKSk7Z2FwOi43cmVtfS5jb25zZXF1ZW5jZS1jYXJke2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOi4zNXJlbTtwYWRkaW5nOi44cmVtO2JvcmRlcjoxcHggc29saWQgcmdiYSgxODAsMTUwLDEwMCwuMyk7YmFja2dyb3VuZDpyZ2JhKDIwLDE2LDEyLC42NSl9LmNvbnNlcXVlbmNlLWNhcmQgc3Bhbntjb2xvcjojZDZjNGExfS5jb25zZXF1ZW5jZS1jYXJkIHNtYWxse29wYWNpdHk6Ljc2fQoKLmNhc2UyLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDE3cmVtLDFmcikpO2dhcDoxcmVtfS5jYXNlMi1ncmlkIGFydGljbGV7cGFkZGluZzoxcmVtO2JvcmRlcjoxcHggc29saWQgcmdiYSgxODAsMTUwLDEwMCwuMzUpO2JhY2tncm91bmQ6cmdiYSgyMCwxNiwxMiwuNzIpfS5jYXNlMi1ncmlkIGgye21hcmdpbi10b3A6MH0KCi5rbm93bGVkZ2Utc2hhcmUtbGlzdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoMThyZW0sMWZyKSk7Z2FwOjFyZW19Lmtub3dsZWRnZS1zaGFyZS1saXN0IGFydGljbGV7cGFkZGluZzoxcmVtO2JvcmRlcjoxcHggc29saWQgcmdiYSgxODAsMTUwLDEwMCwuMzUpO2JhY2tncm91bmQ6cmdiYSgyMCwxNiwxMiwuNzIpfS5rbm93bGVkZ2Utc2hhcmUtbGlzdCBoMnttYXJnaW4tdG9wOjB9CgouYWJpbGl0eS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgxN3JlbSwxZnIpKTtnYXA6MXJlbX0uYWJpbGl0eS1ncmlkIGFydGljbGV7cGFkZGluZzoxcmVtO2JvcmRlcjoxcHggc29saWQgcmdiYSgxODAsMTUwLDEwMCwuMzUpO2JhY2tncm91bmQ6cmdiYSgyMCwxNiwxMiwuNzIpfS5hYmlsaXR5LWdyaWQgaDJ7bWFyZ2luLXRvcDowfS5hYmlsaXR5LWxpc3R7bGluZS1oZWlnaHQ6Mn0KCi5hdHRlbnRpb24tcmVhY3Rpb257bWFyZ2luOjFyZW0gMDtwYWRkaW5nOi45cmVtIDFyZW07Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyMCw5Miw3MiwuNTUpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjNzA0NDQzO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoNjUsMzIsMzYsLjU1KSxyZ2JhKDIwLDE2LDEyLC40NSkpO2NvbG9yOiNlM2Q2YzV9CgouZW5kaW5nLW1hdHJpeHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpO2dhcDoxcmVtO21hcmdpbjoxcmVtIDB9LmVuZGluZy1tYXRyaXggYXJ0aWNsZXtwYWRkaW5nOjFyZW07Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE4MCwxNTAsMTAwLC4zNSk7YmFja2dyb3VuZDpyZ2JhKDIwLDE2LDEyLC43Mil9LmVuZGluZy1tYXRyaXggaDJ7bWFyZ2luLXRvcDowfS5lbmRpbmctbWF0cml4IHN0cm9uZ3tmb250LXNpemU6MS4xNXJlbTtjb2xvcjojZTFjOTk1fS5lbmRpbmctZXBpbG9ndWV7bWFyZ2luOjEuMnJlbSAwO3BhZGRpbmc6MS4xcmVtO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjNzA0NDQzO2JhY2tncm91bmQ6cmdiYSg1NCwzMSwzNCwuNDgpfUBtZWRpYShtYXgtd2lkdGg6NzIwcHgpey5lbmRpbmctbWF0cml4e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQoKLnJlbGVhc2UtY2hlY2stZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoMThyZW0sMWZyKSk7Z2FwOjFyZW19LnJlbGVhc2UtY2hlY2stZ3JpZCBhcnRpY2xle3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTgwLDE1MCwxMDAsLjM1KTtiYWNrZ3JvdW5kOnJnYmEoMjAsMTYsMTIsLjcyKX0ucmVsZWFzZS1jaGVjay1ncmlkIGgye21hcmdpbi10b3A6MH0KCgoKLmxlZ2FsLW5vdGljZXttYXgtd2lkdGg6NTZyZW07bWFyZ2luOjAgYXV0b30KLmxlZ2FsLW5vdGljZSBzZWN0aW9ue21hcmdpbjoxcmVtIDA7cGFkZGluZzoxcmVtO2JvcmRlcjoxcHggc29saWQgcmdiYSgxODAsMTUwLDEwMCwuMjgpO2JhY2tncm91bmQ6cmdiYSgyMCwxNiwxMiwuNjIpfQoubGVnYWwtbm90aWNlIGgye21hcmdpbi10b3A6MDtjb2xvcjojZTBjNDkzfQoubGVnYWwtdXBkYXRlZHtvcGFjaXR5Oi44Mn0KLmxlZ2FsLWNhdXRpb257bWFyZ2luOjEuMjVyZW0gMDtwYWRkaW5nOjFyZW07Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICM5YjcxNDg7YmFja2dyb3VuZDpyZ2JhKDkwLDQ4LDI1LC4zKX0KCi8qIEJ1aWxkIDUuMTMuMSB2aXNpYmxlIHNpZGViYXIgbWVudSBidXR0b25zICovCgoKLmJtLXN0YXJ0LXByaXZhY3ktbGluayBhe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7dGV4dC11bmRlcmxpbmUtb2Zmc2V0Oi4yZW19Ci5sZWdhbC1yZXR1cm4tYWN0aW9uc3twb3NpdGlvbjpzdGlja3k7Ym90dG9tOi41cmVtO3BhZGRpbmc6Ljc1cmVtO2JhY2tncm91bmQ6cmdiYSgxOCwxNCwxMiwuOTQpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxODAsMTUwLDEwMCwuMyk7ei1pbmRleDoyfQpAbWVkaWEobWF4LXdpZHRoOjY0MHB4KXsubGVnYWwtbm90aWNlIHNlY3Rpb257cGFkZGluZzouODVyZW19LmxlZ2FsLXJldHVybi1hY3Rpb25ze3Bvc2l0aW9uOnN0YXRpY319CgovKiBCdWlsZCA1LjEzLjIgZGV2ZWxvcGVyIGJ1dHRvbiBsaW5lIGZpeCAqLwoKCgoKLyogQnVpbGQgNS4xMy41IHByaXZhY3kgaWNvbiBhbmQgc2luZ2xlLWxpbmUgbGFiZWwgKi8KI21lbnUtc3RvcnkgYTpoYXMoLmJtLXByaXZhY3ktbWVudS1sYWJlbCksCiNtZW51LXN0b3J5IGE6aGFzKC5ibS1kZXZlbG9wZXItbWVudS1sYWJlbCl7CiAgICB3aGl0ZS1zcGFjZTpub3dyYXAhaW1wb3J0YW50Owp9CiNtZW51LXN0b3J5IC5ibS1wcml2YWN5LW1lbnUtbGFiZWwsCiNtZW51LXN0b3J5IC5ibS1kZXZlbG9wZXItbWVudS1sYWJlbHsKICAgIGRpc3BsYXk6aW5saW5lIWltcG9ydGFudDsKICAgIHdpZHRoOmF1dG8haW1wb3J0YW50OwogICAgd2hpdGUtc3BhY2U6bm93cmFwIWltcG9ydGFudDsKfQojbWVudS1zdG9yeSBhOmhhcyguYm0tcHJpdmFjeS1tZW51LWxhYmVsKTo6YmVmb3JlewogICAgY29udGVudDoiaSIhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDojNDY1ZjcyIWltcG9ydGFudDsKfQojbWVudS1zdG9yeSBhOmhhcyguYm0tZGV2ZWxvcGVyLW1lbnUtbGFiZWwpOjpiZWZvcmV7CiAgICBjb250ZW50OiJEIiFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiM2YTU2NDAhaW1wb3J0YW50Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDgwcHgpewogICAgI21lbnUtc3RvcnkgYTpoYXMoLmJtLXByaXZhY3ktbWVudS1sYWJlbCl7CiAgICAgICAgZm9udC1zaXplOi43OHJlbSFpbXBvcnRhbnQ7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6LS4wMWVtIWltcG9ydGFudDsKICAgICAgICBwYWRkaW5nLWxlZnQ6My4zNXJlbSFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZy1yaWdodDouMzVyZW0haW1wb3J0YW50OwogICAgfQogICAgI21lbnUtc3RvcnkgYTpoYXMoLmJtLXByaXZhY3ktbWVudS1sYWJlbCk6OmJlZm9yZXsKICAgICAgICBsZWZ0Oi42NXJlbSFpbXBvcnRhbnQ7CiAgICAgICAgd2lkdGg6MS45cmVtIWltcG9ydGFudDsKICAgICAgICBoZWlnaHQ6MS45cmVtIWltcG9ydGFudDsKICAgIH0KfQoKLyogQnVpbGQgNS4xNCBhdG1vc3BoZXJpYyBtYW5pZmVzdGF0aW9uICovCi5oYXVudGluZy1hdG1vc3BoZXJle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDouOHJlbTttYXJnaW46MXJlbSAwO3BhZGRpbmc6LjlyZW0gMXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTQxLDExMSw5MSwuNSk7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICM3MDQ0NDM7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSg2NSwzMiwzNiwuNTgpLHJnYmEoMjAsMTYsMTIsLjQ4KSk7Y29sb3I6I2U4ZGNjYjtib3gtc2hhZG93OjAgLjM1cmVtIDFyZW0gcmdiYSgwLDAsMCwuMTgpfQouaGF1bnRpbmctYXRtb3NwaGVyZSBwe21hcmdpbjowO2ZvbnQtc3R5bGU6aXRhbGljO2xpbmUtaGVpZ2h0OjEuNTV9LmhhdW50aW5nLW1hcmt7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIDEuN3JlbTtoZWlnaHQ6MS43cmVtO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzcwNDQ0Mztjb2xvcjojZmZmMWQ1O2ZvbnQtd2VpZ2h0OjgwMH0KCi8qIEJ1aWxkIDUuMTUgaW50ZXJhY3RpdmUgbWFuaWZlc3RhdGlvbiAqLwouaGF1bnRpbmctaW50ZXJydXB0aW9ue2Rpc3BsYXk6ZmxleDtnYXA6LjlyZW07YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXJnaW46MXJlbSAwO3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTYxLDEwOSw4OSwuNjIpO2JvcmRlci1sZWZ0OjVweCBzb2xpZCAjOGIzYzQzO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEwMGRlZyxyZ2JhKDgyLDI4LDM5LC43NikscmdiYSgyMSwxNiwxNCwuNjUpKTtib3gtc2hhZG93OjAgLjVyZW0gMS40cmVtIHJnYmEoMCwwLDAsLjI4KX0uaGF1bnRpbmctaW50ZXJydXB0aW9uIHB7bWFyZ2luOi4yNXJlbSAwIC43cmVtfS5oYXVudGluZy1pbnRlcnJ1cHRpb24taWNvbntkaXNwbGF5OmZsZXg7ZmxleDowIDAgMnJlbTtoZWlnaHQ6MnJlbTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiM4YjNjNDM7Y29sb3I6I2ZmZjFkNTtmb250LXdlaWdodDo5MDB9CgovKiBCdWlsZCA1LjE2IExvc3QgTWludXRlICovCi5sb3N0LW1pbnV0ZS10cmlnZ2Vye2Rpc3BsYXk6ZmxleDtnYXA6MXJlbTthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O21hcmdpbjoxcmVtIDA7cGFkZGluZzoxcmVtO2JvcmRlcjoxcHggc29saWQgcmdiYSgxODAsMTgwLDE5MCwuNSk7Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICM5NWEwYWQ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTAwZGVnLHJnYmEoNDYsNTEsNjEsLjg2KSxyZ2JhKDE4LDE4LDIxLC43NSkpO2JveC1zaGFkb3c6MCAuNnJlbSAxLjVyZW0gcmdiYSgwLDAsMCwuMzIpfS5sb3N0LW1pbnV0ZS10aW1le2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCAzcmVtO2hlaWdodDozcmVtO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2Q4ZDlkYjtjb2xvcjojMWQyMDI1O2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6LjgycmVtfS5sb3N0LW1pbnV0ZS10cmlnZ2VyIHB7bWFyZ2luOi4zcmVtIDAgLjc1cmVtfS5sb3N0LW1pbnV0ZS1jb3VudHttYXJnaW46MXJlbSAwO3BhZGRpbmc6LjdyZW0gMXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjEwLDIxMCwyMjAsLjMpO2JhY2tncm91bmQ6cmdiYSgyMCwyMCwyNCwuNyk7bGV0dGVyLXNwYWNpbmc6LjA0ZW19CgovKiBCdWlsZCA1LjE3IGhhdW50aW5nIHByb2ZpbGUgKi8KLmhhdW50aW5nLXByb2ZpbGUtc2lnbnttYXJnaW46MXJlbSAwO3BhZGRpbmc6Ljg1cmVtIDFyZW07Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICM1OTZiNzI7YmFja2dyb3VuZDpyZ2JhKDM4LDQ4LDUzLC42Mik7Y29sb3I6I2UyZGVkMTtmb250LXN0eWxlOml0YWxpY30KXG4vKiBCdWlsZCA1LjE4IHRhcmdldCBwcmVzc3VyZSAqL1xuLmhhdW50aW5nLXRhcmdldC1wcmVzc3VyZXttYXJnaW46MXJlbSAwO3BhZGRpbmc6Ljg1cmVtIDFyZW07Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE1MSwxMDUsOTQsLjQyKTtiYWNrZ3JvdW5kOnJnYmEoNjMsMzUsNDAsLjU1KTtjb2xvcjojZWFkYmNhfS5oYXVudGluZy10YXJnZXQtcHJlc3N1cmUgc3Ryb25ne2NvbG9yOiNlMWJkOTF9XG4KLyogQnVpbGQgNS4xOSBhZnRlcmVmZmVjdHMgKi8KLmFmdGVyZWZmZWN0LWxpc3R7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDE3cmVtLDFmcikpO2dhcDoxcmVtfS5hZnRlcmVmZmVjdC1jYXJke3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTUwLDExNSw5NSwuNCk7YmFja2dyb3VuZDpyZ2JhKDMxLDI0LDIyLC43KX0uYWZ0ZXJlZmZlY3QtY2FyZCBoMnttYXJnaW4tdG9wOjB9LmFmdGVyZWZmZWN0LWNhcmQuc2V2ZXJpdHktM3tib3JkZXItY29sb3I6IzkzNDk0ZDtib3gtc2hhZG93Omluc2V0IDAgMCAxLjJyZW0gcmdiYSgxMjAsNDUsNTIsLjE2KX0uYWZ0ZXJlZmZlY3QtY2xlYXJ7cGFkZGluZzoxcmVtO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjNTg3MjViO2JhY2tncm91bmQ6cmdiYSgzOCw2NSw0NSwuNDIpfS5hZnRlcmVmZmVjdC11bnJlc29sdmVke2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouNjVyZW07b3BhY2l0eTouODI7Zm9udC1zdHlsZTppdGFsaWN9CgovKiBCdWlsZCA1LjIwIGFmdGVyZWZmZWN0IGVjaG8gKi8KLmFmdGVyZWZmZWN0LWVjaG97ZGlzcGxheTpmbGV4O2dhcDouNzVyZW07YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXJnaW46MXJlbSAwO3BhZGRpbmc6LjhyZW0gMXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTE2LDEyOCwxMzQsLjQyKTtiYWNrZ3JvdW5kOnJnYmEoMzQsNDIsNDcsLjYpO2NvbG9yOiNlNGRlZDJ9LmFmdGVyZWZmZWN0LWVjaG8gc3BhbntkaXNwbGF5OmZsZXg7ZmxleDowIDAgMS42NXJlbTtoZWlnaHQ6MS42NXJlbTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiM1MjYzNmI7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo4MDB9LmFmdGVyZWZmZWN0LWVjaG8gcHttYXJnaW46MDtmb250LXN0eWxlOml0YWxpY30KCi8qIEJ1aWxkIDUuMjEgY29udGFpbm1lbnQgcmVzdWx0cyAqLwouY29udGFpbm1lbnQtcmVzdWx0c3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoMTdyZW0sMWZyKSk7Z2FwOjFyZW19LmNvbnRhaW5tZW50LXJlc3VsdHMgYXJ0aWNsZXtwYWRkaW5nOjFyZW07Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEwMywxMzcsMTEyLC40NSk7YmFja2dyb3VuZDpyZ2JhKDMyLDU0LDM5LC40OCl9LmNvbnRhaW5tZW50LXJlc3VsdHMgaDJ7bWFyZ2luLXRvcDowO2NvbG9yOiNkOGM5YTV9CgovKiBCdWlsZCA1LjIyIHZvaWNlIHJvb20gKi8KLnZvaWNlLXJvb20tdHJpZ2dlcnttYXJnaW46MXJlbSAwO3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTIyLDEwNiwxNDIsLjU1KTtib3JkZXItbGVmdDo1cHggc29saWQgIzYzNTI3NDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMDBkZWcscmdiYSg1NSwzOSw2OCwuOCkscmdiYSgyNCwyMCwyOCwuNzIpKTtjb2xvcjojZTdkZWVjfS52b2ljZS1yb29tLXRyaWdnZXIgcHttYXJnaW46LjM1cmVtIDAgLjc1cmVtfS52b2ljZS1yb29tLWNvdW50e21hcmdpbjoxcmVtIDA7cGFkZGluZzouNzVyZW0gMXJlbTtiYWNrZ3JvdW5kOnJnYmEoNDAsMzEsNDcsLjc1KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTQwLDEyMCwxNTcsLjM1KX0KCi8qIEJ1aWxkIDUuMjMgbWlzc2luZyBhcmNoaXZlICovCi5taXNzaW5nLWFyY2hpdmUtdHJpZ2dlcnttYXJnaW46MXJlbSAwO3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoODMsMTI2LDkxLC41NSk7Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICM0YzczNTM7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTAwZGVnLHJnYmEoMzEsNjcsNDIsLjgyKSxyZ2JhKDE4LDI1LDIwLC43NCkpO2NvbG9yOiNlM2VhZGJ9Lm1pc3NpbmctYXJjaGl2ZS10cmlnZ2VyIHB7bWFyZ2luOi4zNXJlbSAwIC43NXJlbX0ubWlzc2luZy1hcmNoaXZlLWNvdW50e21hcmdpbjoxcmVtIDA7cGFkZGluZzouNzVyZW0gMXJlbTtiYWNrZ3JvdW5kOnJnYmEoMjcsNDksMzIsLjcyKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoOTQsMTM5LDEwMiwuNCl9CgovKiBCdWlsZCA1LjI0IHJvb3QgaG91c2UgKi8KLnJvb3QtaG91c2UtdHJpZ2dlcnttYXJnaW46MXJlbSAwO3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTE2LDkxLDYyLC41OCk7Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICM3MjU2Mzc7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTAwZGVnLHJnYmEoNjUsNDUsMjgsLjg0KSxyZ2JhKDI0LDIwLDE2LC43NikpO2NvbG9yOiNlYWRmY2J9LnJvb3QtaG91c2UtdHJpZ2dlciBwe21hcmdpbjouMzVyZW0gMCAuNzVyZW19LnJvb3QtaG91c2UtY291bnR7bWFyZ2luOjFyZW0gMDtwYWRkaW5nOi43NXJlbSAxcmVtO2JhY2tncm91bmQ6cmdiYSg1NCwzOSwyNSwuNzIpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMzIsMTAxLDY3LC40Mil9CgovKiBCdWlsZCA1LjI1IGNvbnZlcmdlbmNlICovCi5oaWRkZW4tcGxhY2UtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoMTdyZW0sMWZyKSk7Z2FwOjFyZW19LmhpZGRlbi1wbGFjZS1jYXJke3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTMyLDExMiw4OCwuNDIpO2JhY2tncm91bmQ6cmdiYSgzNCwyOSwyNSwuNyl9LmhpZGRlbi1wbGFjZS1jYXJkLnVua25vd257b3BhY2l0eTouNjg7Ym9yZGVyLXN0eWxlOmRhc2hlZH0uaGlkZGVuLXBsYWNlLWNhcmQgaDJ7bWFyZ2luLXRvcDowfS5jb252ZXJnZW5jZS1maW5kaW5nc3tkaXNwbGF5OmdyaWQ7Z2FwOi44cmVtfS5jb252ZXJnZW5jZS1maW5kaW5ncyBhcnRpY2xlLC5jb252ZXJnZW5jZS1yZXZlYWx7cGFkZGluZzoxcmVtO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjNzg2NTUyO2JhY2tncm91bmQ6cmdiYSg1Nyw0NywzOCwuNjQpfS5jb252ZXJnZW5jZS1yZXZlYWx7bWFyZ2luLXRvcDoxcmVtO2JvcmRlci1jb2xvcjojOGQ3MDQ3O2NvbG9yOiNlZWUyYzh9CgovKiBCdWlsZCA1LjI2IGVuZGluZyBpbnRlZ3JhdGlvbiAqLwouZW5kaW5nLW1vZGlmaWVyLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDEzcmVtLDFmcikpO2dhcDoxcmVtO21hcmdpbjoxcmVtIDB9LmVuZGluZy1tb2RpZmllci1ncmlkIGFydGljbGV7cGFkZGluZzoxcmVtO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjYsMTA4LDgzLC40NSk7YmFja2dyb3VuZDpyZ2JhKDQyLDM1LDI5LC42OCl9LmVuZGluZy1tb2RpZmllci1ncmlkIGgye21hcmdpbi10b3A6MH0uZW5kaW5nLW1vZGlmaWVyLWdyaWQgc3Ryb25ne2ZvbnQtc2l6ZToxLjZyZW07Y29sb3I6I2UxYzk5Y30uc3VwZXJuYXR1cmFsLWVuZGluZy1zdW1tYXJ5e21hcmdpbjoxLjJyZW0gMDtwYWRkaW5nOjFyZW07Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNiw5OSw3MSwuNTUpO2JvcmRlci1sZWZ0OjVweCBzb2xpZCAjODA2MjQxO2JhY2tncm91bmQ6cmdiYSg1NSw0MiwzMCwuNzIpfQoKLyogQnVpbGQgNS4yNyBpbnRlbnNpdHkgc2V0dGluZ3MgKi8KLmludGVuc2l0eS1vcHRpb25ze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgxNXJlbSwxZnIpKTtnYXA6MXJlbTttYXJnaW46MXJlbSAwfS5pbnRlbnNpdHktb3B0aW9ucyBhcnRpY2xle3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTIwLDEwNSw4MiwuNDIpO2JhY2tncm91bmQ6cmdiYSg0MCwzNCwyOCwuNjgpfS5pbnRlbnNpdHktb3B0aW9ucyBoMnttYXJnaW4tdG9wOjB9CgovKiBCdWlsZCA1LjI5IGd1aWRlZCB0ZXN0aW5nICovCi50ZXN0aW5nLWdyaWQsLnRlc3Rpbmctcm91dGUtbGlzdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoMThyZW0sMWZyKSk7Z2FwOjFyZW07bWFyZ2luOjFyZW0gMH0udGVzdGluZy1ncmlkIGFydGljbGUsLnRlc3Rpbmctcm91dGUtbGlzdCBhcnRpY2xle3BhZGRpbmc6MXJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoOTUsMTE4LDEzMCwuNDYpO2JhY2tncm91bmQ6cmdiYSgzMSw0Miw0OSwuNyl9LnRlc3RpbmctZ3JpZCBoMiwudGVzdGluZy1yb3V0ZS1saXN0IGgye21hcmdpbi10b3A6MH0KCi8qIEJ1aWxkIDUuMzAgcmVsZWFzZSBjYW5kaWRhdGUgbGFiZWwgKi8KLnJlbGVhc2UtY2FuZGlkYXRlLWxhYmVse21hcmdpbjoxLjI1cmVtIGF1dG8gMDttYXgtd2lkdGg6MzZyZW07cGFkZGluZzouNDVyZW0gLjc1cmVtO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZTouOHJlbTtsZXR0ZXItc3BhY2luZzouMDhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6I2M5YzFiMjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDE4MCwxNjUsMTQwLC4zKTtvcGFjaXR5Oi44Mn0KCi8qIEJ1aWxkIDUuMzEgcGxheWVyIG1hbnVhbCAqLwoucGxheWVyLW1hbnVhbHttYXgtd2lkdGg6NjJyZW07bWFyZ2luOjAgYXV0bztsaW5lLWhlaWdodDoxLjY1fS5tYW51YWwtaGVybywubWFudWFsLXRvYywubWFudWFsLXNlY3Rpb24sLm1hbnVhbC1mb290ZXJ7cGFkZGluZzoxcmVtIDEuMTVyZW07bWFyZ2luOjAgMCAxcmVtO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMzksMTIyLDk2LC4zOCk7YmFja2dyb3VuZDpyZ2JhKDMyLDI4LDI0LC42Mil9Lm1hbnVhbC1oZXJve2JvcmRlci10b3A6NXB4IHNvbGlkICM4MDZhNGN9Lm1hbnVhbC1sZWFke2ZvbnQtc2l6ZToxLjA4cmVtfS5tYW51YWwtdG9jIG9se2NvbHVtbnM6Mjtjb2x1bW4tZ2FwOjJyZW07bWFyZ2luLWJvdHRvbTowfS5tYW51YWwtdG9jIGxpe2JyZWFrLWluc2lkZTphdm9pZDttYXJnaW46LjIycmVtIDB9Lm1hbnVhbC10b2MgYSwubWFudWFsLWJhY2t7Zm9udC13ZWlnaHQ6NzAwfS5tYW51YWwtc2VjdGlvbntzY3JvbGwtbWFyZ2luLXRvcDoxcmVtfS5tYW51YWwtc2VjdGlvbiBoMnttYXJnaW4tdG9wOjA7Y29sb3I6I2U1ZDRiNX0ubWFudWFsLXNlY3Rpb24gaDN7bWFyZ2luLXRvcDowfS5tYW51YWwtc2VjdGlvbiBsaXttYXJnaW46LjNyZW0gMH0ubWFudWFsLWNhcmQtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCxtaW5tYXgoMTNyZW0sMWZyKSk7Z2FwOi43NXJlbTttYXJnaW46MXJlbSAwfS5tYW51YWwtY2FyZC1ncmlkIGFydGljbGV7cGFkZGluZzouOHJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTIwLDExMSw5NiwuMzQpO2JhY2tncm91bmQ6cmdiYSgyMywyNCwyNCwuNTUpfS5tYW51YWwtbm90ZXttYXJnaW46MXJlbSAwO3BhZGRpbmc6LjhyZW0gMXJlbTtib3JkZXItbGVmdDo0cHggc29saWQgIzg4NzE0ZTtiYWNrZ3JvdW5kOnJnYmEoNzcsNjEsNDEsLjQ4KX0ubWFudWFsLWJhY2t7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDouNnJlbX0ubWFudWFsLWZvb3Rlcnt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItYm90dG9tOjVweCBzb2xpZCAjODA2YTRjfUBtZWRpYShtYXgtd2lkdGg6NjAwcHgpey5tYW51YWwtdG9jIG9se2NvbHVtbnM6MX0ucGxheWVyLW1hbnVhbHtsaW5lLWhlaWdodDoxLjU4fS5tYW51YWwtaGVybywubWFudWFsLXRvYywubWFudWFsLXNlY3Rpb24sLm1hbnVhbC1mb290ZXJ7cGFkZGluZzouODVyZW19fQpcbi8qIEJ1aWxkIDUuMzEuMSBkZWZpbml0aXZlIGJhZGdlIGNhYmluZXQgKi9cbi5iYWRnZS1kZWZpbml0aXZlLW5vdGV7bWFyZ2luOjFyZW0gMDtwYWRkaW5nOi44NXJlbSAxcmVtO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjOGE3MTRkO2JhY2tncm91bmQ6cmdiYSg3MCw1NCwzNiwuNTYpfS5iYWRnZS10aWVyLXN1bW1hcnl7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDouNjVyZW07bWFyZ2luOjAgMCAxcmVtfS5iYWRnZS10aWVyLXN1bW1hcnkgc3BhbntwYWRkaW5nOi4zNXJlbSAuNnJlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTQ1LDEyNiw5NiwuNCk7YmFja2dyb3VuZDpyZ2JhKDI4LDI3LDI1LC42NCl9XG48L3N0eWxlPjxzY3JpcHQgcm9sZT0ic2NyaXB0IiBpZD0idHdpbmUtdXNlci1zY3JpcHQiIHR5cGU9InRleHQvdHdpbmUtamF2YXNjcmlwdCI+Q29uZmlnLnBhc3NhZ2VzLm5vYnIgPSB0cnVlOwoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIERJU1BMQVkgU0VUVElOR1MKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpzZXR1cC5hcHBseURpc3BsYXlTZXR0aW5ncyA9IGZ1bmN0aW9uICgpIHsKCXZhciBib2R5ID0gZG9jdW1lbnQuYm9keTsKCXZhciB0ZXh0U2l6ZSA9IFNldHRpbmcuZ2V0VmFsdWUoInRleHRTaXplIikgfHwgIlN0YW5kYXJkIjsKCXZhciByZWFkaW5nV2lkdGggPSBTZXR0aW5nLmdldFZhbHVlKCJyZWFkaW5nV2lkdGgiKSB8fCAiU3RhbmRhcmQiOwoJdmFyIHBhc3NhZ2VNb3Rpb24gPSBTZXR0aW5nLmdldFZhbHVlKCJwYXNzYWdlTW90aW9uIik7Cgl2YXIgaGlnaENvbnRyYXN0ID0gU2V0dGluZy5nZXRWYWx1ZSgiaGlnaENvbnRyYXN0Iik7CgoJYm9keS5jbGFzc0xpc3QucmVtb3ZlKAoJCSJ0ZXh0LWNvbXBhY3QiLAoJCSJ0ZXh0LXN0YW5kYXJkIiwKCQkidGV4dC1sYXJnZSIsCgkJIndpZHRoLW5hcnJvdyIsCgkJIndpZHRoLXN0YW5kYXJkIiwKCQkid2lkdGgtd2lkZSIsCgkJInNldHRpbmctbW90aW9uLW9mZiIsCgkJInNldHRpbmctaGlnaC1jb250cmFzdCIKCSk7CgoJaWYgKHRleHRTaXplID09PSAiQ29tcGFjdCIpIHsKCQlib2R5LmNsYXNzTGlzdC5hZGQoInRleHQtY29tcGFjdCIpOwoJfQoJZWxzZSBpZiAodGV4dFNpemUgPT09ICJMYXJnZSIpIHsKCQlib2R5LmNsYXNzTGlzdC5hZGQoInRleHQtbGFyZ2UiKTsKCX0KCWVsc2UgewoJCWJvZHkuY2xhc3NMaXN0LmFkZCgidGV4dC1zdGFuZGFyZCIpOwoJfQoKCWlmIChyZWFkaW5nV2lkdGggPT09ICJOYXJyb3ciKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJ3aWR0aC1uYXJyb3ciKTsKCX0KCWVsc2UgaWYgKHJlYWRpbmdXaWR0aCA9PT0gIldpZGUiKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJ3aWR0aC13aWRlIik7Cgl9CgllbHNlIHsKCQlib2R5LmNsYXNzTGlzdC5hZGQoIndpZHRoLXN0YW5kYXJkIik7Cgl9CgoJaWYgKHBhc3NhZ2VNb3Rpb24gPT09IGZhbHNlKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJzZXR0aW5nLW1vdGlvbi1vZmYiKTsKCX0KCglpZiAoaGlnaENvbnRyYXN0ID09PSB0cnVlKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJzZXR0aW5nLWhpZ2gtY29udHJhc3QiKTsKCX0KfTsKClNldHRpbmcuYWRkSGVhZGVyKCJSZWFkaW5nIEV4cGVyaWVuY2UiKTsKClNldHRpbmcuYWRkTGlzdCgidGV4dFNpemUiLCB7CglsYWJlbDogIlRleHQgU2l6ZSIsCglkZXNjOiAiQWRqdXN0IHRoZSBzaXplIG9mIHN0b3J5IHRleHQuIiwKCWxpc3Q6IFsiQ29tcGFjdCIsICJTdGFuZGFyZCIsICJMYXJnZSJdLAoJZGVmYXVsdDogIlN0YW5kYXJkIiwKCW9uSW5pdDogc2V0dXAuYXBwbHlEaXNwbGF5U2V0dGluZ3MsCglvbkNoYW5nZTogc2V0dXAuYXBwbHlEaXNwbGF5U2V0dGluZ3MKfSk7CgpTZXR0aW5nLmFkZExpc3QoInJlYWRpbmdXaWR0aCIsIHsKCWxhYmVsOiAiUmVhZGluZyBXaWR0aCIsCglkZXNjOiAiQWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbWFpbiByZWFkaW5nIHBhbmVsLiIsCglsaXN0OiBbIk5hcnJvdyIsICJTdGFuZGFyZCIsICJXaWRlIl0sCglkZWZhdWx0OiAiU3RhbmRhcmQiLAoJb25Jbml0OiBzZXR1cC5hcHBseURpc3BsYXlTZXR0aW5ncywKCW9uQ2hhbmdlOiBzZXR1cC5hcHBseURpc3BsYXlTZXR0aW5ncwp9KTsKClNldHRpbmcuYWRkVG9nZ2xlKCJwYXNzYWdlTW90aW9uIiwgewoJbGFiZWw6ICJQYXNzYWdlIE1vdGlvbiIsCglkZXNjOiAiVXNlIHN1YnRsZSBwYXNzYWdlIGFuZCBjbHVlIGFuaW1hdGlvbnMuIiwKCWRlZmF1bHQ6IHRydWUsCglvbkluaXQ6IHNldHVwLmFwcGx5RGlzcGxheVNldHRpbmdzLAoJb25DaGFuZ2U6IHNldHVwLmFwcGx5RGlzcGxheVNldHRpbmdzCn0pOwoKU2V0dGluZy5hZGRUb2dnbGUoImhpZ2hDb250cmFzdCIsIHsKCWxhYmVsOiAiSGlnaCBDb250cmFzdCIsCglkZXNjOiAiSW5jcmVhc2UgdGV4dCBhbmQgYm9yZGVyIGNvbnRyYXN0LiIsCglkZWZhdWx0OiBmYWxzZSwKCW9uSW5pdDogc2V0dXAuYXBwbHlEaXNwbGF5U2V0dGluZ3MsCglvbkNoYW5nZTogc2V0dXAuYXBwbHlEaXNwbGF5U2V0dGluZ3MKfSk7CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTE9DQVRJT04tQkFTRUQgQVRNT1NQSEVSRQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCnNldHVwLnVwZGF0ZUxvY2F0aW9uQXRtb3NwaGVyZSA9IGZ1bmN0aW9uICgpIHsKCXZhciBsb2NhdGlvbiA9IFN0cmluZyhTdGF0ZS52YXJpYWJsZXMubG9jYXRpb24gfHwgIiIpLnRvTG93ZXJDYXNlKCk7Cgl2YXIgYm9keSA9IGRvY3VtZW50LmJvZHk7CgoJdmFyIGF0bW9zcGhlcmVDbGFzc2VzID0gWwoJCSJhdG1vc3BoZXJlLXRpdGxlIiwKCQkiYXRtb3NwaGVyZS1ob3VzZSIsCgkJImF0bW9zcGhlcmUtZmllbGQiLAoJCSJhdG1vc3BoZXJlLXN0cmVldCIsCgkJImF0bW9zcGhlcmUtZWxlbWVudGFyeSIsCgkJImF0bW9zcGhlcmUtbWlkZGxlLXNjaG9vbCIsCgkJImF0bW9zcGhlcmUtb2ZmaWNlIiwKCQkiYXRtb3NwaGVyZS1lbmRpbmciLAoJCSJhdG1vc3BoZXJlLW5ldXRyYWwiCgldOwoKCWJvZHkuY2xhc3NMaXN0LnJlbW92ZS5hcHBseShib2R5LmNsYXNzTGlzdCwgYXRtb3NwaGVyZUNsYXNzZXMpOwoKCWlmIChTdGF0ZS5wYXNzYWdlID09PSAiU3RhcnQiKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJhdG1vc3BoZXJlLXRpdGxlIik7CgkJcmV0dXJuOwoJfQoKCWlmIChTdGF0ZS5wYXNzYWdlID09PSAiRXBpc29kZSAxIEN1cnJlbnQgRW5kaW5nIikgewoJCWJvZHkuY2xhc3NMaXN0LmFkZCgiYXRtb3NwaGVyZS1lbmRpbmciKTsKCQlyZXR1cm47Cgl9CgoJaWYgKAoJCWxvY2F0aW9uLmluY2x1ZGVzKCJmaWVsZCIpIHx8CgkJbG9jYXRpb24uaW5jbHVkZXMoIm9hayIpCgkpIHsKCQlib2R5LmNsYXNzTGlzdC5hZGQoImF0bW9zcGhlcmUtZmllbGQiKTsKCQlyZXR1cm47Cgl9CgoJaWYgKAoJCWxvY2F0aW9uLmluY2x1ZGVzKCJ3aW5jaGVzdGVyIGhvdXNlIikgfHwKCQlsb2NhdGlvbi5pbmNsdWRlcygia2l0Y2hlbiIpIHx8CgkJbG9jYXRpb24uaW5jbHVkZXMoInN0YWlyY2FzZSIpIHx8CgkJbG9jYXRpb24uaW5jbHVkZXMoImhhbGx3YXkgY2xvc2V0IikKCSkgewoJCWJvZHkuY2xhc3NMaXN0LmFkZCgiYXRtb3NwaGVyZS1ob3VzZSIpOwoJCXJldHVybjsKCX0KCglpZiAobG9jYXRpb24uaW5jbHVkZXMoImVsZW1lbnRhcnkiKSkgewoJCWJvZHkuY2xhc3NMaXN0LmFkZCgiYXRtb3NwaGVyZS1lbGVtZW50YXJ5Iik7CgkJcmV0dXJuOwoJfQoKCWlmICgKCQlsb2NhdGlvbi5pbmNsdWRlcygicHJpbmNpcGFsIikgfHwKCQlsb2NhdGlvbi5pbmNsdWRlcygibWFpbiBvZmZpY2UiKQoJKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJhdG1vc3BoZXJlLW9mZmljZSIpOwoJCXJldHVybjsKCX0KCglpZiAoCgkJbG9jYXRpb24uaW5jbHVkZXMoIm1pZGRsZSBzY2hvb2wiKSB8fAoJCWxvY2F0aW9uLmluY2x1ZGVzKCJtYWluIGhhbGx3YXkiKQoJKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJhdG1vc3BoZXJlLW1pZGRsZS1zY2hvb2wiKTsKCQlyZXR1cm47Cgl9CgoJaWYgKAoJCWxvY2F0aW9uLmluY2x1ZGVzKCJzdHJlZXQiKSB8fAoJCWxvY2F0aW9uLmluY2x1ZGVzKCJzaWRld2FsayIpIHx8CgkJbG9jYXRpb24uaW5jbHVkZXMoInJvYWQiKQoJKSB7CgkJYm9keS5jbGFzc0xpc3QuYWRkKCJhdG1vc3BoZXJlLXN0cmVldCIpOwoJCXJldHVybjsKCX0KCglib2R5LmNsYXNzTGlzdC5hZGQoImF0bW9zcGhlcmUtbmV1dHJhbCIpOwp9OwoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFBPViBWSVNVQUwgSURFTlRJVFkKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgpzZXR1cC51cGRhdGVQb3ZJZGVudGl0eSA9IGZ1bmN0aW9uICgpIHsKCXZhciBib2R5ID0gZG9jdW1lbnQuYm9keTsKCXZhciBwb3YgPSBTdHJpbmcoU3RhdGUudmFyaWFibGVzLnBvdiB8fCAiIikudG9Mb3dlckNhc2UoKTsKCglib2R5LmNsYXNzTGlzdC5yZW1vdmUoCgkJInBvdi1rZXZpbiIsCgkJInBvdi1yeWFuIiwKICAgICAgCSJwb3Yta2ltbXkiLAogICAgICAJInBvdi1ncm91cCIsCiAgICAgIAkicG92LXNjb290IiwKCQkicG92LW5ldXRyYWwiCgkpOwoKaWYgKHBvdiA9PT0gImtldmluIikgewpib2R5LmNsYXNzTGlzdC5hZGQoInBvdi1rZXZpbiIpOwp9IGVsc2UgaWYgKHBvdiA9PT0gInJ5YW4iKSB7CmJvZHkuY2xhc3NMaXN0LmFkZCgicG92LXJ5YW4iKTsKfSBlbHNlIGlmIChwb3YgPT09ICJraW1teSIpIHsKYm9keS5jbGFzc0xpc3QuYWRkKCJwb3Yta2ltbXkiKTsKfSBlbHNlIGlmIChwb3YgPT09ICJzY29vdCIpIHsKYm9keS5jbGFzc0xpc3QuYWRkKCJwb3Ytc2Nvb3QiKTsKfSBlbHNlIGlmIChwb3YgPT09ICJ0aGUgZ3JvdXAiIHx8IHBvdiA9PT0gImdyb3VwIikgewpib2R5LmNsYXNzTGlzdC5hZGQoInBvdi1ncm91cCIpOwp9IGVsc2Ugewpib2R5LmNsYXNzTGlzdC5hZGQoInBvdi1uZXV0cmFsIik7Cn0KfTsKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTQVZFIERFU0NSSVBUSU9OUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCkNvbmZpZy5zYXZlcy5kZXNjcmlwdGlvbnMgPSBmdW5jdGlvbiAoKSB7Cgl2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKCXZhciBjaGFwdGVyID0gTnVtYmVyKHYuY2hhcHRlciB8fCAwKTsKCXZhciBwb3YgPSBTdHJpbmcodi5wb3YgfHwgIlVua25vd24iKTsKCXZhciBsb2NhdGlvbiA9IFN0cmluZyh2LmxvY2F0aW9uIHx8ICJVbmtub3duIExvY2F0aW9uIik7CgoJdmFyIGNoYXB0ZXJUaXRsZXMgPSB7CgkJMTogIkRvbid0IFBhbmljLCBKdXN0IFByZXRlbmQgSXQgTWFrZXMgU2Vuc2UiLAoJCTI6ICJBIE5ldyBSZWNvcmQsIGFuZCBOb3QgdGhlIEdvb2QgS2luZCIsCgkJMzogIkp1c3QgTXkgQnJhaW4gRG9pbmcgdGhlIFRoaW5nIEl0IERvZXMiCgl9OwoKCXZhciBjaGFwdGVyTGFiZWwgPSBjaGFwdGVyID4gMAoJCT8gIkNoYXB0ZXIgIiArIGNoYXB0ZXIKCQk6ICJFcGlzb2RlIE9uZSI7CgoJdmFyIGNoYXB0ZXJUaXRsZSA9IGNoYXB0ZXJUaXRsZXNbY2hhcHRlcl0gfHwgIiI7CgoJaWYgKGNoYXB0ZXJUaXRsZSkgewoJCXJldHVybiBjaGFwdGVyTGFiZWwgKyAiOiAiICsgY2hhcHRlclRpdGxlICsKCQkJIiB8ICIgKyBwb3YgKyAiIHwgIiArIGxvY2F0aW9uOwoJfQoKCXJldHVybiBjaGFwdGVyTGFiZWwgKyAiIHwgIiArIHBvdiArICIgfCAiICsgbG9jYXRpb247Cn07CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgSU5URVJGQUNFIFVQREFURQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiQoZG9jdW1lbnQpLm9uKCI6cGFzc2FnZWRpc3BsYXkiLCBmdW5jdGlvbiAoKSB7CglzZXR1cC51cGRhdGVMb2NhdGlvbkF0bW9zcGhlcmUoKTsKCXNldHVwLnVwZGF0ZVBvdklkZW50aXR5KCk7CglzZXR1cC5hcHBseURpc3BsYXlTZXR0aW5ncygpOwp9KTsKCi8qIEFwcGx5IHNldHRpbmdzIHdoZW4gYSBTdWdhckN1YmUgZGlhbG9nIGNsb3Nlcy4gKi8KJChkb2N1bWVudCkub24oIjpkaWFsb2djbG9zZWQiLCBmdW5jdGlvbiAoKSB7CglzZXR1cC5hcHBseURpc3BsYXlTZXR0aW5ncygpOwp9KTsKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBLRVZJTiBQQVRURVJOIFRSQUNLSU5HCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKc2V0dXAuYWRkUGF0dGVybkV2ZW50ID0gZnVuY3Rpb24gKGV2ZW50TmFtZSkgewoJdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CgoJaWYgKCF2LnBhdHRlcm5FdmVudHMuaW5jbHVkZXMoZXZlbnROYW1lKSkgewoJCXYucGF0dGVybkV2ZW50cy5wdXNoKGV2ZW50TmFtZSk7CgkJdi5wYXR0ZXJuQ291bnQgPSB2LnBhdHRlcm5FdmVudHMubGVuZ3RoOwoJfQoKCWlmICghdi5rbm93bGVkZ2UuS2V2aW4uaW5jbHVkZXMoZXZlbnROYW1lKSkgewoJCXYua25vd2xlZGdlLktldmluLnB1c2goZXZlbnROYW1lKTsKCX0KCglpZiAoIXYucGxheWVyQ2x1ZXMuaW5jbHVkZXMoZXZlbnROYW1lKSkgewoJCXYucGxheWVyQ2x1ZXMucHVzaChldmVudE5hbWUpOwoJfQp9OwoKc2V0dXAuYWRkS2ltbXlMZWFkID0gZnVuY3Rpb24gKGxlYWQpIHsKCXZhciB2ID0gU3RhdGUudmFyaWFibGVzOwoKCWlmICghQXJyYXkuaXNBcnJheSh2LmtpbW15TGVhZHMpKSB7CgkJdi5raW1teUxlYWRzID0gW107Cgl9CgoJaWYgKCF2LmtpbW15TGVhZHMuaW5jbHVkZXMobGVhZCkpIHsKCQl2LmtpbW15TGVhZHMucHVzaChsZWFkKTsKCX0KCgl2LmtpbW15Q2hhcHRlckNsdWVzID0gdi5raW1teUxlYWRzLmxlbmd0aDsKfTsKCnNldHVwLmFkZEtpbW15RmFjdCA9IGZ1bmN0aW9uIChmYWN0KSB7Cgl2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKCglpZiAoIUFycmF5LmlzQXJyYXkodi5raW1teUZhY3RzKSkgewoJCXYua2ltbXlGYWN0cyA9IFtdOwoJfQoKCWlmICghdi5raW1teUZhY3RzLmluY2x1ZGVzKGZhY3QpKSB7CgkJdi5raW1teUZhY3RzLnB1c2goZmFjdCk7Cgl9CgoJaWYgKCFBcnJheS5pc0FycmF5KHYua25vd2xlZGdlLktpbW15KSkgewoJCXYua25vd2xlZGdlLktpbW15ID0gW107Cgl9CgoJaWYgKCF2Lmtub3dsZWRnZS5LaW1teS5pbmNsdWRlcyhmYWN0KSkgewoJCXYua25vd2xlZGdlLktpbW15LnB1c2goZmFjdCk7Cgl9CgoJaWYgKCFBcnJheS5pc0FycmF5KHYucGxheWVyQ2x1ZXMpKSB7CgkJdi5wbGF5ZXJDbHVlcyA9IFtdOwoJfQoKCWlmICghdi5wbGF5ZXJDbHVlcy5pbmNsdWRlcyhmYWN0KSkgewoJCXYucGxheWVyQ2x1ZXMucHVzaChmYWN0KTsKCX0KfTsKCnNldHVwLmFkZEtpbW15U291cmNlID0gZnVuY3Rpb24gKHNvdXJjZSkgewoJdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CgoJaWYgKCFBcnJheS5pc0FycmF5KHYua2ltbXlTb3VyY2VzKSkgewoJCXYua2ltbXlTb3VyY2VzID0gW107Cgl9CgoJaWYgKCF2LmtpbW15U291cmNlcy5pbmNsdWRlcyhzb3VyY2UpKSB7CgkJdi5raW1teVNvdXJjZXMucHVzaChzb3VyY2UpOwoJfQp9OwpzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uID0gZnVuY3Rpb24gKG9ic2VydmF0aW9uKSB7Cgl2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKCglpZiAoIUFycmF5LmlzQXJyYXkodi5zY29vdE9ic2VydmF0aW9ucykpIHsKCQl2LnNjb290T2JzZXJ2YXRpb25zID0gW107Cgl9CgoJaWYgKCF2LnNjb290T2JzZXJ2YXRpb25zLmluY2x1ZGVzKG9ic2VydmF0aW9uKSkgewoJCXYuc2Nvb3RPYnNlcnZhdGlvbnMucHVzaChvYnNlcnZhdGlvbik7Cgl9CgoJaWYgKCFBcnJheS5pc0FycmF5KHYua25vd2xlZGdlLlNjb290KSkgewoJCXYua25vd2xlZGdlLlNjb290ID0gW107Cgl9CgoJaWYgKCF2Lmtub3dsZWRnZS5TY29vdC5pbmNsdWRlcyhvYnNlcnZhdGlvbikpIHsKCQl2Lmtub3dsZWRnZS5TY29vdC5wdXNoKG9ic2VydmF0aW9uKTsKCX0KfTsKCnNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSA9IGZ1bmN0aW9uIChlbnRyeSkgewoJdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CgoJaWYgKCFBcnJheS5pc0FycmF5KHYuc2Nvb3ROb3RlYm9va0VudHJpZXMpKSB7CgkJdi5zY29vdE5vdGVib29rRW50cmllcyA9IFtdOwoJfQoKCWlmICghdi5zY29vdE5vdGVib29rRW50cmllcy5pbmNsdWRlcyhlbnRyeSkpIHsKCQl2LnNjb290Tm90ZWJvb2tFbnRyaWVzLnB1c2goZW50cnkpOwoJfQp9OwoKc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCA9IGZ1bmN0aW9uIChhbW91bnQpIHsKCXZhciB2ID0gU3RhdGUudmFyaWFibGVzOwoJdmFyIGluY3JlYXNlID0gTnVtYmVyKGFtb3VudCk7CgoJaWYgKCFOdW1iZXIuaXNGaW5pdGUoaW5jcmVhc2UpKSB7CgkJaW5jcmVhc2UgPSAxOwoJfQoKCWlmICghTnVtYmVyLmlzRmluaXRlKHYuc2Nvb3RJbnN0aW5jdCkpIHsKCQl2LnNjb290SW5zdGluY3QgPSAwOwoJfQoKCXYuc2Nvb3RJbnN0aW5jdCArPSBpbmNyZWFzZTsKfTsKCnNldHVwLmFkZEdyb3VwRXZpZGVuY2UgPSBmdW5jdGlvbiAoZXZpZGVuY2UpIHsKCXZhciB2ID0gU3RhdGUudmFyaWFibGVzOwoKCWlmICghQXJyYXkuaXNBcnJheSh2Lmdyb3VwU2hhcmVkRXZpZGVuY2UpKSB7CgkJdi5ncm91cFNoYXJlZEV2aWRlbmNlID0gW107Cgl9CgoJaWYgKCF2Lmdyb3VwU2hhcmVkRXZpZGVuY2UuaW5jbHVkZXMoZXZpZGVuY2UpKSB7CgkJdi5ncm91cFNoYXJlZEV2aWRlbmNlLnB1c2goZXZpZGVuY2UpOwoJfQoKCWlmICghQXJyYXkuaXNBcnJheSh2LnNoYXJlZENsdWVzKSkgewoJCXYuc2hhcmVkQ2x1ZXMgPSBbXTsKCX0KCglpZiAoIXYuc2hhcmVkQ2x1ZXMuaW5jbHVkZXMoZXZpZGVuY2UpKSB7CgkJdi5zaGFyZWRDbHVlcy5wdXNoKGV2aWRlbmNlKTsKCX0KfTsKCnNldHVwLmFkZEdyb3VwQ29ubmVjdGlvbiA9IGZ1bmN0aW9uIChjb25uZWN0aW9uKSB7Cgl2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKCglpZiAoIUFycmF5LmlzQXJyYXkodi5ncm91cENvbmZpcm1lZENvbm5lY3Rpb25zKSkgewoJCXYuZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucyA9IFtdOwoJfQoKCWlmICghdi5ncm91cENvbmZpcm1lZENvbm5lY3Rpb25zLmluY2x1ZGVzKGNvbm5lY3Rpb24pKSB7CgkJdi5ncm91cENvbmZpcm1lZENvbm5lY3Rpb25zLnB1c2goY29ubmVjdGlvbik7Cgl9Cn07Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBTSU5HTEUtU0xPVCBLRVktTU9NRU5UIEFVVE9TQVZFCiAgIEFkZCB0aGlzIGNvbXBsZXRlIGJsb2NrIHRvIHRoZSBFTkQgb2YgU3RvcnkgSmF2YVNjcmlwdC4KICAgU3VnYXJDdWJlIDIuMzcueAogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIEtlZXAgZXhhY3RseSBvbmUgcm9sbGluZyBicm93c2VyIGF1dG9zYXZlLiAqLwpDb25maWcuc2F2ZXMubWF4QXV0b1NhdmVzID0gMTsKCnNldHVwLmJtQXV0b3NhdmUgPSB7CiAgICBidXN5OiBmYWxzZSwKICAgIGluaXRpYWxpemVkOiBmYWxzZSwKICAgIGxhc3RTaWduYXR1cmU6ICIiLAogICAgcHJldmlvdXNCYWRnZUlkczogW10sCgogICAgZXhjbHVkZWRQYXNzYWdlczogWwogICAgICAgICJTdGFydCIsCiAgICAgICAgIkhvdyB0byBQbGF5IE9wZW5pbmciLAogICAgICAgICJNeXN0ZXJ5IEtpdCAtIENhc2UgRmlsZSIsCiAgICAgICAgIk15c3RlcnkgS2l0IC0gQ2x1ZSBCb2FyZCIsCiAgICAgICAgIk15c3RlcnkgS2l0IC0gTm90ZWJvb2siLAogICAgICAgICJNeXN0ZXJ5IEtpdCAtIFRvd24gTWFwIiwKICAgICAgICAiTXlzdGVyeSBLaXQgLSBQZW9wbGUiLAogICAgICAgICJNeXN0ZXJ5IEtpdCAtIEJhZGdlIENhYmluZXQiLAogICAgICAgICJNeXN0ZXJ5IEtpdCAtIEJhZGdlcyIKICAgIF0sCgogICAgZ2V0QmFkZ2VJZHM6IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgaWRzID0gU3RhdGUudmFyaWFibGVzLmVhcm5lZEJhZGdlSWRzOwogICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGlkcykgPyBpZHMuc2xpY2UoKS5zb3J0KCkgOiBbXTsKICAgIH0sCgogICAgZ2V0U2lnbmF0dXJlOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CgogICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7CiAgICAgICAgICAgIGNoYXB0ZXI6IE51bWJlcih2LmNoYXB0ZXIgfHwgMCksCiAgICAgICAgICAgIGNoYXB0ZXIzQ29tcGxldGU6IEJvb2xlYW4odi5jaGFwdGVyM0NvbXBsZXRlKSwKICAgICAgICAgICAgY2hhcHRlcjRDb21wbGV0ZTogQm9vbGVhbih2LmNoYXB0ZXI0Q29tcGxldGUpLAogICAgICAgICAgICBjaGFwdGVyNUNvbXBsZXRlOiBCb29sZWFuKHYuY2hhcHRlcjVDb21wbGV0ZSksCiAgICAgICAgICAgIGNoYXB0ZXI2Q29tcGxldGU6IEJvb2xlYW4odi5jaGFwdGVyNkNvbXBsZXRlKSwKICAgICAgICAgICAgZ3JvdXBVbml0ZWQ6IEJvb2xlYW4odi5ncm91cFVuaXRlZCksCiAgICAgICAgICAgIGJhZGdlczogdGhpcy5nZXRCYWRnZUlkcygpCiAgICAgICAgfSk7CiAgICB9LAoKICAgIGdldFJlYXNvbjogZnVuY3Rpb24gKHByZXZpb3VzQmFkZ2VzLCBjdXJyZW50QmFkZ2VzKSB7CiAgICAgICAgdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CiAgICAgICAgdmFyIG5ld0JhZGdlSWRzID0gY3VycmVudEJhZGdlcy5maWx0ZXIoZnVuY3Rpb24gKGlkKSB7CiAgICAgICAgICAgIHJldHVybiAhcHJldmlvdXNCYWRnZXMuaW5jbHVkZXMoaWQpOwogICAgICAgIH0pOwoKICAgICAgICBpZiAobmV3QmFkZ2VJZHMubGVuZ3RoID4gMCkgewogICAgICAgICAgICB2YXIgYmFkZ2VOYW1lcyA9IHsKICAgICAgICAgICAgICAgICJwYXR0ZXJuLXNlZWtlciI6ICJQYXR0ZXJuIFNlZWtlciIsCiAgICAgICAgICAgICAgICAic2l4LXBldGFsZWQtc2VjcmV0IjogIlNpeC1QZXRhbGVkIFNlY3JldCIsCiAgICAgICAgICAgICAgICAibnVtYmVyLXJldHVybnMiOiAiVGhlIE51bWJlciBSZXR1cm5zIiwKICAgICAgICAgICAgICAgICJydWxlcy1tYXR0ZXIiOiAiUnVsZXMgTWF0dGVyIiwKICAgICAgICAgICAgICAgICJjaGVjay1mYWN0cyI6ICJDaGVjayB0aGUgRmFjdHMiLAogICAgICAgICAgICAgICAgIndyaXRlLWl0LWRvd24iOiAiV3JpdGUgSXQgRG93biIsCiAgICAgICAgICAgICAgICAiZXZlcnlvbmUtcGllY2UiOiAiRXZlcnlvbmUgSGFzIGEgUGllY2UiLAogICAgICAgICAgICAgICAgImNhc2Utb25lIjogIkNhc2UgT25lIiwKICAgICAgICAgICAgICAgICJjYXJlZnVsLWludmVzdGlnYXRvciI6ICJDYXJlZnVsIEludmVzdGlnYXRvciIsCiAgICAgICAgICAgICAgICAiY2x1ZS1rZWVwZXIiOiAiQ2x1ZSBLZWVwZXIiLAogICAgICAgICAgICAgICAgInBhdHRlcm4tbWFzdGVyIjogIlBhdHRlcm4gTWFzdGVyIiwKICAgICAgICAgICAgICAgICJjb21wbGV0ZS1maWxlIjogIkNvbXBsZXRlIENhc2UgRmlsZSIsCiAgICAgICAgICAgICAgICAiaG91c2UtcmVtZW1iZXJzIjogIlRoZSBIb3VzZSBSZW1lbWJlcnMiLAogICAgICAgICAgICAgICAgInRocmVlLWtub2NrcyI6ICJUaHJlZSBLbm9ja3MiLAogICAgICAgICAgICAgICAgIndhdGNoZWQtd29vZHMiOiAiV2F0Y2hlZCBmcm9tIHRoZSBXb29kcyIsCiAgICAgICAgICAgICAgICAibmV2ZXItbGVmdCI6ICJUaGV5IE5ldmVyIExlZnQiCiAgICAgICAgICAgIH07CgogICAgICAgICAgICByZXR1cm4gIkJhZGdlIGVhcm5lZDogIiArIChiYWRnZU5hbWVzW25ld0JhZGdlSWRzWzBdXSB8fCBuZXdCYWRnZUlkc1swXSk7CiAgICAgICAgfQoKICAgICAgICBpZiAodi5jaGFwdGVyNkNvbXBsZXRlKSB7CiAgICAgICAgICAgIHJldHVybiAiRXBpc29kZSBPbmUgY29tcGxldGVkIjsKICAgICAgICB9CiAgICAgICAgaWYgKHYuY2hhcHRlcjVDb21wbGV0ZSkgewogICAgICAgICAgICByZXR1cm4gIkNoYXB0ZXIgNSBjb21wbGV0ZWQiOwogICAgICAgIH0KICAgICAgICBpZiAodi5jaGFwdGVyNENvbXBsZXRlKSB7CiAgICAgICAgICAgIHJldHVybiAiQ2hhcHRlciA0IGNvbXBsZXRlZCI7CiAgICAgICAgfQogICAgICAgIGlmICh2LmNoYXB0ZXIzQ29tcGxldGUpIHsKICAgICAgICAgICAgcmV0dXJuICJDaGFwdGVyIDMgY29tcGxldGVkIjsKICAgICAgICB9CiAgICAgICAgaWYgKHYuZ3JvdXBVbml0ZWQpIHsKICAgICAgICAgICAgcmV0dXJuICJUaGUgaW52ZXN0aWdhdG9ycyB1bml0ZWQiOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICJDaGFwdGVyICIgKyBOdW1iZXIodi5jaGFwdGVyIHx8IDEpICsgIiBjaGVja3BvaW50IjsKICAgIH0sCgogICAgc2hvd05vdGljZTogZnVuY3Rpb24gKHJlYXNvbikgewogICAgICAgICQoIiNibS1hdXRvc2F2ZS1ub3RpY2UiKS5yZW1vdmUoKTsKCiAgICAgICAgdmFyICRub3RpY2UgPSAkKCI8ZGl2PiIsIHsKICAgICAgICAgICAgaWQ6ICJibS1hdXRvc2F2ZS1ub3RpY2UiLAogICAgICAgICAgICBjbGFzczogImJtLWF1dG9zYXZlLW5vdGljZSIsCiAgICAgICAgICAgIHJvbGU6ICJzdGF0dXMiLAogICAgICAgICAgICAiYXJpYS1saXZlIjogInBvbGl0ZSIKICAgICAgICB9KTsKCiAgICAgICAgJCgiPHNwYW4+IiwgewogICAgICAgICAgICBjbGFzczogImJtLWF1dG9zYXZlLWljb24iLAogICAgICAgICAgICAiYXJpYS1oaWRkZW4iOiAidHJ1ZSIsCiAgICAgICAgICAgIHRleHQ6ICJTIgogICAgICAgIH0pLmFwcGVuZFRvKCRub3RpY2UpOwoKICAgICAgICAkKCI8c3Bhbj4iLCB7CiAgICAgICAgICAgIGNsYXNzOiAiYm0tYXV0b3NhdmUtY29weSIsCiAgICAgICAgICAgIHRleHQ6ICJDYXNlIGF1dG9zYXZlZCAtICIgKyByZWFzb24KICAgICAgICB9KS5hcHBlbmRUbygkbm90aWNlKTsKCiAgICAgICAgJG5vdGljZS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KTsKCiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAkbm90aWNlLmFkZENsYXNzKCJpcy1sZWF2aW5nIik7CiAgICAgICAgfSwgMjIwMCk7CgogICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgJG5vdGljZS5yZW1vdmUoKTsKICAgICAgICB9LCAyODAwKTsKICAgIH0sCgogICAgc2F2ZTogZnVuY3Rpb24gKHJlYXNvbiwgc2lnbmF0dXJlLCBiYWRnZUlkcykgewogICAgICAgIGlmICh0aGlzLmJ1c3kgfHwgIVNhdmUuYnJvd3Nlci5hdXRvLmlzRW5hYmxlZCgpKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHRoaXMuYnVzeSA9IHRydWU7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciBkZXNjcmlwdGlvbiA9IENvbmZpZy5zYXZlcy5kZXNjcmlwdGlvbnMoKTsKCiAgICAgICAgICAgIFNhdmUuYnJvd3Nlci5hdXRvLnNhdmUoMCwgZGVzY3JpcHRpb24sIHsKICAgICAgICAgICAgICAgIGNoZWNrcG9pbnQ6IHJlYXNvbiwKICAgICAgICAgICAgICAgIGNoYXB0ZXI6IE51bWJlcihTdGF0ZS52YXJpYWJsZXMuY2hhcHRlciB8fCAwKSwKICAgICAgICAgICAgICAgIHBhc3NhZ2U6IFN0YXRlLnBhc3NhZ2UKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICB0aGlzLmxhc3RTaWduYXR1cmUgPSBzaWduYXR1cmU7CiAgICAgICAgICAgIHRoaXMucHJldmlvdXNCYWRnZUlkcyA9IGJhZGdlSWRzLnNsaWNlKCk7CiAgICAgICAgICAgIHRoaXMuc2hvd05vdGljZShyZWFzb24pOwogICAgICAgIH0KICAgICAgICBjYXRjaCAoZXJyb3IpIHsKICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQmxhY2t3b29kIGF1dG9zYXZlIGZhaWxlZDoiLCBlcnJvcik7CiAgICAgICAgfQogICAgICAgIGZpbmFsbHkgewogICAgICAgICAgICB0aGlzLmJ1c3kgPSBmYWxzZTsKICAgICAgICB9CiAgICB9LAoKICAgIGNoZWNrOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKHRoaXMuZXhjbHVkZWRQYXNzYWdlcy5pbmNsdWRlcyhTdGF0ZS5wYXNzYWdlKSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgc2lnbmF0dXJlID0gdGhpcy5nZXRTaWduYXR1cmUoKTsKICAgICAgICB2YXIgYmFkZ2VJZHMgPSB0aGlzLmdldEJhZGdlSWRzKCk7CgogICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkgewogICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTsKICAgICAgICAgICAgdGhpcy5sYXN0U2lnbmF0dXJlID0gc2lnbmF0dXJlOwogICAgICAgICAgICB0aGlzLnByZXZpb3VzQmFkZ2VJZHMgPSBiYWRnZUlkcy5zbGljZSgpOwogICAgICAgICAgICB0aGlzLnNhdmUoIkNhc2UgYmVndW4iLCBzaWduYXR1cmUsIGJhZGdlSWRzKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgaWYgKHNpZ25hdHVyZSA9PT0gdGhpcy5sYXN0U2lnbmF0dXJlKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHZhciByZWFzb24gPSB0aGlzLmdldFJlYXNvbih0aGlzLnByZXZpb3VzQmFkZ2VJZHMsIGJhZGdlSWRzKTsKICAgICAgICB0aGlzLnNhdmUocmVhc29uLCBzaWduYXR1cmUsIGJhZGdlSWRzKTsKICAgIH0KfTsKCi8qIFBhc3NhZ2VGb290ZXIgaGFzIGZpbmlzaGVkIGF3YXJkaW5nIGJhZGdlcyBiZWZvcmUgOnBhc3NhZ2VkaXNwbGF5IHJ1bnMuICovCiQoZG9jdW1lbnQpLm9uKCI6cGFzc2FnZWRpc3BsYXkuYm1BdXRvc2F2ZSIsIGZ1bmN0aW9uICgpIHsKICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICBzZXR1cC5ibUF1dG9zYXZlLmNoZWNrKCk7CiAgICB9LCAwKTsKfSk7Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBMT0FEIEFVVE9TQVZFIFNJREVCQVIgQlVUVE9OCiAgIEFkZCB0aGlzIGNvbXBsZXRlIGJsb2NrIHRvIHRoZSBFTkQgb2YgU3RvcnkgSmF2YVNjcmlwdC4KICAgUmVxdWlyZXMgdGhlIHNpbmdsZS1zbG90IGF1dG9zYXZlIHN5c3RlbSB1c2luZyBzbG90IDAuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKc2V0dXAudXBkYXRlTG9hZEF1dG9zYXZlQnV0dG9uID0gZnVuY3Rpb24gKCkgewogICAgdmFyICRtZW51Q29yZSA9ICQoIiNtZW51LWNvcmUiKTsKICAgIHZhciAkc2F2ZXNJdGVtID0gJCgiI21lbnUtaXRlbS1zYXZlcyIpOwogICAgdmFyICRpdGVtID0gJCgiI21lbnUtaXRlbS1sb2FkLWF1dG9zYXZlIik7CgogICAgaWYgKCEkbWVudUNvcmUubGVuZ3RoIHx8ICEkc2F2ZXNJdGVtLmxlbmd0aCkgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAoISRpdGVtLmxlbmd0aCkgewogICAgICAgICRpdGVtID0gJCgiPGxpPiIsIHsKICAgICAgICAgICAgaWQ6ICJtZW51LWl0ZW0tbG9hZC1hdXRvc2F2ZSIKICAgICAgICB9KTsKCiAgICAgICAgdmFyICRsaW5rID0gJCgiPGE+IiwgewogICAgICAgICAgICBocmVmOiAiIyIsCiAgICAgICAgICAgIHJvbGU6ICJidXR0b24iLAogICAgICAgICAgICB0ZXh0OiAiTG9hZCBBdXRvc2F2ZSIsCiAgICAgICAgICAgICJhcmlhLWxhYmVsIjogIkxvYWQgdGhlIG1vc3QgcmVjZW50IGF1dG9zYXZlIgogICAgICAgIH0pOwoKICAgICAgICAkbGluay5vbigiY2xpY2suYm1Mb2FkQXV0b3NhdmUiLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGlmICghU2F2ZS5icm93c2VyLmF1dG8uaXNFbmFibGVkKCkgfHwgIVNhdmUuYnJvd3Nlci5hdXRvLmhhcygwKSkgewogICAgICAgICAgICAgICAgc2V0dXAudXBkYXRlTG9hZEF1dG9zYXZlQnV0dG9uKCk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRsaW5rLmF0dHIoImFyaWEtZGlzYWJsZWQiLCAidHJ1ZSIpLmFkZENsYXNzKCJpcy1sb2FkaW5nIik7CgogICAgICAgICAgICBTYXZlLmJyb3dzZXIuYXV0by5sb2FkKDApLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgRW5naW5lLnNob3coKTsKICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJCbGFja3dvb2QgYXV0b3NhdmUgbG9hZCBmYWlsZWQ6IiwgZXJyb3IpOwogICAgICAgICAgICAgICAgJGxpbmsucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLnJlbW92ZUNsYXNzKCJpcy1sb2FkaW5nIik7CiAgICAgICAgICAgICAgICBVSS5hbGVydCgiVGhlIGF1dG9zYXZlIGNvdWxkIG5vdCBiZSBsb2FkZWQuICIgKyBlcnJvci5tZXNzYWdlKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CgogICAgICAgICRpdGVtLmFwcGVuZCgkbGluayk7CiAgICAgICAgJGl0ZW0uaW5zZXJ0QmVmb3JlKCRzYXZlc0l0ZW0pOwogICAgfQoKICAgIHZhciBoYXNBdXRvc2F2ZSA9IFNhdmUuYnJvd3Nlci5hdXRvLmlzRW5hYmxlZCgpICYmIFNhdmUuYnJvd3Nlci5hdXRvLmhhcygwKTsKICAgIHZhciAkYnV0dG9uID0gJGl0ZW0uY2hpbGRyZW4oImEiKTsKCiAgICAkYnV0dG9uLnRvZ2dsZUNsYXNzKCJpcy11bmF2YWlsYWJsZSIsICFoYXNBdXRvc2F2ZSk7CiAgICAkYnV0dG9uLmF0dHIoImFyaWEtZGlzYWJsZWQiLCBoYXNBdXRvc2F2ZSA/ICJmYWxzZSIgOiAidHJ1ZSIpOwogICAgJGJ1dHRvbi5hdHRyKAogICAgICAgICJ0aXRsZSIsCiAgICAgICAgaGFzQXV0b3NhdmUKICAgICAgICAgICAgPyAiTG9hZCB0aGUgbW9zdCByZWNlbnQgYXV0b21hdGljIGNoZWNrcG9pbnQiCiAgICAgICAgICAgIDogIk5vIGF1dG9zYXZlIGlzIGF2YWlsYWJsZSB5ZXQiCiAgICApOwp9OwoKLyogQ3JlYXRlIGFuZCByZWZyZXNoIHRoZSBjb250cm9sIHdoZW5ldmVyIHRoZSBzaWRlYmFyIGlzIHJlYnVpbHQuICovCiQoZG9jdW1lbnQpLm9uKCI6c3RvcnlyZWFkeS5ibUxvYWRBdXRvc2F2ZSA6dWl1cGRhdGUuYm1Mb2FkQXV0b3NhdmUgOnBhc3NhZ2VkaXNwbGF5LmJtTG9hZEF1dG9zYXZlIiwgZnVuY3Rpb24gKCkgewogICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgIHNldHVwLnVwZGF0ZUxvYWRBdXRvc2F2ZUJ1dHRvbigpOwogICAgfSwgMCk7Cn0pOwoKLyogUmVmcmVzaCB0aGUgY29udHJvbCBpbW1lZGlhdGVseSBhZnRlciB0aGUgY3VzdG9tIGF1dG9zYXZlIG5vdGljZSBhcHBlYXJzLiAqLwokKGRvY3VtZW50KS5vbigiRE9NTm9kZUluc2VydGVkLmJtTG9hZEF1dG9zYXZlIiwgIiNibS1hdXRvc2F2ZS1ub3RpY2UiLCBmdW5jdGlvbiAoKSB7CiAgICBzZXR1cC51cGRhdGVMb2FkQXV0b3NhdmVCdXR0b24oKTsKfSk7CgoKLyogUmVtb3ZlIHRoZSBidWlsdC1pbiBDb250aW51ZSBjb250cm9sOyBMb2FkIEF1dG9zYXZlIGlzIHRoZSBpbnRlbnRpb25hbCByZXN1bWUgYWN0aW9uLiAqLwokKGRvY3VtZW50KS5vbignOnN0b3J5cmVhZHkgOnVpdXBkYXRlJywgZnVuY3Rpb24gKCkgewogICAgJCgnI21lbnUtaXRlbS1jb250aW51ZScpLnJlbW92ZSgpOwp9KTsKCgovKiBSYW5kb20gaWxsdXN0cmF0ZWQgaG9tZSBlbnZpcm9ubWVudCBsb2FkZXIuICovCihmdW5jdGlvbiAoKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgdmFyIHNjZW5lcyA9IFsKICAgICAgICB7IGlkOiAnaW52ZXN0aWdhdG9yLXdpbmRvdycsIGZpbGU6ICdpbWFnZXMvaG9tZV9pbnZlc3RpZ2F0b3Jfd2luZG93LnBuZycgfSwKICAgICAgICB7IGlkOiAnYXR0aWMtYXJjaGl2ZScsIGZpbGU6ICdpbWFnZXMvaG9tZV9hdHRpY19hcmNoaXZlLnBuZycgfSwKICAgICAgICB7IGlkOiAnYWJhbmRvbmVkLWxpYnJhcnknLCBmaWxlOiAnaW1hZ2VzL2hvbWVfYWJhbmRvbmVkX2xpYnJhcnkucG5nJyB9LAogICAgICAgIHsgaWQ6ICdoaXN0b3J5LWNsYXNzcm9vbScsIGZpbGU6ICdpbWFnZXMvaG9tZV9oaXN0b3J5X2NsYXNzcm9vbS5wbmcnIH0sCiAgICAgICAgeyBpZDogJ3dpbmNoZXN0ZXItc3R1ZHknLCBmaWxlOiAnaW1hZ2VzL2hvbWVfd2luY2hlc3Rlcl9zdHVkeS5wbmcnIH0sCiAgICAgICAgeyBpZDogJ2NlbWV0ZXJ5LWdhdGVob3VzZScsIGZpbGU6ICdpbWFnZXMvaG9tZV9jZW1ldGVyeV9nYXRlaG91c2UucG5nJyB9LAogICAgICAgIHsgaWQ6ICdoaWRkZW4tcGFzc2FnZScsIGZpbGU6ICdpbWFnZXMvaG9tZV9oaWRkZW5fcGFzc2FnZS5wbmcnIH0sCiAgICAgICAgeyBpZDogJzE5NzgtYmVkcm9vbScsIGZpbGU6ICdpbWFnZXMvaG9tZV8xOTc4X2JlZHJvb20ucG5nJyB9CiAgICBdOwoKICAgIGZ1bmN0aW9uIGNob29zZU5ld1NjZW5lKCkgewogICAgICAgIHZhciBsYXN0S2V5ID0gJ2JyZWNrSG9tZVNjZW5lTGFzdCc7CiAgICAgICAgdmFyIGxhc3RJZCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtYm0taG9tZS1zY2VuZScpOwogICAgICAgIGlmICghbGFzdElkKSB7CiAgICAgICAgICAgIHRyeSB7IGxhc3RJZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxhc3RLZXkpOyB9IGNhdGNoIChlKSB7fQogICAgICAgIH0KCiAgICAgICAgdmFyIGNob2ljZXMgPSBzY2VuZXMuZmlsdGVyKGZ1bmN0aW9uIChzY2VuZSkgeyByZXR1cm4gc2NlbmUuaWQgIT09IGxhc3RJZDsgfSk7CiAgICAgICAgaWYgKCFjaG9pY2VzLmxlbmd0aCkgeyBjaG9pY2VzID0gc2NlbmVzLnNsaWNlKCk7IH0KICAgICAgICB2YXIgc2VsZWN0ZWQgPSBjaG9pY2VzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNob2ljZXMubGVuZ3RoKV07CgogICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1ibS1ob21lLWJhY2tncm91bmQnLCAndXJsKCInICsgc2VsZWN0ZWQuZmlsZSArICciKScpOwogICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYm0taG9tZS1zY2VuZScsIHNlbGVjdGVkLmlkKTsKICAgICAgICB0cnkgeyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShsYXN0S2V5LCBzZWxlY3RlZC5pZCk7IH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgcmV0dXJuIHNlbGVjdGVkOwogICAgfQoKICAgICQoZG9jdW1lbnQpLm9uKCc6cGFzc2FnZXJlbmRlcicsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgIHZhciBzdGFnZSA9IGV2ZW50LmNvbnRlbnQucXVlcnlTZWxlY3RvciA/IGV2ZW50LmNvbnRlbnQucXVlcnlTZWxlY3RvcignLmJtLXBvcnRhbC1zdGFnZScpIDogbnVsbDsKICAgICAgICBpZiAoIXN0YWdlKSB7IHJldHVybjsgfQoKICAgICAgICB2YXIgc2VsZWN0ZWQgPSBjaG9vc2VOZXdTY2VuZSgpOwogICAgICAgIHN0YWdlLnNldEF0dHJpYnV0ZSgnZGF0YS1zY2VuZScsIHNlbGVjdGVkLmlkKTsKICAgICAgICBzdGFnZS5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywgJ0hvbWUgZW52aXJvbm1lbnQ6ICcgKyBzZWxlY3RlZC5pZC5yZXBsYWNlKC8tL2csICcgJykpOwogICAgfSk7Cn0oKSk7CgoKLyogUGhhc2UgMSBsb2NhdGlvbi1hd2FyZSBnYW1lcGxheSBiYWNrZ3JvdW5kIGNvbnRyb2xsZXIuICovCihmdW5jdGlvbiAoKSB7CiAgICAndXNlIHN0cmljdCc7CiAgICB2YXIgYmFja2dyb3VuZHMgPSB7CiAgICAgICAgYmVkcm9vbTogJ2ltYWdlcy9nYW1lX2tldmluX2JlZHJvb20ucG5nJywKICAgICAgICBzY2hvb2xFeHRlcmlvcjogJ2ltYWdlcy9nYW1lX3NjaG9vbF9leHRlcmlvci5wbmcnLAogICAgICAgIHNjaG9vbEhhbGw6ICdpbWFnZXMvZ2FtZV9zY2hvb2xfaGFsbHdheS5wbmcnLAogICAgICAgIGNsYXNzcm9vbTogJ2ltYWdlcy9nYW1lX2hpc3RvcnlfY2xhc3Nyb29tLnBuZycsCiAgICAgICAgcGFzc2FnZTogJ2ltYWdlcy9nYW1lX2hpZGRlbl9wYXNzYWdlLnBuZycsCiAgICAgICAgaG91c2U6ICdpbWFnZXMvZ2FtZV93aW5jaGVzdGVyX2Rvd25zdGFpcnMucG5nJywKICAgICAgICB1cHN0YWlyczogJ2ltYWdlcy9nYW1lX3dpbmNoZXN0ZXJfdXBzdGFpcnMucG5nJywKICAgICAgICBtZW1vcnlSb29tOiAnaW1hZ2VzL2dhbWVfbWVtb3J5X3Jvb20ucG5nJywKICAgICAgICBsaWJyYXJ5OiAnaW1hZ2VzL2dhbWVfdG93bl9saWJyYXJ5LnBuZycsCiAgICAgICAgYnJlYXJ5OiAnaW1hZ2VzL2dhbWVfYnJlYXJ5LnBuZycsCiAgICAgICAgY2VtZXRlcnk6ICdpbWFnZXMvZ2FtZV9jZW1ldGVyeS5wbmcnLAogICAgICAgIG1lbW9yeUdyYXZlOiAnaW1hZ2VzL2dhbWVfbWVtb3J5X2dyYXZlLnBuZycKICAgIH07CgogICAgZnVuY3Rpb24gc2NlbmVGb3IobmFtZSkgewogICAgICAgIGlmIChuYW1lID09PSAnU3RhcnQnIHx8IG5hbWUgPT09ICdNb3JlQ29taW5nU29vbicgfHwgbmFtZSA9PT0gJ0Nhc2VSZXN1bHRzJykgeyByZXR1cm4gbnVsbDsgfQogICAgICAgIGlmICgvTWVtb3J5R3JhdmV8Q2VtZXRlcnlBc2h0b25MZXR0ZXJ8Q2VtZXRlcnlLaW1teUxldHRlcnxDZW1ldGVyeVB1cnBsZUxldHRlcnxDZW1ldGVyeUJlbG93V2FybmluZ3xDZW1ldGVyeUxpc3RlbkJlbG93Ly50ZXN0KG5hbWUpKSByZXR1cm4gJ21lbW9yeUdyYXZlJzsKICAgICAgICBpZiAoL15DZW1ldGVyeS8udGVzdChuYW1lKSkgcmV0dXJuICdjZW1ldGVyeSc7CiAgICAgICAgaWYgKC9QdXJwbGVSZXN0cmljdGVkU3RhY2tzfFB1cnBsZU5hbWVDb3JhfFB1cnBsZUFza0Nhcm9saW5lfFB1cnBsZUZ1dHVyZUNhcmR8UHVycGxlUmVkQm9va3xQdXJwbGVMYXN0UGFnZXxQdXJwbGVLaW1teVBhZ2V8UHVycGxlU2Nvb3RQYWdlfFB1cnBsZURlc3Ryb3lQYWdlLy50ZXN0KG5hbWUpKSByZXR1cm4gJ2JyZWFyeSc7CiAgICAgICAgaWYgKC9eUHVycGxlfExpYnJhcnl8QXJjaGl2ZXxLaW1teS8udGVzdChuYW1lKSkgcmV0dXJuICdsaWJyYXJ5JzsKICAgICAgICBpZiAoL1Vwc3RhaXJzTWVtb3J5Um9vbXxUYWtlVXBzdGFpcnNSZWdpc3RyeXxUYWtlT3JpZ2luYWxQaG90b3xDbG9zZU1lbW9yeURvb3IvLnRlc3QobmFtZSkpIHJldHVybiAnbWVtb3J5Um9vbSc7CiAgICAgICAgaWYgKC9eVXBzdGFpcnN8TmFtZVB1enpsZXxTcGVha0x1Y2lsbGVEb29yfFVzZU9uZURvb3J8Q2FsbEFzaHRvblVwc3RhaXJzLy50ZXN0KG5hbWUpKSByZXR1cm4gJ3Vwc3RhaXJzJzsKICAgICAgICBpZiAoL1dpbmNoZXN0ZXJ8QWJiaWV8S2l0Y2hlbnxIb3VzZVNlYWx8UmVzdG9yZU5hbWVzfFJlc3RvcmVOdW1iZXJ8UmVzdG9yZVJoeXRobXxSZXNjdWV8RnJvbnREb29yfENlbGxhcnxPYWtCb3VuZGFyeXxVbmRlclN0YWlyfFNlYWxCbGFua3xDYWxsQWNyb3NzfFJ1c2hUaGVTdGFpcnN8VGFrZUNhdEJvb2t8UHJvdGVjdEtpdGNoZW58UXVlc3Rpb25BYmJpZXxSYWNlVG8vLnRlc3QobmFtZSkpIHJldHVybiAnaG91c2UnOwogICAgICAgIGlmICgvUGFzc2FnZXxUdW5uZWx8SGlkZGVufFN0YWlyfFJvbWFufEhleGFmb2lsLy50ZXN0KG5hbWUpKSByZXR1cm4gJ3Bhc3NhZ2UnOwogICAgICAgIGlmICgvQXNodG9ufEhpc3Rvcnl8Q2xhc3Nyb29tLy50ZXN0KG5hbWUpKSByZXR1cm4gJ2NsYXNzcm9vbSc7CiAgICAgICAgaWYgKC9TY2hvb2xFeHRlcmlvcnxBcnJpdmFsfEJ1c3xGaXJzdERheS8udGVzdChuYW1lKSkgcmV0dXJuICdzY2hvb2xFeHRlcmlvcic7CiAgICAgICAgaWYgKC9LZXZpbnxCZWRyb29tfE1vcm5pbmd8V2F0Y2gvLnRlc3QobmFtZSkpIHJldHVybiAnYmVkcm9vbSc7CiAgICAgICAgcmV0dXJuICdzY2hvb2xIYWxsJzsKICAgIH0KCiAgICBmdW5jdGlvbiBlbnN1cmVCYWNrZHJvcCgpIHsKICAgICAgICB2YXIgYmFja2Ryb3AgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm0tZ2FtZXBsYXktYmFja2Ryb3AnKTsKICAgICAgICBpZiAoIWJhY2tkcm9wKSB7CiAgICAgICAgICAgIGJhY2tkcm9wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgICAgIGJhY2tkcm9wLmlkID0gJ2JtLWdhbWVwbGF5LWJhY2tkcm9wJzsKICAgICAgICAgICAgYmFja2Ryb3Auc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7CiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYmFja2Ryb3ApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gYmFja2Ryb3A7CiAgICB9CgogICAgJChkb2N1bWVudCkub24oJzpwYXNzYWdlZGlzcGxheScsIGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgbmFtZSA9IFN0YXRlLnBhc3NhZ2U7CiAgICAgICAgdmFyIHNjZW5lID0gc2NlbmVGb3IobmFtZSk7CiAgICAgICAgZW5zdXJlQmFja2Ryb3AoKTsKICAgICAgICBpZiAoIXNjZW5lKSB7CiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnYm0tZ2FtZXBsYXktc2NlbmUnLCdibS1iZy1saWdodCcpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1ibS1nYW1lcGxheS1iZycsICd1cmwoIicgKyBiYWNrZ3JvdW5kc1tzY2VuZV0gKyAnIiknKTsKICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2JtLWdhbWVwbGF5LXNjZW5lJyk7CiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QudG9nZ2xlKCdibS1iZy1saWdodCcsIHNjZW5lID09PSAnc2Nob29sRXh0ZXJpb3InIHx8IHNjZW5lID09PSAnbWVtb3J5Um9vbScpOwogICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYm0tZ2FtZXBsYXktc2NlbmUnLCBzY2VuZSk7CiAgICB9KTsKfSgpKTsKCgovKiBQaGFzZSAyOiBleHBsaWNpdCBwYXNzYWdlIHRhZ3MsIGR1YWwtbGF5ZXIgY3Jvc3NmYWRlLCBsb2NhdGlvbiBsYWJlbCBhbmQgc2V0dGluZ3MuICovCihmdW5jdGlvbigpeyd1c2Ugc3RyaWN0JzsKdmFyIHNjZW5lcz17YmVkcm9vbTpbJ2ltYWdlcy9nYW1lX2tldmluX2JlZHJvb20ucG5nJywiS2V2aW4ncyBCZWRyb29tIl0sc2Nob29sZXh0ZXJpb3I6WydpbWFnZXMvZ2FtZV9zY2hvb2xfZXh0ZXJpb3IucG5nJywnQnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wnXSxzY2hvb2xoYWxsOlsnaW1hZ2VzL2dhbWVfc2Nob29sX2hhbGx3YXkucG5nJywnU2Nob29sIEhhbGx3YXknXSxjbGFzc3Jvb206WydpbWFnZXMvZ2FtZV9oaXN0b3J5X2NsYXNzcm9vbS5wbmcnLCJNci4gQXNodG9uJ3MgQ2xhc3Nyb29tIl0scGFzc2FnZTpbJ2ltYWdlcy9nYW1lX2hpZGRlbl9wYXNzYWdlLnBuZycsJ0hpZGRlbiBQYXNzYWdlJ10saG91c2U6WydpbWFnZXMvZ2FtZV93aW5jaGVzdGVyX2Rvd25zdGFpcnMucG5nJywnV2luY2hlc3RlciBIb3VzZSddLHVwc3RhaXJzOlsnaW1hZ2VzL2dhbWVfd2luY2hlc3Rlcl91cHN0YWlycy5wbmcnLCdVcHN0YWlycyBMYW5kaW5nJ10sbWVtb3J5cm9vbTpbJ2ltYWdlcy9nYW1lX21lbW9yeV9yb29tLnBuZycsJ01lbW9yeSBSb29tJ10sbGlicmFyeTpbJ2ltYWdlcy9nYW1lX3Rvd25fbGlicmFyeS5wbmcnLCdUb3duIExpYnJhcnknXSxicmVhcnk6WydpbWFnZXMvZ2FtZV9icmVhcnkucG5nJywnVGhlIEJyZWFyeSddLGNlbWV0ZXJ5OlsnaW1hZ2VzL2dhbWVfY2VtZXRlcnkucG5nJywnQnJlY2tlbnJpZGdlIENlbWV0ZXJ5J10sbWVtb3J5Z3JhdmU6WydpbWFnZXMvZ2FtZV9tZW1vcnlfZ3JhdmUucG5nJywnTWVtb3J5IEdyYXZlJ119Owp2YXIgY3VycmVudD1udWxsLGZyb250PSdhJzsKZnVuY3Rpb24gZW5zdXJlKGlkLGNscyl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2lmKCFlKXtlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2UuaWQ9aWQ7aWYoY2xzKWUuY2xhc3NOYW1lPWNscztlLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCd0cnVlJyk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKX1yZXR1cm4gZX0KZnVuY3Rpb24gdGFnZ2VkU2NlbmUoKXt2YXIgZWxzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNwYXNzYWdlcyAucGFzc2FnZScpO3ZhciBwPWVscy5sZW5ndGg/ZWxzW2Vscy5sZW5ndGgtMV06bnVsbDtpZighcClyZXR1cm4gbnVsbDt2YXIgY2xzPXAuY2xhc3NOYW1lLnNwbGl0KC9ccysvKTtmb3IodmFyIGk9MDtpPGNscy5sZW5ndGg7aSsrKXtpZihjbHNbaV0uaW5kZXhPZignYmctJyk9PT0wKXJldHVybiBjbHNbaV0uc2xpY2UoMyl9cmV0dXJuIG51bGx9CmZ1bmN0aW9uIG1vZGUoKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdicmVja0dhbWVwbGF5QmFja2dyb3VuZE1vZGUnKXx8J2Z1bGwnfWNhdGNoKGUpe3JldHVybidmdWxsJ319CmZ1bmN0aW9uIGFwcGx5TW9kZSgpe3ZhciBtPW1vZGUoKTtkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoJ2JtLWJhY2tncm91bmRzLW9mZicsbT09PSdvZmYnKTtkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoJ2JtLWJhY2tncm91bmRzLXN0YXRpYycsbT09PSdzdGF0aWMnKX0KZnVuY3Rpb24gc2hvd0xhYmVsKHRleHQpe2lmKG1vZGUoKT09PSdvZmYnKXJldHVybjt2YXIgbD1lbnN1cmUoJ2JtLWxvY2F0aW9uLWxhYmVsJyk7bC50ZXh0Q29udGVudD10ZXh0O2wuY2xhc3NMaXN0LnJlbW92ZSgnYm0tbGFiZWwtc2hvdycpO3ZvaWQgbC5vZmZzZXRXaWR0aDtsLmNsYXNzTGlzdC5hZGQoJ2JtLWxhYmVsLXNob3cnKX0KJChkb2N1bWVudCkub24oJzpwYXNzYWdlZGlzcGxheScsZnVuY3Rpb24oKXthcHBseU1vZGUoKTt2YXIga2V5PXRhZ2dlZFNjZW5lKCk7aWYoIWtleXx8IXNjZW5lc1trZXldKXtkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2JtLWdhbWVwbGF5LXNjZW5lJyk7Y3VycmVudD1udWxsO3JldHVybn1kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2JtLWdhbWVwbGF5LXNjZW5lJyk7aWYoa2V5PT09Y3VycmVudClyZXR1cm47dmFyIGJhY2s9ZnJvbnQ9PT0nYSc/J2InOidhJyxpbmNvbWluZz1lbnN1cmUoJ2JtLWJnLWxheWVyLScrYmFjayksb3V0Z29pbmc9ZW5zdXJlKCdibS1iZy1sYXllci0nK2Zyb250KTtpbmNvbWluZy5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3VybCgiJytzY2VuZXNba2V5XVswXSsnIiknO2luY29taW5nLmNsYXNzTGlzdC5hZGQoJ2JtLWJnLXZpc2libGUnKTtvdXRnb2luZy5jbGFzc0xpc3QucmVtb3ZlKCdibS1iZy12aXNpYmxlJyk7ZnJvbnQ9YmFjaztjdXJyZW50PWtleTtzaG93TGFiZWwoc2NlbmVzW2tleV1bMV0pfSk7CndpbmRvdy5CcmVja0JhY2tncm91bmRzPXtzZXRNb2RlOmZ1bmN0aW9uKG0pe2lmKFsnZnVsbCcsJ3N0YXRpYycsJ29mZiddLmluZGV4T2YobSk8MCltPSdmdWxsJzt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2JyZWNrR2FtZXBsYXlCYWNrZ3JvdW5kTW9kZScsbSl9Y2F0Y2goZSl7fWFwcGx5TW9kZSgpfSxnZXRNb2RlOm1vZGV9Owp9KCkpOwoKCi8qIFJlZ2lzdGVyIGdhbWVwbGF5IGJhY2tncm91bmQgcHJlZmVyZW5jZSBpbiBTdWdhckN1YmUgU2V0dGluZ3MuICovCihmdW5jdGlvbigpewppZih0eXBlb2YgU2V0dGluZz09PSd1bmRlZmluZWQnfHx0eXBlb2YgU2V0dGluZy5hZGRMaXN0IT09J2Z1bmN0aW9uJylyZXR1cm47CnRyeXsKU2V0dGluZy5hZGRMaXN0KCdnYW1lcGxheUJhY2tncm91bmRzJyx7bGFiZWw6J0dhbWVwbGF5IGJhY2tncm91bmRzJyxsaXN0OlsnRnVsbCcsJ1N0YXRpYycsJ09mZiddLGRlZmF1bHQ6J0Z1bGwnLG9uSW5pdDpmdW5jdGlvbigpe3ZhciBtPVN0cmluZyhzZXR0aW5ncy5nYW1lcGxheUJhY2tncm91bmRzfHwnRnVsbCcpLnRvTG93ZXJDYXNlKCk7aWYod2luZG93LkJyZWNrQmFja2dyb3VuZHMpd2luZG93LkJyZWNrQmFja2dyb3VuZHMuc2V0TW9kZShtKX0sb25DaGFuZ2U6ZnVuY3Rpb24oKXt2YXIgbT1TdHJpbmcoc2V0dGluZ3MuZ2FtZXBsYXlCYWNrZ3JvdW5kc3x8J0Z1bGwnKS50b0xvd2VyQ2FzZSgpO2lmKHdpbmRvdy5CcmVja0JhY2tncm91bmRzKXdpbmRvdy5CcmVja0JhY2tncm91bmRzLnNldE1vZGUobSl9fSk7Cn1jYXRjaChlKXt9Cn0oKSk7CgovKiBQaGFzZSAzIGVudmlyb25tZW50YWwgYXRtb3NwaGVyZSBjb250cm9sbGVyIGFuZCBhc3NldCBwcmVsb2FkZXIuICovCihmdW5jdGlvbigpeyd1c2Ugc3RyaWN0JzsKdmFyIGF0bW9zcGhlcmVNYXA9e2JlZHJvb206WydyYWluJywnY2xvY2snXSxzY2hvb2xleHRlcmlvcjpbJ3JhaW4nLCdmb2cnXSxzY2hvb2xoYWxsOlsnZ3JlZW4nLCdjbG9jayddLGNsYXNzcm9vbTpbJ3JhaW4nLCdncmVlbicsJ2Nsb2NrJ10scGFzc2FnZTpbJ2R1c3QnLCdncmVlbicsJ3B1cnBsZScsJ3Jvb3RzJ10saG91c2U6WydkdXN0JywncmVkJywncm9vdHMnXSx1cHN0YWlyczpbJ2R1c3QnLCdyZWQnXSxtZW1vcnlyb29tOlsnZHVzdCcsJ3JlZCddLGxpYnJhcnk6WydkdXN0JywncHVycGxlJ10sYnJlYXJ5OlsnZHVzdCcsJ3B1cnBsZScsJ2dyZWVuJ10sY2VtZXRlcnk6Wydmb2cnLCdyb290cyddLG1lbW9yeWdyYXZlOlsnZm9nJywncHVycGxlJywnZ3JlZW4nLCdyZWQnLCdyb290cyddfTsKdmFyIGZpbGVzPVsnZ2FtZV9rZXZpbl9iZWRyb29tLnBuZycsJ2dhbWVfc2Nob29sX2V4dGVyaW9yLnBuZycsJ2dhbWVfc2Nob29sX2hhbGx3YXkucG5nJywnZ2FtZV9oaXN0b3J5X2NsYXNzcm9vbS5wbmcnLCdnYW1lX2hpZGRlbl9wYXNzYWdlLnBuZycsJ2dhbWVfd2luY2hlc3Rlcl9kb3duc3RhaXJzLnBuZycsJ2dhbWVfd2luY2hlc3Rlcl91cHN0YWlycy5wbmcnLCdnYW1lX21lbW9yeV9yb29tLnBuZycsJ2dhbWVfdG93bl9saWJyYXJ5LnBuZycsJ2dhbWVfYnJlYXJ5LnBuZycsJ2dhbWVfY2VtZXRlcnkucG5nJywnZ2FtZV9tZW1vcnlfZ3JhdmUucG5nJ107CmZ1bmN0aW9uIGVuc3VyZShpZCxjbHMscGFyZW50KXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWUpe2U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZS5pZD1pZDtpZihjbHMpZS5jbGFzc05hbWU9Y2xzOyhwYXJlbnR8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKGUpfXJldHVybiBlfQpmdW5jdGlvbiBlZmZlY3QocGFyZW50LHR5cGUpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2knKTt2YXIgYz17cmFpbjonYm0tcmFpbicsZm9nOidibS1mb2cnLGR1c3Q6J2JtLWR1c3QnLHB1cnBsZTonYm0tZ2xvdyBibS1nbG93LXB1cnBsZScsZ3JlZW46J2JtLWdsb3cgYm0tZ2xvdy1ncmVlbicscmVkOidibS1nbG93IGJtLWdsb3ctcmVkJyxyb290czonYm0tcm9vdC1zaGFkb3cnLGNsb2NrOidibS1jbG9jay1wdWxzZSd9W3R5cGVdO2UuY2xhc3NOYW1lPWN8fCcnO3BhcmVudC5hcHBlbmRDaGlsZChlKX0KZnVuY3Rpb24gYXRtb3NwaGVyZU1vZGUoKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdicmVja0F0bW9zcGhlcmVNb2RlJyl8fCdmdWxsJ31jYXRjaChlKXtyZXR1cm4nZnVsbCd9fQpmdW5jdGlvbiBhcHBseUF0bW9zcGhlcmVNb2RlKCl7dmFyIG09YXRtb3NwaGVyZU1vZGUoKTtkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoJ2JtLWF0bW9zcGhlcmUtb2ZmJyxtPT09J29mZicpO2RvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZSgnYm0tYXRtb3NwaGVyZS1yZWR1Y2VkJyxtPT09J3JlZHVjZWQnKX0KZnVuY3Rpb24gdXBkYXRlKCl7YXBwbHlBdG1vc3BoZXJlTW9kZSgpO3ZhciBzY2VuZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWJtLWdhbWVwbGF5LXNjZW5lJyk7dmFyIGJveD1lbnN1cmUoJ2JtLWF0bW9zcGhlcmUnKTtib3guaW5uZXJIVE1MPScnOyhhdG1vc3BoZXJlTWFwW3NjZW5lXXx8W10pLmZvckVhY2goZnVuY3Rpb24oeCl7ZWZmZWN0KGJveCx4KX0pO2Vuc3VyZSgnYm0tc2NlbmUtdmlnbmV0dGUnLCdibS1zY2VuZS12aWduZXR0ZScpfQokKGRvY3VtZW50KS5vbignOnBhc3NhZ2VkaXNwbGF5JyxmdW5jdGlvbigpe3NldFRpbWVvdXQodXBkYXRlLDApfSk7CndpbmRvdy5CcmVja0F0bW9zcGhlcmU9e3NldE1vZGU6ZnVuY3Rpb24obSl7aWYoWydmdWxsJywncmVkdWNlZCcsJ29mZiddLmluZGV4T2YobSk8MCltPSdmdWxsJzt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2JyZWNrQXRtb3NwaGVyZU1vZGUnLG0pfWNhdGNoKGUpe31hcHBseUF0bW9zcGhlcmVNb2RlKCk7dXBkYXRlKCl9LGdldE1vZGU6YXRtb3NwaGVyZU1vZGV9OwokKGRvY3VtZW50KS5vbmUoJzpzdG9yeXJlYWR5JyxmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtmaWxlcy5mb3JFYWNoKGZ1bmN0aW9uKGYpe3ZhciBpPW5ldyBJbWFnZSgpO2kuc3JjPSdpbWFnZXMvJytmfSl9LDgwMCl9KTsKaWYodHlwZW9mIFNldHRpbmchPT0ndW5kZWZpbmVkJyYmdHlwZW9mIFNldHRpbmcuYWRkTGlzdD09PSdmdW5jdGlvbicpe3RyeXtTZXR0aW5nLmFkZExpc3QoJ2dhbWVwbGF5QXRtb3NwaGVyZScse2xhYmVsOidMb2NhdGlvbiBhdG1vc3BoZXJlJyxsaXN0OlsnRnVsbCcsJ1JlZHVjZWQnLCdPZmYnXSxkZWZhdWx0OidGdWxsJyxvbkluaXQ6ZnVuY3Rpb24oKXtpZih3aW5kb3cuQnJlY2tBdG1vc3BoZXJlKXdpbmRvdy5CcmVja0F0bW9zcGhlcmUuc2V0TW9kZShTdHJpbmcoc2V0dGluZ3MuZ2FtZXBsYXlBdG1vc3BoZXJlfHwnRnVsbCcpLnRvTG93ZXJDYXNlKCkpfSxvbkNoYW5nZTpmdW5jdGlvbigpe2lmKHdpbmRvdy5CcmVja0F0bW9zcGhlcmUpd2luZG93LkJyZWNrQXRtb3NwaGVyZS5zZXRNb2RlKFN0cmluZyhzZXR0aW5ncy5nYW1lcGxheUF0bW9zcGhlcmV8fCdGdWxsJykudG9Mb3dlckNhc2UoKSl9fSl9Y2F0Y2goZSl7fX0KfSgpKTsKCi8qIFBoYXNlIDQgb3B0aW9uYWwgZW52aXJvbm1lbnRhbCBkaXNjb3Zlcmllcy4gKi8KKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnOwp2YXIgZGF0YT17CmJlZHJvb206e3RpdGxlOiJLZXZpbidzIEJlZHJvb20iLGl0ZW1zOltbJ2JlZC13YXRjaCcsJ1BvY2tldCBXYXRjaCcsJ0V4YW1pbmUgdGhlIHdhdGNoIGZhY2UgYmVuZWF0aCB0aGUgbW9ybmluZyBsaWdodC4nLCdUaGUgc3RvcHBlZCBzZWNvbmQgaGFuZCBjYXN0cyB0d28gc2hhZG93cy4gT25lIHBvaW50cyB0byA5LiBUaGUgb3RoZXIgcG9pbnRzIHRvIDE0LicsJ1dhdGNoIHNoYWRvdyByZXBlYXRzIDk6MTQnXSxbJ2JlZC1ib3gnLCdVbm9wZW5lZCBNb3ZpbmcgQm94JywnSW5zcGVjdCB0aGUgYm94IG1hcmtlZCB3aXRoIHRoZSBXaW5jaGVzdGVyIGVzdGF0ZSBzZWFsLicsJ0JlbmVhdGggdGhlIHBhY2tpbmcgcGFwZXIgaXMgYSBwaG90b2dyYXBoIGNvcm5lciBzaG93aW5nIHRoZSBvbGQgb2FrIGJlZm9yZSB0aGUgaG91c2Ugd2FzIGJ1aWx0LicsJ1Bob3RvZ3JhcGggcHJlZGF0ZXMgdGhlIFdpbmNoZXN0ZXIgaG91c2UnXSxbJ2JlZC13YWxsJywnV2FsbHBhcGVyIFNlYW0nLCdDaGVjayB0aGUgdW5ldmVuIHdhbGxwYXBlciBiZXNpZGUgdGhlIHdpbmRvdy4nLCdBIHNpeC1wZXRhbCBzaGFwZSB3YXMgcHJlc3NlZCBpbnRvIHRoZSBwbGFzdGVyIGFuZCBjb3ZlcmVkIHJhdGhlciB0aGFuIHJlbW92ZWQuJywnSGV4YWZvaWwgaGlkZGVuIGJlbmVhdGggYmVkcm9vbSB3YWxscGFwZXInXV19LApjbGFzc3Jvb206e3RpdGxlOiJNci4gQXNodG9uJ3MgQ2xhc3Nyb29tIixpdGVtczpbWydjbGFzcy1jbG9jaycsJ0NsYXNzcm9vbSBDbG9jaycsJ1N0dWR5IHRoZSBjbG9jayB0aGF0IG5ldmVyIHNlZW1zIGFjY3VyYXRlLicsJ0Egc2NyYXRjaCBiZWhpbmQgdGhlIG1pbnV0ZSBoYW5kIGZvcm1zIHRoZSBsZXR0ZXIgQyB3aGVuZXZlciB0aGUgY2xvY2sgcmVhY2hlcyA5OjE0LicsJ0NsYXNzcm9vbSBjbG9jayBjb25jZWFscyBhIEMgbWFyayddLFsnY2xhc3MtbWFwJywnTGF5ZXJlZCBUb3duIE1hcCcsJ0NvbXBhcmUgdGhlIG9sZGVzdCBtYXAgYmVuZWF0aCB0aGUgY3VycmVudCBvbmUuJywnVGhlIHNjaG9vbCBhbmQgY2VtZXRlcnkgb2NjdXB5IG9wcG9zaXRlIGVuZHMgb2Ygb25lIGJ1cmllZCBib3VuZGFyeSBsaW5lLicsJ1NjaG9vbCBhbmQgY2VtZXRlcnkgc2hhcmUgYSBidXJpZWQgYm91bmRhcnknXSxbJ2NsYXNzLWNhc2UnLCdUZWFjaGVy4oCZcyBCcmllZmNhc2UnLCdJbnNwZWN0IHRoZSB3b3JuIGNvcm5lciB3aXRob3V0IG9wZW5pbmcgdGhlIGNhc2UuJywnUHVycGxlIGxpYnJhcnkgZHVzdCBpcyBjYXVnaHQgaW4gdGhlIGxlYXRoZXIgc2VhbS4gTXIuIEFzaHRvbiB2aXNpdGVkIENvcmEgYmVmb3JlIGFkbWl0dGluZyBoZSBrbmV3IGhlci4nLCdQdXJwbGUgbGlicmFyeSBkdXN0IG9uIEFzaHRvbiBicmllZmNhc2UnXV19LApob3VzZTp7dGl0bGU6J1dpbmNoZXN0ZXIgSG91c2UnLGl0ZW1zOltbJ2hvdXNlLXBob3RvJywnRmFtaWx5IFBob3RvZ3JhcGgnLCdUaWx0IHRoZSBmcmFtZSB0b3dhcmQgdGhlIG5lYXJlc3QgbGlnaHQuJywnQSBmb3VydGggcmVmbGVjdGlvbiBvY2N1cGllcyB0aGUgZ2xhc3MgZXZlbiB0aG91Z2ggb25seSB0aHJlZSBwZW9wbGUgd2VyZSBwaG90b2dyYXBoZWQuJywnRm91cnRoIHJlZmxlY3Rpb24gaW4gV2luY2hlc3RlciBwaG90b2dyYXBoJ10sWydob3VzZS1jYXRib29rJywnQ2F0IEJvb2snLCdDaGVjayB0aGUgcGFnZSBlZGdlcyB3aXRob3V0IG9wZW5pbmcgdGhlIGJvb2suJywnVGhyZWUgY29sb3JlZCB0aHJlYWRzIGJpbmQgdGhlIHNwaW5lOiBwdXJwbGUsIGdyZWVuLCBhbmQgcmVkLiBUaGUgZ3JlZW4gdGhyZWFkIGhhcyBiZWVuIGN1dC4nLCdHcmVlbiBiaW5kaW5nIHRocmVhZCBjdXQgZnJvbSBjYXQgYm9vayddLFsnaG91c2Uta2V5JywnT2xkIEJyYXNzIEtleScsJ0NvbXBhcmUgdGhlIGtleSB0ZWV0aCB3aXRoIHRoZSBudW1iZXJlZCBzdGFpcnMuJywnVGhlIHRlZXRoIHJlcGVhdCBJLCBWLCBhbmQgWCBsaWtlIFJvbWFuIG51bWVyYWxzLCBidXQgdGhlIGZpbmFsIG5vdGNoIGlzIGJsYW5rLicsJ0JyYXNzIGtleSByZXBlYXRzIHN0YWlyY2FzZSBudW1lcmFscyddXX0sCnVwc3RhaXJzOnt0aXRsZTonVXBzdGFpcnMgTGFuZGluZycsaXRlbXM6W1sndXAtZm9vdHByaW50cycsJ1dldCBGb290cHJpbnRzJywnQ291bnQgd2hlcmUgdGhlIGZvb3RwcmludHMgYmVnaW4gYW5kIHN0b3AuJywnVGhleSBiZWdpbiBhdCB0aGUgZm91cnRoIGRvb3IgYW5kIGVuZCBvbmUgc3RlcCBiZWZvcmUgdGhlIHN0YWlyY2FzZSwgYXMgdGhvdWdoIHRoZSB3YWxrZXIgd2FzIGNhcnJpZWQgYXdheS4nLCdGb290cHJpbnRzIHN0b3AgYmVmb3JlIHRoZSBzdGFpcmNhc2UnXSxbJ3VwLWRvb3JmcmFtZScsJ0ZvdXJ0aCBEb29yZnJhbWUnLCdJbnNwZWN0IHRoZSB3b29kIGdyYWluIGFyb3VuZCB0aGUgaW1wb3NzaWJsZSBkb29yd2F5LicsJ1RoZSBmcmFtZSB3YXMgYnVpbHQgZnJvbSBvYWstcm9vdCB3b29kLCBub3QgZnJvbSB0aGUgaG91c2UgbHVtYmVyLicsJ0ZvdXJ0aCBkb29yIG1hZGUgZnJvbSBvYWstcm9vdCB3b29kJ10sWyd1cC1waWN0dXJlJywnQ3Jvb2tlZCBQaWN0dXJlJywnU3RyYWlnaHRlbiB0aGUgcGljdHVyZSBvbiB0aGUgbGFuZGluZyB3YWxsLicsJ1RoZSB3YWxsIGJlbmVhdGggaXQgY2FycmllcyB0aHJlZSBuYW1lcyB3cml0dGVuIG92ZXIgYSBmb3VydGggZXJhc2VkIG5hbWUuJywnVGhyZWUgbmFtZXMgd3JpdHRlbiBvdmVyIGFuIGVyYXNlZCBmb3VydGgnXV19LAptZW1vcnlyb29tOnt0aXRsZTonTWVtb3J5IFJvb20nLGl0ZW1zOltbJ21lbS1jaGFpcicsJ1NlcGFyYXRlZCBDaGFpcicsJ0V4YW1pbmUgdGhlIGNoYWlyIHBsYWNlZCBhcGFydCBmcm9tIHRoZSBvdGhlciB0aHJlZS4nLCdJdHMgbGVncyBhcmUgY2xlYW4uIFRoZSBjaGFpciB3YXMgYWRkZWQgYWZ0ZXIgdGhlIHJvb20gYmVjYW1lIGEgbWVtb3J5LicsJ0ZvdXJ0aCBjaGFpciBhZGRlZCBhZnRlciBtZW1vcnkgZm9ybWVkJ10sWydtZW0tcmVnaXN0cnknLCdSZWdpc3RyeSBCaW5kaW5nJywnTG9vayBpbnNpZGUgdGhlIGRhbWFnZWQgYm9vayBzcGluZS4nLCdBIGdyZWVuIGZpYmVyIG1hdGNoZXMgdGhlIGN1dCBiaW5kaW5nIHRocmVhZCBpbiBBYmJpZeKAmXMgY2F0IGJvb2suJywnR3JlZW4gcmVnaXN0cnkgZmliZXIgbWF0Y2hlcyBjYXQgYm9vayddLFsnbWVtLXBob3RvJywnUGhvdG9ncmFwaCBCYWNrJywnQ2hlY2sgdGhlIHBob3RvZ3JhcGggYmFja2luZyBmb3IgcHJlc3N1cmUgbWFya3MuJywnU29tZW9uZSB3cm90ZSBTUEVOQ0VSIGJlbmVhdGggQ2Fyb2xpbmXigJlzIGltYWdlIGFuZCB0aGVuIGVyYXNlZCBpdC4nLCdTcGVuY2VyIG9uY2UgbGFiZWxlZCBiZW5lYXRoIENhcm9saW5lJ11dfSwKbGlicmFyeTp7dGl0bGU6J1Rvd24gTGlicmFyeScsaXRlbXM6W1snbGliLXR5cGV3cml0ZXInLCdUeXBld3JpdGVyIFJpYmJvbicsJ0FkdmFuY2UgdGhlIHJpYmJvbiBieSBvbmUgbGV0dGVyLicsJ1RoZSB1bnVzZWQgc2VjdGlvbiBjb250YWlucyBhIHNlbnRlbmNlIHR5cGVkIGJhY2t3YXJkOiBUSEUgU0NIT09MIEtFRVBTIFRIRSBGT1VSVEguJywnVHlwZXdyaXRlciB3YXJucyBzY2hvb2wga2VlcHMgdGhlIGZvdXJ0aCddLFsnbGliLWRyYXdlcicsJ0NhcmQgQ2F0YWxvZyBEcmF3ZXInLCdJbnNwZWN0IHRoZSBkcmF3ZXIgdGhhdCB3aWxsIG5vdCBjbG9zZS4nLCdPbmUgZGl2aWRlciBpcyBmaWxlZCBiZXR3ZWVuIENvcmEgYW5kIENhcmEgYnV0IGNhcnJpZXMgbm8gbmFtZS4nLCdOYW1lbGVzcyBjYXRhbG9nIGRpdmlkZXIgYmV0d2VlbiBDb3JhIGFuZCBDYXJhJ10sWydsaWItd2luZG93JywnV2luZG93IFJlZmxlY3Rpb24nLCdMb29rIGF0IHRoZSBzaGVsdmVzIHRocm91Z2ggdGhlIHdpbmRvdyBnbGFzcy4nLCdUaGUgcmVmbGVjdGlvbiBzaG93cyBvbmUgZXh0cmEgYWlzbGUgZGVzY2VuZGluZyBiZWxvdyB0aGUgZmxvb3IuJywnTGlicmFyeSByZWZsZWN0aW9uIHJldmVhbHMgdW5kZXJncm91bmQgYWlzbGUnXV19LApicmVhcnk6e3RpdGxlOidUaGUgQnJlYXJ5JyxpdGVtczpbWydicmVhcnktcmVkJywnUmVkLVNwaW5lZCBCb29rJywnUmVhZCBvbmx5IHRoZSBwYWdlIG51bWJlciwgbm90IHRoZSB0ZXh0LicsJ0V2ZXJ5IHJlZCBib29rIG9wZW5zIHRvIHBhZ2UgMTY3OCByZWdhcmRsZXNzIG9mIGxlbmd0aC4nLCdSZWQgYm9va3MgY29udmVyZ2Ugb24gcGFnZSAxNjc4J10sWydicmVhcnktY2FyZCcsJ0Z1dHVyZSBDaGVja291dCBDYXJkJywnQ29tcGFyZSB0aGUgaW5rIGFnYWluc3QgS2V2aW7igJlzIGNhcmQuJywnVGhlIG1pc3NpbmcgY2FyZCB3YXMgaXNzdWVkIHRvIFRIRSBGT1VSVEggTkFNRSBhbmQgaXMgYWxyZWFkeSBvdmVyZHVlLicsJ092ZXJkdWUgY2FyZCBpc3N1ZWQgdG8gdGhlIGZvdXJ0aCBuYW1lJ10sWydicmVhcnktc2t5JywnUGFpbnRlZCBOaWdodCBTa3knLCdUcmFjZSB0aGUgcGFpbnRlZCBzdGFycyBhYm92ZSB0aGUgc2hlbHZlcy4nLCdUaGUgcGF0dGVybiBpcyB0aGUgc2l4LXBldGFsIHNlYWwgc2VlbiBmcm9tIGJlbG93IHJhdGhlciB0aGFuIGFib3ZlLicsJ0JyZWFyeSBza3kgc2hvd3MgdW5kZXJzaWRlIG9mIHRoZSBzZWFsJ11dfSwKY2VtZXRlcnk6e3RpdGxlOidCcmVja2VucmlkZ2UgQ2VtZXRlcnknLGl0ZW1zOltbJ2NlbS1zdG9uZScsJ1Jlc3RvcmVkIEhlYWRzdG9uZScsJ0JydXNoIHNvaWwgZnJvbSB0aGUgbG93ZXN0IGxpbmUuJywnVGhlIHN0b25lIHJlbWVtYmVycyB0d28gZXBpdGFwaHMuIFRoZSBvbGRlciBvbmUgY2FsbHMgdGhlIGNlbWV0ZXJ5IGEgbG9jaywgbm90IGEgcmVzdGluZyBwbGFjZS4nLCdPbGQgZXBpdGFwaCBjYWxscyBjZW1ldGVyeSBhIGxvY2snXSxbJ2NlbS1yb290JywnT2FrIFJvb3QnLCdGb2xsb3cgdGhlIHJvb3QgdW50aWwgaXQgZGlzYXBwZWFycyBiZW5lYXRoIGEgbWFya2VyLicsJ1RoZSByb290IGF2b2lkcyBldmVyeSBuYW1lZCBncmF2ZSBhbmQgY2lyY2xlcyBvbmx5IHRoZSBibGFuayBzdG9uZXMuJywnT2FrIHJvb3RzIGNpcmNsZSBibGFuayBncmF2ZXMnXSxbJ2NlbS1nYXRlJywnSXJvbiBHYXRlJywnQ291bnQgdGhlIGRlY29yYXRpdmUgcG9pbnRzIGFsb25nIHRoZSBnYXRlLicsJ1RoZXJlIGFyZSBmb3VydGVlbiBwb2ludHMgb24gb25lIHNpZGUgYW5kIG5pbmUgb24gdGhlIG90aGVyLicsJ0NlbWV0ZXJ5IGdhdGUgcmVwZWF0cyAxNCBhbmQgOSddXX0sCm1lbW9yeWdyYXZlOnt0aXRsZTonTWVtb3J5IEdyYXZlJyxpdGVtczpbWydncmF2ZS1lbnZlbG9wZScsJ0VudmVsb3BlIFNlYWwnLCdFeGFtaW5lIHRoZSBzZWFsIHdpdGhvdXQgcmVvcGVuaW5nIHRoZSBsZXR0ZXIuJywnVGhlIHdheCBjb250YWlucyBmb3VyIGltcHJlc3Npb25zLiBUaHJlZSBhcmUgcmluZ3MuIFRoZSBmb3VydGggaXMgYSBuYXJyb3cga2V5aG9sZS4nLCdGb3VydGggc2VhbCBpbXByZXNzaW9uIGlzIGEga2V5aG9sZSddLFsnZ3JhdmUtcmVjZXNzJywnRGFyayBSZWQgUmVjZXNzJywnSG9sZCB0aGUgd2F0Y2ggbmVhciB0aGUgZW1wdHkgcmluZyBzcGFjZS4nLCdUaGUgd2F0Y2ggYWR2YW5jZXMgb25seSB3aGVuIG1vdmVkIGF3YXkgZnJvbSB0aGUgcmVkIHJlY2Vzcy4nLCdSZWQgcmVjZXNzIHN0b3BzIEtldmlu4oCZcyB3YXRjaCddLFsnZ3JhdmUtZmxvb3InLCdGbG9vciBTZWFsJywnVHJhY2UgdGhlIHNlYWwgZnJvbSBpdHMgY2VudGVyIG91dHdhcmQuJywnVGhlIGdlb21ldHJ5IGlzIG5vdCBrZWVwaW5nIHNvbWV0aGluZyBvdXQuIEl0IGlzIGtlZXBpbmcgc29tZXRoaW5nIHVuZGVybmVhdGguJywnTWVtb3J5LWdyYXZlIHNlYWwgZmFjZXMgZG93bndhcmQnXV19Cn07CmZ1bmN0aW9uIHZhcnMoKXt2YXIgdj1TdGF0ZS52YXJpYWJsZXM7aWYoIUFycmF5LmlzQXJyYXkodi5lbnZpcm9ubWVudEZpbmRzKSl2LmVudmlyb25tZW50RmluZHM9W107aWYoIUFycmF5LmlzQXJyYXkodi5wbGF5ZXJDbHVlcykpdi5wbGF5ZXJDbHVlcz1bXTtyZXR1cm4gdn0KZnVuY3Rpb24gc2NlbmUoKXtyZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1ibS1nYW1lcGxheS1zY2VuZScpfQpmdW5jdGlvbiBmb3VuZChpZCl7cmV0dXJuIHZhcnMoKS5lbnZpcm9ubWVudEZpbmRzLmluZGV4T2YoaWQpPj0wfQpmdW5jdGlvbiBlc2Mocyl7cmV0dXJuIFN0cmluZyhzKS5yZXBsYWNlKC9bJjw+IiddL2csZnVuY3Rpb24oYyl7cmV0dXJueycmJzonJmFtcDsnLCc8JzonJmx0OycsJz4nOicmZ3Q7JywnIic6JyZxdW90OycsIiciOicmIzM5Oyd9W2NdfSl9CmZ1bmN0aW9uIGNsb3NlKCl7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JtLWV4cGxvcmUtb3ZlcmxheScpO2lmKG8pby5jbGFzc0xpc3QucmVtb3ZlKCdibS1vcGVuJyl9CmZ1bmN0aW9uIHJlbmRlcigpe3ZhciBrZXk9c2NlbmUoKSxkPWRhdGFba2V5XTtpZighZClyZXR1cm47dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JtLWV4cGxvcmUtb3ZlcmxheScpO2lmKCFvKXtvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO28uaWQ9J2JtLWV4cGxvcmUtb3ZlcmxheSc7by5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImJtLWV4cGxvcmUtcGFuZWwiIHJvbGU9ImRpYWxvZyIgYXJpYS1tb2RhbD0idHJ1ZSI+PGRpdiBjbGFzcz0iYm0tZXhwbG9yZS1oZWFkIj48ZGl2PjxzcGFuPk9wdGlvbmFsIEludmVzdGlnYXRpb248L3NwYW4+PGgyPjwvaDI+PC9kaXY+PGJ1dHRvbiBjbGFzcz0iYm0tZXhwbG9yZS1jbG9zZSIgYXJpYS1sYWJlbD0iQ2xvc2UiPsOXPC9idXR0b24+PC9kaXY+PHAgY2xhc3M9ImJtLWV4cGxvcmUtaW50cm8iPkV4YW1pbmUgdGhlIGVudmlyb25tZW50IGZvciBvcHRpb25hbCBldmlkZW5jZS4gVGhlc2UgZGlzY292ZXJpZXMgYXJlIHJlY29yZGVkIGluIHRoZSBjYXNlIGZpbGUgYnV0IGRvIG5vdCBibG9jayB0aGUgbWFpbiBzdG9yeS48L3A+PGRpdiBjbGFzcz0iYm0taG90c3BvdC1ncmlkIj48L2Rpdj48ZGl2IGNsYXNzPSJibS1maW5kLXJldmVhbCIgaGlkZGVuPjwvZGl2PjwvZGl2Pic7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvKTtvLnF1ZXJ5U2VsZWN0b3IoJy5ibS1leHBsb3JlLWNsb3NlJykub25jbGljaz1jbG9zZTtvLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXtpZihlLnRhcmdldD09PW8pY2xvc2UoKX0pfQp2YXIgZ3JpZD1vLnF1ZXJ5U2VsZWN0b3IoJy5ibS1ob3RzcG90LWdyaWQnKSxyZXZlYWw9by5xdWVyeVNlbGVjdG9yKCcuYm0tZmluZC1yZXZlYWwnKTtvLnF1ZXJ5U2VsZWN0b3IoJ2gyJykudGV4dENvbnRlbnQ9ZC50aXRsZTtncmlkLmlubmVySFRNTD0nJztyZXZlYWwuaGlkZGVuPXRydWU7CmQuaXRlbXMuZm9yRWFjaChmdW5jdGlvbihpdCl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7Yi5jbGFzc05hbWU9J2JtLWhvdHNwb3QnKyhmb3VuZChpdFswXSk/JyBibS1mb3VuZCc6JycpO2IuaW5uZXJIVE1MPSc8Yj4nK2VzYyhpdFsxXSkrJzwvYj48c3Bhbj4nK2VzYyhpdFsyXSkrJzwvc3Bhbj48c21hbGw+JysoZm91bmQoaXRbMF0pPydFdmlkZW5jZSByZWNvcmRlZCc6J0V4YW1pbmUgb2JqZWN0JykrJzwvc21hbGw+JztiLmRpc2FibGVkPWZvdW5kKGl0WzBdKTtiLm9uY2xpY2s9ZnVuY3Rpb24oKXtkaXNjb3ZlcihrZXksaXQpfTtncmlkLmFwcGVuZENoaWxkKGIpfSk7by5jbGFzc0xpc3QuYWRkKCdibS1vcGVuJyk7by5xdWVyeVNlbGVjdG9yKCcuYm0tZXhwbG9yZS1jbG9zZScpLmZvY3VzKCl9CmZ1bmN0aW9uIGRpc2NvdmVyKGtleSxpdCl7dmFyIHY9dmFycygpO2lmKHYuZW52aXJvbm1lbnRGaW5kcy5pbmRleE9mKGl0WzBdKTwwKXYuZW52aXJvbm1lbnRGaW5kcy5wdXNoKGl0WzBdKTtpZih2LnBsYXllckNsdWVzLmluZGV4T2YoaXRbNF0pPDApdi5wbGF5ZXJDbHVlcy5wdXNoKGl0WzRdKTtTdGF0ZS52YXJpYWJsZXMubGFzdEVudmlyb25tZW50RmluZD1pdFs0XTt2YXIgcj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYm0tZXhwbG9yZS1vdmVybGF5IC5ibS1maW5kLXJldmVhbCcpO3IuaW5uZXJIVE1MPSc8c3Ryb25nPicrZXNjKGl0WzFdKSsnPC9zdHJvbmc+PHNwYW4+Jytlc2MoaXRbM10pKyc8L3NwYW4+JztyLmhpZGRlbj1mYWxzZTt2YXIgdG9hc3Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7dG9hc3QuY2xhc3NOYW1lPSdibS1jbHVlLXRvYXN0Jzt0b2FzdC50ZXh0Q29udGVudD0nT3B0aW9uYWwgZXZpZGVuY2UgcmVjb3JkZWQ6ICcraXRbNF07ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0b2FzdCk7c2V0VGltZW91dChmdW5jdGlvbigpe3RvYXN0LnJlbW92ZSgpfSwzMzAwKTtyZW5kZXIoKTt2YXIgcnI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2JtLWV4cGxvcmUtb3ZlcmxheSAuYm0tZmluZC1yZXZlYWwnKTtyci5pbm5lckhUTUw9JzxzdHJvbmc+Jytlc2MoaXRbMV0pKyc8L3N0cm9uZz48c3Bhbj4nK2VzYyhpdFszXSkrJzwvc3Bhbj4nO3JyLmhpZGRlbj1mYWxzZX0KZnVuY3Rpb24gdXBkYXRlQnV0dG9uKCl7dmFyIGtleT1zY2VuZSgpLGQ9ZGF0YVtrZXldLGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JtLWV4cGxvcmUtYnV0dG9uJyk7aWYoIWQpe2lmKGIpYi5yZW1vdmUoKTtjbG9zZSgpO3JldHVybn1pZighYil7Yj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtiLmlkPSdibS1leHBsb3JlLWJ1dHRvbic7Yi5vbmNsaWNrPXJlbmRlcjtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGIpfXZhciBuPWQuaXRlbXMuZmlsdGVyKGZ1bmN0aW9uKGl0KXtyZXR1cm4hZm91bmQoaXRbMF0pfSkubGVuZ3RoO2IuaW5uZXJIVE1MPSdFeHBsb3JlIFNjZW5lIDxzcGFuIGNsYXNzPSJibS1leHBsb3JlLWNvdW50Ij4nK24rJzwvc3Bhbj4nO2IudGl0bGU9bj8nT3B0aW9uYWwgZXZpZGVuY2UgcmVtYWlucyBpbiB0aGlzIGxvY2F0aW9uJzonQWxsIG9wdGlvbmFsIGV2aWRlbmNlIGZvdW5kJztiLmRpc2FibGVkPW49PT0wfQokKGRvY3VtZW50KS5vbignOnBhc3NhZ2VkaXNwbGF5JyxmdW5jdGlvbigpe3NldFRpbWVvdXQodXBkYXRlQnV0dG9uLDApfSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsZnVuY3Rpb24oZSl7aWYoZS5rZXk9PT0nRXNjYXBlJyljbG9zZSgpfSk7Cn0oKSk7CgovKiBQaGFzZSA1IGV2aWRlbmNlIGNsYXNzZXMsIGZvcm1hbCBkZWR1Y3Rpb25zLCBjb21wbGV0aW9uIGFuZCBwYXlvZmZzLiAqLwooZnVuY3Rpb24oKXsndXNlIHN0cmljdCc7CnZhciBtZXRhPXsKJ1dhdGNoIHNoYWRvdyByZXBlYXRzIDk6MTQnOlsnT2JzZXJ2ZWQnLCdLZXZpbiddLCdQaG90b2dyYXBoIHByZWRhdGVzIHRoZSBXaW5jaGVzdGVyIGhvdXNlJzpbJ1JlY29yZGVkJywnS2ltbXknXSwnSGV4YWZvaWwgaGlkZGVuIGJlbmVhdGggYmVkcm9vbSB3YWxscGFwZXInOlsnT2JzZXJ2ZWQnLCdSeWFuJ10sJ0NsYXNzcm9vbSBjbG9jayBjb25jZWFscyBhIEMgbWFyayc6WydPYnNlcnZlZCcsJ0tldmluJ10sJ1NjaG9vbCBhbmQgY2VtZXRlcnkgc2hhcmUgYSBidXJpZWQgYm91bmRhcnknOlsnUmVjb3JkZWQnLCdLaW1teSddLCdQdXJwbGUgbGlicmFyeSBkdXN0IG9uIEFzaHRvbiBicmllZmNhc2UnOlsnT2JzZXJ2ZWQnLCdLaW1teSddLCdGb3VydGggcmVmbGVjdGlvbiBpbiBXaW5jaGVzdGVyIHBob3RvZ3JhcGgnOlsnUmVjb3JkZWQnLCdLaW1teSddLCdHcmVlbiBiaW5kaW5nIHRocmVhZCBjdXQgZnJvbSBjYXQgYm9vayc6WydPYnNlcnZlZCcsJ1J5YW4nXSwnQnJhc3Mga2V5IHJlcGVhdHMgc3RhaXJjYXNlIG51bWVyYWxzJzpbJ09ic2VydmVkJywnS2V2aW4nXSwnRm9vdHByaW50cyBzdG9wIGJlZm9yZSB0aGUgc3RhaXJjYXNlJzpbJ09ic2VydmVkJywnUnlhbiddLCdGb3VydGggZG9vciBtYWRlIGZyb20gb2FrLXJvb3Qgd29vZCc6WydPYnNlcnZlZCcsJ1J5YW4nXSwnVGhyZWUgbmFtZXMgd3JpdHRlbiBvdmVyIGFuIGVyYXNlZCBmb3VydGgnOlsnUmVjb3JkZWQnLCdLaW1teSddLCdGb3VydGggY2hhaXIgYWRkZWQgYWZ0ZXIgbWVtb3J5IGZvcm1lZCc6WydTdXBlcm5hdHVyYWwnLCdTY29vdCddLCdHcmVlbiByZWdpc3RyeSBmaWJlciBtYXRjaGVzIGNhdCBib29rJzpbJ1JlY29yZGVkJywnS2ltbXknXSwnU3BlbmNlciBvbmNlIGxhYmVsZWQgYmVuZWF0aCBDYXJvbGluZSc6WydSZWNvcmRlZCcsJ01yLiBBc2h0b24nXSwnVHlwZXdyaXRlciB3YXJucyBzY2hvb2wga2VlcHMgdGhlIGZvdXJ0aCc6WydTdXBlcm5hdHVyYWwnLCdTY29vdCddLCdOYW1lbGVzcyBjYXRhbG9nIGRpdmlkZXIgYmV0d2VlbiBDb3JhIGFuZCBDYXJhJzpbJ1JlY29yZGVkJywnS2ltbXknXSwnTGlicmFyeSByZWZsZWN0aW9uIHJldmVhbHMgdW5kZXJncm91bmQgYWlzbGUnOlsnU3VwZXJuYXR1cmFsJywnS2V2aW4nXSwnUmVkIGJvb2tzIGNvbnZlcmdlIG9uIHBhZ2UgMTY3OCc6WydTdXBlcm5hdHVyYWwnLCdLZXZpbiddLCdPdmVyZHVlIGNhcmQgaXNzdWVkIHRvIHRoZSBmb3VydGggbmFtZSc6WydSZWNvcmRlZCcsJ0tpbW15J10sJ0JyZWFyeSBza3kgc2hvd3MgdW5kZXJzaWRlIG9mIHRoZSBzZWFsJzpbJ1N1cGVybmF0dXJhbCcsJ1Njb290J10sJ09sZCBlcGl0YXBoIGNhbGxzIGNlbWV0ZXJ5IGEgbG9jayc6WydSZWNvcmRlZCcsJ0tpbW15J10sJ09hayByb290cyBjaXJjbGUgYmxhbmsgZ3JhdmVzJzpbJ09ic2VydmVkJywnUnlhbiddLCdDZW1ldGVyeSBnYXRlIHJlcGVhdHMgMTQgYW5kIDknOlsnT2JzZXJ2ZWQnLCdLZXZpbiddLCdGb3VydGggc2VhbCBpbXByZXNzaW9uIGlzIGEga2V5aG9sZSc6WydPYnNlcnZlZCcsJ1J5YW4nXSwnUmVkIHJlY2VzcyBzdG9wcyBLZXZpbuKAmXMgd2F0Y2gnOlsnU3VwZXJuYXR1cmFsJywnS2V2aW4nXSwnTWVtb3J5LWdyYXZlIHNlYWwgZmFjZXMgZG93bndhcmQnOlsnT2JzZXJ2ZWQnLCdSeWFuJ119Owp2YXIgbG9jYXRpb25zPXtiZWRyb29tOlsnYmVkLXdhdGNoJywnYmVkLWJveCcsJ2JlZC13YWxsJ10sY2xhc3Nyb29tOlsnY2xhc3MtY2xvY2snLCdjbGFzcy1tYXAnLCdjbGFzcy1jYXNlJ10saG91c2U6Wydob3VzZS1waG90bycsJ2hvdXNlLWNhdGJvb2snLCdob3VzZS1rZXknXSx1cHN0YWlyczpbJ3VwLWZvb3RwcmludHMnLCd1cC1kb29yZnJhbWUnLCd1cC1waWN0dXJlJ10sbWVtb3J5cm9vbTpbJ21lbS1jaGFpcicsJ21lbS1yZWdpc3RyeScsJ21lbS1waG90byddLGxpYnJhcnk6WydsaWItdHlwZXdyaXRlcicsJ2xpYi1kcmF3ZXInLCdsaWItd2luZG93J10sYnJlYXJ5OlsnYnJlYXJ5LXJlZCcsJ2JyZWFyeS1jYXJkJywnYnJlYXJ5LXNreSddLGNlbWV0ZXJ5OlsnY2VtLXN0b25lJywnY2VtLXJvb3QnLCdjZW0tZ2F0ZSddLG1lbW9yeWdyYXZlOlsnZ3JhdmUtZW52ZWxvcGUnLCdncmF2ZS1yZWNlc3MnLCdncmF2ZS1mbG9vciddfTsKdmFyIGxhYmVscz17YmVkcm9vbToiS2V2aW4ncyBCZWRyb29tIixjbGFzc3Jvb206IkFzaHRvbidzIENsYXNzcm9vbSIsaG91c2U6J1dpbmNoZXN0ZXIgSG91c2UnLHVwc3RhaXJzOidVcHN0YWlycyBMYW5kaW5nJyxtZW1vcnlyb29tOidNZW1vcnkgUm9vbScsbGlicmFyeTonVG93biBMaWJyYXJ5JyxicmVhcnk6J1RoZSBCcmVhcnknLGNlbWV0ZXJ5OidDZW1ldGVyeScsbWVtb3J5Z3JhdmU6J01lbW9yeSBHcmF2ZSd9Owp2YXIgdGhlb3JpZXM9ewpib3VuZGFyeTp7dGl0bGU6J1RoZSBCdXJpZWQgQm91bmRhcnknLHJvbGU6J0tpbW15ICsgUnlhbicsbmVlZHM6WydTY2hvb2wgYW5kIGNlbWV0ZXJ5IHNoYXJlIGEgYnVyaWVkIGJvdW5kYXJ5JywnTGlicmFyeSByZWZsZWN0aW9uIHJldmVhbHMgdW5kZXJncm91bmQgYWlzbGUnLCdPYWsgcm9vdHMgY2lyY2xlIGJsYW5rIGdyYXZlcyddLGNvbmNsdXNpb246J1RoZSBzY2hvb2wsIGxpYnJhcnksIGFuZCBjZW1ldGVyeSBzdXJyb3VuZCBkaWZmZXJlbnQgZW50cmFuY2VzIHRvIG9uZSB1bmRlcmdyb3VuZCBzdHJ1Y3R1cmUuJyxwYXlvZmY6J1VuZGVyZ3JvdW5kIHJvdXRlIGlkZW50aWZpZWQuIEZ1dHVyZSBzY2hvb2wgbmF2aWdhdGlvbiByZWNlaXZlcyBhIHNhZmUgc2hvcnRjdXQuJ30sCmZvdXJ0aDp7dGl0bGU6J1RoZSBGb3VydGggTmFtZScscm9sZTonS2ltbXkgKyBTY29vdCcsbmVlZHM6WydUaHJlZSBuYW1lcyB3cml0dGVuIG92ZXIgYW4gZXJhc2VkIGZvdXJ0aCcsJ05hbWVsZXNzIGNhdGFsb2cgZGl2aWRlciBiZXR3ZWVuIENvcmEgYW5kIENhcmEnLCdPdmVyZHVlIGNhcmQgaXNzdWVkIHRvIHRoZSBmb3VydGggbmFtZScsJ0ZvdXJ0aCBzZWFsIGltcHJlc3Npb24gaXMgYSBrZXlob2xlJ10sY29uY2x1c2lvbjonVGhlIGZvdXJ0aCBuYW1lIGlzIG5vdCBhbiBBc2NoZXJkb3duIHNpc3Rlci4gSXQgaWRlbnRpZmllcyBhIGtleS1iZWFyaW5nIGdhdGVrZWVwZXIgdGllZCB0byB0aGUgYnVyaWVkIGRvb3IuJyxwYXlvZmY6J0ZvdXJ0aC1uYW1lIGRlY295cyBjYW4gYmUgcmVqZWN0ZWQgZHVyaW5nIHRoZSBncmVlbi1yaW5nIGludmVzdGlnYXRpb24uJ30sCnNwZW5jZXI6e3RpdGxlOidDYXJvbGluZSBhbmQgU3BlbmNlcicscm9sZTonTXIuIEFzaHRvbiArIEtpbW15JyxuZWVkczpbJ1B1cnBsZSBsaWJyYXJ5IGR1c3Qgb24gQXNodG9uIGJyaWVmY2FzZScsJ1NwZW5jZXIgb25jZSBsYWJlbGVkIGJlbmVhdGggQ2Fyb2xpbmUnXSxjb25jbHVzaW9uOidNci4gQXNodG9uIGtuZXcgQ2Fyb2xpbmUgYmVmb3JlIHRoZSBvZmZpY2lhbCBkaXNhcHBlYXJhbmNlcywgYW5kIHRoZSBjb25uZWN0aW9uIHdhcyBkZWxpYmVyYXRlbHkgcmVtb3ZlZCBmcm9tIHJlY29yZHMuJyxwYXlvZmY6J0EgdHJ1dGhmdWwgQXNodG9uIGRpYWxvZ3VlIHBhdGggaXMgdW5sb2NrZWQgd2l0aG91dCByZWR1Y2luZyB0cnVzdC4nfSwKc2VhbDp7dGl0bGU6IlRoZSBTZWFsJ3MgVHJ1ZSBEaXJlY3Rpb24iLHJvbGU6J1J5YW4gKyBTY29vdCcsbmVlZHM6WydCcmVhcnkgc2t5IHNob3dzIHVuZGVyc2lkZSBvZiB0aGUgc2VhbCcsJ01lbW9yeS1ncmF2ZSBzZWFsIGZhY2VzIGRvd253YXJkJywnT2xkIGVwaXRhcGggY2FsbHMgY2VtZXRlcnkgYSBsb2NrJ10sY29uY2x1c2lvbjonVGhlIGhleGFmb2lsIGlzIGEgZG93bndhcmQtZmFjaW5nIGxvY2sgY29udGFpbmluZyBhIGZvcmNlIGJlbmVhdGggQnJlY2tlbnJpZGdlLCBub3QgYSBzaGllbGQgYWdhaW5zdCBzb21ldGhpbmcgb3V0c2lkZS4nLHBheW9mZjonVGhlIHBsYXllciBjYW5ub3QgYWNjaWRlbnRhbGx5IHJldmVyc2UgdGhlIGJ1cmllZCBzZWFsIGluIGEgZnV0dXJlIHB1enpsZS4nfX0KZnVuY3Rpb24gdigpe3ZhciB4PVN0YXRlLnZhcmlhYmxlcztpZighQXJyYXkuaXNBcnJheSh4LmVudmlyb25tZW50RmluZHMpKXguZW52aXJvbm1lbnRGaW5kcz1bXTtpZighQXJyYXkuaXNBcnJheSh4LnBsYXllckNsdWVzKSl4LnBsYXllckNsdWVzPVtdO2lmKCFBcnJheS5pc0FycmF5KHguc29sdmVkRGVkdWN0aW9ucykpeC5zb2x2ZWREZWR1Y3Rpb25zPVtdO2lmKCF4LmRlZHVjdGlvbkFkdmFudGFnZXMpeC5kZWR1Y3Rpb25BZHZhbnRhZ2VzPXt9O3JldHVybiB4fQpmdW5jdGlvbiBoYXMoYyl7cmV0dXJuIHYoKS5wbGF5ZXJDbHVlcy5pbmRleE9mKGMpPj0wfWZ1bmN0aW9uIHNvbHZlZChrKXtyZXR1cm4gdigpLnNvbHZlZERlZHVjdGlvbnMuaW5kZXhPZihrKT49MH0KZnVuY3Rpb24gY291bnRzKCl7dmFyIGM9e09ic2VydmVkOjAsUmVjb3JkZWQ6MCxSZXBvcnRlZDowLFN1cGVybmF0dXJhbDowfTt2KCkucGxheWVyQ2x1ZXMuZm9yRWFjaChmdW5jdGlvbih4KXtpZihtZXRhW3hdKWNbbWV0YVt4XVswXV0rK30pO3JldHVybiBjfQpmdW5jdGlvbiBjb21wbGV0ZUNvdW50KCl7dmFyIG49MDtPYmplY3Qua2V5cyhsb2NhdGlvbnMpLmZvckVhY2goZnVuY3Rpb24oayl7aWYobG9jYXRpb25zW2tdLmV2ZXJ5KGZ1bmN0aW9uKGlkKXtyZXR1cm4gdigpLmVudmlyb25tZW50RmluZHMuaW5kZXhPZihpZCk+PTB9KSluKyt9KTtyZXR1cm4gbn0KZnVuY3Rpb24gcmFuaygpe3ZhciBuPXYoKS5lbnZpcm9ubWVudEZpbmRzLmxlbmd0aCxzPXYoKS5zb2x2ZWREZWR1Y3Rpb25zLmxlbmd0aDtpZihuPj0yNCYmcz09PTQpcmV0dXJuWydCcmVja2VucmlkZ2UgQXJjaGl2aXN0JywnTmVhcmx5IGV2ZXJ5IGVudmlyb25tZW50YWwgcmVjb3JkIGhhcyBiZWVuIHByZXNlcnZlZCBhbmQgY29ubmVjdGVkLiddO2lmKG4+PTE3JiZzPj0zKXJldHVyblsnRXZpZGVuY2UgS2VlcGVyJywnVGhlIGludmVzdGlnYXRpb24gaGFzIGEgc3Ryb25nLCB2ZXJpZmllZCBldmlkZW5jZSBjaGFpbi4nXTtpZihuPj05JiZzPj0xKXJldHVyblsnSW52ZXN0aWdhdG9yJywnT3B0aW9uYWwgZXZpZGVuY2UgaXMgYmVnaW5uaW5nIHRvIHJlc2hhcGUgdGhlIGNhc2UuJ107cmV0dXJuWydPYnNlcnZlcicsJ1RoZSBlbnZpcm9ubWVudGFsIGludmVzdGlnYXRpb24gaGFzIG9ubHkgYmVndW4uJ119CmZ1bmN0aW9uIGNsb3NlKCl7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JtLWRlZHVjdGlvbi1vdmVybGF5Jyk7aWYobylvLmNsYXNzTGlzdC5yZW1vdmUoJ2JtLW9wZW4nKX0KZnVuY3Rpb24gb3Blbigpe3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdibS1kZWR1Y3Rpb24tb3ZlcmxheScpO2lmKCFvKXtvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO28uaWQ9J2JtLWRlZHVjdGlvbi1vdmVybGF5JztvLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iYm0tZGVkdWN0aW9uLXBhbmVsIiByb2xlPSJkaWFsb2ciIGFyaWEtbW9kYWw9InRydWUiPjxkaXYgY2xhc3M9ImJtLWRlZHVjdGlvbi1oZWFkIj48ZGl2PjxzcGFuPkV2aWRlbmNlIExhYm9yYXRvcnk8L3NwYW4+PGgyPkZvcm1hbCBEZWR1Y3Rpb25zPC9oMj48L2Rpdj48YnV0dG9uIGNsYXNzPSJibS1kZWR1Y3Rpb24tY2xvc2UiIGFyaWEtbGFiZWw9IkNsb3NlIj7DlzwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9ImJtLWV2aWRlbmNlLXN1bW1hcnkiPjwvZGl2PjxkaXYgY2xhc3M9ImJtLXRoZW9yeS1ncmlkIj48L2Rpdj48ZGl2IGNsYXNzPSJibS1kZWR1Y3Rpb24tZmVlZGJhY2siIGhpZGRlbj48L2Rpdj48ZGl2IGNsYXNzPSJibS1jb21wbGV0aW9uLWxpc3QiPjwvZGl2PjxkaXYgY2xhc3M9ImJtLWNhc2UtcmFuayI+PC9kaXY+PC9kaXY+Jztkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG8pO28ucXVlcnlTZWxlY3RvcignLmJtLWRlZHVjdGlvbi1jbG9zZScpLm9uY2xpY2s9Y2xvc2U7by5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oZSl7aWYoZS50YXJnZXQ9PT1vKWNsb3NlKCl9KX1yZW5kZXIoKTtvLmNsYXNzTGlzdC5hZGQoJ2JtLW9wZW4nKX0KZnVuY3Rpb24gcmVuZGVyKCl7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JtLWRlZHVjdGlvbi1vdmVybGF5Jyk7aWYoIW8pcmV0dXJuO3ZhciBjPWNvdW50cygpLHN1bT1vLnF1ZXJ5U2VsZWN0b3IoJy5ibS1ldmlkZW5jZS1zdW1tYXJ5Jyk7c3VtLmlubmVySFRNTD0nJztbJ09ic2VydmVkJywnUmVjb3JkZWQnLCdSZXBvcnRlZCcsJ1N1cGVybmF0dXJhbCddLmZvckVhY2goZnVuY3Rpb24oayl7c3VtLmlubmVySFRNTCs9JzxkaXY+PGI+JytjW2tdKyc8L2I+PHNwYW4+JytrKyc8L3NwYW4+PC9kaXY+J30pO3ZhciBnPW8ucXVlcnlTZWxlY3RvcignLmJtLXRoZW9yeS1ncmlkJyk7Zy5pbm5lckhUTUw9Jyc7T2JqZWN0LmtleXModGhlb3JpZXMpLmZvckVhY2goZnVuY3Rpb24oayl7dmFyIHQ9dGhlb3JpZXNba10sb2s9c29sdmVkKGspLGhhdmU9dC5uZWVkcy5maWx0ZXIoaGFzKS5sZW5ndGgsZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtkLmNsYXNzTmFtZT0nYm0tdGhlb3J5Jysob2s/JyBibS1zb2x2ZWQnOicnKTt2YXIgcmVxPXQubmVlZHMubWFwKGZ1bmN0aW9uKG4pe3JldHVybic8ZGl2IGNsYXNzPSJibS1yZXF1aXJlbWVudCAnKyhoYXMobik/J2hhdmUnOicnKSsnIj4nKyhoYXMobik/J+KckyAnOifil4sgJykrbisobWV0YVtuXT8nIDxzcGFuIGNsYXNzPSJibS1xdWFsaXR5LWJhZGdlIj4nK21ldGFbbl1bMF0rJzwvc3Bhbj4nOicnKSsnPC9kaXY+J30pLmpvaW4oJycpO2QuaW5uZXJIVE1MPSc8aDM+Jyt0LnRpdGxlKyc8L2gzPjxzcGFuIGNsYXNzPSJibS10aGVvcnktcm9sZSI+QmVzdCB0ZXN0ZWQgYnkgJyt0LnJvbGUrJzwvc3Bhbj48cD4nKyhvaz90LmNvbmNsdXNpb246J0Nvbm5lY3QgZXZpZGVuY2UgZnJvbSBtdWx0aXBsZSBjYXRlZ29yaWVzIHRvIHRlc3QgdGhpcyB0aGVvcnkuJykrJzwvcD48ZGl2IGNsYXNzPSJibS1yZXF1aXJlbWVudHMiPicrcmVxKyc8L2Rpdj48YnV0dG9uIGNsYXNzPSJibS10ZXN0LXRoZW9yeSIgJysob2s/J2Rpc2FibGVkJzonJykrJz4nKyhvaz8nVGhlb3J5IFNvbHZlZCc6J1Rlc3QgVGhlb3J5ICgnK2hhdmUrJy8nK3QubmVlZHMubGVuZ3RoKycpJykrJzwvYnV0dG9uPic7ZC5xdWVyeVNlbGVjdG9yKCdidXR0b24nKS5vbmNsaWNrPWZ1bmN0aW9uKCl7dGVzdChrKX07Zy5hcHBlbmRDaGlsZChkKX0pO3ZhciBsb2M9by5xdWVyeVNlbGVjdG9yKCcuYm0tY29tcGxldGlvbi1saXN0Jyk7bG9jLmlubmVySFRNTD0nJztPYmplY3Qua2V5cyhsb2NhdGlvbnMpLmZvckVhY2goZnVuY3Rpb24oayl7dmFyIG49bG9jYXRpb25zW2tdLmZpbHRlcihmdW5jdGlvbihpZCl7cmV0dXJuIHYoKS5lbnZpcm9ubWVudEZpbmRzLmluZGV4T2YoaWQpPj0wfSkubGVuZ3RoO2xvYy5pbm5lckhUTUwrPSc8ZGl2IGNsYXNzPSJibS1sb2NhdGlvbi1wcm9ncmVzcyAnKyhuPT09Mz8nY29tcGxldGUnOicnKSsnIj4nK2xhYmVsc1trXSsnOiAnK24rJy8zPC9kaXY+J30pO3ZhciByPXJhbmsoKTtvLnF1ZXJ5U2VsZWN0b3IoJy5ibS1jYXNlLXJhbmsnKS5pbm5lckhUTUw9JzxiPicrclswXSsnPC9iPjxzcGFuPicrclsxXSsnIExvY2F0aW9ucyBjb21wbGV0ZTogJytjb21wbGV0ZUNvdW50KCkrJy85LiBGb3JtYWwgZGVkdWN0aW9uczogJyt2KCkuc29sdmVkRGVkdWN0aW9ucy5sZW5ndGgrJy80Ljwvc3Bhbj4nfQpmdW5jdGlvbiB0ZXN0KGspe3ZhciB0PXRoZW9yaWVzW2tdLG1pc3Npbmc9dC5uZWVkcy5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIWhhcyhuKX0pLGY9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2JtLWRlZHVjdGlvbi1vdmVybGF5IC5ibS1kZWR1Y3Rpb24tZmVlZGJhY2snKTtmLmhpZGRlbj1mYWxzZTtpZihtaXNzaW5nLmxlbmd0aCl7Zi50ZXh0Q29udGVudD13aW5kb3cuQnJlY2tQaGFzZTVHdWlkYW5jZT93aW5kb3cuQnJlY2tQaGFzZTVHdWlkYW5jZShrLG1pc3NpbmcubGVuZ3RoKTooJ1RoZSBldmlkZW5jZSBjaGFpbiBpcyBpbmNvbXBsZXRlLiBNaXNzaW5nICcrbWlzc2luZy5sZW5ndGgrJyByZXF1aXJlZCBjb25uZWN0aW9uJysobWlzc2luZy5sZW5ndGg9PT0xPycnOidzJykrJy4nKTtyZXR1cm59digpLnNvbHZlZERlZHVjdGlvbnMucHVzaChrKTt2KCkuZGVkdWN0aW9uQWR2YW50YWdlc1trXT10cnVlO2YuaW5uZXJIVE1MPSc8c3Ryb25nPicrdC5jb25jbHVzaW9uKyc8L3N0cm9uZz48YnI+Jyt0LnBheW9mZjt2YXIgdG9hc3Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7dG9hc3QuY2xhc3NOYW1lPSdibS1wYXlvZmYtdG9hc3QnO3RvYXN0LnRleHRDb250ZW50PSdEZWR1Y3Rpb24gc29sdmVkOiAnK3QudGl0bGUrJy4gJyt0LnBheW9mZjtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRvYXN0KTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dG9hc3QucmVtb3ZlKCl9LDQyMDApO3JlbmRlcigpO3ZhciBmZj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYm0tZGVkdWN0aW9uLW92ZXJsYXkgLmJtLWRlZHVjdGlvbi1mZWVkYmFjaycpO2ZmLmhpZGRlbj1mYWxzZTtmZi5pbm5lckhUTUw9JzxzdHJvbmc+Jyt0LmNvbmNsdXNpb24rJzwvc3Ryb25nPjxicj4nK3QucGF5b2ZmfQpmdW5jdGlvbiBidXR0b24oKXtpZihTdGF0ZS5wYXNzYWdlPT09J1N0YXJ0J3x8U3RhdGUucGFzc2FnZT09PSdNb3JlQ29taW5nU29vbicpe3ZhciBvbGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JtLWRlZHVjdGlvbi1idXR0b24nKTtpZihvbGQpb2xkLnJlbW92ZSgpO3JldHVybn12YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm0tZGVkdWN0aW9uLWJ1dHRvbicpO2lmKCFiKXtiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO2IuaWQ9J2JtLWRlZHVjdGlvbi1idXR0b24nO2Iub25jbGljaz1vcGVuO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYil9Yi50ZXh0Q29udGVudD0nRGVkdWN0aW9ucyAnK3YoKS5zb2x2ZWREZWR1Y3Rpb25zLmxlbmd0aCsnLzQnfQokKGRvY3VtZW50KS5vbignOnBhc3NhZ2VkaXNwbGF5JyxmdW5jdGlvbigpe3NldFRpbWVvdXQoYnV0dG9uLDApfSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsZnVuY3Rpb24oZSl7aWYoZS5rZXk9PT0nRXNjYXBlJyljbG9zZSgpfSk7CndpbmRvdy5CcmVja0RlZHVjdGlvbnM9e2hhc0FkdmFudGFnZTpmdW5jdGlvbihrKXtyZXR1cm4hIXYoKS5kZWR1Y3Rpb25BZHZhbnRhZ2VzW2tdfSxvcGVuOm9wZW59Owp9KCkpOwoKLyogUGhhc2UgNSBjb21wbGV0aW9uIHBhc3M6IGFyY2hpdmUsIGNvbnRleHR1YWwgZ3VpZGFuY2UsIHJld2FyZHMgYW5kIHBheW9mZiBzdGF0ZS4gKi8KKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnOwp2YXIgY2x1ZUluZm89ewonV2F0Y2ggc2hhZG93IHJlcGVhdHMgOToxNCc6WydPYnNlcnZlZCcsJ0tldmluJywiS2V2aW4ncyBCZWRyb29tIiwnVGltaW5nJ10sICdQaG90b2dyYXBoIHByZWRhdGVzIHRoZSBXaW5jaGVzdGVyIGhvdXNlJzpbJ1JlY29yZGVkJywnS2ltbXknLCJLZXZpbidzIEJlZHJvb20iLCdCb3VuZGFyeSddLCAnSGV4YWZvaWwgaGlkZGVuIGJlbmVhdGggYmVkcm9vbSB3YWxscGFwZXInOlsnT2JzZXJ2ZWQnLCdSeWFuJywiS2V2aW4ncyBCZWRyb29tIiwnU2VhbCddLAonQ2xhc3Nyb29tIGNsb2NrIGNvbmNlYWxzIGEgQyBtYXJrJzpbJ09ic2VydmVkJywnS2V2aW4nLCJBc2h0b27igJlzIENsYXNzcm9vbSIsJ1RpbWluZyddLCAnU2Nob29sIGFuZCBjZW1ldGVyeSBzaGFyZSBhIGJ1cmllZCBib3VuZGFyeSc6WydSZWNvcmRlZCcsJ0tpbW15JywiQXNodG9u4oCZcyBDbGFzc3Jvb20iLCdCdXJpZWQgQm91bmRhcnknXSwgJ1B1cnBsZSBsaWJyYXJ5IGR1c3Qgb24gQXNodG9uIGJyaWVmY2FzZSc6WydPYnNlcnZlZCcsJ0tpbW15JywiQXNodG9u4oCZcyBDbGFzc3Jvb20iLCdDYXJvbGluZSBhbmQgU3BlbmNlciddLAonRm91cnRoIHJlZmxlY3Rpb24gaW4gV2luY2hlc3RlciBwaG90b2dyYXBoJzpbJ1JlY29yZGVkJywnS2ltbXknLCdXaW5jaGVzdGVyIEhvdXNlJywnRm91cnRoIE5hbWUnXSwgJ0dyZWVuIGJpbmRpbmcgdGhyZWFkIGN1dCBmcm9tIGNhdCBib29rJzpbJ09ic2VydmVkJywnUnlhbicsJ1dpbmNoZXN0ZXIgSG91c2UnLCdHcmVlbiBSaW5nJ10sICdCcmFzcyBrZXkgcmVwZWF0cyBzdGFpcmNhc2UgbnVtZXJhbHMnOlsnT2JzZXJ2ZWQnLCdLZXZpbicsJ1dpbmNoZXN0ZXIgSG91c2UnLCdUaW1pbmcnXSwKJ0Zvb3RwcmludHMgc3RvcCBiZWZvcmUgdGhlIHN0YWlyY2FzZSc6WydPYnNlcnZlZCcsJ1J5YW4nLCdVcHN0YWlycyBMYW5kaW5nJywnQm91bmRhcnknXSwgJ0ZvdXJ0aCBkb29yIG1hZGUgZnJvbSBvYWstcm9vdCB3b29kJzpbJ09ic2VydmVkJywnUnlhbicsJ1Vwc3RhaXJzIExhbmRpbmcnLCdCdXJpZWQgQm91bmRhcnknXSwgJ1RocmVlIG5hbWVzIHdyaXR0ZW4gb3ZlciBhbiBlcmFzZWQgZm91cnRoJzpbJ1JlY29yZGVkJywnS2ltbXknLCdVcHN0YWlycyBMYW5kaW5nJywnRm91cnRoIE5hbWUnXSwKJ0ZvdXJ0aCBjaGFpciBhZGRlZCBhZnRlciBtZW1vcnkgZm9ybWVkJzpbJ1N1cGVybmF0dXJhbCcsJ1Njb290JywnTWVtb3J5IFJvb20nLCdGb3VydGggTmFtZSddLCAnR3JlZW4gcmVnaXN0cnkgZmliZXIgbWF0Y2hlcyBjYXQgYm9vayc6WydSZWNvcmRlZCcsJ0tpbW15JywnTWVtb3J5IFJvb20nLCdHcmVlbiBSaW5nJ10sICdTcGVuY2VyIG9uY2UgbGFiZWxlZCBiZW5lYXRoIENhcm9saW5lJzpbJ1JlY29yZGVkJywnTXIuIEFzaHRvbicsJ01lbW9yeSBSb29tJywnQ2Fyb2xpbmUgYW5kIFNwZW5jZXInXSwKJ1R5cGV3cml0ZXIgd2FybnMgc2Nob29sIGtlZXBzIHRoZSBmb3VydGgnOlsnU3VwZXJuYXR1cmFsJywnU2Nvb3QnLCdUb3duIExpYnJhcnknLCdGb3VydGggTmFtZSddLCAnTmFtZWxlc3MgY2F0YWxvZyBkaXZpZGVyIGJldHdlZW4gQ29yYSBhbmQgQ2FyYSc6WydSZWNvcmRlZCcsJ0tpbW15JywnVG93biBMaWJyYXJ5JywnRm91cnRoIE5hbWUnXSwgJ0xpYnJhcnkgcmVmbGVjdGlvbiByZXZlYWxzIHVuZGVyZ3JvdW5kIGFpc2xlJzpbJ1N1cGVybmF0dXJhbCcsJ0tldmluJywnVG93biBMaWJyYXJ5JywnQnVyaWVkIEJvdW5kYXJ5J10sCidSZWQgYm9va3MgY29udmVyZ2Ugb24gcGFnZSAxNjc4JzpbJ1N1cGVybmF0dXJhbCcsJ0tldmluJywnVGhlIEJyZWFyeScsJ1RpbWluZyddLCAnT3ZlcmR1ZSBjYXJkIGlzc3VlZCB0byB0aGUgZm91cnRoIG5hbWUnOlsnUmVjb3JkZWQnLCdLaW1teScsJ1RoZSBCcmVhcnknLCdGb3VydGggTmFtZSddLCAnQnJlYXJ5IHNreSBzaG93cyB1bmRlcnNpZGUgb2YgdGhlIHNlYWwnOlsnU3VwZXJuYXR1cmFsJywnU2Nvb3QnLCdUaGUgQnJlYXJ5JywnU2VhbCBEaXJlY3Rpb24nXSwKJ09sZCBlcGl0YXBoIGNhbGxzIGNlbWV0ZXJ5IGEgbG9jayc6WydSZWNvcmRlZCcsJ0tpbW15JywnQ2VtZXRlcnknLCdTZWFsIERpcmVjdGlvbiddLCAnT2FrIHJvb3RzIGNpcmNsZSBibGFuayBncmF2ZXMnOlsnT2JzZXJ2ZWQnLCdSeWFuJywnQ2VtZXRlcnknLCdCdXJpZWQgQm91bmRhcnknXSwgJ0NlbWV0ZXJ5IGdhdGUgcmVwZWF0cyAxNCBhbmQgOSc6WydPYnNlcnZlZCcsJ0tldmluJywnQ2VtZXRlcnknLCdUaW1pbmcnXSwKJ0ZvdXJ0aCBzZWFsIGltcHJlc3Npb24gaXMgYSBrZXlob2xlJzpbJ09ic2VydmVkJywnUnlhbicsJ01lbW9yeSBHcmF2ZScsJ0ZvdXJ0aCBOYW1lJ10sICdSZWQgcmVjZXNzIHN0b3BzIEtldmlu4oCZcyB3YXRjaCc6WydTdXBlcm5hdHVyYWwnLCdLZXZpbicsJ01lbW9yeSBHcmF2ZScsJ1RpbWluZyddLCAnTWVtb3J5LWdyYXZlIHNlYWwgZmFjZXMgZG93bndhcmQnOlsnT2JzZXJ2ZWQnLCdSeWFuJywnTWVtb3J5IEdyYXZlJywnU2VhbCBEaXJlY3Rpb24nXX07CnZhciBib251c0RlZnM9e2JlZHJvb206WydiZWQtd2F0Y2gnLCdiZWQtYm94JywnYmVkLXdhbGwnLCdLZXZpbiBQYXR0ZXJuIEJvbnVzJywnRnV0dXJlIHRpbWluZyBjaG9pY2VzIHJlY2VpdmUgYW4gZXh0cmEgcGF0dGVybiBoaW50LiddLGNsYXNzcm9vbTpbJ2NsYXNzLWNsb2NrJywnY2xhc3MtbWFwJywnY2xhc3MtY2FzZScsJ1ZlcmlmaWVkIEhpc3RvcnkgQm9udXMnLCdNci4gQXNodG9u4oCZcyByZWNvcmRzIGNhbiBiZSBjaGFsbGVuZ2VkIHdpdGhvdXQgYW4gYXV0b21hdGljIHRydXN0IGxvc3MuJ10saG91c2U6Wydob3VzZS1waG90bycsJ2hvdXNlLWNhdGJvb2snLCdob3VzZS1rZXknLCdCb3VuZGFyeSBFdmlkZW5jZSBCb251cycsJ1dpbmNoZXN0ZXIgYm91bmRhcnkgY2x1ZXMgcmVjZWl2ZSBzdHJvbmdlciB2aXN1YWwgZmVlZGJhY2suJ10sdXBzdGFpcnM6Wyd1cC1mb290cHJpbnRzJywndXAtZG9vcmZyYW1lJywndXAtcGljdHVyZScsJ0VyYXNlZCBOYW1lIEJvbnVzJywnRmFsc2UgZm91cnRoLXNpc3RlciBhc3N1bXB0aW9ucyBhcmUgZmxhZ2dlZC4nXSxtZW1vcnlyb29tOlsnbWVtLWNoYWlyJywnbWVtLXJlZ2lzdHJ5JywnbWVtLXBob3RvJywnUmVjb3JkIFJlc3RvcmF0aW9uIEJvbnVzJywnRXJhc2VkIGxhYmVscyBjYW4gYmUgcmVjb25zdHJ1Y3RlZCBmcm9tIHByZXNzdXJlIG1hcmtzLiddLGxpYnJhcnk6WydsaWItdHlwZXdyaXRlcicsJ2xpYi1kcmF3ZXInLCdsaWItd2luZG93JywnQXJjaGl2ZSBWZXJpZmljYXRpb24gQm9udXMnLCdEYW5nZXJvdXMgd3JpdHRlbiBjbHVlcyBjYW4gYmUgdmVyaWZpZWQgd2l0aG91dCByZWFkaW5nIHRoZW0gYWxvdWQuJ10sYnJlYXJ5OlsnYnJlYXJ5LXJlZCcsJ2JyZWFyeS1jYXJkJywnYnJlYXJ5LXNreScsJ0Z1dHVyZSBSZWNvcmQgQm9udXMnLCdGYWxzZSBmdXR1cmUgcmVjb3JkcyBjYW4gYmUgaWRlbnRpZmllZC4nXSxjZW1ldGVyeTpbJ2NlbS1zdG9uZScsJ2NlbS1yb290JywnY2VtLWdhdGUnLCdTZWFsIEludGVycHJldGF0aW9uIEJvbnVzJywnQ2VtZXRlcnkgbG9jayBzeW1ib2xzIHJlY2VpdmUgYW4gb3JpZW50YXRpb24gaGludC4nXSxtZW1vcnlncmF2ZTpbJ2dyYXZlLWVudmVsb3BlJywnZ3JhdmUtcmVjZXNzJywnZ3JhdmUtZmxvb3InLCdEb3dud2FyZCBMb2NrIEJvbnVzJywnVGhlIGJ1cmllZCBzZWFsIGNhbm5vdCBiZSByZXZlcnNlZCBhY2NpZGVudGFsbHkuJ119OwpmdW5jdGlvbiB2KCl7dmFyIHg9U3RhdGUudmFyaWFibGVzO2lmKCFBcnJheS5pc0FycmF5KHguZW52aXJvbm1lbnRGaW5kcykpeC5lbnZpcm9ubWVudEZpbmRzPVtdO2lmKCFBcnJheS5pc0FycmF5KHgucGxheWVyQ2x1ZXMpKXgucGxheWVyQ2x1ZXM9W107aWYoIXgubG9jYXRpb25Cb251c2VzKXgubG9jYXRpb25Cb251c2VzPXt9O3JldHVybiB4fQpmdW5jdGlvbiB1cGRhdGVCb251c2VzKCl7T2JqZWN0LmtleXMoYm9udXNEZWZzKS5mb3JFYWNoKGZ1bmN0aW9uKGspe3ZhciBkPWJvbnVzRGVmc1trXTtpZihkLnNsaWNlKDAsMykuZXZlcnkoZnVuY3Rpb24oaWQpe3JldHVybiB2KCkuZW52aXJvbm1lbnRGaW5kcy5pbmRleE9mKGlkKT49MH0pKXYoKS5sb2NhdGlvbkJvbnVzZXNba109ZFszXX0pfQpmdW5jdGlvbiBlc2Mocyl7cmV0dXJuIFN0cmluZyhzKS5yZXBsYWNlKC9bJjw+IiddL2csZnVuY3Rpb24oYyl7cmV0dXJueycmJzonJmFtcDsnLCc8JzonJmx0OycsJz4nOicmZ3Q7JywnIic6JyZxdW90OycsIiciOicmIzM5Oyd9W2NdfSl9CndpbmRvdy5CcmVja0V2aWRlbmNlQXJjaGl2ZT17cmVuZGVyOmZ1bmN0aW9uKGhvc3Qpe3VwZGF0ZUJvbnVzZXMoKTtpZighaG9zdClyZXR1cm47dmFyIGNvdW50cz17T2JzZXJ2ZWQ6MCxSZWNvcmRlZDowLFJlcG9ydGVkOjAsU3VwZXJuYXR1cmFsOjB9O3YoKS5wbGF5ZXJDbHVlcy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2lmKGNsdWVJbmZvW2NdKWNvdW50c1tjbHVlSW5mb1tjXVswXV0rK30pO2hvc3QuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJibS1hcmNoaXZlLXN1bW1hcnkiPicrWydPYnNlcnZlZCcsJ1JlY29yZGVkJywnUmVwb3J0ZWQnLCdTdXBlcm5hdHVyYWwnXS5tYXAoZnVuY3Rpb24oayl7cmV0dXJuJzxkaXY+PGI+Jytjb3VudHNba10rJzwvYj48c3Bhbj4nK2srJzwvc3Bhbj48L2Rpdj4nfSkuam9pbignJykrJzwvZGl2Pic7aWYoIXYoKS5wbGF5ZXJDbHVlcy5sZW5ndGgpe2hvc3QuaW5uZXJIVE1MKz0nPGRpdiBjbGFzcz0iYm0tYXJjaGl2ZS1lbXB0eSI+Tm8gZW52aXJvbm1lbnRhbCBldmlkZW5jZSBoYXMgYmVlbiByZWNvcmRlZCB5ZXQuPC9kaXY+JztyZXR1cm59dmFyIGxpc3Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7bGlzdC5jbGFzc05hbWU9J2JtLWFyY2hpdmUtbGlzdCc7digpLnBsYXllckNsdWVzLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIG09Y2x1ZUluZm9bY118fFsnVW5jbGFzc2lmaWVkJywnVW5rbm93bicsJ1Vua25vd24nLCdHZW5lcmFsJ107dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZS5jbGFzc05hbWU9J2JtLWFyY2hpdmUtaXRlbSc7ZS5pbm5lckhUTUw9JzxoMz4nK2VzYyhjKSsnPC9oMz48cD5SZWNvdmVyZWQgYXQgJytlc2MobVsyXSkrJy4gQmVzdCBpbnRlcnByZXRlZCBieSAnK2VzYyhtWzFdKSsnLjwvcD48ZGl2IGNsYXNzPSJibS1hcmNoaXZlLXRhZ3MiPjxzcGFuPicrZXNjKG1bMF0pKyc8L3NwYW4+PHNwYW4+Jytlc2MobVszXSkrJzwvc3Bhbj48L2Rpdj4nO2xpc3QuYXBwZW5kQ2hpbGQoZSl9KTtob3N0LmFwcGVuZENoaWxkKGxpc3QpO09iamVjdC5rZXlzKHYoKS5sb2NhdGlvbkJvbnVzZXMpLmZvckVhY2goZnVuY3Rpb24oayl7dmFyIGQ9Ym9udXNEZWZzW2tdLGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZS5jbGFzc05hbWU9J2JtLWJvbnVzLWNhcmQnO2UuaW5uZXJIVE1MPSc8Yj4nK2VzYyhkWzNdKSsnPC9iPjxzcGFuPicrZXNjKGRbNF0pKyc8L3NwYW4+Jztob3N0LmFwcGVuZENoaWxkKGUpfSl9fTsKd2luZG93LkJyZWNrUGhhc2U1R3VpZGFuY2U9ZnVuY3Rpb24odGhlb3J5LG1pc3Npbmcpe3ZhciBtYXA9e2JvdW5kYXJ5OidUaGUgZXZpZGVuY2UgbGlua3MgdHdvIGxvY2F0aW9ucywgYnV0IHRoZSBjaGFpbiBhbHNvIG5lZWRzIGEgdmVyaWZpZWQgY29ubmVjdGlvbiB0byB0aGUgcmVtYWluaW5nIHVuZGVyZ3JvdW5kIGVudHJhbmNlLicsZm91cnRoOidUaGUgZm91cnRoLW5hbWUgdGhlb3J5IG5lZWRzIGJvdGggYW4gZXJhc2VkIGlkZW50aXR5IGFuZCBldmlkZW5jZSB0aGF0IHRoZSBpZGVudGl0eSBmdW5jdGlvbnMgYXMgYSBrZXkgb3Igb2ZmaWNlLCBub3QgYXMgYSBzaXN0ZXIuJyxzcGVuY2VyOidBIHBlcnNvbmFsIGNvbm5lY3Rpb24gaXMgc3VnZ2VzdGVkLCBidXQgdGhlIHRoZW9yeSBuZWVkcyBib3RoIHBoeXNpY2FsIGV2aWRlbmNlIGFuZCBhIHJlc3RvcmVkIGhpc3RvcmljYWwgbGFiZWwuJyxzZWFsOidUaGUgc2VhbCB0aGVvcnkgbmVlZHMgZXZpZGVuY2UgZnJvbSBhYm92ZSBhbmQgYmVsb3csIHBsdXMgYSByZWNvcmQgZGVzY3JpYmluZyB0aGUgY2VtZXRlcnnigJlzIGFjdHVhbCBwdXJwb3NlLid9O3JldHVybiBtYXBbdGhlb3J5XXx8KCdUaGUgZXZpZGVuY2UgY2hhaW4gaXMgbWlzc2luZyAnK21pc3NpbmcrJyBjb25uZWN0aW9uJysobWlzc2luZz09PTE/Jyc6J3MnKSsnLicpfTsKJChkb2N1bWVudCkub24oJzpwYXNzYWdlZGlzcGxheScsZnVuY3Rpb24oKXt1cGRhdGVCb251c2VzKCl9KTsKfSgpKTsKCi8qIFJlZmluZWQgcmFyZSBzdXBlcm5hdHVyYWwgcHVsc2UgY29udHJvbGxlci4gKi8KKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnOwp2YXIgdGltZXI9bnVsbDsKdmFyIHNjZW5lQ29sb3JzPXsKYmVkcm9vbTpbJ3JlZCcsJ2dyZWVuJ10sCnNjaG9vbGV4dGVyaW9yOlsnZ3JlZW4nXSwKc2Nob29saGFsbDpbJ2dyZWVuJ10sCmNsYXNzcm9vbTpbJ2dyZWVuJywncHVycGxlJ10sCnBhc3NhZ2U6WydncmVlbicsJ3B1cnBsZSddLApob3VzZTpbJ3JlZCddLAp1cHN0YWlyczpbJ3JlZCcsJ2dyZWVuJ10sCm1lbW9yeXJvb206WydyZWQnLCdwdXJwbGUnXSwKbGlicmFyeTpbJ3B1cnBsZSddLApicmVhcnk6WydwdXJwbGUnLCdncmVlbicsJ3JlZCddLApjZW1ldGVyeTpbJ3B1cnBsZScsJ3JlZCddLAptZW1vcnlncmF2ZTpbJ3B1cnBsZScsJ2dyZWVuJywncmVkJ10KfTsKZnVuY3Rpb24gbW9kZU9mZigpe3ZhciBib2R5PWRvY3VtZW50LmJvZHk7cmV0dXJuIGJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdibS1iYWNrZ3JvdW5kcy1vZmYnKXx8Ym9keS5jbGFzc0xpc3QuY29udGFpbnMoJ2JtLWF0bW9zcGhlcmUtb2ZmJyl8fGJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdzZXR0aW5nLW1vdGlvbi1vZmYnKXx8d2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlc30KZnVuY3Rpb24gcmVtb3ZlTGVnYWN5KCl7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JtLWF0bW9zcGhlcmUnKTtpZihhKWEuaW5uZXJIVE1MPScnfQpmdW5jdGlvbiBwdWxzZU5vZGUoKXt2YXIgcD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm0tcmFuZG9tLXJpbmctcHVsc2UnKTtpZighcCl7cD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpJyk7cC5pZD0nYm0tcmFuZG9tLXJpbmctcHVsc2UnO3Auc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsJ3RydWUnKTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHApfXJldHVybiBwfQpmdW5jdGlvbiBwb3NpdGlvbihwKXt2YXIgdnc9d2luZG93LmlubmVyV2lkdGgsdmg9d2luZG93LmlubmVySGVpZ2h0LHNpZGViYXI9dnc+MTEzNj8yOTY6MDt2YXIgem9uZXM9Wwp7eDpbc2lkZWJhcis0MCxzaWRlYmFyK01hdGgubWF4KDg1LCh2dy1zaWRlYmFyKSouMTgpXSx5Olt2aCouMTYsdmgqLjc4XX0sCnt4OltzaWRlYmFyKyh2dy1zaWRlYmFyKSouODIsdnctNDVdLHk6W3ZoKi4xNCx2aCouNzhdfSwKe3g6W3NpZGViYXIrKHZ3LXNpZGViYXIpKi4xOCxzaWRlYmFyKyh2dy1zaWRlYmFyKSouOF0seTpbdmgqLjA4LHZoKi4yXX0sCnt4OltzaWRlYmFyKyh2dy1zaWRlYmFyKSouMTYsc2lkZWJhcisodnctc2lkZWJhcikqLjgyXSx5Olt2aCouOCx2aCouOTJdfQpdO3ZhciB6PXpvbmVzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp6b25lcy5sZW5ndGgpXTt2YXIgeD16LnhbMF0rTWF0aC5yYW5kb20oKSpNYXRoLm1heCgxLHoueFsxXS16LnhbMF0pO3ZhciB5PXoueVswXStNYXRoLnJhbmRvbSgpKk1hdGgubWF4KDEsei55WzFdLXoueVswXSk7cC5zdHlsZS5sZWZ0PXgrJ3B4JztwLnN0eWxlLnRvcD15KydweCd9CmZ1bmN0aW9uIHNjaGVkdWxlKGZpcnN0KXtjbGVhclRpbWVvdXQodGltZXIpO2lmKG1vZGVPZmYoKSlyZXR1cm47dmFyIGRlbGF5PWZpcnN0PzQ1MDA6KDkwMDArTWF0aC5yYW5kb20oKSoxNDAwMCk7aWYoTWF0aC5yYW5kb20oKTwuMjQpZGVsYXkrPTcwMDArTWF0aC5yYW5kb20oKSo5MDAwO3RpbWVyPXNldFRpbWVvdXQoc2hvdyxkZWxheSl9CmZ1bmN0aW9uIHNob3coKXtyZW1vdmVMZWdhY3koKTtpZihtb2RlT2ZmKCkpe3NjaGVkdWxlKGZhbHNlKTtyZXR1cm59dmFyIHNjZW5lPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtYm0tZ2FtZXBsYXktc2NlbmUnKTt2YXIgY29sb3JzPXNjZW5lQ29sb3JzW3NjZW5lXTtpZighY29sb3JzfHwhY29sb3JzLmxlbmd0aCl7c2NoZWR1bGUoZmFsc2UpO3JldHVybn12YXIgcD1wdWxzZU5vZGUoKSxjb2xvcj1jb2xvcnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmNvbG9ycy5sZW5ndGgpXTtwLmNsYXNzTmFtZT0nYm0tcHVsc2UtJytjb2xvcjtwb3NpdGlvbihwKTtwLnN0eWxlLnNldFByb3BlcnR5KCctLWJtLXB1bHNlLWR1cmF0aW9uJywoMi43K01hdGgucmFuZG9tKCkqMS44KS50b0ZpeGVkKDIpKydzJyk7dm9pZCBwLm9mZnNldFdpZHRoO3AuY2xhc3NMaXN0LmFkZCgnYm0tcHVsc2UtYWN0aXZlJyk7cC5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLGZ1bmN0aW9uIGRvbmUoKXtwLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsZG9uZSk7cC5jbGFzc0xpc3QucmVtb3ZlKCdibS1wdWxzZS1hY3RpdmUnKTtzY2hlZHVsZShmYWxzZSl9KX0KJChkb2N1bWVudCkub24oJzpwYXNzYWdlZGlzcGxheScsZnVuY3Rpb24oKXtyZW1vdmVMZWdhY3koKTtzY2hlZHVsZSh0cnVlKX0pOwokKGRvY3VtZW50KS5vbignOnN0b3J5cmVhZHknLGZ1bmN0aW9uKCl7cmVtb3ZlTGVnYWN5KCk7c2NoZWR1bGUodHJ1ZSl9KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsZnVuY3Rpb24oKXt2YXIgcD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm0tcmFuZG9tLXJpbmctcHVsc2UnKTtpZihwJiZwLmNsYXNzTGlzdC5jb250YWlucygnYm0tcHVsc2UtYWN0aXZlJykpcG9zaXRpb24ocCl9KTsKfSgpKTsKCi8qIFBoYXNlIDZBIGN1c3RvbSBsb2NhdGlvbiBiYWNrZ3JvdW5kcy4gKi8KKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3ZhciBwaGFzZTZTY2VuZT1udWxsO2Z1bmN0aW9uIGxhc3RQYXNzYWdlKCl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3Bhc3NhZ2VzIC5wYXNzYWdlJyk7cmV0dXJuIGEubGVuZ3RoP2FbYS5sZW5ndGgtMV06bnVsbH1mdW5jdGlvbiBzZXRCZyhrZXksZmlsZSxsYWJlbCl7dmFyIHA9bGFzdFBhc3NhZ2UoKTtpZighcHx8IXAuY2xhc3NMaXN0LmNvbnRhaW5zKCdiZy0nK2tleSkpcmV0dXJuIGZhbHNlO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdibS1iZy1sYXllci1hJyksYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm0tYmctbGF5ZXItYicpO2lmKCFhfHwhYilyZXR1cm4gZmFsc2U7dmFyIGluY29taW5nPWEuY2xhc3NMaXN0LmNvbnRhaW5zKCdibS1iZy12aXNpYmxlJyk/YjphLG91dGdvaW5nPWluY29taW5nPT09YT9iOmE7aWYocGhhc2U2U2NlbmUhPT1rZXkpe2luY29taW5nLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKCJpbWFnZXMvJytmaWxlKyciKSc7aW5jb21pbmcuY2xhc3NMaXN0LmFkZCgnYm0tYmctdmlzaWJsZScpO291dGdvaW5nLmNsYXNzTGlzdC5yZW1vdmUoJ2JtLWJnLXZpc2libGUnKTtwaGFzZTZTY2VuZT1rZXk7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JtLWxvY2F0aW9uLWxhYmVsJyk7aWYobCl7bC50ZXh0Q29udGVudD1sYWJlbDtsLmNsYXNzTGlzdC5yZW1vdmUoJ2JtLWxhYmVsLXNob3cnKTt2b2lkIGwub2Zmc2V0V2lkdGg7bC5jbGFzc0xpc3QuYWRkKCdibS1sYWJlbC1zaG93Jyl9fWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnYm0tZ2FtZXBsYXktc2NlbmUnKTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJtLWdhbWVwbGF5LXNjZW5lJyxrZXkpO3JldHVybiB0cnVlfSQoZG9jdW1lbnQpLm9uKCc6cGFzc2FnZWRpc3BsYXknLGZ1bmN0aW9uKCl7c2V0VGltZW91dChmdW5jdGlvbigpe2lmKHNldEJnKCdzY2hvb2xsZXZlbCcsJ2dhbWVfaGlkZGVuX3NjaG9vbF9sZXZlbC5wbmcnLCdIaWRkZW4gU2Nob29sIExldmVsJykpcmV0dXJuO3NldEJnKCdncmVlbmFyY2hpdmUnLCdnYW1lX2dyZWVuX3JpbmdfYXJjaGl2ZS5wbmcnLCdHcmVlbi1SaW5nIEFyY2hpdmUnKX0sMTApfSl9KCkpOwoKLyogUGhhc2UgNkIgYWRkaXRpb25hbCBzY2VuZSBiYWNrZ3JvdW5kcy4gKi8KKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3ZhciBhY3RpdmU9bnVsbDtmdW5jdGlvbiBwYXNzYWdlKCl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3Bhc3NhZ2VzIC5wYXNzYWdlJyk7cmV0dXJuIGEubGVuZ3RoP2FbYS5sZW5ndGgtMV06bnVsbH1mdW5jdGlvbiB1c2Uoa2V5LGZpbGUsbGFiZWwpe3ZhciBwPXBhc3NhZ2UoKTtpZighcHx8IXAuY2xhc3NMaXN0LmNvbnRhaW5zKCdiZy0nK2tleSkpcmV0dXJuIGZhbHNlO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdibS1iZy1sYXllci1hJyksYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm0tYmctbGF5ZXItYicpO2lmKCFhfHwhYilyZXR1cm4gZmFsc2U7dmFyIGluY29taW5nPWEuY2xhc3NMaXN0LmNvbnRhaW5zKCdibS1iZy12aXNpYmxlJyk/YjphLG91dGdvaW5nPWluY29taW5nPT09YT9iOmE7aWYoYWN0aXZlIT09a2V5KXtpbmNvbWluZy5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3VybCgiaW1hZ2VzLycrZmlsZSsnIiknO2luY29taW5nLmNsYXNzTGlzdC5hZGQoJ2JtLWJnLXZpc2libGUnKTtvdXRnb2luZy5jbGFzc0xpc3QucmVtb3ZlKCdibS1iZy12aXNpYmxlJyk7YWN0aXZlPWtleTt2YXIgbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm0tbG9jYXRpb24tbGFiZWwnKTtpZihsKXtsLnRleHRDb250ZW50PWxhYmVsO2wuY2xhc3NMaXN0LnJlbW92ZSgnYm0tbGFiZWwtc2hvdycpO3ZvaWQgbC5vZmZzZXRXaWR0aDtsLmNsYXNzTGlzdC5hZGQoJ2JtLWxhYmVsLXNob3cnKX19ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdibS1nYW1lcGxheS1zY2VuZScpO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYm0tZ2FtZXBsYXktc2NlbmUnLGtleSk7cmV0dXJuIHRydWV9JChkb2N1bWVudCkub24oJzpwYXNzYWdlZGlzcGxheScsZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodXNlKCd0aHJlYWRjaGFtYmVyJywnZ2FtZV9ncmVlbl90aHJlYWRfcm91dGVzLnBuZycsJ0dyZWVuLVRocmVhZCBSb3V0aW5nIENoYW1iZXInKSlyZXR1cm47dXNlKCdjYXJhY2hhbWJlcicsJ2dhbWVfY2FyYV9ndWFyZGVkX2NoYW1iZXIucG5nJywiQ2FyYSdzIEd1YXJkZWQgQ2hhbWJlciIpfSwxOCl9KX0oKSk7CgovKiBQaGFzZSA2QyBzY2VuZSBiYWNrZ3JvdW5kcy4gKi8KKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3ZhciBhY3RpdmU9bnVsbDtmdW5jdGlvbiBwKCl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3Bhc3NhZ2VzIC5wYXNzYWdlJyk7cmV0dXJuIGEubGVuZ3RoP2FbYS5sZW5ndGgtMV06bnVsbH1mdW5jdGlvbiB1c2Uoa2V5LGZpbGUsbGFiZWwpe3ZhciB4PXAoKTtpZigheHx8IXguY2xhc3NMaXN0LmNvbnRhaW5zKCdiZy0nK2tleSkpcmV0dXJuIGZhbHNlO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdibS1iZy1sYXllci1hJyksYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm0tYmctbGF5ZXItYicpO2lmKCFhfHwhYilyZXR1cm4gZmFsc2U7dmFyIGk9YS5jbGFzc0xpc3QuY29udGFpbnMoJ2JtLWJnLXZpc2libGUnKT9iOmEsbz1pPT09YT9iOmE7aWYoYWN0aXZlIT09a2V5KXtpLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKCJpbWFnZXMvJytmaWxlKyciKSc7aS5jbGFzc0xpc3QuYWRkKCdibS1iZy12aXNpYmxlJyk7by5jbGFzc0xpc3QucmVtb3ZlKCdibS1iZy12aXNpYmxlJyk7YWN0aXZlPWtleTt2YXIgbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm0tbG9jYXRpb24tbGFiZWwnKTtpZihsKXtsLnRleHRDb250ZW50PWxhYmVsO2wuY2xhc3NMaXN0LnJlbW92ZSgnYm0tbGFiZWwtc2hvdycpO3ZvaWQgbC5vZmZzZXRXaWR0aDtsLmNsYXNzTGlzdC5hZGQoJ2JtLWxhYmVsLXNob3cnKX19ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdibS1nYW1lcGxheS1zY2VuZScpO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYm0tZ2FtZXBsYXktc2NlbmUnLGtleSk7cmV0dXJuIHRydWV9JChkb2N1bWVudCkub24oJzpwYXNzYWdlZGlzcGxheScsZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodXNlKCdmb3VydGhjaGFtYmVyJywnZ2FtZV9mb3VydGhfbmFtZV9jaGFtYmVyLnBuZycsJ0ZvdXJ0aC1OYW1lIENoYW1iZXInKSlyZXR1cm47dXNlKCdyZXN0b3JlZGFyY2hpdmUnLCdnYW1lX3Jlc3RvcmVkX3dpdG5lc3NfYXJjaGl2ZS5wbmcnLCdSZXN0b3JlZCBXaXRuZXNzIEFyY2hpdmUnKX0sMjQpfSl9KCkpOwoKCi8qIEJ1aWxkIDUuNSBTdG9yeUluaXQgcGFyc2VyIGZpeDogaGVscGVyIGZ1bmN0aW9ucyBsaXZlIGluIFN0b3J5IEphdmFTY3JpcHQuICovCnNldHVwLnJlY29yZENvbnNlcXVlbmNlID0gZnVuY3Rpb24gKGlkLCBjaG9pY2UsIGVmZmVjdCkgewogICAgdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CiAgICBpZiAoIXYubWFqb3JDb25zZXF1ZW5jZXMpIHsgdi5tYWpvckNvbnNlcXVlbmNlcyA9IHt9OyB9CiAgICBpZiAoIUFycmF5LmlzQXJyYXkodi5jb25zZXF1ZW5jZUxvZykpIHsgdi5jb25zZXF1ZW5jZUxvZyA9IFtdOyB9CiAgICB2Lm1ham9yQ29uc2VxdWVuY2VzW2lkXSA9IGNob2ljZTsKICAgIHZhciBrZXkgPSBpZCArICI6IiArIGNob2ljZTsKICAgIGlmICghdi5jb25zZXF1ZW5jZUxvZy5zb21lKGZ1bmN0aW9uIChpdGVtKSB7IHJldHVybiBpdGVtLmtleSA9PT0ga2V5OyB9KSkgewogICAgICAgIHYuY29uc2VxdWVuY2VMb2cucHVzaCh7IGtleToga2V5LCBpZDogaWQsIGNob2ljZTogY2hvaWNlLCBlZmZlY3Q6IGVmZmVjdCwgcGFzc2FnZTogU3RhdGUucGFzc2FnZSB9KTsKICAgIH0KfTsKc2V0dXAuYWRkQ2FzZUZpbGUyID0gZnVuY3Rpb24gKGlkLCB0aXRsZSwgb3duZXIsIHJlbGlhYmlsaXR5LCBjb250cmFkaWN0aW9uLCBxdWVzdGlvbikgewogICAgdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CiAgICBpZiAoIXYuY2FzZUZpbGUyKSB7IHYuY2FzZUZpbGUyID0ge307IH0KICAgIHYuY2FzZUZpbGUyW2lkXSA9IHsgdGl0bGU6IHRpdGxlLCBvd25lcjogb3duZXIsIHJlbGlhYmlsaXR5OiByZWxpYWJpbGl0eSwgY29udHJhZGljdGlvbjogY29udHJhZGljdGlvbiwgcXVlc3Rpb246IHF1ZXN0aW9uIH07Cn07CnNldHVwLmRpc2NvdmVyQ2x1ZSA9IGZ1bmN0aW9uIChpZCwgdGl0bGUsIGRpc2NvdmVyZXIpIHsKICAgIHZhciB2ID0gU3RhdGUudmFyaWFibGVzOwogICAgaWYgKCF2LmNsdWVPd25lcnNoaXApIHsgdi5jbHVlT3duZXJzaGlwID0ge307IH0KICAgIGlmICghdi5jbHVlT3duZXJzaGlwW2lkXSkgewogICAgICAgIHYuY2x1ZU93bmVyc2hpcFtpZF0gPSB7IHRpdGxlOiB0aXRsZSwgZGlzY292ZXJlcjogZGlzY292ZXJlciwga25vd3M6IFtkaXNjb3ZlcmVyXSwgdmVyaWZpZWRCeTogW10sIHdpdGhoZWxkQnk6IFtdIH07CiAgICB9IGVsc2UgaWYgKHYuY2x1ZU93bmVyc2hpcFtpZF0ua25vd3MuaW5kZXhPZihkaXNjb3ZlcmVyKSA9PT0gLTEpIHsKICAgICAgICB2LmNsdWVPd25lcnNoaXBbaWRdLmtub3dzLnB1c2goZGlzY292ZXJlcik7CiAgICB9Cn07CnNldHVwLnNoYXJlQ2x1ZSA9IGZ1bmN0aW9uIChpZCwgZnJvbSwgdG8pIHsKICAgIHZhciB2ID0gU3RhdGUudmFyaWFibGVzLCBjbHVlID0gdi5jbHVlT3duZXJzaGlwICYmIHYuY2x1ZU93bmVyc2hpcFtpZF07CiAgICBpZiAoY2x1ZSAmJiBjbHVlLmtub3dzLmluZGV4T2YodG8pID09PSAtMSkgeyBjbHVlLmtub3dzLnB1c2godG8pOyB9CiAgICBpZiAoIUFycmF5LmlzQXJyYXkodi5rbm93bGVkZ2VEZWNpc2lvbnMpKSB7IHYua25vd2xlZGdlRGVjaXNpb25zID0gW107IH0KICAgIHZhciBldmVudCA9IGlkICsgIjpzaGFyZWQ6IiArIGZyb20gKyAiOiIgKyB0bzsKICAgIGlmICh2Lmtub3dsZWRnZURlY2lzaW9ucy5pbmRleE9mKGV2ZW50KSA9PT0gLTEpIHsgdi5rbm93bGVkZ2VEZWNpc2lvbnMucHVzaChldmVudCk7IH0KfTsKc2V0dXAudmVyaWZ5Q2x1ZSA9IGZ1bmN0aW9uIChpZCwgd2hvKSB7CiAgICB2YXIgdiA9IFN0YXRlLnZhcmlhYmxlcywgY2x1ZSA9IHYuY2x1ZU93bmVyc2hpcCAmJiB2LmNsdWVPd25lcnNoaXBbaWRdOwogICAgaWYgKGNsdWUgJiYgY2x1ZS52ZXJpZmllZEJ5LmluZGV4T2Yod2hvKSA9PT0gLTEpIHsgY2x1ZS52ZXJpZmllZEJ5LnB1c2god2hvKTsgfQogICAgaWYgKCFBcnJheS5pc0FycmF5KHYua25vd2xlZGdlRGVjaXNpb25zKSkgeyB2Lmtub3dsZWRnZURlY2lzaW9ucyA9IFtdOyB9CiAgICB2YXIgZXZlbnQgPSBpZCArICI6dmVyaWZpZWQ6IiArIHdobzsKICAgIGlmICh2Lmtub3dsZWRnZURlY2lzaW9ucy5pbmRleE9mKGV2ZW50KSA9PT0gLTEpIHsgdi5rbm93bGVkZ2VEZWNpc2lvbnMucHVzaChldmVudCk7IH0KfTsKc2V0dXAud2l0aGhvbGRDbHVlID0gZnVuY3Rpb24gKGlkLCB3aG8pIHsKICAgIHZhciB2ID0gU3RhdGUudmFyaWFibGVzLCBjbHVlID0gdi5jbHVlT3duZXJzaGlwICYmIHYuY2x1ZU93bmVyc2hpcFtpZF07CiAgICBpZiAoY2x1ZSAmJiBjbHVlLndpdGhoZWxkQnkuaW5kZXhPZih3aG8pID09PSAtMSkgeyBjbHVlLndpdGhoZWxkQnkucHVzaCh3aG8pOyB9CiAgICBpZiAoIUFycmF5LmlzQXJyYXkodi5rbm93bGVkZ2VEZWNpc2lvbnMpKSB7IHYua25vd2xlZGdlRGVjaXNpb25zID0gW107IH0KICAgIHZhciBldmVudCA9IGlkICsgIjp3aXRoaGVsZDoiICsgd2hvOwogICAgaWYgKHYua25vd2xlZGdlRGVjaXNpb25zLmluZGV4T2YoZXZlbnQpID09PSAtMSkgeyB2Lmtub3dsZWRnZURlY2lzaW9ucy5wdXNoKGV2ZW50KTsgfQp9OwpzZXR1cC5rbm93c0NsdWUgPSBmdW5jdGlvbiAoaWQsIHdobykgewogICAgdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXMsIGNsdWUgPSB2LmNsdWVPd25lcnNoaXAgJiYgdi5jbHVlT3duZXJzaGlwW2lkXTsKICAgIHJldHVybiBCb29sZWFuKGNsdWUgJiYgY2x1ZS5rbm93cy5pbmRleE9mKHdobykgIT09IC0xKTsKfTsKc2V0dXAudXNlQWJpbGl0eSA9IGZ1bmN0aW9uICh3aG8sIGlkLCByZXN1bHQsIGV4cG9zdXJlKSB7CiAgICB2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKICAgIGlmICghdi5hYmlsaXR5VXNlcykgeyB2LmFiaWxpdHlVc2VzID0geyBLZXZpbjogMCwgUnlhbjogMCwgS2ltbXk6IDAsIFNjb290OiAwIH07IH0KICAgIGlmICghQXJyYXkuaXNBcnJheSh2LmFiaWxpdHlBZHZhbnRhZ2VzKSkgeyB2LmFiaWxpdHlBZHZhbnRhZ2VzID0gW107IH0KICAgIGlmICghQXJyYXkuaXNBcnJheSh2LmNvbnNlcXVlbmNlTG9nKSkgeyB2LmNvbnNlcXVlbmNlTG9nID0gW107IH0KICAgIHYuYWJpbGl0eVVzZXNbd2hvXSA9ICh2LmFiaWxpdHlVc2VzW3dob10gfHwgMCkgKyAxOwogICAgaWYgKHYuYWJpbGl0eUFkdmFudGFnZXMuaW5kZXhPZihpZCkgPT09IC0xKSB7IHYuYWJpbGl0eUFkdmFudGFnZXMucHVzaChpZCk7IH0KICAgIHYuc3VwZXJuYXR1cmFsRXhwb3N1cmUgPSAodi5zdXBlcm5hdHVyYWxFeHBvc3VyZSB8fCAwKSArIGV4cG9zdXJlOwogICAgdmFyIGtleSA9ICJhYmlsaXR5OiIgKyBpZDsKICAgIGlmICghdi5jb25zZXF1ZW5jZUxvZy5zb21lKGZ1bmN0aW9uIChpdGVtKSB7IHJldHVybiBpdGVtLmtleSA9PT0ga2V5OyB9KSkgewogICAgICAgIHYuY29uc2VxdWVuY2VMb2cucHVzaCh7IGtleToga2V5LCBpZDogImFiaWxpdHkiLCBjaG9pY2U6IHdobywgZWZmZWN0OiByZXN1bHQsIHBhc3NhZ2U6IFN0YXRlLnBhc3NhZ2UgfSk7CiAgICB9Cn07CnNldHVwLmF0dGVudGlvblN0YXRlID0gZnVuY3Rpb24gKCkgewogICAgdmFyIHZhbHVlID0gU3RhdGUudmFyaWFibGVzLndpdGNoQXR0ZW50aW9uIHx8IDA7CiAgICBpZiAodmFsdWUgPj0gOSkgeyByZXR1cm4gIkh1bnRlZCI7IH0KICAgIGlmICh2YWx1ZSA+PSA2KSB7IHJldHVybiAiTWFya2VkIjsgfQogICAgaWYgKHZhbHVlID49IDMpIHsgcmV0dXJuICJGb2xsb3dlZCI7IH0KICAgIGlmICh2YWx1ZSA+PSAxKSB7IHJldHVybiAiT2JzZXJ2ZWQiOyB9CiAgICByZXR1cm4gIlVubm90aWNlZCI7Cn07CnNldHVwLnJhaXNlQXR0ZW50aW9uID0gZnVuY3Rpb24gKGlkLCBhbW91bnQsIHJlYXNvbikgewogICAgdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CiAgICBpZiAoIUFycmF5LmlzQXJyYXkodi53aXRjaEF0dGVudGlvbkV2ZW50cykpIHsgdi53aXRjaEF0dGVudGlvbkV2ZW50cyA9IFtdOyB9CiAgICBpZiAoIXYud2l0Y2hBdHRlbnRpb25FdmVudHMuc29tZShmdW5jdGlvbiAoaXRlbSkgeyByZXR1cm4gaXRlbS5pZCA9PT0gaWQ7IH0pKSB7CiAgICAgICAgdi53aXRjaEF0dGVudGlvbiA9ICh2LndpdGNoQXR0ZW50aW9uIHx8IDApICsgYW1vdW50OwogICAgICAgIHYud2l0Y2hBdHRlbnRpb25FdmVudHMucHVzaCh7IGlkOiBpZCwgYW1vdW50OiBhbW91bnQsIHJlYXNvbjogcmVhc29uLCBwYXNzYWdlOiBTdGF0ZS5wYXNzYWdlIH0pOwogICAgfQp9OwpzZXR1cC5sb3dlckF0dGVudGlvbiA9IGZ1bmN0aW9uIChpZCwgYW1vdW50LCByZWFzb24pIHsKICAgIHZhciB2ID0gU3RhdGUudmFyaWFibGVzOwogICAgaWYgKCFBcnJheS5pc0FycmF5KHYud2l0Y2hBdHRlbnRpb25FdmVudHMpKSB7IHYud2l0Y2hBdHRlbnRpb25FdmVudHMgPSBbXTsgfQogICAgaWYgKCF2LndpdGNoQXR0ZW50aW9uRXZlbnRzLnNvbWUoZnVuY3Rpb24gKGl0ZW0pIHsgcmV0dXJuIGl0ZW0uaWQgPT09IGlkOyB9KSkgewogICAgICAgIHYud2l0Y2hBdHRlbnRpb24gPSBNYXRoLm1heCgwLCAodi53aXRjaEF0dGVudGlvbiB8fCAwKSAtIGFtb3VudCk7CiAgICAgICAgdi53aXRjaEF0dGVudGlvbkV2ZW50cy5wdXNoKHsgaWQ6IGlkLCBhbW91bnQ6IC1hbW91bnQsIHJlYXNvbjogcmVhc29uLCBwYXNzYWdlOiBTdGF0ZS5wYXNzYWdlIH0pOwogICAgfQp9OwoKCi8qIEJ1aWxkIDUuNiBlbmRpbmcgbWF0cml4LiAqLwpzZXR1cC5jYWxjdWxhdGVFbmRpbmdNYXRyaXggPSBmdW5jdGlvbiAoKSB7CiAgICB2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKICAgIHZhciBvd25lcnNoaXAgPSB2LmNsdWVPd25lcnNoaXAgfHwge307CiAgICB2YXIgY2x1ZUlkcyA9IE9iamVjdC5rZXlzKG93bmVyc2hpcCk7CiAgICB2YXIgc2hhcmVkID0gMDsKICAgIHZhciB2ZXJpZmllZCA9IDA7CiAgICBjbHVlSWRzLmZvckVhY2goZnVuY3Rpb24gKGlkKSB7CiAgICAgICAgdmFyIGNsdWUgPSBvd25lcnNoaXBbaWRdIHx8IHt9OwogICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNsdWUua25vd3MpICYmIGNsdWUua25vd3MubGVuZ3RoID49IDMpIHsgc2hhcmVkICs9IDE7IH0KICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjbHVlLnZlcmlmaWVkQnkpICYmIGNsdWUudmVyaWZpZWRCeS5sZW5ndGggPiAwKSB7IHZlcmlmaWVkICs9IDE7IH0KICAgIH0pOwogICAgdmFyIHRydXRoID0gTWF0aC5taW4oMTAsCiAgICAgICAgdmVyaWZpZWQgKiAyICsKICAgICAgICBzaGFyZWQgKwogICAgICAgICgodi5hYmlsaXR5QWR2YW50YWdlcyB8fCBbXSkuaW5kZXhPZigia2V2aW4tdGltZS1sb2NhdGlvbiIpICE9PSAtMSA/IDIgOiAwKSArCiAgICAgICAgKCh2LmFiaWxpdHlBZHZhbnRhZ2VzIHx8IFtdKS5pbmRleE9mKCJzY29vdC1mb3VydGgtbmFtZSIpICE9PSAtMSA/IDIgOiAwKSArCiAgICAgICAgKHYucnlhbkFjdGl2ZVJ1bGUgPyAxIDogMCkKICAgICk7CiAgICB2YXIgcmVzY3VlID0gNDsKICAgIGlmICh2Lm1ham9yQ29uc2VxdWVuY2VzICYmIHYubWFqb3JDb25zZXF1ZW5jZXMuZnJvbnREb29yUmVzY3VlID09PSAia2l0Y2hlbiIpIHsgcmVzY3VlICs9IDI7IH0KICAgIGlmICh2Lm1ham9yQ29uc2VxdWVuY2VzICYmIHYubWFqb3JDb25zZXF1ZW5jZXMuYWJiaWVEaXNjbG9zdXJlID09PSAiZnVsbCIpIHsgcmVzY3VlICs9IDI7IH0KICAgIGlmICh2Lm1ham9yQ29uc2VxdWVuY2VzICYmIHYubWFqb3JDb25zZXF1ZW5jZXMub2FrUmVzY3VlQ2hvaWNlID09PSAia2l0Y2hlbiIpIHsgcmVzY3VlICs9IDE7IH0KICAgIGlmICh2Lm1ham9yQ29uc2VxdWVuY2VzICYmIHYubWFqb3JDb25zZXF1ZW5jZXMuZnJvbnREb29yUmVzY3VlID09PSAidXBzdGFpcnMiKSB7IHJlc2N1ZSAtPSAxOyB9CiAgICByZXNjdWUgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMCwgcmVzY3VlKSk7CiAgICB2YXIgYXR0ZW50aW9uID0gdi53aXRjaEF0dGVudGlvbiB8fCAwOwogICAgdmFyIGNvc3QgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMCwKICAgICAgICBhdHRlbnRpb24gKwogICAgICAgICh2LnN1cGVybmF0dXJhbEV4cG9zdXJlIHx8IDApICsKICAgICAgICAoKHYubWFqb3JDb25zZXF1ZW5jZXMgJiYgdi5tYWpvckNvbnNlcXVlbmNlcy5jYXJhQXBwcm9hY2ggPT09ICJ3cm9uZ1Npc3RlciIpID8gMiA6IDApIC0KICAgICAgICAodi5yeWFuQWN0aXZlUnVsZSA/IDEgOiAwKQogICAgKSk7CiAgICB2YXIgdHJ1dGhCYW5kID0gdHJ1dGggPj0gNyA/ICJSZXZlYWxlZCIgOiB0cnV0aCA+PSA0ID8gIlBhcnRpYWwiIDogIk9ic2N1cmVkIjsKICAgIHZhciByZXNjdWVCYW5kID0gcmVzY3VlID49IDcgPyAiUHJvdGVjdGVkIiA6IHJlc2N1ZSA+PSA0ID8gIkNvbXByb21pc2VkIiA6ICJMb3N0IEdyb3VuZCI7CiAgICB2YXIgY29zdEJhbmQgPSBjb3N0IDw9IDMgPyAiQ29udGFpbmVkIiA6IGNvc3QgPD0gNiA/ICJMaW5nZXJpbmciIDogIkNhcnJpZWQgRm9yd2FyZCI7CiAgICB2YXIgZW5kaW5nSWQ7CiAgICBpZiAodHJ1dGhCYW5kID09PSAiUmV2ZWFsZWQiICYmIHJlc2N1ZUJhbmQgPT09ICJQcm90ZWN0ZWQiICYmIGNvc3RCYW5kID09PSAiQ29udGFpbmVkIikgeyBlbmRpbmdJZCA9ICJjbGVhci1kYXduIjsgfQogICAgZWxzZSBpZiAodHJ1dGhCYW5kID09PSAiUmV2ZWFsZWQiICYmIHJlc2N1ZUJhbmQgPT09ICJQcm90ZWN0ZWQiKSB7IGVuZGluZ0lkID0gInRydXRoLXdpdGgtYS1zaGFkb3ciOyB9CiAgICBlbHNlIGlmIChyZXNjdWVCYW5kID09PSAiUHJvdGVjdGVkIiAmJiB0cnV0aEJhbmQgIT09ICJSZXZlYWxlZCIpIHsgZW5kaW5nSWQgPSAic2FmZS1idXQtdW5hbnN3ZXJlZCI7IH0KICAgIGVsc2UgaWYgKHRydXRoQmFuZCA9PT0gIlJldmVhbGVkIiAmJiByZXNjdWVCYW5kICE9PSAiUHJvdGVjdGVkIikgeyBlbmRpbmdJZCA9ICJ0aGUtcHJpY2Utb2Yta25vd2luZyI7IH0KICAgIGVsc2UgaWYgKGNvc3RCYW5kID09PSAiQ2FycmllZCBGb3J3YXJkIikgeyBlbmRpbmdJZCA9ICJ0aGUtaHVudC1jb250aW51ZXMiOyB9CiAgICBlbHNlIHsgZW5kaW5nSWQgPSAidW5maW5pc2hlZC1jYXNlIjsgfQogICAgcmV0dXJuIHsgdHJ1dGg6IHRydXRoLCByZXNjdWU6IHJlc2N1ZSwgY29zdDogY29zdCwgdHJ1dGhCYW5kOiB0cnV0aEJhbmQsIHJlc2N1ZUJhbmQ6IHJlc2N1ZUJhbmQsIGNvc3RCYW5kOiBjb3N0QmFuZCwgZW5kaW5nSWQ6IGVuZGluZ0lkLCBzaGFyZWQ6IHNoYXJlZCwgdmVyaWZpZWQ6IHZlcmlmaWVkIH07Cn07CnNldHVwLmVuZGluZ1RpdGxlID0gZnVuY3Rpb24gKGlkKSB7CiAgICB2YXIgdGl0bGVzID0gewogICAgICAgICJjbGVhci1kYXduIjogIkNsZWFyIERhd24iLAogICAgICAgICJ0cnV0aC13aXRoLWEtc2hhZG93IjogIlRydXRoIHdpdGggYSBTaGFkb3ciLAogICAgICAgICJzYWZlLWJ1dC11bmFuc3dlcmVkIjogIlNhZmUsIGJ1dCBVbmFuc3dlcmVkIiwKICAgICAgICAidGhlLXByaWNlLW9mLWtub3dpbmciOiAiVGhlIFByaWNlIG9mIEtub3dpbmciLAogICAgICAgICJ0aGUtaHVudC1jb250aW51ZXMiOiAiVGhlIEh1bnQgQ29udGludWVzIiwKICAgICAgICAidW5maW5pc2hlZC1jYXNlIjogIlRoZSBVbmZpbmlzaGVkIENhc2UiCiAgICB9OwogICAgcmV0dXJuIHRpdGxlc1tpZF0gfHwgIlRoZSBVbmZpbmlzaGVkIENhc2UiOwp9OwoKCi8qIEJ1aWxkIDUuNyBTdG9yeUluaXQgaW50ZWdyYXRpb24gbWlncmF0aW9uLiAqLwovKiBNaWdyYXRlZCBmcm9tIFN0b3J5SW5pdDogcmVxdWVzdERldkFjY2VzcyAqLwpzZXR1cC5yZXF1ZXN0RGV2QWNjZXNzID0gZnVuY3Rpb24gKCkgewogICAgdmFyIGVudGVyZWQgPSB3aW5kb3cucHJvbXB0KCJTdGFmZiBhY2Nlc3MgcGFzc3dvcmQ6Iik7CiAgICBpZiAoZW50ZXJlZCA9PT0gbnVsbCkgeyByZXR1cm47IH0KICAgIGlmIChlbnRlcmVkID09PSBzZXR1cC5kZXZBY2Nlc3NQYXNzd29yZCkgewogICAgICAgIHNldHVwLmRldlVubG9ja2VkID0gdHJ1ZTsKICAgICAgICBTdGF0ZS52YXJpYWJsZXMuZGV2TW9kZSA9IHRydWU7CiAgICAgICAgRW5naW5lLnBsYXkoIkRldkRhc2hib2FyZCIpOwogICAgfSBlbHNlIHsKICAgICAgICB3aW5kb3cuYWxlcnQoIkluY29ycmVjdCBwYXNzd29yZC4iKTsKICAgIH0KfTsKCi8qIE1pZ3JhdGVkIGZyb20gU3RvcnlJbml0OiBsb2NrRGV2QWNjZXNzICovCnNldHVwLmxvY2tEZXZBY2Nlc3MgPSBmdW5jdGlvbiAoKSB7CiAgICBzZXR1cC5kZXZVbmxvY2tlZCA9IGZhbHNlOwogICAgU3RhdGUudmFyaWFibGVzLmRldk1vZGUgPSBmYWxzZTsKICAgIEVuZ2luZS5wbGF5KCJTdGFydCIpOwp9OwoKLyogTWlncmF0ZWQgZnJvbSBTdG9yeUluaXQ6IHY0MUJ1aWxkU25hcHNob3QgKi8Kc2V0dXAudjQxQnVpbGRTbmFwc2hvdCA9IGZ1bmN0aW9uICgpIHsKICAgIHZhciB2ID0gU3RhdGUudmFyaWFibGVzOwogICAgcmV0dXJuIHsKICAgICAgICBzYXZlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksCiAgICAgICAgcGFzc2FnZTogU3RhdGUucGFzc2FnZSwKICAgICAgICBoaXN0b3J5TGVuZ3RoOiBTdGF0ZS5sZW5ndGgsCiAgICAgICAgcG92OiB2LnBvdiB8fCAiIiwKICAgICAgICBjaGFwdGVyOiB2LmNoYXB0ZXIgfHwgIiIsCiAgICAgICAgbG9jYXRpb246IHYubG9jYXRpb24gfHwgIiIsCiAgICAgICAgb2JqZWN0aXZlOiB2Lm9iamVjdGl2ZSB8fCAiIiwKICAgICAgICByb3V0ZTogdi5pbnZlc3RpZ2F0aW9uUm91dGUgfHwgIiIsCiAgICAgICAgY2x1ZXM6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodi5wbGF5ZXJDbHVlcyB8fCBbXSkpLAogICAgICAgIGtub3dsZWRnZTogSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh2Lmtub3dsZWRnZSB8fCB7fSkpLAogICAgICAgIHJlbGF0aW9uc2hpcHM6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodi5yZWxhdGlvbnNoaXBzIHx8IHt9KSksCiAgICAgICAgaW52ZW50b3J5OiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHYuaW52ZW50b3J5IHx8IFtdKSksCiAgICAgICAgYmFkZ2VzOiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHYuZWFybmVkQmFkZ2VJZHMgfHwgW10pKSwKICAgICAgICBhd2FyZHM6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodi5zdGFiaWxpemF0aW9uQXdhcmRzIHx8IFtdKSkKICAgIH07Cn07CgovKiBNaWdyYXRlZCBmcm9tIFN0b3J5SW5pdDogdjQxQ2FwdHVyZVNuYXBzaG90ICovCnNldHVwLnY0MUNhcHR1cmVTbmFwc2hvdCA9IGZ1bmN0aW9uICgpIHsKICAgIHRyeSB7CiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oc2V0dXAudjQxU25hcHNob3RLZXksIEpTT04uc3RyaW5naWZ5KHNldHVwLnY0MUJ1aWxkU25hcHNob3QoKSkpOwogICAgICAgIHdpbmRvdy5hbGVydCgiU3RhZmYgc3RhdGUgc25hcHNob3QgY2FwdHVyZWQuIENyZWF0ZSBvciBsb2FkIGEgc2F2ZSwgdGhlbiByZXR1cm4gdG8gQ29tcGFyZSBTbmFwc2hvdC4iKTsKICAgIH0gY2F0Y2ggKGUpIHsgd2luZG93LmFsZXJ0KCJTbmFwc2hvdCBjb3VsZCBub3QgYmUgc3RvcmVkOiAiICsgZS5tZXNzYWdlKTsgfQp9OwoKLyogTWlncmF0ZWQgZnJvbSBTdG9yeUluaXQ6IHY0MVJlYWRTbmFwc2hvdCAqLwpzZXR1cC52NDFSZWFkU25hcHNob3QgPSBmdW5jdGlvbiAoKSB7CiAgICB0cnkgeyByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShzZXR1cC52NDFTbmFwc2hvdEtleSkgfHwgIm51bGwiKTsgfQogICAgY2F0Y2ggKGUpIHsgcmV0dXJuIG51bGw7IH0KfTsKCi8qIE1pZ3JhdGVkIGZyb20gU3RvcnlJbml0OiB2NDFDbGVhclNuYXBzaG90ICovCnNldHVwLnY0MUNsZWFyU25hcHNob3QgPSBmdW5jdGlvbiAoKSB7IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHNldHVwLnY0MVNuYXBzaG90S2V5KTsgfTsKCi8qIE1pZ3JhdGVkIGZyb20gU3RvcnlJbml0OiB2NDJDYXB0dXJlUHJvZmlsZSAqLwpzZXR1cC52NDJDYXB0dXJlUHJvZmlsZSA9IGZ1bmN0aW9uICgpIHsKICAgIHZhciB2ID0gU3RhdGUudmFyaWFibGVzLCBkYXRhID0geyBzYXZlZEF0IDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLCBmaWVsZHMgOiB7fSB9OwogICAgc2V0dXAudjQyUHJvZmlsZUZpZWxkcy5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsKICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHYsIGtleSkpIHsKICAgICAgICAgICAgZGF0YS5maWVsZHNba2V5XSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodltrZXldKSk7CiAgICAgICAgfQogICAgfSk7CiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShzZXR1cC52NDJQcm9maWxlS2V5LCBKU09OLnN0cmluZ2lmeShkYXRhKSk7CiAgICByZXR1cm4gZGF0YTsKfTsKCi8qIE1pZ3JhdGVkIGZyb20gU3RvcnlJbml0OiB2NDJSZWFkUHJvZmlsZSAqLwpzZXR1cC52NDJSZWFkUHJvZmlsZSA9IGZ1bmN0aW9uICgpIHsKICAgIHRyeSB7IHJldHVybiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHNldHVwLnY0MlByb2ZpbGVLZXkpIHx8ICJudWxsIik7IH0KICAgIGNhdGNoIChlKSB7IHJldHVybiBudWxsOyB9Cn07CgovKiBNaWdyYXRlZCBmcm9tIFN0b3J5SW5pdDogdjQyUmVzdG9yZVByb2ZpbGUgKi8Kc2V0dXAudjQyUmVzdG9yZVByb2ZpbGUgPSBmdW5jdGlvbiAoKSB7CiAgICB2YXIgZGF0YSA9IHNldHVwLnY0MlJlYWRQcm9maWxlKCk7CiAgICBpZiAoIWRhdGEgfHwgIWRhdGEuZmllbGRzKSB7IHJldHVybiBmYWxzZTsgfQogICAgT2JqZWN0LmtleXMoZGF0YS5maWVsZHMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgewogICAgICAgIFN0YXRlLnZhcmlhYmxlc1trZXldID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhLmZpZWxkc1trZXldKSk7CiAgICB9KTsKICAgIHJldHVybiB0cnVlOwp9OwoKLyogTWlncmF0ZWQgZnJvbSBTdG9yeUluaXQ6IHY0MkNsZWFyUHJvZmlsZUJhY2t1cCAqLwpzZXR1cC52NDJDbGVhclByb2ZpbGVCYWNrdXAgPSBmdW5jdGlvbiAoKSB7IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHNldHVwLnY0MlByb2ZpbGVLZXkpOyB9OwoKLyogTWlncmF0ZWQgZnJvbSBTdG9yeUluaXQ6IHY0MkNsZWFuUmVzdGFydCAqLwpzZXR1cC52NDJDbGVhblJlc3RhcnQgPSBmdW5jdGlvbiAocHJlc2VydmVQcm9maWxlLCBjbGVhclNhdmVzKSB7CiAgICBpZiAocHJlc2VydmVQcm9maWxlKSB7IHNldHVwLnY0MkNhcHR1cmVQcm9maWxlKCk7IH0KICAgIGlmIChjbGVhclNhdmVzKSB7IFNhdmUuY2xlYXIoKTsgfQogICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oImJyZWNrMS12NDItcmVzdG9yZS1hZnRlci1yZXN0YXJ0IiwgcHJlc2VydmVQcm9maWxlID8gIjEiIDogIjAiKTsKICAgIEVuZ2luZS5yZXN0YXJ0KCk7Cn07CgovKiBNaWdyYXRlZCBmcm9tIFN0b3J5SW5pdDogdjQzUmVhZEJvdW5kYXJpZXMgKi8Kc2V0dXAudjQzUmVhZEJvdW5kYXJpZXMgPSBmdW5jdGlvbiAoKSB7IHRyeSB7IHJldHVybiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHNldHVwLnY0M0JvdW5kYXJ5S2V5KSB8fCAie30iKTsgfSBjYXRjaCAoZSkgeyByZXR1cm4ge307IH0gfTsKCi8qIE1pZ3JhdGVkIGZyb20gU3RvcnlJbml0OiB2NDNXcml0ZUJvdW5kYXJpZXMgKi8Kc2V0dXAudjQzV3JpdGVCb3VuZGFyaWVzID0gZnVuY3Rpb24gKGRhdGEpIHsgbG9jYWxTdG9yYWdlLnNldEl0ZW0oc2V0dXAudjQzQm91bmRhcnlLZXksIEpTT04uc3RyaW5naWZ5KGRhdGEpKTsgfTsKCi8qIE1pZ3JhdGVkIGZyb20gU3RvcnlJbml0OiB2NDNDYXB0dXJlQm91bmRhcnkgKi8Kc2V0dXAudjQzQ2FwdHVyZUJvdW5kYXJ5ID0gZnVuY3Rpb24gKGNoYXB0ZXIsIHBhc3NhZ2UsIGVwaXNvZGUpIHsKIHZhciBkYXRhPXNldHVwLnY0M1JlYWRCb3VuZGFyaWVzKCksIHY9U3RhdGUudmFyaWFibGVzOwogZGF0YVtTdHJpbmcoY2hhcHRlcildPXtjYXB0dXJlZEF0Om5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxjaGFwdGVyOmNoYXB0ZXIsZXBpc29kZTplcGlzb2RlLHBhc3NhZ2U6cGFzc2FnZSxwb3Y6di5wb3Z8fCIiLGxvY2F0aW9uOnYubG9jYXRpb258fCIiLG9iamVjdGl2ZTp2Lm9iamVjdGl2ZXx8IiIscm91dGU6di5pbnZlc3RpZ2F0aW9uUm91dGV8fCIiLGNsdWVDb3VudDoodi5wbGF5ZXJDbHVlc3x8W10pLmxlbmd0aCxpbnZlbnRvcnlDb3VudDoodi5pbnZlbnRvcnl8fFtdKS5sZW5ndGgsYmFkZ2VDb3VudDoodi5lYXJuZWRCYWRnZUlkc3x8W10pLmxlbmd0aCxhd2FyZENvdW50Oih2LnN0YWJpbGl6YXRpb25Bd2FyZHN8fFtdKS5sZW5ndGh9Owogc2V0dXAudjQzV3JpdGVCb3VuZGFyaWVzKGRhdGEpOwp9OwoKLyogTWlncmF0ZWQgZnJvbSBTdG9yeUluaXQ6IHY0M0NsZWFyQm91bmRhcmllcyAqLwpzZXR1cC52NDNDbGVhckJvdW5kYXJpZXMgPSBmdW5jdGlvbiAoKSB7IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHNldHVwLnY0M0JvdW5kYXJ5S2V5KTsgfTsKCi8qIE1pZ3JhdGVkIGZyb20gU3RvcnlJbml0OiB2NDRDbG9uZSAqLwpzZXR1cC52NDRDbG9uZSA9IGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh2YWx1ZSkpOyB9OwoKLyogTWlncmF0ZWQgZnJvbSBTdG9yeUluaXQ6IHY0NENoZWNrcG9pbnRLZXkgKi8Kc2V0dXAudjQ0Q2hlY2twb2ludEtleSA9IGZ1bmN0aW9uIChjaGFwdGVyKSB7IHJldHVybiBzZXR1cC52NDRDaGVja3BvaW50UHJlZml4ICsgU3RyaW5nKGNoYXB0ZXIpOyB9OwoKLyogTWlncmF0ZWQgZnJvbSBTdG9yeUluaXQ6IHY0NENhcHR1cmVDaGFwdGVyICovCnNldHVwLnY0NENhcHR1cmVDaGFwdGVyID0gZnVuY3Rpb24gKGNoYXB0ZXIsIHBhc3NhZ2UsIGVwaXNvZGUpIHsKICAgIGlmIChzZXR1cC52NDRTa2lwTmV4dENhcHR1cmUpIHsgc2V0dXAudjQ0U2tpcE5leHRDYXB0dXJlID0gZmFsc2U7IHJldHVybiBmYWxzZTsgfQogICAgdHJ5IHsKICAgICAgICB2YXIgcmVjb3JkID0gewogICAgICAgICAgICBzY2hlbWE6IDEsCiAgICAgICAgICAgIGNhcHR1cmVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSwKICAgICAgICAgICAgY2hhcHRlcjogY2hhcHRlciwKICAgICAgICAgICAgZXBpc29kZTogZXBpc29kZSwKICAgICAgICAgICAgcGFzc2FnZTogcGFzc2FnZSwKICAgICAgICAgICAgdmFyaWFibGVzOiBzZXR1cC52NDRDbG9uZShTdGF0ZS52YXJpYWJsZXMpCiAgICAgICAgfTsKICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShzZXR1cC52NDRDaGVja3BvaW50S2V5KGNoYXB0ZXIpLCBKU09OLnN0cmluZ2lmeShyZWNvcmQpKTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBjb25zb2xlLmVycm9yKCJWNC40IGNoZWNrcG9pbnQgY2FwdHVyZSBmYWlsZWQiLCBlKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cn07CgovKiBNaWdyYXRlZCBmcm9tIFN0b3J5SW5pdDogdjQ0UmVhZENoYXB0ZXIgKi8Kc2V0dXAudjQ0UmVhZENoYXB0ZXIgPSBmdW5jdGlvbiAoY2hhcHRlcikgewogICAgdHJ5IHsgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oc2V0dXAudjQ0Q2hlY2twb2ludEtleShjaGFwdGVyKSkgfHwgIm51bGwiKTsgfQogICAgY2F0Y2ggKGUpIHsgcmV0dXJuIG51bGw7IH0KfTsKCi8qIE1pZ3JhdGVkIGZyb20gU3RvcnlJbml0OiB2NDRDaGVja3BvaW50U3RhdHVzICovCnNldHVwLnY0NENoZWNrcG9pbnRTdGF0dXMgPSBmdW5jdGlvbiAoKSB7CiAgICB2YXIgcmVzdWx0ID0ge307CiAgICBPYmplY3Qua2V5cyhzZXR1cC52NDNFbnRyaWVzIHx8IHt9KS5mb3JFYWNoKGZ1bmN0aW9uIChjaGFwdGVyKSB7CiAgICAgICAgdmFyIGNwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoY2hhcHRlcik7CiAgICAgICAgcmVzdWx0W2NoYXB0ZXJdID0gY3AgPyB7IGNhcHR1cmVkQXQ6Y3AuY2FwdHVyZWRBdCwgcGFzc2FnZTpjcC5wYXNzYWdlLCBlcGlzb2RlOmNwLmVwaXNvZGUgfSA6IG51bGw7CiAgICB9KTsKICAgIHJldHVybiByZXN1bHQ7Cn07CgovKiBNaWdyYXRlZCBmcm9tIFN0b3J5SW5pdDogdjQ0UmVzdG9yZUNoYXB0ZXIgKi8Kc2V0dXAudjQ0UmVzdG9yZUNoYXB0ZXIgPSBmdW5jdGlvbiAoY2hhcHRlcikgewogICAgdmFyIGNwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoY2hhcHRlcik7CiAgICBpZiAoIWNwIHx8ICFjcC52YXJpYWJsZXMgfHwgIWNwLnBhc3NhZ2UpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICBPYmplY3Qua2V5cyhTdGF0ZS52YXJpYWJsZXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBkZWxldGUgU3RhdGUudmFyaWFibGVzW2tleV07IH0pOwogICAgT2JqZWN0LmtleXMoY3AudmFyaWFibGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgU3RhdGUudmFyaWFibGVzW2tleV0gPSBzZXR1cC52NDRDbG9uZShjcC52YXJpYWJsZXNba2V5XSk7IH0pOwogICAgU3RhdGUudmFyaWFibGVzLmRldk1vZGUgPSB0cnVlOwogICAgc2V0dXAuZGV2VW5sb2NrZWQgPSB0cnVlOwogICAgc2V0dXAudjQ0U2tpcE5leHRDYXB0dXJlID0gdHJ1ZTsKICAgIEVuZ2luZS5wbGF5KGNwLnBhc3NhZ2UpOwogICAgcmV0dXJuIHRydWU7Cn07CgovKiBNaWdyYXRlZCBmcm9tIFN0b3J5SW5pdDogdjQ0RGVsZXRlQ2hhcHRlciAqLwpzZXR1cC52NDREZWxldGVDaGFwdGVyID0gZnVuY3Rpb24gKGNoYXB0ZXIpIHsgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oc2V0dXAudjQ0Q2hlY2twb2ludEtleShjaGFwdGVyKSk7IH07CgovKiBNaWdyYXRlZCBmcm9tIFN0b3J5SW5pdDogdjQ0RGVsZXRlQWxsICovCnNldHVwLnY0NERlbGV0ZUFsbCA9IGZ1bmN0aW9uICgpIHsgT2JqZWN0LmtleXMoc2V0dXAudjQzRW50cmllcyB8fCB7fSkuZm9yRWFjaChmdW5jdGlvbiAoY2hhcHRlcikgeyBzZXR1cC52NDREZWxldGVDaGFwdGVyKGNoYXB0ZXIpOyB9KTsgfTsKCi8qIE1pZ3JhdGVkIGZyb20gU3RvcnlJbml0OiB2NDRUZXN0SnVtcCAqLwpzZXR1cC52NDRUZXN0SnVtcCA9IGZ1bmN0aW9uIChwYXNzYWdlKSB7IHNldHVwLnY0NFNraXBOZXh0Q2FwdHVyZSA9IHRydWU7IEVuZ2luZS5wbGF5KHBhc3NhZ2UpOyB9OwoKLyogTWlncmF0ZWQgZnJvbSBTdG9yeUluaXQ6IHY0NVJlYWRFcGlzb2RlICovCnNldHVwLnY0NVJlYWRFcGlzb2RlID0gZnVuY3Rpb24gKGVwaXNvZGUpIHsKICAgIHZhciBtZXRhID0gc2V0dXAudjQ1RXBpc29kZXNbU3RyaW5nKGVwaXNvZGUpXTsKICAgIHJldHVybiBtZXRhID8gc2V0dXAudjQ0UmVhZENoYXB0ZXIobWV0YS5jaGFwdGVyKSA6IG51bGw7Cn07CgovKiBNaWdyYXRlZCBmcm9tIFN0b3J5SW5pdDogdjQ1UmVzdG9yZUVwaXNvZGUgKi8Kc2V0dXAudjQ1UmVzdG9yZUVwaXNvZGUgPSBmdW5jdGlvbiAoZXBpc29kZSkgewogICAgdmFyIG1ldGEgPSBzZXR1cC52NDVFcGlzb2Rlc1tTdHJpbmcoZXBpc29kZSldOwogICAgcmV0dXJuIG1ldGEgPyBzZXR1cC52NDRSZXN0b3JlQ2hhcHRlcihtZXRhLmNoYXB0ZXIpIDogZmFsc2U7Cn07CgovKiBNaWdyYXRlZCBmcm9tIFN0b3J5SW5pdDogdjQ1RXBpc29kZVN0YXR1cyAqLwpzZXR1cC52NDVFcGlzb2RlU3RhdHVzID0gZnVuY3Rpb24gKCkgewogICAgdmFyIHJlc3VsdCA9IHt9OwogICAgT2JqZWN0LmtleXMoc2V0dXAudjQ1RXBpc29kZXMpLmZvckVhY2goZnVuY3Rpb24gKGVwaXNvZGUpIHsKICAgICAgICB2YXIgbWV0YSA9IHNldHVwLnY0NUVwaXNvZGVzW2VwaXNvZGVdLCBjcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKG1ldGEuY2hhcHRlcik7CiAgICAgICAgcmVzdWx0W2VwaXNvZGVdID0geyBjaGFwdGVyOm1ldGEuY2hhcHRlciwgcGFzc2FnZTptZXRhLnBhc3NhZ2UsIGF2YWlsYWJsZTohIWNwLCBjYXB0dXJlZEF0OmNwID8gY3AuY2FwdHVyZWRBdCA6IG51bGwgfTsKICAgIH0pOwogICAgcmV0dXJuIHJlc3VsdDsKfTsKCi8qIE1pZ3JhdGVkIGZyb20gU3RvcnlJbml0OiB2NDVDaGVja3BvaW50SGVhbHRoICovCnNldHVwLnY0NUNoZWNrcG9pbnRIZWFsdGggPSBmdW5jdGlvbiAoY3AsIGV4cGVjdGVkQ2hhcHRlciwgZXhwZWN0ZWRQYXNzYWdlKSB7CiAgICBpZiAoIWNwKSB7IHJldHVybiB7b2s6ZmFsc2UsIG1lc3NhZ2U6Ik1pc3NpbmcifTsgfQogICAgaWYgKGNwLnNjaGVtYSAhPT0gMSkgeyByZXR1cm4ge29rOmZhbHNlLCBtZXNzYWdlOiJVbnN1cHBvcnRlZCBzY2hlbWEifTsgfQogICAgaWYgKFN0cmluZyhjcC5jaGFwdGVyKSAhPT0gU3RyaW5nKGV4cGVjdGVkQ2hhcHRlcikpIHsgcmV0dXJuIHtvazpmYWxzZSwgbWVzc2FnZToiQ2hhcHRlciBtaXNtYXRjaCJ9OyB9CiAgICBpZiAoY3AucGFzc2FnZSAhPT0gZXhwZWN0ZWRQYXNzYWdlKSB7IHJldHVybiB7b2s6ZmFsc2UsIG1lc3NhZ2U6IlBhc3NhZ2UgbWlzbWF0Y2gifTsgfQogICAgaWYgKCFjcC52YXJpYWJsZXMgfHwgdHlwZW9mIGNwLnZhcmlhYmxlcyAhPT0gIm9iamVjdCIpIHsgcmV0dXJuIHtvazpmYWxzZSwgbWVzc2FnZToiVmFyaWFibGVzIG1pc3NpbmcifTsgfQogICAgcmV0dXJuIHtvazp0cnVlLCBtZXNzYWdlOiJWYWxpZCJ9Owp9OwoKLyogTWlncmF0ZWQgZnJvbSBTdG9yeUluaXQ6IGlzU3RhZmZBY2Nlc3MgKi8Kc2V0dXAuaXNTdGFmZkFjY2VzcyA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNldHVwLmRldlVubG9ja2VkID09PSB0cnVlOyB9OwoKCi8qIEJ1aWxkIDUuMTQgSGF1bnRpbmcgRGlyZWN0b3IsIFBoYXNlIDE6IGF0bW9zcGhlcmljIG1hbmlmZXN0YXRpb25zLiAqLwpzZXR1cC5oYXVudGluZ0F0bW9zcGhlcmVDYXRhbG9nID0gWwogICAgeyBpZDogInJlZmxlY3Rpb24tZGVsYXkiLCBsb2NhdGlvbnM6IFsic2Nob29sIiwgImhvdXNlIiwgInVwc3RhaXJzIiwgImxpYnJhcnkiXSwgdGV4dDogIkluIHRoZSBuZWFyZXN0IHBhbmUgb2YgZ2xhc3MsIHRoZSByZWZsZWN0aW9uIGZpbmlzaGVzIG1vdmluZyBhZnRlciBldmVyeW9uZSBlbHNlIGhhcyBzdG9wcGVkLiIgfSwKICAgIHsgaWQ6ICJjbG9jay05MTQiLCBsb2NhdGlvbnM6IFsic2Nob29sIiwgImhvdXNlIiwgInVwc3RhaXJzIiwgImxpYnJhcnkiXSwgdGV4dDogIkEgbmVhcmJ5IGNsb2NrIGNsaWNrcyBvbmNlLiBJdHMgaGFuZHMgcG9pbnQgdG8gOToxNCwgdGhlbiByZXR1cm4gdG8gdGhlIGNvcnJlY3QgdGltZSB3aXRob3V0IG1vdmluZyBiZXR3ZWVuLiIgfSwKICAgIHsgaWQ6ICJmb2xsb3dpbmctc3RlcHMiLCBsb2NhdGlvbnM6IFsic2Nob29sIiwgInVwc3RhaXJzIiwgImxpYnJhcnkiXSwgdGV4dDogIkEgc2Vjb25kIHNldCBvZiBmb290c3RlcHMgZm9sbG93cyBhdCB0aGUgc2FtZSBwYWNlLiBXaGVuIHRoZSBpbnZlc3RpZ2F0b3Igc3RvcHMsIHRoZXkgc3RvcCBvbmUgc3RlcCBsYXRlci4iIH0sCiAgICB7IGlkOiAicGhvdG9ncmFwaC1maWZ0aCIsIGxvY2F0aW9uczogWyJzY2hvb2wiLCAiaG91c2UiLCAidXBzdGFpcnMiLCAibGlicmFyeSJdLCB0ZXh0OiAiRm9yIGFuIGluc3RhbnQsIGEgbmVhcmJ5IHBob3RvZ3JhcGggY29udGFpbnMgb25lIG1vcmUgZmlndXJlIHRoYW4gaXQgc2hvdWxkLiBBIHNlY29uZCBsb29rIHNob3dzIG9ubHkgdGhlIG9yaWdpbmFsIGltYWdlLiIgfSwKICAgIHsgaWQ6ICJncmVlbi10aHJlYWQiLCBsb2NhdGlvbnM6IFsic2Nob29sIiwgImhvdXNlIiwgInVwc3RhaXJzIiwgImxpYnJhcnkiLCAib2FrIl0sIHRleHQ6ICJBIHNob3J0IGxlbmd0aCBvZiBncmVlbiB0aHJlYWQgbGllcyBhY3Jvc3MgdGhlIHBhdGggYWhlYWQsIHRpZWQgaW4gYSBrbm90IG5vIG9uZSByZW1lbWJlcnMgbWFraW5nLiIgfQpdOwpzZXR1cC5oYXVudGluZ0NoYW5jZSA9IGZ1bmN0aW9uICgpIHsKICAgIHZhciBzdGF0ZSA9IHNldHVwLmF0dGVudGlvblN0YXRlID8gc2V0dXAuYXR0ZW50aW9uU3RhdGUoKSA6ICJVbm5vdGljZWQiOwogICAgdmFyIGNoYW5jZXMgPSB7IFVubm90aWNlZDogMC4wOCwgT2JzZXJ2ZWQ6IDAuMTIsIEZvbGxvd2VkOiAwLjE3LCBNYXJrZWQ6IDAuMjIsIEh1bnRlZDogMC4yOCB9OwogICAgcmV0dXJuIGNoYW5jZXNbc3RhdGVdIHx8IDAuMDg7Cn07CnNldHVwLnJvbGxBdG1vc3BoZXJpY0hhdW50aW5nID0gZnVuY3Rpb24gKGxvY2F0aW9uKSB7CiAgICB2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKICAgIGlmICghQXJyYXkuaXNBcnJheSh2LmhhdW50aW5nQXRtb3NwaGVyZVNlZW4pKSB7IHYuaGF1bnRpbmdBdG1vc3BoZXJlU2VlbiA9IFtdOyB9CiAgICBpZiAoIUFycmF5LmlzQXJyYXkodi5oYXVudGluZ0F0bW9zcGhlcmVMb2cpKSB7IHYuaGF1bnRpbmdBdG1vc3BoZXJlTG9nID0gW107IH0KICAgIGlmICh0eXBlb2Ygdi5oYXVudGluZ0F0bW9zcGhlcmVDb29sZG93biAhPT0gIm51bWJlciIpIHsgdi5oYXVudGluZ0F0bW9zcGhlcmVDb29sZG93biA9IDA7IH0KICAgIGlmICh2LmhhdW50aW5nQXRtb3NwaGVyZUNvb2xkb3duID4gMCkgewogICAgICAgIHYuaGF1bnRpbmdBdG1vc3BoZXJlQ29vbGRvd24gLT0gMTsKICAgICAgICByZXR1cm4gIiI7CiAgICB9CiAgICBpZiAoTWF0aC5yYW5kb20oKSA+PSBzZXR1cC5oYXVudGluZ0NoYW5jZSgpKSB7IHJldHVybiAiIjsgfQogICAgdmFyIGNhbmRpZGF0ZXMgPSBzZXR1cC5oYXVudGluZ0F0bW9zcGhlcmVDYXRhbG9nLmZpbHRlcihmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICByZXR1cm4gZXZlbnQubG9jYXRpb25zLmluZGV4T2YobG9jYXRpb24pICE9PSAtMSAmJiB2LmhhdW50aW5nQXRtb3NwaGVyZVNlZW4uaW5kZXhPZihldmVudC5pZCkgPT09IC0xOwogICAgfSk7CiAgICBpZiAoIWNhbmRpZGF0ZXMubGVuZ3RoKSB7IHJldHVybiAiIjsgfQogICAgdmFyIGNob3NlbiA9IGNhbmRpZGF0ZXNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2FuZGlkYXRlcy5sZW5ndGgpXTsKICAgIHYuaGF1bnRpbmdBdG1vc3BoZXJlU2Vlbi5wdXNoKGNob3Nlbi5pZCk7CiAgICB2LmhhdW50aW5nQXRtb3NwaGVyZUxvZy5wdXNoKHsgaWQ6IGNob3Nlbi5pZCwgbG9jYXRpb246IGxvY2F0aW9uLCBwYXNzYWdlOiBTdGF0ZS5wYXNzYWdlLCBhdHRlbnRpb246IHNldHVwLmF0dGVudGlvblN0YXRlID8gc2V0dXAuYXR0ZW50aW9uU3RhdGUoKSA6ICJVbmtub3duIiB9KTsKICAgIHYuaGF1bnRpbmdBdG1vc3BoZXJlQ29vbGRvd24gPSAyICsgKHNldHVwLmhhdW50aW5nQ29vbGRvd25Cb251cyA/IHNldHVwLmhhdW50aW5nQ29vbGRvd25Cb251cygpIDogMCk7CiAgICByZXR1cm4gY2hvc2VuLnRleHQ7Cn07CnNldHVwLmZvcmNlQXRtb3NwaGVyaWNIYXVudGluZyA9IGZ1bmN0aW9uIChpZCkgewogICAgdmFyIGV2ZW50ID0gc2V0dXAuaGF1bnRpbmdBdG1vc3BoZXJlQ2F0YWxvZy5maW5kKGZ1bmN0aW9uIChpdGVtKSB7IHJldHVybiBpdGVtLmlkID09PSBpZDsgfSk7CiAgICByZXR1cm4gZXZlbnQgPyBldmVudC50ZXh0IDogIk5vIG1hbmlmZXN0YXRpb24gZm91bmQuIjsKfTsKCgovKiBCdWlsZCA1LjE1IEhhdW50aW5nIERpcmVjdG9yIFBoYXNlIDI6IGludGVyYWN0aXZlIG1hbmlmZXN0YXRpb25zLiAqLwpzZXR1cC5pbnRlcmFjdGl2ZUhhdW50aW5nQ2F0YWxvZyA9IHsKICAgIHNjaG9vbDogeyBpZDogImhhbGx3YXktd2l0Y2giLCBwYXNzYWdlOiAiSGF1bnRpbmdIYWxsd2F5V2l0Y2giIH0sCiAgICB1cHN0YWlyczogeyBpZDogInNlYWxlZC1kb29yLXZvaWNlIiwgcGFzc2FnZTogIkhhdW50aW5nU2VhbGVkRG9vclZvaWNlIiB9LAogICAgb2FrOiB7IGlkOiAib2FrLWZpZ3VyZSIsIHBhc3NhZ2U6ICJIYXVudGluZ09ha0ZpZ3VyZSIgfQp9OwpzZXR1cC5pbnRlcmFjdGl2ZUhhdW50aW5nQ2hhbmNlID0gZnVuY3Rpb24gKCkgewogICAgdmFyIHN0YXRlID0gc2V0dXAuYXR0ZW50aW9uU3RhdGUgPyBzZXR1cC5hdHRlbnRpb25TdGF0ZSgpIDogIlVubm90aWNlZCI7CiAgICB2YXIgY2hhbmNlcyA9IHsgVW5ub3RpY2VkOiAwLCBPYnNlcnZlZDogMC4wNSwgRm9sbG93ZWQ6IDAuMDksIE1hcmtlZDogMC4xNCwgSHVudGVkOiAwLjIwIH07CiAgICByZXR1cm4gY2hhbmNlc1tzdGF0ZV0gfHwgMDsKfTsKc2V0dXAucm9sbEludGVyYWN0aXZlSGF1bnRpbmcgPSBmdW5jdGlvbiAobG9jYXRpb24sIHJldHVyblBhc3NhZ2UpIHsKICAgIHZhciB2ID0gU3RhdGUudmFyaWFibGVzOwogICAgaWYgKCFBcnJheS5pc0FycmF5KHYuaW50ZXJhY3RpdmVIYXVudGluZ3NTZWVuKSkgeyB2LmludGVyYWN0aXZlSGF1bnRpbmdzU2VlbiA9IFtdOyB9CiAgICBpZiAoIUFycmF5LmlzQXJyYXkodi5pbnRlcmFjdGl2ZUhhdW50aW5nTG9nKSkgeyB2LmludGVyYWN0aXZlSGF1bnRpbmdMb2cgPSBbXTsgfQogICAgaWYgKHYuYWN0aXZlSW50ZXJhY3RpdmVIYXVudGluZykgeyByZXR1cm4gIiI7IH0KICAgIHZhciBldmVudCA9IHNldHVwLmludGVyYWN0aXZlSGF1bnRpbmdDYXRhbG9nW2xvY2F0aW9uXTsKICAgIGlmICghZXZlbnQgfHwgdi5pbnRlcmFjdGl2ZUhhdW50aW5nc1NlZW4uaW5kZXhPZihldmVudC5pZCkgIT09IC0xKSB7IHJldHVybiAiIjsgfQogICAgaWYgKCh2LmhhdW50aW5nQXRtb3NwaGVyZUNvb2xkb3duIHx8IDApID4gMCkgeyByZXR1cm4gIiI7IH0KICAgIGlmIChNYXRoLnJhbmRvbSgpID49IHNldHVwLmludGVyYWN0aXZlSGF1bnRpbmdDaGFuY2UoKSkgeyByZXR1cm4gIiI7IH0KICAgIHYuYWN0aXZlSW50ZXJhY3RpdmVIYXVudGluZyA9IGV2ZW50LmlkOwogICAgdi5pbnRlcmFjdGl2ZUhhdW50aW5nUmV0dXJuID0gcmV0dXJuUGFzc2FnZTsKICAgIHYuaW50ZXJhY3RpdmVIYXVudGluZ3NTZWVuLnB1c2goZXZlbnQuaWQpOwogICAgdi5pbnRlcmFjdGl2ZUhhdW50aW5nTG9nLnB1c2goeyBpZDogZXZlbnQuaWQsIGxvY2F0aW9uOiBsb2NhdGlvbiwgb3JpZ2luOiByZXR1cm5QYXNzYWdlLCBhdHRlbnRpb246IHNldHVwLmF0dGVudGlvblN0YXRlID8gc2V0dXAuYXR0ZW50aW9uU3RhdGUoKSA6ICJVbmtub3duIiB9KTsKICAgIHYuaGF1bnRpbmdBdG1vc3BoZXJlQ29vbGRvd24gPSAzICsgKHNldHVwLmhhdW50aW5nQ29vbGRvd25Cb251cyA/IHNldHVwLmhhdW50aW5nQ29vbGRvd25Cb251cygpIDogMCk7CiAgICByZXR1cm4gZXZlbnQucGFzc2FnZTsKfTsKc2V0dXAuZmluaXNoSW50ZXJhY3RpdmVIYXVudGluZyA9IGZ1bmN0aW9uIChvdXRjb21lKSB7CiAgICB2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKICAgIGlmICghQXJyYXkuaXNBcnJheSh2LmludGVyYWN0aXZlSGF1bnRpbmdPdXRjb21lcykpIHsgdi5pbnRlcmFjdGl2ZUhhdW50aW5nT3V0Y29tZXMgPSBbXTsgfQogICAgdi5pbnRlcmFjdGl2ZUhhdW50aW5nT3V0Y29tZXMucHVzaCh7IGlkOiB2LmFjdGl2ZUludGVyYWN0aXZlSGF1bnRpbmcgfHwgInVua25vd24iLCBvdXRjb21lOiBvdXRjb21lLCBwYXNzYWdlOiBTdGF0ZS5wYXNzYWdlIH0pOwogICAgdi5hY3RpdmVJbnRlcmFjdGl2ZUhhdW50aW5nID0gIiI7Cn07CgoKLyogQnVpbGQgNS4xNiByYXJlIGRpc3BsYWNlbWVudDogVGhlIExvc3QgTWludXRlLiAqLwpzZXR1cC5sb3N0TWludXRlQ2hhbmNlID0gZnVuY3Rpb24gKCkgewogICAgdmFyIHN0YXRlID0gc2V0dXAuYXR0ZW50aW9uU3RhdGUgPyBzZXR1cC5hdHRlbnRpb25TdGF0ZSgpIDogIlVubm90aWNlZCI7CiAgICB2YXIgY2hhbmNlcyA9IHsgVW5ub3RpY2VkOiAwLCBPYnNlcnZlZDogMCwgRm9sbG93ZWQ6IDAuMDIsIE1hcmtlZDogMC4wNCwgSHVudGVkOiAwLjA3IH07CiAgICByZXR1cm4gY2hhbmNlc1tzdGF0ZV0gfHwgMDsKfTsKc2V0dXAucm9sbExvc3RNaW51dGUgPSBmdW5jdGlvbiAob3JpZ2luKSB7CiAgICB2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKICAgIGlmICh2Lmxvc3RNaW51dGVDb21wbGV0ZWQgfHwgdi5sb3N0TWludXRlQWN0aXZlIHx8IHYuYWN0aXZlSW50ZXJhY3RpdmVIYXVudGluZykgeyByZXR1cm4gZmFsc2U7IH0KICAgIGlmICgodi5oYXVudGluZ0F0bW9zcGhlcmVDb29sZG93biB8fCAwKSA+IDApIHsgcmV0dXJuIGZhbHNlOyB9CiAgICBpZiAoTWF0aC5yYW5kb20oKSA+PSBzZXR1cC5sb3N0TWludXRlQ2hhbmNlKCkpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICB2Lmxvc3RNaW51dGVBY3RpdmUgPSB0cnVlOwogICAgdi5sb3N0TWludXRlT3JpZ2luID0gb3JpZ2luOwogICAgdi5sb3N0TWludXRlU3RhcnRlZEF0QXR0ZW50aW9uID0gc2V0dXAuYXR0ZW50aW9uU3RhdGUgPyBzZXR1cC5hdHRlbnRpb25TdGF0ZSgpIDogIlVua25vd24iOwogICAgdi5sb3N0TWludXRlTW92ZXMgPSAwOwogICAgdi5sb3N0TWludXRlQ2x1ZXMgPSBbXTsKICAgIHYuaGF1bnRpbmdBdG1vc3BoZXJlQ29vbGRvd24gPSA0ICsgKHNldHVwLmhhdW50aW5nQ29vbGRvd25Cb251cyA/IHNldHVwLmhhdW50aW5nQ29vbGRvd25Cb251cygpIDogMCk7CiAgICByZXR1cm4gdHJ1ZTsKfTsKc2V0dXAubG9zdE1pbnV0ZVJlY29yZCA9IGZ1bmN0aW9uIChpZCkgewogICAgdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXM7CiAgICBpZiAoIUFycmF5LmlzQXJyYXkodi5sb3N0TWludXRlQ2x1ZXMpKSB7IHYubG9zdE1pbnV0ZUNsdWVzID0gW107IH0KICAgIGlmICh2Lmxvc3RNaW51dGVDbHVlcy5pbmRleE9mKGlkKSA9PT0gLTEpIHsgdi5sb3N0TWludXRlQ2x1ZXMucHVzaChpZCk7IH0KICAgIHYubG9zdE1pbnV0ZU1vdmVzID0gKHYubG9zdE1pbnV0ZU1vdmVzIHx8IDApICsgMTsKfTsKc2V0dXAuZmluaXNoTG9zdE1pbnV0ZSA9IGZ1bmN0aW9uIChvdXRjb21lKSB7CiAgICB2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKICAgIHYubG9zdE1pbnV0ZUFjdGl2ZSA9IGZhbHNlOwogICAgdi5sb3N0TWludXRlQ29tcGxldGVkID0gdHJ1ZTsKICAgIHYubG9zdE1pbnV0ZU91dGNvbWUgPSBvdXRjb21lOwogICAgaWYgKCFBcnJheS5pc0FycmF5KHYuZGlzcGxhY2VtZW50TG9nKSkgeyB2LmRpc3BsYWNlbWVudExvZyA9IFtdOyB9CiAgICB2LmRpc3BsYWNlbWVudExvZy5wdXNoKHsgcGxhY2U6ICJUaGUgTG9zdCBNaW51dGUiLCBvdXRjb21lOiBvdXRjb21lLCBjbHVlczogKHYubG9zdE1pbnV0ZUNsdWVzIHx8IFtdKS5zbGljZSgpLCBvcmlnaW46IHYubG9zdE1pbnV0ZU9yaWdpbiB8fCAiVW5rbm93biIsIGF0dGVudGlvbjogdi5sb3N0TWludXRlU3RhcnRlZEF0QXR0ZW50aW9uIHx8ICJVbmtub3duIiB9KTsKfTsKCgovKiBCdWlsZCA1LjE3IHJhbmRvbWl6ZWQgaGF1bnRpbmcgcHJvZmlsZS4gKi8Kc2V0dXAuaGF1bnRpbmdQcm9maWxlcyA9IFsKIHtpZDoiZ2xhc3MiLG5hbWU6IlRoZSBXYXRjaGluZyBHbGFzcyIsZG9taW5hbnQ6InJlZmxlY3Rpb25zIixzZWNvbmRhcnk6InBob3RvZ3JhcGhzIix0YXJnZXQ6IktldmluIixkYW5nZXI6InNjaG9vbCIsc2VjcmV0OiJUaGUgTG9zdCBNaW51dGUiLGJlaGF2aW9yOiJvYnNlcnZlcyBiZWZvcmUgYXBwcm9hY2hpbmcifSwKIHtpZDoidm9pY2VzIixuYW1lOiJUaGUgQm9ycm93ZWQgVm9pY2UiLGRvbWluYW50OiJ2b2ljZXMiLHNlY29uZGFyeToidGhyZXNob2xkcyIsdGFyZ2V0OiJSeWFuIixkYW5nZXI6InVwc3RhaXJzIixzZWNyZXQ6IlRoZSBSb29tIEJlaGluZCB0aGUgVm9pY2UiLGJlaGF2aW9yOiJhc2tzIGZvciBhY2tub3dsZWRnbWVudCJ9LAoge2lkOiJ0aHJlYWQiLG5hbWU6IlRoZSBHcmVlbiBUaHJlYWQiLGRvbWluYW50OiJncmVlbiB0aHJlYWQiLHNlY29uZGFyeToiZG9vcnMiLHRhcmdldDoiS2ltbXkiLGRhbmdlcjoibGlicmFyeSIsc2VjcmV0OiJUaGUgTWlzc2luZyBBcmNoaXZlIixiZWhhdmlvcjoibGVhdmVzIGV2aWRlbmNlIHRoYXQgY2hhbmdlcyBsYXRlciJ9LAoge2lkOiJyb290cyIsbmFtZToiVGhlIFJvb3QgQmVsb3ciLGRvbWluYW50OiJyb290cyIsc2Vjb25kYXJ5OiJjbG9ja3MiLHRhcmdldDoiU2Nvb3QiLGRhbmdlcjoib2FrIixzZWNyZXQ6IlRoZSBIb3VzZSBCZW5lYXRoIHRoZSBPYWsiLGJlaGF2aW9yOiJzZXBhcmF0ZXMgb25lIGludmVzdGlnYXRvciBmcm9tIHRoZSBncm91cCJ9Cl07CnNldHVwLmVuc3VyZUhhdW50aW5nUHJvZmlsZSA9IGZ1bmN0aW9uICgpIHsKIHZhciB2PVN0YXRlLnZhcmlhYmxlczsKIGlmICghdi5oYXVudGluZ1Byb2ZpbGUpIHsKICB2YXIgcGljaz1zZXR1cC5oYXVudGluZ1Byb2ZpbGVzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpzZXR1cC5oYXVudGluZ1Byb2ZpbGVzLmxlbmd0aCldOwogIHYuaGF1bnRpbmdQcm9maWxlPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocGljaykpOwogfQogcmV0dXJuIHYuaGF1bnRpbmdQcm9maWxlOwp9OwpzZXR1cC5wcm9maWxlQ2hhbmNlTW9kaWZpZXIgPSBmdW5jdGlvbiAobG9jYXRpb24sIGV2ZW50SWQpIHsKIHZhciBwPXNldHVwLmVuc3VyZUhhdW50aW5nUHJvZmlsZSgpLCBtb2Q9MTsKIGlmIChwLmRhbmdlcj09PWxvY2F0aW9uKSB7IG1vZCs9MC4zNTsgfQogaWYgKChwLmRvbWluYW50PT09InJlZmxlY3Rpb25zIiAmJiBldmVudElkLmluZGV4T2YoInJlZmxlY3Rpb24iKSE9PS0xKSB8fAogICAgIChwLmRvbWluYW50PT09InZvaWNlcyIgJiYgZXZlbnRJZC5pbmRleE9mKCJ2b2ljZSIpIT09LTEpIHx8CiAgICAgKHAuZG9taW5hbnQ9PT0iZ3JlZW4gdGhyZWFkIiAmJiBldmVudElkLmluZGV4T2YoInRocmVhZCIpIT09LTEpIHx8CiAgICAgKHAuZG9taW5hbnQ9PT0icm9vdHMiICYmIGV2ZW50SWQuaW5kZXhPZigib2FrIikhPT0tMSkpIHsgbW9kKz0wLjM1OyB9CiByZXR1cm4gbW9kOwp9OwpzZXR1cC5wcm9maWxlU2lnbiA9IGZ1bmN0aW9uICgpIHsKIHZhciBwPXNldHVwLmVuc3VyZUhhdW50aW5nUHJvZmlsZSgpOwogdmFyIHNpZ25zPXtnbGFzczoiUmVmbGVjdGlvbnMgcmVtYWluIHN0aWxsIGZvciBhIG1vbWVudCBhZnRlciB0aGUgcm9vbSBtb3Zlcy4iLHZvaWNlczoiRmFtaWxpYXIgdm9pY2VzIHVzZSBjb3JyZWN0IHdvcmRzIHdpdGggdGhlIHdyb25nIHBhdXNlcy4iLHRocmVhZDoiR3JlZW4gdGhyZWFkIGFwcGVhcnMgYXJvdW5kIG9iamVjdHMgY29ubmVjdGVkIHRvIHRoZSBjYXNlLiIscm9vdHM6IkZpbmUgc29pbCBnYXRoZXJzIGJlbmVhdGggZG9vcnMgdGhhdCBoYXZlIG5ldmVyIG9wZW5lZCBvdXRzaWRlLiJ9OwogcmV0dXJuIHNpZ25zW3AuaWRdIHx8ICJUaGUgaGF1bnRpbmcgaGFzIGJlZ3VuIHRvIHJlcGVhdCBhIHJlY29nbml6YWJsZSBzaWduLiI7Cn07CgoKLyogQnVpbGQgNS4xOCBwcm9maWxlLWRyaXZlbiBwcm9iYWJpbGl0eSBhbmQgZXZlbnQgd2VpZ2h0aW5nLiAqLwpzZXR1cC5wcm9maWxlTG9jYXRpb25NdWx0aXBsaWVyID0gZnVuY3Rpb24gKGxvY2F0aW9uKSB7CiAgICB2YXIgcCA9IHNldHVwLmVuc3VyZUhhdW50aW5nUHJvZmlsZSgpOwogICAgcmV0dXJuIHAuZGFuZ2VyID09PSBsb2NhdGlvbiA/IDEuMzUgOiAxOwp9OwpzZXR1cC5wcm9maWxlRXZlbnRXZWlnaHQgPSBmdW5jdGlvbiAoZXZlbnQsIGxvY2F0aW9uKSB7CiAgICB2YXIgcCA9IHNldHVwLmVuc3VyZUhhdW50aW5nUHJvZmlsZSgpLCB3ZWlnaHQgPSAxOwogICAgaWYgKGV2ZW50LmxvY2F0aW9ucyAmJiBldmVudC5sb2NhdGlvbnMuaW5kZXhPZihwLmRhbmdlcikgIT09IC0xICYmIGxvY2F0aW9uID09PSBwLmRhbmdlcikgeyB3ZWlnaHQgKz0gMC41OyB9CiAgICBpZiAocC5pZCA9PT0gImdsYXNzIiAmJiAoZXZlbnQuaWQgPT09ICJyZWZsZWN0aW9uLWRlbGF5IiB8fCBldmVudC5pZCA9PT0gInBob3RvZ3JhcGgtZmlmdGgiKSkgeyB3ZWlnaHQgKz0gMS41OyB9CiAgICBpZiAocC5pZCA9PT0gInZvaWNlcyIgJiYgZXZlbnQuaWQgPT09ICJmb2xsb3dpbmctc3RlcHMiKSB7IHdlaWdodCArPSAxLjI1OyB9CiAgICBpZiAocC5pZCA9PT0gInRocmVhZCIgJiYgZXZlbnQuaWQgPT09ICJncmVlbi10aHJlYWQiKSB7IHdlaWdodCArPSAyOyB9CiAgICBpZiAocC5pZCA9PT0gInJvb3RzIiAmJiAoZXZlbnQuaWQgPT09ICJjbG9jay05MTQiIHx8IGV2ZW50LmlkID09PSAiZ3JlZW4tdGhyZWFkIikpIHsgd2VpZ2h0ICs9IDE7IH0KICAgIHJldHVybiB3ZWlnaHQ7Cn07CnNldHVwLndlaWdodGVkSGF1bnRpbmdQaWNrID0gZnVuY3Rpb24gKGV2ZW50cywgbG9jYXRpb24pIHsKICAgIHZhciB0b3RhbCA9IDAsIHdlaWdodGVkID0gZXZlbnRzLm1hcChmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICB2YXIgd2VpZ2h0ID0gc2V0dXAucHJvZmlsZUV2ZW50V2VpZ2h0KGV2ZW50LCBsb2NhdGlvbik7CiAgICAgICAgdG90YWwgKz0gd2VpZ2h0OwogICAgICAgIHJldHVybiB7IGV2ZW50OiBldmVudCwgY2VpbGluZzogdG90YWwgfTsKICAgIH0pOwogICAgdmFyIHJvbGwgPSBNYXRoLnJhbmRvbSgpICogdG90YWw7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHdlaWdodGVkLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKHJvbGwgPCB3ZWlnaHRlZFtpXS5jZWlsaW5nKSB7IHJldHVybiB3ZWlnaHRlZFtpXS5ldmVudDsgfQogICAgfQogICAgcmV0dXJuIGV2ZW50c1tldmVudHMubGVuZ3RoIC0gMV07Cn07CnNldHVwLnJvbGxBdG1vc3BoZXJpY0hhdW50aW5nID0gZnVuY3Rpb24gKGxvY2F0aW9uKSB7CiAgICB2YXIgdiA9IFN0YXRlLnZhcmlhYmxlczsKICAgIGlmICghQXJyYXkuaXNBcnJheSh2LmhhdW50aW5nQXRtb3NwaGVyZVNlZW4pKSB7IHYuaGF1bnRpbmdBdG1vc3BoZXJlU2VlbiA9IFtdOyB9CiAgICBpZiAoIUFycmF5LmlzQXJyYXkodi5oYXVudGluZ0F0bW9zcGhlcmVMb2cpKSB7IHYuaGF1bnRpbmdBdG1vc3BoZXJlTG9nID0gW107IH0KICAgIGlmICh0eXBlb2Ygdi5oYXVudGluZ0F0bW9zcGhlcmVDb29sZG93biAhPT0gIm51bWJlciIpIHsgdi5oYXVudGluZ0F0bW9zcGhlcmVDb29sZG93biA9IDA7IH0KICAgIGlmICh2LmhhdW50aW5nQXRtb3NwaGVyZUNvb2xkb3duID4gMCkgeyB2LmhhdW50aW5nQXRtb3NwaGVyZUNvb2xkb3duIC09IDE7IHJldHVybiAiIjsgfQogICAgdmFyIGNoYW5jZSA9IE1hdGgubWluKDAuNDUsIHNldHVwLmhhdW50aW5nQ2hhbmNlKCkgKiBzZXR1cC5wcm9maWxlTG9jYXRpb25NdWx0aXBsaWVyKGxvY2F0aW9uKSk7CiAgICBpZiAoTWF0aC5yYW5kb20oKSA+PSBjaGFuY2UpIHsgcmV0dXJuICIiOyB9CiAgICB2YXIgY2FuZGlkYXRlcyA9IHNldHVwLmhhdW50aW5nQXRtb3NwaGVyZUNhdGFsb2cuZmlsdGVyKGZ1bmN0aW9uIChldmVudCkgewogICAgICAgIHJldHVybiBldmVudC5sb2NhdGlvbnMuaW5kZXhPZihsb2NhdGlvbikgIT09IC0xICYmIHYuaGF1bnRpbmdBdG1vc3BoZXJlU2Vlbi5pbmRleE9mKGV2ZW50LmlkKSA9PT0gLTE7CiAgICB9KTsKICAgIGlmICghY2FuZGlkYXRlcy5sZW5ndGgpIHsgcmV0dXJuICIiOyB9CiAgICB2YXIgY2hvc2VuID0gc2V0dXAud2VpZ2h0ZWRIYXVudGluZ1BpY2soY2FuZGlkYXRlcywgbG9jYXRpb24pOwogICAgdi5oYXVudGluZ0F0bW9zcGhlcmVTZWVuLnB1c2goY2hvc2VuLmlkKTsKICAgIHYuaGF1bnRpbmdBdG1vc3BoZXJlTG9nLnB1c2goeyBpZDogY2hvc2VuLmlkLCBsb2NhdGlvbjogbG9jYXRpb24sIHBhc3NhZ2U6IFN0YXRlLnBhc3NhZ2UsIGF0dGVudGlvbjogc2V0dXAuYXR0ZW50aW9uU3RhdGUoKSwgcHJvZmlsZTogc2V0dXAuZW5zdXJlSGF1bnRpbmdQcm9maWxlKCkuaWQsIGVmZmVjdGl2ZUNoYW5jZTogY2hhbmNlIH0pOwogICAgdi5oYXVudGluZ0F0bW9zcGhlcmVDb29sZG93biA9IDIgKyAoc2V0dXAuaGF1bnRpbmdDb29sZG93bkJvbnVzID8gc2V0dXAuaGF1bnRpbmdDb29sZG93bkJvbnVzKCkgOiAwKTsKICAgIHJldHVybiBjaG9zZW4udGV4dDsKfTsKc2V0dXAucm9sbEludGVyYWN0aXZlSGF1bnRpbmcgPSBmdW5jdGlvbiAobG9jYXRpb24sIHJldHVyblBhc3NhZ2UpIHsKICAgIHZhciB2ID0gU3RhdGUudmFyaWFibGVzOwogICAgaWYgKCFBcnJheS5pc0FycmF5KHYuaW50ZXJhY3RpdmVIYXVudGluZ3NTZWVuKSkgeyB2LmludGVyYWN0aXZlSGF1bnRpbmdzU2VlbiA9IFtdOyB9CiAgICBpZiAoIUFycmF5LmlzQXJyYXkodi5pbnRlcmFjdGl2ZUhhdW50aW5nTG9nKSkgeyB2LmludGVyYWN0aXZlSGF1bnRpbmdMb2cgPSBbXTsgfQogICAgaWYgKHYuYWN0aXZlSW50ZXJhY3RpdmVIYXVudGluZykgeyByZXR1cm4gIiI7IH0KICAgIHZhciBldmVudCA9IHNldHVwLmludGVyYWN0aXZlSGF1bnRpbmdDYXRhbG9nW2xvY2F0aW9uXTsKICAgIGlmICghZXZlbnQgfHwgdi5pbnRlcmFjdGl2ZUhhdW50aW5nc1NlZW4uaW5kZXhPZihldmVudC5pZCkgIT09IC0xKSB7IHJldHVybiAiIjsgfQogICAgaWYgKCh2LmhhdW50aW5nQXRtb3NwaGVyZUNvb2xkb3duIHx8IDApID4gMCkgeyByZXR1cm4gIiI7IH0KICAgIHZhciBjaGFuY2UgPSBNYXRoLm1pbigwLjM1LCBzZXR1cC5pbnRlcmFjdGl2ZUhhdW50aW5nQ2hhbmNlKCkgKiBzZXR1cC5wcm9maWxlTG9jYXRpb25NdWx0aXBsaWVyKGxvY2F0aW9uKSk7CiAgICBpZiAoTWF0aC5yYW5kb20oKSA+PSBjaGFuY2UpIHsgcmV0dXJuICIiOyB9CiAgICB2LmFjdGl2ZUludGVyYWN0aXZlSGF1bnRpbmcgPSBldmVudC5pZDsKICAgIHYuaW50ZXJhY3RpdmVIYXVudGluZ1JldHVybiA9IHJldHVyblBhc3NhZ2U7CiAgICB2LmludGVyYWN0aXZlSGF1bnRpbmdzU2Vlbi5wdXNoKGV2ZW50LmlkKTsKICAgIHYuaW50ZXJhY3RpdmVIYXVudGluZ0xvZy5wdXNoKHsgaWQ6ZXZlbnQuaWQsIGxvY2F0aW9uOmxvY2F0aW9uLCBvcmlnaW46cmV0dXJuUGFzc2FnZSwgYXR0ZW50aW9uOnNldHVwLmF0dGVudGlvblN0YXRlKCksIHByb2ZpbGU6c2V0dXAuZW5zdXJlSGF1bnRpbmdQcm9maWxlKCkuaWQsIGVmZmVjdGl2ZUNoYW5jZTpjaGFuY2UgfSk7CiAgICB2LmhhdW50aW5nQXRtb3NwaGVyZUNvb2xkb3duID0gMyArIChzZXR1cC5oYXVudGluZ0Nvb2xkb3duQm9udXMgPyBzZXR1cC5oYXVudGluZ0Nvb2xkb3duQm9udXMoKSA6IDApOwogICAgcmV0dXJuIGV2ZW50LnBhc3NhZ2U7Cn07CnNldHVwLnJvbGxMb3N0TWludXRlID0gZnVuY3Rpb24gKG9yaWdpbikgewogICAgdmFyIHYgPSBTdGF0ZS52YXJpYWJsZXMsIHAgPSBzZXR1cC5lbnN1cmVIYXVudGluZ1Byb2ZpbGUoKTsKICAgIGlmICh2Lmxvc3RNaW51dGVDb21wbGV0ZWQgfHwgdi5sb3N0TWludXRlQWN0aXZlIHx8IHYuYWN0aXZlSW50ZXJhY3RpdmVIYXVudGluZykgeyByZXR1cm4gZmFsc2U7IH0KICAgIGlmICgodi5oYXVudGluZ0F0bW9zcGhlcmVDb29sZG93biB8fCAwKSA+IDApIHsgcmV0dXJuIGZhbHNlOyB9CiAgICB2YXIgbXVsdGlwbGllciA9IHAuc2VjcmV0ID09PSAiVGhlIExvc3QgTWludXRlIiA/IDEuNiA6IDE7CiAgICB2YXIgY2hhbmNlID0gTWF0aC5taW4oMC4xMiwgc2V0dXAubG9zdE1pbnV0ZUNoYW5jZSgpICogbXVsdGlwbGllcik7CiAgICBpZiAoTWF0aC5yYW5kb20oKSA+PSBjaGFuY2UpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICB2Lmxvc3RNaW51dGVBY3RpdmU9dHJ1ZTsgdi5sb3N0TWludXRlT3JpZ2luPW9yaWdpbjsgdi5sb3N0TWludXRlU3RhcnRlZEF0QXR0ZW50aW9uPXNldHVwLmF0dGVudGlvblN0YXRlKCk7CiAgICB2Lmxvc3RNaW51dGVNb3Zlcz0wOyB2Lmxvc3RNaW51dGVDbHVlcz1bXTsgdi5oYXVudGluZ0F0bW9zcGhlcmVDb29sZG93bj00OyB2Lmxvc3RNaW51dGVQcm9maWxlPXAuaWQ7IHYubG9zdE1pbnV0ZUVmZmVjdGl2ZUNoYW5jZT1jaGFuY2U7CiAgICByZXR1cm4gdHJ1ZTsKfTsKc2V0dXAucHJvZmlsZVRocmVhdFRleHQgPSBmdW5jdGlvbiAoKSB7CiAgICB2YXIgcD1zZXR1cC5lbnN1cmVIYXVudGluZ1Byb2ZpbGUoKTsKICAgIHZhciB0ZXh0PXtLZXZpbjoiVGhlIHdhdGNoIHZpYnJhdGVzIG9uY2UgYWdhaW5zdCBLZXZpbidzIHdyaXN0LiIsUnlhbjoiUnlhbidzIG5lYXJlc3QgbWFya2VkIGJvdW5kYXJ5IGRldmVsb3BzIGEgbmFycm93IGJyZWFrLiIsS2ltbXk6Ik9uZSBpdGVtIGluIEtpbW15J3MgZXZpZGVuY2UgbGlzdCBjaGFuZ2VzIHBvc2l0aW9uIHdpdGhvdXQgYmVpbmcgdG91Y2hlZC4iLFNjb290OiJUaGUgbm90ZWJvb2sgb3BlbnMgdG8gYSBibGFuayBwYWdlIGFuZCB3cml0ZXMgU2Nvb3QncyBuYW1lLiJ9OwogICAgcmV0dXJuIHRleHRbcC50YXJnZXRdIHx8ICJUaGUgaGF1bnRpbmcgc2VsZWN0cyBhIHRhcmdldC4iOwp9OwoKCi8qIEJ1aWxkIDUuMTkgcGVyc2lzdGVudCBoYXVudGluZyBhZnRlcmVmZmVjdHMuICovCnNldHVwLmhhdW50aW5nQWZ0ZXJlZmZlY3RzID0gZnVuY3Rpb24gKCkgewogICAgdmFyIHY9U3RhdGUudmFyaWFibGVzLCBlZmZlY3RzPVtdOwogICAgaWYgKHYuaGF1bnRpbmdIaWdoSGFuZHByaW50KSB7IGVmZmVjdHMucHVzaCh7aWQ6ImVjaG8tdm9pY2UiLG5hbWU6IkRlbGF5ZWQgRWNobyIsdGFyZ2V0OiJLZXZpbiIsc2V2ZXJpdHk6MSx0ZXh0OiJTcG9rZW4gd29yZHMgb2NjYXNpb25hbGx5IHJlcGVhdCBmcm9tIHRoZSB3cm9uZyBkaXJlY3Rpb24uIn0pOyB9CiAgICBpZiAodi5oYXVudGluZ05ld0tleWhvbGUpIHsgZWZmZWN0cy5wdXNoKHtpZDoiZmFsc2Uta2V5aG9sZSIsbmFtZToiVGhlIE5ldyBLZXlob2xlIix0YXJnZXQ6IlJ5YW4iLHNldmVyaXR5OjEsdGV4dDoiQ2xvc2VkIGRvb3JzIHNvbWV0aW1lcyBhcHBlYXIgdG8gaGF2ZSBhbiBhZGRpdGlvbmFsIGtleWhvbGUuIn0pOyB9CiAgICBpZiAodi5oYXVudGluZ0xvc3RJdGVtKSB7IGVmZmVjdHMucHVzaCh7aWQ6Im1pc3Npbmctb2JqZWN0IixuYW1lOiJPYmplY3QgTGVmdCBFbHNld2hlcmUiLHRhcmdldDoiS2ltbXkiLHNldmVyaXR5OjIsdGV4dDoiQW4gaXRlbSByZW1haW5zIG1pc3NpbmcgaW5zaWRlIHRoZSBpbXBvc3NpYmxlIGhhbGx3YXkuIn0pOyB9CiAgICBpZiAodi5oYXVudGluZ09ha1Bob3RvKSB7IGVmZmVjdHMucHVzaCh7aWQ6InJlYXItZmlndXJlIixuYW1lOiJGaWd1cmUgaW4gdGhlIFNjcmVlbiIsdGFyZ2V0OiJLaW1teSIsc2V2ZXJpdHk6MSx0ZXh0OiJEYXJrIHNjcmVlbnMgYnJpZWZseSBzaG93IGEgZmlndXJlIHN0YW5kaW5nIGJlaGluZCB0aGUgdmlld2VyLiJ9KTsgfQogICAgaWYgKHYuaGF1bnRpbmdOb3RlYm9va0JlbG93KSB7IGVmZmVjdHMucHVzaCh7aWQ6Im5vdC1hbG9uZSIsbmFtZToiTm90IEFsb25lIix0YXJnZXQ6IlNjb290IixzZXZlcml0eToyLHRleHQ6IlRoZSBub3RlYm9vayBjb250aW51ZXMgYWRkaW5nIHRoZSB3b3JkcyBOT1QgQUxPTkUgYmVuZWF0aCB1bnJlbGF0ZWQgbm90ZXMuIn0pOyB9CiAgICBpZiAodi5sb3N0TWludXRlVGltZUxvc3MpIHsgZWZmZWN0cy5wdXNoKHtpZDoibG9zdC10aW1lIixuYW1lOiJOaW5ldGVlbiBNaXNzaW5nIE1pbnV0ZXMiLHRhcmdldDpzZXR1cC5lbnN1cmVIYXVudGluZ1Byb2ZpbGUoKS50YXJnZXQsc2V2ZXJpdHk6Mix0ZXh0OiJDbG9ja3MgZGlzYWdyZWUgd2hlbmV2ZXIgdGhlIGludmVzdGlnYXRvciB0cmllcyB0byByZWNvbnN0cnVjdCB0aGUgZGlzcGxhY2VtZW50LiJ9KTsgfQogICAgaWYgKHYubG9zdE1pbnV0ZU1hcmtlZCkgeyBlZmZlY3RzLnB1c2goe2lkOiJ3cmlzdC1tYXJrIixuYW1lOiJUaGUgOToxNCBNYXJrIix0YXJnZXQ6c2V0dXAuZW5zdXJlSGF1bnRpbmdQcm9maWxlKCkudGFyZ2V0LHNldmVyaXR5OjMsdGV4dDoiVGhlIGdyZWVuIHdyaXN0IG1hcmsgdGlnaHRlbnMgYXMgY2xvY2tzIGFwcHJvYWNoIDk6MTQuIn0pOyB9CiAgICBpZiAodi5sb3N0TWludXRlRnJhZ21lbnQpIHsgZWZmZWN0cy5wdXNoKHtpZDoiY2hhbmdpbmctbmFtZSIsbmFtZToiQ2hhbmdpbmcgRXJhc3VyZSIsdGFyZ2V0OiJHcm91cCIsc2V2ZXJpdHk6Mix0ZXh0OiJUaGUgZXJhc2VkIG5hbWUgb24gdGhlIGF0dGVuZGFuY2UgZnJhZ21lbnQgY2hhbmdlcyBsZW5ndGggYWZ0ZXIgZGFyay4ifSk7IH0KICAgIHJldHVybiBlZmZlY3RzOwp9OwpzZXR1cC5oYXVudGluZ0FmdGVyZWZmZWN0Q29zdCA9IGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiBzZXR1cC5oYXVudGluZ0FmdGVyZWZmZWN0cygpLnJlZHVjZShmdW5jdGlvbihzdW0sZWZmZWN0KXsgcmV0dXJuIHN1bStlZmZlY3Quc2V2ZXJpdHk7IH0sMCk7Cn07CnNldHVwLmhhdW50aW5nQWZ0ZXJlZmZlY3RMZXZlbCA9IGZ1bmN0aW9uICgpIHsKICAgIHZhciBjb3N0PXNldHVwLmhhdW50aW5nQWZ0ZXJlZmZlY3RDb3N0KCk7CiAgICBpZiAoY29zdD09PTApIHsgcmV0dXJuICJDbGVhciI7IH0KICAgIGlmIChjb3N0PD0yKSB7IHJldHVybiAiTGluZ2VyaW5nIjsgfQogICAgaWYgKGNvc3Q8PTUpIHsgcmV0dXJuICJFbWJlZGRlZCI7IH0KICAgIHJldHVybiAiU2V2ZXJlIjsKfTsKc2V0dXAucmVzb2x2ZUFmdGVyZWZmZWN0ID0gZnVuY3Rpb24gKGlkKSB7CiAgICB2YXIgdj1TdGF0ZS52YXJpYWJsZXM7CiAgICBpZiAoIUFycmF5LmlzQXJyYXkodi5yZXNvbHZlZEFmdGVyZWZmZWN0cykpIHsgdi5yZXNvbHZlZEFmdGVyZWZmZWN0cz1bXTsgfQogICAgaWYgKHYucmVzb2x2ZWRBZnRlcmVmZmVjdHMuaW5kZXhPZihpZCk9PT0tMSkgeyB2LnJlc29sdmVkQWZ0ZXJlZmZlY3RzLnB1c2goaWQpOyB9Cn07CnNldHVwLnVucmVzb2x2ZWRIYXVudGluZ0FmdGVyZWZmZWN0cyA9IGZ1bmN0aW9uICgpIHsKICAgIHZhciB2PVN0YXRlLnZhcmlhYmxlcywgcmVzb2x2ZWQ9QXJyYXkuaXNBcnJheSh2LnJlc29sdmVkQWZ0ZXJlZmZlY3RzKT92LnJlc29sdmVkQWZ0ZXJlZmZlY3RzOltdOwogICAgcmV0dXJuIHNldHVwLmhhdW50aW5nQWZ0ZXJlZmZlY3RzKCkuZmlsdGVyKGZ1bmN0aW9uKGVmZmVjdCl7cmV0dXJuIHJlc29sdmVkLmluZGV4T2YoZWZmZWN0LmlkKT09PS0xO30pOwp9OwpzZXR1cC51bnJlc29sdmVkQWZ0ZXJlZmZlY3RDb3N0ID0gZnVuY3Rpb24gKCkgewogICAgcmV0dXJuIHNldHVwLnVucmVzb2x2ZWRIYXVudGluZ0FmdGVyZWZmZWN0cygpLnJlZHVjZShmdW5jdGlvbihzdW0sZWZmZWN0KXtyZXR1cm4gc3VtK2VmZmVjdC5zZXZlcml0eTt9LDApOwp9OwoKCi8qIEJ1aWxkIDUuMjAgcGVyc2lzdGVudCBhZnRlcmVmZmVjdCBlY2hvZXMgaW4gb3JkaW5hcnkgZXhwbG9yYXRpb24uICovCnNldHVwLmFmdGVyZWZmZWN0RWNob1RleHQgPSB7CiAiZWNoby12b2ljZSI6IlRoZSBsYXN0IHNlbnRlbmNlIHJlcGVhdHMgZnJvbSBhbiBlbXB0eSBwYXJ0IG9mIHRoZSByb29tLCBzb2Z0ZXIgYnV0IHBlcmZlY3RseSB0aW1lZC4iLAogImZhbHNlLWtleWhvbGUiOiJGb3IgYSBtb21lbnQsIHRoZSBuZWFyZXN0IGNsb3NlZCBkb29yIGhhcyB0d28ga2V5aG9sZXMuIE9uZSBkaXNhcHBlYXJzIHdoZW4gYXBwcm9hY2hlZC4iLAogIm1pc3Npbmctb2JqZWN0IjoiU29tZXRoaW5nIHNoaWZ0cyBpbnNpZGUgYSB3YWxsLiBJdCBzb3VuZHMgZXhhY3RseSBsaWtlIHRoZSBvYmplY3QgbGVmdCBpbiB0aGUgaW1wb3NzaWJsZSBoYWxsd2F5LiIsCiAicmVhci1maWd1cmUiOiJBIGRhcmsgc2NyZWVuIGNhdGNoZXMgYSBmaWd1cmUgYmVoaW5kIHRoZSBncm91cC4gTm90aGluZyBzdGFuZHMgdGhlcmUgd2hlbiB0aGV5IHR1cm4uIiwKICJub3QtYWxvbmUiOiJTY29vdCdzIG5vdGVib29rIG9wZW5zIGJ5IGl0c2VsZi4gQmVuZWF0aCB0aGUgbmV3ZXN0IG5vdGVzLCB0d28gd29yZHMgYXBwZWFyIGFnYWluOiBOT1QgQUxPTkUuIiwKICJsb3N0LXRpbWUiOiJFdmVyeSB2aXNpYmxlIGNsb2NrIGRpc2FncmVlcyBieSBuaW5ldGVlbiBtaW51dGVzIGJlZm9yZSBjb3JyZWN0aW5nIGl0c2VsZi4iLAogIndyaXN0LW1hcmsiOiJUaGUgZ3JlZW4gbWFyayB0aWdodGVucyBhcyBhIGNsb2NrIGNsaWNrcyB0b3dhcmQgOToxNCwgdGhlbiBsb29zZW5zIHdpdGhvdXQgZmFkaW5nLiIsCiAiY2hhbmdpbmctbmFtZSI6IlRoZSBhdHRlbmRhbmNlIGZyYWdtZW50IHJ1c3RsZXMgaW5zaWRlIGl0cyBldmlkZW5jZSBzbGVldmUuIFRoZSBlcmFzZWQgc3BhY2UgaXMgYSBkaWZmZXJlbnQgbGVuZ3RoIG5vdy4iCn07CnNldHVwLnJvbGxBZnRlcmVmZmVjdEVjaG8gPSBmdW5jdGlvbiAobG9jYXRpb24pIHsKIHZhciB2PVN0YXRlLnZhcmlhYmxlczsKIGlmICghQXJyYXkuaXNBcnJheSh2LmFmdGVyZWZmZWN0RWNob2VzU2VlbikpIHsgdi5hZnRlcmVmZmVjdEVjaG9lc1NlZW49W107IH0KIGlmICh0eXBlb2Ygdi5hZnRlcmVmZmVjdEVjaG9Db29sZG93biE9PSJudW1iZXIiKSB7IHYuYWZ0ZXJlZmZlY3RFY2hvQ29vbGRvd249MDsgfQogaWYgKHYuYWZ0ZXJlZmZlY3RFY2hvQ29vbGRvd24+MCkgeyB2LmFmdGVyZWZmZWN0RWNob0Nvb2xkb3duLT0xOyByZXR1cm4gIiI7IH0KIHZhciBhY3RpdmU9c2V0dXAudW5yZXNvbHZlZEhhdW50aW5nQWZ0ZXJlZmZlY3RzKCkuZmlsdGVyKGZ1bmN0aW9uKGVmZmVjdCl7cmV0dXJuIHYuYWZ0ZXJlZmZlY3RFY2hvZXNTZWVuLmluZGV4T2YoZWZmZWN0LmlkKT09PS0xO30pOwogaWYgKCFhY3RpdmUubGVuZ3RoKSB7IHJldHVybiAiIjsgfQogdmFyIGNoYW5jZT1NYXRoLm1pbigwLjM4LDAuMDgrKHNldHVwLnVucmVzb2x2ZWRBZnRlcmVmZmVjdENvc3QoKSowLjAzNSkpOwogaWYgKHNldHVwLmVuc3VyZUhhdW50aW5nUHJvZmlsZSgpLmRhbmdlcj09PWxvY2F0aW9uKSB7IGNoYW5jZT1NYXRoLm1pbigwLjQ1LGNoYW5jZSoxLjI1KTsgfQogaWYgKE1hdGgucmFuZG9tKCk+PWNoYW5jZSkgeyByZXR1cm4gIiI7IH0KIHZhciBjaG9zZW49YWN0aXZlW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSphY3RpdmUubGVuZ3RoKV07CiB2LmFmdGVyZWZmZWN0RWNob2VzU2Vlbi5wdXNoKGNob3Nlbi5pZCk7IHYuYWZ0ZXJlZmZlY3RFY2hvQ29vbGRvd249MjsKIGlmICghQXJyYXkuaXNBcnJheSh2LmFmdGVyZWZmZWN0RWNob0xvZykpIHsgdi5hZnRlcmVmZmVjdEVjaG9Mb2c9W107IH0KIHYuYWZ0ZXJlZmZlY3RFY2hvTG9nLnB1c2goe2lkOmNob3Nlbi5pZCxsb2NhdGlvbjpsb2NhdGlvbixwYXNzYWdlOlN0YXRlLnBhc3NhZ2UsY2hhbmNlOmNoYW5jZX0pOwogcmV0dXJuIHNldHVwLmFmdGVyZWZmZWN0RWNob1RleHRbY2hvc2VuLmlkXXx8Y2hvc2VuLnRleHQ7Cn07CgoKLyogQnVpbGQgNS4yMSBjb250YWlubWVudCBjb25zZXF1ZW5jZXMgYW5kIHJlY292ZXJlZCBldmlkZW5jZS4gKi8Kc2V0dXAuYWZ0ZXJlZmZlY3RSZXNvbHV0aW9uQ2F0YWxvZyA9IHsKICJlY2hvLXZvaWNlIjp7dGl0bGU6IkNvbnRhaW5lZCBFY2hvIFJlY29yZGluZyIsb3duZXI6IktpbW15IixiZW5lZml0OiJUaGUgcmVwZWF0YWJsZSBkZWxheSBwcm92ZXMgdGhlIHZvaWNlIGZvbGxvd3MgYSBtZWFzdXJhYmxlIHJ1bGUuIixjbHVlOiJjb250YWluZWQtZWNoby1yZWNvcmRpbmcifSwKICJmYWxzZS1rZXlob2xlIjp7dGl0bGU6IlNlYWxlZCBGYWxzZSBUaHJlc2hvbGQiLG93bmVyOiJSeWFuIixiZW5lZml0OiJUaGUgc2VhbGVkIG91dGxpbmUgaWRlbnRpZmllcyB3aGVyZSB0aGUgaW1pdGF0aW9uIGF0dGVtcHRlZCB0byBjcmVhdGUgYSBuZXcgYm91bmRhcnkuIixjbHVlOiJzZWFsZWQtZmFsc2UtdGhyZXNob2xkIn0sCiAibG9zdC10aW1lIjp7dGl0bGU6IlJlY29uc3RydWN0ZWQgTWlzc2luZyBNaW51dGVzIixvd25lcjoiS2V2aW4iLGJlbmVmaXQ6IlRoZSBjb3JyZWN0ZWQgc2VxdWVuY2UgbGlua3MgdGhlIGRpc3BsYWNlbWVudCB0byB0aGUgOToxNCBwYXR0ZXJuLiIsY2x1ZToicmVjb25zdHJ1Y3RlZC1taXNzaW5nLW1pbnV0ZXMifSwKICJub3QtYWxvbmUiOnt0aXRsZToiTm90ZWJvb2sgUmVwZXRpdGlvbiBQYXR0ZXJuIixvd25lcjoiU2Nvb3QiLGJlbmVmaXQ6IlRoZSByZXBlYXRlZCBwaHJhc2Ugc3RvcHMgYWZ0ZXIgdGhlIG5vdGVib29rIGlzIGNsb3NlZCBhdCB0aGUgY29ycmVjdCBsaW5lLiIsY2x1ZToibm90ZWJvb2stcmVwZXRpdGlvbi1wYXR0ZXJuIn0KfTsKc2V0dXAucmVnaXN0ZXJBZnRlcmVmZmVjdFJlc29sdXRpb24gPSBmdW5jdGlvbihpZCkgewogdmFyIHY9U3RhdGUudmFyaWFibGVzLCBpdGVtPXNldHVwLmFmdGVyZWZmZWN0UmVzb2x1dGlvbkNhdGFsb2dbaWRdOwogaWYgKCFpdGVtKSB7IHJldHVybjsgfQogaWYgKCFBcnJheS5pc0FycmF5KHYuYWZ0ZXJlZmZlY3RSZXNvbHV0aW9uTG9nKSkgeyB2LmFmdGVyZWZmZWN0UmVzb2x1dGlvbkxvZz1bXTsgfQogaWYgKHYuYWZ0ZXJlZmZlY3RSZXNvbHV0aW9uTG9nLnNvbWUoZnVuY3Rpb24oZW50cnkpe3JldHVybiBlbnRyeS5pZD09PWlkO30pKSB7IHJldHVybjsgfQogdi5hZnRlcmVmZmVjdFJlc29sdXRpb25Mb2cucHVzaCh7aWQ6aWQsdGl0bGU6aXRlbS50aXRsZSxvd25lcjppdGVtLm93bmVyLGJlbmVmaXQ6aXRlbS5iZW5lZml0LHBhc3NhZ2U6U3RhdGUucGFzc2FnZX0pOwogaWYgKHNldHVwLmFkZENhc2VGaWxlMikgeyBzZXR1cC5hZGRDYXNlRmlsZTIoaXRlbS5jbHVlLGl0ZW0udGl0bGUsaXRlbS5vd25lciwiVmVyaWZpZWQgY29udGFpbm1lbnQiLGl0ZW0uYmVuZWZpdCwiQ2FuIHRoZSBzYW1lIG1ldGhvZCBjb250YWluIGEgc3Ryb25nZXIgbWFuaWZlc3RhdGlvbj8iKTsgfQp9OwpzZXR1cC5yZXNvbHV0aW9uQ291bnQgPSBmdW5jdGlvbigpe3JldHVybiAoU3RhdGUudmFyaWFibGVzLmFmdGVyZWZmZWN0UmVzb2x1dGlvbkxvZ3x8W10pLmxlbmd0aDt9OwpzZXR1cC5yZXNvbHV0aW9uVHJ1dGhCb251cyA9IGZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgubWluKDIsTWF0aC5mbG9vcihzZXR1cC5yZXNvbHV0aW9uQ291bnQoKS8yKSk7fTsKc2V0dXAucmVzb2x1dGlvbkNvc3RSZWR1Y3Rpb24gPSBmdW5jdGlvbigpe3JldHVybiBNYXRoLm1pbigzLHNldHVwLnJlc29sdXRpb25Db3VudCgpKTt9OwoKCi8qIEJ1aWxkIDUuMjIgcHJvZmlsZSBzZWNyZXQ6IFRoZSBSb29tIEJlaGluZCB0aGUgVm9pY2UuICovCnNldHVwLmJvcnJvd2VkVm9pY2VSb29tQ2hhbmNlID0gZnVuY3Rpb24gKCkgewogdmFyIHN0YXRlPXNldHVwLmF0dGVudGlvblN0YXRlP3NldHVwLmF0dGVudGlvblN0YXRlKCk6IlVubm90aWNlZCI7CiB2YXIgcmF0ZXM9e1Vubm90aWNlZDowLE9ic2VydmVkOjAsRm9sbG93ZWQ6MC4wMyxNYXJrZWQ6MC4wNixIdW50ZWQ6MC4xMH07CiByZXR1cm4gcmF0ZXNbc3RhdGVdfHwwOwp9OwpzZXR1cC5yb2xsQm9ycm93ZWRWb2ljZVJvb20gPSBmdW5jdGlvbihvcmlnaW4pIHsKIHZhciB2PVN0YXRlLnZhcmlhYmxlcyxwPXNldHVwLmVuc3VyZUhhdW50aW5nUHJvZmlsZSgpOwogaWYgKHAuaWQhPT0idm9pY2VzIiB8fCB2LmJvcnJvd2VkVm9pY2VSb29tQ29tcGxldGVkIHx8IHYuYm9ycm93ZWRWb2ljZVJvb21BY3RpdmUpIHsgcmV0dXJuIGZhbHNlOyB9CiBpZiAoKHYuaGF1bnRpbmdBdG1vc3BoZXJlQ29vbGRvd258fDApPjAgfHwgdi5hY3RpdmVJbnRlcmFjdGl2ZUhhdW50aW5nIHx8IHYubG9zdE1pbnV0ZUFjdGl2ZSkgeyByZXR1cm4gZmFsc2U7IH0KIGlmIChNYXRoLnJhbmRvbSgpPj1zZXR1cC5ib3Jyb3dlZFZvaWNlUm9vbUNoYW5jZSgpKSB7IHJldHVybiBmYWxzZTsgfQogdi5ib3Jyb3dlZFZvaWNlUm9vbUFjdGl2ZT10cnVlOyB2LmJvcnJvd2VkVm9pY2VSb29tT3JpZ2luPW9yaWdpbjsgdi5ib3Jyb3dlZFZvaWNlUm9vbU1vdmVzPTA7IHYuYm9ycm93ZWRWb2ljZVJvb21DbHVlcz1bXTsgdi5oYXVudGluZ0F0bW9zcGhlcmVDb29sZG93bj00OwogcmV0dXJuIHRydWU7Cn07CnNldHVwLnJlY29yZEJvcnJvd2VkVm9pY2VSb29tID0gZnVuY3Rpb24oaWQpIHsKIHZhciB2PVN0YXRlLnZhcmlhYmxlczsKIGlmICghQXJyYXkuaXNBcnJheSh2LmJvcnJvd2VkVm9pY2VSb29tQ2x1ZXMpKSB7IHYuYm9ycm93ZWRWb2ljZVJvb21DbHVlcz1bXTsgfQogaWYgKHYuYm9ycm93ZWRWb2ljZVJvb21DbHVlcy5pbmRleE9mKGlkKT09PS0xKSB7IHYuYm9ycm93ZWRWb2ljZVJvb21DbHVlcy5wdXNoKGlkKTsgfQogdi5ib3Jyb3dlZFZvaWNlUm9vbU1vdmVzPSh2LmJvcnJvd2VkVm9pY2VSb29tTW92ZXN8fDApKzE7Cn07CnNldHVwLmZpbmlzaEJvcnJvd2VkVm9pY2VSb29tID0gZnVuY3Rpb24ob3V0Y29tZSkgewogdmFyIHY9U3RhdGUudmFyaWFibGVzOyB2LmJvcnJvd2VkVm9pY2VSb29tQWN0aXZlPWZhbHNlOyB2LmJvcnJvd2VkVm9pY2VSb29tQ29tcGxldGVkPXRydWU7IHYuYm9ycm93ZWRWb2ljZVJvb21PdXRjb21lPW91dGNvbWU7CiBpZiAoIUFycmF5LmlzQXJyYXkodi5wcm9maWxlU2VjcmV0TG9nKSkgeyB2LnByb2ZpbGVTZWNyZXRMb2c9W107IH0KIHYucHJvZmlsZVNlY3JldExvZy5wdXNoKHtwbGFjZToiVGhlIFJvb20gQmVoaW5kIHRoZSBWb2ljZSIsb3V0Y29tZTpvdXRjb21lLGNsdWVzOih2LmJvcnJvd2VkVm9pY2VSb29tQ2x1ZXN8fFtdKS5zbGljZSgpLG9yaWdpbjp2LmJvcnJvd2VkVm9pY2VSb29tT3JpZ2lufHwiVW5rbm93biJ9KTsKfTsKCgovKiBCdWlsZCA1LjIzIHByb2ZpbGUgc2VjcmV0OiBUaGUgTWlzc2luZyBBcmNoaXZlLiAqLwpzZXR1cC5taXNzaW5nQXJjaGl2ZUNoYW5jZT1mdW5jdGlvbigpe3ZhciBzPXNldHVwLmF0dGVudGlvblN0YXRlP3NldHVwLmF0dGVudGlvblN0YXRlKCk6IlVubm90aWNlZCIscj17VW5ub3RpY2VkOjAsT2JzZXJ2ZWQ6MCxGb2xsb3dlZDouMDMsTWFya2VkOi4wNixIdW50ZWQ6LjEwfTtyZXR1cm4gcltzXXx8MDt9OwpzZXR1cC5yb2xsTWlzc2luZ0FyY2hpdmU9ZnVuY3Rpb24ob3JpZ2luKXt2YXIgdj1TdGF0ZS52YXJpYWJsZXMscD1zZXR1cC5lbnN1cmVIYXVudGluZ1Byb2ZpbGUoKTtpZihwLmlkIT09InRocmVhZCJ8fHYubWlzc2luZ0FyY2hpdmVDb21wbGV0ZWR8fHYubWlzc2luZ0FyY2hpdmVBY3RpdmUpe3JldHVybiBmYWxzZTt9aWYoKHYuaGF1bnRpbmdBdG1vc3BoZXJlQ29vbGRvd258fDApPjB8fHYuYWN0aXZlSW50ZXJhY3RpdmVIYXVudGluZ3x8di5sb3N0TWludXRlQWN0aXZlfHx2LmJvcnJvd2VkVm9pY2VSb29tQWN0aXZlKXtyZXR1cm4gZmFsc2U7fWlmKE1hdGgucmFuZG9tKCk+PXNldHVwLm1pc3NpbmdBcmNoaXZlQ2hhbmNlKCkpe3JldHVybiBmYWxzZTt9di5taXNzaW5nQXJjaGl2ZUFjdGl2ZT10cnVlO3YubWlzc2luZ0FyY2hpdmVPcmlnaW49b3JpZ2luO3YubWlzc2luZ0FyY2hpdmVNb3Zlcz0wO3YubWlzc2luZ0FyY2hpdmVDbHVlcz1bXTt2LmhhdW50aW5nQXRtb3NwaGVyZUNvb2xkb3duPTQ7cmV0dXJuIHRydWU7fTsKc2V0dXAucmVjb3JkTWlzc2luZ0FyY2hpdmU9ZnVuY3Rpb24oaWQpe3ZhciB2PVN0YXRlLnZhcmlhYmxlcztpZighQXJyYXkuaXNBcnJheSh2Lm1pc3NpbmdBcmNoaXZlQ2x1ZXMpKXt2Lm1pc3NpbmdBcmNoaXZlQ2x1ZXM9W107fWlmKHYubWlzc2luZ0FyY2hpdmVDbHVlcy5pbmRleE9mKGlkKT09PS0xKXt2Lm1pc3NpbmdBcmNoaXZlQ2x1ZXMucHVzaChpZCk7fXYubWlzc2luZ0FyY2hpdmVNb3Zlcz0odi5taXNzaW5nQXJjaGl2ZU1vdmVzfHwwKSsxO307CnNldHVwLmZpbmlzaE1pc3NpbmdBcmNoaXZlPWZ1bmN0aW9uKG91dGNvbWUpe3ZhciB2PVN0YXRlLnZhcmlhYmxlczt2Lm1pc3NpbmdBcmNoaXZlQWN0aXZlPWZhbHNlO3YubWlzc2luZ0FyY2hpdmVDb21wbGV0ZWQ9dHJ1ZTt2Lm1pc3NpbmdBcmNoaXZlT3V0Y29tZT1vdXRjb21lO2lmKCFBcnJheS5pc0FycmF5KHYucHJvZmlsZVNlY3JldExvZykpe3YucHJvZmlsZVNlY3JldExvZz1bXTt9di5wcm9maWxlU2VjcmV0TG9nLnB1c2goe3BsYWNlOiJUaGUgTWlzc2luZyBBcmNoaXZlIixvdXRjb21lOm91dGNvbWUsY2x1ZXM6KHYubWlzc2luZ0FyY2hpdmVDbHVlc3x8W10pLnNsaWNlKCksb3JpZ2luOnYubWlzc2luZ0FyY2hpdmVPcmlnaW58fCJVbmtub3duIn0pO307CgoKLyogQnVpbGQgNS4yNCBwcm9maWxlIHNlY3JldDogVGhlIEhvdXNlIEJlbmVhdGggdGhlIE9hay4gKi8Kc2V0dXAucm9vdEhvdXNlQ2hhbmNlPWZ1bmN0aW9uKCl7dmFyIHM9c2V0dXAuYXR0ZW50aW9uU3RhdGU/c2V0dXAuYXR0ZW50aW9uU3RhdGUoKToiVW5ub3RpY2VkIixyPXtVbm5vdGljZWQ6MCxPYnNlcnZlZDowLEZvbGxvd2VkOi4wMyxNYXJrZWQ6LjA2LEh1bnRlZDouMTB9O3JldHVybiByW3NdfHwwO307CnNldHVwLnJvbGxSb290SG91c2U9ZnVuY3Rpb24ob3JpZ2luKXt2YXIgdj1TdGF0ZS52YXJpYWJsZXMscD1zZXR1cC5lbnN1cmVIYXVudGluZ1Byb2ZpbGUoKTtpZihwLmlkIT09InJvb3RzInx8di5yb290SG91c2VDb21wbGV0ZWR8fHYucm9vdEhvdXNlQWN0aXZlKXtyZXR1cm4gZmFsc2U7fWlmKCh2LmhhdW50aW5nQXRtb3NwaGVyZUNvb2xkb3dufHwwKT4wfHx2LmFjdGl2ZUludGVyYWN0aXZlSGF1bnRpbmd8fHYubG9zdE1pbnV0ZUFjdGl2ZXx8di5ib3Jyb3dlZFZvaWNlUm9vbUFjdGl2ZXx8di5taXNzaW5nQXJjaGl2ZUFjdGl2ZSl7cmV0dXJuIGZhbHNlO31pZihNYXRoLnJhbmRvbSgpPj1zZXR1cC5yb290SG91c2VDaGFuY2UoKSl7cmV0dXJuIGZhbHNlO312LnJvb3RIb3VzZUFjdGl2ZT10cnVlO3Yucm9vdEhvdXNlT3JpZ2luPW9yaWdpbjt2LnJvb3RIb3VzZU1vdmVzPTA7di5yb290SG91c2VDbHVlcz1bXTt2LmhhdW50aW5nQXRtb3NwaGVyZUNvb2xkb3duPTQ7cmV0dXJuIHRydWU7fTsKc2V0dXAucmVjb3JkUm9vdEhvdXNlPWZ1bmN0aW9uKGlkKXt2YXIgdj1TdGF0ZS52YXJpYWJsZXM7aWYoIUFycmF5LmlzQXJyYXkodi5yb290SG91c2VDbHVlcykpe3Yucm9vdEhvdXNlQ2x1ZXM9W107fWlmKHYucm9vdEhvdXNlQ2x1ZXMuaW5kZXhPZihpZCk9PT0tMSl7di5yb290SG91c2VDbHVlcy5wdXNoKGlkKTt9di5yb290SG91c2VNb3Zlcz0odi5yb290SG91c2VNb3Zlc3x8MCkrMTt9OwpzZXR1cC5maW5pc2hSb290SG91c2U9ZnVuY3Rpb24ob3V0Y29tZSl7dmFyIHY9U3RhdGUudmFyaWFibGVzO3Yucm9vdEhvdXNlQWN0aXZlPWZhbHNlO3Yucm9vdEhvdXNlQ29tcGxldGVkPXRydWU7di5yb290SG91c2VPdXRjb21lPW91dGNvbWU7aWYoIUFycmF5LmlzQXJyYXkodi5wcm9maWxlU2VjcmV0TG9nKSl7di5wcm9maWxlU2VjcmV0TG9nPVtdO312LnByb2ZpbGVTZWNyZXRMb2cucHVzaCh7cGxhY2U6IlRoZSBIb3VzZSBCZW5lYXRoIHRoZSBPYWsiLG91dGNvbWU6b3V0Y29tZSxjbHVlczoodi5yb290SG91c2VDbHVlc3x8W10pLnNsaWNlKCksb3JpZ2luOnYucm9vdEhvdXNlT3JpZ2lufHwiVW5rbm93biJ9KTt9OwoKCi8qIEJ1aWxkIDUuMjUgSGF1bnRpbmcgQ29udmVyZ2VuY2UuICovCnNldHVwLmhpZGRlblBsYWNlUmVjb3Jkcz1mdW5jdGlvbigpe3ZhciB2PVN0YXRlLnZhcmlhYmxlcztyZXR1cm4gWwp7aWQ6Imxvc3QtbWludXRlIixuYW1lOiJUaGUgTG9zdCBNaW51dGUiLGZvdW5kOiEhdi5sb3N0TWludXRlQ29tcGxldGVkLHN0cm9uZzohISh2Lmxvc3RNaW51dGVGcmFnbWVudHx8di5sb3N0TWludXRlTWFya2VkKSxzaWduOiJUaW1lIixzdGF0ZW1lbnQ6IlRoZSB0b3duIGNhbiBiZSBkaXNwbGFjZWQgaW50byBhIGZyb3plbiBtaW51dGUuIn0sCntpZDoidm9pY2Utcm9vbSIsbmFtZToiVGhlIFJvb20gQmVoaW5kIHRoZSBWb2ljZSIsZm91bmQ6ISF2LmJvcnJvd2VkVm9pY2VSb29tQ29tcGxldGVkLHN0cm9uZzohIXYudm9pY2VSb29tRmlyc3RDb3B5LHNpZ246IkltaXRhdGlvbiIsc3RhdGVtZW50OiJUaGUgaGF1bnRpbmcgY29waWVzIHZvaWNlcyBhbmQgbWF5IGFudGljaXBhdGUgcXVlc3Rpb25zLiJ9LAp7aWQ6Im1pc3NpbmctYXJjaGl2ZSIsbmFtZToiVGhlIE1pc3NpbmcgQXJjaGl2ZSIsZm91bmQ6ISF2Lm1pc3NpbmdBcmNoaXZlQ29tcGxldGVkLHN0cm9uZzohIXYubWlzc2luZ0FyY2hpdmVBZ3JlZW1lbnRSZWNvcmQsc2lnbjoiRXJhc3VyZSIsc3RhdGVtZW50OiJGb3JnZXR0aW5nIGNhbiBiZSBvcmdhbml6ZWQgYW5kIHJlcXVpcmVzIGFncmVlbWVudC4ifSwKe2lkOiJyb290LWhvdXNlIixuYW1lOiJUaGUgSG91c2UgQmVuZWF0aCB0aGUgT2FrIixmb3VuZDohIXYucm9vdEhvdXNlQ29tcGxldGVkLHN0cm9uZzohIXYucm9vdEhvdXNlTGVkZ2VyUmVjb3ZlcmVkLHNpZ246IkJvdW5kYXJ5IixzdGF0ZW1lbnQ6IlRoZSBidXJpZWQgaG91c2UgaXMgYSBsaWQgb3ZlciBhbiBvbGRlciBvcGVuaW5nLiJ9Cl07fTsKc2V0dXAuaGlkZGVuUGxhY2VzRm91bmQ9ZnVuY3Rpb24oKXtyZXR1cm4gc2V0dXAuaGlkZGVuUGxhY2VSZWNvcmRzKCkuZmlsdGVyKGZ1bmN0aW9uKHgpe3JldHVybiB4LmZvdW5kO30pLmxlbmd0aDt9OwpzZXR1cC5zdHJvbmdIaWRkZW5PdXRjb21lcz1mdW5jdGlvbigpe3JldHVybiBzZXR1cC5oaWRkZW5QbGFjZVJlY29yZHMoKS5maWx0ZXIoZnVuY3Rpb24oeCl7cmV0dXJuIHguc3Ryb25nO30pLmxlbmd0aDt9OwpzZXR1cC5jb252ZXJnZW5jZVNjb3JlPWZ1bmN0aW9uKCl7dmFyIHY9U3RhdGUudmFyaWFibGVzLHNjb3JlPXNldHVwLmhpZGRlblBsYWNlc0ZvdW5kKCkrc2V0dXAuc3Ryb25nSGlkZGVuT3V0Y29tZXMoKTtpZih2LnZvaWNlUm9vbUZpcnN0Q29weSYmdi5taXNzaW5nQXJjaGl2ZUFncmVlbWVudFJlY29yZCl7c2NvcmUrPTI7fWlmKHYubWlzc2luZ0FyY2hpdmVBZ3JlZW1lbnRSZWNvcmQmJnYucm9vdEhvdXNlTGVkZ2VyUmVjb3ZlcmVkKXtzY29yZSs9Mjt9aWYodi5sb3N0TWludXRlRnJhZ21lbnQmJnYudm9pY2VSb29tRmlyc3RDb3B5KXtzY29yZSs9MTt9cmV0dXJuIHNjb3JlO307CnNldHVwLmNvbnZlcmdlbmNlTGV2ZWw9ZnVuY3Rpb24oKXt2YXIgcz1zZXR1cC5jb252ZXJnZW5jZVNjb3JlKCk7aWYocz09PTApe3JldHVybiAiVW5kaXNjb3ZlcmVkIjt9aWYoczw9Mil7cmV0dXJuICJGcmFnbWVudHMiO31pZihzPD01KXtyZXR1cm4gIkNvbm5lY3RlZCI7fXJldHVybiAiQ29udmVyZ2luZyI7fTsKc2V0dXAuY29udmVyZ2VuY2VGaW5kaW5ncz1mdW5jdGlvbigpe3ZhciB2PVN0YXRlLnZhcmlhYmxlcyxmPVtdO2lmKHYudm9pY2VSb29tRmlyc3RDb3B5JiZ2Lm1pc3NpbmdBcmNoaXZlQWdyZWVtZW50UmVjb3JkKXtmLnB1c2goIkZJUlNUIENPUFkgYW5kIFJFTU9WQUwgUkVRVUlSRVMgQUdSRUVNRU5UIHN1Z2dlc3QgaW1pdGF0aW9uIGFuZCBlcmFzdXJlIHdlcmUgYXV0aG9yaXplZCBwYXJ0cyBvZiB0aGUgc2FtZSBwcm9jZXNzLiIpO31pZih2Lm1pc3NpbmdBcmNoaXZlQWdyZWVtZW50UmVjb3JkJiZ2LnJvb3RIb3VzZUxlZGdlclJlY292ZXJlZCl7Zi5wdXNoKCJUaGUgcmV2ZXJzZWQgc2VhbCBhbmQgT1BFTkVEIEZST00gQkVMT1cgY29ubmVjdCB0aGUgdG93bidzIGFncmVlbWVudCB0byB0aGUgYnVyaWVkIGJvdW5kYXJ5LiIpO31pZih2Lmxvc3RNaW51dGVGcmFnbWVudCYmdi52b2ljZVJvb21GaXJzdENvcHkpe2YucHVzaCgiVGhlIGF0dGVuZGFuY2UgZnJhZ21lbnQgYW5kIEZJUlNUIENPUFkgbGFiZWwgc3VnZ2VzdCB0aGUgbWlzc2luZyBmaWZ0aCBpZGVudGl0eSB3YXMgZHVwbGljYXRlZCBiZWZvcmUgYmVpbmcgcmVtb3ZlZC4iKTt9aWYoc2V0dXAuaGlkZGVuUGxhY2VzRm91bmQoKT49Myl7Zi5wdXNoKCJUaHJlZSBoaWRkZW4gcGxhY2VzIHJlcGVhdCB0aGUgc2FtZSBzdHJ1Y3R1cmU6IGFuIGludml0YXRpb24sIGEgcmVjb3JkLCBhbmQgYSBib3VuZGFyeSB0aGF0IG9wZW5zIG9ubHkgYWZ0ZXIgYWNrbm93bGVkZ21lbnQuIik7fWlmKHNldHVwLmhpZGRlblBsYWNlc0ZvdW5kKCk9PT00KXtmLnB1c2goIkFsbCBmb3VyIGhpZGRlbiBwbGFjZXMgcG9pbnQgdG93YXJkIG9uZSBvcmlnaW5hbCBkb29yd2F5IGJlbmVhdGggQnJlY2tlbnJpZGdlLCBleHByZXNzZWQgdGhyb3VnaCB0aW1lLCBpbWl0YXRpb24sIGVyYXN1cmUsIGFuZCByb290cy4iKTt9cmV0dXJuIGY7fTsKCgovKiBCdWlsZCA1LjI2IHN1cGVybmF0dXJhbCBlbmRpbmcgaW50ZWdyYXRpb24uICovCnNldHVwLnN1cGVybmF0dXJhbEVuZGluZ01vZGlmaWVycz1mdW5jdGlvbigpewogdmFyIHY9U3RhdGUudmFyaWFibGVzLGZvdW5kPXNldHVwLmhpZGRlblBsYWNlc0ZvdW5kKCksc3Ryb25nPXNldHVwLnN0cm9uZ0hpZGRlbk91dGNvbWVzKCksdW5yZXNvbHZlZD1zZXR1cC51bnJlc29sdmVkQWZ0ZXJlZmZlY3RDb3N0KCksY29udGFpbmVkPXNldHVwLnJlc29sdXRpb25Db3VudCgpOwogdmFyIHRydXRoPXNldHVwLnJlc29sdXRpb25UcnV0aEJvbnVzKCkrTWF0aC5taW4oMixzdHJvbmcpOwogaWYodi52b2ljZVJvb21GaXJzdENvcHkpe3RydXRoKz0xO30gaWYodi5taXNzaW5nQXJjaGl2ZUFncmVlbWVudFJlY29yZCl7dHJ1dGgrPTE7fSBpZih2LnJvb3RIb3VzZUxlZGdlclJlY292ZXJlZCl7dHJ1dGgrPTE7fSBpZih2Lmxvc3RNaW51dGVGcmFnbWVudCl7dHJ1dGgrPTE7fQogdHJ1dGg9TWF0aC5taW4oNix0cnV0aCk7CiB2YXIgcmVzY3VlPTA7CiBpZihjb250YWluZWQ+PTIpe3Jlc2N1ZSs9MTt9IGlmKHYucm9vdEhvdXNlTGVkZ2VyUmVjb3ZlcmVkKXtyZXNjdWUrPTE7fSBpZih2LmJvcnJvd2VkVm9pY2VSb29tT3V0Y29tZT09PSJlc2NhcGVkIHdpdGhvdXQgYW5zd2VyaW5nIil7cmVzY3VlKz0xO30gcmVzY3VlPU1hdGgubWluKDMscmVzY3VlKTsKIHZhciBjb3N0PXVucmVzb2x2ZWQtc2V0dXAucmVzb2x1dGlvbkNvc3RSZWR1Y3Rpb24oKTsKIGlmKHYubG9zdE1pbnV0ZU1hcmtlZCl7Y29zdCs9Mjt9IGlmKHYudm9pY2VSb29tRm9sbG93aW5nVm9pY2Upe2Nvc3QrPTI7fSBpZih2Lm1pc3NpbmdBcmNoaXZlQ2F0YWxvZ2VkKXtjb3N0Kz0yO30gaWYodi5yb290SG91c2VTZWNvbmRMaWdodCl7Y29zdCs9Mjt9CiBjb3N0PU1hdGgubWF4KDAsY29zdCk7CiB2YXIgcmlza0ZsYWdzPVtdOwogaWYodi5sb3N0TWludXRlTWFya2VkKXtyaXNrRmxhZ3MucHVzaCgiOToxNCBtYXJrIik7fSBpZih2LnZvaWNlUm9vbUZvbGxvd2luZ1ZvaWNlKXtyaXNrRmxhZ3MucHVzaCgiZm9sbG93aW5nIGltaXRhdGlvbiIpO30gaWYodi5taXNzaW5nQXJjaGl2ZUNhdGFsb2dlZCl7cmlza0ZsYWdzLnB1c2goImNhdGFsb2dlZCBpbnZlc3RpZ2F0b3IiKTt9IGlmKHYucm9vdEhvdXNlU2Vjb25kTGlnaHQpe3Jpc2tGbGFncy5wdXNoKCJzZWNvbmQgYnVyaWVkIGxpZ2h0Iik7fQogcmV0dXJuIHt0cnV0aDp0cnV0aCxyZXNjdWU6cmVzY3VlLGNvc3Q6Y29zdCxmb3VuZDpmb3VuZCxzdHJvbmc6c3Ryb25nLGNvbnRhaW5lZDpjb250YWluZWQsdW5yZXNvbHZlZDp1bnJlc29sdmVkLHJpc2tGbGFnczpyaXNrRmxhZ3N9Owp9OwpzZXR1cC5zdXBlcm5hdHVyYWxFbmRpbmdCYW5kPWZ1bmN0aW9uKCl7dmFyIG09c2V0dXAuc3VwZXJuYXR1cmFsRW5kaW5nTW9kaWZpZXJzKCk7aWYobS50cnV0aD49NSYmbS5yZXNjdWU+PTImJm0uY29zdDw9Mil7cmV0dXJuICJEb29yd2F5IFVuZGVyc3Rvb2QiO31pZihtLnRydXRoPj0zJiZtLmNvc3Q8PTUpe3JldHVybiAiUGF0dGVybiBDb250YWluZWQiO31pZihtLnJlc2N1ZT49MiYmbS50cnV0aDwzKXtyZXR1cm4gIlNhZmUgYnV0IFVucmVzb2x2ZWQiO31pZihtLmNvc3Q+PTcpe3JldHVybiAiVGhlIEhhdW50aW5nIEZvbGxvd2VkIjt9cmV0dXJuICJLbm93bGVkZ2Ugd2l0aCBhIENvc3QiO307CnNldHVwLnN1cGVybmF0dXJhbEVwaWxvZ3VlPWZ1bmN0aW9uKCl7dmFyIG09c2V0dXAuc3VwZXJuYXR1cmFsRW5kaW5nTW9kaWZpZXJzKCksYmFuZD1zZXR1cC5zdXBlcm5hdHVyYWxFbmRpbmdCYW5kKCk7CiBpZihiYW5kPT09IkRvb3J3YXkgVW5kZXJzdG9vZCIpe3JldHVybiAiVGhlIGZvdXIgaGlkZGVuIHBsYWNlcyBhbGlnbmVkIGludG8gb25lIHRoZW9yeTogQnJlY2tlbnJpZGdlIHdhcyBidWlsdCBvdmVyIGFuIG9yaWdpbmFsIGRvb3J3YXksIGFuZCBldmVyeSBsYXRlciBoYXVudGluZyBib3Jyb3dlZCBvbmUgb2YgaXRzIGZvcm1zLiI7fQogaWYoYmFuZD09PSJQYXR0ZXJuIENvbnRhaW5lZCIpe3JldHVybiAiRW5vdWdoIG9mIHRoZSBwYXR0ZXJuIHdhcyB2ZXJpZmllZCB0byBrZWVwIHRoZSBkb29yd2F5IGZyb20gb3BlbmluZyB3aWRlciwgdGhvdWdoIHNldmVyYWwgcmVjb3JkcyByZW1haW4gaW5jb21wbGV0ZS4iO30KIGlmKGJhbmQ9PT0iU2FmZSBidXQgVW5yZXNvbHZlZCIpe3JldHVybiAiVGhlIGludmVzdGlnYXRvcnMgcHJvdGVjdGVkIG9uZSBhbm90aGVyLCBidXQgdGhlIGhpZGRlbiBwbGFjZXMgcmVtYWluZWQgc2VwYXJhdGUgaW4gdGhlIGNhc2UgZmlsZSBhbmQgZGFuZ2Vyb3VzIGluIHRoZSB0b3duLiI7fQogaWYoYmFuZD09PSJUaGUgSGF1bnRpbmcgRm9sbG93ZWQiKXtyZXR1cm4gIlRoZSBjYXNlIGVuZGVkIGluc2lkZSBCcmVja2VucmlkZ2UsIGJ1dCBpdHMgdW5yZXNvbHZlZCBzaWducyBkaWQgbm90IHN0YXkgdGhlcmUuIjt9CiByZXR1cm4gIlRoZSBncm91cCBjYXJyaWVkIGF3YXkgcHJvb2YsIHVuYW5zd2VyZWQgcXVlc3Rpb25zLCBhbmQgYSBzdXBlcm5hdHVyYWwgY29zdCB0aGF0IGNvdWxkIG5vdCB5ZXQgYmUgbWVhc3VyZWQuIjsKfTsKCgovKiBCdWlsZCA1LjI3IHByb2JhYmlsaXR5IGFuZCBwYWNpbmcgYmFsYW5jZS4gKi8Kc2V0dXAuaGF1bnRpbmdJbnRlbnNpdHlTZXR0aW5ncyA9IHsKIGxvdzogICAgICB7bGFiZWw6IkxvdyIsIG11bHRpcGxpZXI6MC43MCwgY29vbGRvd25Cb251czoxfSwKIHN0YW5kYXJkOiB7bGFiZWw6IlN0YW5kYXJkIiwgbXVsdGlwbGllcjoxLjAwLCBjb29sZG93bkJvbnVzOjB9LAogaGlnaDogICAgIHtsYWJlbDoiSGlnaCIsIG11bHRpcGxpZXI6MS4yNSwgY29vbGRvd25Cb251czowfQp9OwpzZXR1cC5lbnN1cmVIYXVudGluZ0ludGVuc2l0eSA9IGZ1bmN0aW9uICgpIHsKIHZhciB2PVN0YXRlLnZhcmlhYmxlczsKIGlmICghdi5oYXVudGluZ0ludGVuc2l0eSB8fCAhc2V0dXAuaGF1bnRpbmdJbnRlbnNpdHlTZXR0aW5nc1t2LmhhdW50aW5nSW50ZW5zaXR5XSkgeyB2LmhhdW50aW5nSW50ZW5zaXR5PSJzdGFuZGFyZCI7IH0KIHJldHVybiB2LmhhdW50aW5nSW50ZW5zaXR5Owp9OwpzZXR1cC5oYXVudGluZ0ludGVuc2l0eU11bHRpcGxpZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBzZXR1cC5oYXVudGluZ0ludGVuc2l0eVNldHRpbmdzW3NldHVwLmVuc3VyZUhhdW50aW5nSW50ZW5zaXR5KCldLm11bHRpcGxpZXI7IH07CnNldHVwLmhhdW50aW5nQ29vbGRvd25Cb251cyA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNldHVwLmhhdW50aW5nSW50ZW5zaXR5U2V0dGluZ3Nbc2V0dXAuZW5zdXJlSGF1bnRpbmdJbnRlbnNpdHkoKV0uY29vbGRvd25Cb251czsgfTsKc2V0dXAuY3VycmVudENoYXB0ZXJOdW1iZXIgPSBmdW5jdGlvbiAoKSB7IHZhciBjPU51bWJlcihTdGF0ZS52YXJpYWJsZXMuY2hhcHRlcnx8MCk7IHJldHVybiBpc0Zpbml0ZShjKT9jOjA7IH07CnNldHVwLm1ham9ySGF1bnRpbmdBbGxvd2VkID0gZnVuY3Rpb24gKCkgewogdmFyIHY9U3RhdGUudmFyaWFibGVzOwogaWYgKHNldHVwLmN1cnJlbnRDaGFwdGVyTnVtYmVyKCk+MCAmJiBzZXR1cC5jdXJyZW50Q2hhcHRlck51bWJlcigpPDMpIHsgcmV0dXJuIGZhbHNlOyB9CiBpZiAodi5sb3N0TWludXRlQWN0aXZlfHx2LmJvcnJvd2VkVm9pY2VSb29tQWN0aXZlfHx2Lm1pc3NpbmdBcmNoaXZlQWN0aXZlfHx2LnJvb3RIb3VzZUFjdGl2ZXx8di5hY3RpdmVJbnRlcmFjdGl2ZUhhdW50aW5nKSB7IHJldHVybiBmYWxzZTsgfQogcmV0dXJuIHRydWU7Cn07CnNldHVwLnBhY2luZ0NoYW5jZSA9IGZ1bmN0aW9uIChiYXNlLCBjYXAsIGxvY2F0aW9uKSB7CiB2YXIgY2hhbmNlPWJhc2Uqc2V0dXAuaGF1bnRpbmdJbnRlbnNpdHlNdWx0aXBsaWVyKCk7CiBpZiAobG9jYXRpb24gJiYgc2V0dXAucHJvZmlsZUxvY2F0aW9uTXVsdGlwbGllcikgeyBjaGFuY2UqPXNldHVwLnByb2ZpbGVMb2NhdGlvbk11bHRpcGxpZXIobG9jYXRpb24pOyB9CiByZXR1cm4gTWF0aC5taW4oY2FwLGNoYW5jZSk7Cn07CnNldHVwLmhhdW50aW5nQ2hhbmNlID0gZnVuY3Rpb24gKCkgewogdmFyIHN0YXRlPXNldHVwLmF0dGVudGlvblN0YXRlP3NldHVwLmF0dGVudGlvblN0YXRlKCk6IlVubm90aWNlZCI7CiB2YXIgY2hhbmNlcz17VW5ub3RpY2VkOi4wNixPYnNlcnZlZDouMTAsRm9sbG93ZWQ6LjE0LE1hcmtlZDouMTgsSHVudGVkOi4yM307CiByZXR1cm4gc2V0dXAucGFjaW5nQ2hhbmNlKGNoYW5jZXNbc3RhdGVdfHwuMDYsLjMyKTsKfTsKc2V0dXAuaW50ZXJhY3RpdmVIYXVudGluZ0NoYW5jZSA9IGZ1bmN0aW9uICgpIHsKIGlmICghc2V0dXAubWFqb3JIYXVudGluZ0FsbG93ZWQoKSkgeyByZXR1cm4gMDsgfQogdmFyIHN0YXRlPXNldHVwLmF0dGVudGlvblN0YXRlP3NldHVwLmF0dGVudGlvblN0YXRlKCk6IlVubm90aWNlZCI7CiB2YXIgY2hhbmNlcz17VW5ub3RpY2VkOjAsT2JzZXJ2ZWQ6LjAzNSxGb2xsb3dlZDouMDY1LE1hcmtlZDouMTAsSHVudGVkOi4xNX07CiByZXR1cm4gc2V0dXAucGFjaW5nQ2hhbmNlKGNoYW5jZXNbc3RhdGVdfHwwLC4yMik7Cn07CnNldHVwLmxvc3RNaW51dGVDaGFuY2UgPSBmdW5jdGlvbiAoKSB7CiBpZiAoIXNldHVwLm1ham9ySGF1bnRpbmdBbGxvd2VkKCkpIHsgcmV0dXJuIDA7IH0KIHZhciBzdGF0ZT1zZXR1cC5hdHRlbnRpb25TdGF0ZT9zZXR1cC5hdHRlbnRpb25TdGF0ZSgpOiJVbm5vdGljZWQiOwogdmFyIGNoYW5jZXM9e1Vubm90aWNlZDowLE9ic2VydmVkOjAsRm9sbG93ZWQ6LjAxMixNYXJrZWQ6LjAyNSxIdW50ZWQ6LjA0NX07CiByZXR1cm4gc2V0dXAucGFjaW5nQ2hhbmNlKGNoYW5jZXNbc3RhdGVdfHwwLC4wOCk7Cn07CnNldHVwLmJvcnJvd2VkVm9pY2VSb29tQ2hhbmNlID0gZnVuY3Rpb24gKCkgewogaWYgKCFzZXR1cC5tYWpvckhhdW50aW5nQWxsb3dlZCgpKSB7IHJldHVybiAwOyB9CiB2YXIgc3RhdGU9c2V0dXAuYXR0ZW50aW9uU3RhdGU/c2V0dXAuYXR0ZW50aW9uU3RhdGUoKToiVW5ub3RpY2VkIjsKIHZhciBjaGFuY2VzPXtVbm5vdGljZWQ6MCxPYnNlcnZlZDowLEZvbGxvd2VkOi4wMTgsTWFya2VkOi4wMzUsSHVudGVkOi4wNn07CiByZXR1cm4gc2V0dXAucGFjaW5nQ2hhbmNlKGNoYW5jZXNbc3RhdGVdfHwwLC4wOSk7Cn07CnNldHVwLm1pc3NpbmdBcmNoaXZlQ2hhbmNlID0gc2V0dXAuYm9ycm93ZWRWb2ljZVJvb21DaGFuY2U7CnNldHVwLnJvb3RIb3VzZUNoYW5jZSA9IHNldHVwLmJvcnJvd2VkVm9pY2VSb29tQ2hhbmNlOwpzZXR1cC5oYXVudGluZ1BhY2luZ1N1bW1hcnkgPSBmdW5jdGlvbiAoKSB7CiByZXR1cm4ge2ludGVuc2l0eTpzZXR1cC5lbnN1cmVIYXVudGluZ0ludGVuc2l0eSgpLGF0dGVudGlvbjpzZXR1cC5hdHRlbnRpb25TdGF0ZSgpLGNoYXB0ZXI6c2V0dXAuY3VycmVudENoYXB0ZXJOdW1iZXIoKSxhdG1vc3BoZXJpYzpzZXR1cC5oYXVudGluZ0NoYW5jZSgpLGludGVyYWN0aXZlOnNldHVwLmludGVyYWN0aXZlSGF1bnRpbmdDaGFuY2UoKSxsb3N0TWludXRlOnNldHVwLmxvc3RNaW51dGVDaGFuY2UoKSxwcm9maWxlU2VjcmV0OnNldHVwLmJvcnJvd2VkVm9pY2VSb29tQ2hhbmNlKCksbWFqb3JBbGxvd2VkOnNldHVwLm1ham9ySGF1bnRpbmdBbGxvd2VkKCl9Owp9OwoKCi8qIEJ1aWxkIDUuMjggcmVncmVzc2lvbiBzZWxmLXRlc3QuICovCnNldHVwLnJlZ3Jlc3Npb25SZXF1aXJlZFBhc3NhZ2VzID0gWwogIlN0YXJ0IiwiQ2FzZUZpbGUyIiwiSGlkZGVuUGxhY2VzIiwiSGF1bnRpbmdDb252ZXJnZW5jZSIsIlN1cGVybmF0dXJhbEVuZGluZ0ZvcmVjYXN0IiwKICJIYXVudGluZ0ludGVuc2l0eVNldHRpbmdzIiwiTG9zdE1pbnV0ZUFycml2YWwiLCJWb2ljZVJvb21BcnJpdmFsIiwiTWlzc2luZ0FyY2hpdmVBcnJpdmFsIiwKICJSb290SG91c2VBcnJpdmFsIiwiRW5kaW5nTWF0cml4UmVzdWx0cyIsIlBoYXNlU2l4UmVzdWx0cyIsIkRldkRhc2hib2FyZCIKXTsKc2V0dXAucnVuUmVncmVzc2lvblNlbGZUZXN0ID0gZnVuY3Rpb24gKCkgewogdmFyIHJlcXVpcmVkRnVuY3Rpb25zPVsiYXR0ZW50aW9uU3RhdGUiLCJlbnN1cmVIYXVudGluZ1Byb2ZpbGUiLCJoYXVudGluZ0NoYW5jZSIsImludGVyYWN0aXZlSGF1bnRpbmdDaGFuY2UiLCJsb3N0TWludXRlQ2hhbmNlIiwiaGlkZGVuUGxhY2VSZWNvcmRzIiwic3VwZXJuYXR1cmFsRW5kaW5nTW9kaWZpZXJzIiwiaGF1bnRpbmdBZnRlcmVmZmVjdHMiLCJyZXNvbHV0aW9uQ291bnQiLCJoYXVudGluZ1BhY2luZ1N1bW1hcnkiXTsKIHZhciBtaXNzaW5nUGFzc2FnZXM9c2V0dXAucmVncmVzc2lvblJlcXVpcmVkUGFzc2FnZXMuZmlsdGVyKGZ1bmN0aW9uKG5hbWUpe3JldHVybiAhU3RvcnkuaGFzKG5hbWUpO30pOwogdmFyIG1pc3NpbmdGdW5jdGlvbnM9cmVxdWlyZWRGdW5jdGlvbnMuZmlsdGVyKGZ1bmN0aW9uKG5hbWUpe3JldHVybiB0eXBlb2Ygc2V0dXBbbmFtZV0hPT0iZnVuY3Rpb24iO30pOwogdmFyIGNoZWNrcz17CiAgbWlzc2luZ1Bhc3NhZ2VzOm1pc3NpbmdQYXNzYWdlcywKICBtaXNzaW5nRnVuY3Rpb25zOm1pc3NpbmdGdW5jdGlvbnMsCiAgcHJvZmlsZVByZXNlbnQ6ISFzZXR1cC5lbnN1cmVIYXVudGluZ1Byb2ZpbGUoKSwKICBpbnRlbnNpdHlWYWxpZDohIXNldHVwLmhhdW50aW5nSW50ZW5zaXR5U2V0dGluZ3Nbc2V0dXAuZW5zdXJlSGF1bnRpbmdJbnRlbnNpdHkoKV0sCiAgYXR0ZW50aW9uU3RhdGU6c2V0dXAuYXR0ZW50aW9uU3RhdGUoKSwKICBoaWRkZW5QbGFjZUNvdW50OnNldHVwLmhpZGRlblBsYWNlUmVjb3JkcygpLmxlbmd0aCwKICBlbmRpbmdCYW5kOnNldHVwLnN1cGVybmF0dXJhbEVuZGluZ0JhbmQoKSwKICBhZnRlcmVmZmVjdEFycmF5OkFycmF5LmlzQXJyYXkoc2V0dXAuaGF1bnRpbmdBZnRlcmVmZmVjdHMoKSksCiAgcGFzczptaXNzaW5nUGFzc2FnZXMubGVuZ3RoPT09MCYmbWlzc2luZ0Z1bmN0aW9ucy5sZW5ndGg9PT0wCiB9OwogcmV0dXJuIGNoZWNrczsKfTsKCgovKiBCdWlsZCA1LjI5IGd1aWRlZCB0ZXN0aW5nIHRvb2xzLiAqLwpzZXR1cC50ZXN0aW5nUHJvZmlsZUlkcz1bImdsYXNzIiwidm9pY2VzIiwidGhyZWFkIiwicm9vdHMiXTsKc2V0dXAuc2V0VGVzdGluZ1Byb2ZpbGU9ZnVuY3Rpb24oaWQpe3ZhciBmb3VuZD1zZXR1cC5oYXVudGluZ1Byb2ZpbGVzLmZpbHRlcihmdW5jdGlvbihwKXtyZXR1cm4gcC5pZD09PWlkO30pWzBdO2lmKGZvdW5kKXtTdGF0ZS52YXJpYWJsZXMuaGF1bnRpbmdQcm9maWxlPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZm91bmQpKTt9fTsKc2V0dXAudGVzdGluZ1NldEF0dGVudGlvbj1mdW5jdGlvbih2YWx1ZSl7U3RhdGUudmFyaWFibGVzLndpdGNoQXR0ZW50aW9uPU1hdGgubWF4KDAsTWF0aC5taW4oMTIsTnVtYmVyKHZhbHVlKXx8MCkpO307CnNldHVwLnRlc3RpbmdVbmxvY2tBYmlsaXRpZXM9ZnVuY3Rpb24oKXt2YXIgdj1TdGF0ZS52YXJpYWJsZXM7di5hYmlsaXR5QWR2YW50YWdlcz1bImtldmluLXRpbWUtbG9jYXRpb24iLCJraW1teS1hY3RpdmUtdmVyaWZpY2F0aW9uIiwicnlhbi1hY3RpdmUtcnVsZSJdO3Yua2ltbXlBY3RpdmVWZXJpZmljYXRpb249dHJ1ZTt2LnJ5YW5BY3RpdmVSdWxlPXRydWU7di5zY29vdE5vdGVib29rVW5sb2NrZWQ9dHJ1ZTt9OwpzZXR1cC50ZXN0aW5nVW5sb2NrU3VwZXJuYXR1cmFsRXZpZGVuY2U9ZnVuY3Rpb24oKXt2YXIgdj1TdGF0ZS52YXJpYWJsZXM7di5sb3N0TWludXRlQ29tcGxldGVkPXRydWU7di5sb3N0TWludXRlRnJhZ21lbnQ9dHJ1ZTt2LmJvcnJvd2VkVm9pY2VSb29tQ29tcGxldGVkPXRydWU7di52b2ljZVJvb21GaXJzdENvcHk9dHJ1ZTt2Lm1pc3NpbmdBcmNoaXZlQ29tcGxldGVkPXRydWU7di5taXNzaW5nQXJjaGl2ZUFncmVlbWVudFJlY29yZD10cnVlO3Yucm9vdEhvdXNlQ29tcGxldGVkPXRydWU7di5yb290SG91c2VMZWRnZXJSZWNvdmVyZWQ9dHJ1ZTt9OwpzZXR1cC50ZXN0aW5nQ2xlYXJTdXBlcm5hdHVyYWxTdGF0ZT1mdW5jdGlvbigpe3ZhciB2PVN0YXRlLnZhcmlhYmxlcztbImxvc3RNaW51dGVDb21wbGV0ZWQiLCJsb3N0TWludXRlRnJhZ21lbnQiLCJsb3N0TWludXRlTWFya2VkIiwiYm9ycm93ZWRWb2ljZVJvb21Db21wbGV0ZWQiLCJ2b2ljZVJvb21GaXJzdENvcHkiLCJ2b2ljZVJvb21Gb2xsb3dpbmdWb2ljZSIsIm1pc3NpbmdBcmNoaXZlQ29tcGxldGVkIiwibWlzc2luZ0FyY2hpdmVBZ3JlZW1lbnRSZWNvcmQiLCJtaXNzaW5nQXJjaGl2ZUNhdGFsb2dlZCIsInJvb3RIb3VzZUNvbXBsZXRlZCIsInJvb3RIb3VzZUxlZGdlclJlY292ZXJlZCIsInJvb3RIb3VzZVNlY29uZExpZ2h0Il0uZm9yRWFjaChmdW5jdGlvbihrKXtkZWxldGUgdltrXTt9KTt2LnJlc29sdmVkQWZ0ZXJlZmZlY3RzPVtdO3YuYWZ0ZXJlZmZlY3RSZXNvbHV0aW9uTG9nPVtdO3YucHJvZmlsZVNlY3JldExvZz1bXTt9OwpzZXR1cC50ZXN0aW5nU3VtbWFyeT1mdW5jdGlvbigpe3ZhciB2PVN0YXRlLnZhcmlhYmxlcztyZXR1cm4ge3ZlcnNpb246c2V0dXAuYnVpbGRWZXJzaW9uLHBhc3NhZ2U6U3RhdGUucGFzc2FnZSxjaGFwdGVyOnYuY2hhcHRlcnx8MCxhdHRlbnRpb246c2V0dXAuYXR0ZW50aW9uU3RhdGUoKSxhdHRlbnRpb25WYWx1ZTp2LndpdGNoQXR0ZW50aW9ufHwwLHByb2ZpbGU6c2V0dXAuZW5zdXJlSGF1bnRpbmdQcm9maWxlKCksaW50ZW5zaXR5OnNldHVwLmVuc3VyZUhhdW50aW5nSW50ZW5zaXR5KCksYWJpbGl0aWVzOnYuYWJpbGl0eUFkdmFudGFnZXN8fFtdLGhpZGRlblBsYWNlczpzZXR1cC5oaWRkZW5QbGFjZVJlY29yZHMoKSxlbmRpbmc6c2V0dXAuc3VwZXJuYXR1cmFsRW5kaW5nTW9kaWZpZXJzKCksZW5kaW5nQmFuZDpzZXR1cC5zdXBlcm5hdHVyYWxFbmRpbmdCYW5kKCl9O307CgoKLyogQnVpbGQgNS4zMCBFcGlzb2RlIE9uZSByZWxlYXNlIGNhbmRpZGF0ZS4gKi8Kc2V0dXAucmVsZWFzZUNhbmRpZGF0ZSA9IHsKIGlkOiI1LjMwLjAiLAogbGFiZWw6IkVwaXNvZGUgT25lIEZpbmFsIiwKIGRlYnVnUHJvdGVjdGVkOnRydWUsCiBzYXZlQ29tcGF0aWJpbGl0eToiNS54IGN1bXVsYXRpdmUiLAogc3VwZXJuYXR1cmFsU3lzdGVtc0NvbXBsZXRlOnRydWUKfTsKc2V0dXAucmVsZWFzZVJlYWRpbmVzcyA9IGZ1bmN0aW9uICgpIHsKIHZhciByZXF1aXJlZFBhc3NhZ2VzPVsiU3RhcnQiLCJQcml2YWN5IGFuZCBVc2UgTm90aWNlIiwiQ2FzZUZpbGUyIiwiRW5kaW5nTWF0cml4UmVzdWx0cyIsIkd1aWRlZFRlc3RpbmdEYXNoYm9hcmQiLCJCdWlsZDUyOFJlZ3Jlc3Npb25SZXBvcnQiXTsKIHZhciBtaXNzaW5nPXJlcXVpcmVkUGFzc2FnZXMuZmlsdGVyKGZ1bmN0aW9uKG5hbWUpe3JldHVybiAhU3RvcnkuaGFzKG5hbWUpO30pOwogdmFyIHJlcXVpcmVkRnVuY3Rpb25zPVsicnVuUmVncmVzc2lvblNlbGZUZXN0IiwidGVzdGluZ1N1bW1hcnkiLCJzdXBlcm5hdHVyYWxFbmRpbmdNb2RpZmllcnMiLCJoYXVudGluZ1BhY2luZ1N1bW1hcnkiXTsKIHZhciBtaXNzaW5nRnVuY3Rpb25zPXJlcXVpcmVkRnVuY3Rpb25zLmZpbHRlcihmdW5jdGlvbihuYW1lKXtyZXR1cm4gdHlwZW9mIHNldHVwW25hbWVdIT09ImZ1bmN0aW9uIjt9KTsKIHJldHVybiB7cmVsZWFzZTpzZXR1cC5yZWxlYXNlQ2FuZGlkYXRlLG1pc3NpbmdQYXNzYWdlczptaXNzaW5nLG1pc3NpbmdGdW5jdGlvbnM6bWlzc2luZyxyZWFkeTptaXNzaW5nLmxlbmd0aD09PTAmJm1pc3NpbmdGdW5jdGlvbnMubGVuZ3RoPT09MH07Cn07CgoKLyogQnVpbGQgNS4zMCBSQzIgdGFyZ2V0ZWQgcmVwYWlyLiAqLwpzZXR1cC5yYzJDaGFuZ2VzID0gWyJSZW5hbWVkIHRoZSBwbGF5ZXItZmFjaW5nIERldmVsb3BlciBtZW51IGVudHJ5IHRvIFN0YWZmIEFjY2Vzcy4iLCJSZW1vdmVkIHRoZSBkaXJlY3QgRGV2RGFzaGJvYXJkIHJlZmVyZW5jZSBmcm9tIFN0b3J5TWVudSB3aGlsZSBwcmVzZXJ2aW5nIHRoZSBwYXNzd29yZCBnYXRlLiJdOwoKCi8qIEJ1aWxkIDUuMzAgZmluYWwgcmVsZWFzZS4gKi8Kc2V0dXAuZmluYWxSZWxlYXNlPXtpZDoiNS4zMC4wIixsYWJlbDoiRXBpc29kZSBPbmUgRmluYWwiLHJlbGVhc2VDYW5kaWRhdGVDb21wbGV0ZTp0cnVlLHN0YWZmVG9vbHNQcm90ZWN0ZWQ6dHJ1ZX07CgoKLyogQnVpbGQgNS4zMS4xIEVwaXNvZGUgT25lIGRlZmluaXRpdmUgYmFkZ2UgcmVwYWlyLiAqLwpzZXR1cC5iYWRnZUNhdGFsb2c9Wwp7aWQ6InBhdHRlcm4tc2Vla2VyIix0aXRsZToiUGF0dGVybiBTZWVrZXIiLHRpZXI6ImludmVzdGlnYXRpdmUiLGhpbnQ6Ik5vdGljZSBhdCBsZWFzdCBmaXZlIHVuZXhwbGFpbmVkIGV2ZW50cy4ifSwKe2lkOiJzaXgtcGV0YWxlZC1zZWNyZXQiLHRpdGxlOiJTaXgtUGV0YWxlZCBTZWNyZXQiLHRpZXI6ImludmVzdGlnYXRpdmUiLGhpbnQ6IkRpc2NvdmVyIHRoZSBwcm90ZWN0aXZlIHNpeC1wZXRhbGVkIG1hcmsuIn0sCntpZDoibnVtYmVyLXJldHVybnMiLHRpdGxlOiJUaGUgTnVtYmVyIFJldHVybnMiLHRpZXI6ImludmVzdGlnYXRpdmUiLGhpbnQ6Ik5vdGljZSB0aGUgcmVwZWF0ZWQgUm9tYW4gbnVtZXJhbC4ifSwKe2lkOiJydWxlcy1tYXR0ZXIiLHRpdGxlOiJSdWxlcyBNYXR0ZXIiLHRpZXI6ImludmVzdGlnYXRpdmUiLGhpbnQ6IlJlY29yZCBhdCBsZWFzdCB0aHJlZSBvZiBSeWFuJ3MgcnVsZXMuIn0sCntpZDoiY2hlY2stZmFjdHMiLHRpdGxlOiJDaGVjayB0aGUgRmFjdHMiLHRpZXI6ImludmVzdGlnYXRpdmUiLGhpbnQ6IlJlY29yZCBhdCBsZWFzdCB0aHJlZSBvZiBLaW1teSdzIHZlcmlmaWVkIGZhY3RzLiJ9LAp7aWQ6IndyaXRlLWl0LWRvd24iLHRpdGxlOiJXcml0ZSBJdCBEb3duIix0aWVyOiJpbnZlc3RpZ2F0aXZlIixoaW50OiJSZWNvcmQgYXQgbGVhc3QgdGhyZWUgb2YgU2Nvb3QncyBub3RlYm9vayBlbnRyaWVzLiJ9LAp7aWQ6ImV2ZXJ5b25lLXBpZWNlIix0aXRsZToiRXZlcnlvbmUgSGFzIGEgUGllY2UiLHRpZXI6ImludmVzdGlnYXRpdmUiLGhpbnQ6IkJyaW5nIHRoZSBmb3VyIGludmVzdGlnYXRvcnMgdG9nZXRoZXIuIn0sCntpZDoiY2FzZS1vbmUiLHRpdGxlOiJDYXNlIE9uZSIsdGllcjoiaW52ZXN0aWdhdGl2ZSIsaGludDoiQ29tcGxldGUgRXBpc29kZSBPbmUuIn0sCntpZDoiY2FyZWZ1bC1pbnZlc3RpZ2F0b3IiLHRpdGxlOiJDYXJlZnVsIEludmVzdGlnYXRvciIsdGllcjoiYWR2YW5jZWQiLGhpbnQ6IkNvbGxlY3QgZWlnaHQgY2x1ZXMgYmVmb3JlIHRoZSBncm91cCB1bml0ZXMuIn0sCntpZDoiY2x1ZS1rZWVwZXIiLHRpdGxlOiJDbHVlIEtlZXBlciIsdGllcjoiYWR2YW5jZWQiLGhpbnQ6IkJ1aWxkIGEgbGFyZ2Ugc2hhcmVkIGV2aWRlbmNlIGNvbGxlY3Rpb24uIn0sCntpZDoicGF0dGVybi1tYXN0ZXIiLHRpdGxlOiJQYXR0ZXJuIE1hc3RlciIsdGllcjoiYWR2YW5jZWQiLGhpbnQ6Ik5vdGljZSBhdCBsZWFzdCB0ZW4gdW5leHBsYWluZWQgZXZlbnRzLiJ9LAp7aWQ6ImNvbXBsZXRlLWZpbGUiLHRpdGxlOiJDb21wbGV0ZSBDYXNlIEZpbGUiLHRpZXI6ImFkdmFuY2VkIixoaW50OiJFYXJuIGFsbCBlaWdodCBJbnZlc3RpZ2F0aXZlIGJhZGdlcy4ifSwKe2lkOiJob3VzZS1yZW1lbWJlcnMiLHRpdGxlOiJUaGUgSG91c2UgUmVtZW1iZXJzIix0aWVyOiJoaWRkZW4iLGhpbnQ6IkEgc2VjcmV0IGNvbm5lY3Rpb24gdG8gdGhlIFdpbmNoZXN0ZXIgaG91c2Ugd2FpdHMgdG8gYmUgdW5jb3ZlcmVkLiJ9LAp7aWQ6InRocmVlLWtub2NrcyIsdGl0bGU6IlRocmVlIEtub2NrcyIsdGllcjoiaGlkZGVuIixoaW50OiJDb25uZWN0IGEgcmVwZWF0ZWQgc2lnbmFsIHRvIEx1Y2lsbGUuIn0sCntpZDoid2F0Y2hlZC13b29kcyIsdGl0bGU6IldhdGNoZWQgZnJvbSB0aGUgV29vZHMiLHRpZXI6ImhpZGRlbiIsaGludDoiTm90aWNlIHRoZSBoaWRkZW4gd2F0Y2hlciBuZWFyIHRoZSB0cmVlcy4ifSwKe2lkOiJuZXZlci1sZWZ0Iix0aXRsZToiVGhleSBOZXZlciBMZWZ0Iix0aWVyOiJoaWRkZW4iLGhpbnQ6IlVuY292ZXIgYSB3YXJuaW5nIGZyb20gQnJlY2tlbnJpZGdlJ3MgcGFzdC4ifQpdOwpzZXR1cC5iYWRnZUJ5SWQ9ZnVuY3Rpb24oaWQpe3JldHVybiBzZXR1cC5iYWRnZUNhdGFsb2cuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiBiLmlkPT09aWQ7fSlbMF18fG51bGw7fTsKc2V0dXAuYmFkZ2VzRm9yVGllcj1mdW5jdGlvbih0aWVyKXtyZXR1cm4gc2V0dXAuYmFkZ2VDYXRhbG9nLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gYi50aWVyPT09dGllcjt9KTt9OwpzZXR1cC5lYXJuZWRCYWRnZUlkcz1mdW5jdGlvbigpe3ZhciB2PVN0YXRlLnZhcmlhYmxlcztpZighQXJyYXkuaXNBcnJheSh2LmVhcm5lZEJhZGdlSWRzKSl7di5lYXJuZWRCYWRnZUlkcz1bXTt9cmV0dXJuIHYuZWFybmVkQmFkZ2VJZHM7fTsKc2V0dXAucHVzaEJhZGdlPWZ1bmN0aW9uKGlkKXt2YXIgaWRzPXNldHVwLmVhcm5lZEJhZGdlSWRzKCk7aWYoaWRzLmluZGV4T2YoaWQpPT09LTEpe2lkcy5wdXNoKGlkKTt9cmV0dXJuIGlkczt9OwpzZXR1cC5zeW5jRXBpc29kZU9uZUJhZGdlcz1mdW5jdGlvbigpe3ZhciB2PVN0YXRlLnZhcmlhYmxlcyxpZHM9c2V0dXAuZWFybmVkQmFkZ2VJZHMoKTtmdW5jdGlvbiBhd2FyZChvayxpZCl7aWYob2smJmlkcy5pbmRleE9mKGlkKT09PS0xKXtpZHMucHVzaChpZCk7fX1hd2FyZChOdW1iZXIodi5wYXR0ZXJuQ291bnR8fDApPj01LCJwYXR0ZXJuLXNlZWtlciIpO2F3YXJkKCEhdi5mb3VuZEJhbmlzdGVySGV4YWZvaWwsInNpeC1wZXRhbGVkLXNlY3JldCIpO2F3YXJkKCEhdi5ub3RpY2VkUm9tYW5YSXx8ISF2Lm5vdGljZWRSb21hbklJLCJudW1iZXItcmV0dXJucyIpO2F3YXJkKEFycmF5LmlzQXJyYXkodi5yeWFuUnVsZXMpJiZ2LnJ5YW5SdWxlcy5sZW5ndGg+PTMsInJ1bGVzLW1hdHRlciIpO2F3YXJkKEFycmF5LmlzQXJyYXkodi5raW1teUZhY3RzKSYmdi5raW1teUZhY3RzLmxlbmd0aD49MywiY2hlY2stZmFjdHMiKTthd2FyZChBcnJheS5pc0FycmF5KHYuc2Nvb3ROb3RlYm9va0VudHJpZXMpJiZ2LnNjb290Tm90ZWJvb2tFbnRyaWVzLmxlbmd0aD49Mywid3JpdGUtaXQtZG93biIpO2F3YXJkKCEhdi5ncm91cFVuaXRlZCwiZXZlcnlvbmUtcGllY2UiKTthd2FyZCghIXYuY2hhcHRlcjZDb21wbGV0ZSwiY2FzZS1vbmUiKTthd2FyZChBcnJheS5pc0FycmF5KHYucGxheWVyQ2x1ZXMpJiZ2LnBsYXllckNsdWVzLmxlbmd0aD49OCYmIXYuZ3JvdXBVbml0ZWQsImNhcmVmdWwtaW52ZXN0aWdhdG9yIik7YXdhcmQoQXJyYXkuaXNBcnJheSh2Lmdyb3VwU2hhcmVkRXZpZGVuY2UpJiZ2Lmdyb3VwU2hhcmVkRXZpZGVuY2UubGVuZ3RoPj04LCJjbHVlLWtlZXBlciIpO2F3YXJkKE51bWJlcih2LnBhdHRlcm5Db3VudHx8MCk+PTEwLCJwYXR0ZXJuLW1hc3RlciIpO3ZhciBzdGFuZGFyZD1zZXR1cC5iYWRnZXNGb3JUaWVyKCJpbnZlc3RpZ2F0aXZlIik7YXdhcmQoc3RhbmRhcmQuZXZlcnkoZnVuY3Rpb24oYil7cmV0dXJuIGlkcy5pbmRleE9mKGIuaWQpIT09LTE7fSksImNvbXBsZXRlLWZpbGUiKTtyZXR1cm4gaWRzO307CnNldHVwLmJhZGdlQ2FiaW5ldFN1bW1hcnk9ZnVuY3Rpb24oKXtzZXR1cC5zeW5jRXBpc29kZU9uZUJhZGdlcygpO3ZhciBpZHM9c2V0dXAuZWFybmVkQmFkZ2VJZHMoKTtmdW5jdGlvbiBjb3VudCh0KXtyZXR1cm4gc2V0dXAuYmFkZ2VzRm9yVGllcih0KS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGlkcy5pbmRleE9mKGIuaWQpIT09LTE7fSkubGVuZ3RoO31yZXR1cm4ge2Vhcm5lZDppZHMuc2xpY2UoKSxlYXJuZWRDb3VudDppZHMubGVuZ3RoLHRvdGFsRGVmaW5lZDpzZXR1cC5iYWRnZUNhdGFsb2cubGVuZ3RoLGludmVzdGlnYXRpdmU6e2Vhcm5lZDpjb3VudCgiaW52ZXN0aWdhdGl2ZSIpLGRlZmluZWQ6c2V0dXAuYmFkZ2VzRm9yVGllcigiaW52ZXN0aWdhdGl2ZSIpLmxlbmd0aH0sYWR2YW5jZWQ6e2Vhcm5lZDpjb3VudCgiYWR2YW5jZWQiKSxkZWZpbmVkOnNldHVwLmJhZGdlc0ZvclRpZXIoImFkdmFuY2VkIikubGVuZ3RofSxoaWRkZW46e2Vhcm5lZDpjb3VudCgiaGlkZGVuIiksZGVmaW5lZDpzZXR1cC5iYWRnZXNGb3JUaWVyKCJoaWRkZW4iKS5sZW5ndGh9fTt9OwpzZXR1cC5iYWRnZUF1ZGl0PWZ1bmN0aW9uKCl7dmFyIGlkcz1zZXR1cC5iYWRnZUNhdGFsb2cubWFwKGZ1bmN0aW9uKGIpe3JldHVybiBiLmlkO30pO3JldHVybiB7Y2F0YWxvZ0NvdW50Omlkcy5sZW5ndGgsZHVwbGljYXRlSWRzOmlkcy5maWx0ZXIoZnVuY3Rpb24oaWQsaSl7cmV0dXJuIGlkcy5pbmRleE9mKGlkKSE9PWk7fSksc3VtbWFyeTpzZXR1cC5iYWRnZUNhYmluZXRTdW1tYXJ5KCksY2F0YWxvZzpzZXR1cC5iYWRnZUNhdGFsb2d9O307Cjwvc2NyaXB0Pjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEiIG5hbWU9IlN0YXJ0IiB0YWdzPSIiIHBvc2l0aW9uPSI2MDAsNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcG9ydGFsLXN0YWdlJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7QW4gaW52ZXN0aWdhdG9yJiMzOTtzIGRlc2sgb3Zlcmxvb2tpbmcgbW9vbmxpdCBCcmVja2VucmlkZ2UmcXVvdDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcG9ydGFsLWF0bW9zcGhlcmUmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7aSBjbGFzcz0mcXVvdDtmb2cgZm9nLWEmcXVvdDsmZ3Q7Jmx0Oy9pJmd0OyZsdDtpIGNsYXNzPSZxdW90O2ZvZyBmb2ctYiZxdW90OyZndDsmbHQ7L2kmZ3Q7Jmx0O2kgY2xhc3M9JnF1b3Q7cmluZy1nbG93IGdsb3ctcHVycGxlJnF1b3Q7Jmd0OyZsdDsvaSZndDsmbHQ7aSBjbGFzcz0mcXVvdDtyaW5nLWdsb3cgZ2xvdy1ncmVlbiZxdW90OyZndDsmbHQ7L2kmZ3Q7Jmx0O2kgY2xhc3M9JnF1b3Q7cmluZy1nbG93IGdsb3ctcmVkJnF1b3Q7Jmd0OyZsdDsvaSZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zdGFydC1zY3JlZW4mcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXN0YXJ0LWJhbm5lciZxdW90OyZndDsKCQkmbHQ7aW1nCgkJCXNyYz0mcXVvdDtpbWFnZXMvZmJiYW5uZXIyLmpwZyZxdW90OwoJCQlhbHQ9JnF1b3Q7QSBtb29ubGl0IG9sZCBob3VzZSBiZXNpZGUgYSBmb2dneSByb2FkIGluIHRoZSB3b29kcyZxdW90OwoJCSZndDsKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhbm5lci1zaGFkZSZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwoJCSZsdDsvZGl2Jmd0OwoKCSZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O2JtLXN0YXJ0LWNhc2UtZmlsZSZxdW90OyBhcmlhLWxhYmVsbGVkYnk9JnF1b3Q7Ym0tc3RhcnQtdGl0bGUmcXVvdDsmZ3Q7CgkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zdGFydC1zZXJpZXMmcXVvdDsmZ3Q7CgkJCUJyZWNrZW5yaWRnZSBNeXN0ZXJpZXMKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2gxIGlkPSZxdW90O2JtLXN0YXJ0LXRpdGxlJnF1b3Q7IGNsYXNzPSZxdW90O2JtLXN0YXJ0LXRpdGxlJnF1b3Q7Jmd0OwoJCQlUaGUgUmV0dXJuIG9mIHRoZSBCbGFja3dvb2QgV2l0Y2gKCQkmbHQ7L2gxJmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXN0YXJ0LWRhdGUmcXVvdDsmZ3Q7CgkJCUEgTXlzdGVyeSBCZWdpbm5pbmcgU2VwdGVtYmVyIDUsIDE5NzgKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O3AgY2xhc3M9JnF1b3Q7Ym0tc3RhcnQtdGFnbGluZSZxdW90OyZndDsKCQkJVGhlIGhvdXNlIHJlbWVtYmVycyB3aGF0IGV2ZXJ5b25lIGVsc2UgaGFzIGZvcmdvdHRlbi4KCQkmbHQ7L3AmZ3Q7CgoJCSZsdDtwIGNsYXNzPSZxdW90O2JtLXN0YXJ0LWRlc2NyaXB0aW9uJnF1b3Q7Jmd0OwoJCQlGb2xsb3cgZm91ciB5b3VuZyBpbnZlc3RpZ2F0b3JzIHRocm91Z2ggYSBzdHJhbmdlIGZpcnN0IGRheQoJCQlvZiBzY2hvb2wuIFNlYXJjaCBmb3IgY2x1ZXMsIGNvbXBhcmUgd2hhdCBlYWNoIGNoYXJhY3RlcgoJCQlkaXNjb3ZlcnMsIGFuZCBkZWNpZGUgd2hpY2ggZGV0YWlscyBkZXNlcnZlIGFub3RoZXIgbG9vay4KCQkmbHQ7L3AmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc3RhcnQtbm90ZSZxdW90OyZndDsKCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tbm90ZS1waW4mcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L3NwYW4mZ3Q7CgkJCSZsdDtzdHJvbmcmZ3Q7WW91ciBjaG9pY2VzIG1hdHRlci4mbHQ7L3N0cm9uZyZndDsKCQkJU29tZSBjbHVlcyBhcmUgZWFzeSB0byBmaW5kLiBPdGhlcnMgbWF5IHJlbWFpbiBoaWRkZW4uCgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc3RhcnQtYWN0aW9ucyZxdW90OyZndDsKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zdGFydC1wcmltYXJ5JnF1b3Q7Jmd0OwoJCQkJW1tFbnRlciBCcmVja2VucmlkZ2UtJmd0O0ludHJvZHVjdGlvbl1dCgkJCQkmbHQ7c3BhbiZndDtCZWdpbiBhIG5ldyBteXN0ZXJ5Jmx0Oy9zcGFuJmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc3RhcnQtc2Vjb25kYXJ5JnF1b3Q7Jmd0OwoJCQkJJmx0OyZsdDtsaW5rICZxdW90O0NvbnRpbnVlIHRoZSBNeXN0ZXJ5JnF1b3Q7Jmd0OyZndDsKCQkJCQkmbHQ7Jmx0O3J1biBVSS5zYXZlcygpJmd0OyZndDsKCQkJCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJCQkJJmx0O3NwYW4mZ3Q7T3BlbiBhIHNhdmVkIGNhc2UmbHQ7L3NwYW4mZ3Q7CgkJCSZsdDsvZGl2Jmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXN0YXJ0LXRvb2xzJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7R2FtZSBpbmZvcm1hdGlvbiZxdW90OyZndDsKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zdGFydC10b29sJnF1b3Q7Jmd0OwoJCQkJJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdG9vbC1pY29uJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7PyZsdDsvc3BhbiZndDsKCQkJCVtbSG93IHRvIFBsYXktJmd0O0hvdyB0byBQbGF5IE9wZW5pbmddXQoJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc3RhcnQtdG9vbCZxdW90OyZndDsKCQkJCSZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRvb2wtaWNvbiZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0O+KamSZsdDsvc3BhbiZndDsKCQkJCSZsdDsmbHQ7bGluayAmcXVvdDtSZWFkaW5nIFNldHRpbmdzJnF1b3Q7Jmd0OyZndDsKCQkJCQkmbHQ7Jmx0O3J1biBVSS5zZXR0aW5ncygpJmd0OyZndDsKCQkJCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJCQkmbHQ7L2RpdiZndDsKCQkmbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc3RhcnQtZm9vdGVyJnF1b3Q7Jmd0OwogICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tc3RhcnQtZm9vdGVyLXByZWZpeCZxdW90OyZndDtBbiBpbnRlcmFjdGl2ZSBteXN0ZXJ5IGluc3BpcmVkIGJ5OiZsdDsvc3BhbiZndDsKICAgICZsdDthIGNsYXNzPSZxdW90O2JtLXN0YXJ0LWJvb2stbGluayZxdW90OwogICAgICAgaHJlZj0mcXVvdDtodHRwczovL2Ftem4udG8vNGRnN0ZGSSZxdW90OwogICAgICAgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OwogICAgICAgcmVsPSZxdW90O25vb3BlbmVyIG5vcmVmZXJyZXImcXVvdDsKICAgICAgIHRpdGxlPSZxdW90O09wZW4gQm9vayBPbmUgb24gQW1hem9uIGluIGEgbmV3IHRhYiZxdW90OyZndDsmbHQ7YnImZ3Q7Qm9vayBPbmUgb2YgdGhlIEJyZWNrZW5yaWRnZSBNeXN0ZXJpZXMgc2VyaWVzOiBUaGUgUmV0dXJuIG9mIHRoZSBCbGFja3dvb2QgV2l0Y2gmbHQ7L2EmZ3Q7CiZsdDsvZGl2Jmd0OwoKCgkmbHQ7L3NlY3Rpb24mZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKJmx0OyZsdDsvbm9iciZndDsmZ3Q7XG4mbHQ7ZGl2IGNsYXNzPSZxdW90O3JlbGVhc2UtY2FuZGlkYXRlLWxhYmVsJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7UmVsZWFzZSB2ZXJzaW9uJnF1b3Q7Jmd0O0VwaXNvZGUgT25lIMK3IEJ1aWxkIDUuMzAmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIiIG5hbWU9IlN0b3J5SW5pdCIgdGFncz0iIiBwb3NpdGlvbj0iOTI1LDMyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGdhbWVWZXJzaW9uID0gJnF1b3Q7MS4xMC4yMS4yNi4xJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGJ1aWxkTGFiZWwgPSAmcXVvdDtCZXRhIEJ1aWxkJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGJ1aWxkRGF0ZSA9ICZxdW90O09jdG9iZXIgMjEsIDIwMjYmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYnVpbGRQbGF0Zm9ybSA9ICZxdW90O1R3aW5lIC8gU3VnYXJDdWJlJnF1b3Q7Jmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRlcGlzb2RlID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRwb3YgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRwbGF5ZXJDbHVlcyA9IFtdJmd0OyZndDsKJmx0OyZsdDtzZXQgJHNoYXJlZENsdWVzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2hhcmVkSW52ZW50b3J5ID0gW10mZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGtub3dsZWRnZSA9IHsKCUtldmluOiBbXSwKCUFiYmllOiBbXSwKCVJ5YW46IFtdLAoJU2Nvb3Q6IFtdLAoJQXNodG9uOiBbXSwKCUthdGhlcmluZTogW10sCglLaW1teTogW10sCglFZGRpZTogW10KfSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkaW52ZW50b3J5ID0gewoJS2V2aW46IFsmcXVvdDtEaWdpdGFsIHdhdGNoJnF1b3Q7LCAmcXVvdDtCYWNrcGFjayZxdW90O10sCglBYmJpZTogWyZxdW90O0JhY2twYWNrJnF1b3Q7XSwKCVJ5YW46IFsmcXVvdDtSZWQgU294IGhlbG1ldCZxdW90O10sCglTY29vdDogWyZxdW90O1BvZXRyeSBub3RlYm9vayZxdW90O10sCglBc2h0b246IFsmcXVvdDtQYWxhZGluIGJyaWVmY2FzZSZxdW90OywgJnF1b3Q7Q29mZmVlIG11ZyZxdW90O10sCglLYXRoZXJpbmU6IFtdLAoJS2ltbXk6IFsmcXVvdDtSZXBvcnRlciYjMzk7cyBjYXNlJnF1b3Q7XSwKCUVkZGllOiBbXSwKCUdyb3VwOiBbXQp9Jmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzID0gewoJS2V2aW5BYmJpZTogMCwKCUtldmluUnlhbjogMCwKCUtldmluU2Nvb3Q6IDAsCglLZXZpbktpbW15OiAwLAoJUnlhblNjb290OiAyLAoJUnlhbktpbW15OiAwLAoJR3JvdXBUcnVzdDogMAp9Jmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoID0gewoJb2JzZXJ2ZTogMCwKCXByZXBhcmU6IDAsCgljb25uZWN0OiAwLAoJYXZvaWQ6IDAsCglhY3Q6IDAKfSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkcGF0dGVybkNvdW50ID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRwYXR0ZXJuRXZlbnRzID0gW10mZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGtldmluVG9sZEFiYmllID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TYXdIYWxsd2F5RmlndXJlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5FeGFtaW5lZEhhbGx3YXkgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpblJlY29yZGVkQ2x1ZXMgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkhhc015c3RlcnlOb3RlcyA9IGZhbHNlJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRzYXdMYW1wRmxpY2tlciA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGZlbHRDb2xkQWlyID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbm90aWNlZEZyb3plblRpbWUgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRmb3VuZE1pc3NpbmdQaG90byA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG5vdGljZWRSb21hblhJID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkaW52ZXN0aWdhdGVkQ2xvc2V0ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZm91bmRXZXRGb290cHJpbnQgPSBmYWxzZSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkdHV0b3JpYWxTZWVuID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc3RvcnlTdGFydGVkID0gZmFsc2UmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGV4YW1pbmVkRW1wdHlGcmFtZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHNlYXJjaGVkRm9yUGhvdG8gPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRleGFtaW5lZFN0YWlyY2FzZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGNhbGxlZEFiYmllVG9GcmFtZSA9IGZhbHNlJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRoYWxsd2F5RmlndXJlQ29uZmlybWVkID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkaGFsbHdheUZpZ3VyZVVuY2VydGFpbiA9IGZhbHNlJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRmb3VuZE9sZEJ1dHRvbiA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGJ1dHRvblRoZW9yeSA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkaW5zcGVjdGVkRWxldmVudGhTdGVwID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY2hlY2tlZEhhbGx3YXlDbG9zZXQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsaXN0ZW5lZE5lYXJTdGFpcnMgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsZWZ0U3RhaXJzQWxvbmUgPSBmYWxzZSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAka2V2aW5MZWZ0SW52ZXN0aWdhdGlvbkVhcmx5ID0gZmFsc2UmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaCA9IHsKCW9ic2VydmU6IDAsCglwcmVwYXJlOiAwLAoJY29ubmVjdDogMCwKCWF2b2lkOiAwLAoJYWN0OiAwCn0mZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJHJ5YW5UaHJlYXRzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhblJ1bGVzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbkV2aWRlbmNlID0gW10mZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJHJ5YW5TdHVkaWVkU2VjcmV0YXJ5ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbk5vdGljZWRHcmVlblJpbmcgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuTm90aWNlZERvb3JCb3VuZGFyeSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5UZXN0ZWREb29yQm91bmRhcnkgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuUmV0cmlldmVkQXBwbGUgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuQ29ycmVjdGVkU2VjcmV0YXJ5ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhblJlbW92ZWRIZWxtZXQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuRXhwbGFpbmVkQmFja0Rvb3IgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuTWVudGlvbmVkQmF0aHJvb20gPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuT2JzZXJ2ZWRBbWFyYWwgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuSGVhcmRFdmVyeXdoZXJlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbkFjY2VwdGVkU2VjcmV0YXJ5V2FybmluZyA9IGZhbHNlJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRyeWFuVGVzdGVkQ2hhaXIgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuQXNrZWRBYm91dEFtYXJhbCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5SZWZ1c2VkVG9TaXQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuQmF0aHJvb21UaGVvcnkgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbk5vdGljZWRUaHJlZVNuYXBzID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhblF1ZXN0aW9uZWRFdmVyeXdoZXJlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcnlhbldhdGNoZWRBbWFyYWxMZWF2ZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5Bc2tlZFNlY3JldGFyeUFib3V0UnVsZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5DaGFwdGVyQ29tcGxldGUgPSBmYWxzZSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkZm91bmREb29yZnJhbWVIZXhhZm9pbCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG5vdGljZWRSb21hbklJID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TYXdUcmVlRmlndXJlID0gZmFsc2UmZ3Q7Jmd0OwoKLyogQ2hhcHRlciAzIHN0YXRlICovCgombHQ7Jmx0O3NldCAkYWJiaWVUb3VjaGVkT3JhbmdlQ2F0ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY2hhcHRlcjNDb21wbGV0ZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluQXNrZWRBYmJpZUFib3V0Q2F0ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5Bc2tlZEFib3V0U2Nob29sR2lybCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluQXZvaWRlZEJ1c0ZhY2UgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkF2b2lkZWRDcmFja3MgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkNoZWNrZWRXYXRjaEFnYWluID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5FbmRlZFNjaG9vbFNvbmcgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkV4YW1pbmVkQ2F0VGFnID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5Gb2xsb3dlZEFiYmllQ3JhY2tzID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5Gb2xsb3dlZEJ1cyA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluSWdub3JlZENyYWNrcyA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluTGVmdENhdENvbGxhciA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluTmFtZWRNeXN0ZXJ5ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5QZXJmb3JtZWRBdFNjaG9vbCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluUXVlc3Rpb25lZENyYWNrUnVsZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluUmV0cmlldmVkQ2F0Q29sbGFyID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TYXdCdXNGYWNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TdHVkaWVkQ2F0Q29sbGFyID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5UZXN0ZWRDYXRUcmVlQ29ubmVjdGlvbiA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluV2F0Y2hlZFNjaG9vbEZlbmNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb3JhbmdlQ2F0U2VlbiA9IGZhbHNlJmd0OyZndDsKCi8qKioqKiBDaGFwdGVyIDQ6IEtpbW15IHN0YXRlICoqKioqLwombHQ7Jmx0O3NldCAkY2hhcHRlcjRDb21wbGV0ZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtpbW15TGVhZHMgPSBbXSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teUZhY3RzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlTb3VyY2VzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlVbnZlcmlmaWVkID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaCA9IHsKCW9ic2VydmU6IDAsCgl2ZXJpZnk6IDAsCglpbnRlcnZpZXc6IDAsCglyZXNlYXJjaDogMCwKCWFjdDogMAp9Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtpbW15VGhlb3J5ID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtpbW15TGVhZFJvdXRlID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtpbW15T3BlbmVkUmVwb3J0ZXJDYXNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlJbnRlcnZpZXdlZFN0dWRlbnQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teVNlYXJjaGVkQXJjaGl2ZXMgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teUV4YW1pbmVkSGFsbHdheSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtpbW15Rm91bmRPbGRQaG90b2dyYXBoID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlGb3VuZEhpc3RvcmljYWxTeW1ib2wgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teUZvdW5kQmxhY2t3b29kUmVmZXJlbmNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlOb3RpY2VkQ2hhbmdlZFBob3RvZ3JhcGggPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teUhlYXJkV3JvbmdCZWxsID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlSZWNvcmRlZEV2aWRlbmNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlQcm90ZWN0ZWRTb3VyY2UgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRraW1teUNoYXB0ZXJDbHVlcyA9IDAmZ3Q7Jmd0OwoKLyoqKioqIENoYXB0ZXIgNTogU2Nvb3Qgc3RhdGUgKioqKiovCiZsdDsmbHQ7c2V0ICRjaGFwdGVyNUNvbXBsZXRlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RJbnN0aW5jdCA9IDAmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RPYnNlcnZhdGlvbnMgPSBbXSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdE5vdGVib29rRW50cmllcyA9IFtdJmd0OyZndDsKJmx0OyZsdDtzZXQgJHNjb290RG91YnRzRGlzbWlzc2VkID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoID0gewoJb2JzZXJ2ZTogMCwKCXJlY29yZDogMCwKCXRlc3Q6IDAsCgljb25uZWN0OiAwLAoJYXZvaWQ6IDAKfSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdENoZWNrZWRGYWNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3ROb3RpY2VkV3JvbmdTaGFkb3cgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFRlc3RlZENsYXNzcm9vbUxpZ2h0ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RNb3ZlZERlc2sgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFJlY29yZGVkU2hhZG93ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RJZ25vcmVkU2hhZG93ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3ROb3RlYm9va0NoYW5nZWQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdEZvdW5kSGV4YWZvaWwgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFNhd0ZvdXJSZWZsZWN0aW9ucyA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHNjb290U2F3RmlmdGhGaWd1cmUgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFRvbGRSeWFuQWJvdXRTaGFkb3cgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdEJlbGlldmVkUnlhbiA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHNjb290QXNrZWRSeWFuRm9yRXZpZGVuY2UgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFByb3RlY3RlZE5vdGVib29rID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RDaGFwdGVyUm91dGUgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGNoYXB0ZXI2Q29tcGxldGUgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRncm91cFVuaXRlZCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGdyb3VwU2hhcmVkRXZpZGVuY2UgPSBbXSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRncm91cENvbmZpcm1lZENvbm5lY3Rpb25zID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZ3JvdXBUaGVvcnkgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZ3JvdXBGaXJzdEV2aWRlbmNlID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGdyb3VwQ29tcGFyZWRIZXhhZm9pbHMgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRncm91cENvbXBhcmVkTnVtYmVycyA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGdyb3VwQ29tcGFyZWRQaG90b2dyYXBocyA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGdyb3VwQ29tcGFyZWRCb3VuZGFyaWVzID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZ3JvdXBDb25uZWN0ZWRMdWNpbGxlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZ3JvdXBDb25uZWN0ZWRXaW5jaGVzdGVySG91c2UgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRncm91cERpc2NvdmVyZWRXaXRjaEV2aWRlbmNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZ3JvdXBOZWVkc01yQXNodG9uID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5MZWRJbnZlc3RpZ2F0aW9uID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TaGFyZWRIb3VzZUV2aWRlbmNlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5SZWNvZ25pemVkR3JvdXBQYXR0ZXJuID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5Qcm90ZWN0ZWRHcm91cCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluTmFtZWRXaXRjaFRoZW9yeSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGNoYXB0ZXI2Q2xpZmZoYW5nZXJTZWVuID0gZmFsc2UmZ3Q7Jmd0OwoKLyogQWRkIHRoZXNlIGxpbmVzIG5lYXIgdGhlIGVuZCBvZiBTdG9yeUluaXQuICovCgombHQ7Jmx0O3NldCAkZWFybmVkQmFkZ2VJZHMgPSBbXSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsYXRlc3RCYWRnZUlkID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGxhdGVzdEJhZGdlTmFtZSA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkcm9tYW5BbnN3ZXIgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYXJjaGl2ZUFuc3dlciA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzdGFpckFuc3dlciA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyb21hblB1enpsZVNvbHZlZCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGFyY2hpdmVQdXp6bGVTb2x2ZWQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzdGFpclB1enpsZVNvbHZlZCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHB1enpsZU1pc3Rha2VzID0gMCZndDsmZ3Q7CgombHQ7Jmx0O3NldCAka2V2aW5BYmlsaXR5ID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5BYmlsaXR5ID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtpbW15QWJpbGl0eSA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdEFiaWxpdHkgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkZGVkdWN0aW9uU2NvcmUgPSAwJmd0OyZndDsKJmx0OyZsdDtzZXQgJGRlZHVjdGlvbkNvbXBsZXRlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkaW52ZXN0aWdhdGlvblJvdXRlID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJHJvdXRlQ2x1ZSA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRncm91cFRoZW9yeVN0cmVuZ3RoID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvcHRpb25hbENsdWVzID0gW10mZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGtldmluT3B0aW9uYWxGb3VuZCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5PcHRpb25hbEZvdW5kID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlPcHRpb25hbEZvdW5kID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RPcHRpb25hbEZvdW5kID0gZmFsc2UmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGtldmluUGF5b2ZmU2VlbiA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5QYXlvZmZTZWVuID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlQYXlvZmZTZWVuID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3RQYXlvZmZTZWVuID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY2x1ZVBheW9mZkNvdW50ID0gMCZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkZ3JvdXBCb25kTGV2ZWwgPSAmcXVvdDtmb3JtaW5nJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcFBheW9mZlNlZW4gPSBmYWxzZSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkcm91dGVDb25zZXF1ZW5jZVNlZW4gPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRyb3V0ZVdhcm5pbmcgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGNhc2VSZXN1bHRzVmlld2VkID0gZmFsc2UmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGVwaXNvZGVUd29TdGFydGVkID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYXNodG9uVHJ1c3QgPSAwJmd0OyZndDsKJmx0OyZsdDtzZXQgJGFzaHRvbkV2aWRlbmNlID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYXNodG9uVGhlb3J5ID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGtldmluV2F0Y2hDbGFzc1JlYWN0aW9uID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGhpc3RvcnlDbHVlc0NoZWNrZWQgPSAwJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRhYmJpZVJlc2N1ZVJvdXRlID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGFiYmllU2FmZSA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGZhbHNlQWJiaWVTZWVuID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkaG91c2VTZWFsQ2hvaWNlID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJHJlZFJpbmdDbHVlID0gZmFsc2UmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJHVwc3RhaXJzQ2x1ZXMgPSBbXSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICR1cHN0YWlyc1Jvb21zQ2hlY2tlZCA9IDAmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkdXBzdGFpcnNEb29yT3BlbmVkID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkdXBzdGFpcnNJbnZlc3RpZ2F0aW9uQ29tcGxldGUgPSBmYWxzZSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkbmFtZVB1enpsZVNvbHZlZCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG5hbWVQdXp6bGVBdHRlbXB0cyA9IDAmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkaGV4YWZvaWxQdXp6bGVTb2x2ZWQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRoZXhhZm9pbFB1enpsZUF0dGVtcHRzID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRoZXhhZm9pbE91dGVyID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGhleGFmb2lsSW5uZXIgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgJGVwaXNvZGVUaHJlZVN0YXJ0ZWQgPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjYXJvbGluZUV2aWRlbmNlID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkYXNodG9uUGFzdFJldmVhbGVkID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcmluZ1RoZW9yeSA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRlcGlzb2RlVGhyZWVMZWFkID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGNhdEJvb2tPcGVuZWQgPSBmYWxzZSZndDsmZ3Q7CgombHQ7Jmx0O3NldCAkcHVycGxlQ2x1ZXMgPSBbXSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRwdXJwbGVSb29tc0NoZWNrZWQgPSAwJmd0OyZndDsKJmx0OyZsdDtzZXQgJHB1cnBsZVB1enpsZVNvbHZlZCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHB1cnBsZVB1enpsZUF0dGVtcHRzID0gMCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRjb3JhVHJ1c3QgPSAwJmd0OyZndDsKJmx0OyZsdDtzZXQgJHB1cnBsZUJvb2tUYWtlbiA9IGZhbHNlJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRjZW1ldGVyeUNsdWVzID0gW10mZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY2VtZXRlcnlTZWN0aW9uc0NoZWNrZWQgPSAwJmd0OyZndDsKJmx0OyZsdDtzZXQgJGNlbWV0ZXJ5UHV6emxlU29sdmVkID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY2VtZXRlcnlQdXp6bGVBdHRlbXB0cyA9IDAmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY2VtZXRlcnlFbnRyeSA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRtZW1vcnlHcmF2ZU9wZW5lZCA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGNhcm9saW5lQ2VtZXRlcnlNZXNzYWdlID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKCiZsdDsmbHQ7aWYgbm90IEFycmF5LmlzQXJyYXkoJGVudmlyb25tZW50RmluZHMpJmd0OyZndDsmbHQ7Jmx0O3NldCAkZW52aXJvbm1lbnRGaW5kcyA9IFtdJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90IEFycmF5LmlzQXJyYXkoJHBsYXllckNsdWVzKSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHBsYXllckNsdWVzID0gW10mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgbm90IEFycmF5LmlzQXJyYXkoJHNvbHZlZERlZHVjdGlvbnMpJmd0OyZndDsmbHQ7Jmx0O3NldCAkc29sdmVkRGVkdWN0aW9ucyA9IFtdJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90ICRkZWR1Y3Rpb25BZHZhbnRhZ2VzJmd0OyZndDsmbHQ7Jmx0O3NldCAkZGVkdWN0aW9uQWR2YW50YWdlcyA9IHt9Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCAkbG9jYXRpb25Cb251c2VzJmd0OyZndDsmbHQ7Jmx0O3NldCAkbG9jYXRpb25Cb251c2VzID0ge30mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHBoYXNlNUJyaWRnZVNlZW4mZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRwaGFzZTVCcmlkZ2VTZWVuID0gZmFsc2UmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgbm90ICRwaGFzZTZFbnRyeSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHBoYXNlNkVudHJ5ID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90ICRzY2hvb2xMb2NrU29sdmVkJmd0OyZndDsmbHQ7Jmx0O3NldCAkc2Nob29sTG9ja1NvbHZlZCA9IGZhbHNlJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90ICRncmVlbkFyY2hpdmVSZWFjaGVkJmd0OyZndDsmbHQ7Jmx0O3NldCAkZ3JlZW5BcmNoaXZlUmVhY2hlZCA9IGZhbHNlJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBBcnJheS5pc0FycmF5KCRwaGFzZTZBcmNoaXZlRmluZHMpJmd0OyZndDsmbHQ7Jmx0O3NldCAkcGhhc2U2QXJjaGl2ZUZpbmRzID0gW10mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJGdyZWVuUm91dGVTb2x2ZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRncmVlblJvdXRlU29sdmVkID0gZmFsc2UmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJGNhcmFUcnVzdCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGNhcmFUcnVzdCA9IDAmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJGNhcmFNZWV0aW5nQ29tcGxldGUmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRjYXJhTWVldGluZ0NvbXBsZXRlID0gZmFsc2UmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgbm90ICRmb3VydGhOYW1lQ2hvaWNlJmd0OyZndDsmbHQ7Jmx0O3NldCAkZm91cnRoTmFtZUNob2ljZSA9ICZxdW90OyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIG5vdCAkcGhhc2U2Q29tcGxldGUmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRwaGFzZTZDb21wbGV0ZSA9IGZhbHNlJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90ICR3YXRjaFRpbWUmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICR3YXRjaFRpbWUgPSAmcXVvdDs5OjE1JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgovKiBEZXZlbG9wZXIgdGVzdGluZyBzdGF0ZSAqLwombHQ7Jmx0O2lmICRkZXZNb2RlIGlzIHVuZGVmaW5lZCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGRldk1vZGUgPSBmYWxzZSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRkZXZWaXNpdGVkIGlzIHVuZGVmaW5lZCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGRldlZpc2l0ZWQgPSBbXSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRkZXZWaXNpdENvdW50cyBpcyB1bmRlZmluZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRkZXZWaXNpdENvdW50cyA9IHt9Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoKLyogUGFzc3dvcmQtcHJvdGVjdGVkIGRldmVsb3BlciBhY2Nlc3MuIFNlc3Npb24tb25seSB1bmxvY2s7IHJlZnJlc2ggbG9ja3MgYWdhaW4uICovCiZsdDsmbHQ7cnVuIHNldHVwLmRldlVubG9ja2VkID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5kZXZBY2Nlc3NQYXNzd29yZCA9ICZxdW90OyNha1lFZ0p5JGtqTEFzJnF1b3Q7Jmd0OyZndDsKCgoKCi8qIFY0IHN0YWJpbGl6YXRpb24gc3RhdGUgKi8KJmx0OyZsdDtpZiAkc3RhYmlsaXphdGlvbkF3YXJkcyBpcyB1bmRlZmluZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRzdGFiaWxpemF0aW9uQXdhcmRzID0gW10mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAudjRDaGVja2xpc3QgPSBzZXR1cC52NENoZWNrbGlzdCB8fCB7fSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLnY0U2Vzc2lvblN0YXJ0ID0gc2V0dXAudjRTZXNzaW9uU3RhcnQgfHwgRGF0ZS5ub3coKSZndDsmZ3Q7CgoKLyogVjQuMSBzYXZlLXZhbGlkYXRpb24gaGVscGVycyAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDFTbmFwc2hvdEtleSA9ICZxdW90O2JyZWNrMS12NDEtc3RhZmYtc25hcHNob3QmcXVvdDsmZ3Q7Jmd0OwoKCgoKCgovKiBWNC4yIGNvbnRyb2xsZWQgcmVzZXQgaGVscGVycyAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDJQcm9maWxlS2V5ID0gJnF1b3Q7YnJlY2sxLXY0Mi1wcm9maWxlLWJhY2t1cCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLnY0MlByb2ZpbGVGaWVsZHMgPSBbJnF1b3Q7ZWFybmVkQmFkZ2VJZHMmcXVvdDssICZxdW90O2JhZGdlcyZxdW90OywgJnF1b3Q7Y29tcGxldGVkRXBpc29kZXMmcXVvdDssICZxdW90O3VubG9ja2VkQ2hhcHRlcnMmcXVvdDssICZxdW90O3RleHRTaXplJnF1b3Q7LCAmcXVvdDt0ZXh0V2lkdGgmcXVvdDssICZxdW90O2hpZ2hDb250cmFzdCZxdW90OywgJnF1b3Q7cmVkdWNlZE1vdGlvbiZxdW90OywgJnF1b3Q7YXRtb3NwaGVyZUVuYWJsZWQmcXVvdDssICZxdW90O3NvdW5kRW5hYmxlZCZxdW90OywgJnF1b3Q7bXVzaWNFbmFibGVkJnF1b3Q7LCAmcXVvdDt2b2x1bWUmcXVvdDtdJmd0OyZndDsKCgoKCgombHQ7Jmx0O2lmIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCZxdW90O2JyZWNrMS12NDItcmVzdG9yZS1hZnRlci1yZXN0YXJ0JnF1b3Q7KSBpcyAmcXVvdDsxJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIHNldHVwLnY0MlJlc3RvcmVQcm9maWxlKCkmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJnF1b3Q7YnJlY2sxLXY0Mi1yZXN0b3JlLWFmdGVyLXJlc3RhcnQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtlbHNlaWYgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJnF1b3Q7YnJlY2sxLXY0Mi1yZXN0b3JlLWFmdGVyLXJlc3RhcnQmcXVvdDspIGlzICZxdW90OzAmcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJnF1b3Q7YnJlY2sxLXY0Mi1yZXN0b3JlLWFmdGVyLXJlc3RhcnQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCi8qIFY0LjMgY2hhcHRlciBhbmQgZXBpc29kZSBib3VuZGFyeSBtYXBwaW5nICovCiZsdDsmbHQ7cnVuIHNldHVwLnY0M0JvdW5kYXJ5S2V5ID0gJnF1b3Q7YnJlY2sxLXY0My1ib3VuZGFyeS1jaGVja3BvaW50cyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLnY0M0VudHJpZXMgPSB7JnF1b3Q7MSZxdW90Ozp7JnF1b3Q7cGFzc2FnZSZxdW90OzomcXVvdDtDaGFwdGVyIDEgVHJhbnNpdGlvbiZxdW90OywmcXVvdDtlcGlzb2RlJnF1b3Q7OjF9LCZxdW90OzImcXVvdDs6eyZxdW90O3Bhc3NhZ2UmcXVvdDs6JnF1b3Q7Q2hhcHRlciAyIFRyYW5zaXRpb24mcXVvdDssJnF1b3Q7ZXBpc29kZSZxdW90OzoxfSwmcXVvdDszJnF1b3Q7OnsmcXVvdDtwYXNzYWdlJnF1b3Q7OiZxdW90O0NoYXB0ZXIgMyBUcmFuc2l0aW9uJnF1b3Q7LCZxdW90O2VwaXNvZGUmcXVvdDs6MX0sJnF1b3Q7NCZxdW90Ozp7JnF1b3Q7cGFzc2FnZSZxdW90OzomcXVvdDtDaGFwdGVyIDQgVHJhbnNpdGlvbiZxdW90OywmcXVvdDtlcGlzb2RlJnF1b3Q7OjF9LCZxdW90OzUmcXVvdDs6eyZxdW90O3Bhc3NhZ2UmcXVvdDs6JnF1b3Q7Q2hhcHRlciA1IFRyYW5zaXRpb24mcXVvdDssJnF1b3Q7ZXBpc29kZSZxdW90OzoxfSwmcXVvdDs2JnF1b3Q7OnsmcXVvdDtwYXNzYWdlJnF1b3Q7OiZxdW90O0NoYXB0ZXIgNiBUcmFuc2l0aW9uJnF1b3Q7LCZxdW90O2VwaXNvZGUmcXVvdDs6MX0sJnF1b3Q7NyZxdW90Ozp7JnF1b3Q7cGFzc2FnZSZxdW90OzomcXVvdDtFcGlzb2RlVHdvT3BlbmluZyZxdW90OywmcXVvdDtlcGlzb2RlJnF1b3Q7OjJ9LCZxdW90OzgmcXVvdDs6eyZxdW90O3Bhc3NhZ2UmcXVvdDs6JnF1b3Q7QXNodG9uRmluYWxXYXJuaW5nJnF1b3Q7LCZxdW90O2VwaXNvZGUmcXVvdDs6Mn0sJnF1b3Q7OSZxdW90Ozp7JnF1b3Q7cGFzc2FnZSZxdW90OzomcXVvdDtSYWNlVG9XaW5jaGVzdGVySG91c2UmcXVvdDssJnF1b3Q7ZXBpc29kZSZxdW90OzoyfSwmcXVvdDsxMCZxdW90Ozp7JnF1b3Q7cGFzc2FnZSZxdW90OzomcXVvdDtSZXNjdWVBZnRlcm1hdGgmcXVvdDssJnF1b3Q7ZXBpc29kZSZxdW90OzoyfSwmcXVvdDsxMSZxdW90Ozp7JnF1b3Q7cGFzc2FnZSZxdW90OzomcXVvdDtFcGlzb2RlVGhyZWVPcGVuaW5nJnF1b3Q7LCZxdW90O2VwaXNvZGUmcXVvdDs6M30sJnF1b3Q7MTImcXVvdDs6eyZxdW90O3Bhc3NhZ2UmcXVvdDs6JnF1b3Q7RXBpc29kZVRocmVlTGlicmFyeUxlYWQmcXVvdDssJnF1b3Q7ZXBpc29kZSZxdW90OzozfSwmcXVvdDsxMyZxdW90Ozp7JnF1b3Q7cGFzc2FnZSZxdW90OzomcXVvdDtQdXJwbGVMZWFkRW5kaW5nJnF1b3Q7LCZxdW90O2VwaXNvZGUmcXVvdDs6M30sJnF1b3Q7MTQmcXVvdDs6eyZxdW90O3Bhc3NhZ2UmcXVvdDs6JnF1b3Q7Q2VtZXRlcnlPcGVuaW5nJnF1b3Q7LCZxdW90O2VwaXNvZGUmcXVvdDs6M30sJnF1b3Q7MTUmcXVvdDs6eyZxdW90O3Bhc3NhZ2UmcXVvdDs6JnF1b3Q7UGhhc2VGaXZlQ29uY2x1c2lvbiZxdW90OywmcXVvdDtlcGlzb2RlJnF1b3Q7OjR9LCZxdW90OzE2JnF1b3Q7OnsmcXVvdDtwYXNzYWdlJnF1b3Q7OiZxdW90O1BoYXNlU2l4T3BlbmluZyZxdW90OywmcXVvdDtlcGlzb2RlJnF1b3Q7OjR9LCZxdW90OzE3JnF1b3Q7OnsmcXVvdDtwYXNzYWdlJnF1b3Q7OiZxdW90O1BoYXNlU2l4QXJjaGl2ZUh1YiZxdW90OywmcXVvdDtlcGlzb2RlJnF1b3Q7OjR9LCZxdW90OzE4JnF1b3Q7OnsmcXVvdDtwYXNzYWdlJnF1b3Q7OiZxdW90O1BoYXNlU2l4Rm91cnRoTmFtZUVudHJ5JnF1b3Q7LCZxdW90O2VwaXNvZGUmcXVvdDs6NH19Jmd0OyZndDsKCgoKCgoKLyogVjQuNCB2YWxpZGF0ZWQgY2hhcHRlciBjaGVja3BvaW50IHJlc3RvcmUgKi8KJmx0OyZsdDtydW4gc2V0dXAudjQ0Q2hlY2twb2ludFByZWZpeCA9ICZxdW90O2JyZWNrMS12NDQtY2hhcHRlci0mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC52NDRTa2lwTmV4dENhcHR1cmUgPSBmYWxzZSZndDsmZ3Q7CgoKCgoKCgoKCgoKLyogVjQuNSB2YWxpZGF0ZWQgZXBpc29kZSBjaGVja3BvaW50IHJlc3RvcmUgKi8KJmx0OyZsdDtydW4gc2V0dXAudjQ1RXBpc29kZXMgPSB7JnF1b3Q7MSZxdW90Ozp7JnF1b3Q7Y2hhcHRlciZxdW90OzomcXVvdDsxJnF1b3Q7LCZxdW90O3Bhc3NhZ2UmcXVvdDs6JnF1b3Q7Q2hhcHRlciAxIFRyYW5zaXRpb24mcXVvdDt9LCZxdW90OzImcXVvdDs6eyZxdW90O2NoYXB0ZXImcXVvdDs6JnF1b3Q7NyZxdW90OywmcXVvdDtwYXNzYWdlJnF1b3Q7OiZxdW90O0VwaXNvZGVUd29PcGVuaW5nJnF1b3Q7fSwmcXVvdDszJnF1b3Q7OnsmcXVvdDtjaGFwdGVyJnF1b3Q7OiZxdW90OzExJnF1b3Q7LCZxdW90O3Bhc3NhZ2UmcXVvdDs6JnF1b3Q7RXBpc29kZVRocmVlT3BlbmluZyZxdW90O30sJnF1b3Q7NCZxdW90Ozp7JnF1b3Q7Y2hhcHRlciZxdW90OzomcXVvdDsxNSZxdW90OywmcXVvdDtwYXNzYWdlJnF1b3Q7OiZxdW90O1BoYXNlRml2ZUNvbmNsdXNpb24mcXVvdDt9fSZndDsmZ3Q7CgoKCgoKCi8qIFJlbGVhc2UgY2FuZGlkYXRlIG1ldGFkYXRhICovCiZsdDsmbHQ7cnVuIHNldHVwLmJ1aWxkVmVyc2lvbiA9ICZxdW90OzUuMzEuMSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmJ1aWxkRGF0ZSA9ICZxdW90OzIwMjYtMTAtMjAmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5yZWxlYXNlQ2hhbm5lbCA9ICZxdW90O0dhbWVwbGF5IFVwZ3JhZGUmcXVvdDsmZ3Q7Jmd0OwoKCgovKiBCdWlsZCA1LjEgY29uc2VxdWVuY2Ugc3lzdGVtICovCiZsdDsmbHQ7aWYgJG1ham9yQ29uc2VxdWVuY2VzIGlzIHVuZGVmaW5lZCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG1ham9yQ29uc2VxdWVuY2VzID0ge30mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkY29uc2VxdWVuY2VMb2cgaXMgdW5kZWZpbmVkJmd0OyZndDsmbHQ7Jmx0O3NldCAkY29uc2VxdWVuY2VMb2cgPSBbXSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCgovKiBCdWlsZCA1LjIgQ2FzZSBGaWxlIDIuMCBmb3VuZGF0aW9uICovCiZsdDsmbHQ7aWYgJGNhc2VGaWxlMiBpcyB1bmRlZmluZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRjYXNlRmlsZTIgPSB7fSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCgovKiBCdWlsZCA1LjMgY2hhcmFjdGVyIGtub3dsZWRnZSBvd25lcnNoaXAgKi8KJmx0OyZsdDtpZiAkY2x1ZU93bmVyc2hpcCBpcyB1bmRlZmluZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRjbHVlT3duZXJzaGlwID0ge30mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAka25vd2xlZGdlRGVjaXNpb25zIGlzIHVuZGVmaW5lZCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtub3dsZWRnZURlY2lzaW9ucyA9IFtdJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoKCgoKCgovKiBCdWlsZCA1LjQgYWN0aXZlIGNoYXJhY3RlciBhYmlsaXRpZXMgKi8KJmx0OyZsdDtpZiAkYWJpbGl0eVVzZXMgaXMgdW5kZWZpbmVkJmd0OyZndDsmbHQ7Jmx0O3NldCAkYWJpbGl0eVVzZXMgPSB7S2V2aW46MCxSeWFuOjAsS2ltbXk6MCxTY29vdDowfSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRhYmlsaXR5QWR2YW50YWdlcyBpcyB1bmRlZmluZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRhYmlsaXR5QWR2YW50YWdlcyA9IFtdJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJHN1cGVybmF0dXJhbEV4cG9zdXJlIGlzIHVuZGVmaW5lZCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHN1cGVybmF0dXJhbEV4cG9zdXJlID0gMCZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCgovKiBCdWlsZCA1LjUgV2l0Y2ggQXR0ZW50aW9uICovCiZsdDsmbHQ7aWYgJHdpdGNoQXR0ZW50aW9uIGlzIHVuZGVmaW5lZCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHdpdGNoQXR0ZW50aW9uID0gMCZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICR3aXRjaEF0dGVudGlvbkV2ZW50cyBpcyB1bmRlZmluZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICR3aXRjaEF0dGVudGlvbkV2ZW50cyA9IFtdJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJGF0dGVudGlvbkZsYWdzIGlzIHVuZGVmaW5lZCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGF0dGVudGlvbkZsYWdzID0gW10mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCgoKCiZsdDsmbHQ7cnVuIHNldHVwLmVuc3VyZUhhdW50aW5nUHJvZmlsZSgpJmd0OyZndDsKCiZsdDsmbHQ7aWYgJGhhdW50aW5nSW50ZW5zaXR5IGlzIHVuZGVmaW5lZCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGhhdW50aW5nSW50ZW5zaXR5PSZxdW90O3N0YW5kYXJkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMyIgbmFtZT0iU3RvcnlDYXB0aW9uIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iODAwLDQ1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLXNpZGViYXImcXVvdDsmZ3Q7CiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtY2FyZCZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtY2FyZC10b3AmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS10YWImcXVvdDsmZ3Q7Q3VycmVudCBDYXNlJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1leWVzJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAmbHQ7Jmx0O2lmICRzdG9yeVN0YXJ0ZWQmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtbnVtYmVyJnF1b3Q7Jmd0O0Nhc2UgMDEmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLW5hbWUmcXVvdDsmZ3Q7VGhlIFN0cmFuZ2UgRmlyc3QgRGF5Jmx0Oy9kaXYmZ3Q7CgogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtZGV0YWlscyZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1kZXRhaWwmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tY2FzZS1sYWJlbCZxdW90OyZndDtNeXN0ZXJ5Jmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWNhc2UtdmFsdWUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgJGVwaXNvZGUgJmd0OyAwJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVwaXNvZGUgJGVwaXNvZGUKICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9wZW5pbmcKICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1kZXRhaWwmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tY2FzZS1sYWJlbCZxdW90OyZndDtDaGFwdGVyJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWNhc2UtdmFsdWUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgJGNoYXB0ZXIgJmd0OyAwJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjaGFwdGVyCiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3Qgc3RhcnRlZAogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLWRldGFpbCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1jYXNlLWxhYmVsJnF1b3Q7Jmd0O1BsYXlpbmcgYXMmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tY2FzZS12YWx1ZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiAkcG92Jmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3YKICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBpbnZlc3RpZ2F0b3JzCiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtbG9jYXRpb24mcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2Utc2VjdGlvbi1sYWJlbCZxdW90OyZndDtXaGVyZSBZb3UgQXJlJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtbG9jYXRpb24tbmFtZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmICRsb2NhdGlvbiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICRsb2NhdGlvbgogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgIEJyZWNrZW5yaWRnZQogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1vYmplY3RpdmUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2Utc2VjdGlvbi1sYWJlbCZxdW90OyZndDtXaGF0IHRvIERvIE5leHQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1vYmplY3RpdmUtdGV4dCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmICRvYmplY3RpdmUmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAkb2JqZWN0aXZlCiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgQ29udGludWUgaW52ZXN0aWdhdGluZy4KICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNoYXJhY3Rlci10cmFja2VyJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtpZiAkcG92IGlzICZxdW90O0tldmluJnF1b3Q7Jmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNoYXJhY3Rlci10cmFja2VyLWhlYWRpbmcgYm0tdHJhY2tlci1rZXZpbiZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgS2V2aW4mIzM5O3MgUGF0dGVybiBDYXJkcwogICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1jb3VudCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1udW1iZXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkcGF0dGVybkNvdW50Jmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGF0dGVybkNvdW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLWxhYmVsJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJHBhdHRlcm5Db3VudCBhbmQgJHBhdHRlcm5Db3VudCBpcyAxJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJhbmdlIHRoaW5nIG5vdGljZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyYW5nZSB0aGluZ3Mgbm90aWNlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJHBvdiBpcyAmcXVvdDtSeWFuJnF1b3Q7Jmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNoYXJhY3Rlci10cmFja2VyLWhlYWRpbmcgYm0tdHJhY2tlci1yeWFuJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICBSeWFuJiMzOTtzIFNhZmV0eSBGaWxlCiAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10cmFja2VyLXBhaXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1zbWFsbCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRyYWNrZXItbnVtYmVyJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgZGVmICRyeWFuVGhyZWF0cyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyeWFuVGhyZWF0cy5sZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1sYWJlbCZxdW90OyZndDtUaHJlYXRzJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10cmFja2VyLXNtYWxsJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1udW1iZXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJHJ5YW5SdWxlcyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyeWFuUnVsZXMubGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRyYWNrZXItbGFiZWwmcXVvdDsmZ3Q7UnVsZXMmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZWlmICRwb3YgaXMgJnF1b3Q7S2ltbXkmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2hhcmFjdGVyLXRyYWNrZXItaGVhZGluZyBibS10cmFja2VyLWtpbW15JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICBLaW1teSYjMzk7cyBJbnZlc3RpZ2F0aW9uIEZpbGUKICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRyYWNrZXItcGFpciZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10cmFja2VyLXNtYWxsJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1udW1iZXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGtpbW15TGVhZHMmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2ltbXlMZWFkcy5sZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1sYWJlbCZxdW90OyZndDtMZWFkcyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1zbWFsbCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRyYWNrZXItbnVtYmVyJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgZGVmICRraW1teUZhY3RzJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGtpbW15RmFjdHMubGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRyYWNrZXItbGFiZWwmcXVvdDsmZ3Q7RmFjdHMmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZWlmICRwb3YgaXMgJnF1b3Q7U2Nvb3QmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2hhcmFjdGVyLXRyYWNrZXItaGVhZGluZyBibS10cmFja2VyLXNjb290JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICBTY29vdCYjMzk7cyBQb2NrZXQgTm90ZWJvb2sKICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRyYWNrZXItcGFpciZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10cmFja2VyLXNtYWxsJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1udW1iZXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJHNjb290SW5zdGluY3QmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2Nvb3RJbnN0aW5jdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLWxhYmVsJnF1b3Q7Jmd0O0luc3RpbmN0Jmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10cmFja2VyLXNtYWxsJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1udW1iZXImcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJHNjb290Tm90ZWJvb2tFbnRyaWVzJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb290Tm90ZWJvb2tFbnRyaWVzLmxlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLWxhYmVsJnF1b3Q7Jmd0O05vdGVzJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2VpZiAkcG92IGlzICZxdW90O1RoZSBHcm91cCZxdW90OyBvciAkcG92IGlzICZxdW90O0dyb3VwJnF1b3Q7Jmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNoYXJhY3Rlci10cmFja2VyLWhlYWRpbmcgYm0tdHJhY2tlci1ncm91cCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgVGhlIEdyb3VwIENhc2UgRmlsZQogICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1wYWlyJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRyYWNrZXItc21hbGwmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLW51bWJlciZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkZ3JvdXBTaGFyZWRFdmlkZW5jZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncm91cFNoYXJlZEV2aWRlbmNlLmxlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS10cmFja2VyLWxhYmVsJnF1b3Q7Jmd0O1NoYXJlZCBDbHVlcyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdHJhY2tlci1zbWFsbCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRyYWNrZXItbnVtYmVyJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgZGVmICRncm91cENvbmZpcm1lZENvbm5lY3Rpb25zJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMubGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLXRyYWNrZXItbGFiZWwmcXVvdDsmZ3Q7Q29ubmVjdGlvbnMmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLXdhaXRpbmcmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2Utd2FpdGluZy10aXRsZSZxdW90OyZndDtBIG15c3RlcnkgaXMgd2FpdGluZy4mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS13YWl0aW5nLXRleHQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgRW50ZXIgQnJlY2tlbnJpZGdlIHdoZW4geW91IGFyZSByZWFkeSB0byBvcGVuIHRoZSBjYXNlLgogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDsmbHQ7aWYgJHN0b3J5U3RhcnRlZCZndDsmZ3Q7CiAgICAgICAgJmx0O25hdiBjbGFzcz0mcXVvdDtibS1teXN0ZXJ5LWtpdCZxdW90OyBhcmlhLWxhYmVsPSZxdW90O015c3RlcnkgS2l0JnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWtpdC1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0ta2l0LWhlYWRpbmctaWNvbiZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyombHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICBNeXN0ZXJ5IEtpdAogICAgICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0ta2l0LWdyaWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2xpbmsgJiMzOTsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1raXQtaWNvbiZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0O0MmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0ta2l0LWxhYmVsJnF1b3Q7Jmd0O0Nhc2UgRmlsZSZsdDsvc3BhbiZndDsmIzM5OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBub3QgU3RhdGUucGFzc2FnZS5zdGFydHNXaXRoKCZxdW90O015c3RlcnkgS2l0IC0gJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7c2V0ICRibVJldHVyblBhc3NhZ2UgPSBTdGF0ZS5wYXNzYWdlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtnb3RvICZxdW90O015c3RlcnkgS2l0IC0gQ2FzZSBGaWxlJnF1b3Q7Jmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKICAgICAgICAgICAgICAgICZsdDsmbHQ7bGluayAmIzM5OyZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWtpdC1pY29uIGJtLWljb24tY2x1ZSZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0Oz8mbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0ta2l0LWxhYmVsJnF1b3Q7Jmd0O0NsdWUgQm9hcmQmbHQ7L3NwYW4mZ3Q7JiMzOTsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgbm90IFN0YXRlLnBhc3NhZ2Uuc3RhcnRzV2l0aCgmcXVvdDtNeXN0ZXJ5IEtpdCAtICZxdW90OykmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O3NldCAkYm1SZXR1cm5QYXNzYWdlID0gU3RhdGUucGFzc2FnZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Z290byAmcXVvdDtNeXN0ZXJ5IEtpdCAtIENsdWUgQm9hcmQmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDsvbGluayZndDsmZ3Q7CgogICAgICAgICAgICAgICAgJmx0OyZsdDtsaW5rICYjMzk7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0ta2l0LWljb24gYm0taWNvbi1ub3RlJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7TiZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1raXQtbGFiZWwmcXVvdDsmZ3Q7Tm90ZWJvb2smbHQ7L3NwYW4mZ3Q7JiMzOTsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgbm90IFN0YXRlLnBhc3NhZ2Uuc3RhcnRzV2l0aCgmcXVvdDtNeXN0ZXJ5IEtpdCAtICZxdW90OykmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O3NldCAkYm1SZXR1cm5QYXNzYWdlID0gU3RhdGUucGFzc2FnZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Z290byAmcXVvdDtNeXN0ZXJ5IEtpdCAtIE5vdGVib29rJnF1b3Q7Jmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKICAgICAgICAgICAgICAgICZsdDsmbHQ7bGluayAmIzM5OyZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWtpdC1pY29uIGJtLWljb24tbWFwJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7TSZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1raXQtbGFiZWwmcXVvdDsmZ3Q7VG93biBNYXAmbHQ7L3NwYW4mZ3Q7JiMzOTsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgbm90IFN0YXRlLnBhc3NhZ2Uuc3RhcnRzV2l0aCgmcXVvdDtNeXN0ZXJ5IEtpdCAtICZxdW90OykmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O3NldCAkYm1SZXR1cm5QYXNzYWdlID0gU3RhdGUucGFzc2FnZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Z290byAmcXVvdDtNeXN0ZXJ5IEtpdCAtIFRvd24gTWFwJnF1b3Q7Jmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKICAgICAgICAgICAgICAgICZsdDsmbHQ7bGluayAmIzM5OyZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWtpdC1pY29uIGJtLWljb24tcGVvcGxlJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7UCZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1raXQtbGFiZWwmcXVvdDsmZ3Q7UGVvcGxlJmx0Oy9zcGFuJmd0OyYjMzk7Jmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIG5vdCBTdGF0ZS5wYXNzYWdlLnN0YXJ0c1dpdGgoJnF1b3Q7TXlzdGVyeSBLaXQgLSAmcXVvdDspJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtzZXQgJGJtUmV0dXJuUGFzc2FnZSA9IFN0YXRlLnBhc3NhZ2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O2dvdG8gJnF1b3Q7TXlzdGVyeSBLaXQgLSBQZW9wbGUmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDsvbGluayZndDsmZ3Q7CgogICAgICAgICAgICAgICAgJmx0OyZsdDtsaW5rICYjMzk7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0ta2l0LWljb24gYm0taWNvbi1iYWRnZSZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0O0ImbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0ta2l0LWxhYmVsJnF1b3Q7Jmd0O0JhZGdlIENhYmluZXQmbHQ7L3NwYW4mZ3Q7JiMzOTsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgbm90IFN0YXRlLnBhc3NhZ2Uuc3RhcnRzV2l0aCgmcXVvdDtNeXN0ZXJ5IEtpdCAtICZxdW90OykmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0O3NldCAkYm1SZXR1cm5QYXNzYWdlID0gU3RhdGUucGFzc2FnZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Z290byAmcXVvdDtNeXN0ZXJ5IEtpdCAtIEJhZGdlIENhYmluZXQmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDsvbGluayZndDsmZ3Q7CgogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7L25hdiZndDsKICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zaWRlYmFyLW1ldGEmcXVvdDsmZ3Q7CiAgICAmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDtibS1idWlsZC1wYW5lbCZxdW90OyBhcmlhLWxhYmVsbGVkYnk9JnF1b3Q7Ym0tYnVpbGQtaGVhZGluZyZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLW1ldGEtaGVhZGluZyZxdW90OyBpZD0mcXVvdDtibS1idWlsZC1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1tZXRhLWhlYWRpbmctaWNvbiZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZhbXA7Z3Q7XyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7QnVpbGQgSW5mb3JtYXRpb24mbHQ7L3NwYW4mZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbWV0YS1yb3cmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLW1ldGEtbGFiZWwmcXVvdDsmZ3Q7VmVyc2lvbiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0O3N0cm9uZyBjbGFzcz0mcXVvdDtibS1tZXRhLXZhbHVlJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGJ1aWxkTGFiZWwgYW5kICRidWlsZExhYmVsJmd0OyZndDskYnVpbGRMYWJlbCZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2lmIGRlZiAkZ2FtZVZlcnNpb24gYW5kICRnYW1lVmVyc2lvbiZndDsmZ3Q7ICRnYW1lVmVyc2lvbiZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgJmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbWV0YS1yb3cmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLW1ldGEtbGFiZWwmcXVvdDsmZ3Q7QnVpbGQgRGF0ZSZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0O3N0cm9uZyBjbGFzcz0mcXVvdDtibS1tZXRhLXZhbHVlJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGJ1aWxkRGF0ZSBhbmQgJGJ1aWxkRGF0ZSZndDsmZ3Q7JGJ1aWxkRGF0ZSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7RGF0ZSB1bmF2YWlsYWJsZSZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgJmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAmbHQ7L3NlY3Rpb24mZ3Q7CgogICAgJmx0O3NlY3Rpb24gY2xhc3M9JnF1b3Q7Ym0tY29weXJpZ2h0LXBhbmVsJnF1b3Q7IGFyaWEtbGFiZWxsZWRieT0mcXVvdDtibS1jb3B5cmlnaHQtaGVhZGluZyZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNvcHlyaWdodC1oZWFkaW5nJnF1b3Q7IGlkPSZxdW90O2JtLWNvcHlyaWdodC1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICAgICBDb3B5cmlnaHQgTm90aWNlCiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY29weXJpZ2h0LXJ1bGUmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jb3B5cmlnaHQtY29weSZxdW90OyZndDsKICAgICAgICAgICAgQ29weXJpZ2h0ICZhbXA7Y29weTsgMjAyNgogICAgICAgICAgICAmbHQ7YSBocmVmPSZxdW90O2h0dHBzOi8vdG9ueW1vcmVpcmEuY29tJnF1b3Q7CiAgICAgICAgICAgICAgIHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsKICAgICAgICAgICAgICAgcmVsPSZxdW90O25vb3BlbmVyIG5vcmVmZXJyZXImcXVvdDsmZ3Q7VG9ueSBNb3JlaXJhJmx0Oy9hJmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNvcHlyaWdodC1jb21wYW55JnF1b3Q7Jmd0OwogICAgICAgICAgICBJbnRlcnZhbHMgSW4gVGltZSBNZWRpYSwgTExDCiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDthIGNsYXNzPSZxdW90O2JtLWNvcHlyaWdodC1zaXRlJnF1b3Q7CiAgICAgICAgICAgaHJlZj0mcXVvdDtodHRwczovL3Rvbnltb3JlaXJhLmNvbSZxdW90OwogICAgICAgICAgIHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsKICAgICAgICAgICByZWw9JnF1b3Q7bm9vcGVuZXIgbm9yZWZlcnJlciZxdW90OyZndDt0b255bW9yZWlyYS5jb20mbHQ7L2EmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY29weXJpZ2h0LXJpZ2h0cyZxdW90OyZndDsKICAgICAgICAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvc2VjdGlvbiZndDsKJmx0Oy9kaXYmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNCIgbmFtZT0iU3RvcnlNZW51IiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMjI1LDM3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKJmx0OyZsdDtpZiBTdGF0ZS5wYXNzYWdlIGlzbm90ICZxdW90O1N0YXJ0JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtsaW5rICYjMzk7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tc3lzdGVtLXN0b3J5LWxpbmsgYm0tdGl0bGUtc2NyZWVuLWxhYmVsJnF1b3Q7Jmd0O1RpdGxlIFNjcmVlbiZsdDsvc3BhbiZndDsmIzM5OyZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1N0YXJ0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiBTdGF0ZS5wYXNzYWdlIGlzbm90ICZxdW90O0hvdyB0byBQbGF5IE9wZW5pbmcmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O2xpbmsgJiMzOTsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1zeXN0ZW0tc3RvcnktbGluayBibS1ob3ctdG8tcGxheS1sYWJlbCZxdW90OyZndDtIb3cgdG8gUGxheSZsdDsvc3BhbiZndDsmIzM5OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGJtUmV0dXJuUGFzc2FnZSA9IFN0YXRlLnBhc3NhZ2UmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtIb3cgdG8gUGxheSBPcGVuaW5nJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCiZsdDsmbHQ7aWYgU3RhdGUucGFzc2FnZSBpc25vdCAmcXVvdDtQbGF5ZXJNYW51YWwmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O2xpbmsgJiMzOTsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtibS1zeXN0ZW0tc3RvcnktbGluayBibS1wbGF5ZXItbWFudWFsLWxhYmVsJnF1b3Q7Jmd0O1BsYXllciBNYW51YWwmbHQ7L3NwYW4mZ3Q7JiMzOTsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRibVJldHVyblBhc3NhZ2UgPSBTdGF0ZS5wYXNzYWdlJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7UGxheWVyTWFudWFsJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtsaW5rICYjMzk7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tc3lzdGVtLXN0b3J5LWxpbmsgYm0tZGV2ZWxvcGVyLW1lbnUtbGFiZWwmcXVvdDsmZ3Q7U3RhZmYgQWNjZXNzJmx0Oy9zcGFuJmd0OyYjMzk7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yZXF1ZXN0RGV2QWNjZXNzKCkmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKJmx0OyZsdDtsaW5rICYjMzk7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tc3lzdGVtLXN0b3J5LWxpbmsgYm0tcHJpdmFjeS1tZW51LWxhYmVsJnF1b3Q7Jmd0O1ByaXZhY3kgJmFtcDthbXA7IFVzZSBOb3RpY2UmbHQ7L3NwYW4mZ3Q7JiMzOTsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRibVJldHVyblBhc3NhZ2UgPSBTdGF0ZS5wYXNzYWdlJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7UHJpdmFjeSBhbmQgVXNlIE5vdGljZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNSIgbmFtZT0iQWJvdXQiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIzMDAsNjI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7aDImZ3Q7QWJvdXQgVGhpcyBBZGFwdGF0aW9uJmx0Oy9oMiZndDsKJmx0O3AmZ3Q7Jmx0O2VtJmd0O1RoZSBSZXR1cm4gb2YgdGhlIEJsYWNrd29vZCBXaXRjaCZsdDsvZW0mZ3Q7IGlzIGFuIGludGVyYWN0aXZlIGFkYXB0YXRpb24gb2YgdGhlIEJyZWNrZW5yaWRnZSBNeXN0ZXJpZXMgbm92ZWwuJmx0Oy9wJmd0OwombHQ7cCZndDtUaGUgc3RvcnkgZm9sbG93cyB0aGUgbm92ZWwmIzM5O3MgY2VudHJhbCBteXN0ZXJ5IHdoaWxlIGludHJvZHVjaW5nIG5ldyBpbnZlc3RpZ2F0aW9ucywgY2hhcmFjdGVyIHBlcnNwZWN0aXZlcywgcHV6emxlcywgYW5kIGNob2ljZXMuJmx0Oy9wJmd0OwombHQ7cCZndDtUaGlzIGdhbWUgaXMgdW5kZXIgcm91dGluZSBkZXZlbG9wbWVudC4gUHJvZ3Jlc3MgaXMgc2F2ZWQgaW4gdGhlIGJyb3dzZXIgd2hlbiBzYXZlIGZlYXR1cmVzIGFyZSB1c2VkLiZsdDsvcCZndDsKW1tSZXR1cm4gdG8gdGhlIG1haW4gbWVudS0mZ3Q7U3RhcnRdXTwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNiIgbmFtZT0iSG93IHRvIFBsYXkiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI2MDAsNTc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkdHV0b3JpYWxTZWVuID0gdHJ1ZSZndDsmZ3Q7CgombHQ7aDImZ3Q7SG93IHRvIFBsYXkmbHQ7L2gyJmd0OwoKJmx0O2gzJmd0O0NoYW5naW5nIFBlcnNwZWN0aXZlcyZsdDsvaDMmZ3Q7CiZsdDtwJmd0OwoJRWFjaCBjaGFwdGVyIGlkZW50aWZpZXMgdGhlIGNoYXJhY3RlciB5b3UgY3VycmVudGx5IGNvbnRyb2wuCglDaGFyYWN0ZXJzIGRvIG5vdCBhdXRvbWF0aWNhbGx5IGtub3cgd2hhdCBoYXBwZW5lZCBkdXJpbmcgYW5vdGhlcgoJY2hhcmFjdGVyJiMzOTtzIGNoYXB0ZXIuCiZsdDsvcCZndDsKCiZsdDtoMyZndDtJbnZlc3RpZ2F0aW9uJmx0Oy9oMyZndDsKJmx0O3AmZ3Q7CglTb21lIGNsdWVzIGFyZSBwYXJ0IG9mIHRoZSBjZW50cmFsIHN0b3J5LiBPdGhlcnMgY2FuIGJlIG1pc3NlZC4KCUV4YW1pbmluZyBhbiBhcmVhIGNhcmVmdWxseSBtYXkgcmV2ZWFsIGNob2ljZXMgdGhhdCB3b3VsZCBvdGhlcndpc2UKCXJlbWFpbiB1bmF2YWlsYWJsZS4KJmx0Oy9wJmd0OwombHQ7aDMmZ3Q7S2V2aW4mIzM5O3MgUGF0dGVybiBUcmFja2VyJmx0Oy9oMyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VudHMgdW5leHBsYWluZWQgZXZlbnRzIGFzIGhlIGVuY291bnRlcnMgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluJiMzOTtzIFBhdHRlcm4gVHJhY2tlciByZWNvcmRzIHRoZSB1bmV4cGxhaW5lZCBldmVudHMgaGUgcGVyc29uYWxseQoJbm90aWNlcy4gRGlmZmVyZW50IGNob2ljZXMgbWF5IHByb2R1Y2UgZGlmZmVyZW50IHRvdGFscy4KJmx0Oy9wJmd0OwoKJmx0O2gzJmd0O0NvbW11bmljYXRpb24mbHQ7L2gzJmd0OwoKJmx0O3AmZ3Q7CglGaW5kaW5nIGEgY2x1ZSBhbmQgc2hhcmluZyBhIGNsdWUgYXJlIHNlcGFyYXRlIGRlY2lzaW9ucy4gS2VlcGluZwoJc29tZXRoaW5nIHByaXZhdGUgbWF5IHByb3RlY3QgYSBjaGFyYWN0ZXIgdGVtcG9yYXJpbHksIGJ1dCBpdCBtYXkKCWFsc28gbGVhdmUgYW5vdGhlciBjaGFyYWN0ZXIgdW5wcmVwYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O2gzJmd0O05vIFBlcmZlY3QgUGVyc29uYWxpdHkmbHQ7L2gzJmd0OwoKJmx0O3AmZ3Q7CglDaG9pY2VzIGFyZSBub3QgZGl2aWRlZCBpbnRvIGJyYXZlIGFuZCBjb3dhcmRseSByZXNwb25zZXMuIE9ic2VydmluZywKCXByZXBhcmluZywgc2Vla2luZyBzdXBwb3J0LCBzdGVwcGluZyBhd2F5LCBhbmQgdGFraW5nIGFjdGlvbiBjYW4gYWxsCgliZSByZWFzb25hYmxlIGNob2ljZXMgZGVwZW5kaW5nIG9uIHRoZSBzaXR1YXRpb24uCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0JlZ2luIEVwaXNvZGUgMS0mZ3Q7RXBpc29kZSAxIEludHJvZHVjdGlvbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNyIgbmFtZT0iSW50cm9kdWN0aW9uIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNjc1LDMwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHN0b3J5U3RhcnRlZCA9IHRydWUmZ3Q7Jmd0OwoKJmx0O2gyJmd0O0JlZm9yZSBZb3UgQmVnaW4mbHQ7L2gyJmd0OwoKJmx0O3AmZ3Q7CiAgICBUaGlzIHN0b3J5IGlzIHRvbGQgdGhyb3VnaCBzZXZlcmFsIHBvaW50cyBvZiB2aWV3LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKICAgIFlvdSB3aWxsIHRlbXBvcmFyaWx5IHRha2UgY29udHJvbCBvZiBkaWZmZXJlbnQgY2hhcmFjdGVycyBhcyB0aGV5CiAgICBlbmNvdW50ZXIgc2VwYXJhdGUgcGllY2VzIG9mIHRoZSBzYW1lIG15c3RlcnkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7cG92LW5vdGljZSZxdW90OyZndDsKICAgICZsdDtzdHJvbmcmZ3Q7SW1wb3J0YW50OiZsdDsvc3Ryb25nJmd0OyBZb3UgbWF5IGtub3cgbW9yZSB0aGFuIHRoZSBjaGFyYWN0ZXIKICAgIHlvdSBhcmUgY3VycmVudGx5IHBsYXlpbmcuIEEgY2hhcmFjdGVyIGNhbiBhY3Qgb25seSBvbiBpbmZvcm1hdGlvbgogICAgdGhleSBoYXZlIHBlcnNvbmFsbHkgZGlzY292ZXJlZCBvciByZWNlaXZlZCBmcm9tIHNvbWVvbmUgZWxzZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKICAgIFlvdXIgY2hvaWNlcyB3aWxsIGFmZmVjdDoKJmx0Oy9wJmd0OwoKJmx0O3VsJmd0OwogICAgJmx0O2xpJmd0O1doaWNoIGNsdWVzIGVhY2ggY2hhcmFjdGVyIG5vdGljZXMmbHQ7L2xpJmd0OwogICAgJmx0O2xpJmd0O1doYXQgaW5mb3JtYXRpb24gdGhlIGNoYXJhY3RlcnMgc2hhcmUmbHQ7L2xpJmd0OwogICAgJmx0O2xpJmd0O0hvdyByZWxhdGlvbnNoaXBzIGRldmVsb3AmbHQ7L2xpJmd0OwogICAgJmx0O2xpJmd0O1doaWNoIG9wdGlvbmFsIHNjZW5lcyBiZWNvbWUgYXZhaWxhYmxlJmx0Oy9saSZndDsKICAgICZsdDtsaSZndDtIb3cgcHJlcGFyZWQgdGhlIGdyb3VwIGlzIGZvciBsYXRlciBkYW5nZXJzJmx0Oy9saSZndDsKJmx0Oy91bCZndDsKCiZsdDtwJmd0OwogICAgVGhlIG1haW4gbXlzdGVyeSBmb2xsb3dzIHRoZSBjZW50cmFsIHN0cnVjdHVyZSBvZiB0aGUgbm92ZWwsIGJ1dAogICAgbmV3IGludmVzdGlnYXRpb25zLCBjb252ZXJzYXRpb25zLCBhbmQgY2hhcmFjdGVyIG1vbWVudHMgbWFrZSB0aGlzCiAgICBhbiBhZGRpdGlvbmFsIEJyZWNrZW5yaWRnZSBleHBlcmllbmNlLgombHQ7L3AmZ3Q7CgombHQ7YXNpZGUgY2xhc3M9JnF1b3Q7Ym0tc2F2ZS1leHBsYWluZXImcXVvdDsgYXJpYS1sYWJlbGxlZGJ5PSZxdW90O2JtLXNhdmUtZXhwbGFpbmVyLXRpdGxlJnF1b3Q7Jmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zYXZlLWV4cGxhaW5lci1pY29uJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7UyZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc2F2ZS1leHBsYWluZXItY29udGVudCZxdW90OyZndDsKICAgICAgICAmbHQ7aDMgaWQ9JnF1b3Q7Ym0tc2F2ZS1leHBsYWluZXItdGl0bGUmcXVvdDsmZ3Q7U2F2aW5nIFlvdXIgTXlzdGVyeSZsdDsvaDMmZ3Q7CgogICAgICAgICZsdDtwJmd0OwogICAgICAgICAgICBUaGUgZ2FtZSBrZWVwcyAmbHQ7c3Ryb25nJmd0O29uZSBhdXRvc2F2ZSZsdDsvc3Ryb25nJmd0OyBhbmQgdXBkYXRlcyBpdCBhdCBpbXBvcnRhbnQgbW9tZW50cywKICAgICAgICAgICAgaW5jbHVkaW5nIGNoYXB0ZXIgY2hlY2twb2ludHMgYW5kIGJhZGdlIGFjaGlldmVtZW50cy4gRWFjaCBuZXcgYXV0b21hdGljCiAgICAgICAgICAgIGNoZWNrcG9pbnQgcmVwbGFjZXMgdGhlIHByZXZpb3VzIGF1dG9zYXZlLgogICAgICAgICZsdDsvcCZndDsKCiAgICAgICAgJmx0O3AmZ3Q7CiAgICAgICAgICAgICZsdDtzdHJvbmcmZ3Q7TWFudWFsIHNhdmVzIGFyZSBzZXBhcmF0ZS4mbHQ7L3N0cm9uZyZndDsgT3BlbiAmbHQ7c3Ryb25nJmd0O1NhdmVzJmx0Oy9zdHJvbmcmZ3Q7IHdoZW5ldmVyCiAgICAgICAgICAgIHlvdSB3YW50IHRvIHByZXNlcnZlIGEgc3BlY2lmaWMgcG9pbnQgaW4gdGhlIG15c3RlcnkuIE1hbnVhbCBzYXZlcyByZW1haW4KICAgICAgICAgICAgYXZhaWxhYmxlIHVudGlsIHlvdSByZXBsYWNlIG9yIGRlbGV0ZSB0aGVtLgogICAgICAgICZsdDsvcCZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1zYXZlLWV4cGxhaW5lci1hY3Rpb25zJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7c3Ryb25nJmd0O0xvYWQgQXV0b3NhdmUmbHQ7L3N0cm9uZyZndDsgcmV0dXJucyB0byB0aGUgbGF0ZXN0IGF1dG9tYXRpYyBjaGVja3BvaW50LiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtTYXZlcyZsdDsvc3Ryb25nJmd0OyBvcGVucyB5b3VyIG1hbnVhbCBzYXZlIG9wdGlvbnMuJmx0Oy9zcGFuJmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CiZsdDsvYXNpZGUmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwogICAgW1tTaG93IG1lIHRoZSBnYW1lcGxheSBiYXNpY3MtJmd0O0hvdyB0byBQbGF5IE9wZW5pbmddXQogICAgW1tMZXQgdGhlIG15c3RlcnkgYmVnaW4tJmd0O0VwaXNvZGUgMSBJbnRyb2R1Y3Rpb25dXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI4IiBuYW1lPSJIb3cgdG8gUGxheSBPcGVuaW5nIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNTAwLDM1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHR1dG9yaWFsU2VlbiA9IHRydWUmZ3Q7Jmd0OwoKJmx0O2gyJmd0O0hvdyB0byBQbGF5Jmx0Oy9oMiZndDsKCiZsdDtoMyZndDtDaGFuZ2luZyBQZXJzcGVjdGl2ZXMmbHQ7L2gzJmd0OwoKJmx0O3AmZ3Q7CglFYWNoIGNoYXB0ZXIgaWRlbnRpZmllcyB0aGUgY2hhcmFjdGVyIHlvdSBjdXJyZW50bHkgY29udHJvbC4KCUNoYXJhY3RlcnMgZG8gbm90IGF1dG9tYXRpY2FsbHkga25vdyB3aGF0IGhhcHBlbmVkIGR1cmluZyBhbm90aGVyCgljaGFyYWN0ZXImIzM5O3MgY2hhcHRlci4KJmx0Oy9wJmd0OwoKJmx0O2gzJmd0O0ludmVzdGlnYXRpb24mbHQ7L2gzJmd0OwoKJmx0O3AmZ3Q7CglTb21lIGNsdWVzIGFyZSBwYXJ0IG9mIHRoZSBjZW50cmFsIHN0b3J5LiBPdGhlcnMgY2FuIGJlIG1pc3NlZC4KCUV4YW1pbmluZyBhbiBhcmVhIGNhcmVmdWxseSBtYXkgcmV2ZWFsIGNob2ljZXMgdGhhdCB3b3VsZCBvdGhlcndpc2UKCXJlbWFpbiB1bmF2YWlsYWJsZS4KJmx0Oy9wJmd0OwombHQ7aDMmZ3Q7S2V2aW4mIzM5O3MgUGF0dGVybiBUcmFja2VyJmx0Oy9oMyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VudHMgdW5leHBsYWluZWQgZXZlbnRzIGFzIGhlIGVuY291bnRlcnMgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluJiMzOTtzIFBhdHRlcm4gVHJhY2tlciByZWNvcmRzIHRoZSB1bmV4cGxhaW5lZCBldmVudHMgaGUgcGVyc29uYWxseQoJbm90aWNlcy4gRGlmZmVyZW50IGNob2ljZXMgbWF5IHByb2R1Y2UgZGlmZmVyZW50IHRvdGFscy4KJmx0Oy9wJmd0OwoKJmx0O2gzJmd0O0NvbW11bmljYXRpb24mbHQ7L2gzJmd0OwoKJmx0O3AmZ3Q7CglGaW5kaW5nIGEgY2x1ZSBhbmQgc2hhcmluZyBhIGNsdWUgYXJlIHNlcGFyYXRlIGRlY2lzaW9ucy4gS2VlcGluZwoJc29tZXRoaW5nIHByaXZhdGUgbWF5IHByb3RlY3QgYSBjaGFyYWN0ZXIgdGVtcG9yYXJpbHksIGJ1dCBpdCBtYXkKCWFsc28gbGVhdmUgYW5vdGhlciBjaGFyYWN0ZXIgdW5wcmVwYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O2gzJmd0O05vIFBlcmZlY3QgUGVyc29uYWxpdHkmbHQ7L2gzJmd0OwoKJmx0O3AmZ3Q7CglDaG9pY2VzIGFyZSBub3QgZGl2aWRlZCBpbnRvIGJyYXZlIGFuZCBjb3dhcmRseSByZXNwb25zZXMuIE9ic2VydmluZywKCXByZXBhcmluZywgc2Vla2luZyBzdXBwb3J0LCBzdGVwcGluZyBhd2F5LCBhbmQgdGFraW5nIGFjdGlvbiBjYW4gYWxsCgliZSByZWFzb25hYmxlIGNob2ljZXMgZGVwZW5kaW5nIG9uIHRoZSBzaXR1YXRpb24uCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2lmIGRlZiAkYm1SZXR1cm5QYXNzYWdlIGFuZCBTdG9yeS5oYXMoJGJtUmV0dXJuUGFzc2FnZSkgYW5kICRibVJldHVyblBhc3NhZ2UgaXNub3QgJnF1b3Q7SG93IHRvIFBsYXkgT3BlbmluZyZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtsaW5rICZxdW90O1JldHVybiB0byB0aGUgUHJldmlvdXMgU2NyZWVuJnF1b3Q7Jmd0OyZndDsKCQkJJmx0OyZsdDtnb3RvICRibVJldHVyblBhc3NhZ2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCSZsdDsmbHQ7aWYgbm90ICRzdG9yeVN0YXJ0ZWQgb3IgJGVwaXNvZGUgaXMgMCZndDsmZ3Q7CgkJW1tCZWdpbiBFcGlzb2RlIDEtJmd0O0VwaXNvZGUgMSBJbnRyb2R1Y3Rpb25dXQoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI5IiBuYW1lPSJFcGlzb2RlIDEgSW50cm9kdWN0aW9uIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iOTI1LDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZXBpc29kZSA9IDEmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkY2hhcHRlciA9IDEmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcG92ID0gJnF1b3Q7S2V2aW4mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0dldCBBYmJpZSB0byBzY2hvb2wgd2l0aG91dCBiZWluZyBsYXRlJnF1b3Q7Jmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkJnF1b3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0VwaXNvZGUgT25lJmx0Oy9kaXYmZ3Q7CgoJJmx0O2gxIGNsYXNzPSZxdW90O3Bvdi1uYW1lJnF1b3Q7Jmd0O1NvbWV0aGluZyBIZWFyZCBVcyZsdDsvaDEmZ3Q7CgoJJmx0O3AmZ3Q7CgkJU2VwdGVtYmVyIDUsIDE5NzgKCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlUaGUgZmlyc3QgZGF5IG9mIHNjaG9vbCBoYXMgYXJyaXZlZCBpbiBCcmVja2VucmlkZ2UuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJSW5zaWRlIHRoZSBXaW5jaGVzdGVyIGhvdXNlLCBzb21ldGhpbmcgZWxzZSBhcHBlYXJzIHRvIGhhdmUKCQlhcnJpdmVkIHdpdGggaXQuCgkmbHQ7L3AmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCQlbW0NvbnRpbnVlLSZndDtDaGFwdGVyIDEgVHJhbnNpdGlvbl1dCgkmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMCIgbmFtZT0iQ2hhcHRlciAxIFRyYW5zaXRpb24iIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxMTI1LDIyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXIgPSAxJmd0OyZndDsKJmx0OyZsdDtzZXQgJHBvdiA9ICZxdW90O0tldmluJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7S2l0Y2hlbiZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtHZXQgQWJiaWUgdG8gc2Nob29sIHdpdGhvdXQgYmVpbmcgbGF0ZSZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtFcGlzb2RlIE9uZSZsdDsvZGl2Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLW51bWJlciZxdW90OyZndDtDaGFwdGVyIE9uZSZsdDsvZGl2Jmd0OwoKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtLZXZpbiBXaW5jaGVzdGVyJmx0Oy9oMSZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7CgkJRG9uJiMzOTt0IFBhbmljLCBKdXN0IFByZXRlbmQgSXQgTWFrZXMgU2Vuc2UKCSZsdDsvZGl2Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1vYmplY3RpdmUmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtJbW1lZGlhdGUgb2JqZWN0aXZlOiZsdDsvc3Ryb25nJmd0OwoJCUdldCB0aHJvdWdoIHRoZSBtb3JuaW5nIHBsYW4gYW5kIGFycml2ZSBhdCB0aGUgbmV3IHNjaG9vbCB3aXRob3V0CgkJYXR0cmFjdGluZyBhdHRlbnRpb24uCgkmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3Bvdi1ub3RpY2UmcXVvdDsmZ3Q7WW91IGFyZSBub3cgcGxheWluZyBhcyAmbHQ7c3Ryb25nJmd0O0tldmluJmx0Oy9zdHJvbmcmZ3Q7LiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQmVnaW4gS2V2aW4mIzM5O3MgZmlyc3QgbW9ybmluZy0mZ3Q7S2V2aW4gT3BlbmluZ11dCiZsdDsvZGl2Jmd0OwoKLyogVjQuMyBib3VuZGFyeSBjaGVja3BvaW50IGNoYXB0ZXIgMSAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDNDYXB0dXJlQm91bmRhcnkoMSwgJnF1b3Q7Q2hhcHRlciAxIFRyYW5zaXRpb24mcXVvdDssIDEpJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAudjQ0Q2FwdHVyZUNoYXB0ZXIoMSwgJnF1b3Q7Q2hhcHRlciAxIFRyYW5zaXRpb24mcXVvdDssIDEpJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMSIgbmFtZT0iS2V2aW4gT3BlbmluZyIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjEyNzUsMTc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBLaXRjaGVuJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0tlZXAgdGhlIG1vcm5pbmcgZnJvbSBmYWxsaW5nIGFwYXJ0JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwoJQSBuZXcgc2Nob29sLgoJQSBuZXcgdG93bi4KCVplcm8gZnJpZW5kcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglJbiBsZXNzIHRoYW4gYW4gaG91ciwgS2V2aW4gd291bGQgYmUgd2Fsa2luZyB0aHJvdWdoIHRoZSBmcm9udCBkb29ycwoJb2YgQnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wuIEhpcyBzdG9tYWNoIHRpZ2h0ZW5lZCBhdCB0aGUgdGhvdWdodC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglOZXcgdGVhY2hlcnMuIE5ldyBjbGFzc21hdGVzLiBBIGxvY2tlciBoZSBwcm9iYWJseSB3b3VsZCBub3QgZmluZC4KCUFuZCBkb3plbnMgb2YgY2hhbmNlcyB0byBzYXkgc29tZXRoaW5nIGVtYmFycmFzc2luZyBpbiBmcm9udCBvZgoJcGVvcGxlIGhlIHdvdWxkIGhhdmUgdG8gc2VlIGV2ZXJ5IGRheS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJTW9tIGNhbGxlZCBpdCBhbnhpZXR5LiBLZXZpbiBjYWxsZWQgaXQgZXhoYXVzdGluZy4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtcDEgc3RhbmRhcmQgYmF0Y2gyIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2JlZHJvb21fd2luZG93JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfYmVkcm9vbV93aW5kb3cucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsKCiZsdDtwJmd0OwoJRXZlciBzaW5jZSB0aGUgbW92ZSwgaGlzIGJyYWluIGhhZCBiZWVuIHN0dWNrIGluIGVtZXJnZW5jeSBtb2RlLAoJd2FpdGluZyBmb3IgdGhlIG5leHQgdGhpbmcgdG8gZ28gd3JvbmcuIFNvIGhlIGhhZCBidWlsdCBhIHBsYW46CglhcnJpdmUgZWFybHksIGZpbmQgaG9tZXJvb20sIGxvY2F0ZSB0aGUgYmF0aHJvb20gYW5kIGNhZmV0ZXJpYSwgYW5kCglmaWd1cmUgb3V0IGhpcyBsb2NrZXIgYmVmb3JlIGFueW9uZSBub3RpY2VkIGhlIHdhcyBsb3N0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUlmIGhlIGNvdWxkIG1hbmFnZSB0aGUgbG9ja2VyLCBtYXliZSB0aGUgcmVzdCBvZiB0aGUgZGF5IHdvdWxkIGJlaGF2ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGVuIHRoZSBoYWxsd2F5IGxhbXAgZmxpY2tlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCU9uY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVHdpY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJQSBjb2xkIGJyZWV6ZSBzbGlkIGFjcm9zcyB0aGUgZmxvb3IgYW5kIGN1cmxlZCBhcm91bmQgaGlzIGFua2xlcy4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJHNhd0xhbXBGbGlja2VyID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRmZWx0Q29sZEFpciA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7VGhlIGhhbGx3YXkgbGFtcCBmbGlja2VyZWQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0NvbGQgYWlyIG1vdmVkIHRocm91Z2ggdGhlIGtpdGNoZW4mcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7a2V2aW4tcGF0dGVybiZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIFBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7IFR3byB1bmV4cGxhaW5lZCBldmVudHMuJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKCVRoZSBoYWxsd2F5IHNlZW1lZCBkYXJrZXIgdGhhbiBpdCBoYWQgYSBtb21lbnQgYWdvLiBMb25nZXIsIHRvbywKCXRob3VnaCBLZXZpbiBrbmV3IHRoYXQgd2FzIGltcG9zc2libGUuIEl0IHdhcyB0aGUgc2FtZSBoYWxsd2F5LCB0aGUKCXNhbWUgb2xkIGxhbXAsIGFuZCB0aGUgc2FtZSBzaGFkb3dzIGdhdGhlcmVkIGFsb25nIHRoZSB3YWxscy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglFeGNlcHQgb25lIHNoYWRvdyBsb29rZWQgYXMgaWYgaXQgd2VyZSBzdGFuZGluZyBvbiBpdHMgb3duLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kPyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtSZW1haW4gYXQgdGhlIHRhYmxlIGFuZCBzdHVkeSB0aGUgaGFsbHdheS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIE9wZW5pbmc6MTozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gT3BlbmluZzoxOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtldmluRXhhbWluZWRIYWxsd2F5ID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFdhdGNoZXMgdGhlIEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1dhbGsgY2xvc2VyIGJlZm9yZSB0aGUgc2hhcGUgZGlzYXBwZWFycy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIE9wZW5pbmc6MjowY2Q2NzQwZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gT3BlbmluZzoyOjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5FeGFtaW5lZEhhbGx3YXkgPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXBwcm9hY2hlcyB0aGUgSGFsbHdheSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VXNlIE1vbSYjMzk7cyBicmVhdGhpbmcgZXhlcmNpc2UgYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBPcGVuaW5nOjM6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIE9wZW5pbmc6Mzo4MGJmOGVlZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBDb250cm9scyBIaXMgQnJlYXRoaW5nJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtDYWxsIGZvciBBYmJpZS4gSGUgZG9lcyBub3QgbmVlZCB0byBpbnZlc3RpZ2F0ZSBhbG9uZS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIE9wZW5pbmc6NDpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gT3BlbmluZzo0OmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gT3BlbmluZzo1OjJmYWZmNGIyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLZXZpbiBPcGVuaW5nOjU6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQ2FsbHMgZm9yIEFiYmllJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyIiBuYW1lPSJLZXZpbiBXYXRjaGVzIHRoZSBIYWxsd2F5IiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTUwMCwxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjEgc3RhbmRhcmQgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7aGFsbHdheV9maWd1cmUmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9oYWxsd2F5X2ZpZ3VyZS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7cCZndDsKCUtldmluIHJlbWFpbmVkIHN0aWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCU1vdmluZyB0b28gcXVpY2tseSB3b3VsZCBtZWFuIGFkbWl0dGluZyB0aGF0IHRoZXJlIHdhcyBzb21ldGhpbmcKCXdvcnRoIGludmVzdGlnYXRpbmcuCiZsdDsvcCZndDsKCgoKJmx0O3AmZ3Q7CglTbyBoZSB3YXRjaGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBsYW1wIGZsaWNrZXJlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwoKCgombHQ7cCZndDsKCVRoZSBzaGFkb3dzIHNoaWZ0ZWQgaW4gdGhlIGZyYWN0aW9uIG9mIGRhcmtuZXNzIGJldHdlZW4gZWFjaCBmbGFzaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGF0IHdhcyB3aGVuIGhlIHNhdyB0aGUgc2hhcGUgY2xlYXJseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUYWxsLiBNb3Rpb25sZXNzLiBTdGFuZGluZyBhdCB0aGUgZmFyIGVuZCBvZiB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IG1vdmUgdG93YXJkIGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IG5lZWQgdG8uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgd2FzIGFscmVhZHkgd2F0Y2hpbmcuCiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRrZXZpblNhd0hhbGx3YXlGaWd1cmUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGhhbGx3YXlGaWd1cmVDb25maXJtZWQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGhhbGx3YXlGaWd1cmVVbmNlcnRhaW4gPSBmYWxzZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtBIHRhbGwgZmlndXJlIHN0b29kIGluIHRoZSBoYWxsd2F5JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb24gcmVjb3JkZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIHNhdyBhIHRhbGwgZmlndXJlCglpbnNpZGUgdGhlIGhhbGx3YXkgc2hhZG93cy4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKCUtldmluIGJsaW5rZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIGZpZ3VyZSB3YXMgZ29uZS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUtJmd0O0FiYmllIEVudGVycyB0aGUgS2l0Y2hlbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTMiIG5hbWU9IktldmluIEFwcHJvYWNoZXMgdGhlIEhhbGx3YXkiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIxNjAwLDQyNSIgc2l6ZT0iMTAwLDEwMCI+CiZsdDtwJmd0OwoJS2V2aW4gcHVzaGVkIGJhY2sgZnJvbSB0aGUgdGFibGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIGNoYWlyIGxlZ3Mgc2NyYXBlZCBhY3Jvc3MgdGhlIGZsb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBzb3VuZCB3YXMgb3JkaW5hcnkgYW5kIGZhbWlsaWFyLCBidXQgdGhlIGhhbGx3YXkgc2VlbWVkIHRvCglzd2FsbG93IGl0IGJlZm9yZSBpdCBjb3VsZCB0cmF2ZWwgbW9yZSB0aGFuIGEgZmV3IGZlZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSGUgdG9vayBvbmUgc3RlcC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgY29sZCBkZWVwZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglBbm90aGVyIHN0ZXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIHNoYXBlIGF0IHRoZSBlbmQgb2YgdGhlIGhhbGx3YXkgYmVjYW1lIGNsZWFyZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGFsbC4gTW90aW9ubGVzcy4gV2FpdGluZyBuZWFyIHRoZSBzdGFpcmNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZCBhdCB0aGUgbGluZSB3aGVyZSB0aGUga2l0Y2hlbiBlbmRlZCBhbmQgdGhlIGhhbGx3YXkKCWJlZ2FuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBmaWd1cmUgYXBwZWFyZWQgdG8gbGVhbiBmb3J3YXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUhlIGJsaW5rZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJTm90aGluZyBzdG9vZCB0aGVyZS4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJGtldmluU2F3SGFsbHdheUZpZ3VyZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkaGFsbHdheUZpZ3VyZUNvbmZpcm1lZCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkaGFsbHdheUZpZ3VyZVVuY2VydGFpbiA9IGZhbHNlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0EgdGFsbCBmaWd1cmUgc3Rvb2QgbmVhciB0aGUgc3RhaXJjYXNlJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb24gcmVjb3JkZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBmaWd1cmUgYXBwZWFyZWQgbmVhcgoJdGhlIHN0YWlyY2FzZSBhbmQgdmFuaXNoZWQgd2hlbiBLZXZpbiByZWFjaGVkIHRoZSBoYWxsd2F5LgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1JldHVybiB0byB0aGUgdGFibGUtJmd0O0FiYmllIEVudGVycyB0aGUgS2l0Y2hlbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTQiIG5hbWU9IktldmluIENvbnRyb2xzIEhpcyBCcmVhdGhpbmciIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIxMzUwLDcyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CglLZXZpbiBwbGFudGVkIGJvdGggZmVldCBhZ2FpbnN0IHRoZSBraXRjaGVuIGZsb29yLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUluaGFsZS4KCUhvbGQuCglFeGhhbGUuCglDb3VudC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB3YXMgTW9tJiMzOTtzIG1ldGhvZC4gR2l2ZSB0aGUgZmVhciBhIGJvdW5kYXJ5LiBHaXZlIGl0IG51bWJlcnMKCWluc3RlYWQgb2YgbGV0dGluZyBpdCBzcHJlYWQgaW50byBldmVyeXRoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIGJyZWF0aC4gVGhlbiBhbm90aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQnkgdGhlIHRoaXJkLCBLZXZpbiYjMzk7cyBwdWxzZSBoYWQgc2xvd2VkIGVub3VnaCBmb3IgaGltIHRvIGhlYXIgdGhlCglraXRjaGVuIGFnYWluOiB0aGUgcmVmcmlnZXJhdG9yIGh1bW1pbmcsIGEgcGlwZSB0aWNraW5nIGluc2lkZSB0aGUKCXdhbGwsIHRoZSBmYWludCBydXN0bGUgb2YgbGVhdmVzIGFnYWluc3QgdGhlIHdpbmRvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yZGluYXJ5IHNvdW5kcy4gT3JkaW5hcnkgaG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb21wbGV0ZWQgdGhlIGV4ZXJjaXNlIGJlZm9yZSBsb29raW5nIHRvd2FyZCB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaGFkb3dzIHdlcmUgZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBmaWd1cmUuIE5vIG1vdmVtZW50LiBOb3RoaW5nIHRhbGwgb3IgbW90aW9ubGVzcyB3YWl0aW5nIG5lYXIgdGhlCglzdGFpcmNhc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHNob3VsZCBoYXZlIG1hZGUgaGltIGZlZWwgYmV0dGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgYWxtb3N0IGRpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIGhhbGwgbGFtcCBmbGlja2VyZWQgb25jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB3aGlsZSBLZXZpbiB3YXRjaGVkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGluc3RhbnQgaGUgbG9va2VkIGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSB0dXJuZWQgYmFjay4gVGhlIGxpZ2h0IHJlbWFpbmVkIHN0ZWFkeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvdWxkIG5vIGxvbmdlciBiZSBjZXJ0YWluIHRoYXQgYW55b25lIGhhZCBzdG9vZCB0aGVyZS4gSGUgd2FzCglhbHNvIGJlZ2lubmluZyB0byBzdXNwZWN0IHRoZSBsYW1wIGtuZXcgd2hlbiBoZSB3YXMgbG9va2luZy4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkaGFsbHdheUZpZ3VyZVVuY2VydGFpbiA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TYXdIYWxsd2F5RmlndXJlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gbWF5IGhhdmUgc2VlbiBhIHNoYXBlIGluIHRoZSBoYWxsd2F5JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIHRob3VnaHQgaGUgc2F3IGEgZmlndXJlLAoJYnV0IGl0IGRpc2FwcGVhcmVkIGJlZm9yZSBoZSBjb3VsZCBjb25maXJtIGl0LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglGcm9tIG5lYXIgdGhlIHN0YWlyY2FzZSBjYW1lIGEgc29mdCBzY3JhcGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHNpbGVuY2UuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUtJmd0O0FiYmllIEVudGVycyB0aGUgS2l0Y2hlbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTUiIG5hbWU9IktldmluIENhbGxzIGZvciBBYmJpZSIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSIxMDI1LDY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtBYmJpZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluJiMzOTtzIHZvaWNlIGNyb3NzZWQgdGhlIGtpdGNoZW4gYW5kIGVudGVyZWQgdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzaG91bGQgaGF2ZSB0cmF2ZWxlZCB1cHN0YWlycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUluc3RlYWQsIGl0IHNlZW1lZCB0byBzdG9wIG5lYXIgdGhlIHN0YWlyY2FzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaGFkb3cgYXQgdGhlIGZhciBlbmQgcmVtYWluZWQgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBYmJpZSEmcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvb3RzdGVwcyBodXJyaWVkIG92ZXJoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVsZWFzZWQgdGhlIGJyZWF0aCBoZSBoYWQgYmVlbiBob2xkaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhbm90aGVyIHNldCBvZiBmb290c3RlcHMgYW5zd2VyZWQgZnJvbSB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNsb3dlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBzZXZlcmFsIHNlY29uZHMsIHR3byBzZXBhcmF0ZSByaHl0aG1zIG1vdmVkIHRocm91Z2ggdGhlIGhvdXNlLgoJQWJiaWUmIzM5O3MgcXVpY2sgc3RlcHMgY2FtZSBmcm9tIHVwc3RhaXJzLiBUaGUgb3RoZXJzIGNhbWUgZnJvbSBuZWFyIHRoZQoJc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdHJpZWQgdG8gY291bnQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHJlYWNoZWQgdGhlIGtpdGNoZW4gZG9vcndheSBiZWZvcmUgaGUgZmluaXNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2Vjb25kIHNldCBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU28gZGlkIHRoZSBmbGlja2VyaW5nIGxhbXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY29sZCBhaXIgdmFuaXNoZWQgc28gcXVpY2tseSB0aGF0IHdhcm10aCBydXNoZWQgcGFpbmZ1bGx5IGJhY2sKCWludG8gS2V2aW4mIzM5O3MgYW5rbGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZW50ZXJlZCBzd2luZ2luZyBoZXIgYmFja3BhY2sgYW5kIGh1bW1pbmcgYSBzb25nIHRoYXQgYXBwZWFyZWQKCXRvIGhhdmUgbm8gdHVuZSwgbm8gZW5kaW5nLCBhbmQgcG9zc2libHkgbm8gYmVnaW5uaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIHBhc3QgaGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyBzdG9vZCBpbiB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkaGFsbHdheUZpZ3VyZVVuY2VydGFpbiA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5TYXdIYWxsd2F5RmlndXJlID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7S2V2aW4gaGVhcmQgZm9vdHN0ZXBzIG5lYXIgdGhlIHN0YWlyY2FzZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QSBzZWNvbmQgc2V0IG9mIGZvb3RzdGVwcyBzdG9wcGVkIHdoZW4gQWJiaWUgZW50ZXJlZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gY2FsbGVkIHVyZ2VudGx5IGZyb20gdGhlIGtpdGNoZW4mcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O09ic2VydmF0aW9uIHJlY29yZGVkOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiBoZWFyZCBhIHNlY29uZCBzZXQgb2YKCWZvb3RzdGVwcywgYnV0IGhlIGRpZCBub3Qgc2VlIHdobyBtYWRlIHRoZW0uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQgaHVtbWluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeSBkaWQgeW91IGNhbGwgbWUgbGlrZSB0aGUgaG91c2Ugd2FzIG9uIGZpcmU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBnbGFuY2VkIGF0IHRoZSBoYWxsd2F5IGxhbXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXYXNuJiMzOTt0IGEgZmlyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsYW1wIGRpbW1lZCBzbGlnaHRseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1Byb2JhYmx5LCZxdW90OyBLZXZpbiBhZGRlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZS0mZ3Q7QWJiaWUgRW50ZXJzIHRoZSBLaXRjaGVuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNiIgbmFtZT0iQWJiaWUgRW50ZXJzIHRoZSBLaXRjaGVuIiB0YWdzPSJiZy1ob3VzZSIgcG9zaXRpb249Ijk3NSw4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IEtpdGNoZW4mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGVjaWRlIGhvdyBtdWNoIEtldmluIHNob3VsZCB0ZWxsIEFiYmllJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglBYmJpZSBza2lwcGVkIGludG8gdGhlIGtpdGNoZW4gYXMgaWYgbm90aGluZyB1bnVzdWFsIGhhZCBoYXBwZW5lZCBhbnl3aGVyZSBpbiB0aGUgd29ybGQuCiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtcDEgc3RhbmRhcmQgYmF0Y2gyIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2FiYmllX2RyYXdpbmcmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9hYmJpZV9kcmF3aW5nLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7CiZsdDtwJmd0OwoJSGVyIGJhY2twYWNrIHN3dW5nIGZyb20gb25lIGhhbmQgYW5kIHN0cnVjayB0aGUgZG9vcmZyYW1lIHdpdGggYSBsb3VkIHRodW5rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ganVtcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3RvcHBlZC4gJnF1b3Q7VGhhdCB3YXMgbXkgYmFja3BhY2suJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgbG9va2VkIGxpa2UgeW91IHRob3VnaHQgaXQgd2FzIGEgbW9uc3Rlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZGlkIG5vdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0dWRpZWQgaGltIHdpdGggdGhlIHNlcmlvdXMgY29uY2VudHJhdGlvbiBzaGUgbm9ybWFsbHkKCXJlc2VydmVkIGZvciBjYXJ0b29ucyBhbmQgY2VyZWFsLWJveCBwcml6ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgZGlkIHRoZSBmYWNlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBmYWNlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGZhY2Ugd2hlcmUgeW91ciBleWVzIGdldCBiaWcgYW5kIHlvdXIgbW91dGggZm9yZ2V0cyB3aGF0IGl0IHdhcwoJZG9pbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZWFsaXplZCBoaXMgbW91dGggd2FzIHN0aWxsIG9wZW4gYW5kIGNsb3NlZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIG5vZGRlZC4gJnF1b3Q7RXhhY3RseSB0aGF0IG9uZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCBoZXIsIHRoZSBsYW1wIGdsb3dlZCBzdGVhZGlseSBhbmQgdGhlIHNoYWRvd3MgcmVzdGVkIHdoZXJlCglzaGFkb3dzIHdlcmUgc3VwcG9zZWQgdG8gcmVzdC4gRXZlbiB0aGUgYWlyIGZlbHQgd2FybWVyLiBJdCB3YXMgYXMgaWYKCXRoZSBob3VzZSBoYWQgc3RyYWlnaHRlbmVkIGl0c2VsZiB0aGUgbW9tZW50IEFiYmllIGVudGVyZWQgdGhlIHJvb20uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgZ2xhbmNlZCBvdmVyIGhlciBzaG91bGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgd2VyZSB5b3UgbG9va2luZyBhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hhdCBzaG91bGQgS2V2aW4gdGVsbCBoZXI/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2lmICRoYWxsd2F5RmlndXJlQ29uZmlybWVkJmd0OyZndDsKCQkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVsbCBBYmJpZSBleGFjdGx5IHdoYXQgaGUgc2F3LiZxdW90OyZndDsmZ3Q7CgkJCSZsdDsmbHQ7c2V0ICRrZXZpblRvbGRBYmJpZSA9IHRydWUmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpBYmJpZSBFbnRlcnMgdGhlIEtpdGNoZW46MTpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6QWJiaWUgRW50ZXJzIHRoZSBLaXRjaGVuOjE6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QWJiaWUgRW50ZXJzIHRoZSBLaXRjaGVuOjI6OTcxZjRlNzEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFiYmllIEVudGVycyB0aGUgS2l0Y2hlbjoyOjk3MWY0ZTcxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAyJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBzYXcgYSBoYWxsd2F5IGZpZ3VyZSZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gVGVsbHMgQWJiaWUgRXZlcnl0aGluZyZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7Jmx0O2lmICRoYWxsd2F5RmlndXJlVW5jZXJ0YWluJmd0OyZndDsKCQkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVsbCBBYmJpZSBoZSB0aG91Z2h0IGhlIHNhdyBvciBoZWFyZCBzb21ldGhpbmcuJnF1b3Q7Jmd0OyZndDsKCQkJJmx0OyZsdDtzZXQgJGtldmluVG9sZEFiYmllID0gdHJ1ZSZndDsmZ3Q7CgkJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFiYmllIEVudGVycyB0aGUgS2l0Y2hlbjozOmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpBYmJpZSBFbnRlcnMgdGhlIEtpdGNoZW46MzpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpBYmJpZSBFbnRlcnMgdGhlIEtpdGNoZW46NDoyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6QWJiaWUgRW50ZXJzIHRoZSBLaXRjaGVuOjQ6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIHRob3VnaHQgc29tZXRoaW5nIHdhcyBpbiB0aGUgaGFsbHdheSZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gVGVsbHMgQWJiaWUgU29tZXRoaW5nIFdhcyBUaGVyZSZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoZXRoZXIgc2hlIGZlbHQgdGhlIGNvbGQgYWlyLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QWJiaWUgRW50ZXJzIHRoZSBLaXRjaGVuOjU6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFiYmllIEVudGVycyB0aGUgS2l0Y2hlbjo1OjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QWJiaWUgRW50ZXJzIHRoZSBLaXRjaGVuOjY6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFiYmllIEVudGVycyB0aGUgS2l0Y2hlbjo2OjJmYWZmNGIyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIGFza2VkIGFib3V0IGNvbGQgYWlyIGluIHRoZSBraXRjaGVuJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIEFza3MgQWJvdXQgdGhlIENvbGQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7TWFrZSBhIGpva2UgYW5kIHByZXRlbmQgbm90aGluZyBoYXBwZW5lZC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFiYmllIEVudGVycyB0aGUgS2l0Y2hlbjo3OmEzMTVhNjA4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpBYmJpZSBFbnRlcnMgdGhlIEtpdGNoZW46NzphMzE1YTYwOCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmF2b2lkICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gSGlkZXMgdGhlIEluY2lkZW50JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aHkgdGhlIGxhbXAgc3RvcHBlZCB3aGVuIHNoZSBlbnRlcmVkLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QWJiaWUgRW50ZXJzIHRoZSBLaXRjaGVuOjg6MGNkNjc0MGQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFiYmllIEVudGVycyB0aGUgS2l0Y2hlbjo4OjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGhhbGx3YXkgbGFtcCBzdG9wcGVkIGZsaWNrZXJpbmcgd2hlbiBBYmJpZSBlbnRlcmVkJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIEFza3MgQWJvdXQgdGhlIExhbXAmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTciIG5hbWU9IktldmluIFRlbGxzIEFiYmllIEV2ZXJ5dGhpbmciIHRhZ3M9ImJnLWhvdXNlIiBwb3NpdGlvbj0iODI1LDkwMCIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMSBjb25zZXF1ZW5jZSBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7YWJiaWVEaXNjbG9zdXJlJnF1b3Q7LCAmcXVvdDtmdWxsJnF1b3Q7LCAmcXVvdDtBYmJpZSByZWNlaXZlcyBhIGNvbXBsZXRlIHdhcm5pbmcgYW5kIGlzIG1vcmUgbGlrZWx5IHRvIHRydXN0IEtldmluIGxhdGVyLiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O1RoZXJlIHdhcyBzb21lb25lIGluIHRoZSBoYWxsd2F5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgdHVybmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hvPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkb24mIzM5O3Qga25vdy4gQSB0YWxsIGZpZ3VyZSBuZWFyIHRoZSBzdGFpcmNhc2UuIEl0IHdhcyBzdGFuZGluZyBpbgoJdGhlIHNoYWRvd3MuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsZWFuZWQgc2lkZXdheXMgYW5kIGxvb2tlZCBwYXN0IHRoZSBraXRjaGVuIGRvb3J3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBtb3ZlZCBiZXR3ZWVuIGhlciBhbmQgdGhlIGhhbGx3YXkgYmVmb3JlIHJlYWxpemluZyBoZSBoYWQgZG9uZQoJaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJcyBzb21lb25lIGhpZGluZz8mcXVvdDsgc2hlIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uIE1heWJlLiBJIGRvbiYjMzk7dCBrbm93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhvc2UgYXJlIHRocmVlIGRpZmZlcmVudCBhbnN3ZXJzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhbmsgeW91LCBBYmJpZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBzdHVkaWVkIHRoZSBlbXB0eSBoYWxsLiAmcXVvdDtNYXliZSB0aGUgcGVyc29uIGdvdCBzaHkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGFyZWQgYXQgaGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1Blb3BsZSBkb24mIzM5O3Qgbm9ybWFsbHkgaGlkZSBpbiBvdXIgaGFsbHdheSBiZWNhdXNlIHRoZXkmIzM5O3JlIHNoeS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0hvdyBkbyB5b3Uga25vdz8gWW91IGRpZG4mIzM5O3QgYXNrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcmV0dXJuZWQgaGVyIGF0dGVudGlvbiB0byBLZXZpbiwgYXBwYXJlbnRseSBzYXRpc2ZpZWQgdGhhdCBoaXMKCWZhaWx1cmUgdG8gaW50ZXJ2aWV3IHRoZSBoYWxsd2F5IGZpZ3VyZSB3YXMgdGhlIHJlYWwgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCBpdCBoYXZlIGEgZmFjZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRyaWVkIHRvIHJlbWVtYmVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVpZ2h0LiBTaG91bGRlcnMuIEEgaGVhZCB0aWx0ZWQgc2xpZ2h0bHkgdG8gb25lIHNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBmYWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgaGFkIGJlZW4gY2VydGFpbiBzb21ldGhpbmcgd2FzIHdhdGNoaW5nIGhpbSwgYnV0IGhlIGNvdWxkIG5vdAoJcmVtZW1iZXIgc2VlaW5nIGV5ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGNvdWxkbiYjMzk7dCBzZWUgb25lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIHRvd2FyZCB0aGUgaGFsbHdheSBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01heWJlIGl0IGxlZnQgaXQgc29tZXdoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNvbW1lbnQgd2FzIHJpZGljdWxvdXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3aXNoZWQgaXQgaGFkIHNvdW5kZWQgcmlkaWN1bG91cy4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gY291bGQgbm90IHNlZSBhIGZhY2Ugb24gdGhlIGhhbGx3YXkgZmlndXJlJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLbm93bGVkZ2Ugc2hhcmVkOiZsdDsvc3Ryb25nJmd0OyBBYmJpZSBrbm93cyBLZXZpbiBzYXcgYSB0YWxsIGZpZ3VyZQoJbmVhciB0aGUgc3RhaXJjYXNlLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglBIHNvZnQgY2xpY2sgY2FtZSBmcm9tIHRoZSBoYWxsd2F5IGxhbXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOZWl0aGVyIG9mIHRoZW0gbG9va2VkIHRvd2FyZCBpdC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB3aXRoIHRoZSBtb3JuaW5nLSZndDtBYmJpZSBEZWxpdmVycyB0aGUgTm90ZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTgiIG5hbWU9IkFiYmllIERlbGl2ZXJzIHRoZSBOb3RlIiB0YWdzPSJiZy1ob3VzZSIgcG9zaXRpb249IjkwMCwxMTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7VW5kZXJzdGFuZCB0aGUgbW9ybmluZyBwbGFuJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdWRkZW5seSByZW1lbWJlcmVkIHRoZSBmb2xkZWQgcGFwZXIgaW4gaGVyIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgYXJlIHdhbGtpbmcgbWUgdG8gc2Nob29sLCZxdW90OyBzaGUgYW5ub3VuY2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHJhaXNlZCB0aGUgbm90ZSBhYm92ZSBoZXIgaGVhZCBsaWtlIHNoZSBoYWQgd29uIGZpcnN0IHByaXplIGF0Cgl0aGUgZmFpci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluJiMzOTtzIHN0b21hY2ggdGlnaHRlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBrbm93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGRvbiYjMzk7dCBrbm93IHlldC4gSSBkaWRuJiMzOTt0IHJlYWQgaXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNb20gdG9sZCBtZSBsYXN0IG5pZ2h0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCB3YXMgdGhlIG9sZCB0ZWxsaW5nLiBUaGlzIGlzIHRoZSBub3RlIHRlbGxpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCZWZvcmUgS2V2aW4gY291bGQgZXhwbGFpbiB3aHkgaW5mb3JtYXRpb24gZGlkIG5vdCBiZWNvbWUgbmV3IHNpbXBseQoJYmVjYXVzZSBpdCBhcHBlYXJlZCBvbiBwYXBlciwgQWJiaWUgY2xlYXJlZCBoZXIgdGhyb2F0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U3ByZXB0ZW1iZXIgZml2ZSwgb25lLW5pbmUtc2V2ZW4tZWlnaHQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBpcyBTZXB0ZW1iZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugc2FpZCBTcHJlcHRlbWJlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgc2FpZCBpdCBmYXN0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGFkZGVkIGxldHRlcnMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBpZ25vcmVkIGhpbSBhbmQgY29udGludWVkIHJlYWRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtLZXZpbiwgZG9uJiMzOTt0IGZvcmdldCB0byB3YWxrIEFiYmllIHRvIHNjaG9vbC4gSSB3aWxsIHBpY2sgaGVyIHVwLgoJTG92ZSwgTW9tLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHRhcHBlZCBoZXIgY2hlc3QuICZxdW90O1RoYXQmIzM5O3MgbWUsIGJ5IHRoZSB3YXkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGFuayB5b3UuIEkgd2FzIGxvc2luZyB0cmFjay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGhhbmRlZCBoaW0gdGhlIG5vdGUgd2l0aCBhIHdpZGUsIHZpY3RvcmlvdXMgZ3Jpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlYWQgaXQgaGltc2VsZi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3b3JkcyB3ZXJlIG9yZGluYXJ5OiBNb20mIzM5O3MgaGFuZHdyaXRpbmcsIE1vbSYjMzk7cyBibHVlIHBlbiwgYW5kIGEKCXNtYWxsIHNtZWFyIGJlc2lkZSB0aGUgZGF0ZSB3aGVyZSBoZXIgaGFuZCBtdXN0IGhhdmUgYnJ1c2hlZCB0aGUgaW5rLgoJRm9yIG9uZSByZWFzc3VyaW5nIHNlY29uZCwgdGhlIG5vdGUgd2FzIHRoZSBtb3N0IG5vcm1hbCB0aGluZyBpbiB0aGUKCWhvdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBLZXZpbiBub3RpY2VkIHRoYXQgdGhlIGRhdGUgd2FzIGRhcmtlciB0aGFuIHRoZSByZXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2VwdGVtYmVyIDUsIDE5NzguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0aWx0ZWQgdGhlIG5vdGUgdG93YXJkIHRoZSBraXRjaGVuIGxpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIGEgbW9tZW50LCB0aGUgZmluYWwgZGlnaXQgYXBwZWFyZWQgZGlzdG9ydGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IGFuIGVpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIG5hcnJvdyBzdHJva2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSUkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBibGlua2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRhdGUgd2FzIG5vcm1hbCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQ/JnF1b3Q7IEFiYmllIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm90aGluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGZvbGRlZCB0aGUgbm90ZSBiZWZvcmUgdGhlIGluayBjb3VsZCBjaGFuZ2UgaXRzIG1pbmQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGludmVudG9yeS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O01vbSYjMzk7cyBub3RlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtNb20mIzM5O3Mgbm90ZSBpcyBkYXRlZCBTZXB0ZW1iZXIgNSwgMTk3OCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZWFjdCB0byB0aGUgY2hhbmdlIGluIHBsYW5zPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FjY2VwdCB0aGUgcGxhbiBhbmQgZm9jdXMgb24gZ2V0dGluZyBBYmJpZSByZWFkeS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFiYmllIERlbGl2ZXJzIHRoZSBOb3RlOjE6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFiYmllIERlbGl2ZXJzIHRoZSBOb3RlOjE6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpBYmJpZSBEZWxpdmVycyB0aGUgTm90ZToyOjJmYWZmNGIyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpBYmJpZSBEZWxpdmVycyB0aGUgTm90ZToyOjJmYWZmNGIyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIEFjY2VwdHMgdGhlIE1vcm5pbmcgUGxhbiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtUZWxsIEFiYmllIHRoZXkgbmVlZCB0byBsZWF2ZSBpbW1lZGlhdGVseS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFiYmllIERlbGl2ZXJzIHRoZSBOb3RlOjM6MGNkNjc0MGQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFiYmllIERlbGl2ZXJzIHRoZSBOb3RlOjM6MGNkNjc0MGQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBUcmllcyB0byBIdXJyeSBBYmJpZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2hldGhlciBBYmJpZSBub3RpY2VkIGFueXRoaW5nIHN0cmFuZ2UgYWJvdXQgdGhlIGRhdGUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpBYmJpZSBEZWxpdmVycyB0aGUgTm90ZTo0OjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpBYmJpZSBEZWxpdmVycyB0aGUgTm90ZTo0OjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIEFza3MgQWJvdXQgdGhlIE5vdGUgRGF0ZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtKb2tlIHRoYXQgdGhlIG5vdGUgaGFzIHJ1aW5lZCBoaXMgZW50aXJlIGxpZmUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpBYmJpZSBEZWxpdmVycyB0aGUgTm90ZTo1OmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpBYmJpZSBEZWxpdmVycyB0aGUgTm90ZTo1OmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QWJiaWUgRGVsaXZlcnMgdGhlIE5vdGU6NjoyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6QWJiaWUgRGVsaXZlcnMgdGhlIE5vdGU6NjoyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBKb2tlcyBBYm91dCB0aGUgUGxhbiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxOSIgbmFtZT0iS2V2aW4gQXNrcyBBYm91dCB0aGUgQ29sZCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjEyMjUsMTI1MCIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMSBjb25zZXF1ZW5jZSBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7YWJiaWVEaXNjbG9zdXJlJnF1b3Q7LCAmcXVvdDtjb2xkJnF1b3Q7LCAmcXVvdDtBYmJpZSBmb2N1c2VzIG9uIHRoZSBwaHlzaWNhbCB3YXJuaW5nIHNpZ24gcmF0aGVyIHRoYW4gdGhlIGZpZ3VyZS4mcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IGZlZWwgdGhlIGNvbGQgYWlyIHdoZW4geW91IGNhbWUgaW4/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBydWJiZWQgb25lIGhhbmQgb3ZlciBoZXIgYXJtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBjb2xkIGFpcj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IHdhcyBtb3ZpbmcgdGhyb3VnaCB0aGUga2l0Y2hlbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01heWJlIHRoZSByZWZyaWdlcmF0b3Igc25lZXplZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1JlZnJpZ2VyYXRvcnMgZG9uJiMzOTt0IHNuZWV6ZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gbWF5YmUgaXQgY291Z2hlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCB0b3dhcmQgdGhlIHJlZnJpZ2VyYXRvci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBvbGQsIGxvdWQsIGFuZCBzaGFwZWQgbGlrZSBhbiBhcHBsaWFuY2UgdGhhdCBtaWdodCByZXNlbnQgYmVpbmcKCWRpc2N1c3NlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgaXMgbm90IGJldHRlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHdhbGtlZCB0byB0aGUgaGFsbHdheSBlbnRyYW5jZSBhbmQgaGVsZCBvdXQgb25lIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBhbG1vc3QgdG9sZCBoZXIgbm90IHRvLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHdhaXRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdGhpbmcgaGFwcGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtObyBjb2xkLCZxdW90OyBzaGUgYW5ub3VuY2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBoZXIgZmluZ2VycyB0d2l0Y2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHB1bGxlZCBoZXIgaGFuZCBiYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2F3IHRoZSBtb3ZlbWVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOb3RoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGZlbHQgc29tZXRoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgdHVja2VkIGhlciBoYW5kIGJlaGluZCBoZXIgYmFjay4gJnF1b3Q7SXQgdGlja2xlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgdGlja2xlZD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBzaHJ1Z2dlZC4gJnF1b3Q7VGhlIGFpci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgc2FpZCB0aGUgaGFsbHdheSBhaXIgdGlja2xlZCBoZXIgaGFuZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7U29tZXRoaW5nIGluIHRoZSBoYWxsd2F5IGFpciB0b3VjaGVkIEFiYmllJiMzOTtzIGhhbmQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYXJlZCBvYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgQWJiaWUgZGVuaWVkIGZlZWxpbmcgY29sZCBidXQKCXNhaWQgdGhlIGhhbGx3YXkgYWlyIOKAnHRpY2tsZWTigJ0gaGVyIGhhbmQuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBpbnRvIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNoYWRvd3MgaGFkIG5vdCBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHdhcyBhbG1vc3QgY2VydGFpbi4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB3aXRoIHRoZSBtb3JuaW5nLSZndDtBYmJpZSBEZWxpdmVycyB0aGUgTm90ZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjAiIG5hbWU9IktldmluIEhpZGVzIHRoZSBJbmNpZGVudCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjE1MDAsODc1IiBzaXplPSIxMDAsMTAwIj4vKiBCNS4xIGNvbnNlcXVlbmNlIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDthYmJpZURpc2Nsb3N1cmUmcXVvdDssICZxdW90O2hpZGRlbiZxdW90OywgJnF1b3Q7QWJiaWUgaXMgcHJvdGVjdGVkIGZyb20gdGhlIHN0b3J5IGJ1dCBsYXRlciBsYWNrcyBhIHdhcm5pbmcuJnF1b3Q7KSZndDsmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSB3YXMgY2hlY2tpbmcgd2hldGhlciB0aGUgaGFsbHdheSB3YXMgc3RpbGwgdGhlcmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgcGFzdCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBpcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0dvb2QuIFRoZW4gdGhlIGluc3BlY3Rpb24gd2FzIHN1Y2Nlc3NmdWwuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEbyBoYWxsd2F5cyBnbyBhd2F5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm90IHVzdWFsbHkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgdGhpcyBvbmU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBmb3JjZWQgYSBsYXVnaC4gJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGF1Z2ggc291bmRlZCB0aGluIGFuZCB1bmZpbmlzaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY29udGludWVkIHdhdGNoaW5nIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHBpY2tlZCB1cCBoaXMgb3JhbmdlIGp1aWNlIGFuZCBkcmFuayB3aXRob3V0IGNoZWNraW5nIGhvdyBtdWNoCglyZW1haW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBnbGFzcyB3YXMgZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzd2FsbG93ZWQgYWlyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZ3Jpbm5lZC4gJnF1b3Q7R29vZCBqdWljZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0V4Y2VsbGVudC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCBoZXIsIHRoZSBsYW1wIGZsaWNrZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGtlcHQgaGlzIGV5ZXMgb24gQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJZiBoZSBkaWQgbm90IGFja25vd2xlZGdlIHRoZSBoYWxsd2F5LCBwZXJoYXBzIHRoZSBoYWxsd2F5IHdvdWxkCglyZXR1cm4gdGhlIGZhdm9yLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtJbmNpZGVudCBjb25jZWFsZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIGNob3NlIG5vdCB0byB0ZWxsIEFiYmllCgl3aGF0IGhhcHBlbmVkLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgbGlnaHQgcmVmbGVjdGVkIGluIHRoZSBlbXB0eSBqdWljZSBnbGFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBhbiBpbnN0YW50LCBhIHRhbGwgZGFyayBzaGFwZSBhcHBlYXJlZCBiZWhpbmQgS2V2aW4mIzM5O3MgcmVmbGVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHNldCB0aGUgZ2xhc3MgZmFjZWRvd24uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgd2l0aCB0aGUgbW9ybmluZy0mZ3Q7QWJiaWUgRGVsaXZlcnMgdGhlIE5vdGVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIxIiBuYW1lPSJLZXZpbiBBc2tzIEFib3V0IHRoZSBMYW1wIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTUyNSwxMTI1IiBzaXplPSIxMDAsMTAwIj4vKiBCNS4xIGNvbnNlcXVlbmNlIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDthYmJpZURpc2Nsb3N1cmUmcXVvdDssICZxdW90O2xhbXAmcXVvdDssICZxdW90O0FiYmllIGxlYXJucyB0byB3YXRjaCBlbGVjdHJpY2FsIGNoYW5nZXMgYXMgYSB3YXJuaW5nLiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O1doeSBkaWQgdGhlIGxhbXAgc3RvcCBmbGlja2VyaW5nIHdoZW4geW91IGNhbWUgaW4/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgYXQgdGhlIGhhbGx3YXkgbGlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNYXliZSBpdCBsaWtlcyBtZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0xhbXBzIGRvbiYjMzk7dCBsaWtlIHBlb3BsZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01heWJlIHRoYXQgb25lIGRvZXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXQgdGhlIGxhbXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGlnaHQgcmVtYWluZWQgcGVyZmVjdGx5IHN0ZWFkeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dhdmUgYXQgaXQsJnF1b3Q7IGhlIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB3YXZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdGhpbmcgaGFwcGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTYXkgZ29vZGJ5ZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0dvb2RieWUsIGxhbXAuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnVsYiBkaW1tZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIGJyZWF0aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsaWdodCBicmlnaHRlbmVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbGF1Z2hlZC4gJnF1b3Q7SXQgaGVhcmQgbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0JiMzOTtzIG5vdCBmdW5ueS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IHdhcyBhIGxpdHRsZSBmdW5ueS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGdsYW5jZWQgYXQgdGhlIHN3aXRjaCBvbiB0aGUgd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGhhZCBub3QgbW92ZWQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBoYWxsd2F5IGxhbXAgZGltbWVkIGFmdGVyIEFiYmllIHNhaWQgZ29vZGJ5ZSB0byBpdCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGhhbGx3YXkgbGFtcCBhcHBlYXJlZCB0byByZXNwb25kIHdoZW4gQWJiaWUgc3Bva2UmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYXJlZCBvYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIGhhbGx3YXkgbGFtcCBkaW1tZWQgYWZ0ZXIKCUFiYmllIHNwb2tlIHRvIGl0LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglBYmJpZSB3YXZlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidWxiIHN0YXllZCBicmlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTZWU/JnF1b3Q7IHNoZSBzYWlkLiAmcXVvdDtOb3cgaXQmIzM5O3MgYmVpbmcgcnVkZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB3aXRoIHRoZSBtb3JuaW5nLSZndDtBYmJpZSBEZWxpdmVycyB0aGUgTm90ZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjIiIG5hbWU9IktldmluIFJlYnVpbGRzIHRoZSBQbGFuIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMzc1LDEwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJS2V2aW4gcmVidWlsdCB0aGUgbW9ybmluZyBpbiBoaXMgaGVhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglXYWxrIEFiYmllIHRvIHNjaG9vbC4gRG8gbm90IHNraXAuIERvIG5vdCBzaW5nLiBEbyBub3QgYmVjb21lIFBldGVyCglQYW4gYWdhaW4uIFRoZW4gaHVycnkgdG8gdGhlIG1pZGRsZSBzY2hvb2wsIGZpbmQgaG9tZXJvb20sIGZpbmQgdGhlCglsb2NrZXIsIGFuZCBhdm9pZCBzcGVha2luZyB1bnRpbCBzb21lb25lIGFza2VkIGEgZGlyZWN0IHF1ZXN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUl0IHdhcyBub3QgdGhlIG9yaWdpbmFsIHBsYW4sIGJ1dCBpdCB3YXMgYSBwbGFuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVBsYW5zIHdlcmUgZmVuY2VzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUZlbmNlcyBrZXB0IGV2ZXJ5dGhpbmcgZnJvbSBydXNoaW5nIGluIGF0IG9uY2UuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NoZWNrIGhvdyBtdWNoIHRpbWUgcmVtYWlucy0mZ3Q7S2V2aW4gQ2hlY2tzIHRoZSBUaW1lXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMyIgbmFtZT0iS2V2aW4gQ2hlY2tzIHRoZSBUaW1lIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iNTAwLDEyMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IEtpdGNoZW4mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CglLZXZpbiBnbGFuY2VkIGF0IGhpcyBkaWdpdGFsIHdhdGNoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBzY3JlZW4gd2FzIGJsYW5rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUhlIHByZXNzZWQgb25lIGJ1dHRvbi4gVGhlbiBhbm90aGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCU5vdGhpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSGUgaGFkIGJlZW4gd2VhcmluZyB0aGUgd2F0Y2ggYWxsIG1vcm5pbmcsIGFuZCBpdCBoYWQgYmVlbiB3b3JraW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUtldmluIGxvb2tlZCB0b3dhcmQgdGhlIGNsb2NrIGFib3ZlIHRoZSBzdG92ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgb2xkIHdvb2RlbiBjbG9jayBoYWQgc3RvcHBlZCBhdCA5OjE0LgombHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LXAxIHN0YW5kYXJkIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O3dhdGNoXzkxNCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX3dhdGNoXzkxNC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwoKJmx0O3AmZ3Q7CglUaGUgc2Vjb25kIGhhbmQgd2FzIG5vdCBzdHVjayBiZXR3ZWVuIG1hcmtzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUl0IHdhcyBnb25lLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAkbm90aWNlZEZyb3plblRpbWUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0tldmluJiMzOTtzIHdhdGNoIGFuZCB0aGUga2l0Y2hlbiBjbG9jayBzdG9wcGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUga2l0Y2hlbiBjbG9jayBzdG9wcGVkIGF0IDk6MTQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGtpdGNoZW4gY2xvY2sgc3RvcHBlZCBhdCA5OjE0JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2tldmluLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIFBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQgdW5leHBsYWluZWQgZXZlbnRzLgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtDbHVlIGRpc2NvdmVyZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluJiMzOTtzIGRpZ2l0YWwgd2F0Y2ggZmFpbGVkLCBhbmQKCXRoZSBraXRjaGVuIGNsb2NrIHN0b3BwZWQgYXQgOToxNC4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hhdCBleHBsYW5hdGlvbiBzaG91bGQgS2V2aW4gYWNjZXB0PyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtCb3RoIGNsb2NrcyBtYWxmdW5jdGlvbmVkLiBVbmxpa2VseSBkb2VzIG5vdCBtZWFuIGltcG9zc2libGUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBDaGVja3MgdGhlIFRpbWU6MTo4MGJmOGVlZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gQ2hlY2tzIHRoZSBUaW1lOjE6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gRXhwbGFpbnMgdGhlIENsb2NrcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VHdvIGZhaWx1cmVzIGF0IHRoZSBzYW1lIHRpbWUgYXJlIHBhcnQgb2YgdGhlIHBhdHRlcm4uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBDaGVja3MgdGhlIFRpbWU6MjozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gQ2hlY2tzIHRoZSBUaW1lOjI6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQWNjZXB0cyB0aGUgUGF0dGVybiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIEFiYmllIHdoZXRoZXIgc2hlIG5vdGljZWQgdGhlIGNsb2NrIHN0b3AuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBDaGVja3MgdGhlIFRpbWU6MzpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gQ2hlY2tzIHRoZSBUaW1lOjM6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGtpdGNoZW4gY2xvY2sgc3RvcHBlZCBhdCA5OjE0JnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0FiYmllIEV4YW1pbmVzIHRoZSBDbG9jayZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7SWdub3JlIHRoZSBjbG9ja3MgYW5kIGNvbmNlbnRyYXRlIG9uIGxlYXZpbmcuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBDaGVja3MgdGhlIFRpbWU6NDphMzE1YTYwOCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gQ2hlY2tzIHRoZSBUaW1lOjQ6YTMxNWE2MDgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFJlZnVzZXMgdGhlIFBhdHRlcm4mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjQiIG5hbWU9IktldmluIFB1c2hlcyB0aGUgU2NoZWR1bGUiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSI2NTAsMTEwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtXZSBuZWVkIHRvIGxlYXZlIG5vdy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgdG93YXJkIHRoZSBjZXJlYWwgY3VwYm9hcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7QWZ0ZXIgYnJlYWtmYXN0LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O1dlIGRvbiYjMzk7dCBoYXZlIHRpbWUgZm9yIGJyZWFrZmFzdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtJIG5lZWQgYSBicmFsYW5jZWQgYW5kIG5ydWRpdGlvbnJhbCBicmVha2Zhc3QuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJS2V2aW4gc3RhcmVkIGF0IGhlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtCYWxhbmNlZCBhbmQgbnV0cml0aW9uYWwuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCYjMzk7cyB3aGF0IEkgc2FpZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglLZXZpbiByZWFjaGVkIGZvciBoaXMgd2F0Y2ggdG8gcHJvdmUgaG93IGxhdGUgdGhleSB3ZXJlLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDaGVjayB0aGUgdGltZS0mZ3Q7S2V2aW4gQ2hlY2tzIHRoZSBUaW1lXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNSIgbmFtZT0iS2V2aW4gQXNrcyBBYmJpZSBmb3IgSGVscCIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSI0NzUsNzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0kgbmVlZCB5b3VyIGhlbHAgdGhpcyBtb3JuaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQgd2F2aW5nIHRoZSBub3RlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUtldmluIGFsbW9zdCBuZXZlciBhZG1pdHRlZCB0aGF0IGhlIG5lZWRlZCBoZWxwIGZyb20gaGlzIHlvdW5nZXIKCXNpc3Rlci4gSGUgaW1tZWRpYXRlbHkgY29uc2lkZXJlZCB0YWtpbmcgdGhlIHdvcmRzIGJhY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7SSBoYXZlIHRvIGZpbmQgZXZlcnl0aGluZyBhdCB0aGUgbmV3IHNjaG9vbCwmcXVvdDsgaGUgY29udGludWVkLgoJJnF1b3Q7U28gSSBuZWVkIHVzIHRvIGxlYXZlIG9uIHRpbWUuIE5vIHNpbmdpbmcuIE5vIHNraXBwaW5nLiBObyBQZXRlcgoJUGFuLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUFiYmllIGNvbnNpZGVyZWQgdGhlIHJlcXVlc3Qgd2l0aCBzdXJwcmlzaW5nIHNlcmlvdXNuZXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O1dlIGNhbiB3YWxrIG5vcm1hbCwmcXVvdDsgc2hlIHNhaWQuICZxdW90O0J1dCBvbmx5IHVudGlsIHRoZSBzaWRld2Fsay4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglJdCB3YXMgbm90IGEgZ29vZCBhZ3JlZW1lbnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSXQgd2FzIHRoZSBiZXN0IGFncmVlbWVudCBoZSB3YXMgbGlrZWx5IHRvIGdldC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIGlzIHdvcnJpZWQgYWJvdXQgYXJyaXZpbmcgbGF0ZSB0byBoaXMgbmV3IHNjaG9vbCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ2hlY2sgaG93IG11Y2ggdGltZSByZW1haW5zLSZndDtLZXZpbiBDaGVja3MgdGhlIFRpbWVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI2IiBuYW1lPSJLZXZpbiBFeHBsYWlucyB0aGUgQ2xvY2tzIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTU3NSw2NzUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJVGhlIHdhdGNoIGJhdHRlcnkgd2FzIGRlYWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJVGhlIGtpdGNoZW4gY2xvY2sgd2FzIG9sZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaG9zZSB3ZXJlIHR3byBub3JtYWwgZXhwbGFuYXRpb25zLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBmYWN0IHRoYXQgYm90aCBmYWlsdXJlcyBoYXBwZW5lZCBkdXJpbmcgdGhlIHNhbWUgc3RyYW5nZSBtb3JuaW5nCglkaWQgbm90IGF1dG9tYXRpY2FsbHkgbWVhbiB0aGV5IHdlcmUgY29ubmVjdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUtldmluIHJlcGVhdGVkIHRoYXQgY29uY2x1c2lvbiB1bnRpbCBpdCBhbG1vc3Qgc291bmRlZCByZWFzb25hYmxlLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZS0mZ3Q7QWJiaWUgUmVhY2hlcyBmb3IgdGhlIENlcmVhbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjciIG5hbWU9IkFiYmllIFJlYWNoZXMgZm9yIHRoZSBDZXJlYWwiIHRhZ3M9ImJnLWhvdXNlIiBwb3NpdGlvbj0iMTcwMCw4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtHZXQgQWJiaWUgZmVkIGFuZCBsZWF2ZSBmb3Igc2Nob29sJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglBYmJpZSBkcmFnZ2VkIGEgY2hhaXIgdG93YXJkIHRoZSBjdXBib2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3b29kZW4gbGVncyBzY3JhcGVkIGFjcm9zcyB0aGUga2l0Y2hlbiBmbG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb3VuZCByZW1pbmRlZCBLZXZpbiBvZiB0aGUgc2NyYXBlIGhlIGhhZCBoZWFyZCBuZWFyIHRoZQoJc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgdG9sZCBoaW1zZWxmIG5vdCB0byBjb25uZWN0IGV2ZXJ5dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGhlIHRvbGQgaGltc2VsZiB0aGF0IHJlZnVzaW5nIHRvIGNvbm5lY3QgYW55dGhpbmcgd2FzIGFsc28gYQoJcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHBvc2l0aW9uZWQgdGhlIGNoYWlyIGJlbmVhdGggdGhlIGN1cGJvYXJkIGFuZCBjbGltYmVkIG9udG8gaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNb20gc2FpZCBub3QgdG8gc3RhbmQgb24gY2hhaXJzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TW9tIHNhaWQgdG8gZWF0IGJyZWFrZmFzdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1Rob3NlIGluc3RydWN0aW9ucyBkbyBub3QgY2FuY2VsIGVhY2ggb3RoZXIgb3V0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhleSBkbyBpZiB0aGUgY2VyZWFsIGlzIGhpZ2guJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBiYWxhbmNlZCBvbmUga25lZSBhZ2FpbnN0IHRoZSBjb3VudGVyIGFuZCByZWFjaGVkIHRvd2FyZCB0aGUKCXRvcCBzaGVsZi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGFpciBzaGlmdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3MgaGFuZCBtb3ZlZCBiZWZvcmUgdGhlIHJlc3Qgb2YgaGltIGRlY2lkZWQgd2hhdCB0byBkby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gdGhlIGhhbGx3YXkgY2FtZSBhIGZhaW50IGNyZWFrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgc291bmRlZCBhbG1vc3QgbGlrZSB0aGUgaG91c2Ugc2hpZnRpbmcgaXRzIHdlaWdodCB0byB3YXRjaC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0xldCBBYmJpZSBnZXQgdGhlIGNlcmVhbCBoZXJzZWxmLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QWJiaWUgUmVhY2hlcyBmb3IgdGhlIENlcmVhbDoxOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsOjE6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7QWJiaWUgR2V0cyBIZXIgT3duIENlcmVhbCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtHZXQgdGhlIGNlcmVhbCBmb3IgaGVyLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QWJiaWUgUmVhY2hlcyBmb3IgdGhlIENlcmVhbDoyOmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsOjI6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsOjM6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFiYmllIFJlYWNoZXMgZm9yIHRoZSBDZXJlYWw6MzoyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBHZXRzIHRoZSBDZXJlYWwmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3RlYWR5IHRoZSBjaGFpciB3aGlsZSBBYmJpZSByZWFjaGVzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QWJiaWUgUmVhY2hlcyBmb3IgdGhlIENlcmVhbDo0OjgwYmY4ZWVlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsOjQ6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsOjU6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFiYmllIFJlYWNoZXMgZm9yIHRoZSBDZXJlYWw6NToyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBTdGVhZGllcyB0aGUgQ2hhaXImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVsbCBoZXIgdG8gY2xpbWIgZG93biBpbW1lZGlhdGVseS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFiYmllIFJlYWNoZXMgZm9yIHRoZSBDZXJlYWw6NjowY2Q2NzQwZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6QWJiaWUgUmVhY2hlcyBmb3IgdGhlIENlcmVhbDo2OjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gT3JkZXJzIEFiYmllIERvd24mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7TG93ZXIgaGlzIGhlYWQgYW5kIGhvcGUgdGhlIG1vcm5pbmcgcGF1c2VzIGZvciBhIHNlY29uZC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFiYmllIFJlYWNoZXMgZm9yIHRoZSBDZXJlYWw6NzphMzE1YTYwOCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6QWJiaWUgUmVhY2hlcyBmb3IgdGhlIENlcmVhbDo3OmEzMTVhNjA4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYXZvaWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBGb2xkcyBJbndhcmQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjgiIG5hbWU9IktldmluIEFjY2VwdHMgdGhlIFBhdHRlcm4iIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIxMjUsODUwIiBzaXplPSIxMDAsMTAwIj4vKiBCNS4yIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtjbG9ja1RoZW9yeSZxdW90OywgJnF1b3Q7YWNjZXB0JnF1b3Q7LCAmcXVvdDtLZXZpbiBhY2NlcHRzIDk6MTQgYXMgYSBjb25uZWN0ZWQgcGF0dGVybi4mcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZXN0ZWQgYm90aCBoYW5kcyBvbiB0aGUga2l0Y2hlbiB0YWJsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBmYXVsdHkgb2JqZWN0IHdhcyBhIG1hbGZ1bmN0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIG9iamVjdHMgZmFpbGluZyBhdCB0aGUgc2FtZSB0aW1lIHN1Z2dlc3RlZCBhIGNhdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIG9iamVjdHMgZGlzcGxheWluZyB0aGUgc2FtZSBpbXBvc3NpYmxlIHRpbWUgc3VnZ2VzdGVkIGludGVudC4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRoYWxsd2F5RmlndXJlQ29uZmlybWVkJmd0OyZndDsKCSZsdDtwJmd0OwoJCUEgZmlndXJlIGhhZCBzdG9vZCBpbiB0aGUgaGFsbHdheS4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJGhhbGx3YXlGaWd1cmVVbmNlcnRhaW4mZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJU29tZXRoaW5nIGhhZCBtb3ZlZCBvciB3YWl0ZWQgbmVhciB0aGUgc3RhaXJjYXNlLCBldmVuIGlmIEtldmluCgkJY291bGQgbm90IHByb3ZlIHdoYXQgaXQgaGFkIGJlZW4uCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgbGFtcCBoYWQgZmxpY2tlcmVkLiBDb2xkIGFpciBoYWQgY3Jvc3NlZCBhIHdhcm0ga2l0Y2hlbi4gSGlzIHdhdGNoCglhbmQgdGhlIGNsb2NrIGhhZCBhZ3JlZWQgb24gOToxNCBiZWZvcmUgYm90aCBzdG9wcGVkIHdvcmtpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkaWQgbm90IGtub3cgd2hhdCBjb25uZWN0ZWQgdGhlIGV2ZW50cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGtuZXcgdGhleSBiZWxvbmdlZCBvbiB0aGUgc2FtZSBsaXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB0aG91Z2h0IG1hZGUgdGhlIG1vcm5pbmcgbW9yZSBmcmlnaHRlbmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGFsc28gbWFkZSB0aGUgbW9ybmluZyBlYXNpZXIgdG8gaG9sZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgcGF0dGVybiBjb3VsZCBiZSBzdHVkaWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBwYXR0ZXJuIG1pZ2h0IGhhdmUgcnVsZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSdWxlcyB3ZXJlIGJldHRlciB0aGFuIGNoYW9zLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7a2V2aW4tcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgY29uY2x1c2lvbjombHQ7L3N0cm9uZyZndDsgVGhlIGV2ZW50cyBtYXkgYmUgY29ubmVjdGVkLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglCZWhpbmQgaGltLCB0aGUgY2xvY2sgdGlja2VkIG9uY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkaWQgbm90IHR1cm4gYXJvdW5kLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlLSZndDtBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyOSIgbmFtZT0iQWJiaWUgRXhhbWluZXMgdGhlIENsb2NrIiB0YWdzPSJiZy1ob3VzZSIgcG9zaXRpb249IjEwMjUsMTAwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtBYmJpZSwgZGlkIHlvdSBub3RpY2UgdGhlIGNsb2NrIHN0b3BwZWQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJU2hlIGxvb2tlZCBhdCB0aGUgc3RvdmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7TWF5YmUgaXQgZ290IHRpcmVkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O0Nsb2NrcyBkb24mIzM5O3QgZ2V0IHRpcmVkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O01heWJlIHRoYXQgb25lIGRvZXMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IHRoZSBsYW1wLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZW4gaGUgbG9va2VkIGF0IHRoZSBjbG9jay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglBYmJpZSBoYWQgbm93IGFzc2lnbmVkIGZlZWxpbmdzIHRvIHR3byBob3VzZWhvbGQgb2JqZWN0cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglIZSB3YXMgYmVjb21pbmcgaW5jcmVhc2luZ2x5IGNvbmNlcm5lZCB0aGF0IHRoZSBob3VzZSBtaWdodCBhZ3JlZQoJd2l0aCBoZXIuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlLSZndDtBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMCIgbmFtZT0iS2V2aW4gUmVmdXNlcyB0aGUgUGF0dGVybiIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249Ijc1MCwxMzAwIiBzaXplPSIxMDAsMTAwIj4vKiBCNS4yIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtjbG9ja1RoZW9yeSZxdW90OywgJnF1b3Q7cmVqZWN0JnF1b3Q7LCAmcXVvdDtLZXZpbiBkZWxheXMgdGhlIHBhdHRlcm4gdGhlb3J5IGFuZCBwcmVzZXJ2ZXMgc2tlcHRpY2lzbS4mcXVvdDspJmd0OyZndDsKOjogS2V2aW4gUmVmdXNlcyB0aGUgUGF0dGVybgombHQ7cCZndDsKCUtldmluIGxvd2VyZWQgaGlzIHdyaXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdhdGNoIG5lZWRlZCBhIGJhdHRlcnkuIFRoZSBjbG9jayBuZWVkZWQgcmVwYWlycy4gVGhlIGhhbGx3YXkgbGFtcAoJbmVlZGVkIGEgbmV3IGJ1bGIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY29sZCBhaXIgaGFkIGNvbWUgZnJvbSBzb21ld2hlcmUgY29sZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIGhvdyBhaXIgd29ya2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJvYmFibHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBkaWQgbm90IGhhdmUgdGltZSB0byBzb2x2ZSBkZWZlY3RpdmUgY2xvY2tzLCB1bnJlbGlhYmxlIHdpcmluZywKCWhhbGx3YXlzLCBzaGFkb3dzLCBvciBhbnl0aGluZyBlbHNlIHRoZSBob3VzZSBoYWQgZGVjaWRlZCB0byBjb250cmlidXRlCgl0byB0aGUgbW9ybmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBuZXcgc2Nob29sIHJlbWFpbmVkIHRoZSBpbW1lZGlhdGUgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgcHJvYmxlbSB3YXMgcmVhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGhhZCBzY2hlZHVsZXMsIGNsYXNzcm9vbXMsIHRlYWNoZXJzLCBydWxlcywgYW5kIGNvbnNlcXVlbmNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBoYWxsd2F5IGhhZCBub25lIG9mIHRob3NlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRXZlcnl0aGluZyBlbHNlIGNvdWxkIHdhaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQgYXdheSBmcm9tIHRoZSBraXRjaGVuIGNsb2NrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgdGlja2VkIGJlaGluZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNsb2NrIGRpZCBub3QgdGljayBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZS0mZ3Q7QWJiaWUgUmVhY2hlcyBmb3IgdGhlIENlcmVhbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzEiIG5hbWU9IktldmluIEdldHMgdGhlIENlcmVhbCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249Ijc3NSwxMDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCUtldmluIHN0b29kIGFuZCByZWFjaGVkIHBhc3QgQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSByZW1vdmVkIHRoZSBjZXJlYWwgYm94IGJlZm9yZSB0aGUgY2hhaXIgY291bGQgc2hpZnQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGNvdWxkIGhhdmUgZ290dGVuIGl0LCZxdW90OyBzaGUgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBkaWRuJiMzOTt0IGhhdmUgdG8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugc2F5IHRoYXQgd2hlbiB5b3UgZG9uJiMzOTt0IHdhbnQgdG8gZXhwbGFpbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHBsYWNlZCB0aGUgY2VyZWFsIG9uIHRoZSB0YWJsZS4gJnF1b3Q7SSBrbm93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbmFycm93ZWQgaGVyIGV5ZXMgYnV0IGFjY2VwdGVkIHRoZSBib3guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3IgYSBmZXcgc2Vjb25kcywgdGhlIGtpdGNoZW4gYmVjYW1lIHdvbmRlcmZ1bGx5IG9yZGluYXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgaGFsbHdheSBsYW1wIGNsaWNrZWQgb2ZmLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdHVybmVkIHRvd2FyZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjcmFzaCBjYW1lIGZyb20gYmV5b25kIHRoZSBkb29yd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVhdnkgd29vZCBzdHJ1Y2sgdGhlIGZsb29yLiBHbGFzcyBzaGF0dGVyZWQuIFNvbWV0aGluZyByb2xsZWQgdG93YXJkCgl0aGUgc3RhaXJzIGFuZCBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcG91cmVkIGNlcmVhbCBpbnRvIGhlciBib3dsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHNob3VsZCBjaGVjayB0aGF0LCZxdW90OyBzaGUgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0YXJlZCBhdCBoZXIuICZxdW90O1doeSBtZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBhcmUgdGhlIG9uZSB3aG8ga2VlcHMgbG9va2luZyBhdCB0aGUgaGFsbHdheS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tJbnZlc3RpZ2F0ZSB0aGUgc291bmQtJmd0O1RoZSBIYWxsd2F5IENyYXNoXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMiIgbmFtZT0iVGhlIEhhbGx3YXkgQ3Jhc2giIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI5MDAsMTI1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIHRoZSBzb3VyY2Ugb2YgdGhlIGNyYXNoJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIHdoZXJlIHRoZSBraXRjaGVuIGVuZGVkIGFuZCB0aGUgaGFsbHdheSBiZWdhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGxpc3RlbmVkIGJlZm9yZSBjcm9zc2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdGhpbmcgbW92ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGl2aW5nIHJvb20gbG9va2VkIG9yZGluYXJ5LiBUaGUgZnJvbnQgZG9vciByZW1haW5lZCBjbG9zZWQuIFRoZQoJc3RhaXJjYXNlIHdhaXRlZCBhdCB0aGUgZmFyIGVuZCBiZW5lYXRoIHRoZSB1bnN0ZWFkeSBsaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBoYWxsd2F5IHNlZW1lZCBzaG9ydGVyIHRoYW4gYmVmb3JlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBmaW5kIHRoYXQgcmVhc3N1cmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgbGFyZ2Ugcm91bmQgZnJhbWUgbGF5IG5lYXIgdGhlIGJvdHRvbSBzdGVwLiBCcm9rZW4gZ2xhc3MgY292ZXJlZCB0aGUKCWZsb29yIGFyb3VuZCBpdCwgY2F0Y2hpbmcgdGhlIHdlYWsgbGlnaHQgbGlrZSBjcmFja2VkIGljZS4KJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjEgc3RhbmRhcmQgYmF0Y2gyIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2Jyb2tlbl9mcmFtZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2Jyb2tlbl9mcmFtZS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7cCZndDsKCVRoZSBmcmFtZSBoYWQgaHVuZyBhYm92ZSB0aGUgbGFuZGluZyBzaW5jZSB0aGUgV2luY2hlc3RlcnMgbW92ZWQgaW50bwoJdGhlIGhvdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhyZWUgZ2lybHMgaGFkIGJlZW4gcGljdHVyZWQgaW5zaWRlIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSB3b3JlIG9sZC1mYXNoaW9uZWQgZHJlc3NlcyBhbmQgc3Rvb2Qgc2hvdWxkZXIgdG8gc2hvdWxkZXIsCglzdGFyaW5nIGF0IHRoZSBjYW1lcmEgd2l0aCB0aGUgcGF0aWVudCBzZXJpb3VzbmVzcyBvZiBwZW9wbGUgd2hvIGhhZAoJYmVlbiB3YWl0aW5nIGEgdmVyeSBsb25nIHRpbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZnJhbWUgd2FzIG5vdyBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlbWFpbmVkIGF0IHRoZSBraXRjaGVuIGJvdW5kYXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY2hlY2tlZCB0aGUgZmxvb3IgYmVuZWF0aCB0aGUgZnJhbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY2hlY2tlZCB0aGUgZmlyc3Qgc3RhaXJzLCB0aGUgYmFzZWJvYXJkLCBhbmQgdGhlIG5hcnJvdyBzcGFjZSB1bmRlcgoJdGhlIGhhbGx3YXkgdGFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVoaW5kIGhpbSwgQWJiaWUmIzM5O3Mgc3Bvb24gc3RydWNrIGhlciBib3dsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2xpbmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgdHJhdmVsZWQgaW50byB0aGUgaGFsbHdheSBhbmQgcmV0dXJuZWQgYSBtb21lbnQgbGF0ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDbGluay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBlY2hvIGNhbWUgZnJvbSB1cHN0YWlycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGhhZCBub3Qgc3RydWNrIHRoZSBib3dsIGEgc2Vjb25kIHRpbWUuCiZsdDsvcCZndDsKJmx0OyZsdDtzZXQgJGZvdW5kTWlzc2luZ1Bob3RvID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUgcGhvdG9ncmFwaCB2YW5pc2hlZCBmcm9tIGl0cyBicm9rZW4gZnJhbWUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBwaG90b2dyYXBoIG9mIHRocmVlIGdpcmxzIHZhbmlzaGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBwaG90b2dyYXBoIG9mIHRocmVlIGdpcmxzIHZhbmlzaGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7a2V2aW4tcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgUGF0dGVybjombHQ7L3N0cm9uZyZndDsgJHBhdHRlcm5Db3VudCB1bmV4cGxhaW5lZCBldmVudHMuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TWFqb3IgY2x1ZTombHQ7L3N0cm9uZyZndDsgVGhlIHBob3RvZ3JhcGggb2YgdGhyZWUgZ2lybHMgZGlzYXBwZWFyZWQKCWZyb20gdGhlIGZhbGxlbiBmcmFtZS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RlcHBlZCBjYXJlZnVsbHkgYXJvdW5kIHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmcmFtZSYjMzk7cyB3b29kZW4gYmFja2luZyByZW1haW5lZCBhdHRhY2hlZC4gRXZlcnkgc21hbGwgbWV0YWwgdGFiCgl3YXMgYmVudCBpbndhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGhvdG9ncmFwaCBjb3VsZCBub3QgaGF2ZSBmYWxsZW4gb3V0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRnJvbSBzb21ld2hlcmUgYWJvdmUgdGhlIHN0YWlyY2FzZSBjYW1lIHRoZSBmYWludCBzb3VuZCBvZiBhIGdpcmwmIzM5O3MKCWxhdWdodGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcmVtYWluZWQgaW4gdGhlIGtpdGNoZW4uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIEtldmluIGludmVzdGlnYXRlPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tJbnNwZWN0IHRoZSBzZWFsZWQgZnJhbWUtJmd0O0V4YW1pbmUgdGhlIEVtcHR5IEZyYW1lXV0KCVtbU2VhcmNoIHRoZSBoYWxsd2F5IGZvciB0aGUgbWlzc2luZyBwaG90b2dyYXBoLSZndDtTZWFyY2ggZm9yIHRoZSBNaXNzaW5nIFBob3RvZ3JhcGhdXQoJW1tFeGFtaW5lIHRoZSBzdGFpcmNhc2UgYW5kIGxhbmRpbmctJmd0O0V4YW1pbmUgdGhlIFN0YWlyY2FzZV1dCglbW0FzayBBYmJpZSB3aGV0aGVyIHNoZSBoZWFyZCB0aGUgbGF1Z2h0ZXItJmd0O0NhbGwgQWJiaWUgdG8gdGhlIEJyb2tlbiBGcmFtZV1dCiZsdDsvZGl2Jmd0OwombHQ7IS0tIEJ1aWxkIDUuMTQgYXRtb3NwaGVyaWMgaGF1bnRpbmcgLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9oYXVudGluZ0F0bW9zcGhlcmUgPSBzZXR1cC5yb2xsQXRtb3NwaGVyaWNIYXVudGluZygmcXVvdDtzY2hvb2wmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9oYXVudGluZ0F0bW9zcGhlcmUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctYXRtb3NwaGVyZSZxdW90OyByb2xlPSZxdW90O3N0YXR1cyZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtoYXVudGluZy1tYXJrJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7ISZsdDsvc3BhbiZndDsmbHQ7cCZndDsmbHQ7Jmx0Oz0gX2hhdW50aW5nQXRtb3NwaGVyZSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMyIgbmFtZT0iS2V2aW4gU3RlYWRpZXMgdGhlIENoYWlyIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTU3NSwxMjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCUtldmluIHBsYWNlZCBvbmUgaGFuZCBhZ2FpbnN0IHRoZSBjaGFpciBiYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkb24mIzM5O3QgbmVlZCBoZWxwLCZxdW90OyBBYmJpZSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSYjMzk7bSBub3QgaGVscGluZy4gSSYjMzk7bSBwcmV2ZW50aW5nIHBhcGVyd29yay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgcGFwZXJ3b3JrPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGtpbmQgTW9tIGZpbGxzIG91dCBhZnRlciB5b3UgZmFsbCB0aHJvdWdoIHRoZSB0YWJsZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0cmV0Y2hlZCB0b3dhcmQgdGhlIGNlcmVhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGFpciBzaGlmdGVkIGJlbmVhdGggS2V2aW4mIzM5O3MgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmUgc2Vjb25kLCBzb21ldGhpbmcgc2VlbWVkIHRvIHB1c2ggYmFjayBmcm9tIHRoZSBvdGhlciBzaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdGlnaHRlbmVkIGhpcyBncmlwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByZXNzdXJlIHZhbmlzaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcHVsbGVkIHRoZSBjZXJlYWwgZnJlZSBhbmQgY2xpbWJlZCBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2VlPyBTYWZlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IHRoZSBjaGFpci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZmFpbnQgZGFtcCBtYXJrIGRhcmtlbmVkIG9uZSB3b29kZW4gcnVuZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlZm9yZSBoZSBjb3VsZCBleGFtaW5lIGl0LCBhIGNyYXNoIGV4cGxvZGVkIGZyb20gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hhaXIgamVya2VkIGJlbmVhdGggaGlzIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBkaWQgbm90IGFwcGVhciB0byBub3RpY2UuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0EgZGFtcCBtYXJrIGFwcGVhcmVkIG9uIEFiYmllJiMzOTtzIGNoYWlyIGJlZm9yZSB0aGUgaGFsbHdheSBjcmFzaCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tJbnZlc3RpZ2F0ZSB0aGUgY3Jhc2gtJmd0O1RoZSBIYWxsd2F5IENyYXNoXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNCIgbmFtZT0iS2V2aW4gT3JkZXJzIEFiYmllIERvd24iIHRhZ3M9ImJnLWhvdXNlIiBwb3NpdGlvbj0iMTA3NSwxMzI1IiBzaXplPSIxMDAsMTAwIj46OiBLZXZpbiBPcmRlcnMgQWJiaWUgRG93bgombHQ7cCZndDsKCSZxdW90O0dldCBkb3duLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcGF1c2VkIHdpdGggb25lIGhhbmQgZXh0ZW5kZWQgdG93YXJkIHRoZSBjZXJlYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGNhbiByZWFjaCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgaXNuJiMzOTt0IHRoZSBwcm9ibGVtLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBpcyB0aGUgcHJvYmxlbT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGdsYW5jZWQgdG93YXJkIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY291bGQgbm90IGFuc3dlciB3aXRob3V0IGV4cGxhaW5pbmcgdGhlIGZpZ3VyZSwgdGhlIGZvb3RzdGVwcywgdGhlCgljbG9jaywgb3IgdGhlIGdyb3dpbmcgc3VzcGljaW9uIHRoYXQgdGhlIGhvdXNlIGhhZCBzdGFydGVkIHBheWluZwoJYXR0ZW50aW9uIHRvIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgY2hhaXIgaXMgd29iYmxpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBpc24mIzM5O3Qgd29iYmxpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hhaXIgd29iYmxlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGRvd24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOZWl0aGVyIG9mIHRoZW0gaGFkIG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY2xpbWJlZCBvZmYgd2l0aG91dCBhbm90aGVyIGFyZ3VtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVhY2hlZCBmb3IgdGhlIGNoYWlyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBsb3VkIGNyYXNoIGNhbWUgZnJvbSB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGFpciBzdG9wcGVkIG1vdmluZy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U2hhcmVkIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBBYmJpZSYjMzk7cyBjaGFpciBzaGlmdGVkIGV2ZW4gdGhvdWdoCgluZWl0aGVyIEtldmluIG5vciBBYmJpZSBtb3ZlZCBpdC4KJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSYjMzk7cyBjaGFpciBtb3ZlZCB3aXRob3V0IGJlaW5nIHRvdWNoZWQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBraXRjaGVuIGNoYWlyIG1vdmVkIHdpdGhvdXQgYmVpbmcgdG91Y2hlZCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tGaW5kIHRoZSBzb3VyY2Ugb2YgdGhlIGNyYXNoLSZndDtUaGUgSGFsbHdheSBDcmFzaF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzUiIG5hbWU9IktldmluIEZvbGRzIElud2FyZCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjkwMCwxMzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCUtldmluIGxvd2VyZWQgaGlzIGhlYWQgb250byBoaXMgZm9sZGVkIGFybXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBuZWVkZWQgdGVuIHNlY29uZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUZW4gc2Vjb25kcyB3aXRob3V0IHRoZSBuZXcgc2Nob29sLCB0aGUgZGVhZCB3YXRjaCwgdGhlIHN0b3BwZWQgY2xvY2ssCgl0aGUgZGFyayBoYWxsd2F5LCBvciBBYmJpZSBiYWxhbmNpbmcgb24gZnVybml0dXJlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGVuIHNlY29uZHMgaW4gd2hpY2ggbm90aGluZyByZXF1aXJlZCBhbiBhbnN3ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjbG9zZWQgaGlzIGV5ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUga2l0Y2hlbiBzb3VuZHMgc2VwYXJhdGVkIGFyb3VuZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDZXJlYWwgc2xpZGluZyBpbnNpZGUgYSBjYXJkYm9hcmQgYm94LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUmIzM5O3Mgc2hvZXMgYWdhaW5zdCB0aGUgY2hhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcmVmcmlnZXJhdG9yIGh1bW1pbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGZsb29yYm9hcmQgY3JlYWtpbmcgaW4gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbm90aGVyIGNyZWFrLCBjbG9zZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGEgYnJlYXRoIGJlc2lkZSBoaXMgZWFyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ29sZCBhbmQgZGFtcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGplcmtlZCB1cHJpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGtpdGNoZW4gd2FzIGVtcHR5IGV4Y2VwdCBmb3IgQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc2F0IGF0IHRoZSB0YWJsZSwgcG91cmluZyBjZXJlYWwgaW50byBoZXIgYm93bC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGFpciBoYWQgcmV0dXJuZWQgdG8gaXRzIHBsYWNlIG5lYXIgdGhlIGN1cGJvYXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGFkIG5vdCBoZWFyZCBoZXIgbW92ZSBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FyZSB5b3Ugb2theT8mcXVvdDsgQWJiaWUgYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCZWZvcmUgS2V2aW4gY291bGQgYW5zd2VyLCBzb21ldGhpbmcgY3Jhc2hlZCBpbiB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb3VuZCB3YXMgc2hhcnAgYW5kIGhlYXZ5LCBmb2xsb3dlZCBieSBicmVha2luZyBnbGFzcy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tPcGVuIG9uZSBleWUgYW5kIGludmVzdGlnYXRlLSZndDtUaGUgSGFsbHdheSBDcmFzaF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzYiIG5hbWU9IkV4YW1pbmUgdGhlIEVtcHR5IEZyYW1lIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNzAwLDE1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRleGFtaW5lZEVtcHR5RnJhbWUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgaG93IHRoZSBwaG90b2dyYXBoIGRpc2FwcGVhcmVkJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjcm91Y2hlZCBiZXNpZGUgdGhlIGZyYW1lLCBjYXJlZnVsIG5vdCB0byBwbGFjZSBhIGtuZWUgaW4gdGhlCglicm9rZW4gZ2xhc3MuCiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCByaWdodCB0aWx0LW4yIHN0YW5kYXJkIGJhdGNoMiB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtmcmFtZV9ub3RlJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfZnJhbWVfbm90ZS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7cCZndDsKCVRoZSB3b29kIGZlbHQgY29sZGVyIHRoYW4gdGhlIGhhbGx3YXkgZmxvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBsaWZ0ZWQgaXQgYnkgb25lIGVkZ2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2FyZGJvYXJkIGJhY2tpbmcgcmVtYWluZWQgZmlybWx5IGluIHBsYWNlLiBFdmVyeSBzbWFsbCBtZXRhbCB0YWIKCXdhcyBzdGlsbCBiZW50IGlud2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNoZWNrZWQgdGhlbSBvbmUgYnkgb25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm9uZSB3ZXJlIGxvb3NlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm9uZSB3ZXJlIGRhbWFnZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVyZSB3YXMgbm8gb3BlbmluZyB0aHJvdWdoIHdoaWNoIHRoZSBwaG90b2dyYXBoIGNvdWxkIGhhdmUgc2xpcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHR1cm5lZCB0aGUgZnJhbWUgb3Zlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBlbXB0eSBzcGFjZSBiZWhpbmQgdGhlIGJyb2tlbiBnbGFzcyB3YXMgY2xlYW5lciB0aGFuIHRoZSB3b29kCglhcm91bmQgaXQuIEEgcGFsZSByZWN0YW5nbGUgcmVtYWluZWQgd2hlcmUgdGhlIHBob3RvZ3JhcGggaGFkCglwcm90ZWN0ZWQgdGhlIGJhY2tpbmcgZnJvbSB5ZWFycyBvZiBkdXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBob3RvZ3JhcGggaGFkIGJlZW4gdGhlcmUgcmVjZW50bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNYXliZSBtaW51dGVzIGFnby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1heWJlIHdoZW4gdGhlIGZyYW1lIHN0cnVjayB0aGUgZmxvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFeGNlcHQgdGhlIGZyYW1lIHdhcyBzdGlsbCBzZWFsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQgaXQgb3ZlciBhZ2FpbiwgYXMgdGhvdWdoIHRoZSBwaG90b2dyYXBoIG1pZ2h0IHJlYXBwZWFyCglpZiBoZSBhcHByb2FjaGVkIHRoZSBwcm9ibGVtIGZyb20gdGhlIG90aGVyIHNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSB0aGluIGxpbmUgaGFkIGJlZW4gc2NyYXRjaGVkIGludG8gdGhlIGNhcmRib2FyZCBiYWNraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgYmVnYW4gbmVhciBvbmUgY29ybmVyIGFuZCB0cmF2ZWxlZCB0b3dhcmQgdGhlIGNlbnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGFuZ2xlZCB0aGUgZnJhbWUgdG93YXJkIHRoZSBoYWxsd2F5IGxhbXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2NyYXRjaCBsb29rZWQgYWxtb3N0IGxpa2UgcGFydCBvZiBhIGxldHRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIHRoZSBiZWdpbm5pbmcgb2YgYSBudW1iZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBsYW1wIGZsaWNrZXJlZCwgYW5kIHRoZSBtYXJrIGJlY2FtZSBhbiBvcmRpbmFyeSB0ZWFyIGluIG9sZAoJY2FyZGJvYXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG93ZXJlZCB0aGUgZnJhbWUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJVGhlIHBob3RvZ3JhcGggaGFkIG5vdCBmYWxsZW4gb3V0LiZsdDticiZndDsKCUl0IGhhZCBsZWZ0IHdoaWxlIHRoZSBmcmFtZSB3YXMgc3RpbGwgY2xvc2VkLgombHQ7L2RpdiZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBwaG90b2dyYXBoIGRpZCBub3QgZmFsbCBvdXQgb2YgaXRzIGZyYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIHBhcnRpYWwgbWFyayBpcyBzY3JhdGNoZWQgaW50byB0aGUgZnJhbWUgYmFja2luZyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgcGhvdG9ncmFwaCB2YW5pc2hlZCBmcm9tIGEgc2VhbGVkIGZyYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtDbHVlIGRpc2NvdmVyZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBmcmFtZSByZW1haW5lZCBzZWFsZWQuIFRoZQoJcGhvdG9ncmFwaCBjb3VsZCBub3QgaGF2ZSBmYWxsZW4gb3V0IHdoZW4gdGhlIGdsYXNzIGJyb2tlLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglBYm92ZSBLZXZpbiwgdGhlIHN0YWlyY2FzZSBjcmVha2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbG9va2VkIHVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHVwcGVyIGxhbmRpbmcgd2FzIGVtcHR5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hlbiBLZXZpbiBsb29rZWQgYmFjayBhdCB0aGUgZnJhbWUsIGEgc21hbGwgd2V0IGZpbmdlcnByaW50IG1hcmtlZAoJdGhlIGNhcmRib2FyZCBiYWNraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIG5vdCBoaXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiYjMzk7cyBoYW5kcyB3ZXJlIGRyeS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSBpbnZlc3RpZ2F0aW5nLSZndDtIYWxsd2F5IEludmVzdGlnYXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM3IiBuYW1lPSJTZWFyY2ggZm9yIHRoZSBNaXNzaW5nIFBob3RvZ3JhcGgiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI4MzcuNSwxNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkc2VhcmNoZWRGb3JQaG90byA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1NlYXJjaCB0aGUgaGFsbHdheSBmb3IgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2VhcmNoZWQgdGhlIGZsb29yIGFyb3VuZCB0aGUgYnJva2VuIGZyYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBob3RvZ3JhcGggd2FzIG5vdCBiZW5lYXRoIHRoZSBnbGFzcy4KJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIGxlZnQgdGlsdC1wMiBzdGFuZGFyZCBiYXRjaDIgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7bWlzc2luZ19waG90b19vdXRsaW5lJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfbWlzc2luZ19waG90b19vdXRsaW5lLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7CiZsdDtwJmd0OwoJSXQgaGFkIG5vdCBzbGlwcGVkIHVuZGVyIHRoZSBmaXJzdCBzdGFpciBvciBiZWNvbWUgdHJhcHBlZCBhZ2FpbnN0IHRoZQoJYmFzZWJvYXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY2hlY2tlZCBiZW5lYXRoIHRoZSBoYWxsd2F5IHRhYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRHVzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFuIG9sZCBwZW5jaWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHdvb2RlbiBidXR0b24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG93ZXJlZCBoaW1zZWxmIGNsb3NlciB0byB0aGUgZmxvb3IgYW5kIGxvb2tlZCBiZW5lYXRoIHRoZQoJc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNwYWNlIG5hcnJvd2VkIGludG8gZGFya25lc3MgbmVhciB0aGUgd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBwYWxlIHJlc3RlZCBhdCB0aGUgZmFyIGVuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluJiMzOTtzIGhlYXJ0IGp1bXBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHJlYWNoZWQgdG93YXJkIGl0IHdpdGggdGhlIHBlbmNpbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwYWxlIG9iamVjdCBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHB1bGxlZCBiYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzbWFsbCBwaWVjZSBvZiB3YWxscGFwZXIgc2xpZCBpbnRvIHRoZSBsaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZsb3dlcnMgaGFkIG9uY2UgYmVlbiBwcmludGVkIGFjcm9zcyBpdCwgZmFkZWQgbmVhcmx5IHdoaXRlIHdpdGggYWdlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IHRoZSBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSnVzdCB0aGUgaG91c2UgZmluZGluZyBuZXcgd2F5cyB0byBiZSBkaXNhcHBvaW50aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2F0IGJhY2sgYW5kIHRyaWVkIHRvIHJlbWVtYmVyIHRoZSBtaXNzaW5nIGltYWdlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhyZWUgZ2lybHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbGQgZHJlc3Nlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBzdGFuZGluZyBpbiB0aGUgbWlkZGxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY291bGQgcmVtZW1iZXIgdGhlaXIgcG9zaXRpb25zLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY291bGQgbm90IHJlbWVtYmVyIHRoZWlyIGZhY2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhhcmRlciBoZSB0cmllZCwgdGhlIGxlc3MgY2VydGFpbiBoZSBiZWNhbWUgdGhhdCB0aGV5IGhhZCBldmVyCglwb3NzZXNzZWQgZmFjZXMgYXQgYWxsLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgbWlzc2luZyBwaG90b2dyYXBoIHdhcyBub3QgZm91bmQgbmVhciB0aGUgYnJva2VuIGZyYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBtaXNzaW5nIHBob3RvZ3JhcGggd2FzIG5vdCBmb3VuZCBpbiB0aGUgaGFsbHdheSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U2VhcmNoIHJlc3VsdDombHQ7L3N0cm9uZyZndDsgVGhlIHBob3RvZ3JhcGggaXMgbm90IGJlbmVhdGggdGhlCglmcmFtZSwgc3RhaXJjYXNlLCBoYWxsd2F5IHRhYmxlLCBvciBuZWFyYnkgZnVybml0dXJlLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYWdhaW4gYXQgdGhlIHdvb2RlbiBidXR0b24gYmVuZWF0aCB0aGUgdGFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgZGFyayBicm93biwgbmVhcmx5IGJsYWNrIGF0IHRoZSBlZGdlcywgYW5kIGxhcmdlciB0aGFuIGFueQoJYnV0dG9uIHVzZWQgb24gaGlzIG9yIEFiYmllJiMzOTtzIGNsb3RoZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3VyIGhvbGVzIGZvcm1lZCBhIHNxdWFyZSBpbiBpdHMgY2VudGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzaG9ydCBwaWVjZSBvZiBibGFjayB0aHJlYWQgcmVtYWluZWQgYXR0YWNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBtaWdodCBoYXZlIGZhbGxlbiBmcm9tIGFuIG9sZCBjb2F0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbWlnaHQgaGF2ZSBiZWVuIGx5aW5nIGJlbmVhdGggdGhlIHRhYmxlIGZvciB5ZWFycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IG1pZ2h0IGhhdmUgYmVsb25nZWQgdG8gb25lIG9mIHRoZSBnaXJscy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgZmluYWwgcG9zc2liaWxpdHkgZW50ZXJlZCBLZXZpbiYjMzk7cyBtaW5kIHdpdGhvdXQgcGVybWlzc2lvbiBhbmQKCXJlZnVzZWQgdG8gbGVhdmUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIEtldmluIGRvIHdpdGggdGhlIGJ1dHRvbj8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtUYWtlIGl0LiBJdCBtaWdodCBoYXZlIGJlbG9uZ2VkIHRvIHNvbWVvbmUgaW4gdGhlIHBob3RvZ3JhcGguJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkZm91bmRPbGRCdXR0b24gPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkYnV0dG9uVGhlb3J5ID0gJnF1b3Q7cGhvdG9ncmFwaCZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGludmVudG9yeS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O09sZCB3b29kZW4gYnV0dG9uJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0tldmluIGZvdW5kIGFuIG9sZCB3b29kZW4gYnV0dG9uIG5lYXIgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBUYWtlcyB0aGUgT2xkIEJ1dHRvbiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtUYWtlIGl0LCBidXQgYXNzdW1lIGl0IGZlbGwgZnJvbSBhbiBvbGQgY29hdC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRmb3VuZE9sZEJ1dHRvbiA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRidXR0b25UaGVvcnkgPSAmcXVvdDtjb2F0JnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3J1biAkaW52ZW50b3J5LktldmluLnB1c2hVbmlxdWUoJnF1b3Q7T2xkIHdvb2RlbiBidXR0b24mcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gZm91bmQgYSBidXR0b24gdGhhdCBtYXkgaGF2ZSBjb21lIGZyb20gYW4gb2xkIGNvYXQmcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gVGFrZXMgdGhlIE9sZCBCdXR0b24mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7TGVhdmUgaXQuIEFuIG9sZCBidXR0b24gZG9lcyBub3QgZXhwbGFpbiBhIG1pc3NpbmcgcGhvdG9ncmFwaC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRidXR0b25UaGVvcnkgPSAmcXVvdDtpcnJlbGV2YW50JnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gTGVhdmVzIHRoZSBPbGQgQnV0dG9uJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDsKJmx0OyEtLSBCdWlsZCA1LjE0IGF0bW9zcGhlcmljIGhhdW50aW5nIC0tJmd0OwombHQ7Jmx0O3NldCBfaGF1bnRpbmdBdG1vc3BoZXJlID0gc2V0dXAucm9sbEF0bW9zcGhlcmljSGF1bnRpbmcoJnF1b3Q7c2Nob29sJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfaGF1bnRpbmdBdG1vc3BoZXJlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLWF0bW9zcGhlcmUmcXVvdDsgcm9sZT0mcXVvdDtzdGF0dXMmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7aGF1bnRpbmctbWFyayZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDs9IF9oYXVudGluZ0F0bW9zcGhlcmUmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzgiIG5hbWU9IkV4YW1pbmUgdGhlIFN0YWlyY2FzZSIgdGFncz0iYmctcGFzc2FnZSIgcG9zaXRpb249Ijk3NSwxNTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZXhhbWluZWRTdGFpcmNhc2UgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogU3RhaXJjYXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgdGhlIGZyYW1lIGZlbGwgZnJvbSB0aGUgbGFuZGluZyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RlcHBlZCBhcm91bmQgdGhlIGJyb2tlbiBnbGFzcyBhbmQgYXBwcm9hY2hlZCB0aGUgc3RhaXJjYXNlLgombHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LXAyIHN0YW5kYXJkIGJhdGNoMyB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDt3aW5jaGVzdGVyX3N0YWlyY2FzZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX3dpbmNoZXN0ZXJfc3RhaXJjYXNlLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZyYW1lIGhhZCBodW5nIGFib3ZlIHRoZSBsYW5kaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG5haWwgcmVtYWluZWQgaW4gdGhlIHdhbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgbm90IGJlbnQsIGxvb3NlbmVkLCBvciBwdWxsZWQgb3V0d2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRlc3RlZCBpdCB3aXRoIG9uZSBmaW5nZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb2xpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmcmFtZSBzaG91bGQgbm90IGhhdmUgZmFsbGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBjb25jbHVzaW9uIGhhZCBiZWNvbWUgY29tbW9uIGluIHRoZSBXaW5jaGVzdGVyIGhvdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxhbXAgYWJvdmUgdGhlIHN0YWlyY2FzZSBmbGlja2VyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWl0ZWQgZm9yIGl0IHRvIHN0ZWFkeSBiZWZvcmUgbG9va2luZyB1cC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoaXJ0ZWVuIHN0ZXBzIGNsaW1iZWQgdG93YXJkIHRoZSBsYW5kaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZpcnN0IHR3ZWx2ZSBhcHBlYXJlZCBvcmRpbmFyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaW5hbCBzdGVwIGRpc2FwcGVhcmVkIGludG8gc2hhZG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2hpZnRlZCBzaWRld2F5cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaGFkb3cgbW92ZWQgd2l0aCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgdW51c3VhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoYWRvd3Mgd2VyZSBzdXBwb3NlZCB0byBkbyB0aGF0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpcyBvbmUgbW92ZWQgYSBmcmFjdGlvbiB0b28gbGF0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhd2F5IGJlZm9yZSBpdCBjb3VsZCBkbyBhbnl0aGluZyBlbHNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcmVzdGVkIG9uZSBoYW5kIGFnYWluc3QgdGhlIGJhbmlzdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdvb2Qgd2FzIGNvbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgY29vbCBmcm9tIHRoZSBtb3JuaW5nIGFpci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNvbGQgZW5vdWdoIHRvIG1ha2UgaGlzIGZpbmdlcnMgYWNoZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHB1bGxlZCBoaXMgaGFuZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzaGFsbG93IGdyb292ZSBtYXJrZWQgdGhlIHdvb2QgbmVhciB0aGUgZmlyc3Qgc3RlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc21hbGwgY2lyY2xlIHN1cnJvdW5kZWQgc2l4IG5hcnJvdyBjdXJ2ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBsb29rZWQgbGlrZSBhIGZsb3dlciBzb21lb25lIGhhZCB0cmllZCB0byBlcmFzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxlYW5lZCBjbG9zZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2FydmluZyBzZWVtZWQgb2xkZXIgdGhhbiB0aGUgYmFuaXN0ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IG1hZGUgbm8gc2Vuc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYmFuaXN0ZXIgY291bGQgbm90IGhhdmUgYmVlbiBidWlsdCBhcm91bmQgdGhlIG1hcmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglVbmxlc3MgdGhlIG1hcmsgaGFkIGJlZW4gdGhlcmUgZmlyc3QuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0Egd29ybiBmbG93ZXItbGlrZSBzeW1ib2wgaXMgY2FydmVkIGludG8gdGhlIGJhbmlzdGVyJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtPYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgQSBzaXgtcGFydCBjaXJjdWxhciBzeW1ib2wgaXMgY2FydmVkCglpbnRvIHRoZSBjb2xkIGJhbmlzdGVyIGJlc2lkZSB0aGUgZmlyc3Qgc3RlcC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJQSB0aW55IHZpYnJhdGlvbiBwYXNzZWQgdGhyb3VnaCB0aGUgd29vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZlbHQgaXQgd2l0aG91dCB0b3VjaGluZyB0aGUgYmFuaXN0ZXIuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUmV0dXJuIHRvIHRoZSBoYWxsd2F5IGludmVzdGlnYXRpb24tJmd0O0hhbGx3YXkgSW52ZXN0aWdhdGlvbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzkiIG5hbWU9IkNhbGwgQWJiaWUgdG8gdGhlIEJyb2tlbiBGcmFtZSIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSIxMTc1LDE1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjYWxsZWRBYmJpZVRvRnJhbWUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIG91dCB3aGF0IEFiYmllIGhlYXJkIGFuZCByZW1lbWJlcnMmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0FiYmllLCBjb21lIGhlcmUuIEJ1dCB3YXRjaCB0aGUgZ2xhc3MuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgYXBwZWFyZWQgYXQgdGhlIGtpdGNoZW4gZG9vcndheSBjYXJyeWluZyBoZXIgY2VyZWFsIGJvd2wgaW4gYm90aAoJaGFuZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IGhlYXIgdGhhdD8mcXVvdDsgS2V2aW4gYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIZWFyIHdoYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgbGF1Z2guIEl0IGNhbWUgZnJvbSB1cHN0YWlycy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCB0b3dhcmQgdGhlIHN0YWlyY2FzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB1cHBlciBsYW5kaW5nIHJlbWFpbmVkIGRhcmsgYW5kIGVtcHR5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkaWRuJiMzOTt0IGhlYXIgYW55Ym9keSBsYXVnaC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSByZWFsbHkgZGlkbiYjMzk7dD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBzaG9vayBoZXIgaGVhZC4gJnF1b3Q7SSBoZWFyZCB5b3UgbW92aW5nIGFyb3VuZC4gQW5kIG15IHNwb29uLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZ2xhbmNlZCBhdCB0aGUgY2VyZWFsIGJvd2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgc291bmQgdXBzdGFpcnMgd2FzIGxpa2UgeW91ciBzcG9vbiBoaXR0aW5nIHRoZSBib3dsLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG93ZXJlZCBoZXIgZXllcyB0byB0aGUgc3Bvb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIG9ubHkgZGlkIGl0IG9uY2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CkZyb20gZGVlcCBpbnNpZGUgdGhlIHdhbGwgY2FtZSBvbmUgZmFpbnQgbWV0YWxsaWMgY2xpbmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaG91c2Ugd2FzIHNpbGVudCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBiZWd1biB0byBkaXNsaWtlIHRoZSBzaWxlbmNlIG1vcmUgdGhhbiB0aGUgbm9pc2VzLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBoZWFyZCBhIGdpcmwmIzM5O3MgbGF1Z2ggdXBzdGFpcnMsIGJ1dCBBYmJpZSBkaWQgbm90JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBoZWFyZCBsYXVnaHRlciBuZWFyIHRoZSB1cHN0YWlycyBsYW5kaW5nJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtDb25mbGljdGluZyBvYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgS2V2aW4gaGVhcmQgbGF1Z2h0ZXIKCXVwc3RhaXJzLCBidXQgQWJiaWUgaGVhcmQgb25seSBoZXIgc3Bvb24gYW5kIEtldmluIG1vdmluZyBpbiB0aGUKCWhhbGx3YXkuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCSZxdW90O09rYXksJnF1b3Q7IEtldmluIHNhaWQuICZxdW90O1RoZW4gbG9vayBhdCB0aGlzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcG9pbnRlZCB0b3dhcmQgdGhlIGJyb2tlbiBmcmFtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RvIHlvdSByZW1lbWJlciB0aGUgcGljdHVyZSB0aGF0IHdhcyBpbiB0aGVyZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0ZXBwZWQgY2FyZWZ1bGx5IGFyb3VuZCB0aGUgZ2xhc3MgYW5kIHN0dWRpZWQgdGhlIGVtcHR5IHNwYWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIHRocmVlIGdpcmxzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IGhlci4gJnF1b3Q7WW91IHJlbWVtYmVyIHRoZW0/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtPbmUgd2FzIHRhbGwuIE9uZSBoYWQgY3VybHkgaGFpci4gVGhlIG9uZSBpbiB0aGUgbWlkZGxlIGxvb2tlZAoJbWVhbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01lYW4gaG93PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY29uc2lkZXJlZCB0aGUgcXVlc3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtMaWtlIHNoZSBrbmV3IHNvbWV0aGluZyBiYWQgYWJvdXQgeW91LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IHRoZSBlbXB0eSBmcmFtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doZXJlIGRvIHlvdSB0aGluayB0aGUgcGljdHVyZSB3ZW50PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2hydWdnZWQuICZxdW90O01heWJlIHRoZSBnaXJscyB3ZW50IGhvbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGV5IHdlcmUgaW4gYSBwaG90b2dyYXBoLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBrbm93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UGhvdG9ncmFwaHMgZG9uJiMzOTt0IGdvIGhvbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsaWZ0ZWQgb25lIHNwb29uZnVsIG9mIGNlcmVhbC4gJnF1b3Q7TWF5YmUgdGhvc2UgZ2lybHMgZG8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgYXRlIHRoZSBjZXJlYWwgYW5kIHJldHVybmVkIHRvIHRoZSBraXRjaGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVtYWluZWQgYmVzaWRlIHRoZSBmcmFtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gdGhlIHVwcGVyIGxhbmRpbmcgY2FtZSBvbmUgc29mdCBnaWdnbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBkaWQgbm90IHR1cm4gYXJvdW5kLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSByZW1lbWJlcmVkIHRocmVlIGdpcmxzIGluIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGgmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FiYmllIHNhaWQgdGhlIGdpcmwgaW4gdGhlIG1pZGRsZSBsb29rZWQgbWVhbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHBob3RvZ3JhcGggb2YgdGhyZWUgZ2lybHMgdmFuaXNoZWQgZnJvbSB0aGUgZnJhbWUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgcmVtZW1iZXJlZCB0aGUgbWlzc2luZyBwaG90b2dyYXBoIGFuZCBkZXNjcmliZWQgdGhlIG1pZGRsZSBnaXJsJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtNZW1vcnkgY29uZmlybWVkOiZsdDsvc3Ryb25nJmd0OyBBYmJpZSByZW1lbWJlcnMgdGhlIHRocmVlIGdpcmxzIGFuZAoJc2F5cyB0aGUgZ2lybCBpbiB0aGUgbWlkZGxlIGxvb2tlZCBhcyB0aG91Z2ggc2hlIGtuZXcgc29tZXRoaW5nIGJhZC4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIGludmVzdGlnYXRpbmcgYWxvbmUtJmd0O0hhbGx3YXkgSW52ZXN0aWdhdGlvbl1dCiZsdDsvZGl2Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQwIiBuYW1lPSJIYWxsd2F5IEludmVzdGlnYXRpb24iIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI5NzUsMTgyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZWNpZGUgaG93IGZhciBLZXZpbiBzaG91bGQgaW52ZXN0aWdhdGUmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBlbXB0eSBmcmFtZSByZXN0ZWQgYmVzaWRlIHRoZSBzdGFpcmNhc2UuIEJyb2tlbiBnbGFzcyBjb3ZlcmVkIHBhcnQKCW9mIHRoZSBmbG9vciwgYW5kIHRoZSBuYWlsIHJlbWFpbmVkIGZpcm1seSBlbWJlZGRlZCBhYm92ZSB0aGUgbGFuZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBob3VzZSB3YXMgcXVpZXQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YXMgYmVnaW5uaW5nIHRvIGRpc2xpa2UgdGhlIHF1aWV0IG1vcmUgdGhhbiB0aGUgbm9pc2VzLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGV4YW1pbmVkRW1wdHlGcmFtZSBhbmQgJHNlYXJjaGVkRm9yUGhvdG8mZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHBob3RvZ3JhcGggaGFkIHZhbmlzaGVkIGZyb20gYSBzZWFsZWQgZnJhbWUgYW5kIHdhcyBub3doZXJlIGluCgkJdGhlIGhhbGx3YXkuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkZXhhbWluZWRTdGFpcmNhc2UgYW5kICEkZm91bmRCYW5pc3RlckhleGFmb2lsJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSB3b3JuIGNhcnZpbmcgd2FpdGVkIG5lYXIgdGhlIGZpcnN0IHN0ZXAuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkY2FsbGVkQWJiaWVUb0ZyYW1lJmd0OyZndDsKCSZsdDtwJmd0OwoJCUFiYmllIGhhZCByZXR1cm5lZCB0byB0aGUga2l0Y2hlbiwgYXBwYXJlbnRseSBzYXRpc2ZpZWQgdGhhdCBnaXJscwoJCWluIHBob3RvZ3JhcGhzIGNvdWxkIGxlYXZlIHdoZW5ldmVyIHRoZXkgd2FudGVkLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLZXZpbiBkbz8mbHQ7L2RpdiZndDsKJmx0OyZsdDtpZiBub3QgJGtldmluT3B0aW9uYWxGb3VuZCZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7b3B0aW9uYWwtaW52ZXN0aWdhdGlvbiZxdW90OyZndDsmbHQ7c3BhbiZndDtPcHRpb25hbCBpbnZlc3RpZ2F0aW9uJmx0Oy9zcGFuJmd0O1tbQ29tcGFyZSB0aGUgbWlzc2luZyBwaG90b2dyYXBoIHdpdGggdGhlIHdldCBmb290cHJpbnQtJmd0O0tldmluUGhvdG9Gb290cHJpbnRdXSZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2lmICEkZXhhbWluZWRFbXB0eUZyYW1lJmd0OyZndDsKCQlbW0luc3BlY3QgdGhlIHNlYWxlZCBmcmFtZS0mZ3Q7RXhhbWluZSB0aGUgRW1wdHkgRnJhbWVdXQoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0OyZsdDtpZiAhJHNlYXJjaGVkRm9yUGhvdG8mZ3Q7Jmd0OwoJCVtbU2VhcmNoIGZvciB0aGUgbWlzc2luZyBwaG90b2dyYXBoLSZndDtTZWFyY2ggZm9yIHRoZSBNaXNzaW5nIFBob3RvZ3JhcGhdXQoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0OyZsdDtpZiAhJGV4YW1pbmVkU3RhaXJjYXNlJmd0OyZndDsKCQlbW0V4YW1pbmUgdGhlIHN0YWlyY2FzZSBhbmQgbGFuZGluZy0mZ3Q7RXhhbWluZSB0aGUgU3RhaXJjYXNlXV0KCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsmbHQ7aWYgISRjYWxsZWRBYmJpZVRvRnJhbWUmZ3Q7Jmd0OwoJCVtbQXNrIEFiYmllIHdoZXRoZXIgc2hlIGhlYXJkIHRoZSBsYXVnaHRlci0mZ3Q7Q2FsbCBBYmJpZSB0byB0aGUgQnJva2VuIEZyYW1lXV0KCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsmbHQ7aWYgJGV4YW1pbmVkU3RhaXJjYXNlIGFuZCAhJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7CgkJW1tFeGFtaW5lIHRoZSBjYXJ2ZWQgc3ltYm9sIG1vcmUgY2xvc2VseS0mZ3Q7S2V2aW4gRmluZHMgdGhlIEhleGFmb2lsXV0KCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsmbHQ7aWYgJGV4YW1pbmVkRW1wdHlGcmFtZSBvciAkc2VhcmNoZWRGb3JQaG90byBvciAkZXhhbWluZWRTdGFpcmNhc2UmZ3Q7Jmd0OwoJCVtbU3RvcCBpbnZlc3RpZ2F0aW5nIGFuZCBnZXQgQWJiaWUgcmVhZHkgZm9yIHNjaG9vbC0mZ3Q7S2V2aW4gTGVhdmVzIHRoZSBIYWxsd2F5IEVhcmx5XV0KCSZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDshLS0gQnVpbGQgNS4xNCBhdG1vc3BoZXJpYyBoYXVudGluZyAtLSZndDsKJmx0OyZsdDtzZXQgX2hhdW50aW5nQXRtb3NwaGVyZSA9IHNldHVwLnJvbGxBdG1vc3BoZXJpY0hhdW50aW5nKCZxdW90O3NjaG9vbCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2hhdW50aW5nQXRtb3NwaGVyZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy1hdG1vc3BoZXJlJnF1b3Q7IHJvbGU9JnF1b3Q7c3RhdHVzJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2hhdW50aW5nLW1hcmsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDshJmx0Oy9zcGFuJmd0OyZsdDtwJmd0OyZsdDsmbHQ7PSBfaGF1bnRpbmdBdG1vc3BoZXJlJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyEtLSBCdWlsZCA1LjE1IGludGVyYWN0aXZlIGhhdW50aW5nIHRyaWdnZXIgLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9pbnRlcmFjdGl2ZUhhdW50aW5nID0gc2V0dXAucm9sbEludGVyYWN0aXZlSGF1bnRpbmcoJnF1b3Q7c2Nob29sJnF1b3Q7LCAmcXVvdDtIYWxsd2F5IEludmVzdGlnYXRpb24mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9pbnRlcmFjdGl2ZUhhdW50aW5nJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLWludGVycnVwdGlvbiZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtoYXVudGluZy1pbnRlcnJ1cHRpb24taWNvbiZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O1NvbWV0aGluZyBoYXMgZW50ZXJlZCB0aGUgaW52ZXN0aWdhdGlvbi4mbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtUaGUgb3JkaW5hcnkgY2hvaWNlcyBjYW4gd2FpdCwgYnV0IHRoZSBtYW5pZmVzdGF0aW9uIG1heSBub3QuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0ZhY2UgdGhlIGRpc3R1cmJhbmNlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2dvdG8gX2ludGVyYWN0aXZlSGF1bnRpbmcmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDshLS0gQnVpbGQgNS4yMCBhZnRlcmVmZmVjdCBlY2hvIC0tJmd0OwombHQ7Jmx0O3NldCBfYWZ0ZXJlZmZlY3RFY2hvPXNldHVwLnJvbGxBZnRlcmVmZmVjdEVjaG8oJnF1b3Q7c2Nob29sJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfYWZ0ZXJlZmZlY3RFY2hvJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FmdGVyZWZmZWN0LWVjaG8mcXVvdDsgcm9sZT0mcXVvdDtzdGF0dXMmcXVvdDsmZ3Q7Jmx0O3NwYW4gYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDvihrsmbHQ7L3NwYW4mZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDs9IF9hZnRlcmVmZmVjdEVjaG8mZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7IS0tIEJ1aWxkIDUuMjIgYm9ycm93ZWQgdm9pY2Ugcm9vbSB0cmlnZ2VyIC0tJmd0OwombHQ7Jmx0O3NldCBfdm9pY2VSb29tPXNldHVwLnJvbGxCb3Jyb3dlZFZvaWNlUm9vbSgmcXVvdDtIYWxsd2F5IEludmVzdGlnYXRpb24mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF92b2ljZVJvb20mZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7dm9pY2Utcm9vbS10cmlnZ2VyJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7QSBmYW1pbGlhciB2b2ljZSBzcGVha3MgZnJvbSBpbnNpZGUgdGhlIG5lYXJlc3Qgd2FsbC4mbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtJdCBzYXlzIHRoZSBpbnZlc3RpZ2F0b3ImIzM5O3MgbmFtZSBjb3JyZWN0bHksIHRoZW4gYWRkczog4oCcWW91IGxlZnQgcGFydCBvZiB0aGUgcXVlc3Rpb24gaW4gaGVyZS7igJ0mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0Fuc3dlciB0aGUgdm9pY2UgYW5kIGVudGVyLSZndDtWb2ljZVJvb21BcnJpdmFsXV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDEiIG5hbWU9IktldmluIEZpbmRzIHRoZSBIZXhhZm9pbCIgdGFncz0iYmctcGFzc2FnZSIgcG9zaXRpb249IjEwMjUsMjAwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAuZGlzY292ZXJDbHVlKCZxdW90O2hleGFmb2lsJnF1b3Q7LCZxdW90O1RoZSBIZXhhZm9pbCBNYXJrJnF1b3Q7LCZxdW90O0tldmluJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRmb3VuZEJhbmlzdGVySGV4YWZvaWwgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogU3RhaXJjYXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0V4YW1pbmUgdGhlIHN5bWJvbCBjYXJ2ZWQgaW50byB0aGUgYmFuaXN0ZXImcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGtuZWx0IGJlc2lkZSB0aGUgZmlyc3Qgc3RlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNpeCBjdXJ2ZWQgc2hhcGVzIG1ldCBpbnNpZGUgYSBjaXJjbGUsIGFsbW9zdCBsaWtlIHRoZSBwZXRhbHMgb2YgYQoJZmxvd2VyLiBUaGUgbGluZXMgd2VyZSB0b28gZXZlbiB0byBiZSBzY3JhdGNoZXMgYW5kIHRvbyBkZWVwIHRvIGhhdmUKCWNvbWUgZnJvbSBhZ2UuIFNvbWVvbmUgaGFkIGNhcnZlZCB0aGUgZGVzaWduIGludG8gdGhlIHdvb2QuIExhdGVyLAoJc29tZW9uZSBlbHNlIGhhZCB0cmllZCB0byBzY3JhcGUgaXQgYXdheS4KJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjIgc3RhbmRhcmQgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7aGV4YWZvaWwmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9oZXhhZm9pbC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7cCZndDsKCUtldmluIHRyYWNlZCB0aGUgb3V0c2lkZSBvZiB0aGUgY2lyY2xlIHdpdGhvdXQgdG91Y2hpbmcgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGVzaWduIGZlbHQgZmFtaWxpYXIsIHRob3VnaCBLZXZpbiBjb3VsZCBub3QgcmVtZW1iZXIgZXZlciBzZWVpbmcKCWl0IGJlZm9yZS4gVGhlIHJlY29nbml0aW9uIHNlZW1lZCB0byBjb21lIGZyb20gc29tZXdoZXJlIGJlbG93IG1lbW9yeSwKCXdoaWNoIHdhcyBub3QgYSBjb21mb3J0aW5nIHRob3VnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgZXllcyBtb3ZlZCBmcm9tIG9uZSBwZXRhbCB0byB0aGUgbmV4dC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglPbmUuCglUd28uCglUaHJlZS4KCUZvdXIuCglGaXZlLgoJU2l4LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgbW9tZW50IEtldmluIGZpbmlzaGVkIGNvdW50aW5nLCB0aGUgYmFuaXN0ZXIgdmlicmF0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBwdWxsZWQgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB2aWJyYXRpb24gY29udGludWVkIGJlbmVhdGggdGhlIHdvb2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB0cmF2ZWxlZCB1cHdhcmQgYWxvbmcgdGhlIHJhaWxpbmcsIHBhc3NpbmcgZWFjaCBzdGFpciBpbiBzZXF1ZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3by4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIGNsaW1iZWQgYmV5b25kIHdoZXJlIEtldmluIGNvdWxkIHNlZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gc29tZXRoaW5nIGF0IHRoZSB0b3Agb2YgdGhlIHN0YWlyY2FzZSBhbnN3ZXJlZCB3aXRoIHRocmVlIHNsb3cKCWtub2Nrcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlbWFpbmVkIHZlcnkgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaXggcGV0YWxzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhyZWUga25vY2tzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTmVpdGhlciBudW1iZXIgaGVscGVkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUgc2l4LXBldGFsZWQgY2FydmluZyB2aWJyYXRlZCBhZnRlciBLZXZpbiBjb3VudGVkIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgYmFuaXN0ZXIgY29udGFpbnMgYSBzaXgtcGV0YWxlZCBjaXJjdWxhciBzeW1ib2wmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7U2l4LXBldGFsZWQgc3ltYm9sIGNhcnZlZCBpbnRvIHRoZSBiYW5pc3RlciZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2tldmluLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIFBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQgdW5leHBsYWluZWQgZXZlbnRzLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O01ham9yIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IEEgc2l4LXBldGFsZWQgY2lyY3VsYXIgc3ltYm9sIGlzIGNhcnZlZAoJaW50byB0aGUgc3RhaXJjYXNlIGJhbmlzdGVyLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBhbmdsZWQgaGlzIGhlYWQgdG93YXJkIHRoZSBjYXJ2aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpbiBtYXJrcyBjcm9zc2VkIHRoZSB3b29kIGJlbmVhdGggb25lIG9mIHRoZSBwZXRhbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGhhZCBub3QgYmVlbiB2aXNpYmxlIGJlZm9yZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1N0dWR5IHRoZSBjYXJ2aW5nIHdpdGhvdXQgdG91Y2hpbmcgaXQgYWdhaW4uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBGaW5kcyB0aGUgSGV4YWZvaWw6MTozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gRmluZHMgdGhlIEhleGFmb2lsOjE6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gTm90aWNlcyBYSSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtUb3VjaCB0aGUgY2FydmluZyBhbmQgdGVzdCB3aGV0aGVyIGl0IHZpYnJhdGVzIGFnYWluLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gRmluZHMgdGhlIEhleGFmb2lsOjI6MGNkNjc0MGQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIEZpbmRzIHRoZSBIZXhhZm9pbDoyOjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gVG91Y2hlcyB0aGUgSGV4YWZvaWwgQWdhaW4mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3RlcCBhd2F5IGFuZCBtZW1vcml6ZSB0aGUgZGVzaWduLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gRmluZHMgdGhlIEhleGFmb2lsOjM6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIEZpbmRzIHRoZSBIZXhhZm9pbDozOjgwYmY4ZWVlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIE1lbW9yaXplcyB0aGUgSGV4YWZvaWwmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q2FsbCBBYmJpZSBiYWNrIGJlZm9yZSBleGFtaW5pbmcgdGhlIG5ldyBtYXJrcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIEZpbmRzIHRoZSBIZXhhZm9pbDo0OmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLZXZpbiBGaW5kcyB0aGUgSGV4YWZvaWw6NDpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIEZpbmRzIHRoZSBIZXhhZm9pbDo1OjJmYWZmNGIyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLZXZpbiBGaW5kcyB0aGUgSGV4YWZvaWw6NToyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtBIHNpeC1wZXRhbGVkIHN5bWJvbCBpcyBjYXJ2ZWQgaW50byB0aGUgYmFuaXN0ZXImcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gU2hvd3MgQWJiaWUgdGhlIEhleGFmb2lsJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQyIiBuYW1lPSJLZXZpbiBOb3RpY2VzIFhJIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMjAwMCwxNjI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbm90aWNlZFJvbWFuWEkgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogU3RhaXJjYXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGF0IHRoZSBoaWRkZW4gbWFya2luZyBtZWFucyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbGVhbmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmbG93ZXItbGlrZSBjYXJ2aW5nIHdhcyBub3QgdGhlIG9ubHkgbWFyayBpbiB0aGUgd29vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3byBuYXJyb3cgbGluZXMgYXBwZWFyZWQgYmVuZWF0aCB0aGUgc3ltYm9sLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQXQgZmlyc3QsIHRoZXkgbG9va2VkIGxpa2Ugc2NyYXRjaGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2hpZnRlZCB0b3dhcmQgdGhlIGhhbGx3YXkgbGFtcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBtYXJrcyBzaGFycGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglYSS4KJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjEgc3RhbmRhcmQgYmF0Y2gyIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2ZpcnN0X251bWVyYWwmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9maXJzdF9udW1lcmFsLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7CiZsdDtwJmd0OwoJUm9tYW4gbnVtZXJhbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFbGV2ZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGluZXMgYmx1cnJlZCB3aGVuIEtldmluIGxvb2tlZCBkaXJlY3RseSBhdCB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgdHVybmVkIGhpcyBoZWFkIHNsaWdodGx5IGFuZCB2aWV3ZWQgdGhlbSBmcm9tIHRoZSBjb3JuZXIgb2YgaGlzCglleWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglYSSByZXR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBob3VzZSBhcHBhcmVudGx5IHJlcXVpcmVkIGNsdWVzIHRvIGJlIHJlYWQgd2hpbGUgcHJldGVuZGluZyBub3QKCXRvIGxvb2sgYXQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvdW50ZWQgdGhlIHN0YWlycy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglPbmUuCglUd28uCglUaHJlZS4KCUZvdXIuCglGaXZlLgoJU2l4LgoJU2V2ZW4uCglFaWdodC4KCU5pbmUuCglUZW4uCglFbGV2ZW4uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBlbGV2ZW50aCBzdGVwIHJlc3RlZCB0d28gYmVsb3cgdGhlIGxhbmRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgd29vZGVuIGVkZ2Ugd2FzIGRhcmtlciB0aGFuIHRoZSBvdGhlcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VudGVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3RpbGwgZWxldmVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRhcmsgbWFyayBhbG9uZyB0aGUgc3RlcCBsb29rZWQgbGlrZSBhIHdhdGVyIHN0YWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBkcm9wIGZvcm1lZCBhdCB0aGUgZWRnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGNsdW5nIHRoZXJlIGZvciBzZXZlcmFsIHNlY29uZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGl0IG1vdmVkIHVwd2FyZCBpbnRvIHRoZSB3b29kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9yZ290IGFib3V0IGJlaW5nIGxhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCcmllZmx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiByZW1lbWJlcmVkIGFuZCBiZWNhbWUgZnJpZ2h0ZW5lZCBpbiB0d28gc2VwYXJhdGUgZGlyZWN0aW9ucy4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIFJvbWFuIG51bWVyYWwgWEkgaXMgY2FydmVkIGJlbmVhdGggdGhlIHNpeC1wZXRhbGVkIHN5bWJvbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGVsZXZlbnRoIHN0YWlyIGlzIGRhcmtlciB0aGFuIHRoZSBvdGhlcnMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7Um9tYW4gbnVtZXJhbCBYSSBiZW5lYXRoIHRoZSBiYW5pc3RlciBzeW1ib2wmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0NsdWUgZGlzY292ZXJlZDombHQ7L3N0cm9uZyZndDsgVGhlIFJvbWFuIG51bWVyYWwgWEkgYXBwZWFycyBiZW5lYXRoCgl0aGUgc3ltYm9sLCBhbmQgdGhlIGVsZXZlbnRoIHN0YWlyIGlzIG1hcmtlZCBieSBhbiB1bm5hdHVyYWwgZGFtcAoJc3RhaW4uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUEgc29mdCBzb3VuZCBjYW1lIGZyb20gaW5zaWRlIHRoZSBzdGFpcmNhc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgYSBjcmVhay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNjcmF0Y2hpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBiZWdhbiBiZW5lYXRoIHRoZSBlbGV2ZW50aCBzdGVwIGFuZCB0cmF2ZWxlZCBkb3dud2FyZCB0aHJvdWdoIHRoZQoJd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRvd2FyZCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7VGhlIGNhcnZpbmcgaXMgdHJ5aW5nIHRvIGRpcmVjdCBLZXZpbiBzb21ld2hlcmUuIERlY29kZSBpdCBiZWZvcmUgdGhlIHNjcmF0Y2hpbmcgcmVhY2hlcyB0aGUgYm90dG9tIHN0ZXAuJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ludGVycHJldCB0aGUgbWFyayBiZXNpZGUgdGhlIGhleGFmb2lsLSZndDtSb21hbk51bWVyYWxMb2NrXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MyIgbmFtZT0iS2V2aW4gU2VhcmNoZXMgdGhlIENsb3NldCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjUyNSwxODc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkaW52ZXN0aWdhdGVkQ2xvc2V0ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IEhhbGx3YXkgQ2xvc2V0JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0NoZWNrIHdoZXRoZXIgc29tZW9uZSBpcyBoaWRpbmcgbmVhciB0aGUgc3RhaXJjYXNlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwoJQSBzb2Z0IHNjcmFwZSBjYW1lIGZyb20gdGhlIGhhbGx3YXkgY2xvc2V0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUtldmluIHR1cm5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgY2xvc2V0IGRvb3Igc3Rvb2Qgb3BlbiBieSBsZXNzIHRoYW4gYW4gaW5jaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglIZSByZW1lbWJlcmVkIGl0IGJlaW5nIGNsb3NlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglSZW1lbWJlcmluZyB3YXMgbm90IHRoZSBzYW1lIGFzIGtub3dpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSGUgYXBwcm9hY2hlZCBjYXJlZnVsbHkgYW5kIHB1bGxlZCB0aGUgZG9vciBvcGVuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUNvYXRzIGh1bmcgZnJvbSBhIHdvb2RlbiByYWlsLiBTaG9lcyByZXN0ZWQgYmVuZWF0aCB0aGVtLiBBIGNhcmRib2FyZAoJYm94IHNhdCBhZ2FpbnN0IHRoZSBiYWNrIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJTm90aGluZyBtb3ZlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGVuIG9uZSBvZiB0aGUgZW1wdHkgY29hdCBob29rcyBiZWdhbiB0byBzd2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglCYWNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUZvcnRoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUJhY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJRm9ydGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJS2V2aW4gaGVsZCBoaXMgYnJlYXRoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBjbG9zZXQgc21lbGxlZCBmYWludGx5IG9mIHdldCBzb2lsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCVRoZSBjb2F0cyB3ZXJlIGRyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgZmxvb3Igd2FzIGRyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgc21lbGwgcmVtYWluZWQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtBbiBlbXB0eSBjbG9zZXQgaG9vayBzd3VuZyBieSBpdHNlbGYmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBoYWxsd2F5IGNsb3NldCBzbWVsbGVkIGxpa2Ugd2V0IHNvaWwmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FuIGVtcHR5IGNvYXQgaG9vayBtb3ZlZCB3aXRob3V0IGJlaW5nIHRvdWNoZWQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7V2V0LWVhcnRoIHNtZWxsIGluc2lkZSB0aGUgaGFsbHdheSBjbG9zZXQmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7a2V2aW4tcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgUGF0dGVybjombHQ7L3N0cm9uZyZndDsgJHBhdHRlcm5Db3VudCB1bmV4cGxhaW5lZCBldmVudHMuCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O09wdGlvbmFsIGRpc2NvdmVyeTombHQ7L3N0cm9uZyZndDsgVGhlIGNsb3NldCBzbWVsbGVkIG9mIHdldCBzb2lsLAoJYW5kIGFuIGVtcHR5IGhvb2sgbW92ZWQgYnkgaXRzZWxmLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwoJS2V2aW4gY2xvc2VkIHRoZSBkb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUl0IGNsaWNrZWQgc2h1dC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglUaGUgaG9vayBjb250aW51ZWQgc2NyYXBpbmcgYWdhaW5zdCB0aGUgd29vZCBmcm9tIGluc2lkZS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRGVjaWRlIHdoYXQgdG8gZG8gd2l0aCB0aGUgZXZpZGVuY2UtJmd0O0tldmluIFJlY29yZHMgdGhlIE1vcm5pbmddXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NCIgbmFtZT0iS2V2aW4gUmVjb3JkcyB0aGUgTW9ybmluZyIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjUyNSwyMDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RlY2lkZSB3aGV0aGVyIHRvIHByZXNlcnZlIHdoYXQgaGFwcGVuZWQmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHJldHVybmVkIHRvIGhpcyBiYWNrcGFjay4KJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIGxlZnQgdGlsdC1wMSBzdGFuZGFyZCBiYXRjaDIgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7a2V2aW5fbm90ZWJvb2smcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9rZXZpbl9ub3RlYm9vay5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7cCZndDsKCUEgc21hbGwgbm90ZWJvb2sgd2FpdGVkIGluIHRoZSBmcm9udCBwb2NrZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSB1c2VkIGl0IGZvciBzY2hlZHVsZXMsIGFzc2lnbm1lbnRzLCBsb2NrZXIgY29tYmluYXRpb25zLCBhbmQKCWFueXRoaW5nIGVsc2UgdGhhdCBjb3VsZCBiZWNvbWUgYSBwcm9ibGVtIGlmIGhlIHRydXN0ZWQgaGltc2VsZiB0bwoJcmVtZW1iZXIgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbW9ybmluZyBxdWFsaWZpZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglXcml0aW5nIHRoZSBldmVudHMgZG93biBtaWdodCBtYWtlIHRoZW0gZWFzaWVyIHRvIG9yZ2FuaXplLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd291bGQgYWxzbyBtYWtlIHRoZW0gcmVhbCBlbm91Z2ggdG8gcmVyZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gb3BlbmVkIHRoZSBub3RlYm9vayB0byBhIGJsYW5rIHBhZ2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igc2V2ZXJhbCBzZWNvbmRzLCBoZSBoZWxkIHRoZSBwZW5jaWwgYWJvdmUgdGhlIHBhcGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhvdXNlIHJlbWFpbmVkIHF1aWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2FpdGluZy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hhdCBzaG91bGQgS2V2aW4gcmVjb3JkPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1dyaXRlIGEgY29tcGxldGUgbGlzdCBvZiBldmVyeXRoaW5nIGhlIG5vdGljZWQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5IYXNNeXN0ZXJ5Tm90ZXMgPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5SZWNvcmRlZENsdWVzID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gUmVjb3JkcyB0aGUgTW9ybmluZzoxOjgwYmY4ZWVlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLZXZpbiBSZWNvcmRzIHRoZSBNb3JuaW5nOjE6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O3J1biAkaW52ZW50b3J5LktldmluLnB1c2hVbmlxdWUoJnF1b3Q7TXlzdGVyeSBub3RlcyZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBjcmVhdGVkIGEgd3JpdHRlbiByZWNvcmQgb2YgdGhlIG1vcm5pbmcmcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gV3JpdGVzIENvbXBsZXRlIE5vdGVzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtpZiAkZm91bmRCYW5pc3RlckhleGFmb2lsIGFuZCAkbm90aWNlZFJvbWFuWEkmZ3Q7Jmd0OwoJCSZsdDsmbHQ7bGluayAmcXVvdDtTa2V0Y2ggdGhlIGhleGFmb2lsIGFuZCBtYXJrIHRoZSBlbGV2ZW50aCBzdGFpci4mcXVvdDsmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3NldCAka2V2aW5IYXNNeXN0ZXJ5Tm90ZXMgPSB0cnVlJmd0OyZndDsKCQkJJmx0OyZsdDtzZXQgJGtldmluUmVjb3JkZWRDbHVlcyA9IHRydWUmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBSZWNvcmRzIHRoZSBNb3JuaW5nOjI6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIFJlY29yZHMgdGhlIE1vcm5pbmc6MjozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3J1biAkaW52ZW50b3J5LktldmluLnB1c2hVbmlxdWUoJnF1b3Q7SGV4YWZvaWwgc2tldGNoJnF1b3Q7KSZndDsmZ3Q7CgkJCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBza2V0Y2hlZCB0aGUgc3ltYm9sIGFuZCBYSSZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gU2tldGNoZXMgdGhlIEhleGFmb2lsJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtSZWNvcmQgb25seSB0aGUgdGltZTogOToxNC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkhhc015c3RlcnlOb3RlcyA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpblJlY29yZGVkQ2x1ZXMgPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBSZWNvcmRzIHRoZSBNb3JuaW5nOjM6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIFJlY29yZHMgdGhlIE1vcm5pbmc6Mzo4MGJmOGVlZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuICRpbnZlbnRvcnkuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtOb3RlIG1hcmtlZCA5OjE0JnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0tldmluIHJlY29yZGVkIHRoZSB0aW1lIDk6MTQmcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gUmVjb3JkcyA5MTQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2lmICRmb3VuZE9sZEJ1dHRvbiZndDsmZ3Q7CgkJJmx0OyZsdDtsaW5rICZxdW90O1RyYWNlIHRoZSBidXR0b24gYW5kIHRoZSBtYXJrIGNhcnZlZCBpbnRvIGl0cyBiYWNrLiZxdW90OyZndDsmZ3Q7CgkJCSZsdDsmbHQ7c2V0ICRrZXZpbkhhc015c3RlcnlOb3RlcyA9IHRydWUmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3NldCAka2V2aW5SZWNvcmRlZENsdWVzID0gdHJ1ZSZndDsmZ3Q7CgkJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIFJlY29yZHMgdGhlIE1vcm5pbmc6NDozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gUmVjb3JkcyB0aGUgTW9ybmluZzo0OjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCSZsdDsmbHQ7cnVuICRpbnZlbnRvcnkuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtCdXR0b24gdHJhY2luZyZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gdHJhY2VkIHRoZSBvbGQgd29vZGVuIGJ1dHRvbiZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gVHJhY2VzIHRoZSBCdXR0b24mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1B1dCB0aGUgbm90ZWJvb2sgYXdheS4gV3JpdGluZyB0aGlzIGRvd24gd291bGQgbWFrZSBpdCBoYXJkZXIgdG8gZGlzbWlzcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRrZXZpbkhhc015c3RlcnlOb3RlcyA9IGZhbHNlJmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2V2aW5SZWNvcmRlZENsdWVzID0gZmFsc2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIFJlY29yZHMgdGhlIE1vcm5pbmc6NTphMzE1YTYwOCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gUmVjb3JkcyB0aGUgTW9ybmluZzo1OmEzMTVhNjA4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYXZvaWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBSZWplY3RzIHRoZSBOb3RlcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NSIgbmFtZT0iVGhlIFN0YWlyY2FzZSBDb3VudGRvd24iIHRhZ3M9ImJnLXBhc3NhZ2UiIHBvc2l0aW9uPSI5MDAsMjAyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogU3RhaXJjYXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0dldCBBYmJpZSBvdXQgb2YgdGhlIGhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtLZXZpbj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b29kIG5lYXIgdGhlIGZyb250IGRvb3Igd2l0aCBoZXIgYmFja3BhY2sgb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSYjMzk7cmUgZ29pbmcgdG8gYmUgbGF0ZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBubyB3b3JraW5nIHdhdGNoIGFuZCBubyByZWxpYWJsZSBjbG9jaywgYnV0IHRoZSBtb3JuaW5nIGZlbHQgYXMgaWYgaXQgaGFkIHN3YWxsb3dlZCBmYXIgbW9yZSB0aW1lIHRoYW4gaXQgc2hvdWxkIGhhdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBraXRjaGVuLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGludmVzdGlnYXRlZENsb3NldCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlBYmJpZSBoYWQgZmluaXNoZWQgYnJlYWtmYXN0LCBwdXQgaGVyIGJvd2wgaW4gdGhlIHNpbmssIGFuZAoJCXByZXBhcmVkIHRvIGxlYXZlIHdoaWxlIEtldmluIGludmVzdGlnYXRlZCBzb2lsIHN0YWlucyBhbmQgbW92aW5nCgkJY29hdCBob29rcy4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJGluc3BlY3RlZEVsZXZlbnRoU3RlcCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlBYmJpZSBoYWQgZmluaXNoZWQgYnJlYWtmYXN0LCBwdXQgaGVyIGJvd2wgaW4gdGhlIHNpbmssIGFuZAoJCXByZXBhcmVkIHRvIGxlYXZlIHdoaWxlIEtldmluIGxpc3RlbmVkIHRvIHNvbWV0aGluZyBicmVhdGhlIGJlbmVhdGgKCQl0aGUgZWxldmVudGggc3RhaXIuCgkmbHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LXAyIHN0YW5kYXJkIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O3JvbWFuX3N0YWlyY2FzZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX3JvbWFuX3N0YWlyY2FzZS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7Jmx0O2Vsc2VpZiAkbGlzdGVuZWROZWFyU3RhaXJzJmd0OyZndDsKCSZsdDtwJmd0OwoJCUFiYmllIGhhZCBmaW5pc2hlZCBicmVha2Zhc3QsIHB1dCBoZXIgYm93bCBpbiB0aGUgc2luaywgYW5kCgkJcHJlcGFyZWQgdG8gbGVhdmUgd2hpbGUgS2V2aW4gdHJhY2tlZCBzY3JhdGNoaW5nIHNvdW5kcyB0aHJvdWdoIHRoZQoJCXdhbGxzLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2VpZiAkbGVmdFN0YWlyc0Fsb25lJmd0OyZndDsKCSZsdDtwJmd0OwoJCUFiYmllIGhhZCBmaW5pc2hlZCBicmVha2Zhc3QsIHB1dCBoZXIgYm93bCBpbiB0aGUgc2luaywgYW5kCgkJcHJlcGFyZWQgdG8gbGVhdmUgd2hpbGUgS2V2aW4gcHJhY3RpY2VkIHRoZSB1bmZhbWlsaWFyIHNraWxsIG9mCgkJbm90IGludmVzdGlnYXRpbmcgc29tZXRoaW5nIHRlcnJpYmxlLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2VpZiAkZm91bmRCYW5pc3RlckhleGFmb2lsJmd0OyZndDsKCSZsdDtwJmd0OwoJCUFiYmllIGhhZCBmaW5pc2hlZCBicmVha2Zhc3QsIHB1dCBoZXIgYm93bCBpbiB0aGUgc2luaywgYW5kCgkJcHJlcGFyZWQgdG8gbGVhdmUgd2hpbGUgS2V2aW4gZXhhbWluZWQgdGhlIHN5bWJvbCBjYXJ2ZWQgaW50byB0aGUKCQliYW5pc3Rlci4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCUFiYmllIGhhZCBmaW5pc2hlZCBicmVha2Zhc3QsIHB1dCBoZXIgYm93bCBpbiB0aGUgc2luaywgYW5kCgkJcHJlcGFyZWQgdG8gbGVhdmUgd2hpbGUgS2V2aW4gaW52ZXN0aWdhdGVkIHRoZSBicm9rZW4gZnJhbWUuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglUaGF0IHNlZW1lZCB1bmZhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHNvbWV0aGluZyBjcmVha2VkIGFib3ZlIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb3VuZCBjYW1lIGZyb20gdGhlIHN0YWlyY2FzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBzdGVwIGNyZWFrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBuZXh0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZW9uZSB3YXMgZGVzY2VuZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHNhdyBubyBvbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3JlYWtpbmcgY29udGludWVkIGRvd253YXJkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJG5vdGljZWRSb21hblhJJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCQlUaGlydGVlbi4KCQlUd2VsdmUuCgkJRWxldmVuLgoJJmx0Oy9kaXYmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgaW52aXNpYmxlIHdlaWdodCBzdG9wcGVkIG9uIHRoZSBkYXJrZXIgc3RlcC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVN0YWlyIFhJLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtpZiAkZm91bmRCYW5pc3RlckhleGFmb2lsJmd0OyZndDsKCQkmbHQ7cCZndDsKCQkJVGhlIHNpeC1wZXRhbGVkIGNhcnZpbmcgZGFya2VuZWQgYXMgaWYgd2V0IHNvaWwgaGFkIGZpbGxlZCBldmVyeQoJCQlncm9vdmUuCgkJJmx0Oy9wJmd0OwoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0OyZsdDtpZiAkaW5zcGVjdGVkRWxldmVudGhTdGVwJmd0OyZndDsKCQkmbHQ7cCZndDsKCQkJVGhyZWUga25vY2tzIHN0cnVjayB0aGUgdW5kZXJzaWRlIG9mIHRoZSBzdGFpci4KCQkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O2Vsc2VpZiAkbGlzdGVuZWROZWFyU3RhaXJzJmd0OyZndDsKCQkmbHQ7cCZndDsKCQkJVGhlIHdhbGwgYW5zd2VyZWQgd2l0aCB0aGUgc2FtZSBzeW5jaHJvbml6ZWQgc2NyYXRjaGluZyBLZXZpbgoJCQloYWQgaGVhcmQgZWFybGllci4KCQkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O2Vsc2VpZiAkaW52ZXN0aWdhdGVkQ2xvc2V0Jmd0OyZndDsKCQkmbHQ7cCZndDsKCQkJVGhlIGhhbGx3YXkgZmlsbGVkIHdpdGggdGhlIHdldC1lYXJ0aCBzbWVsbCBmcm9tIHRoZSBjbG9zZXQuCgkJJmx0Oy9wJmd0OwoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGludmlzaWJsZSBmb290c3RlcHMgcmVzdW1lZC4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJGV4YW1pbmVkU3RhaXJjYXNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBpbnZpc2libGUgd2VpZ2h0IHN0b3BwZWQgc29tZXdoZXJlIGFib3ZlIHRoZSBzZWN0aW9uIEtldmluIGhhZAoJCWV4YW1pbmVkLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CglIZSBjb3VsZCBub3QgZGV0ZXJtaW5lIHdoaWNoIHN0ZXAgaGFkIGNyZWFrZWQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlGb3Igc2V2ZXJhbCBzZWNvbmRzLCBub3RoaW5nIG1vdmVkLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlbiB0aGUgZGVzY2VudCByZXN1bWVkLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGludmlzaWJsZSB3ZWlnaHQgc3RvcHBlZCBwYXJ0d2F5IGRvd24gdGhlIHN0YWlyY2FzZS4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUtldmluIGNvdWxkIG5vdCB0ZWxsIHdoaWNoIHN0ZXAgaGFkIGNyZWFrZWQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlGb3Igc2V2ZXJhbCBzZWNvbmRzLCBub3RoaW5nIG1vdmVkLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlbiB0aGUgZGVzY2VudCByZXN1bWVkLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVRlbi4mbHQ7YnImZ3Q7CglOaW5lLiZsdDticiZndDsKCUVpZ2h0LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmRzIHdlcmUgY29taW5nIGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNldmVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIHRvd2FyZCB0aGUgc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2l4LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7S2V2aW4/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGaXZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhhbGx3YXkgbGFtcCBmbGlja2VyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBkYXJrIHNoYXBlIHBhc3NlZCBhY3Jvc3MgdGhlIHVwcGVyIGxhbmRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaHJlZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhaXIgd2FybWVkIGJlaGluZCBLZXZpbiwgYXMgdGhvdWdoIHNvbWVvbmUgaGFkIGxlYW5lZCBjbG9zZSB0bwoJaGlzIG5lY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUd28uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSYjMzk7cyBoYW5kIGZvdW5kIGhpcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaW5hbCBzdGVwIGRpZCBub3QgY3JlYWsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21ldGhpbmcgaGFkIHJlYWNoZWQgdGhlIGhhbGx3YXkgZmxvb3IuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0ludmlzaWJsZSBmb290c3RlcHMgZGVzY2VuZGVkIHRoZSBzdGFpcmNhc2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtpZiAkbm90aWNlZFJvbWFuWEkmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0ludmlzaWJsZSBmb290c3RlcHMgcGF1c2VkIG9uIHRoZSBlbGV2ZW50aCBzdGFpciZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7SW52aXNpYmxlIGZvb3RzdGVwcyBwYXVzZWQgYXQgc3RhaXIgWEkmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtlbHNlaWYgJGV4YW1pbmVkU3RhaXJjYXNlJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtJbnZpc2libGUgZm9vdHN0ZXBzIHBhdXNlZCBzb21ld2hlcmUgb24gdGhlIHN0YWlyY2FzZSZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7SW52aXNpYmxlIGZvb3RzdGVwcyBwYXVzZWQgc29tZXdoZXJlIG9uIHRoZSBzdGFpcmNhc2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtJbnZpc2libGUgZm9vdHN0ZXBzIHBhdXNlZCBwYXJ0d2F5IGRvd24gdGhlIHN0YWlyY2FzZSZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7SW52aXNpYmxlIGZvb3RzdGVwcyBwYXVzZWQgZHVyaW5nIHRoZWlyIGRlc2NlbnQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2tldmluLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIFBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQgdW5leHBsYWluZWQgZXZlbnRzLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2V2aW4gcmVzcG9uZD8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtNb3ZlIGJldHdlZW4gdGhlIHN0YWlyY2FzZSBhbmQgQWJiaWUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgU3RhaXJjYXNlIENvdW50ZG93bjoxOjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgU3RhaXJjYXNlIENvdW50ZG93bjoxOjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgU3RhaXJjYXNlIENvdW50ZG93bjoyOjJmYWZmNGIyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgU3RhaXJjYXNlIENvdW50ZG93bjoyOjJmYWZmNGIyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1RoZSBXZXQgRm9vdHByaW50JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1RlbGwgQWJiaWUgdG8gb3BlbiB0aGUgZnJvbnQgZG9vci4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBTdGFpcmNhc2UgQ291bnRkb3duOjM6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBTdGFpcmNhc2UgQ291bnRkb3duOjM6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gdXJnZW50bHkgdG9sZCBBYmJpZSB0byBsZWF2ZSB0aGUgaG91c2UmcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7VGhlIFdldCBGb290cHJpbnQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7V2F0Y2ggdGhlIGZsb29yIHRvIGxlYXJuIHdoZXJlIHRoZSBmb290c3RlcHMgc3RvcC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBTdGFpcmNhc2UgQ291bnRkb3duOjQ6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBTdGFpcmNhc2UgQ291bnRkb3duOjQ6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7VGhlIFdldCBGb290cHJpbnQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGFrZSBBYmJpZSYjMzk7cyBoYW5kIGFuZCBsZWF2ZSBpbW1lZGlhdGVseS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBTdGFpcmNhc2UgQ291bnRkb3duOjU6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBTdGFpcmNhc2UgQ291bnRkb3duOjU6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgU3RhaXJjYXNlIENvdW50ZG93bjo2Ojk3MWY0ZTcxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgU3RhaXJjYXNlIENvdW50ZG93bjo2Ojk3MWY0ZTcxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAyJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1RoZSBXZXQgRm9vdHByaW50JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ2IiBuYW1lPSJUaGUgV2V0IEZvb3RwcmludCIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249Ijc3NSwyMDI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZm91bmRXZXRGb290cHJpbnQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogRnJvbnQgSGFsbCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtHZXQgQWJiaWUgb3V0IG9mIHRoZSBob3VzZSZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNyZWFraW5nIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWl0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaG91c2Ugd2VudCBzaWxlbnQuIE5vdCBlbXB0eS1ob3VzZSBzaWxlbnQuIFdhaXRpbmcgc2lsZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3Rvb2QgYmVzaWRlIGhpbSB3aXRoIG9uZSBoYW5kIHdyYXBwZWQgYXJvdW5kIGhpcyBmaW5nZXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QXJlIHdlIGxlYXZpbmc/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBkYXJrIG1hcmsgYXBwZWFyZWQgb24gdGhlIHdvb2RlbiBmbG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUF0IGZpcnN0LCBpdCB3YXMgbm8gbGFyZ2VyIHRoYW4gYSBjb2luLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2F0ZXIgc3ByZWFkIHNsb3dseSBpbnRvIHRoZSBncmFpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFuIGFyY2ggZm9ybWVkLCBmb2xsb3dlZCBieSBmaXZlIG5hcnJvdyB0b2VzLiBBIGJhcmUgZm9vdHByaW50IHRvb2sgc2hhcGUgd2hpbGUgS2V2aW4gd2F0Y2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNtYWxsZXIgdGhhbiBLZXZpbiYjMzk7cyBidXQgbGFyZ2VyIHRoYW4gQWJiaWUmIzM5O3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2F0ZXIgY2FycmllZCBmbGVja3Mgb2YgYmxhY2sgc29pbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2Vjb25kIGZvb3RwcmludCBkaWQgbm90IGFwcGVhci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaW5nbGUgd2V0IG1hcmsgcG9pbnRlZCB0b3dhcmQgdGhlIGZyb250IGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUb3dhcmQgS2V2aW4gYW5kIEFiYmllLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtBIHNpbmdsZSB3ZXQgZm9vdHByaW50IGFwcGVhcmVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHN0YWlycyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QSB3ZXQgYmFyZWZvb3QgcHJpbnQgYXBwZWFyZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc3RhaXJjYXNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1NpbmdsZSB3ZXQgZm9vdHByaW50IHBvaW50aW5nIHRvd2FyZCB0aGUgZnJvbnQgZG9vciZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2tldmluLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIFBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQgdW5leHBsYWluZWQgZXZlbnRzLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O01ham9yIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IEEgc2luZ2xlIHdldCBmb290cHJpbnQgYXBwZWFyZWQgYXQgdGhlCglib3R0b20gb2YgdGhlIHN0YWlyY2FzZSBhbmQgcG9pbnRlZCB0b3dhcmQgdGhlIGZyb250IGRvb3IuCiZsdDsvZGl2Jmd0OwombHQ7Jmx0O2lmICRpbnZlc3RpZ2F0ZWRDbG9zZXQmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGZvb3RwcmludCBjYXJyaWVkIHRoZSBzYW1lIHdldC1lYXJ0aCBzbWVsbCBLZXZpbiBoYWQgbm90aWNlZAoJCWluc2lkZSB0aGUgY2xvc2V0LgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJRml2ZSBuYXJyb3cgc3RyZWFrcyBleHRlbmRlZCBmcm9tIHRoZSB0b2VzLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhleSBtYXRjaGVkIHRoZSBmaW5nZXIgbWFya3MgYmVoaW5kIHRoZSBoYW5naW5nIGNvYXRzLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBmb290cHJpbnQgYW5kIGNsb3NldCBzaGFyZWQgdGhlIHNtZWxsIG9mIHdldCBzb2lsJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGZvb3RwcmludCBtYXRjaGVkIHRoZSBmaXZlIG1hcmtzIGluIHRoZSBjbG9zZXQmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSB3ZXQgZm9vdHByaW50IGNvbm5lY3RlZCB0byB0aGUgY2xvc2V0IHNvaWwgbWFya3MmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7Q29ubmVjdGlvbiBkaXNjb3ZlcmVkOiZsdDsvc3Ryb25nJmd0OyBUaGUgZm9vdHByaW50IG1hdGNoZWQgdGhlCgkJd2V0LWVhcnRoIHNtZWxsIGFuZCBmaXZlIG5hcnJvdyBtYXJrcyBpbnNpZGUgdGhlIGNsb3NldC4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2VpZiAkaW5zcGVjdGVkRWxldmVudGhTdGVwJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSB3YXRlciBoYWQgdGhlIHNhbWUgdW5uYXR1cmFsIGNvbGQgS2V2aW4gaGFkIGZlbHQgb24gdGhlCgkJZWxldmVudGggc3RhaXIuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlBIHRoaW4gc3RyZWFtIGNvbm5lY3RlZCB0aGUgZm9vdHByaW50IHRvIHRoZSBzdGFpcmNhc2UuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBmb2xsb3dlZCB0aGUgbGluZSB1cHdhcmQgd2l0aCBoaXMgZXllcy4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUl0IGVuZGVkIGF0IHN0YWlyIFhJLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBmb290cHJpbnQgcmVzZW1ibGVkIHRoZSBtb2lzdHVyZSBvbiB0aGUgZWxldmVudGggc3RhaXImcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSB3ZXQgZm9vdHByaW50IGNvbm5lY3RlZCB0byBzdGFpciBYSSZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtDb25uZWN0aW9uIGRpc2NvdmVyZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEEgdHJhaWwgb2YgY29sZCBtb2lzdHVyZQoJCWNvbm5lY3RlZCB0aGUgZm9vdHByaW50IHRvIHRoZSBlbGV2ZW50aCBzdGFpci4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2VpZiAkbGlzdGVuZWROZWFyU3RhaXJzJmd0OyZndDsKCSZsdDtwJmd0OwoJCVNvbWV0aGluZyBzY3JhdGNoZWQgb25jZSBiZWhpbmQgdGhlIHdhbGwuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgc291bmQgdHJhdmVsZWQgZnJvbSB0aGUgZWxldmVudGggc3RhaXIgdG8gdGhlIGZvb3RwcmludC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUl0IHN0b3BwZWQgZGlyZWN0bHkgYmVuZWF0aCB0aGUgd2V0IG1hcmsuCgkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGZvb3RwcmludCBhcHBlYXJlZCB3aXRoIHRoZSBzYW1lIHNjcmF0Y2hpbmcgS2V2aW4gaGVhcmQgYmVoaW5kIHRoZSB3YWxsJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgd2V0IGZvb3RwcmludCBhcHBlYXJlZCBhYm92ZSB0aGUgbW92aW5nIHNjcmF0Y2hpbmcgc291bmQmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7Q29ubmVjdGlvbiBkaXNjb3ZlcmVkOiZsdDsvc3Ryb25nJmd0OyBUaGUgc3luY2hyb25pemVkIHNjcmF0Y2hpbmcKCQl0cmF2ZWxlZCB0aHJvdWdoIHRoZSB3YWxsIGFuZCBzdG9wcGVkIGJlbmVhdGggdGhlIGZvb3RwcmludC4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2VpZiAkbGVmdFN0YWlyc0Fsb25lJmd0OyZndDsKCSZsdDtwJmd0OwoJCUtldmluIGhhZCBubyBlYXJsaWVyIGRpc2NvdmVyeSB0byBjb25uZWN0IHdpdGggdGhlIHdldCBtYXJrLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhhdCBkaWQgbm90IG1ha2UgdGhlIGZvb3RwcmludCBsZXNzIHJlYWwuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlJdCBvbmx5IG1lYW50IGhlIGhhZCBmZXdlciBleHBsYW5hdGlvbnMuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgZm9vdHByaW50IGRlZXBlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2F0ZXIgZmlsbGVkIHRoZSBzaGFwZSB1bnRpbCB0aGUgZmxvb3IgcmVmbGVjdGVkIHRoZSBoYWxsd2F5IGxhbXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzYXcgdGhlIHN0YWlyY2FzZSBpbiB0aGUgcmVmbGVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGFsc28gc2F3IHRocmVlIGdpcmxzIHN0YW5kaW5nIGJlaGluZCBoaW0uCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0tldmluIHNhdyB0aHJlZSBnaXJscyByZWZsZWN0ZWQgaW4gdGhlIHdldCBmb290cHJpbnQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhyZWUgZ2lybHMgYXBwZWFyZWQgaW4gdGhlIHdldCBmb290cHJpbnQmIzM5O3MgcmVmbGVjdGlvbiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHNwdW4gYXJvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25seSBBYmJpZSBzdG9vZCB0aGVyZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0tldmluPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbG9va2VkIGJhY2sgYXQgdGhlIGZvb3RwcmludC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByZWZsZWN0aW9uIHNob3dlZCBvbmx5IHRoZSBjZWlsaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcHVsbGVkIEFiYmllIHRvd2FyZCB0aGUgZnJvbnQgZG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHN0ZXBwZWQgb3V0c2lkZSwgd2FpdGVkIGZvciBBYmJpZSB0byBjcm9zcywgYW5kIGNsb3NlZCB0aGUgZG9vcgoJd2l0aG91dCBsb29raW5nIGJhY2sgaW50byB0aGUgaG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbG9jayBjbGlja2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRnJvbSB0aGUgb3RoZXIgc2lkZSBjYW1lIHRocmVlIHNsb3cga25vY2tzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGF0IGhpbS4gJnF1b3Q7RGlkIHlvdSBmb3JnZXQgc29tZXRoaW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RhcmVkIGF0IHRoZSBkb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSB3YXMgYmVnaW5uaW5nIHRvIHN1c3BlY3QgdGhhdCBzb21ldGhpbmcgaW5zaWRlIGhhZCByZW1lbWJlcmVkCgl0aGVtLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1JldmlldyBLZXZpbiYjMzk7cyBkaXNjb3Zlcmllcy0mZ3Q7S2V2aW4gQ2hhcHRlciBTdW1tYXJ5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NyIgbmFtZT0iS2V2aW4gQ2hhcHRlciBTdW1tYXJ5IiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iNzc1LDIxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O091dHNpZGUgdGhlIFdpbmNoZXN0ZXIgSG91c2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7V2FsayBBYmJpZSB0byBzY2hvb2wmcXVvdDsmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7Q2hhcHRlciBPbmUgQ29tcGxldGUmbHQ7L2RpdiZndDsKCgkmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7S2V2aW4gV2luY2hlc3RlciZsdDsvaDEmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0OwoJCVdoYXQgS2V2aW4gS25vd3MKCSZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKCiZsdDsmbHQ7aWYgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArICRrZXZpbkFwcHJvYWNoLmFjdCAmZ3Q7PSAka2V2aW5BcHByb2FjaC5hdm9pZCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBsZWZ0IHRoZSBXaW5jaGVzdGVyIGhvdXNlIGtub3dpbmcgdGhhdCB0aGUgbW9ybmluZyBjb3VsZAoJCW5vdCBiZSBleHBsYWluZWQgYnkgb25lIGZhdWx0eSBsYW1wIG9yIG9uZSBicm9rZW4gY2xvY2suCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBsZWZ0IHRoZSBXaW5jaGVzdGVyIGhvdXNlIHN0aWxsIHRyeWluZyB0byBiZWxpZXZlIHRoYXQgZWFjaAoJCWV2ZW50IG1pZ2h0IGhhdmUgYW4gb3JkaW5hcnkgZXhwbGFuYXRpb24uCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhlIHdldCBmb290cHJpbnQgbWFkZSB0aGF0IGJlbGllZiBtdWNoIGhhcmRlciB0byBtYWludGFpbi4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQgY2hhcHRlci1zdW1tYXJ5LWNsdWVzJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBkaXNjb3ZlcmllczombHQ7L3N0cm9uZyZndDsKCgkmbHQ7dWwmZ3Q7CgkJJmx0O2xpJmd0O0tldmluJiMzOTtzIGRpZ2l0YWwgd2F0Y2ggZmFpbGVkLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RoZSBraXRjaGVuIGNsb2NrIHN0b3BwZWQgYXQgOToxNC4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtUaGUgcGhvdG9ncmFwaCBvZiB0aHJlZSBnaXJscyBkaXNhcHBlYXJlZC4mbHQ7L2xpJmd0OwoKCQkmbHQ7Jmx0O2lmICRoYWxsd2F5RmlndXJlQ29uZmlybWVkJmd0OyZndDsKCQkJJmx0O2xpJmd0O0tldmluIGNsZWFybHkgc2F3IGEgZmlndXJlIGluIHRoZSBoYWxsd2F5LiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtlbHNlaWYgJGhhbGx3YXlGaWd1cmVVbmNlcnRhaW4mZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7S2V2aW4gbWF5IGhhdmUgc2VlbiBhIGZpZ3VyZSBvciBoZWFyZCBzb21lb25lIG5lYXIgdGhlIHN0YWlyY2FzZS4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkZXhhbWluZWRFbXB0eUZyYW1lJmd0OyZndDsKCQkJJmx0O2xpJmd0O1RoZSBwaG90b2dyYXBoIHZhbmlzaGVkIGZyb20gYSBmcmFtZSB0aGF0IHJlbWFpbmVkIHNlYWxlZC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkZm91bmRCYW5pc3RlckhleGFmb2lsJmd0OyZndDsKCQkJJmx0O2xpJmd0O0Egc2l4LXBldGFsZWQgc3ltYm9sIGlzIGNhcnZlZCBpbnRvIHRoZSBiYW5pc3Rlci4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkbm90aWNlZFJvbWFuWEkmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIFJvbWFuIG51bWVyYWwgWEkgYXBwZWFycyBuZWFyIHRoZSBzeW1ib2wuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJGluc3BlY3RlZEVsZXZlbnRoU3RlcCZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgZWxldmVudGggc3RhaXIgd2FzIGNvbGQgYW5kIGRhbXAuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJGludmVzdGlnYXRlZENsb3NldCZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgaGFsbHdheSBjbG9zZXQgc21lbGxlZCBvZiB3ZXQgc29pbC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkbGlzdGVuZWROZWFyU3RhaXJzJmd0OyZndDsKCQkJJmx0O2xpJmd0O0Egc2NyYXBpbmcgc291bmQgbW92ZWQgYmVoaW5kIHRoZSB3YWxsIHRvd2FyZCB0aGUgZWxldmVudGggc3RhaXIuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDtsaSZndDtBIHdldCBmb290cHJpbnQgYXBwZWFyZWQgbmVhciB0aGUgc3RhaXJjYXNlLiZsdDsvbGkmZ3Q7CgkmbHQ7L3VsJmd0OwombHQ7L2RpdiZndDsKCiZsdDsmbHQ7aWYgJGludmVzdGlnYXRlZENsb3NldCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBhbHNvIGtub3dzIHRoYXQgdGhlIGhhbGx3YXkgY2xvc2V0IHNtZWxsZWQgb2Ygd2V0IHNvaWwgYW5kCgkJdGhhdCBhbiBlbXB0eSBjb2F0IGhvb2sgbW92ZWQgYnkgaXRzZWxmLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmICRjYWxsZWRBYmJpZVRvRnJhbWUmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJQWJiaWUgcmVtZW1iZXJzIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGguIFNoZSBiZWxpZXZlcyB0aGUgZ2lybCBpbgoJCXRoZSBtaWRkbGUgbG9va2VkIG1lYW4uCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBkaWQgbm90IGFzayBBYmJpZSB3aGF0IHNoZSByZW1lbWJlcmVkIGFib3V0IHRoZSBwaG90b2dyYXBoLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmICRrZXZpblJlY29yZGVkQ2x1ZXMmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcHJlc2VydmVkIHBhcnQgb2YgdGhlIG1vcm5pbmcgaW4gd3JpdGluZy4KCSZsdDsvcCZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O0ludmVudG9yeSB1cGRhdGU6Jmx0Oy9zdHJvbmcmZ3Q7CgkJJmx0OyZsdDtpZiAkaW52ZW50b3J5LktldmluLmluY2x1ZGVzKCZxdW90O015c3Rlcnkgbm90ZXMmcXVvdDspJmd0OyZndDsKCQkJS2V2aW4gaXMgY2FycnlpbmcgYSB3cml0dGVuIGxpc3Qgb2YgdGhlIHVuZXhwbGFpbmVkIGV2ZW50cy4KCQkmbHQ7Jmx0O2Vsc2VpZiAkaW52ZW50b3J5LktldmluLmluY2x1ZGVzKCZxdW90O0hleGFmb2lsIHNrZXRjaCZxdW90OykmZ3Q7Jmd0OwoJCQlLZXZpbiBpcyBjYXJyeWluZyBhIHNrZXRjaCBvZiB0aGUgc3ltYm9sIGFuZCB0aGUgUm9tYW4KCQkJbnVtZXJhbCBYSS4KCQkmbHQ7Jmx0O2Vsc2VpZiAkaW52ZW50b3J5LktldmluLmluY2x1ZGVzKCZxdW90O05vdGUgbWFya2VkIDk6MTQmcXVvdDspJmd0OyZndDsKCQkJS2V2aW4gaXMgY2FycnlpbmcgYSBub3RlIG1hcmtlZCA5OjE0LgoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gY2hvc2Ugbm90IHRvIGNyZWF0ZSBhIHdyaXR0ZW4gcmVjb3JkLiBGb3Igbm93LCB0aGUgZGV0YWlscwoJCWV4aXN0IG9ubHkgaW4gaGlzIG1lbW9yeS4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtUb3RhbCB1bmV4cGxhaW5lZCBldmVudHM6Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQKJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0byBDaGFwdGVyIFR3by0mZ3Q7Q2hhcHRlciAyIFRyYW5zaXRpb25dXQombHQ7L2RpdiZndDsKCiZsdDsmbHQ7aWYgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgJmd0Oz0gJGtldmluQXBwcm9hY2guYWN0ICsgJGtldmluQXBwcm9hY2guYXZvaWQmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5BYmlsaXR5ID0gJnF1b3Q7UGF0dGVyblJlY29nbml0aW9uJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0FiaWxpdHkgdW5sb2NrZWQ6IFBhdHRlcm4gUmVjb2duaXRpb24uJmx0Oy9zdHJvbmcmZ3Q7IEtldmluIG1heSByZXZlYWwgYW4gZXh0cmEgY29ubmVjdGlvbiBkdXJpbmcgZ3JvdXAgZGVkdWN0aW9ucy4mbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BYmlsaXR5ID0gJnF1b3Q7U3RlYWR5QWN0aW9uJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0FiaWxpdHkgdW5sb2NrZWQ6IFN0ZWFkeSBBY3Rpb24uJmx0Oy9zdHJvbmcmZ3Q7IEtldmluIGNhbiBrZWVwIG1vdmluZyB3aGVuIGEgc3VwZXJuYXR1cmFsIGV2ZW50IGF0dGVtcHRzIHRvIGRlbGF5IGhpbS4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0OCIgbmFtZT0iQ2hhcHRlciAyIFRyYW5zaXRpb24iIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI3NzUsMjI3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtza2V0Y2gtbm90ZSByeWFuLW5vdGUmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3J5YW5fc2FmZXR5X3J1bGVzLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UnlhbiBza2V0Y2ggbm90ZSZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAkY2hhcHRlciA9IDImZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcG92ID0gJnF1b3Q7UnlhbiZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgb3V0IHdoeSBSeWFuIHdhcyBzdW1tb25lZCBiZWZvcmUgdGhlIGZpcnN0IGJlbGwmcXVvdDsmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtFcGlzb2RlIE9uZSZsdDsvZGl2Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLW51bWJlciZxdW90OyZndDtDaGFwdGVyIFR3byZsdDsvZGl2Jmd0OwoJJmx0O2gxIGNsYXNzPSZxdW90O3Bvdi1uYW1lJnF1b3Q7Jmd0O1J5YW4gR3J1YmxlciZsdDsvaDEmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7QSBOZXcgUmVjb3JkLCBhbmQgTm90IHRoZSBHb29kIEtpbmQmbHQ7L2RpdiZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1vYmplY3RpdmUmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtJbW1lZGlhdGUgb2JqZWN0aXZlOiZsdDsvc3Ryb25nJmd0OwoJCSZsdDtzcGFuJmd0O0ZpbmQgb3V0IHdoeSBSeWFuIHdhcyBzdW1tb25lZCBiZWZvcmUgdGhlIGZpcnN0IHNjaG9vbCBkYXkgaGFzIHByb3Blcmx5IGJlZ3VuLiZsdDsvc3BhbiZndDsKCSZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtwb3Ytbm90aWNlJnF1b3Q7Jmd0OwoJWW91IGFyZSBub3cgcGxheWluZyBhcyAmbHQ7c3Ryb25nJmd0O1J5YW4mbHQ7L3N0cm9uZyZndDsuIFJ5YW4gZG9lcyBub3Qga25vdyB3aGF0CgloYXBwZW5lZCBpbnNpZGUgdGhlIFdpbmNoZXN0ZXIgaG91c2UuIEtldmluJiMzOTtzIGRpc2NvdmVyaWVzIHdpbGwgcmVtYWluCglwcml2YXRlIHVubGVzcyBLZXZpbiBsYXRlciBjaG9vc2VzIHRvIHNoYXJlIHRoZW0uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVdoaWxlIEtldmluIFdpbmNoZXN0ZXIgd2FzIHRyeWluZyB0byBsZWF2ZSBhIGhvdXNlIHRoYXQgYXBwZWFyZWQKCWRldGVybWluZWQgdG8ga2VlcCBoaXMgYXR0ZW50aW9uLCBSeWFuIEdydWJsZXIgd2FzIGFscmVhZHkgc2l0dGluZwoJb3V0c2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaXJzdCBiZWxsIGhhZCBub3QgcnVuZy4gUnlhbiBoYWQgbm90IGVudGVyZWQgYSBjbGFzc3Jvb20sIHNwb2tlbgoJdG8gYSB0ZWFjaGVyLCBvciBjcmVhdGVkIGFueSBwcm9ibGVtIHRoYXQgY291bGQgYmUgZG9jdW1lbnRlZCBvbiBhbgoJb2ZmaWNpYWwgZm9ybS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWVob3csIGhlIHdhcyBhbHJlYWR5IGluIHRyb3VibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IGhhZCB0byBiZSBhIHNjaG9vbCByZWNvcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgdGhlIHNvcnQgdGhhdCBjYW1lIHdpdGggYSB0cm9waHkuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQmVnaW4gUnlhbiYjMzk7cyBjaGFwdGVyLSZndDtSeWFuIE9wZW5pbmddXQombHQ7L2RpdiZndDsKCi8qIFY0LjMgYm91bmRhcnkgY2hlY2twb2ludCBjaGFwdGVyIDIgKi8KJmx0OyZsdDtydW4gc2V0dXAudjQzQ2FwdHVyZUJvdW5kYXJ5KDIsICZxdW90O0NoYXB0ZXIgMiBUcmFuc2l0aW9uJnF1b3Q7LCAxKSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLnY0NENhcHR1cmVDaGFwdGVyKDIsICZxdW90O0NoYXB0ZXIgMiBUcmFuc2l0aW9uJnF1b3Q7LCAxKSZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDkiIG5hbWU9IlJ5YW4gT3BlbmluZyIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249Ijc3NSwyNDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7ZGl2IGNsYXNzPSZxdW90O3NrZXRjaC1ub3RlIHJ5YW4tbm90ZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvcnlhbl9yZWRfc294X2JhdHRpbmdfaGVsbWV0LnBuZyZxdW90OyBhbHQ9JnF1b3Q7UnlhbiBza2V0Y2ggbm90ZSZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAkY2hhcHRlciA9IDImZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcG92ID0gJnF1b3Q7UnlhbiZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBNYWluIE9mZmljZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIG91dCB3aHkgUnlhbiB3YXMgc3VtbW9uZWQgYmVmb3JlIHRoZSBmaXJzdCBiZWxsJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7ClRoZXJlIHdlcmUgZXhhY3RseSB0aHJlZSBzaXR1YXRpb25zIHdoZW4gUnlhbiBHcnVibGVyIHJlbW92ZWQgaGlzIGhlbG1ldDogc2xlZXBpbmcsIHNob3dlcmluZywgYW5kLCBzdGFydGluZyB0b2RheSwgYmVpbmcgc3VtbW9uZWQgdG8gdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UuIFRoYXQgbGFzdCBvbmUgd2FzIHN0aWxsIHVuZGVyIHJldmlldy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKUnlhbiBzYXQgb24gdGhlIGhhcmQgd29vZGVuIGJlbmNoIG91dHNpZGUgdGhlIG9mZmljZSB3aXRoIGhpcyBsaWdodC1yZWQgYmF0dGluZyBoZWxtZXQgcHVsbGVkIGxvdyBvdmVyIGhpcyBmb3JlaGVhZC4gQSBkYXJrIEIgbWFya2VkIHRoZSBmcm9udCBhYm92ZSB0aGUgZGFyayB2aXNvciwgc2hvd2luZyBoaXMgbG95YWx0eSB0byB0aGUgQm9zdG9uIFJlZCBTb3guIEl0IGFsc28gc3Rvb2QgZm9yIGJhcnJpZXIsIGJ1ZmZlciwgYW5kLCBvbiBwYXJ0aWN1bGFybHkgZGlmZmljdWx0IGRheXMsIGJldHRlciB0aGFuIG5vdGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBiZW5jaCBhcHBlYXJlZCB0byBoYXZlIGJlZW4gZGVzaWduZWQgYnkgc29tZW9uZSB3aG8gZGlzbGlrZWQgY2hpbGRyZW4gYW5kIGhhZCBhY2Nlc3MgdG8gbHVtYmVyLiBJdHMgZWRnZSBkdWcgaW50byBSeWFuJiMzOTtzIGxlZ3MuIFdhaXRpbmcgdGhpcyB1bmNvbWZvcnRhYmxlIHNob3VsZCBoYXZlIGVhcm5lZCBhbiBhd2FyZCwgcHJlZmVyYWJseSBvbmUgcHJlc2VudGVkIHNvbWV3aGVyZSBlbHNlLiBUaGUgcHJpbmNpcGFsJiMzOTtzIGRvb3Igc3Rvb2Qgb3BlbiBieSBsZXNzIHRoYW4gYW4gaW5jaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIGdhcCBzaG91bGQgaGF2ZSByZXZlYWxlZCBwYXJ0IG9mIHRoZSByb29tIGJleW9uZCBpdC4gQSBkZXNrLCBwZXJoYXBzLiBBIHdhbGwuIExpZ2h0IGZyb20gYSB3aW5kb3cuIEluc3RlYWQsIGRhcmtuZXNzIGZpbGxlZCB0aGUgb3BlbmluZyBmcm9tIHRvcCB0byBib3R0b20uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7Ckl0IGRpZCBub3QgbG9vayBsaWtlIGFuIHVubGl0IG9mZmljZS4gSXQgbG9va2VkIGFzIGlmIHRoZSBuYXJyb3cgZ2FwIGNvbnRpbnVlZCBtdWNoIGZhcnRoZXIgdGhhbiB0aGUgd2FsbCBhbGxvd2VkLCBhbmQgdGhlIGRhcmtuZXNzIGhhZCBsZWFuZWQgZm9yd2FyZCB0byBsb29rIGJhY2sgYXQgaGltLiBSeWFuIGFkanVzdGVkIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CkNsYXNzZXMgaGFkIG5vdCBzdGFydGVkLiBUaGUgZmlyc3QgYmVsbCBoYWQgbm90IHJ1bmcuIEhlIGhhZCBub3Qgc3Bva2VuIHRvIGFueW9uZSwgdG91Y2hlZCBhbnl0aGluZywgb3IgY2F1c2VkIGEgc2luZ2xlIHByb2JsZW0uIFRoYXQgbGFzdCBwYXJ0IHdhcyBpbXBvcnRhbnQuIE5vIG9uZSBjb3VsZCBob25lc3RseSBibGFtZSBoaW0gZm9yIGFueXRoaW5nIGlmIGhlIGhhZCBub3QgeWV0IGRvbmUgYW55dGhpbmcuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJTmV3IHJlY29yZCwgUnlhbiBHcnVibGVyLiBOb3QgdGhlIGtpbmQgdGhhdCBjb21lcyB3aXRoIGEgdHJvcGh5LgombHQ7L2RpdiZndDsKJmx0OyZsdDtydW4gJHJ5YW5UaHJlYXRzLnB1c2hVbmlxdWUoJnF1b3Q7UHJpbmNpcGFsJiMzOTtzIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKU29tZXdoZXJlIGJlaGluZCB0aGUgc2VjcmV0YXJ5JiMzOTtzIGNvdW50ZXIsIGEgbWltZW9ncmFwaCBtYWNoaW5lIGJlZ2FuIHRvIHR1cm4uIEl0cyByb2xsZXJzIHByb2R1Y2VkIGEgc2xvdyBtZWNoYW5pY2FsIGh1bS4gSGFsZndheSB0aHJvdWdoIHRoZSBjeWNsZSwgdGhleSBjYXVnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBtYWNoaW5lIGdhdmUgYSB3ZXQgc3F1ZWFrLiBUaGVuIGl0IGNvbnRpbnVlZC4gUnlhbiBsb29rZWQgdG93YXJkIHRoZSBzb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgd2FzIGFscmVhZHkgbG9va2luZyBhdCBoaW0uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIFJ5YW4gZXZhbHVhdGUgZmlyc3Q/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1N0dWR5IHRoZSB3YWl0aW5nIGFyZWEgZm9yIHBvc3NpYmxlIGhhemFyZHMtJmd0O1J5YW4gU3R1ZGllcyB0aGUgV2FpdGluZyBBcmVhXV0KCVtbV2F0Y2ggdGhlIHNjaG9vbCBzZWNyZXRhcnktJmd0O1J5YW4gV2F0Y2hlcyB0aGUgU2VjcmV0YXJ5XV0KCVtbRXhhbWluZSB0aGUgcHJpbmNpcGFsJiMzOTtzIHBhcnRseSBvcGVuIGRvb3ItJmd0O1J5YW4gRXhhbWluZXMgdGhlIFByaW5jaXBhbCBEb29yXV0KCVtbQ2hlY2sgdGhlIG5lcnZvdXMgc3R1ZGVudCBzaXR0aW5nIGJlc2lkZSBoaW0tJmd0O1J5YW4gQ2hlY2tzIHRoZSBPdGhlciBTdHVkZW50XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MCIgbmFtZT0iQWJiaWUgR2V0cyBIZXIgT3duIENlcmVhbCIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSIxMjAwLDIyNTAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJS2V2aW4gd2F0Y2hlZCBBYmJpZSBiYWxhbmNlIG9uIHRoZSBjaGFpci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNvbnNpZGVyZWQgaGVscGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGFsc28ga25ldyB3aGF0IHdvdWxkIGhhcHBlbiBpZiBoZSBkaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB3b3VsZCBpbnNpc3Qgc2hlIGhhZCBub3QgbmVlZGVkIGhlbHAuIEtldmluIHdvdWxkIGV4cGxhaW4gdGhhdAoJYXZvaWRpbmcgYSBoZWFkIGluanVyeSB3YXMgbW9yZSBpbXBvcnRhbnQgdGhhbiBpbmRlcGVuZGVuY2UuIEFiYmllCgl3b3VsZCBhcmd1ZSB0aGF0IGhlciBoZWFkIHdhcyBleHRyZW1lbHkgc3Ryb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlcmUgd2FzIGV2aWRlbmNlIHN1cHBvcnRpbmcgYm90aCBzaWRlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHdyYXBwZWQgYm90aCBoYW5kcyBhcm91bmQgdGhlIGNlcmVhbCBib3ggYW5kIHB1bGxlZCBpdCBmcm9tIHRoZQoJc2hlbGYuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIHRvbGQgeW91IEkgY291bGQgZ2V0IGl0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkaWRuJiMzOTt0IHNheSBhbnl0aGluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSB3ZXJlIHRoaW5raW5nIGxvdWRseS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBjbGltYmVkIGRvd24gYW5kIGNhcnJpZWQgdGhlIGJveCB0byB0aGUgdGFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igc2V2ZXJhbCBzZWNvbmRzLCB0aGUgbW9ybmluZyByZXR1cm5lZCB0byBzb21ldGhpbmcgb3JkaW5hcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDZXJlYWwuIENoYWlyLiBCYWNrcGFjay4gRmlyc3QtZGF5IGNvbXBsYWludHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHNvbWV0aGluZyBsYXJnZSBzdHJ1Y2sgdGhlIGhhbGx3YXkgZmxvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3Jhc2ggc2hvb2sgdGhlIGtpdGNoZW4gZG9vcndheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGh1Z2dlZCB0aGUgY2VyZWFsIGJveCBhZ2FpbnN0IGhlciBjaGVzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCB0b3dhcmQgdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGFtcCBoYWQgZ29uZSBvdXQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRmluZCBvdXQgd2hhdCBicm9rZS0mZ3Q7VGhlIEhhbGx3YXkgQ3Jhc2hdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUxIiBuYW1lPSJLZXZpbiBUZWxscyBBYmJpZSBTb21ldGhpbmcgV2FzIFRoZXJlIiB0YWdzPSJiZy1ob3VzZSIgcG9zaXRpb249IjE2NzUsMTAwMCIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMSBjb25zZXF1ZW5jZSBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7YWJiaWVEaXNjbG9zdXJlJnF1b3Q7LCAmcXVvdDtwYXJ0aWFsJnF1b3Q7LCAmcXVvdDtBYmJpZSBpcyB3YXJuZWQsIGJ1dCBsYWNrcyB0aGUgZGV0YWlscyBuZWVkZWQgdG8gcmVjb2duaXplIHRoZSBwYXR0ZXJuLiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0kgdGhvdWdodCBzb21ldGhpbmcgd2FzIGluIHRoZSBoYWxsd2F5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgdHVybmVkIHRvIGxvb2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGtpbmQgb2Ygc29tZXRoaW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkb24mIzM5O3Qga25vdy4gQSBzaGFwZS4gT3IgZm9vdHN0ZXBzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2hhcGVzIGRvbiYjMzk7dCBoYXZlIGZlZXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cgdGhhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gaXQgd2FzIHByb2JhYmx5IHR3byBzb21ldGhpbmdzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGFkIGhvcGVkIHRlbGxpbmcgc29tZW9uZSB3b3VsZCBtYWtlIHRoZSBleHBlcmllbmNlIGVhc2llciB0bwoJZXhwbGFpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUluc3RlYWQsIEFiYmllIGhhZCBkb3VibGVkIHRoZSBudW1iZXIgb2YgcG9zc2libGUgaW50cnVkZXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkaWRuJiMzOTt0IHNlZSBpdCBjbGVhcmx5LCZxdW90OyBoZSBzYWlkLiAmcXVvdDtJdCBkaXNhcHBlYXJlZCBiZWZvcmUgeW91IGNhbWUKCWluLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbGVhbmVkIGludG8gdGhlIGhhbGx3YXkgZW50cmFuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIZWxsbz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHB1bGxlZCBoZXIgYmFjayBieSB0aGUgYmFja3BhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEb24mIzM5O3QgZG8gdGhhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JlY2F1c2UgaWYgc29tZXRoaW5nIGFuc3dlcnMsIHRoZW4gd2UgaGF2ZSBhIG11Y2ggbGFyZ2VyIHByb2JsZW0uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBjb25zaWRlcmVkIHRoYXQuICZxdW90O1doYXQgaWYgaXQmIzM5O3MgcG9saXRlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UG9saXRlIHRoaW5ncyBkb24mIzM5O3QgaGlkZSBpbiBkYXJrIGhhbGx3YXlzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U29tZXRpbWVzIHlvdSBoaWRlIGluIGRhcmsgcm9vbXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGlzIGRpZmZlcmVudC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBoaWRlIGZyb20gcGVvcGxlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gb3BlbmVkIGhpcyBtb3V0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gY2xvc2VkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxhbXAgZ2F2ZSBvbmUgZmFpbnQgZWxlY3RyaWNhbCBodW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzbWlsZWQgdG93YXJkIHRoZSBlbXB0eSBoYWxsd2F5LiAmcXVvdDtNYXliZSBpdCBoaWRlcyBmb3IgdGhlIHNhbWUKCXJlYXNvbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S25vd2xlZGdlIHNoYXJlZDombHQ7L3N0cm9uZyZndDsgQWJiaWUga25vd3MgS2V2aW4gdGhvdWdodCBzb21ldGhpbmcKCXdhcyBuZWFyIHRoZSBzdGFpcmNhc2UsIGJ1dCBLZXZpbiBjYW5ub3QgaWRlbnRpZnkgaXQgd2l0aCBjZXJ0YWludHkuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB3aXRoIHRoZSBtb3JuaW5nLSZndDtBYmJpZSBEZWxpdmVycyB0aGUgTm90ZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTIiIG5hbWU9IktldmluIExlYXZlcyB0aGUgSGFsbHdheSBFYXJseSIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249Ijk3NSwyMjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5MZWZ0SW52ZXN0aWdhdGlvbkVhcmx5ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtMZWF2ZSBmb3Igc2Nob29sIHdpdGggQWJiaWUmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXQgdGhlIGJyb2tlbiBmcmFtZSwgdGhlIHNjYXR0ZXJlZCBnbGFzcywgYW5kIHRoZSBlbXB0eQoJc3BhY2Ugd2hlcmUgdGhlIHBob3RvZ3JhcGggaGFkIGJlZW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSGUgaGFkIGFscmVhZHkgbGVhcm5lZCBlbm91Z2ggdG8ga25vdyB0aGF0IHNvbWV0aGluZyB3YXMgd3JvbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJSGUgZGlkIG5vdCBuZWVkIHRvIHVuZGVyc3RhbmQgZXZlcnl0aGluZyBiZWZvcmUgbGVhdmluZyB0aGUgaG91c2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7QWJiaWUsIGdldCB5b3VyIGJhY2twYWNrLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O0kgYWxyZWFkeSBoYXZlIGl0LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O1RoZW4gd2UmIzM5O3JlIGxlYXZpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJS2V2aW4gdHVybmVkIGF3YXkgZnJvbSB0aGUgc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCUJlaGluZCBoaW0sIG9uZSBvZiB0aGUgc3RlcHMgY3JlYWtlZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbSGVhZCBmb3IgdGhlIGZyb250IGRvb3ItJmd0O1RoZSBTdGFpcmNhc2UgQ291bnRkb3duXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MyIgbmFtZT0iS2V2aW4gSW5zcGVjdHMgdGhlIEVsZXZlbnRoIFN0ZXAiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIxMjg3LjUsMTgwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGluc3BlY3RlZEVsZXZlbnRoU3RlcCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBFbGV2ZW50aCBTdGFpciZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2h5IFhJIHBvaW50cyB0byB0aGUgZWxldmVudGggc3RlcCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcGxhY2VkIG9uZSBmb290IG9uIHRoZSBmaXJzdCBzdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjcmF0Y2hpbmcgaW5zaWRlIHRoZSB3YWxsIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSB3YWl0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY2xpbWJlZCBzbG93bHksIGNvdW50aW5nIGVhY2ggc3RlcCBiZW5lYXRoIGhpcyBicmVhdGguCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJT25lLgoJVHdvLgoJVGhyZWUuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBzdGFpcmNhc2UgY3JlYWtlZCBiZW5lYXRoIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uIHRoZSBmb3VydGggc3RlcCwgYW5vdGhlciBjcmVhayBhbnN3ZXJlZCBmcm9tIGFib3ZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZnJvemUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoYWQgbm90IHN0ZXBwZWQgb24gYW55dGhpbmcgYWJvdmUgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY29udGludWVkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUZpdmUuCglTaXguCglTZXZlbi4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFpciBncmV3IGNvbGRlciBhcyBoZSBjbGltYmVkLiBCeSB0aGUgbmludGggc3RlcCwgaGlzIGJyZWF0aAoJZm9ybWVkIGEgcGFsZSBjbG91ZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCB0b3dhcmQgdGhlIGtpdGNoZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSByZW1haW5lZCBhdCB0aGUgdGFibGUsIGVhdGluZyBjZXJlYWwgYXMgaWYgaGVyIGJyb3RoZXIgY29tbW9ubHkKCWNsaW1iZWQgc3RhaXJjYXNlcyB0aGF0IGJyZWF0aGVkIHdpbnRlciBhaXIuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJRWlnaHQuCglOaW5lLgoJVGVuLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIGJlbG93IHRoZSBkYXJrZXIgc3RlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUVsZXZlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1vaXN0dXJlIGhhZCBjb2xsZWN0ZWQgYWxvbmcgaXRzIHdvb2RlbiBlZGdlLiBUaGUgcmVzdCBvZiB0aGUKCXN0YWlyY2FzZSB3YXMgZHJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgdG91Y2hlZCB0aGUgc3RhaW4gd2l0aCBvbmUgZmluZ2VydGlwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdvb2Qgd2FzIGNvbGQgZW5vdWdoIHRvIGh1cnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNvZnQga25vY2sgY2FtZSBmcm9tIGJlbmVhdGggdGhlIHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZW1vdmVkIGhpcyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGtub2NrIGNhbWUgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGEgdGhpcmQgdGltZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlIGV2ZW5seSBzcGFjZWQga25vY2tzIGZyb20gaW5zaWRlIHRoZSBzdGFpcmNhc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsZWFuZWQgY2xvc2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmV0d2VlbiB0aGUga25vY2tzLCBzb21ldGhpbmcgbW92ZWQgYmVuZWF0aCB0aGUgd29vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBzY3JhdGNoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQnJlYXRoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSB0aGluIHN0cmVhbSBvZiB3YXRlciBlbWVyZ2VkIGZyb20gdGhlIHNlYW0gYmVsb3cgdGhlIHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbnN0ZWFkIG9mIGRyaXBwaW5nIGRvd253YXJkLCBpdCB0cmF2ZWxlZCBzaWRld2F5cyBhbG9uZyB0aGUgd29vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRvd2FyZCBLZXZpbiYjMzk7cyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYmFja2VkIGRvd24gdHdvIHN0ZXBzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdhdGVyIHN0b3BwZWQgbW92aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJyZWF0aGluZyBzdG9wcGVkIHRvby4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7U29tZXRoaW5nIGtub2NrZWQgYmVuZWF0aCB0aGUgZWxldmVudGggc3RhaXImcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBlbGV2ZW50aCBzdGFpciB3YXMgY29sZCBhbmQgZGFtcCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7U29tZXRoaW5nIGJlbmVhdGggc3RhaXIgWEkgYXBwZWFyZWQgdG8gYnJlYXRoZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaHJlZSBrbm9ja3MgYW5kIGJyZWF0aGluZyBiZW5lYXRoIHN0YWlyIFhJJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtPcHRpb25hbCBkaXNjb3Zlcnk6Jmx0Oy9zdHJvbmcmZ3Q7IFNvbWV0aGluZyBrbm9ja2VkIHRocmVlIHRpbWVzIGFuZAoJYXBwZWFyZWQgdG8gYnJlYXRoZSBiZW5lYXRoIHRoZSBjb2xkLCBkYW1wIGVsZXZlbnRoIHN0YWlyLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgdG93YXJkIHRoZSB1cHBlciBsYW5kaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIG9uZSBzZWNvbmQsIHRocmVlIHNtYWxsIHNoYWRvd3Mgc3Rvb2Qgc2lkZSBieSBzaWRlIGFnYWluc3QgdGhlCgl3YWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgaGFsbHdheSBsYW1wIGZsaWNrZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgS2V2aW4mIzM5O3Mgc2hhZG93IHJlbWFpbmVkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1JldHVybiBkb3duc3RhaXJzLSZndDtLZXZpbiBSZWNvcmRzIHRoZSBNb3JuaW5nXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NCIgbmFtZT0iS2V2aW4gQ2hlY2tzIHRoZSBIYWxsd2F5IENsb3NldCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjE0MTIuNSwxODAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2hlY2tlZEhhbGx3YXlDbG9zZXQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDaGVjayB3aGV0aGVyIHRoZSBzY3JhdGNoaW5nIGVudGVyZWQgdGhlIGNsb3NldCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjcmF0Y2hpbmcgdHJhdmVsZWQgZG93bndhcmQgdGhyb3VnaCB0aGUgd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZvbGxvd2VkIGl0IHdpdGggaGlzIGV5ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBwYXNzZWQgdGhlIG5pbnRoIHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2V2ZW50aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaWZ0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaXQgdHVybmVkIGluc2lkZSB0aGUgd2FsbCBhbmQgbW92ZWQgdG93YXJkIHRoZSBoYWxsd2F5IGNsb3NldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjbG9zZXQgZG9vciBzdG9vZCBvcGVuIGJ5IGxlc3MgdGhhbiBhbiBpbmNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVtZW1iZXJlZCBsZWF2aW5nIGl0IGNsb3NlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGFsc28gcmVtZW1iZXJlZCBlbm91Z2ggc3RyYW5nZSB0aGluZ3MgZnJvbSB0aGUgbW9ybmluZyB0byBrbm93IHRoYXQKCWhpcyBtZW1vcnkgd2FzIG5vIGxvbmdlciB0aGUgbGVhc3QgcmVsaWFibGUgb2JqZWN0IGluIHRoZSBob3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY3JhdGNoaW5nIHJlYWNoZWQgdGhlIGNsb3NldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZG9vciBvcGVuZWQgYW5vdGhlciBpbmNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBjb2xkIHNtZWxsIGRyaWZ0ZWQgdGhyb3VnaCB0aGUgZ2FwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2V0IHNvaWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEZWFkIGxlYXZlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBkZWVwZXIgdGhhdCBLZXZpbiBjb3VsZCBub3QgbmFtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gaW5zaWRlIHRoZSBjbG9zZXQgY2FtZSBvbmUgc29mdCB0YXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGEgc2Vjb25kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhIHRoaXJkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW09wZW4gdGhlIGNsb3NldC0mZ3Q7S2V2aW4gU2VhcmNoZXMgdGhlIENsb3NldF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTUiIG5hbWU9IktldmluIExpc3RlbnMgTmVhciB0aGUgU3RhaXJjYXNlIiB0YWdzPSJiZy1wYXNzYWdlIiBwb3NpdGlvbj0iMTUyNSwxODAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbGlzdGVuZWROZWFyU3RhaXJzID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IFN0YWlyY2FzZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtUcmFjayB0aGUgc291bmQgbW92aW5nIGJlaGluZCB0aGUgd2FsbCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVtYWluZWQgYmVzaWRlIHRoZSBiYW5pc3Rlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvbGxvd2luZyB0aGUgc291bmQgbWlnaHQgdGVsbCBoaW0gd2hlcmUgaXQgd2VudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvbGxvd2luZyB0aGUgc291bmQgbWlnaHQgYWxzbyBwbGFjZSBoaW0gZGlyZWN0bHkgaW4gZnJvbnQgb2Ygd2hhdGV2ZXIKCXdhcyBtYWtpbmcgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjaG9zZSB0byBsaXN0ZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2NyYXRjaGluZyBiZWdhbiBiZW5lYXRoIHRoZSBlbGV2ZW50aCBzdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgdHJhdmVsZWQgZG93bndhcmQgdGhyb3VnaCB0aGUgd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNsb3dseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB0aGUgcmFuZG9tIG1vdmVtZW50IG9mIGEgbW91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNaWNlIGRpZCBub3QgcGF1c2UgZXZlcnkgZmV3IGZlZXQgYXMgdGhvdWdoIGNoZWNraW5nIHdoZXRoZXIgc29tZW9uZQoJd2FzIHN0aWxsIGxpc3RlbmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb3VuZCBzdG9wcGVkIG5lYXIgdGhlIHNldmVudGggc3RlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhlbGQgaGlzIGJyZWF0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY3JhdGNoaW5nIHJlc3VtZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCByZWFjaGVkIHRoZSBmb3VydGggc3RlcCwgY3Jvc3NlZCBiZWhpbmQgdGhlIGJhbmlzdGVyIHBvc3QsIGFuZAoJZW50ZXJlZCB0aGUgd2FsbCBiZXNpZGUgdGhlIGNsb3NldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaXQgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdhaXRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2Vjb25kIHNvdW5kIGFuc3dlcmVkIGZyb20gaW5zaWRlIHRoZSBraXRjaGVuIHdhbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFub3RoZXIgZnJvbSBhYm92ZSB0aGUgbGFuZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlIHNlcGFyYXRlIGxvY2F0aW9ucy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlIHNlcGFyYXRlIHNjcmF0Y2hpbmcgc291bmRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWxsIG1vdmluZyBpbiB0aGUgc2FtZSByaHl0aG0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VsZCBub3QgZGVjaWRlIHdoZXRoZXIgb25lIHRoaW5nIGhhZCBkaXZpZGVkIGludG8gdGhyZWUgb3IKCXRocmVlIHRoaW5ncyBoYWQgZmluYWxseSBub3RpY2VkIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb3VuZHMgc3RvcHBlZCB0b2dldGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gYmVoaW5kIHRoZSBzdGFpcmNhc2Ugd2FsbCBjYW1lIG9uZSBmYWludCB3aGlzcGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY291bGQgbm90IHVuZGVyc3RhbmQgdGhlIHdvcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzb3VuZGVkIGFsbW9zdCBsaWtlIGhpcyBuYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWxtb3N0LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIHNjcmFwaW5nIHNvdW5kIG1vdmVkIGZyb20gc3RhaXIgWEkgdG93YXJkIHRoZSBoYWxsd2F5IGNsb3NldCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhyZWUgc2NyYXRjaGluZyBzb3VuZHMgbW92ZWQgdGhyb3VnaCBzZXBhcmF0ZSB3YWxscyBpbiB0aGUgc2FtZSByaHl0aG0mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7U2NyYXRjaGluZyB0cmF2ZWxlZCBmcm9tIHN0YWlyIFhJIHRocm91Z2ggdGhlIGhvdXNlIHdhbGxzJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBbWJpZ3VvdXMgY2x1ZTombHQ7L3N0cm9uZyZndDsgVGhyZWUgc3luY2hyb25pemVkIHNjcmF0Y2hpbmcgc291bmRzCgltb3ZlZCBiZWhpbmQgc2VwYXJhdGUgd2FsbHMgYWZ0ZXIgdGhlIHNvdW5kIGxlZnQgc3RhaXIgWEkuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgYXdheSBmcm9tIHRoZSBzdGFpcmNhc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2FsbCBiZXNpZGUgaGltIHNjcmF0Y2hlZCBvbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2xvc2VyIHRoYW4gYmVmb3JlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0dldCByZWFkeSB0byBsZWF2ZS0mZ3Q7S2V2aW4gUmVjb3JkcyB0aGUgTW9ybmluZ11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTYiIG5hbWU9IktldmluIExlYXZlcyB0aGUgU3RhaXJzIEFsb25lIiB0YWdzPSJiZy1wYXNzYWdlIiBwb3NpdGlvbj0iMTcyNSwxOTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5sb3dlckF0dGVudGlvbigmcXVvdDtzdGFpcnMtcmVzdHJhaW50JnF1b3Q7LDEsJnF1b3Q7S2V2aW4gcmVmdXNlZCB0byByZXBlYXQgYSBkYW5nZXJvdXMgc3RhaXJjYXNlIHRlc3QuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsZWZ0U3RhaXJzQWxvbmUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gTGVhdmVzIHRoZSBTdGFpcnMgQWxvbmU6MToyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gTGVhdmVzIHRoZSBTdGFpcnMgQWxvbmU6MToyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1ByaW9yaXRpemUgZ2V0dGluZyBBYmJpZSBvdXQgb2YgdGhlIGhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGVwcGVkIGF3YXkgZnJvbSB0aGUgc3RhaXJjYXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRhcmtlciBzdGVwIHdvdWxkIHN0aWxsIGJlIHRoZXJlIHdoZW4gTW9tIGNhbWUgaG9tZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzeW1ib2wgd291bGQgc3RpbGwgYmUgY2FydmVkIGludG8gdGhlIGJhbmlzdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hhdGV2ZXIgd2FzIHNjcmF0Y2hpbmcgaW5zaWRlIHRoZSB3YWxsIHdvdWxkIGhvcGVmdWxseSByZW1haW4gaW5zaWRlCgl0aGUgd2FsbCwgd2hpY2ggS2V2aW4gY29uc2lkZXJlZCB0aGUgaWRlYWwgbG9jYXRpb24gZm9yIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW52ZXN0aWdhdGluZyBhbG9uZSB3b3VsZCBub3QgbWFrZSBBYmJpZSBzYWZlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdvdWxkIG5vdCBnZXQgZWl0aGVyIG9mIHRoZW0gdG8gc2Nob29sIG9uIHRpbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3b3VsZCBwcm9iYWJseSBub3QgaW1wcm92ZSBLZXZpbiYjMzk7cyBmaXJzdC1kYXkgaW50cm9kdWN0aW9uIGlmIGhlCglhcnJpdmVkIGNhcnJ5aW5nIHBhcnQgb2YgYSBoYXVudGVkIHN0YWlyY2FzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmNlLCBsZWF2aW5nIHNvbWV0aGluZyB1bmV4cGxhaW5lZCBmZWx0IGxpa2UgdGhlIG1vcmUgcmVhc29uYWJsZQoJZGVjaXNpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQgdG93YXJkIHRoZSBraXRjaGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjcmF0Y2hpbmcgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHRvb2sgYW5vdGhlciBzdGVwIGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3RhaXJjYXNlIGNyZWFrZWQgYmVoaW5kIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBzdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhbm90aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIGZvbGxvd2VkIGhpbSBkb3dud2FyZCBldmVuIHRob3VnaCBoZSB3YXMgYWxyZWFkeSBvbiB0aGUKCWZsb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCB0dXJuIGFyb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNob29zaW5nIG5vdCB0byBpbnZlc3RpZ2F0ZSB3YXMgbm90IHRoZSBzYW1lIGFzIHByZXRlbmRpbmcgbm90aGluZwoJd2FzIHRoZXJlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc3RhaXJjYXNlIGNyZWFrZWQgYWZ0ZXIgS2V2aW4gY2hvc2UgdG8gbGVhdmUgaXQgYWxvbmUmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1Byb3RlY3RpdmUgZGVjaXNpb246Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIHN0b3BwZWQgaW52ZXN0aWdhdGluZyBzbwoJaGUgY291bGQgZ2V0IEFiYmllIG91dCBvZiB0aGUgaG91c2UuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tHZXQgcmVhZHkgdG8gbGVhdmUtJmd0O0tldmluIFJlY29yZHMgdGhlIE1vcm5pbmddXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU3IiBuYW1lPSJSeWFuIFN0dWRpZXMgdGhlIFdhaXRpbmcgQXJlYSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjU4Ny41LDI1MjUiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7c2tldGNoLW5vdGUgcnlhbi1ub3RlJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9yeWFuX3RocmVzaG9sZF9jaGFpci5wbmcmcXVvdDsgYWx0PSZxdW90O1J5YW4gc2tldGNoIG5vdGUmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IE9mZmljZSBXYWl0aW5nIEFyZWEmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SWRlbnRpZnkgYW55dGhpbmcgaW4gdGhlIHdhaXRpbmcgYXJlYSB0aGF0IG1pZ2h0IGJlIGRhbmdlcm91cyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlJ5YW4gU3R1ZGllcyB0aGUgV2FpdGluZyBBcmVhOjE6MGUwMTY4M2MmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlJ5YW4gU3R1ZGllcyB0aGUgV2FpdGluZyBBcmVhOjE6MGUwMTY4M2MmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKUnlhbiBiZWdhbiB3aXRoIHRoZSBjZWlsaW5nLiBUaHJlYXRzIGZyb20gYWJvdmUgaGFkIGFuIHVuZmFpciBhZHZhbnRhZ2UuIFR3byBmbHVvcmVzY2VudCBsaWdodHMgd29ya2VkLiBPbmUgZmxpY2tlcmVkLiBBbm90aGVyIGFwcGVhcmVkIHRvIGhhdmUgYmVlbiBkZWFkIGxvbmcgZW5vdWdoIHRvIGJlY29tZSBwYXJ0IG9mIHRoZSBhcmNoaXRlY3R1cmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7Ck5vIGxvb3NlIHBhbmVscy4gTm8gaGFuZ2luZyBvYmplY3RzLiBObyB2aXNpYmxlIGxlYWtzLiBPbmUgY2VpbGluZyB0aWxlIGFib3ZlIHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vciB3YXMgZGFya2VyIHRoYW4gdGhlIG90aGVycy4gVGhhdCBjb3VsZCBoYXZlIGJlZW4gYW4gb2xkIHdhdGVyIHN0YWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpJdCBjb3VsZCBhbHNvIGhhdmUgYmVlbiBhIHdhcm5pbmcuIFJ5YW4gbW92ZWQgb24gdG8gdGhlIGZsb29yLiBTcXVhcmUgdGlsZXMgZm9ybWVkIGV2ZW4gcm93cyBiZW5lYXRoIHllYXJzIG9mIGNsb3VkeSB3YXguIE5vIGNyYWNrcyBsYXJnZSBlbm91Z2ggdG8gY2F0Y2ggYSBzaG9lLiBObyBtaXNzaW5nIHNlY3Rpb25zLiBObyByZWFzb24gZm9yIHRoZSByb3cgbmVhcmVzdCB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3IgdG8gYmUgc2xpZ2h0bHkgbmFycm93ZXIgdGhhbiB0aGUgcmVzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKUnlhbiBjb3VudGVkIGFnYWluLiBUaGUgcm93IGJlZ2FuIHN0cmFpZ2h0IG5lYXIgdGhlIG9mZmljZSBlbnRyYW5jZSBhbmQgbmFycm93ZWQgYXMgaXQgYXBwcm9hY2hlZCB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3IsIGFzIHRob3VnaCB0aGUgcm9vbSBoYWQgYmVlbiBzcXVlZXplZCBhZnRlciB0aGUgdGlsZXMgd2VyZSBpbnN0YWxsZWQuIEhlIGxvb2tlZCB0b3dhcmQgdGhlIHdhbGxzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGV5IGFwcGVhcmVkIHBhcmFsbGVsLiBUaGUgZmxvb3IgZGlzYWdyZWVkLiBUaGUgbWltZW9ncmFwaCBtYWNoaW5lIGh1bW1lZCBpbiB0aGUgYmFjayByb29tLiBJdHMgcm9sbGVycyBjYXVnaHQgYW5kIHNxdWVha2VkIGhhbGZ3YXkgdGhyb3VnaCBhbm90aGVyIGN5Y2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGUgYWlyIHNtZWxsZWQgb2YgcGVuY2lsIHNoYXZpbmdzLCBvbGQgY29mZmVlLCBhbmQgcHVycGxlIGluay4gTW9zdGx5IG9yZGluYXJ5LiBPcmRpbmFyeSBkaWQgbm90IG1lYW4gc2FmZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhblJ1bGVzLnB1c2hVbmlxdWUoJnF1b3Q7Q2hlY2sgY2VpbGluZ3MgYW5kIGZsb29ycyBiZWZvcmUgbG93ZXJpbmcgZGVmZW5zZXMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBmbG9vciB0aWxlcyBuYXJyb3cgdG93YXJkIHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vcndheSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgd2FpdGluZyBhcmVhIGZsb29yIGFwcGVhcnMgdG8gbmFycm93IG5lYXIgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J5YW4mIzM5O3MgcnVsZTombHQ7L3N0cm9uZyZndDsgQSByb29tIHNob3VsZCBiZSBjaGVja2VkIGJlZm9yZSBpdCBpcwoJdHJ1c3RlZC4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBbWJpZ3VvdXMgb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBmbG9vciB0aWxlcyBhcHBlYXIgdG8KCW5hcnJvdyBhcyB0aGV5IGFwcHJvYWNoIHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vcndheS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwpSeWFuIHJldHVybmVkIGhpcyBhdHRlbnRpb24gdG8gdGhlIHJvb20uIFRoZSBkZWFkIGZsdW9yZXNjZW50IGxpZ2h0IGFib3ZlIGhpbSBjbGlja2VkIG9uY2UuIEl0IHJlbWFpbmVkIGRhcmsuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXZhbHVhdGUgc29tZXRoaW5nIGVsc2UtJmd0O1J5YW4gV2FpdGluZyBBcmVhIEh1Yl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTgiIG5hbWU9IlJ5YW4gV2F0Y2hlcyB0aGUgU2VjcmV0YXJ5IiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iNzEyLjUsMjUyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtza2V0Y2gtbm90ZSByeWFuLW5vdGUmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3J5YW5fdmlzaXRvcl9wYXNzLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UnlhbiBza2V0Y2ggbm90ZSZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAkcnlhblN0dWRpZWRTZWNyZXRhcnkgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJHJ5YW5Ob3RpY2VkR3JlZW5SaW5nID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBPZmZpY2UgV2FpdGluZyBBcmVhJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgdGhlIHNlY3JldGFyeSBrZWVwcyB3YXRjaGluZyBSeWFuJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UnlhbiBXYXRjaGVzIHRoZSBTZWNyZXRhcnk6MTowZTAxNjgzYyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UnlhbiBXYXRjaGVzIHRoZSBTZWNyZXRhcnk6MTowZTAxNjgzYyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwpUaGUgc2VjcmV0YXJ5IHNhdCBiZWhpbmQgdGhlIGNvdW50ZXIgd2l0aCBib3RoIGhhbmRzIGZvbGRlZCBvdmVyIGEgc3RhY2sgb2YgZm9ybXMuIFNoZSBoYWQgbm90IG1vdmVkIHNpbmNlIFJ5YW4gYXJyaXZlZC4gSGVyIGJhY2sgcmVtYWluZWQgcGVyZmVjdGx5IHN0cmFpZ2h0LiBTaGUgZGlkIG5vdCB0YXAgYSBwZW5jaWwsIGFkanVzdCBoZXIgY2hhaXIsIGNoZWNrIHRoZSBjbG9jaywgb3IgcGVyZm9ybSBhbnkgb2YgdGhlIHNtYWxsIG1vdmVtZW50cyBwZW9wbGUgbWFkZSB3aGlsZSB3YWl0aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpTaGUgb25seSB3YXRjaGVkIGhpbS4gUnlhbiBicmllZmx5IGxvb2tlZCBhd2F5LiBXaGVuIGhlIGxvb2tlZCBiYWNrLCB0aGUgc2VjcmV0YXJ5IHJlbWFpbmVkIGluIGV4YWN0bHkgdGhlIHNhbWUgcG9zaXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CkV4Y2VwdCBoZXIgZXllcyBoYWQgbW92ZWQuIFRoZXkgd2VyZSBzdGlsbCBmaXhlZCBvbiBoaW0uIEEgaGVhdnkgc2lsdmVyIHJpbmcgcmVzdGVkIG9uIG9uZSBmaW5nZXIuIEl0cyBncmVlbiBzdG9uZSBsb29rZWQgdG9vIGxhcmdlIGZvciBoZXIgbmFycm93IGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBmbHVvcmVzY2VudCBsaWdodCBhYm92ZSB0aGUgY291bnRlciBmbGlja2VyZWQuIFRoZSBzdG9uZSBmbGFzaGVkIG9uY2UuIFRoZSBzZWNyZXRhcnkgZGlkIG5vdCBsb29rIGRvd24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBtaW1lb2dyYXBoIG1hY2hpbmUgY29tcGxldGVkIGFub3RoZXIgY3ljbGUgYmVoaW5kIHRoZSB3YWxsLiBUaGUgZ3JlZW4gc3RvbmUgZmxhc2hlZCBhZ2FpbiBhdCB0aGUgZXhhY3QgbW9tZW50IHRoZSByb2xsZXJzIGNhdWdodC4gUnlhbiBjb3VudGVkIHRoZSBzZWNvbmRzIHVudGlsIHRoZSBuZXh0IGN5Y2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpIdW0uIFR1cm4uIFNxdWVhay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHN0b25lIHJlbWFpbmVkIGRhcmsuIFRoZSBwYXR0ZXJuIGhhZCBmYWlsZWQuIFJ5YW4gZm91bmQgdGhhdCBsZXNzIHJlYXNzdXJpbmcgdGhhbiBpZiBpdCBoYWQgY29udGludWVkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuVGhyZWF0cy5wdXNoVW5pcXVlKCZxdW90O1NjaG9vbCBzZWNyZXRhcnkmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgd2VhcnMgYSBzaWx2ZXIgcmluZyB3aXRoIGEgbGFyZ2UgZ3JlZW4gc3RvbmUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSYjMzk7cyBncmVlbiByaW5nIGZsYXNoZWQgYmVuZWF0aCBhIGZsaWNrZXJpbmcgbGlnaHQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0V2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBUaGUgc2VjcmV0YXJ5IHdlYXJzIGEgaGVhdnkgc2lsdmVyIHJpbmcKCXdpdGggYSBncmVlbiBzdG9uZSB0aGF0IGZsYXNoZWQgYmVuZWF0aCB0aGUgb2ZmaWNlIGxpZ2h0cy4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUludmVzdGlnYXRlIGxhdGVyLiBQcmVmZXJhYmx5IG5ldmVyLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7ClJ5YW4gbG93ZXJlZCBoaXMgZXllcyB0b3dhcmQgdGhlIGNvdW50ZXIuIFRoZSBzZWNyZXRhcnkmIzM5O3MgaGFuZHMgcmVtYWluZWQgZm9sZGVkLiBPbmUgZmluZ2VyIG5vdyBwb2ludGVkIGRpcmVjdGx5IHRvd2FyZCB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGhhZCBub3Qgc2VlbiBpdCBtb3ZlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xvb2sgZWxzZXdoZXJlLSZndDtSeWFuIFdhaXRpbmcgQXJlYSBIdWJdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU5IiBuYW1lPSJSeWFuIEV4YW1pbmVzIHRoZSBQcmluY2lwYWwgRG9vciIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjgzNy41LDI1MjUiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7c2tldGNoLW5vdGUgcnlhbi1ub3RlJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9yeWFuX29mZmljZV9kb29yLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UnlhbiBza2V0Y2ggbm90ZSZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAkcnlhbk5vdGljZWREb29yQm91bmRhcnkgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IFByaW5jaXBhbCYjMzk7cyBEb29yJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIGFueXRoaW5nIGlzIHdyb25nIHdpdGggdGhlIGRvb3J3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpSeWFuIEV4YW1pbmVzIHRoZSBQcmluY2lwYWwgRG9vcjoxOmZlNWU1NTg4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpSeWFuIEV4YW1pbmVzIHRoZSBQcmluY2lwYWwgRG9vcjoxOmZlNWU1NTg4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7ClJ5YW4gc3R1ZGllZCB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3Igd2l0aG91dCBsZWF2aW5nIHRoZSBiZW5jaC4gSXQgc3Rvb2Qgb3BlbiBieSBsZXNzIHRoYW4gYW4gaW5jaC4gVGhlIHdhaXRpbmctYXJlYSBsaWdodHMgc2hvdWxkIGhhdmUgcmVhY2hlZCBhdCBsZWFzdCBwYXJ0IG9mIHRoZSByb29tIGJleW9uZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhleSBkaWQgbm90LiBEYXJrbmVzcyBmaWxsZWQgdGhlIGdhcCBhcyB0aG91Z2ggdGhlIGRvb3Igb3BlbmVkIGludG8gYSByb29tIG11Y2ggZGVlcGVyIHRoYW4gdGhlIG9mZmljZSB3YWxsIGFsbG93ZWQuIFJ5YW4gY2hlY2tlZCB0aGUgZmxvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CkEgdGhpbiBicmFzcyBzdHJpcCBtYXJrZWQgdGhlIHRocmVzaG9sZC4gV2F4ZWQgdGlsZSBlbmRlZCBvbiBvbmUgc2lkZS4gRGFyayBjYXJwZXQgYmVnYW4gb24gdGhlIG90aGVyLiBBIHB1cnBsZSBpbmsgc3RhaW4gY3Jvc3NlZCB0d28gZmxvb3IgdGlsZXMgYW5kIHN0b3BwZWQgZXhhY3RseSBhdCB0aGUgYnJhc3MuIE5vdCBmYWRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKU3RvcHBlZC4gVGhlIHJvdW5kZWQgZWRnZSBvZiB0aGUgc3RhaW4gZmxhdHRlbmVkIGFnYWluc3QgdGhlIHRocmVzaG9sZCBhcyB0aG91Z2ggdGhlIHdldCBpbmsgaGFkIGVuY291bnRlcmVkIGEgd2FsbC4gUnlhbiBsZWFuZWQgc2lkZXdheXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBkYXJrbmVzcyBiZXlvbmQgdGhlIGRvb3Igc2hpZnRlZC4gUnlhbiBsZWFuZWQgdGhlIG90aGVyIHdheSwgYW5kIGl0IHNoaWZ0ZWQgYWdhaW4uIE5vdCB3aXRoIGhpbS4gQWdhaW5zdCBoaW0sIGFzIHRob3VnaCBpdCB3ZXJlIHRyeWluZyB0byBrZWVwIGhpbSBjZW50ZXJlZCBpbiBpdHMgdmlldy4gUnlhbiBzYXQgc3RyYWlnaHQuIFRoZSBkYXJrbmVzcyBiZWNhbWUgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoYXQgZXN0YWJsaXNoZWQgYSB1c2VmdWwgcnVsZS4gRG8gbm90IGNoYWxsZW5nZSBzdXNwaWNpb3VzIGRhcmtuZXNzIHRvIGEgbW92ZW1lbnQgY29udGVzdC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhblRocmVhdHMucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwmIzM5O3MgZG9vcndheSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhblJ1bGVzLnB1c2hVbmlxdWUoJnF1b3Q7RG8gbm90IGNyb3NzIHN1c3BpY2lvdXMgYm91bmRhcmllcyB3aXRob3V0IHBlcm1pc3Npb24mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O0EgcHVycGxlIGluayBzdGFpbiBzdG9wcyBhdCB0aGUgcHJpbmNpcGFsJiMzOTtzIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSBhcHBlYXJzIGRhcmtlciB0aGFuIHRoZSBkb29yd2F5IHNob3VsZCBhbGxvdyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7QW1iaWd1b3VzIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IEEgcHVycGxlIGluayBzdGFpbiBzdG9wcyBleGFjdGx5IGF0Cgl0aGUgYnJhc3MgdGhyZXNob2xkLCBhbmQgdGhlIGRhcmtuZXNzIGJleW9uZCB0aGUgZG9vciBhcHBlYXJzIHRvIG1vdmUKCWluZGVwZW5kZW50bHkuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKVGhlIHByaW5jaXBhbCYjMzk7cyBkb29yIG9wZW5lZCBhbm90aGVyIGZyYWN0aW9uIG9mIGFuIGluY2guIE5vIGhhbmQgYXBwZWFyZWQgaW4gdGhlIGdhcC4gTm8gb25lIGNhbGxlZCBSeWFuIGluc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkb29yIHNpbXBseSBhZGp1c3RlZCBpdHMgdmlldyBvZiBoaW0uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUmV0dXJuIHRvIHRoZSBiZW5jaC0mZ3Q7UnlhbiBXYWl0aW5nIEFyZWEgSHViXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MCIgbmFtZT0iUnlhbiBDaGVja3MgdGhlIE90aGVyIFN0dWRlbnQiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI5NjIuNSwyNTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogT2ZmaWNlIEJlbmNoJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgb3V0IHdoZXRoZXIgdGhlIG90aGVyIHN0dWRlbnQga25vd3Mgd2h5IFJ5YW4gaXMgaGVyZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlJ5YW4gQ2hlY2tzIHRoZSBPdGhlciBTdHVkZW50OjE6ZWQ0YTI2ZDQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlJ5YW4gQ2hlY2tzIHRoZSBPdGhlciBTdHVkZW50OjE6ZWQ0YTI2ZDQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKVGhlIHN0dWRlbnQgYmVzaWRlIFJ5YW4gaGVsZCBhIG1ldGFsIExhbmQgb2YgdGhlIExvc3QgbHVuY2ggYm94IGFnYWluc3QgYm90aCBrbmVlcy4gVGhlIGx1bmNoIGJveCBoYWQgb25lIGRlbnQgbmVhciB0aGUgbGF0Y2ggYW5kIGEgc3RyaXAgb2YgbWFza2luZyB0YXBlIGFjcm9zcyB0aGUgaGFuZGxlLiBUaGUgc3R1ZGVudCYjMzk7cyBzaG91bGRlcnMgd2VyZSB0aWdodC4gVGhlIHN0dWRlbnQmIzM5O3MgYXR0ZW50aW9uIHJlbWFpbmVkIGZpeGVkIG9uIHRoZSBzZWNyZXRhcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoYXQgd2FzIG5vcm1hbCBuZXJ2b3VzbmVzcy4gTm9ybWFsIG5lcnZvdXNuZXNzIGhhZCBhbiBpZGVudGlmaWFibGUgY2F1c2UuIFJ5YW4gZW52aWVkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG8geW91IGtub3cgd2h5IEkmIzM5O20gaGVyZT8mcXVvdDsgUnlhbiB3aGlzcGVyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3R1ZGVudCBzaG9vayB0aGVpciBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG8geW91IGtub3cgd2h5IHlvdSYjMzk7cmUgaGVyZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdHVkZW50IG5vZGRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0lzIGl0IHNvbWV0aGluZyBkYW5nZXJvdXM/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBsdW5jaCBib3ggbW92ZWQgc2V2ZXJhbCBpbmNoZXMgZmFydGhlciBmcm9tIFJ5YW4uIFRoYXQgcHJvYmFibHkgbWVhbnQgdGhlIGNvbnZlcnNhdGlvbiB3YXMgb3Zlci4gUnlhbiB0cmllZCBhIHNhZmVyIHF1ZXN0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG9lcyB0aGUgcHJpbmNpcGFsIGFsd2F5cyBrZWVwIHRoZSBkb29yIGxpa2UgdGhhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHN0dWRlbnQmIzM5O3MgZ2F6ZSBtb3ZlZCB0b3dhcmQgdGhlIG5hcnJvdyBibGFjayBvcGVuaW5nLiBUaGUgbHVuY2ggYm94IHRpZ2h0ZW5lZCBiZXR3ZWVuIGJvdGggaGFuZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEb24mIzM5O3QgbG9vayBpbiB0aGVyZSwmcXVvdDsgdGhlIHN0dWRlbnQgd2hpc3BlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgbG9va2VkIHRvd2FyZCB0aGUgc2VjcmV0YXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2hlIG5vdGljZXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClJ5YW4gZm9sbG93ZWQgdGhlIGdsYW5jZS4gVGhlIHNlY3JldGFyeSByZW1haW5lZCBiZWhpbmQgdGhlIGNvdW50ZXIgd2l0aCBoZXIgaGFuZHMgZm9sZGVkLiBIZXIgZ3JlZW4gcmluZyBmYWNlZCB0aGUgYmVuY2guCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O05vdCBldmVyeW9uZSB3YW50cyB0byBwYXJ0aWNpcGF0ZSBpbiBhbiBpbnZlc3RpZ2F0aW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtEbyBub3Qgc3RhcmUgaW50byB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSBkb29yd2F5JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb3RoZXIgc3R1ZGVudCB3YXJuZWQgUnlhbiB0aGF0IHRoZSBzZWNyZXRhcnkgbm90aWNlcyBwZW9wbGUgbG9va2luZyBpbnRvIHRoZSBvZmZpY2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHN0dWRlbnQgYmVzaWRlIFJ5YW4gYXBwZWFyZWQgYWZyYWlkIG9mIHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vcndheSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7V2FybmluZyByZWNlaXZlZDombHQ7L3N0cm9uZyZndDsgVGhlIG90aGVyIHN0dWRlbnQgc2FpZCBub3QgdG8gbG9vawoJaW5zaWRlIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlIGJlY2F1c2Ug4oCcc2hlIG5vdGljZXMu4oCdCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKUnlhbiBkZWNpZGVkIG5vdCB0byBhc2sgd2hldGhlciB0aGUgc3R1ZGVudCBtZWFudCB0aGUgc2VjcmV0YXJ5LiBUaGUgYWx0ZXJuYXRpdmUgcG9zc2liaWxpdHkgd2FzIHdvcnNlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhaXQgZm9yIHRoZSBzZWNyZXRhcnktJmd0O1NlY3JldGFyeSBDYWxscyBSeWFuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MSIgbmFtZT0iUnlhbiBXYWl0aW5nIEFyZWEgSHViIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNTc1LDI2NTAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7c2tldGNoLW5vdGUgcnlhbi1ub3RlJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9yeWFuX3NjaG9vbF9vZmZpY2VfbWFwLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UnlhbiBza2V0Y2ggbm90ZSZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogT2ZmaWNlIFdhaXRpbmcgQXJlYSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtVbmRlcnN0YW5kIHRoZSByb29tIGJlZm9yZSBSeWFuJiMzOTtzIG5hbWUgaXMgY2FsbGVkJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7ClRoZSB3YWl0aW5nIGFyZWEgY29udGludWVkIHByZXRlbmRpbmcgdG8gYmUgb3JkaW5hcnkuIFRoZSBmbHVvcmVzY2VudCBsaWdodHMgYnV6emVkLiBUaGUgbWltZW9ncmFwaCBtYWNoaW5lIHR1cm5lZCBiZWhpbmQgdGhlIHdhbGwuIFBhcGVycyB3YWl0ZWQgaW4gbmVhdCBzdGFja3Mgb24gdGhlIHNlY3JldGFyeSYjMzk7cyBjb3VudGVyLiBSeWFuIHdhcyBub3QgY29udmluY2VkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJHJ5YW5Ob3RpY2VkRG9vckJvdW5kYXJ5Jmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBicmFzcyBzdHJpcCBhdCB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3J3YXkgZGl2aWRlZCB0aGUgb3JkaW5hcnkKCQl0aWxlIGZyb20gdGhlIGRhcmtuZXNzIGJleW9uZCBpdC4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRyeWFuU3R1ZGllZFNlY3JldGFyeSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgc2VjcmV0YXJ5IHJlbWFpbmVkIGJlaGluZCB0aGUgY291bnRlciwgbmVhcmx5IG1vdGlvbmxlc3MsIHdpdGgKCQl0aGUgZ3JlZW4gc3RvbmUgcmVzdGluZyBhZ2FpbnN0IG9uZSBmb2xkZWQgaGFuZC4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRyeWFuUmV0cmlldmVkQXBwbGUmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIG90aGVyIHN0dWRlbnQgaGVsZCB0aGUgcmV0dXJuZWQgYXBwbGUgaW5zaWRlIHRoZSBjbG9zZWQgbHVuY2gKCQlib3gsIGFzIHRob3VnaCBpdCBtaWdodCBhdHRlbXB0IGFub3RoZXIgZXNjYXBlLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwpSeWFuIG9yZ2FuaXplZCB0aGUgYXZhaWxhYmxlIHBpZWNlcy4gUm9vbS4gU2VjcmV0YXJ5LiBEb29yLiBTdHVkZW50LiBPbmUgb2YgdGhlbSB3b3VsZCBldmVudHVhbGx5IGV4cGxhaW4gd2h5IGhlIGhhZCBiZWVuIHN1bW1vbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVW5mb3J0dW5hdGVseSwgYWxsIGZvdXIgY3VycmVudGx5IGxvb2tlZCBzdXNwaWNpb3VzLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBSeWFuIGV4YW1pbmU/Jmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7aWYgbm90ICRyeWFuT3B0aW9uYWxGb3VuZCZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7b3B0aW9uYWwtaW52ZXN0aWdhdGlvbiZxdW90OyZndDsmbHQ7c3BhbiZndDtPcHRpb25hbCBpbnZlc3RpZ2F0aW9uJmx0Oy9zcGFuJmd0O1tbVGVzdCB3aGV0aGVyIGEgaGFybWxlc3Mgb2JqZWN0IGNhbiBjcm9zcyB0aGUgb2ZmaWNlIHRocmVzaG9sZC0mZ3Q7UnlhblRocmVzaG9sZFRlc3RdXSZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2lmICEkcnlhblN0dWRpZWRTZWNyZXRhcnkmZ3Q7Jmd0OwoJCVtbV2F0Y2ggdGhlIHNjaG9vbCBzZWNyZXRhcnktJmd0O1J5YW4gV2F0Y2hlcyB0aGUgU2VjcmV0YXJ5XV0KCSZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsmbHQ7aWYgISRyeWFuTm90aWNlZERvb3JCb3VuZGFyeSZndDsmZ3Q7CgkJW1tFeGFtaW5lIHRoZSBwcmluY2lwYWwmIzM5O3MgcGFydGx5IG9wZW4gZG9vci0mZ3Q7UnlhbiBFeGFtaW5lcyB0aGUgUHJpbmNpcGFsIERvb3JdXQoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0OyZsdDtpZiAhJHJ5YW5SZXRyaWV2ZWRBcHBsZSZndDsmZ3Q7CgkJW1tDaGVjayB0aGUgbmVydm91cyBzdHVkZW50IGJlc2lkZSBoaW0tJmd0O1J5YW4gQ2hlY2tzIHRoZSBPdGhlciBTdHVkZW50XV0KCSZsdDsmbHQ7L2lmJmd0OyZndDsKCVtbV2FpdCBmb3IgaGlzIG5hbWUgdG8gYmUgY2FsbGVkLSZndDtTZWNyZXRhcnkgQ2FsbHMgUnlhbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjIiIG5hbWU9IlNlY3JldGFyeSBDYWxscyBSeWFuIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNjUwLDI4MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBPZmZpY2UgV2FpdGluZyBBcmVhJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1Jlc3BvbmQgd2hlbiB0aGUgc2VjcmV0YXJ5IGNhbGxzIFJ5YW4mIzM5O3MgbmFtZSZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwpUaGUgbWltZW9ncmFwaCBtYWNoaW5lIHN0b3BwZWQuIFRoZSBzdWRkZW4gc2lsZW5jZSBkcmV3IFJ5YW4mIzM5O3MgYXR0ZW50aW9uIHRvd2FyZCB0aGUgY291bnRlci4gVGhlIHNlY3JldGFyeSBsb29rZWQgZG93biBhdCBhIHNoZWV0IG9mIHBhcGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UnlhbiBHcm9vYi4uLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpTaGUgc3RvcHBlZCBoYWxmd2F5IHRocm91Z2ggaGlzIGxhc3QgbmFtZS4gTm90IGJlY2F1c2Ugc2hlIGhhZCByZWFjaGVkIGEgZGlmZmljdWx0IGxldHRlci4gQmVjYXVzZSBzaGUgaGFkIHJlYWNoZWQgYSBkZWNpc2lvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBleWVzIG1vdmVkIGZyb20gdGhlIHBhcGVyIHRvIFJ5YW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtHcm9vYi1sZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGJlc2lkZSBSeWFuIHRpZ2h0ZW5lZCBib3RoIGhhbmRzIGFyb3VuZCB0aGUgbHVuY2ggYm94LiBUaGUgcGF1c2UgYm90aGVyZWQgUnlhbiBtb3JlIHRoYW4gdGhlIG1pc3Rha2UuIEl0IHNvdW5kZWQgYXMgdGhvdWdoIHRoZSBzZWNyZXRhcnkgaGFkIHRlc3RlZCBzZXZlcmFsIHZlcnNpb25zIG9mIGhpcyBuYW1lIGJlZm9yZSBjaG9vc2luZyB0aGUgb25lIHRoYXQgd291bGQgbWFrZSBoaW0gcmVzcG9uZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIGdyZWVuIHN0b25lIGluIGhlciByaW5nIGZhY2VkIGhpbS4gUnlhbiB3YWl0ZWQuIFRoZSBzZWNyZXRhcnkgd2FpdGVkIGxvbmdlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKQXBwYXJlbnRseSwgdGhleSBoYWQgZW50ZXJlZCBhIGNvbnRlc3QuIFJ5YW4gZGlkIG5vdCBrbm93IHRoZSBydWxlcy4gVGhlIHNlY3JldGFyeSBwcm9iYWJseSBkaWQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgUnlhbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0NvcnJlY3QgaGVyIGltbWVkaWF0ZWx5LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5Db3JyZWN0ZWRTZWNyZXRhcnkgPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTZWNyZXRhcnkgQ2FsbHMgUnlhbjoxOjc3MDdmYWY5JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpTZWNyZXRhcnkgQ2FsbHMgUnlhbjoxOjc3MDdmYWY5JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIENvcnJlY3RzIEhpcyBOYW1lJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1JhaXNlIGhpcyBoYW5kIHdpdGhvdXQgY29ycmVjdGluZyBoZXIuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkNvcnJlY3RlZFNlY3JldGFyeSA9IGZhbHNlJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTZWNyZXRhcnkgQ2FsbHMgUnlhbjoyOjQxZjI5MDlkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpTZWNyZXRhcnkgQ2FsbHMgUnlhbjoyOjQxZjI5MDlkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1RoZSBFc2NhcGVkIEFwcGxlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aHkgc2hlIHBhdXNlZCBiZWZvcmUgc2F5aW5nIGhpcyBuYW1lLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5Db3JyZWN0ZWRTZWNyZXRhcnkgPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTZWNyZXRhcnkgQ2FsbHMgUnlhbjozOjBlMDE2ODNjJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpTZWNyZXRhcnkgQ2FsbHMgUnlhbjozOjBlMDE2ODNjJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBRdWVzdGlvbnMgdGhlIFBhdXNlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1ByZXRlbmQgc2hlIGNhbGxlZCBzb21lb25lIGVsc2UuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkNvcnJlY3RlZFNlY3JldGFyeSA9IGZhbHNlJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTZWNyZXRhcnkgQ2FsbHMgUnlhbjo0OmZlNWU1NTg4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpTZWNyZXRhcnkgQ2FsbHMgUnlhbjo0OmZlNWU1NTg4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBQcmV0ZW5kcyBOb3QgdG8gSGVhciZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MyIgbmFtZT0iUnlhbiBDb3JyZWN0cyBIaXMgTmFtZSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjkwMCwyNzI1IiBzaXplPSIxMDAsMTAwIj4vKiBCNS4yIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtzZWNyZXRhcnlSZXNwb25zZSZxdW90OywgJnF1b3Q7Y29ycmVjdCZxdW90OywgJnF1b3Q7UnlhbiBlc3RhYmxpc2hlcyBpZGVudGl0eSBjb250cm9sIGFuZCBub3RpY2VzIHRoZSBzZWNyZXRhcnnigJlzIHJlYWN0aW9uLiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0dydWJsZXIsJnF1b3Q7IFJ5YW4gc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBoYW5kIHNob3QgaW50byB0aGUgYWlyIGFzIHRob3VnaCBpdCBoYWQgZGlzY292ZXJlZCBhbiBlbWVyZ2VuY3kKCWJlZm9yZSB0aGUgcmVzdCBvZiBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtHcnViLCBsaWtlIHR1Yi4gVGhlbiBsZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClJ5YW4gdXN1YWxseSBhdm9pZGVkIGNvbXBhcmluZyBoaXMgbmFtZSB0byBhbiBhY3R1YWwgZ3J1Yi4gSGUgaGFkIGRvbmUgdGhhdCBvbmNlIGFuZCBzcGVudCB0aHJlZSB3ZWVrcyBiZWluZyBjYWxsZWQgRGlydCBTbm90LiBUdWIgd2FzIHNhZmVyLiBUaGUgc2VjcmV0YXJ5IGxvb2tlZCBkaXJlY3RseSBhdCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgZXhwcmVzc2lvbiBkaWQgbm90IGNoYW5nZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O09mIGNvdXJzZSwmcXVvdDsgc2hlIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClNoZSBkaWQgbm90IHJlcGVhdCB0aGUgY29ycmVjdGVkIG5hbWUuIFJ5YW4gc2xvd2x5IGxvd2VyZWQgaGlzIGhhbmQuIFRoZSBncmVlbiBzdG9uZSBmbGFzaGVkIGFnYWluc3QgdGhlIHBhcGVyd29yay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKRm9yIGFuIGluc3RhbnQsIHRoZSBsZXR0ZXJzIG9uIHRoZSBwYWdlIGFwcGVhcmVkIGJhY2t3YXJkLiBSeWFuIGxlYW5lZCBmb3J3YXJkLiBUaGUgcGFwZXIgbG9va2VkIG5vcm1hbCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHNlY3JldGFyeSBwbGFjZWQgb25lIGZpbmdlciBvdmVyIHRoZSBsaW5lIGNvbnRhaW5pbmcgaGlzIG5hbWUuIFdoYXRldmVyIHdhcyBwcmludGVkIHRoZXJlIGRpc2FwcGVhcmVkIGJlbmVhdGggdGhlIHJpbmcuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSBhdm9pZGVkIHJlcGVhdGluZyBSeWFuJiMzOTtzIGNvcnJlY3RseSBwcm9ub3VuY2VkIG5hbWUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgZGlkIG5vdCByZXBlYXQgUnlhbiYjMzk7cyBjb3JyZWN0ZWQgbmFtZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBzZWNyZXRhcnkgYXZvaWRlZCByZXBlYXRpbmcgUnlhbiYjMzk7cyBuYW1lCglhZnRlciBoZSBjb3JyZWN0ZWQgdGhlIHByb251bmNpYXRpb24uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKVGhlIHN0dWRlbnQgYmVzaWRlIFJ5YW4gc2hpZnRlZC4gVGhlIG1ldGFsIGx1bmNoIGJveCBzdHJ1Y2sgdGhlIGJlbmNoLiBTb21ldGhpbmcgaW5zaWRlIHJvbGxlZCB0b3dhcmQgdGhlIGxhdGNoLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xvd2VyIGhpcyBoYW5kLSZndDtUaGUgRXNjYXBlZCBBcHBsZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjQiIG5hbWU9IlRoZSBFc2NhcGVkIEFwcGxlIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iODc1LDI5MDAiIHNpemU9IjEwMCwxMDAiPi8qIEI1LjIgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O3NlY3JldGFyeVJlc3BvbnNlJnF1b3Q7LCAmcXVvdDtzaWxlbnQmcXVvdDssICZxdW90O1J5YW4gYXZvaWRzIGNvcnJlY3Rpb24gYW5kIG9ic2VydmVzIHRoZSByb29tIGluc3RlYWQuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtBdm9pZCBtYWtpbmcgdGhlIHdhaXRpbmctcm9vbSBzaXR1YXRpb24gd29yc2UmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBtZXRhbCBsdW5jaCBib3ggc3RydWNrIHRoZSBmbG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsYXRjaCBvcGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGlkIHNwcmFuZyB1cHdhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbiBhcHBsZSBlc2NhcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgcm9sbGVkIGFjcm9zcyB0aGUgdGlsZSwgcGFzc2VkIGJldHdlZW4gUnlhbiYjMzk7cyBzaG9lcywgYW5kIGNvbnRpbnVlZAoJdG93YXJkIHRoZSBzZWNyZXRhcnkmIzM5O3MgY291bnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmbG9vciBhcHBlYXJlZCBsZXZlbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhcHBsZSBpbmNyZWFzZWQgc3BlZWQgYW55d2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY3Jvc3NlZCBvbmUgcm93IG9mIGNsb3VkeSB0aWxlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYW5vdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHBhc3NlZCBvdmVyIHRoZSBwdXJwbGUgaW5rIHN0YWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGluayBkaWQgbm90IG1hcmsgdGhlIGFwcGxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFwcGxlIHJlYWNoZWQgdGhlIGRhcmtuZXNzIGJlbmVhdGggdGhlIGNvdW50ZXIgYW5kIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgc3RhcmVkIGFmdGVyIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsb29rZWQgdG93YXJkIHRoZSBzZWNyZXRhcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgZGlkIG5vdCByZWFjdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBkaWQgbm90IGJsaW5rLCBzaWdoLCBvciBwZXJmb3JtIHRoZSBub3JtYWwgYWR1bHQgcm91dGluZSBvZgoJcHJldGVuZGluZyBub3QgdG8gYmUgYW5ub3llZCB3aGlsZSBtYWtpbmcgY2VydGFpbiBldmVyeW9uZSBrbmV3IHNoZQoJd2FzIGFubm95ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgY29udGludWVkIGxvb2tpbmcgYXQgUnlhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsb3NzIG9mIHRoZSBhcHBsZSBhcHBlYXJlZCB0byBiZSBoaXMgcmVzcG9uc2liaWxpdHkgbm93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpcyB3YXMgdW5mYWlyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIGFsc28gY29uc2lzdGVudCB3aXRoIHRoZSBtb3JuaW5nLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBSeWFuIGRvPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1JldHJpZXZlIHRoZSBhcHBsZSBmb3IgdGhlIHN0dWRlbnQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgRXNjYXBlZCBBcHBsZToxOmVkNGEyNmQ0JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgRXNjYXBlZCBBcHBsZToxOmVkNGEyNmQ0JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBSZXRyaWV2ZXMgdGhlIEFwcGxlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0Fwb2xvZ2l6ZSBidXQgcmVtYWluIG9uIHRoZSBiZW5jaC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBFc2NhcGVkIEFwcGxlOjI6ZWQ0YTI2ZDQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBFc2NhcGVkIEFwcGxlOjI6ZWQ0YTI2ZDQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIEFwb2xvZ2l6ZXMgZm9yIHRoZSBBcHBsZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtXYXRjaCB3aGV0aGVyIHRoZSBzZWNyZXRhcnkgcmVhY3RzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIEVzY2FwZWQgQXBwbGU6MzowZTAxNjgzYyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6VGhlIEVzY2FwZWQgQXBwbGU6MzowZTAxNjgzYyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gV2F0Y2hlcyB0aGUgQXBwbGUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7RG8gbm90aGluZy4gSGUgaGFzIGFscmVhZHkgYXR0cmFjdGVkIGVub3VnaCBhdHRlbnRpb24uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgRXNjYXBlZCBBcHBsZTo0OjQxZjI5MDlkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgRXNjYXBlZCBBcHBsZTo0OjQxZjI5MDlkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1RoZSBTZWNyZXRhcnkgUG9pbnRzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjY1IiBuYW1lPSJSeWFuIFF1ZXN0aW9ucyB0aGUgUGF1c2UiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxMjUwLDI3MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLmRpc2NvdmVyQ2x1ZSgmcXVvdDtzZWNyZXRhcnktcGF1c2UmcXVvdDssJnF1b3Q7VGhlIFNlY3JldGFyeeKAmXMgUGF1c2UmcXVvdDssJnF1b3Q7UnlhbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRDYXNlRmlsZTIoJnF1b3Q7c2VjcmV0YXJ5LXBhdXNlJnF1b3Q7LCZxdW90O1RoZSBTZWNyZXRhcnnigJlzIFBhdXNlJnF1b3Q7LCZxdW90O1J5YW4mcXVvdDssJnF1b3Q7V2l0bmVzcy1zdXBwb3J0ZWQmcXVvdDssJnF1b3Q7U2hlIGFwcGVhcmVkIHRvIHRlc3QgdmVyc2lvbnMgb2YgUnlhbuKAmXMgbmFtZS4mcXVvdDssJnF1b3Q7V2FzIHRoZSByZXNwb25zZSBpdHNlbGYgcGVybWlzc2lvbj8mcXVvdDspJmd0OyZndDsKLyogQjUuMiBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7c2VjcmV0YXJ5UmVzcG9uc2UmcXVvdDssICZxdW90O3BhdXNlJnF1b3Q7LCAmcXVvdDtSeWFuIGlkZW50aWZpZXMgdGhlIHBhdXNlIGFzIGRlbGliZXJhdGUgZXZpZGVuY2UuJnF1b3Q7KSZndDsmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5IGRpZCB5b3Ugc3RvcD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgbG9va2VkIGF0IGhpbSBvdmVyIHRoZSB0b3Agb2YgdGhlIHBhcGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RXhjdXNlIG1lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SW4gdGhlIG1pZGRsZSBvZiBteSBuYW1lLiBZb3Ugc3RvcHBlZCBiZWZvcmUgeW91IGZpbmlzaGVkIGl0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpGb3IgdGhlIGZpcnN0IHRpbWUsIG9uZSBvZiBoZXIgZmluZ2VycyBtb3ZlZC4gVGhlIGdyZWVuIHN0b25lIHNoaWZ0ZWQgYWdhaW5zdCB0aGUgZGVzay4gVGhlIGZsdW9yZXNjZW50IGxpZ2h0IGFib3ZlIHRoZSBjb3VudGVyIGRpbW1lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgd2FudGVkIHRvIGJlIGNlcnRhaW4sJnF1b3Q7IHNoZSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Q2VydGFpbiBvZiB0aGUgcHJvbnVuY2lhdGlvbj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0NlcnRhaW4gdGhhdCBJIGhhZCB0aGUgY29ycmVjdCBjaGlsZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHN0dWRlbnQgYmVzaWRlIFJ5YW4gdHVybmVkIHNsaWdodGx5IGF3YXkgZnJvbSBoaW0uIFJ5YW4gY29uc2lkZXJlZCB0aGUgYW5zd2VyLiBTY2hvb2xzIGdlbmVyYWxseSBjb25maXJtZWQgaWRlbnRpdHkgd2l0aCBuYW1lcywgc2NoZWR1bGVzLCBvciBjbGFzcyBsaXN0cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgZGlkIG5vdCBub3JtYWxseSBkbyBpdCBieSBzdGFyaW5nIHVudGlsIHRoZSBjb3JyZWN0IGNoaWxkIGJlY2FtZQoJdW5jb21mb3J0YWJsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0hvdyB3b3VsZCB5b3Uga25vdyBpZiBJIHdhcyB0aGUgd3Jvbmcgb25lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSBzbWlsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgd3Jvbmcgb25lIHdvdWxkIG5vdCBoYXZlIGFuc3dlcmVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGhhZCBhbnN3ZXJlZC4gVGhhdCBub3cgZmVsdCBsaWtlIGEgdGFjdGljYWwgbWlzdGFrZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkcnlhbk5vdGljZWRHcmVlblJpbmcgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgc2FpZCBzaGUgd2FudGVkIHRvIGJlIGNlcnRhaW4gc2hlIGhhZCB0aGUgY29ycmVjdCBjaGlsZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSBzYWlkIHRoZSB3cm9uZyBjaGlsZCB3b3VsZCBub3QgaGF2ZSBhbnN3ZXJlZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IHBhdXNlZCBvdmVyIFJ5YW4mIzM5O3MgbmFtZSB0byBpZGVudGlmeSB0aGUgY29ycmVjdCBjaGlsZCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7QW1iaWd1b3VzIHN0YXRlbWVudDombHQ7L3N0cm9uZyZndDsgVGhlIHNlY3JldGFyeSB3YW50ZWQgdG8gYmUKCWNlcnRhaW4gc2hlIGhhZCDigJx0aGUgY29ycmVjdCBjaGlsZOKAnSBhbmQgY2xhaW1lZCB0aGUgd3JvbmcgY2hpbGQgd291bGQKCW5vdCBoYXZlIGFuc3dlcmVkLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7ClRoZSBsdW5jaC1ib3ggbGF0Y2ggYmVzaWRlIFJ5YW4gY2xpY2tlZC4gTm8gb25lIGhhZCB0b3VjaGVkIGl0LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1Jlc3BvbmQgdG8gaGlzIG5hbWUtJmd0O1RoZSBFc2NhcGVkIEFwcGxlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2NiIgbmFtZT0iUnlhbiBQcmV0ZW5kcyBOb3QgdG8gSGVhciIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjEzNzUsMjQyNSIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMiBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7c2VjcmV0YXJ5UmVzcG9uc2UmcXVvdDssICZxdW90O2lnbm9yZSZxdW90OywgJnF1b3Q7UnlhbiB0ZXN0cyB3aGV0aGVyIHRoZSBjYWxsIHJlcXVpcmVzIGFja25vd2xlZGdtZW50LiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKUnlhbiBsb29rZWQgdG93YXJkIHRoZSBvZmZpY2UgZW50cmFuY2UuIFBlcmhhcHMgYW5vdGhlciBSeWFuIEdyb29ibGVyIGhhZCBhcnJpdmVkIHdpdGhvdXQgaGlzIGtub3dsZWRnZS4gSXQgd2FzIHN0YXRpc3RpY2FsbHkgcG9zc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7Ckl0IHdhcyBub3Qgc3RhdGlzdGljYWxseSBsaWtlbHkuIFRoZSBzZWNyZXRhcnkgd2FpdGVkLiBSeWFuIGV4YW1pbmVkIGEgYnVsbGV0aW4gYm9hcmQgZGlzcGxheWluZyBmaXJlLWRyaWxsIGluc3RydWN0aW9ucywgYXR0ZW5kYW5jZSByZW1pbmRlcnMsIGFuZCBhIG5vdGljZSBhYm91dCBzZWxsaW5nIGNhbmR5IG9uIHNjaG9vbCBwcm9wZXJ0eS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFsbCB0aHJlZSB0b3BpY3Mgc3VkZGVubHkgcmVxdWlyZWQgaGlzIGNvbXBsZXRlIGF0dGVudGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1J5YW4gR3J1YmxlciwmcXVvdDsgdGhlIHNlY3JldGFyeSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGlzIHRpbWUsIHNoZSBwcm9ub3VuY2VkIGl0IHBlcmZlY3RseS4gUnlhbiBzbG93bHkgbG9va2VkIGJhY2sgYXQgaGVyLiBTaGUgd2FzIHNtaWxpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClNoZSBoYWQga25vd24gaG93IHRvIHNheSBoaXMgbmFtZS4gVGhlIGZpcnN0IHByb251bmNpYXRpb24gaGFkIG5vdCBiZWVuIGEgbWlzdGFrZS4gSXQgaGFkIGJlZW4gYSB0ZXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGRpZCBub3Qga25vdyB3aGV0aGVyIGhlIGhhZCBwYXNzZWQuIEhlIHdhcyBub3QgY2VydGFpbiBwYXNzaW5nIHdhcyB0aGUgc2FmZXIgcmVzdWx0LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuQ29ycmVjdGVkU2VjcmV0YXJ5ID0gZmFsc2UmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSBwcm9ub3VuY2VkIFJ5YW4mIzM5O3MgbmFtZSBjb3JyZWN0bHkgd2hlbiBoZSBkaWQgbm90IHJlc3BvbmQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSBtYXkgaGF2ZSBtaXNwcm9ub3VuY2VkIFJ5YW4mIzM5O3MgbmFtZSBkZWxpYmVyYXRlbHkmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0V2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBXaGVuIFJ5YW4gZmFpbGVkIHRvIHJlc3BvbmQsIHRoZSBzZWNyZXRhcnkKCXByb25vdW5jZWQgaGlzIG5hbWUgY29ycmVjdGx5LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGJlc2lkZSBSeWFuIHNoaWZ0ZWQgYXdheS4gVGhlIGx1bmNoIGJveCBzbGlwcGVkIGZyb20gdGhlIHN0dWRlbnQmIzM5O3Mga25lZXMuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQWNrbm93bGVkZ2UgaGVyLSZndDtUaGUgRXNjYXBlZCBBcHBsZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjciIG5hbWU9IlJ5YW4gUmV0cmlldmVzIHRoZSBBcHBsZSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjEyMjUsMjg1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHJ5YW5SZXRyaWV2ZWRBcHBsZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogU2VjcmV0YXJ5JiMzOTtzIENvdW50ZXImcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKUnlhbiBrbmVsdCBiZXNpZGUgdGhlIGNvdW50ZXIuIFRoZSBhcHBsZSBoYWQgcm9sbGVkIGZhcnRoZXIgYmVuZWF0aCBpdCB0aGFuIHNlZW1lZCBwb3NzaWJsZS4gVGhlIGNvdW50ZXIgd2FzIGxlc3MgdGhhbiB0aHJlZSBmZWV0IGRlZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBhcHBsZSB3YWl0ZWQgYmV5b25kIHRoZSByZWFjaCBvZiBSeWFuJiMzOTtzIGZpcnN0IGF0dGVtcHQuIEhlIGxvd2VyZWQgaGltc2VsZiBjbG9zZXIgdG8gdGhlIGZsb29yLiBEYXJrbmVzcyBmaWxsZWQgdGhlIG5hcnJvdyBzcGFjZSBiZW5lYXRoIHRoZSBkZXNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpJdCBzbWVsbGVkIG9mIGR1c3QsIHB1cnBsZSBpbmssIGFuZCBzb21ldGhpbmcgZGFtcC4gTm90IHdhdGVyLiBTb2lsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIHBsYWNlZCBvbmUgaGFuZCBhZ2FpbnN0IHRoZSB0aWxlIGFuZCByZWFjaGVkIGZvcndhcmQuIEhpcyBmaW5nZXJzIGZvdW5kIHRoZSBhcHBsZS4gVGhleSBhbHNvIGZvdW5kIGEgdGhpbiBncm9vdmUgY2FydmVkIGludG8gdGhlIHVuZGVyc2lkZSBvZiB0aGUgY291bnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKUnlhbiB0cmFjZWQgaXQgYmFja3dhcmQuIFRoZSBncm9vdmUgY29udGludWVkIGJlbmVhdGggdGhlIHdvb2QgdG93YXJkIHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vcndheS4gSGUgc2hpZnRlZCBoaXMgaGVhZCBhbmQgZm9sbG93ZWQgdGhlIGxpbmUgd2l0aCBoaXMgZXllcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKSXQgY3Jvc3NlZCB0aGUgZmxvb3IgYXMgYSBoYWlybGluZSBzY3JhdGNoLCBwYXNzZWQgYmVuZWF0aCB0aGUgc2VjcmV0YXJ5JiMzOTtzIGNoYWlyLCBhbmQgZW5kZWQgYXQgdGhlIGJyYXNzIHRocmVzaG9sZC4gVGhlIHNlY3JldGFyeSYjMzk7cyBzaG9lIHJlc3RlZCBkaXJlY3RseSBvdmVyIGl0LiBSeWFuIHJlbGVhc2VkIHRoZSBncm9vdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBncmVlbiBzdG9uZSBhYm92ZSBoaW0gY2xpY2tlZCBvbmNlIGFnYWluc3QgdGhlIGRlc2t0b3AuIEhlIHB1bGxlZCB0aGUgYXBwbGUgZnJlZS4gQSBkYXJrIHRodW1icHJpbnQgbWFya2VkIG9uZSBzaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGhhZCBub3QgdG91Y2hlZCB0aGF0IHBhcnQuIFRoZSBzdHVkZW50IGFjY2VwdGVkIHRoZSBhcHBsZSBieSBpdHMgc3RlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYW5rcywmcXVvdDsgdGhlIHN0dWRlbnQgd2hpc3BlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSYjMzk7cyBzaG9lIGhhZCBub3QgbW92ZWQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O0EgY2FydmVkIGxpbmUgYmVuZWF0aCB0aGUgY291bnRlciBlbmRzIGF0IHRoZSBwcmluY2lwYWwmIzM5O3MgdGhyZXNob2xkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtBIGRhcmsgdGh1bWJwcmludCBhcHBlYXJlZCBvbiB0aGUgYXBwbGUgYmVuZWF0aCB0aGUgc2VjcmV0YXJ5JiMzOTtzIGNvdW50ZXImcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7QSBoaWRkZW4gbGluZSBjb25uZWN0cyB0aGUgc2VjcmV0YXJ5JiMzOTtzIGNvdW50ZXIgdG8gdGhlIHByaW5jaXBhbCYjMzk7cyBkb29yd2F5JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtPcHRpb25hbCBkaXNjb3Zlcnk6Jmx0Oy9zdHJvbmcmZ3Q7IEEgY2FydmVkIGxpbmUgYmVuZWF0aCB0aGUgY291bnRlcgoJcnVucyB0b3dhcmQgdGhlIHByaW5jaXBhbCYjMzk7cyB0aHJlc2hvbGQsIGFuZCBhbiB1bmV4cGxhaW5lZCBkYXJrIHByaW50CgltYXJrZWQgdGhlIGFwcGxlLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IG9wZW5lZCB0aGUgbHVuY2ggYm94LiBSeWFuIGV4cGVjdGVkIHRoZSBhcHBsZSB0byBiZSBwbGFjZWQgaW5zaWRlLiBJbnN0ZWFkLCB0aGUgc3R1ZGVudCBsZWZ0IGl0IG9uIHRoZSBiZW5jaCBiZXR3ZWVuIHRoZW0uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUmV0dXJuIHRvIHRoZSBiZW5jaC0mZ3Q7VGhlIFNlY3JldGFyeSBQb2ludHNdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjY4IiBuYW1lPSJUaGUgU2VjcmV0YXJ5IFBvaW50cyIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjEyNzUsMzEwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IFByaW5jaXBhbCYjMzk7cyBEb29yJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0VudGVyIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IHN0b29kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHJvc2Ugc2xvd2x5IGFuZCBzbW9vdGhseSwga2VlcGluZyBvbmUgaGFuZCBhZ2FpbnN0IHRoZSBkZXNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBkaWQgbm90IGhlYXIgdGhlIGNoYWlyIG1vdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgbW9tZW50IHNoZSB3YXMgc2VhdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG5leHQsIHNoZSB3YXMgc3RhbmRpbmcgYmVoaW5kIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIG90aGVyIGhhbmQgZXh0ZW5kZWQgdG93YXJkIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyZWVuIHN0b25lIGZsYXNoZWQuCiZsdDsvcCZndDsKJmx0OyZsdDtzZXQgJHJ5YW5Ob3RpY2VkR3JlZW5SaW5nID0gdHJ1ZSZndDsmZ3Q7CiZsdDtwJmd0OwoJSGVyIGZpbmdlciBzdG9wcGVkIHByZWNpc2VseSBhdCB0aGUgZWRnZSBvZiB0aGUgZG9vcndheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBkaWQgbm90IHBvaW50IHRocm91Z2ggaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgZGlkIG5vdCBsZWFuIGFjcm9zcyBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaW5nZXJ0aXAgcmVtYWluZWQgb24gdGhlIHdhaXRpbmctcm9vbSBzaWRlIG9mIHRoZSBicmFzcyBzdHJpcC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkcnlhbk5vdGljZWREb29yQm91bmRhcnkgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgc3RvcHBlZCBoZXIgaGFuZCBhdCB0aGUgZG9vcndheSB0aHJlc2hvbGQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSB3b3VsZCBub3QgZXh0ZW5kIGhlciBoYW5kIGFjcm9zcyB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3J3YXkmcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgcHJpbmNpcGFsIHdpbGwgc2VlIHlvdSBub3csIHlvdW5nIG1hbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciB2b2ljZSB3YXMgc29mdCBhbmQgYWxtb3N0IGtpbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBpcyBub3cgcGVybWl0dGVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHByaW5jaXBhbCYjMzk7cyBkb29yIG9wZW5lZCBhbm90aGVyIGluY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEYXJrbmVzcyBwcmVzc2VkIGFnYWluc3QgdGhlIG5ldyBnYXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5JiMzOTtzIHBvaW50aW5nIGZpbmdlciByZW1haW5lZCBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmVlbiBzdG9uZSBkaW1tZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCZWhpbmQgUnlhbiwgdGhlIHN0dWRlbnQgd2l0aCB0aGUgbHVuY2ggYm94IHdoaXNwZXJlZCBzb21ldGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoZWFyZCBvbmx5IHRoZSBmaW5hbCB0d28gd29yZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtDb21lIGJhY2suJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGxvb2tlZCBvdmVyIGhpcyBzaG91bGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdHVkZW50IHN0YXJlZCBhdCB0aGUgZmxvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGNvbnRpbnVlZCBwb2ludGluZy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBzZWNyZXRhcnkgc3RvcHBlZCBhdCB0aGUgZG9vcndheQoJYm91bmRhcnkgYW5kIHNhaWQgZW50ZXJpbmcgd2FzIOKAnG5vdyBwZXJtaXR0ZWQu4oCdCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBSeWFuIHJlc3BvbmQ/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7RW50ZXIgd2l0aG91dCBxdWVzdGlvbmluZyBoZXIuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgU2VjcmV0YXJ5IFBvaW50czoxOjQxZjI5MDlkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgU2VjcmV0YXJ5IFBvaW50czoxOjQxZjI5MDlkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gRW50ZXJzIHRoZSBPZmZpY2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoYXQgc2hlIG1lYW5zIGJ5IHBlcm1pdHRlZC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBTZWNyZXRhcnkgUG9pbnRzOjI6MGUwMTY4M2MmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBTZWNyZXRhcnkgUG9pbnRzOjI6MGUwMTY4M2MmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIEFza3MgQWJvdXQgUGVybWlzc2lvbiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtUZXN0IHRoZSB0aHJlc2hvbGQgYmVmb3JlIGNyb3NzaW5nIGl0LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIFNlY3JldGFyeSBQb2ludHM6Mzo3NzA3ZmFmOSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6VGhlIFNlY3JldGFyeSBQb2ludHM6Mzo3NzA3ZmFmOSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBUZXN0cyB0aGUgQm91bmRhcnkmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVxdWVzdCBwZXJtaXNzaW9uIHRvIGtlZXAgaGlzIGhlbG1ldCBvbi4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBTZWNyZXRhcnkgUG9pbnRzOjQ6ZmU1ZTU1ODgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBTZWNyZXRhcnkgUG9pbnRzOjQ6ZmU1ZTU1ODgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIFJlcXVlc3RzIEhlbG1ldCBQZXJtaXNzaW9uJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjY5IiBuYW1lPSJSeWFuIEFwb2xvZ2l6ZXMgZm9yIHRoZSBBcHBsZSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjE2MDAsMjY3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtTb3JyeSwmcXVvdDsgUnlhbiB3aGlzcGVyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBjbG9zZWQgaGlzIGx1bmNoIGJveCBhbmQgaGVsZCBpdCBhZ2FpbnN0IGhpcyBjaGVzdC4gVGhlIGFwcGxlIHJlbWFpbmVkIGJlbmVhdGggdGhlIGNvdW50ZXIuCiZsdDsvcCZndDsmbHQ7cCZndDsKCSZxdW90O1NvcnJ5LCZxdW90OyBSeWFuIHdoaXNwZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdHVkZW50IGNsb3NlZCB0aGUgbHVuY2ggYm94IGFuZCBoZWxkIGl0IGFnYWluc3QgdGhlaXIgY2hlc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGRpZG4mIzM5O3QgdG91Y2ggaXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVuIHdoeSBhcmUgeW91IHNvcnJ5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGNvbnNpZGVyZWQgdGhlIHF1ZXN0aW9uLiBCZWNhdXNlIGhpcyB2b2ljZSBoYWQgc3RhcnRsZWQgdGhlIHN0dWRlbnQuIEJlY2F1c2UgdGhlIGFwcGxlIGhhZCBjcm9zc2VkIGJlbmVhdGggaGlzIHNob2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVjYXVzZSBzdHJhbmdlIGV2ZW50cyBoYWQgYSBoYWJpdCBvZiBhc3NpZ25pbmcgcmVzcG9uc2liaWxpdHkgdG8gdGhlCgluZWFyZXN0IGF2YWlsYWJsZSBSeWFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UHJldmVudGl2ZSBhcG9sb2d5LCZxdW90OyBoZSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgbG9va2VkIHRvd2FyZCB0aGUgZGFya25lc3MgYmVuZWF0aCB0aGUgY291bnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NoZSBrZWVwcyB0aGluZ3MuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGZvbGxvd2VkIHRoZSBzdHVkZW50JiMzOTtzIGdhemUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgc2VjcmV0YXJ5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBkaWQgbm90IGFuc3dlci4gVGhlIGFwcGxlIHJlbWFpbmVkIGhpZGRlbiBiZW5lYXRoIHRoZSBkZXNrLiBUaGUgc2VjcmV0YXJ5IG5ldmVyIGxvb2tlZCBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIGFzIHRob3VnaCBzaGUgYWxyZWFkeSBrbmV3IGV4YWN0bHkgd2hlcmUgaXQgaGFkIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBvdGhlciBzdHVkZW50IHNhaWQgJiMzOTtzaGUga2VlcHMgdGhpbmdzJiMzOTsgYWZ0ZXIgdGhlIGFwcGxlIGRpc2FwcGVhcmVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgaWdub3JlZCB0aGUgYXBwbGUgYmVuZWF0aCBoZXIgY291bnRlciZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7QW1iaWd1b3VzIHdhcm5pbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBvdGhlciBzdHVkZW50IHNhaWQsIOKAnFNoZSBrZWVwcwoJdGhpbmdzLOKAnSBidXQgd291bGQgbm90IGV4cGxhaW4gd2hvIG9yIHdoYXQgdGhhdCBtZWFudC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwpBIHNvZnQgY3J1bmNoIGNhbWUgZnJvbSBiZW5lYXRoIHRoZSBjb3VudGVyLiBUaGUgYXBwbGUgZGlkIG5vdCByb2xsIGJhY2sgb3V0LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhaXQgZm9yIGluc3RydWN0aW9ucy0mZ3Q7VGhlIFNlY3JldGFyeSBQb2ludHNdXQombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7ClJ5YW4gd2F0Y2hlZCB0aGUgc2VjcmV0YXJ5LiBTaGUgZGlkIG5vdCBsb29rIGRvd24gb25jZS4gSXQgd2FzIGFzIHRob3VnaCBzaGUgYWxyZWFkeSBrbmV3IGV4YWN0bHkgd2hlcmUgdGhlIGFwcGxlIGhhZCBzdG9wcGVkLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IGlnbm9yZWQgdGhlIGFwcGxlIGJlbmVhdGggaGVyIGNvdW50ZXImcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhaXQgZm9yIGluc3RydWN0aW9ucy0mZ3Q7VGhlIFNlY3JldGFyeSBQb2ludHNdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjcwIiBuYW1lPSJSeWFuIFdhdGNoZXMgdGhlIEFwcGxlIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTA3NSwyOTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKUnlhbiBrZXB0IGhpcyBleWVzIG9uIHRoZSBkYXJrbmVzcyBiZW5lYXRoIHRoZSBjb3VudGVyLiBUaGUgYXBwbGUgaGFkIHN0b3BwZWQgcm9sbGluZy4gSGUgY291bGQgc2VlIG9uZSBjdXJ2ZWQgcmVkIGVkZ2UgYmV5b25kIHRoZSBzZWNyZXRhcnkmIzM5O3MgY2hhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBzZWNyZXRhcnkgY29udGludWVkIHdhdGNoaW5nIFJ5YW4uIFJ5YW4gY29udGludWVkIHdhdGNoaW5nIHRoZSBhcHBsZS4gVGhlIHdhaXRpbmcgYXJlYSBlbnRlcmVkIGFub3RoZXIgY29udGVzdCB3aG9zZSBydWxlcyBoZSBoYWQgbm90IGJlZW4gZ2l2ZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBhcHBsZSBtb3ZlZC4gT25lIGluY2guIFRoZW4gYW5vdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKTm8gb25lIHRvdWNoZWQgaXQuIFRoZSBmbG9vciBhcHBlYXJlZCBsZXZlbC4gVGhlIGFwcGxlIHJvbGxlZCBkZWVwZXIgdW5kZXIgdGhlIHNlY3JldGFyeSYjMzk7cyBjaGFpciB1bnRpbCBvbmx5IHRoZSBzdGVtIHJlbWFpbmVkIHZpc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBncmVlbiBzdG9uZSBmbGFzaGVkLiBUaGUgc3RlbSBkaXNhcHBlYXJlZC4gT25seSB0aGVuIGRpZCB0aGUgc2VjcmV0YXJ5IHNtaWxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGNoZWNrZWQgYmVuZWF0aCB0aGUgbmVpZ2hib3JpbmcgY2hhaXJzLiBUaGUgc2hhZG93cyBiZW5lYXRoIHRoZW0gbGVhbmVkIGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gZnJvbSB0aGUgb3ZlcmhlYWQgbGlnaHRzLiBUaGV5IHBvaW50ZWQgdG93YXJkIHRoZSBjb3VudGVyLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuVGhyZWF0cy5wdXNoVW5pcXVlKCZxdW90O1NwYWNlIGJlbmVhdGggdGhlIHNlY3JldGFyeSYjMzk7cyBjb3VudGVyJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgYXBwbGUgbW92ZWQgYWZ0ZXIgaXQgYXBwZWFyZWQgdG8gc3RvcCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHdhaXRpbmctYXJlYSBzaGFkb3dzIHBvaW50ZWQgdG93YXJkIHRoZSBzZWNyZXRhcnkmIzM5O3MgY291bnRlciZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgYXBwbGUgcm9sbGVkIHRvd2FyZCB0aGUgc2VjcmV0YXJ5IHdpdGhvdXQgYmVpbmcgdG91Y2hlZCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VW5jZXJ0YWluIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgYXBwbGUgbW92ZWQgYWZ0ZXIgaXQgaGFkCglzdG9wcGVkLCBhbmQgbmVhcmJ5IHNoYWRvd3MgYXBwZWFyZWQgdG8gcG9pbnQgdG93YXJkIHRoZSBzZWNyZXRhcnkmIzM5O3MKCWNvdW50ZXIuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKVGhlIG1pbWVvZ3JhcGggbWFjaGluZSBiZWdhbiBhbm90aGVyIGN5Y2xlLiBSeWFuIGxpc3RlbmVkIGZvciB0aGUgdXN1YWwgc3F1ZWFrLiBUaGlzIHRpbWUsIHRoZSBtYWNoaW5lIHByb2R1Y2VkIGEgc291bmQgbGlrZSBhIHNtYWxsIGJpdGUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTG9vayBhd2F5IGZyb20gdGhlIGNvdW50ZXItJmd0O1RoZSBTZWNyZXRhcnkgUG9pbnRzXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI3MSIgbmFtZT0iUnlhbiBBc2tzIEFib3V0IFBlcm1pc3Npb24iIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI5MDAsMzA1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtQZXJtaXR0ZWQgYnkgd2hvbT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgY29udGludWVkIHBvaW50aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QnkgdGhlIHByaW5jaXBhbC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dhcyBpdCBub3QgcGVybWl0dGVkIGJlZm9yZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFuc3dlciBhcnJpdmVkIHdpdGhvdXQgaGVzaXRhdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgd291bGQgaGF2ZSBoYXBwZW5lZCBpZiBJIHdlbnQgaW4gYmVmb3JlIHlvdSBzYWlkIGl0IHdhcwoJcGVybWl0dGVkPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIHNtaWxlIHdpZGVuZWQgc2xpZ2h0bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSB3b3VsZCBoYXZlIHN0b3BwZWQgeW91LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGxvb2tlZCBhcm91bmQgdGhlIHdhaXRpbmcgYXJlYS4gVGhlIHN0dWRlbnQgb24gdGhlIGJlbmNoIGhhZCBsb3dlcmVkIHRoZWlyIGhlYWQuIE5vIHRlYWNoZXJzIHN0b29kIG5lYXJieS4gTm8gb2ZmaWNlIGFzc2lzdGFudHMgd2FpdGVkIGJlaGluZCB0aGUgY291bnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dobyBpcyB3ZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgdGlsdGVkIGhlciBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkaWQgbm90IHNheSB3aG8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoYXQgd2FzIHRlY2huaWNhbGx5IGNvcnJlY3QuIEl0IHdhcyBhbHNvIG5vdCBhbiBhbnN3ZXIuIFRoZSBkYXJrbmVzcyBiZXlvbmQgdGhlIHRocmVzaG9sZCBzaGlmdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBkZWNpZGVkIG5vdCB0byBhc2sgd2hldGhlciBpdCBjb3VudGVkIGFzIHBhcnQgb2Ygd2UuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O0RvIG5vdCBlbnRlciByZXN0cmljdGVkIHNwYWNlcyBiZWZvcmUgcGVybWlzc2lvbiBpcyBnaXZlbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSBzYWlkICYjMzk7d2UmIzM5OyB3b3VsZCBzdG9wIHVuYXV0aG9yaXplZCBlbnRyeSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UnVsZSBpZGVudGlmaWVkOiZsdDsvc3Ryb25nJmd0OyBUaGUgc2VjcmV0YXJ5IGNsYWltcyB1bmF1dGhvcml6ZWQKCWVudHJ5IHdvdWxkIGJlIHN0b3BwZWQgYnkgYW4gdW5pZGVudGlmaWVkIOKAnHdlLuKAnQombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ3Jvc3MgdGhlIHRocmVzaG9sZC0mZ3Q7UnlhbiBFbnRlcnMgdGhlIE9mZmljZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNzIiIG5hbWU9IlJ5YW4gRW50ZXJzIHRoZSBPZmZpY2UiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI5MDAsMzE3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtza2V0Y2gtbm90ZSByeWFuLW5vdGUmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3J5YW5faW5zaWRlX291dHNpZGVfbGluZS5wbmcmcXVvdDsgYWx0PSZxdW90O1J5YW4gc2tldGNoIG5vdGUmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtzZXQgJHJ5YW5Bc2tlZEFib3V0QW1hcmFsID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBQcmluY2lwYWwmIzM5O3MgT2ZmaWNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgb3V0IHdoeSB0aGUgY3VzdG9kaWFuIGFwcGVhcnMgdW5yZXNwb25zaXZlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UnlhbiBFbnRlcnMgdGhlIE9mZmljZToxOmVkNGEyNmQ0JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpSeWFuIEVudGVycyB0aGUgT2ZmaWNlOjE6ZWQ0YTI2ZDQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0lzIGhlIGFsbCByaWdodD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKUHJpbmNpcGFsIE1hdHRoZXdzIGxvb2tlZCB0b3dhcmQgdGhlIGN1c3RvZGlhbi4gVGhlIGN1c3RvZGlhbiBkaWQgbm90IHJlYWN0IHRvIGVpdGhlciBvZiB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TXIuIEFtYXJhbCBoYWQgYSBkaWZmaWN1bHQgbW9ybmluZywmcXVvdDsgdGhlIHByaW5jaXBhbCBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBoYXBwZW5lZD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgaXMgb25lIG9mIHRoZSB0aGluZ3Mgd2UgYXJlIGF0dGVtcHRpbmcgdG8gZGV0ZXJtaW5lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGxvb2tlZCBhdCBNci4gQW1hcmFsJiMzOTtzIHJ1YmJlciBib290cy4gVGhlIHNvbGVzIHdlcmUgd2V0LiBBIG5hcnJvdyBsaW5lIG9mIGRhcmsgc29pbCBtYXJrZWQgb25lIGN1ZmYgb2YgaGlzIHdvcmsgcGFudHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBkYW1wbmVzcyBoYWQgbm90IHNwcmVhZCBpbnRvIHRoZSBjYXJwZXQgYmVuZWF0aCBoaW0uIFRoZSBmbG9vciB3YXMgZHJ5LiBUaGUgYm9vdHMgd2VyZSBub3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClJ5YW4gZGV0ZWN0ZWQgYSBmYWludCBzbWVsbCBiZW5lYXRoIHRoZSBsYW1wJiMzOTtzIHdhcm0gZHVzdCBhbmQgdGhlIHByaW5jaXBhbCYjMzk7cyBjb2ZmZWUuIFdldCBlYXJ0aC4gTGVhdmVzIHByZXNzZWQgYmVuZWF0aCBjb2xkIHJhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClNvbWV0aGluZyBlbHNlIGNsdW5nIHRvIE1yLiBBbWFyYWwmIzM5O3Mgc2hpcnQuIFB1cnBsZSBpbmsuIE9yIGEgZGFyayBzdGFpbiB0aGF0IGxvb2tlZCBlbm91Z2ggbGlrZSBwdXJwbGUgaW5rIHRvIHJlbWFpbiBvcmRpbmFyeSBpZiBubyBvbmUgZXhhbWluZWQgaXQgY2xvc2VseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCB0aGlzIGhhcHBlbiBpbiB0aGUgYmF0aHJvb20/JnF1b3Q7IFJ5YW4gYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgY2xvc2VkIHRoZSBmb2xkZXIgb24gaGlzIGRlc2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGRpZCBub3Qgc2F5IHRoYXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIGF0IHRoZSB3ZXQgYm9vdHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgZGlkIG5vdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKTXIuIEFtYXJhbCYjMzk7cyBmaW5nZXJzIHRpZ2h0ZW5lZCBhcm91bmQgaGlzIGtuZWVzLiBJdCB3YXMgdGhlIGZpcnN0IGRlbGliZXJhdGUgbW92ZW1lbnQgUnlhbiBoYWQgc2VlbiBoaW0gbWFrZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCYjMzk7cyBib290cyB3ZXJlIHdldCBpbnNpZGUgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgcmVhY3RlZCB3aGVuIFJ5YW4gbWVudGlvbmVkIHRoZSBiYXRocm9vbSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHNtZWxsZWQgZmFpbnRseSBvZiB3ZXQgZWFydGgmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O09wdGlvbmFsIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBNci4gQW1hcmFsJiMzOTtzIGJvb3RzIHdlcmUgd2V0LAoJaGlzIGNsb3RoZXMgc21lbGxlZCBvZiBkYW1wIGVhcnRoLCBhbmQgaGUgcmVhY3RlZCB3aGVuIFJ5YW4gbWVudGlvbmVkCgl0aGUgYmF0aHJvb20uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKUnlhbiBzYXQgaW4gdGhlIGVtcHR5IGNoYWlyLiBNci4gQW1hcmFsJiMzOTtzIGdyaXAgc2xvd2x5IGxvb3NlbmVkLiBPbmUgd2V0IGJvb3QgcmVtYWluZWQgcG9pbnRlZCB0b3dhcmQgdGhlIG9mZmljZSBkb29yLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZhY2UgdGhlIHByaW5jaXBhbC0mZ3Q7UHJpbmNpcGFsIFF1ZXN0aW9ucyB0aGUgSGVsbWV0XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI3MyIgbmFtZT0iUnlhbiBSZXF1ZXN0cyBIZWxtZXQgUGVybWlzc2lvbiIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjEwMjUsMzA1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtBbSBJIHBlcm1pdHRlZCB0byBrZWVwIHRoZSBoZWxtZXQgb24/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBzZWNyZXRhcnkmIzM5O3MgZXllcyBtb3ZlZCB0b3dhcmQgdGhlIHdoaXRlIEIgYWJvdmUgaGlzIGZvcmVoZWFkLiBUaGV5IHJlbWFpbmVkIHRoZXJlIGZvciBzZXZlcmFsIHNlY29uZHMuIFJ5YW4gcmVzaXN0ZWQgdGhlIHVyZ2UgdG8gdGlnaHRlbiB0aGUgY2hpbiBzdHJhcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1VudGlsIHlvdSBhcmUgYXNrZWQgdG8gcmVtb3ZlIGl0LCZxdW90OyBzaGUgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhhdCB3YXMgbm90IGFwcHJvdmFsLiBJdCB3YXMgdGVtcG9yYXJ5IGF1dGhvcml6YXRpb24uIFJ5YW4gdW5kZXJzdG9vZCB0ZW1wb3JhcnkgYXV0aG9yaXphdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IG1lYW50IHllcyBoYWQgYWxyZWFkeSBiZWd1biB0dXJuaW5nIGludG8gbm8uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBc2tlZCBieSB3aG9tPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGUgc2VjcmV0YXJ5IGxvd2VyZWQgaGVyIGhhbmQuIEhlciBmaW5nZXIgc3RpbGwgZGlkIG5vdCBjcm9zcyB0aGUgdGhyZXNob2xkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Qnkgc29tZW9uZSB3aXRoIHRoZSBhdXRob3JpdHkgdG8gYXNrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBhZGRlZCB0aGF0IGFuc3dlciB0byBoaXMgbWVudGFsIGZpbGUgbGFiZWxlZDoKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglUZWNobmljYWxseSBtZWFuaW5nZnVsLiBQcmFjdGljYWxseSB1c2VsZXNzLgombHQ7L2RpdiZndDsKJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBoZWxtZXQgbWF5IHJlbWFpbiB1bnRpbCBhbiBhZHVsdCBzcGVjaWZpY2FsbHkgYXNrcyBmb3IgaXRzIHJlbW92YWwmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J1bGUgaWRlbnRpZmllZDombHQ7L3N0cm9uZyZndDsgUnlhbiBtYXkga2VlcCBoaXMgaGVsbWV0IG9uIHVudGlsCglzb21lb25lIHdpdGggYXV0aG9yaXR5IGRpcmVjdGx5IGFza3MgaGltIHRvIHJlbW92ZSBpdC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwpUaGUgZGVzayBsYW1wIGluc2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSBicmlnaHRlbmVkLiBUaGUgbGlnaHQgcmVhY2hlZCB0aGUgYnJhc3MgdGhyZXNob2xkLiBJdCBzdG9wcGVkIHRoZXJlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0VudGVyIHRoZSBvZmZpY2UtJmd0O1J5YW4gRW50ZXJzIHRoZSBPZmZpY2VdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijc0IiBuYW1lPSJSeWFuIFRlc3RzIHRoZSBCb3VuZGFyeSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249Ijc3NSwzMDI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDt0aHJlc2hvbGQtdGVzdCZxdW90OywxLCZxdW90O1J5YW4gZGVsaWJlcmF0ZWx5IHRlc3RlZCBhIG1hcmtlZCB0aHJlc2hvbGQuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmRpc2NvdmVyQ2x1ZSgmcXVvdDt0aHJlc2hvbGQtcnVsZSZxdW90OywmcXVvdDtBY2tub3dsZWRnZWQgVGhyZXNob2xkcyZxdW90OywmcXVvdDtSeWFuJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7c2tldGNoLW5vdGUgcnlhbi1ub3RlJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9yeWFuX3N0b3BwZWRfcGVuY2lsLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UnlhbiBza2V0Y2ggbm90ZSZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAkcnlhblRlc3RlZERvb3JCb3VuZGFyeSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogUHJpbmNpcGFsJiMzOTtzIFRocmVzaG9sZCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwpSeWFuIGV4dGVuZGVkIG9uZSBzbmVha2VyIHRvd2FyZCB0aGUgYnJhc3Mgc3RyaXAuIEhlIHN0b3BwZWQgYmVmb3JlIGNyb3NzaW5nIGl0LiBOb3RoaW5nIGhhcHBlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpIZSBtb3ZlZCB0aGUgc25lYWtlciBjbG9zZXIuIFRoZSBzZWNyZXRhcnkmIzM5O3MgaGFuZCB0aWdodGVuZWQgYWdhaW5zdCB0aGUgZGVzay4gVGhlIGdyZWVuIHN0b25lIGJyaWdodGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBwcmluY2lwYWwmIzM5O3MgZG9vciBvcGVuZWQgYW5vdGhlciBpbmNoLiBSeWFuIGZyb3plLiBUaGUgc2VjcmV0YXJ5IGRpZCBub3QgbW92ZSBoZXIgcG9pbnRpbmcgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzIHBlcm1pdHRlZCwmcXVvdDsgc2hlIHJlcGVhdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIHRvdWNoZWQgdGhlIHRvZSBvZiBoaXMgc25lYWtlciB0byB0aGUgYnJhc3Mgc3RyaXAuIFdhcm10aCBwcmVzc2VkIHRocm91Z2ggdGhlIHJ1YmJlciBzb2xlLiBUaGUgdGlsZSBiZWhpbmQgaGltIHJlbWFpbmVkIGNvbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBjYXJwZXQgYmV5b25kIHRoZSB0aHJlc2hvbGQgbG9va2VkIG9yZGluYXJ5LiBJdCBkaWQgbm90IGZlZWwgb3JkaW5hcnkuIFJ5YW4gc2hpZnRlZCBtb3JlIHdlaWdodCBvbnRvIHRoZSBicmFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIG1pbWVvZ3JhcGggbWFjaGluZSBzdG9wcGVkIG1pZC1jeWNsZS4gVGhlIGZsdW9yZXNjZW50IGxpZ2h0cyBiZWNhbWUgc2lsZW50LiBFdmVyeSBzb3VuZCBpbiB0aGUgd2FpdGluZyBhcmVhIGVuZGVkIGF0IG9uY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClJ5YW4gcHVsbGVkIGhpcyBmb290IGJhY2suIFRoZSBsaWdodHMgcmVzdW1lZCBidXp6aW5nLiBUaGUgbWltZW9ncmFwaCByb2xsZXJzIGZpbmlzaGVkIHRoZWlyIGN5Y2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGUgc2VjcmV0YXJ5JiMzOTtzIHJpbmcgd2VudCBkYXJrLiBDb25jbHVzaW9uOiBUaGUgdGhyZXNob2xkIHJlYWN0ZWQgd2hlbiBhcHByb2FjaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpTZWNvbmRhcnkgY29uY2x1c2lvbjogVGVzdGluZyBpdCBhZ2FpbiB3b3VsZCBiZSB0YWN0aWNhbGx5IHVubmVjZXNzYXJ5LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgYnJhc3MgdGhyZXNob2xkIGZlbHQgd2FybSB0aHJvdWdoIFJ5YW4mIzM5O3Mgc2hvZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHdhaXRpbmcgYXJlYSBiZWNhbWUgc2lsZW50IHdoZW4gUnlhbiB0b3VjaGVkIHRoZSB0aHJlc2hvbGQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSYjMzk7cyByaW5nIGJyaWdodGVuZWQgd2hlbiBSeWFuIGFwcHJvYWNoZWQgdGhlIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhblJ1bGVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGRvb3J3YXkgcmVhY3RzIHdoZW4gYXBwcm9hY2hlZCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T3B0aW9uYWwgZGlzY292ZXJ5OiZsdDsvc3Ryb25nJmd0OyBUaGUgYnJhc3MgdGhyZXNob2xkIGZlbHQgd2FybSwKCXRoZSB3YWl0aW5nIGFyZWEgZmVsbCBzaWxlbnQsIGFuZCB0aGUgc2VjcmV0YXJ5JiMzOTtzIHJpbmcgYnJpZ2h0ZW5lZCB3aGVuCglSeWFuIGFwcHJvYWNoZWQgdGhlIG9mZmljZS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwpSeWFuIGxpZnRlZCBoaXMgZm9vdCBhY3Jvc3MgdGhlIGJyYXNzIHN0cmlwLiBUaGUgZGFya25lc3MgaW5zaWRlIHRoZSBvZmZpY2UgbW92ZWQgYXNpZGUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ3Jvc3MgdGhlIHRocmVzaG9sZC0mZ3Q7UnlhbiBFbnRlcnMgdGhlIE9mZmljZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNzUiIG5hbWU9IlJ5YW4gVGVzdHMgdGhlIE9mZmljZSBDaGFpciIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjcxMi41LDMzMDAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7c2tldGNoLW5vdGUgcnlhbi1ub3RlJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9yeWFuX3ByaW5jaXBhbF9zaWduLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UnlhbiBza2V0Y2ggbm90ZSZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAkcnlhblRlc3RlZENoYWlyID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBQcmluY2lwYWwmIzM5O3MgT2ZmaWNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIHRoZSBvZmZlcmVkIGNoYWlyIGlzIHNhZmUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpSeWFuIFRlc3RzIHRoZSBPZmZpY2UgQ2hhaXI6MTpmZTVlNTU4OCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UnlhbiBUZXN0cyB0aGUgT2ZmaWNlIENoYWlyOjE6ZmU1ZTU1ODgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gcHJlc3NlZCBvbmUgaGFuZCBhZ2FpbnN0IHRoZSBjaGFpciBjdXNoaW9uLiBJdCBjb21wcmVzc2VkIG5vcm1hbGx5LiBIZSBwcmVzc2VkIGl0IGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU3RpbGwgbm9ybWFsLiBIZSBjaGVja2VkIGJlbmVhdGggdGhlIHNlYXQuIE5vIGV4cG9zZWQgc3ByaW5ncy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vIGxvb3NlIHNjcmV3cy4gTm8gbWVjaGFuaXNtIGRlc2lnbmVkIHRvIGZvbGQgYSBzdHVkZW50IGluIGhhbGYgYW5kIGRyb3AgaGltIHRocm91Z2ggdGhlIGZsb29yLiBQcmluY2lwYWwgTWF0dGhld3Mgd2F0Y2hlZCB3aXRob3V0IGludGVycnVwdGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjdXN0b2RpYW4gY29udGludWVkIHN0YXJpbmcgYXQgdGhlIGNhcnBldC4gUnlhbiBzYXQgY2FyZWZ1bGx5LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biAkcnlhblJ1bGVzLnB1c2hVbmlxdWUoJnF1b3Q7TmV2ZXIgdHJ1c3QgYW4gdW5mYW1pbGlhciBjaGFpciBiZWZvcmUgdGVzdGluZyBpdCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J5YW4mIzM5O3MgcnVsZTombHQ7L3N0cm9uZyZndDsgQW4gb2ZmZXJlZCBzZWF0IHNob3VsZCBiZSBpbnNwZWN0ZWQKCWJlZm9yZSBpdCBpcyBhY2NlcHRlZC4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tGYWNlIHRoZSBwcmluY2lwYWwtJmd0O1ByaW5jaXBhbCBRdWVzdGlvbnMgdGhlIEhlbG1ldF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNzYiIG5hbWU9IlJ5YW4gQXNrcyBBYm91dCBBbWFyYWwiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI4MzcuNSwzMzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcnlhbkFza2VkQWJvdXRBbWFyYWwgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IFByaW5jaXBhbCYjMzk7cyBPZmZpY2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RmluZCBvdXQgd2h5IHRoZSBjdXN0b2RpYW4gYXBwZWFycyB1bnJlc3BvbnNpdmUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpSeWFuIEFza3MgQWJvdXQgQW1hcmFsOjE6ZWQ0YTI2ZDQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlJ5YW4gQXNrcyBBYm91dCBBbWFyYWw6MTplZDRhMjZkNCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7cCZndDsKCSZxdW90O0lzIGhlIGFsbCByaWdodD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgdG93YXJkIHRoZSBtYW4gYmVzaWRlIGhpbS4gVGhlIGN1c3RvZGlhbiBkaWQgbm90IHJlYWN0IHRvIGVpdGhlciBvZiB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O01yLiBBbWFyYWwgaGFkIGEgZGlmZmljdWx0IG1vcm5pbmcsJnF1b3Q7IHRoZSBwcmluY2lwYWwgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGhhcHBlbmVkPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O1RoYXQgaXMgb25lIG9mIHRoZSB0aGluZ3Mgd2UgYXJlIGF0dGVtcHRpbmcgdG8gZGV0ZXJtaW5lLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBsb29rZWQgYXQgTXIuIEFtYXJhbCYjMzk7cyBydWJiZXIgYm9vdHMuIFRoZSBzb2xlcyB3ZXJlIHdldC4gQSBmYWludCBicm93biBzdGFpbiBtYXJrZWQgb25lIGN1ZmYgb2YgaGlzIHdvcmsgcGFudHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBtaWdodCBoYXZlIGJlZW4gb3JkaW5hcnkgZGlydC4gSXQgZGlkIG5vdCBzbWVsbCBsaWtlIG9yZGluYXJ5IGRpcnQuIEl0IHNtZWxsZWQgZGFtcCBhbmQgZWFydGh5LCBsaWtlIGxlYXZlcyBwcmVzc2VkIGJlbmVhdGggY29sZCByYWluLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCYjMzk7cyBib290cyB3ZXJlIHdldCBpbnNpZGUgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCBzbWVsbGVkIGZhaW50bHkgb2Ygd2V0IGVhcnRoJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T3B0aW9uYWwgb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwmIzM5O3MgYm9vdHMgd2VyZSB3ZXQsCglhbmQgaGlzIGNsb3RoZXMgY2FycmllZCBhIGZhaW50IHNtZWxsIG9mIGRhbXAgZWFydGguCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CglSeWFuIHNhdCBpbiB0aGUgZW1wdHkgY2hhaXIuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZhY2UgdGhlIHByaW5jaXBhbC0mZ3Q7UHJpbmNpcGFsIFF1ZXN0aW9ucyB0aGUgSGVsbWV0XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI3NyIgbmFtZT0iUnlhbiBTaXRzIEJlZm9yZSB0aGUgS2luZyIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249Ijk2Mi41LDMzMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBQcmluY2lwYWwmIzM5O3MgT2ZmaWNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0xlYXJuIHdoeSBSeWFuIHdhcyBzdW1tb25lZCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlJ5YW4gU2l0cyBCZWZvcmUgdGhlIEtpbmc6MTowZTAxNjgzYyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UnlhbiBTaXRzIEJlZm9yZSB0aGUgS2luZzoxOjBlMDE2ODNjJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7ClJ5YW4gc2F0LiBIZSBrZXB0IGJvdGggZmVldCBmbGF0IGFnYWluc3QgdGhlIGZsb29yIGFuZCBoaXMgaGVsbWV0IGxldmVsLiBUaGUgcHJpbmNpcGFsIGNvbnRyb2xsZWQgdGhlIGRlc2ssIHRoZSBsYW1wLCB0aGUgZm9sZGVycywgYW5kIHRoZSBkb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGF0IG1hZGUgaGltIEtpbmcuIE1yLiBBbWFyYWwgc2F0IGJlc2lkZSBSeWFuIHdpdGhvdXQgbW92aW5nLiBBIEtuaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKTm90IGJlY2F1c2UgaGUgbG9va2VkIHByZXBhcmVkIHRvIGNoYXJnZSBpbnRvIGJhdHRsZS4gQmVjYXVzZSBrbmlnaHRzIG9jY2FzaW9uYWxseSBiZWNhbWUgdHJhcHBlZCBiZWhpbmQgb3RoZXIgcGllY2VzIGFuZCBjb3VsZCBub3QgZmluZCBhIHNhZmUgc3F1YXJlLiBUaGUgc2VjcmV0YXJ5IHJlbWFpbmVkIG91dHNpZGUgdGhlIG9mZmljZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKQSBCaXNob3AsIFJ5YW4gZGVjaWRlZC4gQmlzaG9wcyBzdGF5ZWQgYXQgYSBkaXN0YW5jZSBhbmQgbW92ZWQgYWxvbmcgbGluZXMgb3RoZXIgcGllY2VzIGRpZCBub3QgYWx3YXlzIG5vdGljZS4gUnlhbiBoYWQgbm90IGZvdW5kIGEgcGxhY2UgZm9yIGhpbXNlbGYgb24gdGhlIGJvYXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGF0IHdhcyBhIHByb2JsZW0uIFVuY2xhc3NpZmllZCBwaWVjZXMgaGFkIGZld2VyIHJ1bGVzLiBQcmluY2lwYWwgTWF0dGhld3MgZm9sZGVkIGJvdGggaGFuZHMgb24gdGhlIGRlc2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClJ5YW4gY29waWVkIHRoZSBnZXN0dXJlIGluIGhpcyBsYXAuIFRoZSBkZXNrIGxhbXAgZGltbWVkLiBQcmluY2lwYWwgTWF0dGhld3MgbG93ZXJlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIGxhbXAgYnJpZ2h0ZW5lZC4gUnlhbiBsZWZ0IGhpcyBvd24gaGFuZHMgZXhhY3RseSB3aGVyZSB0aGV5IHdlcmUuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7UnlhbiBjbGFzc2lmaWVkIFByaW5jaXBhbCBNYXR0aGV3cyBhcyBLaW5nIGFuZCBNci4gQW1hcmFsIGFzIEtuaWdodCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZGVzayBsYW1wIGFwcGVhcmVkIHRvIHJlYWN0IHdoZW4gUHJpbmNpcGFsIE1hdHRoZXdzIG1vdmVkIGhpcyBoYW5kJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBkZXNrIGxhbXAgZGltbWVkIGFuZAoJYnJpZ2h0ZW5lZCBhcyBQcmluY2lwYWwgTWF0dGhld3MgbW92ZWQgb25lIGhhbmQuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYWl0IGZvciB0aGUgZmlyc3QgbW92ZS0mZ3Q7UHJpbmNpcGFsIFF1ZXN0aW9ucyB0aGUgSGVsbWV0XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI3OCIgbmFtZT0iUnlhbiBIb2xkcyBIaXMgUG9zaXRpb24iIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxMDg3LjUsMzMwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHJ5YW5SZWZ1c2VkVG9TaXQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IFByaW5jaXBhbCYjMzk7cyBPZmZpY2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7TWFrZSBQcmluY2lwYWwgTWF0dGhld3MgZXhwbGFpbiB0aGUgc2l0dWF0aW9uJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UnlhbiBIb2xkcyBIaXMgUG9zaXRpb246MTo3NzA3ZmFmOSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UnlhbiBIb2xkcyBIaXMgUG9zaXRpb246MTo3NzA3ZmFmOSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7ClJ5YW4gcmVtYWluZWQgc3RhbmRpbmcuIFByaW5jaXBhbCBNYXR0aGV3cyB3YWl0ZWQuIFJ5YW4gd2FpdGVkIGxvbmdlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKU2lsZW5jZSBiZWNhbWUgdGhlIGZpcnN0IG1vdmUuIFJ5YW4gd2FzIGdvb2QgYXQgd2FpdGluZyB3aGVuIGhlIGtuZXcgYSBjb250ZXN0IGhhZCBiZWd1bi4gVGhlIGRpZmZpY3VsdHkgd2FzIGRldGVybWluaW5nIHdoZXRoZXIgUHJpbmNpcGFsIE1hdHRoZXdzIGtuZXcgdGhleSB3ZXJlIHBsYXlpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBkZXNrIGxhbXAgZ2F2ZSBhIGZhaW50IGVsZWN0cmljYWwgaHVtLiBNci4gQW1hcmFsJiMzOTtzIGtleXMgY2xpY2tlZCBvbmNlIGFnYWluc3QgdGhlIGNoYWlyLiBObyBwYXJ0IG9mIE1yLiBBbWFyYWwgYXBwZWFyZWQgdG8gaGF2ZSBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBmb2xkZWQgaGlzIGhhbmRzIG9uIHRoZSBkZXNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXMgdGhlcmUgYSBwcm9ibGVtIHdpdGggdGhlIGNoYWlyPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkb24mIzM5O3Qga25vdyB3aHkgSSYjMzk7bSBoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpcyB3aHkgSSBpbnZpdGVkIHlvdSB0byBzaXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJbnZpdGVkIGltcGxpZXMgYSBjaG9pY2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgYXQgUnlhbiBmb3Igc2V2ZXJhbCBzZWNvbmRzLiBUaGUgb2ZmaWNlIHNlZW1lZCB0byBkYXJrZW4gYXJvdW5kIHRoZSBlZGdlIG9mIHRoZSBkZXNrIGxhbXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtQbGVhc2Ugc2l0IGRvd24sIE1yLiBHcnVibGVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGF0IHdhcyBubyBsb25nZXIgYW4gaW52aXRhdGlvbi4gVGhhdCB3YXMgYW4gaW5zdHJ1Y3Rpb24gd2VhcmluZyBwb2xpdGUgY2xvdGhpbmcuIFJ5YW4gc2F0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9mZmljZSByZXR1cm5lZCB0byBpdHMgcHJldmlvdXMgbGV2ZWwgb2YgZGFya25lc3MuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O0FuIGludml0YXRpb24gYmVjb21lcyBhbiBpbnN0cnVjdGlvbiB3aGVuIHRoZSBwcmluY2lwYWwgcmVwZWF0cyBpdCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UgZGFya2VuZWQgd2hpbGUgUnlhbiByZWZ1c2VkIHRvIHNpdCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UnlhbiYjMzk7cyBydWxlOiZsdDsvc3Ryb25nJmd0OyBXaGVuIGFuIGFkdWx0IHJlcGxhY2VzIOKAnHNpdOKAnSB3aXRoCgnigJxwbGVhc2Ugc2l0LOKAnSB0aGUgY2hvaWNlIGhhcyB1c3VhbGx5IGV4cGlyZWQuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYWl0IGZvciB0aGUgcHJpbmNpcGFsJiMzOTtzIGZpcnN0IHF1ZXN0aW9uLSZndDtQcmluY2lwYWwgUXVlc3Rpb25zIHRoZSBIZWxtZXRdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijc5IiBuYW1lPSJQcmluY2lwYWwgUXVlc3Rpb25zIHRoZSBIZWxtZXQiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI5MDAsMzYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IFByaW5jaXBhbCYjMzk7cyBPZmZpY2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UmVzcG9uZCB0byB0aGUgcHJpbmNpcGFsIHdpdGhvdXQgc3VycmVuZGVyaW5nIGFueXRoaW5nIGltcG9ydGFudCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGxvb2tlZCBhdCBSeWFuJiMzOTtzIGhlbG1ldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBleGFtaW5hdGlvbiBiZWdhbiB3aXRoIHRoZSB3aGl0ZSBCIGFuZCBtb3ZlZCB0b3dhcmQgdGhlIGJsdWUKCXZpc29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmlnIGdhbWUgdG9kYXk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGtuZXcgd2hhdCB0aGUgcXVlc3Rpb24gbWVhbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IG1lYW46CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJQXJlIHlvdSBwYXJ0aWNpcGF0aW5nIGluIGEgc3BvcnRpbmcgZXZlbnQ/CiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUl0IG1lYW50OgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVJlbW92ZSB0aGUgaGVsbWV0LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglBZHVsdHMgb2Z0ZW4gZGlzZ3Vpc2VkIGluc3RydWN0aW9ucyBhcyBxdWVzdGlvbnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglXb3VsZCB5b3UgbGlrZSB0byB0YWtlIHlvdXIgc2VhdD8KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNhbiB3ZSBwdXQgdGhhdCBhd2F5PwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXMgdGhlcmUgYSByZWFzb24geW91IGFyZSB3ZWFyaW5nIHRoYXQgaW5kb29ycz8KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUV2ZXJ5IHF1ZXN0aW9uIGhhZCBvbmUgY29ycmVjdCBhbnN3ZXIsIGFuZCBub25lIG9mIHRoZW0gcmVxdWlyZWQKCWFjdHVhbCBpbmZvcm1hdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBoYWQgZXN0YWJsaXNoZWQgdGhlIGJvYXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBuZWVkZWQgdG8gY2hvb3NlIGhpcyBvcGVuaW5nIG1vdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCZXNpZGUgaGltLCBNci4gQW1hcmFsIGxpZnRlZCBoaXMgZXllcyBmcm9tIHRoZSBjYXJwZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmx5IHNsaWdodGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIGdhemUgc2V0dGxlZCBvbiB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBoZSBsb3dlcmVkIGhpcyBleWVzIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIFJ5YW4gcmVzcG9uZD8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtSZW1vdmUgdGhlIGhlbG1ldCBhbmQgbWVudGlvbiB0aGUgbm90ZSBvbiBmaWxlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5SZW1vdmVkSGVsbWV0ID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UHJpbmNpcGFsIFF1ZXN0aW9ucyB0aGUgSGVsbWV0OjE6ZWQ0YTI2ZDQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlByaW5jaXBhbCBRdWVzdGlvbnMgdGhlIEhlbG1ldDoxOmVkNGEyNmQ0JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBSZW1vdmVzIHRoZSBIZWxtZXQmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7S2VlcCB0aGUgaGVsbWV0IG9uIHVudGlsIGRpcmVjdGx5IGluc3RydWN0ZWQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhblJlbW92ZWRIZWxtZXQgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UHJpbmNpcGFsIFF1ZXN0aW9ucyB0aGUgSGVsbWV0OjI6ZmU1ZTU1ODgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlByaW5jaXBhbCBRdWVzdGlvbnMgdGhlIEhlbG1ldDoyOmZlNWU1NTg4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBLZWVwcyB0aGUgSGVsbWV0IE9uJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0V4cGxhaW4gdGhlIGhlbG1ldCYjMzk7cyBwcm90ZWN0aXZlIHNwZWNpZmljYXRpb25zLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5SZW1vdmVkSGVsbWV0ID0gZmFsc2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlByaW5jaXBhbCBRdWVzdGlvbnMgdGhlIEhlbG1ldDozOjBlMDE2ODNjJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpQcmluY2lwYWwgUXVlc3Rpb25zIHRoZSBIZWxtZXQ6MzowZTAxNjgzYyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gRXhwbGFpbnMgdGhlIEhlbG1ldCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2hldGhlciB0aGUgcHJpbmNpcGFsIGNvbnNpZGVycyB0aGUgY2VpbGluZyBzYWZlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5SZW1vdmVkSGVsbWV0ID0gZmFsc2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlByaW5jaXBhbCBRdWVzdGlvbnMgdGhlIEhlbG1ldDo0Ojc3MDdmYWY5JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpQcmluY2lwYWwgUXVlc3Rpb25zIHRoZSBIZWxtZXQ6NDo3NzA3ZmFmOSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBRdWVzdGlvbnMgdGhlIENlaWxpbmcmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iODAiIG5hbWU9IlJ5YW4gUmVtb3ZlcyB0aGUgSGVsbWV0IiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMTIyNSwzNDI1IiBzaXplPSIxMDAsMTAwIj4vKiBCNS4yIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtoZWxtZXRSZXNwb25zZSZxdW90OywgJnF1b3Q7cmVtb3ZlJnF1b3Q7LCAmcXVvdDtSeWFuIGNvb3BlcmF0ZXMgYnV0IGxvc2VzIGEgcHJvdGVjdGl2ZSByb3V0aW5lLiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKUnlhbiByZW1vdmVkIHRoZSBoZWxtZXQuIEhlIHBsYWNlZCBpdCBvbiBoaXMgbGFwIHdpdGggYm90aCBoYW5kcyByZXN0aW5nIG9uIHRvcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgaGF2ZSBhIG5vdGUgb24gZmlsZSwgc2lyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIG9wZW5lZCBhIGZvbGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1llcy4gSSBzZWUgdGhhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKUnlhbiB0cmllZCB0byByZWFkIHRoZSB1cHNpZGUtZG93biBwYWdlLiBNb3N0IG9mIHRoZSB3cml0aW5nIHdhcyBoaWRkZW4gYmVuZWF0aCB0aGUgcHJpbmNpcGFsJiMzOTtzIGhhbmQuIE9uZSBwaHJhc2UgcmVtYWluZWQgdmlzaWJsZToKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglQcm90ZWN0aXZlIGFjY29tbW9kYXRpb24KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwpUaGF0IHNvdW5kZWQgbW9yZSBvZmZpY2lhbCB0aGFuIGhlbG1ldC4gSXQgYWxzbyBzb3VuZGVkIG1vcmUgdXNlZnVsLiBSeWFuIGxvb2tlZCB0b3dhcmQgdGhlIGNlaWxpbmcgb25lIGxhc3QgdGltZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHRpbGVzIHJlbWFpbmVkIHdoZXJlIHRoZXkgYmVsb25nZWQuIEZvciBub3cuIEJlc2lkZSBoaW0sIE1yLiBBbWFyYWwmIzM5O3MgZmluZ2VycyBsb29zZW5lZCBzbGlnaHRseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKUnlhbiBsb29rZWQgZG93biBhdCB0aGUgaGVsbWV0LiBUaGUgYmx1ZSB2aXNvciByZWZsZWN0ZWQgdGhlIG9mZmljZSBiZWhpbmQgaGltLiBUaGUgc2VjcmV0YXJ5IHN0b29kIGluIHRoZSBkb29yd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIHR1cm5lZC4gVGhlIGRvb3J3YXkgd2FzIGVtcHR5LiBXaGVuIGhlIGNoZWNrZWQgdGhlIHZpc29yIGFnYWluLCB0aGUgcmVmbGVjdGlvbiBzaG93ZWQgb25seSBkYXJrbmVzcy4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwgTWF0dGhld3MgYWNrbm93bGVkZ2VkIFJ5YW4mIzM5O3MgaGVsbWV0IG5vdGUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1J5YW4gYnJpZWZseSBzYXcgdGhlIHNlY3JldGFyeSByZWZsZWN0ZWQgaW5zaWRlIHRoZSBvZmZpY2UmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1VuY2VydGFpbiByZWZsZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBSeWFuIGJyaWVmbHkgc2F3IHRoZSBzZWNyZXRhcnkKCWluIGhpcyBoZWxtZXQgdmlzb3IgZXZlbiB0aG91Z2ggdGhlIGRvb3J3YXkgd2FzIGVtcHR5LgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUtJmd0O1ByaW5jaXBhbCBRdWVzdGlvbnMgUnlhbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iODEiIG5hbWU9IlByaW5jaXBhbCBRdWVzdGlvbnMgUnlhbiIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjEyNTAsMzY3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0V4cGxhaW4gd2h5IFJ5YW4gZW50ZXJlZCB0aGUgc2Nob29sIGJlZm9yZSB0aGUgZmlyc3QgYmVsbCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIG9wZW5lZCB0aGUgZm9sZGVyIG9uIGhpcyBkZXNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Q291bGQgeW91IGV4cGxhaW4geW91ciBlYXJseSBhcnJpdmFsIGFuZCBlbnRyeSBpbnRvIHRoZSBzY2hvb2wsIE1yLgoJR3Jvb2JsZXI/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CkhlIHByb25vdW5jZWQgUnlhbiYjMzk7cyBsYXN0IG5hbWUgaW5jb3JyZWN0bHkuIFJ5YW4gY29uc2lkZXJlZCBjb3JyZWN0aW5nIGhpbS4gSGUgZGVjaWRlZCBvbmUgYmF0dGxlIGF0IGEgdGltZSB3YXMgdGhlIGJldHRlciBzdHJhdGVneS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHNpdHVhdGlvbiBpdHNlbGYgd2FzIHNpbXBsZS4gUnlhbiBoYWQgYXJyaXZlZCBiZWZvcmUgdGhlIGNoZXNzIGluc3RydWN0b3IuIFRoZSBsb2FkaW5nLWRvY2sgZG9vciBoYWQgYmVlbiBwcm9wcGVkIG9wZW4uIFJ5YW4gbmVlZGVkIHRvIHVzZSB0aGUgYmF0aHJvb20uIEhlIGhhZCBlbnRlcmVkIHRocm91Z2ggYW4gYXZhaWxhYmxlIGRvb3J3YXkgdG8gc29sdmUgYSBiaW9sb2dpY2FsIGVtZXJnZW5jeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhhdCB3YXMgYSBjb21wbGV0ZSwgbG9naWNhbCwgYW5kIGRlZmVuc2libGUgZXhwbGFuYXRpb24uIFVuZm9ydHVuYXRlbHksIGV4cGxhbmF0aW9ucyBoYWQgdG8gdHJhdmVsIGZyb20gUnlhbiYjMzk7cyBicmFpbiB0byBoaXMgbW91dGguIFRoYXQgd2FzIHdoZXJlIHRoZSBzeXN0ZW0gb2NjYXNpb25hbGx5IGZhaWxlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKUHJpbmNpcGFsIE1hdHRoZXdzIHdhaXRlZC4gTXIuIEFtYXJhbCYjMzk7cyBrZXlzIGNsaWNrZWQgc29mdGx5IGFnYWluc3QgdGhlIGNoYWlyLiBUaGUgY3VzdG9kaWFuIGhhZCBub3QgbW92ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBdCBsZWFzdCwgUnlhbiBoYWQgbm90IHNlZW4gaGltIG1vdmUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIFJ5YW4gdGVsbCB0aGUgcHJpbmNpcGFsPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0V4cGxhaW4gdGhlIG9wZW4gbG9hZGluZy1kb2NrIGRvb3IgYW5kIHRoZSBiYXRocm9vbSBlbWVyZ2VuY3kuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkcnlhbkV4cGxhaW5lZEJhY2tEb29yID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5NZW50aW9uZWRCYXRocm9vbSA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlByaW5jaXBhbCBRdWVzdGlvbnMgUnlhbjoxOmVkNGEyNmQ0JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpQcmluY2lwYWwgUXVlc3Rpb25zIFJ5YW46MTplZDRhMjZkNCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gRXhwbGFpbnMgdGhlIEJhY2sgRG9vciZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtHaXZlIHRoZSBzaG9ydGVzdCBwb3NzaWJsZSBhbnN3ZXI6IFBlZS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuRXhwbGFpbmVkQmFja0Rvb3IgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5NZW50aW9uZWRCYXRocm9vbSA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlByaW5jaXBhbCBRdWVzdGlvbnMgUnlhbjoyOjQxZjI5MDlkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpQcmluY2lwYWwgUXVlc3Rpb25zIFJ5YW46Mjo0MWYyOTA5ZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guYXZvaWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIEdpdmVzIHRoZSBTaG9ydCBBbnN3ZXImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2F5IGhlIGVudGVyZWQgdGhyb3VnaCBhIGRvb3IgdGhhdCB3YXMgYWxyZWFkeSBvcGVuLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5FeHBsYWluZWRCYWNrRG9vciA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuTWVudGlvbmVkQmF0aHJvb20gPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UHJpbmNpcGFsIFF1ZXN0aW9ucyBSeWFuOjM6ZmU1ZTU1ODgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlByaW5jaXBhbCBRdWVzdGlvbnMgUnlhbjozOmZlNWU1NTg4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBFeHBsYWlucyB0aGUgT3BlbiBEb29yJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0RlbnkgY2F1c2luZyBhbnkgcHJvYmxlbSBiZWZvcmUgb25lIGlzIG1lbnRpb25lZC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuRXhwbGFpbmVkQmFja0Rvb3IgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5NZW50aW9uZWRCYXRocm9vbSA9IGZhbHNlJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpQcmluY2lwYWwgUXVlc3Rpb25zIFJ5YW46NDo3NzA3ZmFmOSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UHJpbmNpcGFsIFF1ZXN0aW9ucyBSeWFuOjQ6NzcwN2ZhZjkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gRGVuaWVzIEV2ZXJ5dGhpbmcmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iODIiIG5hbWU9IlJ5YW4gS2VlcHMgdGhlIEhlbG1ldCBPbiIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjEwNzUsMzUyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAubG93ZXJBdHRlbnRpb24oJnF1b3Q7aGVsbWV0LWJvdW5kYXJ5JnF1b3Q7LDEsJnF1b3Q7UnlhbiBtYWludGFpbmVkIGEgcGVyc29uYWwgYm91bmRhcnkuJnF1b3Q7KSZndDsmZ3Q7Ci8qIEI1LjIgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O2hlbG1ldFJlc3BvbnNlJnF1b3Q7LCAmcXVvdDtrZWVwJnF1b3Q7LCAmcXVvdDtSeWFuIHByZXNlcnZlcyBoaXMgYm91bmRhcnkgYXQgdGhlIGNvc3Qgb2YgYXV0aG9yaXR5IHRydXN0LiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKUnlhbiByZW1haW5lZCBzdGlsbC4gUHJpbmNpcGFsIE1hdHRoZXdzIHdhaXRlZC4gUnlhbiBoYWQgbGVhcm5lZCB0aGF0IGFkdWx0cyBzb21ldGltZXMgcmVsaWVkIG9uIHNpbGVuY2UgdG8gbWFrZSBjaGlsZHJlbiBzdXJyZW5kZXIgcG9zaXRpb25zIHRoZXkgaGFkIG5vdCBiZWVuIHRvbGQgdG8gYWJhbmRvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwcmluY2lwYWwgdGFwcGVkIFJ5YW4mIzM5O3MgZm9sZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UGxlYXNlIHJlbW92ZSB0aGUgaGVsbWV0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpEaXJlY3QgaW5zdHJ1Y3Rpb24uIFRoZSBydWxlIHdhcyBub3cgY2xlYXIuIFJ5YW4gbGlmdGVkIGJvdGggaGFuZHMgdG93YXJkIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7Ck1yLiBBbWFyYWwmIzM5O3MgYm9vdCBzY3JhcGVkIHNoYXJwbHkgYWdhaW5zdCB0aGUgY2FycGV0LiBSeWFuIHN0b3BwZWQuIFRoZSBjdXN0b2RpYW4mIzM5O3MgZXllcyByZW1haW5lZCBsb3dlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpQcmluY2lwYWwgTWF0dGhld3MgbG9va2VkIHRvd2FyZCBoaW0uIE1yLiBBbWFyYWwgYmVjYW1lIHN0aWxsIGFnYWluLiBSeWFuIHJlbW92ZWQgdGhlIGhlbG1ldCBhbmQgcGxhY2VkIGl0IG9uIGhpcyBsYXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSByb29tIGZlbHQgY29sZGVyIHdpdGhvdXQgaXQuIFRoYXQgd2FzIHByb2JhYmx5IHBzeWNob2xvZ2ljYWwuIFByb2JhYmx5IGhhZCBiZWNvbWUgYSBkYW5nZXJvdXNseSBvdmVydXNlZCB3b3JkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuUmVtb3ZlZEhlbG1ldCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhblJ1bGVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGhlbG1ldCBjb21lcyBvZmYgb25seSBhZnRlciBhIGRpcmVjdCBpbnN0cnVjdGlvbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCByZWFjdGVkIHdoZW4gUnlhbiBiZWdhbiByZW1vdmluZyBoaXMgaGVsbWV0JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtSdWxlIGNvbmZpcm1lZDombHQ7L3N0cm9uZyZndDsgUnlhbiBrZXB0IHRoZSBoZWxtZXQgdW50aWwgUHJpbmNpcGFsCglNYXR0aGV3cyBkaXJlY3RseSBpbnN0cnVjdGVkIGhpbSB0byByZW1vdmUgaXQuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VW5jZXJ0YWluIHJlYWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBNci4gQW1hcmFsIG1vdmVkIHdoZW4gUnlhbiBiZWdhbgoJcmVtb3ZpbmcgdGhlIGhlbG1ldC4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlLSZndDtQcmluY2lwYWwgUXVlc3Rpb25zIFJ5YW5dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjgzIiBuYW1lPSJSeWFuIEV4cGxhaW5zIHRoZSBIZWxtZXQiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI2NTAsMzY1MCIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMiBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7aGVsbWV0UmVzcG9uc2UmcXVvdDssICZxdW90O2V4cGxhaW4mcXVvdDssICZxdW90O1J5YW4gdHVybnMgdGhlIGhlbG1ldCBpbnRvIGEgc3RhdGVkIHNhZmV0eSBydWxlLiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O1RoaXMgaXMgYSAxOTc2IEJvc3RvbiBSZWQgU294IGJhdHRlciYjMzk7cyBoZWxtZXQsJnF1b3Q7IFJ5YW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtHaWZ0LXNob3AgbW9kZWwuIE5vdCByZWd1bGF0aW9uLiBJdCBjYW4gc3RpbGwgYWJzb3JiIGEgcmVhc29uYWJsZQoJaW1wYWN0LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUHJpbmNpcGFsIE1hdHRoZXdzIGxvb2tlZCBhdCB0aGUgaGVsbWV0LiBUaGVuIGF0IFJ5YW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7QXJlIHlvdSBleHBlY3RpbmcgYW4gaW1wYWN0PyZxdW90OwombHQ7L3AmZ3Q7Jmx0O3AmZ3Q7CgkmcXVvdDtUaGlzIGlzIGEgMTk3NiBCb3N0b24gUmVkIFNveCBiYXR0ZXImIzM5O3MgaGVsbWV0LCZxdW90OyBSeWFuIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtHaWZ0LXNob3AgbW9kZWwuIE5vdCByZWd1bGF0aW9uLiBJdCBjYW4gc3RpbGwgYWJzb3JiIGEgcmVhc29uYWJsZQoJaW1wYWN0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpQcmluY2lwYWwgTWF0dGhld3MgbG9va2VkIGF0IHRoZSBoZWxtZXQuIFRoZW4gYXQgUnlhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FyZSB5b3UgZXhwZWN0aW5nIGFuIGltcGFjdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0V4cGVjdGluZyBpcyBub3QgdGhlIHNhbWUgYXMgcHJlcGFyaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpNci4gQW1hcmFsJiMzOTtzIHJpZ2h0IGJvb3Qgc3F1ZWFrZWQgYWdhaW5zdCB0aGUgZmxvb3IuIFJ5YW4gdHVybmVkIHRvd2FyZCBoaW0uIFRoZSBjdXN0b2RpYW4gaGFkIGxpZnRlZCBoaXMgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKSGlzIGV5ZXMgd2VyZSBmaXhlZCBvbiB0aGUgaGVsbWV0LiBOb3QgUnlhbi4gVGhlIGhlbG1ldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCBzb21ldGhpbmcgaGl0IHlvdT8mcXVvdDsgUnlhbiBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKTXIuIEFtYXJhbCYjMzk7cyBtb3V0aCBvcGVuZWQuIE5vIHNvdW5kIGVtZXJnZWQuIFByaW5jaXBhbCBNYXR0aGV3cyBwb2ludGVkIHRvd2FyZCB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UGxlYXNlIHJlbW92ZSBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKUnlhbiBjb21wbGllZC4gTXIuIEFtYXJhbCBsb3dlcmVkIGhpcyBnYXplLiBUaGUgYm9vdCBzdG9wcGVkIHNxdWVha2luZy4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkcnlhblJlbW92ZWRIZWxtZXQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgcmVhY3RlZCB3aGVuIFJ5YW4gbWVudGlvbmVkIHByZXBhcmluZyBmb3IgaW1wYWN0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgZm9jdXNlZCBvbiBSeWFuJiMzOTtzIGhlbG1ldCB3aGVuIGltcGFjdCB3YXMgbWVudGlvbmVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gcmVhY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwgZm9jdXNlZCBvbiB0aGUgaGVsbWV0Cgl3aGVuIFJ5YW4gbWVudGlvbmVkIHByZXBhcmluZyBmb3IgYW4gaW1wYWN0LgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUtJmd0O1ByaW5jaXBhbCBRdWVzdGlvbnMgUnlhbl1dCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtFeHBlY3RpbmcgaXMgbm90IHRoZSBzYW1lIGFzIHByZXBhcmluZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck1yLiBBbWFyYWwmIzM5O3MgYm9vdCBzcXVlYWtlZCBhZ2FpbnN0IHRoZSBmbG9vci4gUnlhbiB0dXJuZWQgdG93YXJkIGhpbS4gVGhlIGN1c3RvZGlhbiBoYWQgbm90IG90aGVyd2lzZSBtb3ZlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgcG9pbnRlZCBhdCB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZxdW90O1BsZWFzZSByZW1vdmUgaXQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwoJUnlhbiBjb21wbGllZC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJHJ5YW5SZW1vdmVkSGVsbWV0ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHJlYWN0ZWQgd2hlbiBSeWFuIG1lbnRpb25lZCBwcmVwYXJpbmcgZm9yIGltcGFjdCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1VuY2VydGFpbiByZWFjdGlvbjombHQ7L3N0cm9uZyZndDsgTXIuIEFtYXJhbCBtb3ZlZCB3aGVuIFJ5YW4KCW1lbnRpb25lZCBwcmVwYXJpbmcgZm9yIGFuIGltcGFjdC4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZS0mZ3Q7UHJpbmNpcGFsIFF1ZXN0aW9ucyBSeWFuXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI4NCIgbmFtZT0iUnlhbiBRdWVzdGlvbnMgdGhlIENlaWxpbmciIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI4MDAsMzc1MCIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMiBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7aGVsbWV0UmVzcG9uc2UmcXVvdDssICZxdW90O2NlaWxpbmcmcXVvdDssICZxdW90O1J5YW4gcmVkaXJlY3RzIGF0dGVudGlvbiB0byB0aGUgcm9vbeKAmXMgYW5vbWFseS4mcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJcyB0aGUgY2VpbGluZyBzZWN1cmU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgbG9va2VkIHVwd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1llcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0hhcyBpdCBiZWVuIGluc3BlY3RlZCByZWNlbnRseT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01yLiBHcnVibGVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGZsdW9yZXNjZW50IGxpZ2h0cyBvdXRzaWRlIGFyZSBmbGlja2VyaW5nLCBhbmQgb25lIGNlaWxpbmcgcGFuZWwKCWlzIGEgZGlmZmVyZW50IGNvbG9yIGZyb20gdGhlIG90aGVycy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwcmluY2lwYWwgc2xvd2x5IGxvd2VyZWQgaGlzIGdhemUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgY2VpbGluZyBpcyBzYWZlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGxvb2tlZCB1cCBhZ2Fpbi4gQSBkYXJrIHN0YWluIG1hcmtlZCB0aGUgdGlsZSBkaXJlY3RseSBhYm92ZSBNci4gQW1hcmFsLiBUaGUgc3RhaW4gaGFkIG5vdCBiZWVuIHZpc2libGUgd2hlbiBSeWFuIGZpcnN0IGVudGVyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CkEgZHJvcCBnYXRoZXJlZCBhdCBpdHMgY2VudGVyLiBSeWFuIHdhdGNoZWQgaXQgc3dlbGwuIEl0IGRpZCBub3QgZmFsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKSXQgbW92ZWQgdXB3YXJkIGludG8gdGhlIHRpbGUuIFJ5YW4gbG9va2VkIGF0IE1yLiBBbWFyYWwmIzM5O3Mgd2V0IGJvb3RzLiBUaGVuIGJhY2sgYXQgdGhlIGNlaWxpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtQbGVhc2UgcmVtb3ZlIHRoZSBoZWxtZXQsJnF1b3Q7IFByaW5jaXBhbCBNYXR0aGV3cyBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIHJlbW92ZWQgaXQuIEhlIHdhcyBub3QgZW50aXJlbHkgY29udmluY2VkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuUmVtb3ZlZEhlbG1ldCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhblJ1bGVzLnB1c2hVbmlxdWUoJnF1b3Q7UHJpbmNpcGFsIE1hdHRoZXdzIGNsYWltcyB0aGUgb2ZmaWNlIGNlaWxpbmcgaXMgc2FmZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TW9pc3R1cmUgYWJvdmUgTXIuIEFtYXJhbCBtb3ZlZCB1cHdhcmQgaW50byBhIGNlaWxpbmcgdGlsZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc3RhaW4gYWJvdmUgTXIuIEFtYXJhbCByZXNlbWJsZWQgdGhlIG1vaXN0dXJlIG9uIGhpcyBib290cyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IEEgZHJvcCBvZiBtb2lzdHVyZSBhYm92ZSBNci4gQW1hcmFsCgltb3ZlZCB1cHdhcmQgaW50byB0aGUgY2VpbGluZyB0aWxlLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUtJmd0O1ByaW5jaXBhbCBRdWVzdGlvbnMgUnlhbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iODUiIG5hbWU9IlJ5YW4gRXhwbGFpbnMgdGhlIEJhY2sgRG9vciIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249Ijc3NSwzNjI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7ZGl2IGNsYXNzPSZxdW90O3NrZXRjaC1ub3RlIHJ5YW4tbm90ZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvcnlhbl9udW1iZXJsZXNzX2xvY2tlcnMucG5nJnF1b3Q7IGFsdD0mcXVvdDtSeWFuIHNrZXRjaCBub3RlJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2RpdiZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGxvYWRpbmctZG9jayBkb29yIHdhcyBwcm9wcGVkIG9wZW4sJnF1b3Q7IFJ5YW4gc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgYXJyaXZlZCBiZWZvcmUgdGhlIGNoZXNzIGluc3RydWN0b3IsIGFuZCBJIG5lZWRlZCB0byB1c2UgdGhlCgliYXRocm9vbS4gSSBlbnRlcmVkIHRocm91Z2ggdGhlIGF2YWlsYWJsZSBkb29yd2F5LCB1c2VkIHRoZSBiYXRocm9vbSwKCXdhc2hlZCBteSBoYW5kcywgYW5kIHdlbnQgdG8gbXkgbG9ja2VyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SW4gdGhhdCBvcmRlcj8mcXVvdDsgUHJpbmNpcGFsIE1hdHRoZXdzIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WWVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSB0b3VjaCBhbnl0aGluZyBlbHNlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIHJlY29uc3RydWN0ZWQgdGhlIHRyaXAuIERvb3IgaGFuZGxlLiBCYXRocm9vbSBzdGFsbC4gRmx1c2ggbGV2ZXIuIEZhdWNldC4gU29hcCBkaXNwZW5zZXIuIFBhcGVyLXRvd2VsIGhhbmRsZS4gTG9ja2VyIGRpYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgbm9ybWFsIHRoaW5ncyByZXF1aXJlZCB0byBjb21wbGV0ZSB0aG9zZSBhY3Rpdml0aWVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIHBsYWNlZCBvbmUgZmluZ2VyIGFnYWluc3QgdGhlIGZvbGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JlIHNwZWNpZmljLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGxpc3RlZCBldmVyeSBzdXJmYWNlLiBBcyBoZSBzcG9rZSwgTXIuIEFtYXJhbCYjMzk7cyByaWdodCBoYW5kIHRpZ2h0ZW5lZCBhcm91bmQgaGlzIGtuZWUuIFRoZSByZWFjdGlvbiBvY2N1cnJlZCB3aGVuIFJ5YW4gbWVudGlvbmVkIHRoZSBmYXVjZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClJ5YW4gc3RvcHBlZC4gUHJpbmNpcGFsIE1hdHRoZXdzIGxvb2tlZCB0b3dhcmQgdGhlIGN1c3RvZGlhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0NvbnRpbnVlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGJhdGhyb29tIGFwcGVhcmVkIGVtcHR5LCZxdW90OyBSeWFuIHNhaWQuICZxdW90O1RoZSBmbG9vciB3YXMgZHJ5LiBPbmUKCWZhdWNldCBtYXkgaGF2ZSBiZWVuIGRyaXBwaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpNci4gQW1hcmFsJiMzOTtzIGJvb3Qgc2NyYXBlZCBhZ2FpbnN0IHRoZSBjYXJwZXQuIFJ5YW4gbG9va2VkIGF0IHRoZSB3ZXQgcnViYmVyLiBUaGUgY3VzdG9kaWFuJiMzOTtzIGJvb3QgbGVmdCBubyBtYXJrIGJlaGluZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIGJlY29taW5nIGRpZmZpY3VsdCB0byBpZ25vcmUuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7UnlhbiBlbnRlcmVkIHRocm91Z2ggdGhlIHByb3BwZWQtb3BlbiBsb2FkaW5nLWRvY2sgZG9vciZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgYmF0aHJvb20gYXBwZWFyZWQgbm9ybWFsIHdoZW4gUnlhbiB1c2VkIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHJlYWN0ZWQgd2hlbiBSeWFuIG1lbnRpb25lZCB0aGUgYmF0aHJvb20gZmF1Y2V0JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gcmVhY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwgcmVhY3RlZCB3aGVuIFJ5YW4KCW1lbnRpb25lZCB0aGUgYmF0aHJvb20gZmF1Y2V0LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgY2xvc2VkIHRoZSBmb2xkZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGFjY291bnRzIGZvciB5b3VyIGVhcmx5IGFycml2YWwuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgdG9uZSBpbmRpY2F0ZWQgaXQgZGlkIG5vdCBhY2NvdW50IGZvciBzb21ldGhpbmcgZWxzZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tMZWFybiB3aHkgdGhlIGJhdGhyb29tIG1hdHRlcnMtJmd0O1RoZSBCYXRocm9vbSBBY2N1c2F0aW9uXV0KJmx0Oy9kaXYmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iODYiIG5hbWU9IlRoZSBCYXRocm9vbSBBY2N1c2F0aW9uIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNjc1LDM4NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBQcmluY2lwYWwmIzM5O3MgT2ZmaWNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0NvbnZpbmNlIFByaW5jaXBhbCBNYXR0aGV3cyB0aGF0IFJ5YW4gZGlkIG5vdCBjYXVzZSB0aGUgYmF0aHJvb20gaW5jaWRlbnQmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBjbG9zZWQgUnlhbiYjMzk7cyBmb2xkZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3VyIGV4cGxhbmF0aW9uIG1heSBhY2NvdW50IGZvciB5b3VyIGVhcmx5IGFycml2YWwuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBsb29rZWQgdG93YXJkIE1yLiBBbWFyYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBtYXkgYWxzbyBleHBsYWluIHdoeSBNci4gQW1hcmFsIHNhdyB5b3UgbmVhciB0aGUgYm95cyYjMzk7IGJhdGhyb29tCglzaG9ydGx5IGJlZm9yZSBoZSBkaXNjb3ZlcmVkIHRoZSBtZXNzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiYjMzk7cyBzdG9tYWNoIGRyb3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IG1lc3M/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIHJpZ2h0IGJvb3QgZHJldyBiYWNrd2FyZCBiZW5lYXRoIHRoZSBjaGFpci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBydWJiZXIgc29sZSBzcXVlYWtlZCBhZ2FpbnN0IHRoZSBjYXJwZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGhhcHBlbmVkIGluIHRoZSBiYXRocm9vbT8mcXVvdDsgUnlhbiBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgaXMgd2hhdCB3ZSBhcmUgdHJ5aW5nIHRvIGRldGVybWluZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgdXNlZCB0aGUgdG9pbGV0LiBJIHdhc2hlZCBteSBoYW5kcy4gSSB3ZW50IHRvIG15IGxvY2tlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0luIHRoYXQgb3JkZXI/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZZXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IGxlYXZlIGFueXRoaW5nIGJlaGluZD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vdGhpbmcgdGhhdCBzaG91bGQgcmVxdWlyZSBhIG1lZXRpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgcHJlc3NlZCBoaXMgbGlwcyB0b2dldGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gcmVhbGl6ZWQgdG9vIGxhdGUgdGhhdCBhY2N1cmFjeSBtaXhlZCB3aXRoIGh1bW9yIGRpZCBub3QgYWx3YXlzCglpbXByb3ZlIGFjY3VyYWN5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2FzIHNvbWV0aGluZyBkYW1hZ2VkPyZxdW90OyBSeWFuIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGxvb2tlZCB0b3dhcmQgTXIuIEFtYXJhbCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjdXN0b2RpYW4mIzM5O3MgaGVhZCByb2NrZWQgb25jZSBmcm9tIHNpZGUgdG8gc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT3IgcGVyaGFwcyBub3QgZGFtYWdlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dhcyBhbnlvbmUgaHVydD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vIHN0dWRlbnRzIHdlcmUgZm91bmQgaW5zaWRlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBzdHVkaWVkIHRoZSB3b3JkaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gc3R1ZGVudHMgd2VyZSBmb3VuZCBpbnNpZGUgZGlkIG5vdCBtZWFuIG5vIG9uZSBoYWQgYmVlbiBpbnNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IG1lYW4gdGhlIHJvb20gaGFkIGJlZW4gZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IGFuc3dlciB0aGUgcXVlc3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgb2ZmaWNlIHN1ZGRlbmx5IHNtZWxsZWQgZGFtcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdldCBzb2lsIGJlbmVhdGggZmFsbGVuIGxlYXZlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1yLiBBbWFyYWwgcHJlc3NlZCBib3RoIGJvb3RzIHRvZ2V0aGVyLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuVGhyZWF0cy5wdXNoVW5pcXVlKCZxdW90O1VuZXhwbGFpbmVkIGJveXMmIzM5OyBiYXRocm9vbSBpbmNpZGVudCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtTb21ldGhpbmcgaGFwcGVuZWQgaW4gdGhlIGJveXMmIzM5OyBiYXRocm9vbSBhZnRlciBSeWFuIGxlZnQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1ByaW5jaXBhbCBNYXR0aGV3cyBjb25uZWN0ZWQgUnlhbiB0byBhbiB1bmV4cGxhaW5lZCBiYXRocm9vbSBtZXNzJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtOZXcgbXlzdGVyeTombHQ7L3N0cm9uZyZndDsgTXIuIEFtYXJhbCBkaXNjb3ZlcmVkIHNvbWV0aGluZyBpbiB0aGUKCWJveXMmIzM5OyBiYXRocm9vbSBzaG9ydGx5IGFmdGVyIFJ5YW4gdXNlZCBpdC4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGVyZSBzaG91bGQgUnlhbiBmb2N1cz8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtTdHVkeSBNci4gQW1hcmFsJiMzOTtzIGNvbmRpdGlvbi4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBCYXRocm9vbSBBY2N1c2F0aW9uOjE6MGUwMTY4M2MmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBCYXRocm9vbSBBY2N1c2F0aW9uOjE6MGUwMTY4M2MmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIFN0dWRpZXMgTXIgQW1hcmFsJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB0aGUgcHJpbmNpcGFsIHRvIGRlc2NyaWJlIHRoZSBtZXNzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIEJhdGhyb29tIEFjY3VzYXRpb246Mjo3NzA3ZmFmOSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6VGhlIEJhdGhyb29tIEFjY3VzYXRpb246Mjo3NzA3ZmFmOSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBBc2tzIEFib3V0IHRoZSBNZXNzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1JlcGVhdCB0aGUgZXhhY3Qgb3JkZXIgb2YgZXZlcnl0aGluZyBoZSBkaWQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgQmF0aHJvb20gQWNjdXNhdGlvbjozOmZlNWU1NTg4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgQmF0aHJvb20gQWNjdXNhdGlvbjozOmZlNWU1NTg4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBSZWNvbnN0cnVjdHMgdGhlIEJhdGhyb29tIFZpc2l0JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayBNci4gQW1hcmFsIHdoZXRoZXIgaGUgYWN0dWFsbHkgc2F3IFJ5YW4gY2F1c2UgaXQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgQmF0aHJvb20gQWNjdXNhdGlvbjo0OmVkNGEyNmQ0JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgQmF0aHJvb20gQWNjdXNhdGlvbjo0OmVkNGEyNmQ0JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UHJpbmNpcGFsIENhbGxzIHRvIEFtYXJhbCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI4NyIgbmFtZT0iUnlhbiBHaXZlcyB0aGUgU2hvcnQgQW5zd2VyIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMTAyNSwzNzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O1BlZSwmcXVvdDsgUnlhbiBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGF0IHdhcyBhbGwuIE9uZSB3b3JkLiBBIGNvbXBsZXRlIGJpb2xvZ2ljYWwgZXhwbGFuYXRpb24gcmVkdWNlZCB0byBpdHMgbGVhc3QgdXNlZnVsIGZvcm0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSB3b3JkIHNlZW1lZCB0byByZW1haW4gaW4gdGhlIGFpciBiZXR3ZWVuIFJ5YW4gYW5kIHRoZSBwcmluY2lwYWwuIFByaW5jaXBhbCBNYXR0aGV3cyByYWlzZWQgb25lIGV5ZWJyb3cuIE1yLiBBbWFyYWwmIzM5O3MgcnViYmVyIGJvb3Qgc3F1ZWFrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFdmVuIHRoZSBkZXNrIGxhbXAgc2VlbWVkIHRvIGRpbSBpbiBkaXNhcHBvaW50bWVudC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglCYWQgbW92ZS4gVmVyeSBiYWQgbW92ZS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBoYWQgdG8gcGVlLCZxdW90OyBSeWFuIGFkZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSZXBlYXRpbmcgdGhlIHNhbWUgYW5zd2VyIHdhcyBub3QgYSBzdHJhdGVneS4gVGhhdCB3YXMgcGFuaWMgZG91YmxpbmcgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgSSBtZWFuIGlzLCBJIG5lZWRlZCB0byB1c2UgdGhlIGJhdGhyb29tLiBJIHVzZWQgaXQuIFRoZW4gSQoJbGVmdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKUHJpbmNpcGFsIE1hdHRoZXdzIGNvbnRpbnVlZCB3YXRjaGluZyBoaW0uIFJ5YW4gY29uc2lkZXJlZCBhZGRpbmcgbW9yZSBkZXRhaWxzLiBIaXMgbW91dGggaGFkIGFscmVhZHkgZGVtb25zdHJhdGVkIHBvb3IganVkZ21lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaWxlbmNlIHNlZW1lZCBzYWZlci4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtSeWFuIHRvbGQgUHJpbmNpcGFsIE1hdHRoZXdzIGhlIGVudGVyZWQgYmVjYXVzZSBoZSBuZWVkZWQgdGhlIGJhdGhyb29tJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0F0dGVtcHQgdG8gcmVjb3Zlci0mZ3Q7VGhlIEJhdGhyb29tIEFjY3VzYXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijg4IiBuYW1lPSJSeWFuIEV4cGxhaW5zIHRoZSBPcGVuIERvb3IiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI5MjUsMzk1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtza2V0Y2gtbm90ZSByeWFuLW5vdGUmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3J5YW5fbG9ja2VkX2Rvb3IucG5nJnF1b3Q7IGFsdD0mcXVvdDtSeWFuIHNrZXRjaCBub3RlJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2RpdiZndDsKCiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGJhY2sgZG9vciB3YXMgb3Blbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgZG9lcyBub3QgbWFrZSBpdCBhIHN0dWRlbnQgZW50cmFuY2UsJnF1b3Q7IFByaW5jaXBhbCBNYXR0aGV3cyBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgd2FzIG5vdCBtYXJrZWQgYXMgYSBub24tc3R1ZGVudCBlbnRyYW5jZSBvbiB0aGUgb3V0c2lkZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzIGJlc2lkZSB0aGUgbG9hZGluZyBkb2NrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpcyBlbnZpcm9ubWVudGFsIGNvbnRleHQsIG5vdCBhIHBvc3RlZCBydWxlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpQcmluY2lwYWwgTWF0dGhld3MgcmVtb3ZlZCBoaXMgZ2xhc3Nlcy4gUnlhbiBzdXNwZWN0ZWQgaGUgaGFkIG1hZGUgdGhlIHNpdHVhdGlvbiB3b3JzZSBpbiBhIHZlcnkgcHJlY2lzZSBhbmQgdGVjaG5pY2FsbHkgZGVmZW5zaWJsZSB3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXYXMgdGhlIGRvb3IgdW5sb2NrZWQ/JnF1b3Q7IHRoZSBwcmluY2lwYWwgYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCB3YXMgcHJvcHBlZCBvcGVuIHdpdGggYSBibG9jayBvZiB3b29kLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpNci4gQW1hcmFsJiMzOTtzIGhlYWQgbW92ZWQuIE9ubHkgc2xpZ2h0bHkuIEhpcyBleWVzIHJlbWFpbmVkIGZpeGVkIG9uIHRoZSBjYXJwZXQsIGJ1dCBoaXMgY2hpbiBsaWZ0ZWQgYXMgdGhvdWdoIHRoZSBwaHJhc2UgYmxvY2sgb2Ygd29vZCBoYWQgcHVsbGVkIGl0IHVwd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dhcyBpdCBzdXBwb3NlZCB0byBiZSBvcGVuPyZxdW90OyBSeWFuIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIHJlcGxhY2VkIGhpcyBnbGFzc2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYW5zd2VyIHdhcyBpbW1lZGlhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVuIHdobyBvcGVuZWQgaXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHkgZGlkIHlvdSBuZWVkIHRvIGVudGVyIGJlZm9yZSB0aGUgYmVsbD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHByaW5jaXBhbCBoYWQgaWdub3JlZCBSeWFuJiMzOTtzIHF1ZXN0aW9uIHdpdGggcHJvZmVzc2lvbmFsIHNraWxsLiBSeWFuIGdsYW5jZWQgYXQgTXIuIEFtYXJhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JhdGhyb29tLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDsmbHQ7c2V0ICRyeWFuTWVudGlvbmVkQmF0aHJvb20gPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O0FuIG9wZW4gZG9vciBpcyBub3QgYXV0b21hdGljYWxseSBhbiBhdXRob3JpemVkIGVudHJhbmNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHJlYWN0ZWQgd2hlbiBSeWFuIGRlc2NyaWJlZCB0aGUgd29vZGVuIGRvb3JzdG9wJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBsb2FkaW5nLWRvY2sgZG9vciB3YXMgbm90IHN1cHBvc2VkIHRvIGJlIG9wZW4mcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J1bGUgaWRlbnRpZmllZDombHQ7L3N0cm9uZyZndDsgQW4gdW5sb2NrZWQgb3IgcHJvcHBlZC1vcGVuIGRvb3IgaXMKCW5vdCBuZWNlc3NhcmlseSBhbiBhdXRob3JpemVkIHN0dWRlbnQgZW50cmFuY2UuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwgcmVhY3RlZCB3aGVuIFJ5YW4gZGVzY3JpYmVkIHRoZQoJYmxvY2sgb2Ygd29vZCBob2xkaW5nIHRoZSBkb29yIG9wZW4uCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZS0mZ3Q7VGhlIEJhdGhyb29tIEFjY3VzYXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijg5IiBuYW1lPSJSeWFuIERlbmllcyBFdmVyeXRoaW5nIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMTMwMCwzODc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0kgZGlkbiYjMzk7dCBkbyBhbnl0aGluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgZG93biBhdCB0aGUgZm9sZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBoYXZlIG5vdCB5ZXQgYWNjdXNlZCB5b3Ugb2YgZG9pbmcgYW55dGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVuIHdoYXQgYXJlIHlvdSBkZW55aW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGNvbnNpZGVyZWQgdGhlIGF2YWlsYWJsZSByZXNwb25zZXMuIE5vbmUgaW1wcm92ZWQgaGlzIHBvc2l0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdGV2ZXIgeW91IHdlcmUgYWJvdXQgdG8gYXNrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpNci4gQW1hcmFsJiMzOTtzIGZpbmdlcnMgdGlnaHRlbmVkIGFyb3VuZCBoaXMga25lZXMuIFJ5YW4gbm90aWNlZC4gUHJpbmNpcGFsIE1hdHRoZXdzIG5vdGljZWQgUnlhbiBub3RpY2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByb29tIGhhZCBiZWNvbWUgZXh0cmVtZWx5IGVmZmljaWVudCBhdCBtYWtpbmcgZXZlcnl0aGluZyB3b3JzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeSB3b3VsZCB5b3UgYXNzdW1lIHNvbWV0aGluZyBoYXBwZW5lZD8mcXVvdDsgdGhlIHByaW5jaXBhbCBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIGF0IE1yLiBBbWFyYWwmIzM5O3Mgd2V0IGJvb3RzLCBmaXhlZCBzdGFyZSwgYW5kIHdoaXRlLWtudWNrbGVkCglncmlwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVjYXVzZSBoZSBsb29rcyBsaWtlIHNvbWV0aGluZyBoYXBwZW5lZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKUHJpbmNpcGFsIE1hdHRoZXdzIGdsYW5jZWQgdG93YXJkIHRoZSBjdXN0b2RpYW4uIE1yLiBBbWFyYWwgd2hpc3BlcmVkIHNvbWV0aGluZy4gVGhlIHNvdW5kIHdhcyB0b28gZmFpbnQgdG8gdW5kZXJzdGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKUHJpbmNpcGFsIE1hdHRoZXdzIGhlYXJkIGl0LiBUaGUgcHJpbmNpcGFsJiMzOTtzIGV4cHJlc3Npb24gY2hhbmdlZCBmb3IgbGVzcyB0aGFuIGEgc2Vjb25kLiBSeWFuIGZpbGVkIHRoYXQgcmVhY3Rpb24gdW5kZXI6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJSW1wb3J0YW50LiBVbmhlbHBmdWwuIFByb2JhYmx5IHRlcnJpYmxlLgombHQ7L2RpdiZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgcmVhY3RlZCB3aGVuIFJ5YW4gZGVuaWVkIGNhdXNpbmcgYSBwcm9ibGVtJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHdoaXNwZXJlZCBzb21ldGhpbmcgdGhhdCBkaXN0dXJiZWQgUHJpbmNpcGFsIE1hdHRoZXdzJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gcmVhY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwgd2hpc3BlcmVkIHNvbWV0aGluZwoJUnlhbiBjb3VsZCBub3QgaGVhciwgYW5kIFByaW5jaXBhbCBNYXR0aGV3cyBicmllZmx5IHJlYWN0ZWQuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tMZWFybiB3aGF0IHRoZSBwcmluY2lwYWwgc3VzcGVjdHMtJmd0O1RoZSBCYXRocm9vbSBBY2N1c2F0aW9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI5MCIgbmFtZT0iUnlhbiBTdHVkaWVzIE1yIEFtYXJhbCIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249Ijc3NSw0MDI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcnlhbk9ic2VydmVkQW1hcmFsID0gdHJ1ZSZndDsmZ3Q7CiZsdDtwJmd0OwpSeWFuIGV4YW1pbmVkIE1yLiBBbWFyYWwgbW9yZSBjYXJlZnVsbHkuIFRoZSBjdXN0b2RpYW4mIzM5O3MgY2hlc3Qgcm9zZSBhbmQgZmVsbCBpbiBzbG93LCBtZWFzdXJlZCBicmVhdGhzLiBCcmVhdGhpbmcgbWVhbnQgaGUgd2FzIGFsaXZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGF0IHdhcyB0aGUgbW9zdCBlbmNvdXJhZ2luZyBjb25jbHVzaW9uIGF2YWlsYWJsZS4gSGlzIGV5ZXMgcmVtYWluZWQgZml4ZWQgb24gb25lIHNlY3Rpb24gb2YgY2FycGV0LiBSeWFuIGZvbGxvd2VkIGhpcyBnYXplLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGUgY2FycGV0IGxvb2tlZCBvcmRpbmFyeS4gR3JheSBmaWJlcnMuIEJyb3duIGZsZWNrcy4gT25lIGRhcmsgdGhyZWFkIHByZXNzZWQgZmxhdCBuZWFyIHRoZSBjaGFpciBsZWcuIE1yLiBBbWFyYWwgd2F0Y2hlZCBpdCBhcyB0aG91Z2ggaXQgbWlnaHQgbW92ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBoYW5kcyBncmlwcGVkIGhpcyBrbmVlcyB0aWdodGx5IGVub3VnaCB0byB3aGl0ZW4gdGhlIGtudWNrbGVzLiBIaXMKCXJ1YmJlciBib290cyByZW1haW5lZCBwcmVzc2VkIHRvZ2V0aGVyLCBhcyB0aG91Z2ggaGUgd2VyZSBhdHRlbXB0aW5nCgl0byBvY2N1cHkgbGVzcyBzcGFjZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRyeWFuQXNrZWRBYm91dEFtYXJhbCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgZGFtcC1lYXJ0aCBzbWVsbCBSeWFuIGhhZCBub3RpY2VkIGVhcmxpZXIgcmVtYWluZWQgb24gdGhlCgkJY3VzdG9kaWFuJiMzOTtzIGNsb3RoZXMuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CkEgZGFyayBwdXJwbGlzaCBzdGFpbiBtYXJrZWQgb25lIHNoaXJ0IGN1ZmYuIEl0IGNvdWxkIGhhdmUgYmVlbiBtaW1lb2dyYXBoIGluay4gUnlhbiBoYWQgc21lbGxlZCB0aGF0IGluayBpbiB0aGUgd2FpdGluZyBhcmVhLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpJdCBjb3VsZCBhbHNvIGhhdmUgYmVlbiBzb21ldGhpbmcgdGhhdCBvbmx5IGxvb2tlZCBwdXJwbGUgYmVuZWF0aCB0aGUgZGVzayBsYW1wLiBUaGUgc3RhaW4gYXBwZWFyZWQgd2V0LiBSeWFuIHdhdGNoZWQgb25lIGRyb3AgdHJhdmVsIGFsb25nIHRoZSBmYWJyaWMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBtb3ZlZCB1cHdhcmQgdG93YXJkIE1yLiBBbWFyYWwmIzM5O3MgZWxib3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHdoaXNwZXJlZCwgJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBkcm9wIHN0b3BwZWQuIEl0IHNhbmsgaW50byB0aGUgY2xvdGggYW5kIGRpc2FwcGVhcmVkLiBSeWFuIGxvb2tlZCBhdCBQcmluY2lwYWwgTWF0dGhld3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBwcmluY2lwYWwgaGFkIHNlZW4gaXQgdG9vLiBPciBoYWQgYmVjb21lIHZlcnkgc2tpbGxlZCBhdCBwcmV0ZW5kaW5nIG5vdCB0byBzZWUgdGhpbmdzLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIGhhZCBhIGRhcmsgcHVycGxlIHN0YWluIG9uIG9uZSBjdWZmJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNb2lzdHVyZSBtb3ZlZCB1cHdhcmQgYWxvbmcgTXIuIEFtYXJhbCYjMzk7cyBzbGVldmUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCBhcHBlYXJlZCBmcmlnaHRlbmVkIHJhdGhlciB0aGFuIG1lcmVseSBzaWNrJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtPYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgTXIuIEFtYXJhbCBhcHBlYXJzIGZyaWdodGVuZWQsIGFuZCBhCglkYXJrIHN0YWluIG1vdmVkIHVwd2FyZCBhbG9uZyBoaXMgY3VmZiBiZWZvcmUgZGlzYXBwZWFyaW5nLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7ClRoZSBkYXJrIHRocmVhZCBpbiB0aGUgY2FycGV0IHNoaWZ0ZWQuIE1yLiBBbWFyYWwgcHVsbGVkIGJvdGggZmVldCBiYWNrd2FyZC4gUnlhbiB3YXMgbm8gbG9uZ2VyIGNlcnRhaW4gaXQgd2FzIGEgdGhyZWFkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1NlZSB3aGV0aGVyIGhlIHJlc3BvbmRzLSZndDtQcmluY2lwYWwgQ2FsbHMgdG8gQW1hcmFsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI5MSIgbmFtZT0iUHJpbmNpcGFsIENhbGxzIHRvIEFtYXJhbCIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249Ijc3NSw0MTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7R2V0IE1yLiBBbWFyYWwgdG8gZXhwbGFpbiB3aGF0IGhlIGRpc2NvdmVyZWQmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyB0dXJuZWQgdG93YXJkIHRoZSBjdXN0b2RpYW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNci4gQW1hcmFsPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01yLiBBbWFyYWwsIGRpZCB5b3Ugc2VlIE1yLiBHcnVibGVyIGluc2lkZSB0aGUgYmF0aHJvb20/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3VzdG9kaWFuIGRpZCBub3QgcmVzcG9uZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBleWVzIHJlbWFpbmVkIGZpeGVkIG9uIHRoZSBjYXJwZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGFyayB0aHJlYWQgYmVuZWF0aCBoaXMgY2hhaXIgc2hpZnRlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbGVhbmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGRpc2FwcGVhcmVkIGJldHdlZW4gdGhlIGNhcnBldCBmaWJlcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgcmFpc2VkIGhpcyB2b2ljZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01yLiBBbWFyYWw/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9mZmljZSBncmV3IHF1aWV0ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGNvdWxkIG5vIGxvbmdlciBoZWFyIHRoZSBmbHVvcmVzY2VudCBsaWdodHMgb3V0c2lkZSBvciB0aGUKCW1pbWVvZ3JhcGggbWFjaGluZSBiZWhpbmQgdGhlIHdhbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjb3VsZCBoZWFyIE1yLiBBbWFyYWwgYnJlYXRoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPdXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYSBzZWNvbmQgcmh5dGhtIGpvaW5lZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU91dC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGNhbWUgZnJvbSBzb21ld2hlcmUgYmVuZWF0aCB0aGUgZGVzay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIGRvd24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIHdhcyB0aGVyZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyByYWlzZWQgb25lIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzbmFwcGVkIGhpcyBmaW5nZXJzIHRocmVlIHRpbWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hhcnAuIEV2ZW5seSBzcGFjZWQuIERlbGliZXJhdGUuCiZsdDsvcCZndDsKJmx0OyZsdDtzZXQgJHJ5YW5Ob3RpY2VkVGhyZWVTbmFwcyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7UHJpbmNpcGFsIE1hdHRoZXdzIHNuYXBwZWQgdGhyZWUgdGltZXMgYmVmb3JlIE1yLiBBbWFyYWwgcmVzcG9uZGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgcmVhY3RlZCBvbmx5IGFmdGVyIHRocmVlIGZpbmdlciBzbmFwcyZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCVJ5YW4gZmxpbmNoZWQgYW5kIHB1bGxlZCB0aGUgaGVsbWV0IGJhY2sgb250byBoaXMgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNvdmVyZWQgaXQgd2l0aCBib3RoIGhhbmRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY29uZCBicmVhdGhpbmcgcmh5dGhtIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHNsb3dseSBsaWZ0ZWQgaGlzIGZhY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbiB0aGUgZGVzayBsYW1wJiMzOTtzIGxpZ2h0LCBoaXMgZXllcyByZWZsZWN0ZWQgYSBkYXJrIHJvb20gUnlhbiBjb3VsZAoJbm90IHNlZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tMaXN0ZW4gdG8gdGhlIGN1c3RvZGlhbi0mZ3Q7SXQgV2FzIEV2ZXJ5d2hlcmVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjkyIiBuYW1lPSJSeWFuIEFza3MgQWJvdXQgdGhlIE1lc3MiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI5NzUsNDM1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGtpbmQgb2YgbWVzcz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgdG93YXJkIE1yLiBBbWFyYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGRlc2NyaXB0aW9uIHdpbGwgaGF2ZSB0byBjb21lIGZyb20gaGltLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHNvbWV0aGluZyBicmVhaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIHJlc3BvbnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2FzIGFueW9uZSBodXJ0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8gc3R1ZGVudHMgd2VyZSBmb3VuZCBpbnNpZGUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXYXMgaXQgd2F0ZXI/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClByaW5jaXBhbCBNYXR0aGV3cyBoZXNpdGF0ZWQuIFJ5YW4gbm90aWNlZC4gU28gZGlkIE1yLiBBbWFyYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBjdXN0b2RpYW4mIzM5O3MgaGVhZCB0dXJuZWQgc2xpZ2h0bHkgdG93YXJkIHRoZSBwcmluY2lwYWwuIEl0IHdhcyB0aGUgbmVhcmVzdCBoZSBoYWQgY29tZSB0byBsb29raW5nIGF0IGFub3RoZXIgcGVyc29uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkbyBub3Qga25vdywmcXVvdDsgUHJpbmNpcGFsIE1hdHRoZXdzIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHdhcyBub3QgdGhlIHNhbWUgYXMgbm8uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXYXMgdGhlIGZsb29yIHdldD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHByaW5jaXBhbCBkaWQgbm90IGFuc3dlci4gUnlhbiBsb29rZWQgYXQgTXIuIEFtYXJhbCYjMzk7cyBib290cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCBpdCBjb21lIGZyb20gdGhlIHBpcGVzPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpNci4gQW1hcmFsIG1hZGUgYSBsb3cgc291bmQgaW4gaGlzIHRocm9hdC4gUHJpbmNpcGFsIE1hdHRoZXdzIGNsb3NlZCB0aGUgZm9sZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpcyBlbm91Z2ggc3BlY3VsYXRpb24uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIHRyYW5zbGF0ZWQ6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJT25lIG9mIHRob3NlIHF1ZXN0aW9ucyB3YXMgdG9vIGNsb3NlLgombHQ7L2RpdiZndDsKJmx0OyZsdDtzZXQgJHJ5YW5CYXRocm9vbVRoZW9yeSA9ICZxdW90O3dhdGVyJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1ByaW5jaXBhbCBNYXR0aGV3cyBoZXNpdGF0ZWQgd2hlbiBSeWFuIGFza2VkIHdoZXRoZXIgd2F0ZXIgY2F1c2VkIHRoZSBtZXNzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHJlYWN0ZWQgd2hlbiBSeWFuIGFza2VkIGFib3V0IHRoZSBwaXBlcyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UG9zc2libGUgdGhlb3J5OiZsdDsvc3Ryb25nJmd0OyBUaGUgYmF0aHJvb20gaW5jaWRlbnQgbWF5IGhhdmUKCWludm9sdmVkIHdhdGVyIG9yIHRoZSBwbHVtYmluZywgYnV0IFByaW5jaXBhbCBNYXR0aGV3cyB3b3VsZCBub3QKCWNvbmZpcm0gaXQuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKRnJvbSBzb21ld2hlcmUgYmV5b25kIHRoZSBvZmZpY2UgY2FtZSBhIGhvbGxvdyBrbm9jay4gUGlwZS4gV2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIHNvbWV0aGluZyBtYWtpbmcgY2VydGFpbiBSeWFuIGtuZXcgdGhlIHF1ZXN0aW9uIGhhZCBiZWVuIGhlYXJkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0FzayB0aGUgY3VzdG9kaWFuIGRpcmVjdGx5LSZndDtQcmluY2lwYWwgQ2FsbHMgdG8gQW1hcmFsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI5MyIgbmFtZT0iUnlhbiBSZWNvbnN0cnVjdHMgdGhlIEJhdGhyb29tIFZpc2l0IiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMTI3NSw0MTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7ZGl2IGNsYXNzPSZxdW90O3NrZXRjaC1ub3RlIHJ5YW4tbm90ZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvcnlhbl93ZXRfZm9vdHByaW50cy5wbmcmcXVvdDsgYWx0PSZxdW90O1J5YW4gc2tldGNoIG5vdGUmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CgkmcXVvdDtJIGVudGVyZWQgdGhyb3VnaCB0aGUgYmFjayBkb29yLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBjb3VudGVkIGVhY2ggYWN0aW9uIG9uIGhpcyBmaW5nZXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSB3YWxrZWQgZGlyZWN0bHkgdG8gdGhlIGJveXMmIzM5OyBiYXRocm9vbS4gSSB1c2VkIHRoZSBmaXJzdCBzdGFsbC4gSQoJZmx1c2hlZC4gSSB3YXNoZWQgbXkgaGFuZHMuIEkgdXNlZCB0d28gcGFwZXIgdG93ZWxzLiBJIG9wZW5lZCB0aGUKCWRvb3Igd2l0aCB0aGUgc2Vjb25kIHRvd2VsLiBUaGVuIEkgd2VudCB0byBteSBsb2NrZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3Mgd3JvdGUgc29tZXRoaW5nIGluIHRoZSBmb2xkZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IG5vdGljZSBhbnlvbmUgZWxzZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKUnlhbiByZWNvbnN0cnVjdGVkIHRoZSByb29tLiBUaHJlZSBzaW5rcy4gRm91ciBzdGFsbHMuIE9uZSBuYXJyb3cgd2luZG93IHRvbyBoaWdoIHRvIHJlYWNoLiBHcmVlbiB0aWxlIGFsb25nIHRoZSBsb3dlciBoYWxmIG9mIHRoZSB3YWxscy4gRW1wdHkgc2lua3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CkNsb3NlZCBzdGFsbHMuIEEgZHJpcHBpbmcgZmF1Y2V0LiBPciBoYWQgdGhlIGZhdWNldCBiZWd1biBkcmlwcGluZyBvbmx5IHdoZW4gaGUgbGVmdD8KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gY291bGQgbm90IGJlIGNlcnRhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IGNoZWNrIHRoZSBzdGFsbHM/JnF1b3Q7IFByaW5jaXBhbCBNYXR0aGV3cyBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5IG5vdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JlY2F1c2UgY2hlY2tpbmcgb2NjdXBpZWQgYmF0aHJvb20gc3RhbGxzIGlzIGdlbmVyYWxseSBkaXNjb3VyYWdlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHByaW5jaXBhbCBzdG9wcGVkIHdyaXRpbmcuIFJ5YW4gY29udGludWVkIGJlZm9yZSB0aGUgc2lsZW5jZSBjb3VsZCBiZWNvbWUgZGlzY2lwbGluYXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGRvb3JzIHdlcmUgY2xvc2VkLiBJIGRpZCBub3QgaGVhciBhbnlvbmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsJiMzOTtzIGJvb3Qgc3F1ZWFrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtFeGNlcHQgb25lIHNvdW5kLCZxdW90OyBSeWFuIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgbG9va2VkIHVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBzb3VuZD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKUnlhbiBzZWFyY2hlZCB0aGUgbWVtb3J5LiBBIHNvZnQgc2NyYXBlLiBJdCBoYWQgY29tZSBmcm9tIHRoZSBmaW5hbCBzdGFsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKQXQgdGhlIHRpbWUsIFJ5YW4gaGFkIGFzc3VtZWQgYSBwaXBlIHNoaWZ0ZWQgaW5zaWRlIHRoZSB3YWxsLiBOb3cgTXIuIEFtYXJhbCB3YXMgc3RhcmluZyBhdCBoaW0uIEZ1bGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpGb3Igb25lIHNlY29uZCwgdGhlIGN1c3RvZGlhbiYjMzk7cyBleWVzIHdlcmUgY2xlYXIuIFRoZW4gdGhleSBkcm9wcGVkIGJhY2sgdG8gdGhlIGNhcnBldC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkcnlhbkJhdGhyb29tVGhlb3J5ID0gJnF1b3Q7c29tZW9uZSBlbnRlcmVkIGFmdGVyIFJ5YW4mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7UnlhbiByZW1lbWJlcnMgdGhlIGJhdGhyb29tIGFwcGVhcmluZyBlbXB0eSBiZWZvcmUgdGhlIGluY2lkZW50JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtSeWFuIGhlYXJkIGEgc2NyYXBlIG5lYXIgdGhlIGZpbmFsIGJhdGhyb29tIHN0YWxsJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1J5YW4gY2Fubm90IHJlbWVtYmVyIHdoZXRoZXIgdGhlIGZhdWNldCB3YXMgZHJpcHBpbmcgYmVmb3JlIGhlIGxlZnQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1JlY292ZXJlZCBtZW1vcnk6Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gaGVhcmQgYSBmYWludCBzY3JhcGUgbmVhciB0aGUKCWZpbmFsIHN0YWxsIGJ1dCBhc3N1bWVkIGl0IGNhbWUgZnJvbSB0aGUgcGx1bWJpbmcuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKUHJpbmNpcGFsIE1hdHRoZXdzIGRyZXcgYSBsaW5lIGJlbmVhdGggd2hhdGV2ZXIgaGUgaGFkIHdyaXR0ZW4uIFJ5YW4gY291bGQgbm90IHJlYWQgdGhlIHdvcmRzLiBIZSBjb3VsZCBzZWUgdGhlIGZpbmFsIHB1bmN0dWF0aW9uIG1hcmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHF1ZXN0aW9uIG1hcmsuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQXNrIHdoYXQgTXIuIEFtYXJhbCBzYXctJmd0O1ByaW5jaXBhbCBDYWxscyB0byBBbWFyYWxdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijk0IiBuYW1lPSJJdCBXYXMgRXZlcnl3aGVyZSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249Ijc3NSw0Mjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcnlhbkhlYXJkRXZlcnl3aGVyZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogUHJpbmNpcGFsJiMzOTtzIE9mZmljZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtVbmRlcnN0YW5kIHdoYXQgTXIuIEFtYXJhbCBkaXNjb3ZlcmVkJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglNci4gQW1hcmFsIHNsb3dseSByYWlzZWQgaGlzIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgZmFjZSBsb29rZWQgZW1wdHksIGJ1dCBoaXMgZXllcyBkaWQgbm90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSByZWZsZWN0ZWQgYSBwbGFjZSBiZXlvbmQgdGhlIG9mZmljZS4gRGFyayB0aWxlLiBXZWFrIGxpZ2h0LgoJU29tZXRoaW5nIHBhbGUgbW92aW5nIHdoZXJlIHRoZSBkZXNrIGxhbXAgc2hvdWxkIGhhdmUgYmVlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbGVhbmVkIHNsaWdodGx5IGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByZWZsZWN0aW9uIHZhbmlzaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCYjMzk7cyBsaXBzIHBhcnRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByb29tIGJlY2FtZSBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IHdhcyBldmVyeXdoZXJlLCZxdW90OyBoZSB3aGlzcGVyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFdmVyeXdoZXJlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB3b3JkIHNob3VsZCBub3QgYmUgYWxsb3dlZCB0byBkZXNjcmliZSBhbnl0aGluZyBmb3VuZCBpbnNpZGUgYQoJc2Nob29sIGJhdGhyb29tLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCBwcmVzc2VkIGhpcyBib290cyB0b2dldGhlci4gSGlzIGhhbmRzIHRpZ2h0ZW5lZCBhcm91bmQgaGlzCglrbmVlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZHJvcCBvZiB3YXRlciBhcHBlYXJlZCBiZW5lYXRoIG9uZSBib290LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhbm90aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBkaWQgbm90IHNvYWsgaW50byB0aGUgY2FycGV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRyb3BzIHJlbWFpbmVkIHJvdW5kIGFuZCBkYXJrIG9uIHRoZSBmaWJlcnMsIHRyZW1ibGluZyB3aXRoIGVhY2gKCWJyZWF0aCBNci4gQW1hcmFsIHRvb2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3Mgd2F0Y2hlZCB0aGUgY3VzdG9kaWFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgZGlkIG5vdCBhc2sgd2hhdCBldmVyeXdoZXJlIG1lYW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBub3RpY2VkIHRoYXQgaW1tZWRpYXRlbHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcHJpbmNpcGFsIGVpdGhlciBhbHJlYWR5IGtuZXcgdGhlIGFuc3dlciBvciBkaWQgbm90IHdhbnQgdG8gaGVhcgoJaXQgc3Bva2VuIGFsb3VkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuVGhyZWF0cy5wdXNoVW5pcXVlKCZxdW90O1doYXRldmVyIE1yLiBBbWFyYWwgZm91bmQgaW4gdGhlIGJhdGhyb29tJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHNhaWQgdGhlIHVuaWRlbnRpZmllZCBzdWJzdGFuY2Ugb3Igb2JqZWN0IHdhcyBldmVyeXdoZXJlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtXYXRlciBhcHBlYXJlZCBiZW5lYXRoIE1yLiBBbWFyYWwmIzM5O3MgYm9vdHMgd2l0aG91dCBzb2FraW5nIGludG8gdGhlIGNhcnBldCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIGRlc2NyaWJlZCB0aGUgYmF0aHJvb20gZGlzY292ZXJ5IG9ubHkgYXMgJiMzOTtldmVyeXdoZXJlJiMzOTsmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O01ham9yIGV2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBNci4gQW1hcmFsIGRlc2NyaWJlZCB3aGF0IGhlIGZvdW5kCgl3aXRoIG9ubHkgb25lIHdvcmQ6IOKAnEV2ZXJ5d2hlcmUu4oCdCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBzZWNvbmQgYnJlYXRoaW5nIHJoeXRobSBiZW5lYXRoIHRoZSBkZXNrIHJldHVybmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCBoZWFyZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBnYXplIGRyb3BwZWQgdG93YXJkIHRoZSBmbG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4ga2VwdCBib3RoIGhhbmRzIG9uIGhpcyBoZWxtZXQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgUnlhbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aGF0IHdhcyBldmVyeXdoZXJlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5RdWVzdGlvbmVkRXZlcnl3aGVyZSA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0Okl0IFdhcyBFdmVyeXdoZXJlOjE6NzcwN2ZhZjkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0Okl0IFdhcyBFdmVyeXdoZXJlOjE6NzcwN2ZhZjkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gUXVlc3Rpb25zIEV2ZXJ5d2hlcmUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7V2F0Y2ggUHJpbmNpcGFsIE1hdHRoZXdzIGluc3RlYWQgb2YgTXIuIEFtYXJhbC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuUXVlc3Rpb25lZEV2ZXJ5d2hlcmUgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6SXQgV2FzIEV2ZXJ5d2hlcmU6MjowZTAxNjgzYyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6SXQgV2FzIEV2ZXJ5d2hlcmU6MjowZTAxNjgzYyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gV2F0Y2hlcyB0aGUgUHJpbmNpcGFsIFJlYWN0JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O01vdmUgaGlzIGNoYWlyIGZhcnRoZXIgZnJvbSBNci4gQW1hcmFsLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5RdWVzdGlvbmVkRXZlcnl3aGVyZSA9IGZhbHNlJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpJdCBXYXMgRXZlcnl3aGVyZTozOjQxZjI5MDlkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpJdCBXYXMgRXZlcnl3aGVyZTozOjQxZjI5MDlkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gTW92ZXMgSGlzIENoYWlyJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aGV0aGVyIE1yLiBBbWFyYWwgbmVlZHMgaGVscC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuUXVlc3Rpb25lZEV2ZXJ5d2hlcmUgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6SXQgV2FzIEV2ZXJ5d2hlcmU6NDplZDRhMjZkNCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6SXQgV2FzIEV2ZXJ5d2hlcmU6NDplZDRhMjZkNCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1J5YW4gT2ZmZXJzIEFtYXJhbCBIZWxwJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijk1IiBuYW1lPSJSeWFuIFF1ZXN0aW9ucyBFdmVyeXdoZXJlIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMTUyNSw0MDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O1doYXQgd2FzIGV2ZXJ5d2hlcmU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNci4gQW1hcmFsJiMzOTtzIGV5ZXMgbW92ZWQgdG93YXJkIFJ5YW4uIEZvciBvbmUgc2Vjb25kLCB0aGV5IGFwcGVhcmVkIGNsZWFyLiBIaXMgbGlwcyBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgd2FzIGV2ZXJ5d2hlcmU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7Ck1yLiBBbWFyYWwmIzM5O3MgZXllcyBtb3ZlZCB0b3dhcmQgUnlhbi4gRm9yIG9uZSBzZWNvbmQsIHRoZXkgYXBwZWFyZWQgY2xlYXIuIEhpcyBsaXBzIG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpObyBzb3VuZCBlbWVyZ2VkLiBSeWFuIGxlYW5lZCBjbG9zZXIuIE1yLiBBbWFyYWwgdHJpZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoaXMgdGltZSwgYSBkYW1wIGJyZWF0aCBlc2NhcGVkLiBJdCBzbWVsbGVkIG9mIHNvaWwgYW5kIHN0YW5kaW5nIHdhdGVyLiBPbmUgd29yZCBhbG1vc3QgZm9ybWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBoZWFyZCB0aGUgYmVnaW5uaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Um8uLi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKTXIuIEFtYXJhbCYjMzk7cyBnYXplIHNoaWZ0ZWQgdG93YXJkIHRoZSBmbG9vciBiZW5lYXRoIHRoZSBkZXNrLiBIaXMgbW91dGggY2xvc2VkLiBQcmluY2lwYWwgTWF0dGhld3Mgd3JvdGUgc29tZXRoaW5nIGluIFJ5YW4mIzM5O3MgZm9sZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpIZSBjb3ZlcmVkIHRoZSB3b3JkcyB3aXRoIG9uZSBoYW5kIGJlZm9yZSBSeWFuIGNvdWxkIHJlYWQgdGhlbS4gUnlhbiBjYXVnaHQgb25seSB0aGUgZmluYWwgbGV0dGVyczoKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CgkuLi5vb3QKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwpSb290LiBSb29tLiBPciBzb21ldGhpbmcgZWxzZSBlbnRpcmVseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkaXN0aW5jdGlvbiBzZWVtZWQgaW1wb3J0YW50LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwgTWF0dGhld3MgcmVjb3JkZWQgTXIuIEFtYXJhbCYjMzk7cyBhdHRlbXB0ZWQgcmVzcG9uc2UgYW5kIGNvbmNlYWxlZCB0aGUgbm90ZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCYjMzk7cyBhdHRlbXB0ZWQgd29yZCBtYXkgaGF2ZSBiZWd1biB3aXRoICYjMzk7cm8mIzM5OyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIGF0dGVtcHRlZCB0byBhbnN3ZXIgYnV0IGNvdWxkIG5vdCBjb21wbGV0ZSB0aGUgd29yZCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7SW5jb21wbGV0ZSBhbnN3ZXI6Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwgYXR0ZW1wdGVkIHRvIHNwZWFrLAoJYnV0IFJ5YW4gaGVhcmQgb25seSB0aGUgYmVnaW5uaW5nIG9mIGEgd29yZCB0aGF0IHNvdW5kZWQgbGlrZSDigJxyby7igJ0KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwpUaGUgd2F0ZXIgYmVuZWF0aCBNci4gQW1hcmFsJiMzOTtzIGJvb3RzIGRyZXcgaW53YXJkLiBXaXRoaW4gc2Vjb25kcywgdGhlIGNhcnBldCB3YXMgZHJ5LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1RoZSBwcmluY2lwYWwgY2FsbHMgZm9yIGhlbHAtJmd0O1RoZSBOdXJzZSBJcyBTdW1tb25lZF1dCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKTm8gc291bmQgY2FtZSBvdXQuIFRoZW4gaGlzIGdhemUgZHJvcHBlZCBiYWNrIHRvIHRoZSBjYXJwZXQuIFByaW5jaXBhbCBNYXR0aGV3cyB3cm90ZSBzb21ldGhpbmcgaW4gdGhlIGZvbGRlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CglIZSBjb3ZlcmVkIHRoZSB3b3JkcyB3aXRoIG9uZSBoYW5kIGJlZm9yZSBSeWFuIGNvdWxkIHJlYWQgdGhlbS4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1ByaW5jaXBhbCBNYXR0aGV3cyByZWNvcmRlZCBNci4gQW1hcmFsJiMzOTtzIGF0dGVtcHRlZCByZXNwb25zZSBhbmQgY29uY2VhbGVkIHRoZSBub3RlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgYXR0ZW1wdGVkIHRvIGFuc3dlciBidXQgY291bGQgbm90IHNwZWFrJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwgdHJpZWQgdG8gYW5zd2VyLCBhbmQgUHJpbmNpcGFsCglNYXR0aGV3cyBjb25jZWFsZWQgd2hhdCBoZSB3cm90ZSBhZnRlcndhcmQuCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbVGhlIHByaW5jaXBhbCBjYWxscyBmb3IgaGVscC0mZ3Q7VGhlIE51cnNlIElzIFN1bW1vbmVkXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI5NiIgbmFtZT0iVGhlIE51cnNlIElzIFN1bW1vbmVkIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMTUyNSw0MjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7V2FpdCB3aGlsZSBQcmluY2lwYWwgTWF0dGhld3Mgc3VtbW9ucyBoZWxwIGZvciBNci4gQW1hcmFsJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgY2FsbGVkIHRocm91Z2ggdGhlIHBhcnRseSBvcGVuIGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNcy4gQXZlbnNoYWxlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSBhcHBlYXJlZCBpbW1lZGlhdGVseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gaGFkIG5vdCBoZWFyZCBoZXIgYXBwcm9hY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc3RvcHBlZCBvdXRzaWRlIHRoZSBicmFzcyB0aHJlc2hvbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgZGlkIG5vdCBlbnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doZW4geW91IGhhdmUgYSBtb21lbnQsIGFzayB0aGUgc2Nob29sIG51cnNlIHRvIGNvbWUgaGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgYXQgTXIuIEFtYXJhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FuZCBicmluZyB0aGUgc21lbGxpbmcgc2FsdHMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBwYXVzZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBbmQgYSBzdHJldGNoZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTdHJldGNoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGYW50YXN0aWMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHN0cmV0Y2hlciB3YXMgcmFyZWx5IGEgc2lnbiBvZiBhZG1pbmlzdHJhdGl2ZSBzdWNjZXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXMuIEF2ZW5zaGFsZSBub2RkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgZ3JlZW4gcmluZyByZXN0ZWQgYWdhaW5zdCB0aGUgZG9vcmZyYW1lLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJHJ5YW5Ob3RpY2VkRG9vckJvdW5kYXJ5Jmd0OyZndDsKCSZsdDtwJmd0OwoJCVJ5YW4gd2F0Y2hlZCBoZXIgaGFuZC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoZSByaW5nIGNyb3NzZWQgaW50byB0aGUgb2ZmaWNlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSGVyIGZpbmdlciBkaWQgbm90LgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgcmVtYWluZWQgb3V0c2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSBldmVuIHdoZW4gaGVscCB3YXMgcmVxdWVzdGVkJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IGFsbG93ZWQgaGVyIHJpbmcgdG8gY3Jvc3MgdGhlIHRocmVzaG9sZCBidXQgbm90IGhlciBoYW5kJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgZGVzayBsYW1wIGRpbW1lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmVlbiBzdG9uZSBicmlnaHRlbmVkIGluIHJlc3BvbnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIG9uZSBzZWNvbmQsIGEgdGhpbiBsaW5lIG9mIGdyZWVuIGxpZ2h0IHJhbiBhbG9uZyB0aGUgYnJhc3MKCXRocmVzaG9sZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHRyYXZlbGVkIGZyb20gb25lIHNpZGUgb2YgdGhlIGRvb3J3YXkgdG8gdGhlIG90aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTXIuIEFtYXJhbCByZWxlYXNlZCBhIGJyZWF0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0d28gZGFyayBkcm9wcyBiZW5lYXRoIGhpcyBib290cyBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1zLiBBdmVuc2hhbGUgd2l0aGRyZXcgaGVyIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGlnaHQgdmFuaXNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBbnl0aGluZyBlbHNlPyZxdW90OyBzaGUgYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcmluY2lwYWwgTWF0dGhld3MgbG9va2VkIHRvd2FyZCBSeWFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5JiMzOTtzIGdhemUgZm9sbG93ZWQgaGlzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiByZXZpc2VkIHRoZSBhbnN3ZXI6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJTm90aGluZyBlbHNlIHRoZXkgaW50ZW5kZWQgdG8gZGlzY3VzcyBpbiBmcm9udCBvZiBoaW0uCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tIZWFyIHRoZSBwcmluY2lwYWwmIzM5O3MgZGVjaXNpb24tJmd0O1ByaW5jaXBhbCBHaXZlcyB0aGUgV2FybmluZ11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iOTciIG5hbWU9IlJ5YW4gV2F0Y2hlcyB0aGUgUHJpbmNpcGFsIFJlYWN0IiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTE3NSw0Mzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKUnlhbiB3YXRjaGVkIFByaW5jaXBhbCBNYXR0aGV3cy4gVGhlIHByaW5jaXBhbCBkaWQgbm90IGFwcGVhciBjb25mdXNlZC4gVGhhdCB3YXMgdGhlIGZpcnN0IGltcG9ydGFudCBkZXRhaWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBzZWNvbmQgd2FzIHRoYXQgaGUgZGlkIG5vdCBhc2sgTXIuIEFtYXJhbCB3aGF0IGV2ZXJ5d2hlcmUgbWVhbnQuIEluc3RlYWQsIFByaW5jaXBhbCBNYXR0aGV3cyBsb29rZWQgdG93YXJkIHRoZSBwYXJ0bHkgb3BlbiBvZmZpY2UgZG9vci4gVGhlbiB0b3dhcmQgdGhlIGRhcmsgY29ybmVyIGJlaGluZCBSeWFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGVuIGJlbmVhdGggdGhlIGRlc2suIEhlIGNoZWNrZWQgZWFjaCBsb2NhdGlvbiBpbiB0aGUgc2FtZSBvcmRlci4gRG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKQ29ybmVyLiBGbG9vci4gQSBwcmFjdGljZWQgaW5zcGVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKUHJpbmNpcGFsIE1hdHRoZXdzIHBsYWNlZCBvbmUgaGFuZCBmbGF0IGFnYWluc3QgdGhlIGRlc2suIFRoZSBzZWNvbmQgYnJlYXRoaW5nIHJoeXRobSBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TXIuIEFtYXJhbCwmcXVvdDsgdGhlIHByaW5jaXBhbCBzYWlkLCAmcXVvdDt5b3UgYXJlIGluIG15IG9mZmljZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjdXN0b2RpYW4mIzM5O3MgZ3JpcCBsb29zZW5lZCBzbGlnaHRseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBjcm9zc2VkIHRoZSB0aHJlc2hvbGQsJnF1b3Q7IFByaW5jaXBhbCBNYXR0aGV3cyBjb250aW51ZWQuICZxdW90O05vdGhpbmcKCWZvbGxvd2VkIHlvdSB0aHJvdWdoLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGxvb2tlZCB0b3dhcmQgdGhlIGJyYXNzIHN0cmlwIG91dHNpZGUgdGhlIGRvb3IuIFByaW5jaXBhbCBNYXR0aGV3cyByZWFsaXplZCB3aGF0IGhlIGhhZCBzYWlkLiBUaGUgcHJpbmNpcGFsJiMzOTtzIGZhY2UgcmV0dXJuZWQgdG8gaXRzIG5ldXRyYWwgcG9zaXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGZpbGVkIHRoZSBzdGF0ZW1lbnQgYmVmb3JlIGl0IGNvdWxkIGJlIHdpdGhkcmF3bi4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7UHJpbmNpcGFsIE1hdHRoZXdzIGRpZCBub3QgYXNrIHdoYXQgTXIuIEFtYXJhbCBtZWFudCBieSBldmVyeXdoZXJlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwgTWF0dGhld3MgdG9sZCBNci4gQW1hcmFsIHRoYXQgbm90aGluZyBmb2xsb3dlZCBoaW0gYWNyb3NzIHRoZSB0aHJlc2hvbGQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7UHJpbmNpcGFsIE1hdHRoZXdzIGNoZWNrZWQgdGhlIGRvb3IsIGNvcm5lciwgYW5kIGZsb29yIGFmdGVyIE1yLiBBbWFyYWwgc3Bva2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBwcmluY2lwYWwmIzM5O3MgdGhyZXNob2xkIG1heSBwcmV2ZW50IHNvbWV0aGluZyBmcm9tIGZvbGxvd2luZyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TWFqb3Igb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFByaW5jaXBhbCBNYXR0aGV3cyByZWFzc3VyZWQgTXIuCglBbWFyYWwgdGhhdCBub3RoaW5nIGhhZCBmb2xsb3dlZCBoaW0gYWNyb3NzIHRoZSBvZmZpY2UgdGhyZXNob2xkLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7ClRoZSBzZWNyZXRhcnkmIzM5O3MgZ3JlZW4gcmluZyBmbGFzaGVkIGJleW9uZCB0aGUgZG9vcndheS4gUHJpbmNpcGFsIE1hdHRoZXdzIHJlYWNoZWQgZm9yIHRoZSB0ZWxlcGhvbmUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbVGhlIHByaW5jaXBhbCBjYWxscyBmb3IgaGVscC0mZ3Q7VGhlIE51cnNlIElzIFN1bW1vbmVkXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI5OCIgbmFtZT0iUnlhbiBNb3ZlcyBIaXMgQ2hhaXIiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyNTAsNDIwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7ClJ5YW4gc2hpZnRlZCBoaXMgY2hhaXIgc2V2ZXJhbCBpbmNoZXMgYXdheSBmcm9tIE1yLiBBbWFyYWwuIFRoZSBjaGFpciBsZWdzIHNjcmFwZWQgYWNyb3NzIHRoZSBjYXJwZXQuIE1yLiBBbWFyYWwgcmVhY3RlZCBpbW1lZGlhdGVseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKSGUgcHVsbGVkIGJvdGggZmVldCBiZW5lYXRoIGhpcyBjaGFpciBhbmQgc3RhcmVkIGF0IHRoZSBzcG90IFJ5YW4gaGFkIGp1c3QgdW5jb3ZlcmVkLiBSeWFuIGZvbGxvd2VkIGhpcyBnYXplLiBOb3RoaW5nIHdhcyB0aGVyZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKR3JheSBjYXJwZXQuIE9uZSBkYXJrZXIgcGF0Y2ggd2hlcmUgdGhlIGNoYWlyIGhhZCByZXN0ZWQuIEEgc2hhbGxvdyBpbmRlbnRhdGlvbiBmcm9tIHRoZSBjaGFpciBsZWcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZW4gdGhlIGluZGVudGF0aW9uIGRlZXBlbmVkLiBUaGUgY2FycGV0IGZpYmVycyBwcmVzc2VkIGRvd253YXJkIGFzIHRob3VnaCBzb21ldGhpbmcgbmFycm93IGhhZCBwbGFjZWQgd2VpZ2h0IHVwb24gdGhlbS4gUnlhbiBzdG9wcGVkIG1vdmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKQSBzZWNvbmQgaW5kZW50YXRpb24gYXBwZWFyZWQgYmVzaWRlIHRoZSBmaXJzdC4gVHdvIHVuc2VlbiBmZWV0IHN0b29kIGluIHRoZSBlbXB0eSBzcGFjZSBiZXR3ZWVuIFJ5YW4gYW5kIE1yLiBBbWFyYWwuIE1yLiBBbWFyYWwgc2hvb2sgaGlzIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtObywmcXVvdDsgaGUgd2hpc3BlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGUgaW5kZW50YXRpb25zIHZhbmlzaGVkLiBUaGUgY2FycGV0IHNsb3dseSByb3NlIGJhY2sgaW50byBwbGFjZS4gUnlhbiBtb3ZlZCBoaXMgY2hhaXIgbm8gZmFydGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKUmV0cmVhdCBoYWQgY3JlYXRlZCBhZGRpdGlvbmFsIHByb2JsZW1zLiBUaGF0IHdhcyB1c2VmdWwgdGFjdGljYWwgaW5mb3JtYXRpb24uCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgcmVhY3RlZCBmZWFyZnVsbHkgd2hlbiBSeWFuJiMzOTtzIGNoYWlyIHNjcmFwZWQgdGhlIGNhcnBldCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VHdvIGZvb3Qtc2hhcGVkIGltcHJlc3Npb25zIGFwcGVhcmVkIGluIHRoZSBlbXB0eSBjYXJwZXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7U29tZXRoaW5nIHVuc2VlbiBhcHBlYXJlZCB0byBzdGFuZCBiZXR3ZWVuIFJ5YW4gYW5kIE1yLiBBbWFyYWwmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5UaHJlYXRzLnB1c2hVbmlxdWUoJnF1b3Q7VW5zZWVuIHByZXNlbmNlIGluc2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFR3byBmb290LXNoYXBlZCBpbXByZXNzaW9ucyBhcHBlYXJlZCBpbgoJdGhlIGVtcHR5IGNhcnBldCBhZnRlciBSeWFuIG1vdmVkIGhpcyBjaGFpci4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwpQcmluY2lwYWwgTWF0dGhld3MgbG9va2VkIGJlbmVhdGggdGhlIGRlc2suIFRoZW4gaGUgcmVhY2hlZCBmb3IgdGhlIHRlbGVwaG9uZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tUaGUgcHJpbmNpcGFsIGNhbGxzIGZvciBoZWxwLSZndDtUaGUgTnVyc2UgSXMgU3VtbW9uZWRdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9Ijk5IiBuYW1lPSJSeWFuIE9mZmVycyBBbWFyYWwgSGVscCIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjU1MCw0NDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O0RvIHlvdSBuZWVkIGhlbHA/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7Ck1yLiBBbWFyYWwgbG9va2VkIGF0IFJ5YW4uIEhpcyBleWVzIGZvY3VzZWQgc2xvd2x5LCBhcyB0aG91Z2ggUnlhbiBzdG9vZCBhdCB0aGUgZmFyIGVuZCBvZiBhIGxvbmcgaGFsbHdheS4gTXIuIEFtYXJhbCYjMzk7cyBtb3V0aCBtb3ZlZCBvbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpIZSByZWFjaGVkIHRvd2FyZCBSeWFuJiMzOTtzIGhlbG1ldC4gSGlzIGhhbmQgc3RvcHBlZCBoYWxmd2F5LiBUaGUgZmluZ2VycyB0cmVtYmxlZCBhYm92ZSB0aGUgd2hpdGUgQi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RvbiYjMzk7dCB0YWtlIGl0IG9mZiwmcXVvdDsgaGUgd2hpc3BlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIHRpZ2h0ZW5lZCBib3RoIGhhbmRzIGFnYWluc3QgdGhlIGhlbG1ldC4gUHJpbmNpcGFsIE1hdHRoZXdzIHN0YXJlZCBhdCB0aGUgY3VzdG9kaWFuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5PyZxdW90OyBSeWFuIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpNci4gQW1hcmFsJiMzOTtzIGdhemUgcm9zZSBhYm92ZSBSeWFuJiMzOTtzIGhlYWQuIFRvd2FyZCB0aGUgY2VpbGluZy4gVGhlbiBiZWhpbmQgUnlhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKSGlzIGV5ZXMgd2lkZW5lZC4gUnlhbiBkaWQgbm90IHR1cm4gYXJvdW5kLiBTb21ldGltZXMgbm90IGtub3dpbmcgd2hhdCBzdG9vZCBiZWhpbmQgeW91IHdhcyB0aGUgb25seSByZW1haW5pbmcgZGVmZW5zZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1yLiBBbWFyYWwgbG93ZXJlZCBoaXMgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGxvb2tzIGZvciB0aGUgdG9wLCZxdW90OyBoZSB3aGlzcGVyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZW4gaGlzIGdhemUgZHJvcHBlZCBiYWNrIHRvIHRoZSBjYXJwZXQuIFJ5YW4gZGlkIG5vdCB1bmRlcnN0YW5kIHRoZSBzdGF0ZW1lbnQuIEhlIHVuZGVyc3Rvb2QgZW5vdWdoIHRvIGtlZXAgdGhlIGhlbG1ldCBvbi4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhblJ1bGVzLnB1c2hVbmlxdWUoJnF1b3Q7RG8gbm90IHJlbW92ZSB0aGUgaGVsbWV0IG5lYXIgd2hhdGV2ZXIgZnJpZ2h0ZW5lZCBNci4gQW1hcmFsJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHdhcm5lZCBSeWFuIG5vdCB0byByZW1vdmUgaGlzIGhlbG1ldCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCBzYWlkICYjMzk7SXQgbG9va3MgZm9yIHRoZSB0b3AmIzM5OyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIGNvbm5lY3RlZCBSeWFuJiMzOTtzIGhlbG1ldCB3aXRoIHByb3RlY3Rpb24mcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O09wdGlvbmFsIHdhcm5pbmc6Jmx0Oy9zdHJvbmcmZ3Q7IE1yLiBBbWFyYWwgd2FybmVkIFJ5YW4gbm90IHRvCglyZW1vdmUgaGlzIGhlbG1ldCBhbmQgc2FpZCwg4oCcSXQgbG9va3MgZm9yIHRoZSB0b3Au4oCdCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKVGhlIGNlaWxpbmcgdGlsZSBhYm92ZSBSeWFuIGdhdmUgb25lIHNvZnQgY2xpY2suIFByaW5jaXBhbCBNYXR0aGV3cyByZWFjaGVkIGZvciB0aGUgdGVsZXBob25lLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1RoZSBwcmluY2lwYWwgY2FsbHMgZm9yIGhlbHAtJmd0O1RoZSBOdXJzZSBJcyBTdW1tb25lZF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTAwIiBuYW1lPSJQcmluY2lwYWwgR2l2ZXMgdGhlIFdhcm5pbmciIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxNTI1LDQzMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBQcmluY2lwYWwmIzM5O3MgT2ZmaWNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0xlYXZlIHRoZSBvZmZpY2Ugd2l0aG91dCBiZWluZyBibGFtZWQgZm9yIHRoZSBiYXRocm9vbSBpbmNpZGVudCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGNsb3NlZCBSeWFuJiMzOTtzIGZvbGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgYW0gbm90IHlldCBjZXJ0YWluIHdobyBvciB3aGF0IHdhcyBpbnZvbHZlZCBpbiB0aGUgYm95cyYjMzk7IGJhdGhyb29tCglpbmNpZGVudC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbm90aWNlZCB0aGUgcGhyYXNlIGltbWVkaWF0ZWx5LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVdobyBvciB3aGF0LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglBZHVsdHMgdXN1YWxseSBzYWlkIHdoby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgc2FpZCB3aGF0IG9ubHkgd2hlbiB0aGV5IGhhZCBzdG9wcGVkIHByZXRlbmRpbmcgdGhlIGFuc3dlciBoYWQKCXRvIGJlIGEgcGVyc29uLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwgTWF0dGhld3Mgc2FpZCBoZSBkaWQgbm90IGtub3cgd2hvIG9yIHdoYXQgY2F1c2VkIHRoZSBiYXRocm9vbSBpbmNpZGVudCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtQcmluY2lwYWwgTWF0dGhld3MgY29uc2lkZXJlZCB0aGF0IHNvbWV0aGluZyBvdGhlciB0aGFuIGEgc3R1ZGVudCBtYXkgYmUgcmVzcG9uc2libGUmcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtPbmNlIE1yLiBBbWFyYWwgcmVjb3ZlcnMsIEkgd2lsbCBrbm93IG1vcmUsJnF1b3Q7IHRoZSBwcmluY2lwYWwKCWNvbnRpbnVlZC4gJnF1b3Q7SW4gdGhlIG1lYW50aW1lLCB0aGUgY3VzdG9kaWFsIGVudHJhbmNlIGlzIG5vdCBmb3Igc3R1ZGVudAoJdXNlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBub2RkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugd2lsbCBhcnJpdmUgd2hlbiB0aGUgYmVsbCByaW5ncyBhbmQgdXNlIHRoZSBkZXNpZ25hdGVkIGRvb3JzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WWVzLCBzaXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgbG9hZGluZy1kb2NrIGVudHJhbmNlIHdhcyBzZWN1cmVkIGxhc3QgbmlnaHQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGxvb2tlZCB1cC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IHdhcyBvcGVuIHRoaXMgbW9ybmluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgYW0gYXdhcmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaG8gb3BlbmVkIGl0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGdsYW5jZWQgdG93YXJkIHRoZSBkb29yd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyZWVuIHN0b25lIGluIHRoZSBzZWNyZXRhcnkmIzM5O3MgcmluZyByZW1haW5lZCB2aXNpYmxlIGJleW9uZCB0aGUKCWJyYXNzIHN0cmlwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UgZG8gbm90IGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYW5zd2VyIHdhcyBxdWlldGVyIHRoYW4gZXZlcnl0aGluZyB0aGF0IGNhbWUgYmVmb3JlIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2FzIE1yLiBBbWFyYWwgdGhlIGZpcnN0IHBlcnNvbiB0aHJvdWdoIGl0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGN1c3RvZGlhbiYjMzk7cyBib290IHNxdWVha2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJpbmNpcGFsIE1hdHRoZXdzIGRpZCBub3QgYW5zd2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW5zdGVhZCwgdGhlIHByaW5jaXBhbCBsZWFuZWQgZm9yd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzIGZvciB0aGUgc2Nob29sJiMzOTtzIHNhZmV0eS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHBhdXNlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FuZCB5b3Vycy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkZXNrIGxhbXAgZmxpY2tlcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW4gdGhlIGJyaWVmIGRhcmtuZXNzLCBzb21ldGhpbmcgdG91Y2hlZCB0aGUgdG9wIG9mIFJ5YW4mIzM5O3MgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTGlnaHQgcmV0dXJuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIHN0b29kIGJlaGluZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGtlcHQgYm90aCBoYW5kcyBvbiB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtVc2Ugb25seSBkZXNpZ25hdGVkIHNjaG9vbCBlbnRyYW5jZXMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O1VuYXV0aG9yaXplZCBlbnRyYW5jZXMgbWF5IGJlIGRhbmdlcm91cywgbm90IG1lcmVseSBmb3JiaWRkZW4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBsb2FkaW5nLWRvY2sgZW50cmFuY2UgaGFkIGJlZW4gc2VjdXJlZCBiZWZvcmUgc29tZW9uZSBvcGVuZWQgaXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7U2Nob29sIG9mZmljaWFscyBkbyBub3Qga25vdyB3aG8gb3BlbmVkIHRoZSBsb2FkaW5nLWRvY2sgZW50cmFuY2UmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J1bGUgaWRlbnRpZmllZDombHQ7L3N0cm9uZyZndDsgVGhlIGxvYWRpbmctZG9jayBlbnRyYW5jZSBpcwoJZm9yYmlkZGVuIGJlY2F1c2UgUHJpbmNpcGFsIE1hdHRoZXdzIGJlbGlldmVzIGl0IG1heSBiZSB1bnNhZmUuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBsb2FkaW5nLWRvY2sgZG9vciBoYWQgYmVlbiBzZWN1cmVkLCBidXQKCXNvbWVvbmUgb3Igc29tZXRoaW5nIG9wZW5lZCBpdCBiZWZvcmUgUnlhbiBhcnJpdmVkLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglJbiBjaGVzcyB0ZXJtcywgdGhlIG1lZXRpbmcgd2FzIG5vdCBhIHdpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBub3QgYSBsb3NzIGVpdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBhIHN0YWxlbWF0ZSBpbiB3aGljaCB0aGUgb3Bwb3Npbmcgc2lkZSBrbmV3IHRoZSBydWxlcyBhbmQgUnlhbgoJZGlkIG5vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIG5vdCBhIGZhaXIgZ2FtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBzdGlsbCBhIGdhbWUgUnlhbiBpbnRlbmRlZCB0byB1bmRlcnN0YW5kLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xlYXZlIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLSZndDtSeWFuIExlYXZlcyB0aGUgT2ZmaWNlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMDEiIG5hbWU9IlJ5YW4gTGVhdmVzIHRoZSBPZmZpY2UiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxNTI1LDQ0NTAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7c2tldGNoLW5vdGUgcnlhbi1ub3RlJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9yeWFuX2hpZGRlbl93YWxsX3NlYW0ucG5nJnF1b3Q7IGFsdD0mcXVvdDtSeWFuIHNrZXRjaCBub3RlJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2RpdiZndDsKCiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBQcmluY2lwYWwmIzM5O3MgRG9vciZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtMZWF2ZSB0aGUgb2ZmaWNlIGFuZCByZXR1cm4gdG8gdGhlIGhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKUnlhbiBzdG9vZCBhbmQgc2VjdXJlZCB0aGUgaGVsbWV0IG9uIGhpcyBoZWFkLiBUaGUgcGxhc3RpYyBzaGVsbCBzZXR0bGVkIGludG8gcGxhY2Ugd2l0aCBhIGZhbWlsaWFyIHByZXNzdXJlLiBCZXR0ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7Ck5vdCBzYWZlLiBCZXR0ZXIuIEhlIGxvb2tlZCBhdCBNci4gQW1hcmFsIG9uZSBsYXN0IHRpbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBjdXN0b2RpYW4gaGFkIHJldHVybmVkIHRvIHN0YXJpbmcgYXQgdGhlIGNhcnBldC4gSGlzIGJvb3RzIHJlbWFpbmVkIHByZXNzZWQgdG9nZXRoZXIsIGFuZCBoaXMgaGFuZHMgcmVzdGVkIHJpZ2lkbHkgYWdhaW5zdCBoaXMga25lZXMuIEEgdG9pbGV0IGZsdXNoZWQgc29tZXdoZXJlIGRvd24gdGhlIGhhbGwuIE1yLiBBbWFyYWwgZmxpbmNoZWQuIEhpcyBib290cyBzY3JhcGVkIGJhY2t3YXJkLCBhbmQgaGlzIGhhbmRzIHRpZ2h0ZW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKUnlhbiBtYWRlIGEgcHJpdmF0ZSBkZWNpc2lvbi4gSGUgd2FzIG5ldmVyIHVzaW5nIGEgcHVibGljIGJhdGhyb29tIGFnYWluLiBFdmVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGUgZGVjaXNpb24gcHJlc2VudGVkIHNldmVyYWwgcHJhY3RpY2FsIHByb2JsZW1zLiBUaG9zZSBjb3VsZCBiZSBhZGRyZXNzZWQgbGF0ZXIuIFJ5YW4gYXBwcm9hY2hlZCB0aGUgb2ZmaWNlIGRvb3J3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnJhc3MgdGhyZXNob2xkIHJlZmxlY3RlZCBhIHRoaW4gbGluZSBvZiBsaWdodCBmcm9tIHRoZSBkZXNrCglsYW1wLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJHJ5YW5UZXN0ZWREb29yQm91bmRhcnkmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIG1ldGFsIG5vIGxvbmdlciBmZWx0IHdhcm0gYmVuZWF0aCBSeWFuJiMzOTtzIHNob2UuIFRoZSBzZWNyZXRhcnkmIzM5O3MKCQlyaW5nIGJleW9uZCB0aGUgZG9vcndheSBoYWQgYWxzbyBnb25lIGRhcmsuCgkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHRocmVzaG9sZCBjb29sZWQgYmVmb3JlIFJ5YW4gbGVmdCB0aGUgb2ZmaWNlJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgdGhyZXNob2xkIGFuZCBzZWNyZXRhcnkmIzM5O3MgcmluZyBiZWNhbWUgaW5hY3RpdmUgYmVmb3JlIFJ5YW4gbGVmdCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJHJ5YW5FdmlkZW5jZS5pbmNsdWRlcygmcXVvdDtQcmluY2lwYWwgTWF0dGhld3MgdG9sZCBNci4gQW1hcmFsIHRoYXQgbm90aGluZyBmb2xsb3dlZCBoaW0gYWNyb3NzIHRoZSB0aHJlc2hvbGQmcXVvdDspJmd0OyZndDsKCSZsdDtwJmd0OwoJCVJ5YW4gcmVtZW1iZXJlZCBQcmluY2lwYWwgTWF0dGhld3MmIzM5O3Mgd29yZHMuCgkmbHQ7L3AmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CgkJTm90aGluZyBmb2xsb3dlZCB5b3UgdGhyb3VnaC4KCSZsdDsvZGl2Jmd0OwoJJmx0O3AmZ3Q7ClJ5YW4gbG9va2VkIGJlaGluZCBoaW0uIFRoZSBkYXJrIGNvcm5lcnMgcmVtYWluZWQgc3RpbGwuIFRoYXQgZGlkIG5vdCBtZWFuIHRoZXkgd2VyZSBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwpSeWFuIHN0ZXBwZWQgYWNyb3NzIHRoZSBicmFzcyBzdHJpcC4gVGhlIGZsdW9yZXNjZW50IGJ1enosIG1pbWVvZ3JhcGggcm9sbGVycywgc2hpZnRpbmcgcGFwZXJzLCBhbmQgbHVuY2gtYm94IGxhdGNoIHJldHVybmVkIGFsbCBhdCBvbmNlLiBCZWhpbmQgUnlhbiwgdGhlIG9mZmljZSBkb29yIG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpJdCBzdG9wcGVkIGJlZm9yZSBjbG9zaW5nLiBBIG5hcnJvdyBibGFjayBnYXAgcmVtYWluZWQuIEZyb20gaW5zaWRlIGNhbWUgb25lIHNvZnQgc2NyYXBlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpNci4gQW1hcmFsIHdoaXNwZXJlZCBzb21ldGhpbmcuIFJ5YW4gaGVhcmQgb25seSB0aGUgZmluYWwgd29yZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglBZ2Fpbi4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9mZmljZSBkb29yIGNsb3NlZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFtYXJhbCB3aGlzcGVyZWQgJiMzOTthZ2FpbiYjMzk7IGFzIFJ5YW4gbGVmdCB0aGUgb2ZmaWNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O01yLiBBbWFyYWwgaW1wbGllZCB0aGUgYmF0aHJvb20gaW5jaWRlbnQgaGFkIGhhcHBlbmVkIGJlZm9yZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RmluYWwgb2ZmaWNlIGRldGFpbDombHQ7L3N0cm9uZyZndDsgQXMgUnlhbiBjcm9zc2VkIHRoZSB0aHJlc2hvbGQsCglNci4gQW1hcmFsIHdoaXNwZXJlZCwg4oCcQWdhaW4u4oCdCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tGYWNlIHRoZSBzZWNyZXRhcnkgYWdhaW4tJmd0O1RoZSBTZWNyZXRhcnkgRmluYWwgV2FybmluZ11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTAyIiBuYW1lPSJUaGUgU2VjcmV0YXJ5IEZpbmFsIFdhcm5pbmciIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxNTI1LDQ1NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBNYWluIE9mZmljZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtVbmRlcnN0YW5kIHRoZSBzZWNyZXRhcnkmIzM5O3Mgd2FybmluZyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSBzYXQgYmVoaW5kIHRoZSBjb3VudGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIGhhbmRzIHdlcmUgZm9sZGVkIGV4YWN0bHkgYXMgdGhleSBoYWQgYmVlbiB3aGVuIFJ5YW4gYXJyaXZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBjaGFpciBvY2N1cGllZCB0aGUgc2FtZSBwb3NpdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdGFjayBvZiBmb3JtcyByZW1haW5lZCBwZXJmZWN0bHkgYWxpZ25lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGxvb2tlZCBhcyB0aG91Z2ggc2hlIGhhZCBuZXZlciBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd291bGQgaGF2ZSBiZWVuIGltcG9zc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSeWFuIGFkZGVkIGltcG9zc2libGUgdG8gdGhlIGdyb3dpbmcgbGlzdCBvZiB3b3JkcyB0aGF0IGhhZCBiZWNvbWUKCWxlc3MgdXNlZnVsIHRoYXQgbW9ybmluZy4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRyeWFuUmV0cmlldmVkQXBwbGUmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHN0dWRlbnQgc2F0IG9uIHRoZSBiZW5jaCB3aXRoIHRoZSByZXR1cm5lZCBhcHBsZSByZXN0aW5nCgkJYmVzaWRlIHRoZSBjbG9zZWQgbHVuY2ggYm94LgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGRhcmsgdGh1bWJwcmludCByZW1haW5lZCBvbiB0aGUgYXBwbGUmIzM5O3Mgc2tpbi4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJHJ5YW5FdmlkZW5jZS5pbmNsdWRlcygmcXVvdDtUaGUgYXBwbGUgbW92ZWQgYWZ0ZXIgaXQgYXBwZWFyZWQgdG8gc3RvcCZxdW90OykmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGFwcGxlIHdhcyBnb25lLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJUnlhbiBkaWQgbm90IGtub3cgd2hvIGhhZCByZW1vdmVkIGl0IGZyb20gYmVuZWF0aCB0aGUgc2VjcmV0YXJ5JiMzOTtzCgkJY2hhaXIuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7VGhlIG90aGVyIHN0dWRlbnQgc2FpZCAmIzM5O3NoZSBrZWVwcyB0aGluZ3MmIzM5OyBhZnRlciB0aGUgYXBwbGUgZGlzYXBwZWFyZWQmcXVvdDspJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBhcHBsZSB3YXMgc3RpbGwgbWlzc2luZyBiZW5lYXRoIHRoZSBjb3VudGVyLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHN0dWRlbnQgaGVsZCB0aGUgbHVuY2ggYm94IHRpZ2h0bHkgYWdhaW5zdCBib3RoIGtuZWVzLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGFwcGxlIHdhcyBnb25lLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJUnlhbiBjb3VsZCBub3QgZGV0ZXJtaW5lIHdoZXRoZXIgYW55b25lIGhhZCByZXRyaWV2ZWQgaXQuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGxvb2tlZCB1cC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmVlbiByaW5nIGNhdWdodCB0aGUgZmx1b3Jlc2NlbnQgbGlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtHb29kIGx1Y2sgdG9kYXksJnF1b3Q7IHNoZSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIHZvaWNlIHNvdW5kZWQgZ2VudGxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGtpbmQgb2Ygdm9pY2UgYW4gYWR1bHQgdXNlZCBiZWZvcmUgaGFuZGluZyBhIGNoaWxkIGEgY29va2llIG9yCglzZW5kaW5nIG9uZSBpbnRvIGEgcm9vbSB3aGVyZSBhIGN1c3RvZGlhbiBoYWQgd2hpc3BlcmVkIGFib3V0Cglzb21ldGhpbmcgYmVpbmcgZXZlcnl3aGVyZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gc2hlIHRpbHRlZCBoZXIgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FuZCByZW1lbWJlciwgb25seSBnbyB3aGVyZSB5b3UgYXJlIGFsbG93ZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd29yZHMgd2VyZSBzb2Z0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJ1bGUgaW5zaWRlIHRoZW0gd2FzIG5vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJ5YW4gbG9va2VkIHRvd2FyZCB0aGUgcHJpbmNpcGFsJiMzOTtzIGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnJhc3MgdGhyZXNob2xkIGZvcm1lZCBhIGJyaWdodCBsaW5lIGJlbmVhdGggaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcHVycGxlIGluayBzdGFpbiBzdGlsbCBzdG9wcGVkIG9uIHRoZSB3YWl0aW5nLXJvb20gc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdGhpbmcgY3Jvc3NlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB0aGUgaW5rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IHRoZSBzZWNyZXRhcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3Qgd2hhdGV2ZXIgUHJpbmNpcGFsIE1hdHRoZXdzIGJlbGlldmVkIHRoZSB0aHJlc2hvbGQgaGFkIGtlcHQgb3V0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyZWVuIHN0b25lIGZsYXNoZWQgb25jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gc29tZXdoZXJlIGJlbmVhdGggdGhlIGNvdW50ZXIgY2FtZSBhIGZhaW50IHNjcmF0Y2hpbmcgc291bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGRpZCBub3QgbG9vayBkb3duLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIFJ5YW4gcmVzcG9uZD8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBY2NlcHQgdGhlIHdhcm5pbmcgYW5kIGxlYXZlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BY2NlcHRlZFNlY3JldGFyeVdhcm5pbmcgPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgU2VjcmV0YXJ5IEZpbmFsIFdhcm5pbmc6MTpmZTVlNTU4OCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6VGhlIFNlY3JldGFyeSBGaW5hbCBXYXJuaW5nOjE6ZmU1ZTU1ODgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcnlhbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtPbmx5IGdvIHdoZXJlIHlvdSBhcmUgYWxsb3dlZCZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIEFjY2VwdHMgdGhlIEZpbmFsIFJ1bGUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoYXQgaGFwcGVucyB3aGVuIHNvbWVvbmUgYnJlYWtzIHRoZSBydWxlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BY2NlcHRlZFNlY3JldGFyeVdhcm5pbmcgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIFNlY3JldGFyeSBGaW5hbCBXYXJuaW5nOjI6NzcwN2ZhZjkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBTZWNyZXRhcnkgRmluYWwgV2FybmluZzoyOjc3MDdmYWY5JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIFF1ZXN0aW9ucyB0aGUgRmluYWwgUnVsZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2hldGhlciB0aGUgbG9hZGluZy1kb2NrIGRvb3Igd2FzIG9wZW5lZCBmb3IgaGltLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHJ5YW5BY2NlcHRlZFNlY3JldGFyeVdhcm5pbmcgPSBmYWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIFNlY3JldGFyeSBGaW5hbCBXYXJuaW5nOjM6MGUwMTY4M2MmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBTZWNyZXRhcnkgRmluYWwgV2FybmluZzozOjBlMDE2ODNjJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJ5YW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbiBBc2tzIEFib3V0IHRoZSBMb2FkaW5nIERvb3ImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UHJldGVuZCBub3QgdG8gaGVhciBhbmQgY29udGludWUgd2Fsa2luZy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRyeWFuQWNjZXB0ZWRTZWNyZXRhcnlXYXJuaW5nID0gZmFsc2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBTZWNyZXRhcnkgRmluYWwgV2FybmluZzo0OjQxZjI5MDlkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgU2VjcmV0YXJ5IEZpbmFsIFdhcm5pbmc6NDo0MWYyOTA5ZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQXBwcm9hY2guYXZvaWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtSeWFuIElnbm9yZXMgdGhlIEZpbmFsIFJ1bGUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTAzIiBuYW1lPSJSeWFuIFF1ZXN0aW9ucyB0aGUgRmluYWwgUnVsZSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjkwMCw0ODAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCSZxdW90O1doYXQgaGFwcGVucyBpZiBzb21lb25lIGdvZXMgd2hlcmUgdGhleSBhcmUgbm90IGFsbG93ZWQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2VjcmV0YXJ5IGxvb2tlZCB0b3dhcmQgdGhlIHByaW5jaXBhbCYjMzk7cyBkb29yd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VXN1YWxseSwgc29tZW9uZSBicmluZ3MgdGhlbSBiYWNrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VXN1YWxseT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBzbWlsZSByZW1haW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgd29yZCBtZWFucyB0aGVyZSBhcmUgZXhjZXB0aW9ucy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01vc3Qgd29yZHMgaGF2ZSBleGNlcHRpb25zLCBNci4gR3J1Ymxlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBwcm9ub3VuY2VkIGhpcyBuYW1lIGNvcnJlY3RseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgaGFwcGVucyBkdXJpbmcgdGhlIGV4Y2VwdGlvbnM/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBmbHVvcmVzY2VudCBsaWdodCBhYm92ZSB0aGUgY291bnRlciB3ZW50IGRhcmsuIFRoZSByZW1haW5pbmcgbGlnaHRzIGNvbnRpbnVlZCB0byBidXp6LiBUaGUgc2VjcmV0YXJ5JiMzOTtzIGZhY2UgcmVtYWluZWQgdmlzaWJsZSBpbiB0aGUgZ3JlZW4gcmVmbGVjdGlvbiBvZiBoZXIgcmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NvbWV0aW1lcywmcXVvdDsgc2hlIHNhaWQsICZxdW90O3RoZXJlIGlzIG5vdCBlbm91Z2ggbGVmdCB0byBicmluZyBiYWNrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGUgbGlnaHQgcmV0dXJuZWQuIFRoZSBzZWNyZXRhcnkgbG93ZXJlZCBoZXIgZXllcyB0byB0aGUgcGFwZXJ3b3JrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG8gbm90IGJlIGxhdGUgZm9yIGNsYXNzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIHJlbWFpbmVkIHN0aWxsLiBIZSBoYWQgYXNrZWQgd2hhdCBoYXBwZW5lZCB3aGVuIHNvbWVvbmUgYnJva2UgdGhlIHJ1bGUuIEhlIGhhZCByZWNlaXZlZCBhbiBhbnN3ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoYXQgd2FzIG5vdCB0aGUgc2FtZSBhcyByZWNlaXZpbmcgdXNlZnVsIGluZm9ybWF0aW9uLiBJdCB3YXMgY29uc2lkZXJhYmx5IHdvcnNlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtTb21lb25lIG1heSByZXRyaWV2ZSBwZW9wbGUgd2hvIGNyb3NzIGZvcmJpZGRlbiBib3VuZGFyaWVzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IHNhaWQgc29tZW9uZSB1c3VhbGx5IGJyaW5ncyBiYWNrIHRob3NlIHdobyBlbnRlciBmb3JiaWRkZW4gcGxhY2VzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2VjcmV0YXJ5IHNhaWQgc29tZXRpbWVzIHRoZXJlIGlzIG5vdCBlbm91Z2ggbGVmdCB0byBicmluZyBiYWNrJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgYWdhaW4gZGVtb25zdHJhdGVkIHRoYXQgc2hlIGtub3dzIFJ5YW4mIzM5O3MgY29ycmVjdCBuYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBbWJpZ3VvdXMgd2FybmluZzombHQ7L3N0cm9uZyZndDsgUGVvcGxlIHdobyBlbnRlciBmb3JiaWRkZW4gcGxhY2VzCglhcmUg4oCcdXN1YWxseeKAnSBicm91Z2h0IGJhY2ssIGJ1dCB0aGUgc2VjcmV0YXJ5IHN1Z2dlc3RlZCB0aGF0IHNvbWV0aW1lcwoJdGhlcmUgaXMgbm90IGVub3VnaCBsZWZ0IHRvIHJldHJpZXZlLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7ClRoZSBzY3JhdGNoaW5nIGJlbmVhdGggdGhlIGNvdW50ZXIgc3RvcHBlZC4gUnlhbiBkZWNpZGVkIHRoYXQgd2FzIGhpcyBzaWduYWwgdG8gbGVhdmUuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTGVhdmUgdGhlIG1haW4gb2ZmaWNlLSZndDtSeWFuIENoYXB0ZXIgU3VtbWFyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTA0IiBuYW1lPSJSeWFuIENoYXB0ZXIgU3VtbWFyeSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjkwMCw0OTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7ZGl2IGNsYXNzPSZxdW90O3NrZXRjaC1ub3RlIHJ5YW4tbm90ZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvcnlhbl9oZWxtZXRfc2FmZXR5LnBuZyZxdW90OyBhbHQ9JnF1b3Q7UnlhbiBza2V0Y2ggbm90ZSZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAkcnlhbkNoYXB0ZXJDb21wbGV0ZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogTWFpbiBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgU2Nvb3QgYW5kIHJlYWNoIGhvbWVyb29tJnF1b3Q7Jmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7Q2hhcHRlciBUd28gQ29tcGxldGUmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtSeWFuIEdydWJsZXImbHQ7L2gxJmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0O1doYXQgUnlhbiBLbm93cyZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7ClJ5YW4gbGVmdCB0aGUgbWFpbiBvZmZpY2Ugd2l0aG91dCByZWNlaXZpbmcgZGV0ZW50aW9uLiBUaGF0IGRpZCBub3QgcXVhbGlmeSBhcyBhIHZpY3RvcnkuIEl0IHF1YWxpZmllZCBhcyBzdXJ2aXZpbmcgdGhlIG9wZW5pbmcgbW92ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIGhhbGx3YXkgb3V0c2lkZSB0aGUgb2ZmaWNlIGhhZCBmaWxsZWQgd2l0aCBzdHVkZW50cy4gTG9ja2VycyBvcGVuZWQuIFNob2VzIHN0cnVjayB0aGUgdGlsZS4gVm9pY2VzIGJvdW5jZWQgYWdhaW5zdCB0aGUgY2VpbGluZy4gT3JkaW5hcnkgc2Nob29sIG5vaXNlIHN1cnJvdW5kZWQgaGltLiBSeWFuIGtlcHQgdGhlIGhlbG1ldCBvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvcmRpbmFyeSBub2lzZXMgZGlkIG5vdCBlcmFzZSB0aGUgcnVsZXMuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQgY2hhcHRlci1zdW1tYXJ5LWNsdWVzJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtSeWFuJiMzOTtzIGNvbmZpcm1lZCBkaXNjb3ZlcmllczombHQ7L3N0cm9uZyZndDsKCSZsdDt1bCZndDsKCQkmbHQ7bGkmZ3Q7U29tZXRoaW5nIGhhcHBlbmVkIGluIHRoZSBib3lzJiMzOTsgYmF0aHJvb20gYWZ0ZXIgUnlhbiBsZWZ0LiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O01yLiBBbWFyYWwgYXBwZWFyZWQgZGVlcGx5IGZyaWdodGVuZWQgYnkgd2hhdCBoZSBkaXNjb3ZlcmVkLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O01yLiBBbWFyYWwgZGVzY3JpYmVkIGl0IG9ubHkgYXMg4oCcZXZlcnl3aGVyZS7igJ0mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtQcmluY2lwYWwgTWF0dGhld3MgZGlkIG5vdCBrbm93IHdobyBvciB3aGF0IGNhdXNlZCBpdC4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtUaGUgbG9hZGluZy1kb2NrIGVudHJhbmNlIGhhZCBiZWVuIHNlY3VyZWQgYmVmb3JlIHNvbWVvbmUgb3BlbmVkIGl0LiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RoZSBzZWNyZXRhcnkgd2FybmVkIFJ5YW4gdG8gZ28gb25seSB3aGVyZSBoZSB3YXMgYWxsb3dlZC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7aWYgJHJ5YW5Ob3RpY2VkR3JlZW5SaW5nJmd0OyZndDsKCQkJJmx0O2xpJmd0O1RoZSBzZWNyZXRhcnkgd2VhcnMgYSBsYXJnZSBzaWx2ZXIgcmluZyB3aXRoIGEgZ3JlZW4gc3RvbmUuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiAkcnlhbk5vdGljZWREb29yQm91bmRhcnkmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIHNlY3JldGFyeSBzdG9wcGVkIGF0IHRoZSBwcmluY2lwYWwmIzM5O3MgZG9vcndheSB0aHJlc2hvbGQuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiAkcnlhblRlc3RlZERvb3JCb3VuZGFyeSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgdGhyZXNob2xkIHdhcm1lZCBhbmQgdGhlIHdhaXRpbmcgYXJlYSBmZWxsIHNpbGVudCB3aGVuIFJ5YW4gdG91Y2hlZCBpdC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRyeWFuUmV0cmlldmVkQXBwbGUmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7QSBjYXJ2ZWQgbGluZSBiZW5lYXRoIHRoZSBjb3VudGVyIHJ1bnMgdG93YXJkIHRoZSBicmFzcyB0aHJlc2hvbGQuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiAkcnlhbkFza2VkQWJvdXRBbWFyYWwmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7TXIuIEFtYXJhbCYjMzk7cyBib290cyB3ZXJlIHdldCwgYW5kIGhpcyBjbG90aGVzIHNtZWxsZWQgb2YgZGFtcCBlYXJ0aC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7TXIuIEFtYXJhbCB3YXJuZWQgUnlhbiBub3QgdG8gcmVtb3ZlIGhpcyBoZWxtZXQmcXVvdDspJmd0OyZndDsKCQkJJmx0O2xpJmd0O01yLiBBbWFyYWwgd2FybmVkIFJ5YW4gbm90IHRvIHJlbW92ZSBoaXMgaGVsbWV0LiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgJHJ5YW5FdmlkZW5jZS5pbmNsdWRlcygmcXVvdDtQcmluY2lwYWwgTWF0dGhld3MgdG9sZCBNci4gQW1hcmFsIHRoYXQgbm90aGluZyBmb2xsb3dlZCBoaW0gYWNyb3NzIHRoZSB0aHJlc2hvbGQmcXVvdDspJmd0OyZndDsKCQkJJmx0O2xpJmd0O1ByaW5jaXBhbCBNYXR0aGV3cyBpbXBsaWVkIHRoYXQgdGhlIHRocmVzaG9sZCBwcmV2ZW50cyBzb21ldGhpbmcgZnJvbSBmb2xsb3dpbmcuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiAkcnlhbkV2aWRlbmNlLmluY2x1ZGVzKCZxdW90O1R3byBmb290LXNoYXBlZCBpbXByZXNzaW9ucyBhcHBlYXJlZCBpbiB0aGUgZW1wdHkgY2FycGV0JnF1b3Q7KSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUd28gdW5zZWVuIGZvb3RwcmludHMgcHJlc3NlZCBpbnRvIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlIGNhcnBldC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7VGhlIHNlY3JldGFyeSBzYWlkIHNvbWV0aW1lcyB0aGVyZSBpcyBub3QgZW5vdWdoIGxlZnQgdG8gYnJpbmcgYmFjayZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIHNlY3JldGFyeSBpbXBsaWVkIHNvbWUgcGVvcGxlIHdobyBjcm9zcyBmb3JiaWRkZW4gYm91bmRhcmllcyBjYW5ub3QgYmUgZnVsbHkgYnJvdWdodCBiYWNrLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgJHJ5YW5FdmlkZW5jZS5pbmNsdWRlcygmcXVvdDtUaGUgd29vZGVuIGRvb3JzdG9wIGNhbWUgZnJvbSBvdXRzaWRlIHRoZSBzY2hvb2wmcXVvdDspJmd0OyZndDsKCQkJJmx0O2xpJmd0O1RoZSB3b29kZW4gYmxvY2sgaG9sZGluZyB0aGUgbG9hZGluZy1kb2NrIGRvb3Igb3BlbiBjYW1lIGZyb20gb3V0c2lkZS4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7UnlhbiBicmllZmx5IHNhdyBhbm90aGVyIGRhcmsgZG9vcndheSB3aXRoIGEgYnJhc3MgdGhyZXNob2xkJnF1b3Q7KSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtSeWFuIG1heSBoYXZlIHNlZW4gYW5vdGhlciByZXN0cmljdGVkIGRvb3J3YXkgaW5zaWRlIHRoZSBzY2hvb2wuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtpZiAkcnlhbkV2aWRlbmNlLmluY2x1ZGVzKCZxdW90O01yLiBBbWFyYWwgd2hpc3BlcmVkICYjMzk7YWdhaW4mIzM5OyBhcyBSeWFuIGxlZnQgdGhlIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwoJCSZsdDtsaSZndDtNci4gQW1hcmFsIGltcGxpZWQgdGhhdCB0aGUgYmF0aHJvb20gaW5jaWRlbnQgbWF5IGhhdmUgaGFwcGVuZWQgYmVmb3JlLiZsdDsvbGkmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCSZsdDsvdWwmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3N0YXR1cy1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtUaHJlYXRzIGlkZW50aWZpZWQ6Jmx0Oy9zdHJvbmcmZ3Q7ICRyeWFuVGhyZWF0cy5sZW5ndGgKJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7c3RhdHVzLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J1bGVzIGlkZW50aWZpZWQ6Jmx0Oy9zdHJvbmcmZ3Q7ICRyeWFuUnVsZXMubGVuZ3RoCiZsdDsvZGl2Jmd0OwombHQ7Jmx0O2lmICRyeWFuRXZpZGVuY2UubGVuZ3RoICZndDs9IDEyJmd0OyZndDsKCSZsdDtwJmd0OwpSeWFuIGhhZCBjb2xsZWN0ZWQgZW5vdWdoIHNlcGFyYXRlIG9ic2VydmF0aW9ucyB0byBmb3JtIGEgd29ya2luZyB0aGVvcnkuIFRoZSBiYXRocm9vbSBpbmNpZGVudCwgbG9hZGluZy1kb2NrIGVudHJhbmNlLCBzZWNyZXRhcnkmIzM5O3MgcmluZywgYW5kIHByaW5jaXBhbCYjMzk7cyB0aHJlc2hvbGQgd2VyZSBjb25uZWN0ZWQgYnkgcnVsZXMgb2YgZW50cnkgYW5kIHBlcm1pc3Npb24uIFRoZSB0aGVvcnkgZGlkIG5vdCBleHBsYWluIHdoYXQgaGFkIGVudGVyZWQuCiZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUl0IGV4cGxhaW5lZCB3aHkgdGhlIGFkdWx0cyB3ZXJlIGFmcmFpZCBpdCBtaWdodCBsZWF2ZS4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJHJ5YW5FdmlkZW5jZS5sZW5ndGggJmd0Oz0gNyZndDsmZ3Q7CgkmbHQ7cCZndDsKUnlhbiBoYWQgc2V2ZXJhbCB1c2VmdWwgb2JzZXJ2YXRpb25zIGJ1dCBubyBleHBsYW5hdGlvbiB0aGF0IGNvbm5lY3RlZCBhbGwgb2YgdGhlbS4gVGhlIGRvb3J3YXksIHJpbmcsIGxvYWRpbmcgZW50cmFuY2UsIGFuZCBNci4gQW1hcmFsJiMzOTtzIGNvbmRpdGlvbiBiZWxvbmdlZCB0byB0aGUgc2FtZSBib2FyZC4gUnlhbiBzaW1wbHkgY291bGQgbm90IHNlZSB0aGUgZW50aXJlIGJvYXJkIHlldC4KJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7ClJ5YW4ga25ldyBzb21ldGhpbmcgdW51c3VhbCBoYWQgaGFwcGVuZWQgaW4gdGhlIGJhdGhyb29tLCBidXQgbW9zdCBvZiB0aGUgZGV0YWlscyByZW1haW5lZCBiZXlvbmQgaGlzIHJlYWNoLiBIZSBoYWQgZmV3ZXIgY2x1ZXMuIFRoYXQgZGlkIG5vdCBtZWFuIGZld2VyIHRocmVhdHMuCiZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKUnlhbiBuZWVkZWQgdG8gZmluZCBTY29vdC4gU2Nvb3Qgd291bGQgd2FudCB0byBrbm93IHdoeSBSeWFuIGhhZCBiZWVuIHN1bW1vbmVkLiBUaGUgZGlmZmljdWx0IHBhcnQgd291bGQgYmUgZGVjaWRpbmcgd2hpY2ggdmVyc2lvbiB0byB0ZWxsIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHRydWUgdmVyc2lvbiBpbnZvbHZlZCBhbiBpbXBvc3NpYmxlIGRvb3J3YXksIGEgZnJpZ2h0ZW5lZCBjdXN0b2RpYW4sIGEgZ3JlZW4gcmluZywgYW4gdW5leHBsYWluZWQgYmF0aHJvb20gZGlzYXN0ZXIsIGFuZCBhIHdvcmQgdGhhdCBzaG91bGQgbmV2ZXIgZGVzY3JpYmUgYW55dGhpbmcgaW4gYSBiYXRocm9vbS4gRXZlcnl3aGVyZS4gUnlhbiBhZGp1c3RlZCBoaXMgaGVsbWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpGcm9tIGluc2lkZSB0aGUgbmVhcmVzdCB3YWxsIGNhbWUgdGhyZWUgZXZlbmx5IHNwYWNlZCBrbm9ja3MuIE5vIG9uZSBlbHNlIGluIHRoZSBoYWxsd2F5IHJlYWN0ZWQuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1J5YW4gaGVhcmQgdGhyZWUga25vY2tzIGluc2lkZSB0aGUgaGFsbHdheSB3YWxsIGFmdGVyIGxlYXZpbmcgdGhlIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSBteXN0ZXJ5IG1heSBleHRlbmQgYmV5b25kIHRoZSBvZmZpY2UgYm91bmRhcnkmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgdG8gQ2hhcHRlciBUaHJlZS0mZ3Q7Q2hhcHRlciAzIFRyYW5zaXRpb25dXQombHQ7L2RpdiZndDsKCiZsdDsmbHQ7c2V0ICRyeWFuQWJpbGl0eSA9ICZxdW90O0JvdW5kYXJ5U2Vuc2UmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7QWJpbGl0eSB1bmxvY2tlZDogQm91bmRhcnkgU2Vuc2UuJmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gY2FuIHJlY29nbml6ZSBzdXBlcm5hdHVyYWwgdGhyZXNob2xkcyBhbmQgcGVybWlzc2lvbiBydWxlcy4mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEwNSIgbmFtZT0iUnlhbiBBc2tzIEFib3V0IHRoZSBMb2FkaW5nIERvb3IiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxMDI1LDQ4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OwoJJnF1b3Q7V2FzIHRoZSBsb2FkaW5nLWRvY2sgZG9vciBvcGVuZWQgZm9yIG1lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSBzdG9wcGVkIHNvcnRpbmcgaGVyIHBhcGVyd29yay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlbiB3aG8gcHJvcHBlZCBpdCBvcGVuPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8gb25lIHdobyB3YXMgcGVybWl0dGVkIHRvIGRvIHNvLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2FzIGl0IE1yLiBBbWFyYWw/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBncmVlbiBzdG9uZSBzaGlmdGVkIGFnYWluc3QgdGhlIHBhcGVyLiBUaGUgc2VjcmV0YXJ5IGxvb2tlZCB0b3dhcmQgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNci4gQW1hcmFsIGNsb3NlZCB0aGUgZG9vciBsYXN0IG5pZ2h0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SG93IGRvIHlvdSBrbm93PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SGUgd2FzIGluc3RydWN0ZWQgdG8gY2xvc2UgaXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGRvZXMgbm90IHByb3ZlIGhlIGRpZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgbG9va2VkIGJhY2sgYXQgUnlhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZXJlIGFyZSBlYXNpZXIgY2hpbGRyZW4gdG8gc3BlYWsgd2l0aC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kmIzM5O3ZlIGJlZW4gdG9sZCB0aGF0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RnJlcXVlbnRseSwgSSBpbWFnaW5lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBhY2NlcHRlZCB0aGF0IGFzIGEgcG9pbnQgZm9yIHRoZSBvcHBvc2luZyBzaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2FzIHRoZSB3b29kZW4gYmxvY2sgYWxyZWFkeSBpbnNpZGUgdGhlIHNjaG9vbD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHNlY3JldGFyeSYjMzk7cyBleHByZXNzaW9uIGNoYW5nZWQuIE9ubHkgc2xpZ2h0bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gd2hvZXZlciBvcGVuZWQgdGhlIGRvb3IgYnJvdWdodCBpdCB3aXRoIHRoZW0uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmx1b3Jlc2NlbnQgbGlnaHQgYWJvdmUgdGhlIHByaW5jaXBhbCYjMzk7cyBkb29yd2F5IGZsaWNrZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O09yIGZvdW5kIGl0IGFmdGVyIGVudGVyaW5nLCZxdW90OyB0aGUgc2VjcmV0YXJ5IHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClJ5YW4gY29uc2lkZXJlZCB0aGUgb3JkZXIuIFRvIHByb3Agb3BlbiB0aGUgZG9vciBmcm9tIGluc2lkZSwgc29tZW9uZSBmaXJzdCBoYWQgdG8gZW50ZXIgYSBzZWN1cmVkIGJ1aWxkaW5nLiBVbmxlc3MgdGhlIGRvb3IgaGFkIG9wZW5lZCBmb3IgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dhcyBhbnl0aGluZyBlbHNlIGZvdW5kIG5lYXIgdGhlIGVudHJhbmNlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSByZXN1bWVkIHNvcnRpbmcgcGFwZXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHNob3VsZCBnbyB0byBjbGFzcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBub3QgYW4gYW5zd2VyLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgbG9hZGluZy1kb2NrIGRvb3Igd2FzIHByb3BwZWQgb3BlbiB3aXRob3V0IHBlcm1pc3Npb24mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHJ5YW5FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSB3b29kZW4gZG9vcnN0b3AgY2FtZSBmcm9tIG91dHNpZGUgdGhlIHNjaG9vbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLlJ5YW4ucHVzaFVuaXF1ZSgmcXVvdDtNci4gQW1hcmFsIHJlcG9ydGVkbHkgY2xvc2VkIHRoZSBsb2FkaW5nLWRvY2sgZG9vciB0aGUgcHJldmlvdXMgbmlnaHQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5SeWFuLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSB3b3VsZCBub3QgaWRlbnRpZnkgd2hvIG9wZW5lZCB0aGUgbG9hZGluZy1kb2NrIGRvb3ImcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0V2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBNci4gQW1hcmFsIHJlcG9ydGVkbHkgc2VjdXJlZCB0aGUgZG9vciwgYW5kCgl0aGUgd29vZGVuIGJsb2NrIGhvbGRpbmcgaXQgb3BlbiBjYW1lIGZyb20gb3V0c2lkZSB0aGUgc2Nob29sLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7ClJ5YW4gdHVybmVkIHRvd2FyZCB0aGUgaGFsbHdheS4gQmVoaW5kIGhpbSwgdGhlIHNlY3JldGFyeSBhZGRlZCBvbmUgZmluYWwgc3RhdGVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgd2FzIHdhaXRpbmcgYmVzaWRlIHRoZSBkb29yLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBsb29rZWQgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBibG9jaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNyZXRhcnkgZGlkIG5vdCBhbnN3ZXIuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTGVhdmUgdGhlIG1haW4gb2ZmaWNlLSZndDtSeWFuIENoYXB0ZXIgU3VtbWFyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTA2IiBuYW1lPSJDaGFwdGVyIDMgVHJhbnNpdGlvbiIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjkwMCw1MDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2hhcHRlciA9IDMmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcG92ID0gJnF1b3Q7S2V2aW4mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtPdXRzaWRlIHRoZSBXaW5jaGVzdGVyIEhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1dhbGsgQWJiaWUgdG8gc2Nob29sIGFuZCByZWFjaCBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkJnF1b3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0VwaXNvZGUgT25lJmx0Oy9kaXYmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItbnVtYmVyJnF1b3Q7Jmd0O0NoYXB0ZXIgVGhyZWUmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtLZXZpbiBXaW5jaGVzdGVyJmx0Oy9oMSZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtKdXN0IE15IEJyYWluIERvaW5nIHRoZSBUaGluZyBJdCBEb2VzJmx0Oy9kaXYmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItb2JqZWN0aXZlJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7SW1tZWRpYXRlIG9iamVjdGl2ZTombHQ7L3N0cm9uZyZndDsKCQkmbHQ7c3BhbiZndDtXYWxrIEFiYmllIHRvIGVsZW1lbnRhcnkgc2Nob29sIHdpdGhvdXQgYXR0cmFjdGluZyBhdHRlbnRpb24sIHRoZW4gcmVhY2ggdGhlIG1pZGRsZSBzY2hvb2wgYmVmb3JlIEtldmluJiMzOTtzIGZpcnN0IGNsYXNzLiZsdDsvc3BhbiZndDsKCSZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtwb3Ytbm90aWNlJnF1b3Q7Jmd0OwoJWW91IGFyZSBub3cgcGxheWluZyBhcyAmbHQ7c3Ryb25nJmd0O0tldmluJmx0Oy9zdHJvbmcmZ3Q7LiBLZXZpbiBkb2VzIG5vdCBrbm93Cgl3aGF0IGhhcHBlbmVkIGluc2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4gUnlhbiBkb2VzIG5vdCBrbm93IHdoYXQKCWhhcHBlbmVkIGluc2lkZSB0aGUgV2luY2hlc3RlciBob3VzZS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJV2hpbGUgUnlhbiBHcnVibGVyIHdhcyBsZWFybmluZyB0aGF0IHNvbWUgc2Nob29sIHJ1bGVzIHNvdW5kZWQgb2xkZXIKCXRoYW4gdGhlIHNjaG9vbCBpdHNlbGYsIEtldmluIFdpbmNoZXN0ZXIgd2FzIHRyeWluZyB0byBwdXQgZGlzdGFuY2UKCWJldHdlZW4gaGltc2VsZiBhbmQgdGhlIHdldCBmb290cHJpbnQgaW4gaGlzIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUd28gbXlzdGVyaWVzIGhhZCBiZWd1biB0aGF0IG1vcm5pbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOZWl0aGVyIGJveSBrbmV3IHRoZSBvdGhlciBoYWQgYWxyZWFkeSBzdGVwcGVkIGludG8gb25lLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0dldCBLZXZpbiBhbmQgQWJiaWUgb3V0IG9mIHRoZSBob3VzZS0mZ3Q7S2V2aW4gTGVhdmVzIHRoZSBIb3VzZV1dCiZsdDsvZGl2Jmd0OwoKLyogVjQuMyBib3VuZGFyeSBjaGVja3BvaW50IGNoYXB0ZXIgMyAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDNDYXB0dXJlQm91bmRhcnkoMywgJnF1b3Q7Q2hhcHRlciAzIFRyYW5zaXRpb24mcXVvdDssIDEpJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAudjQ0Q2FwdHVyZUNoYXB0ZXIoMywgJnF1b3Q7Q2hhcHRlciAzIFRyYW5zaXRpb24mcXVvdDssIDEpJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMDciIG5hbWU9IktldmluIEFjY2VwdHMgdGhlIE1vcm5pbmcgUGxhbiIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjEwMCwxMTUwIiBzaXplPSIxMDAsMTAwIj4vKiBCNS4xIGNvbnNlcXVlbmNlIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtub3RlUmVzcG9uc2UmcXVvdDssICZxdW90O2FjY2VwdCZxdW90OywgJnF1b3Q7S2V2aW4gcHJlc2VydmVzIGNhbG0gYW5kIGdhaW5zIHRpbWUgdG8gcHJlcGFyZS4mcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtPa2F5LCZxdW90OyBLZXZpbiBzYWlkLiAmcXVvdDtJIHdhbGsgeW91IHRvIHNjaG9vbC4gTW9tIHBpY2tzIHlvdSB1cC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIG5vZGRlZC4gJnF1b3Q7VGhhdCBpcyB3aGF0IHRoZSBub3RlIHNhaWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIHdhcyBzdW1tYXJpemluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBtYWRlIGl0IHNob3J0ZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGlzIHdoYXQgc3VtbWFyaXppbmcgbWVhbnMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGxpa2VkIE1vbSYjMzk7cyB2ZXJzaW9uIGJldHRlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHNsaXBwZWQgdGhlIG5vdGUgaW50byBoaXMgYmFja3BhY2suIFdhbGtpbmcgQWJiaWUgdG8gc2Nob29sCgl3b3VsZCBkaXNydXB0IHRoZSBwbGFuLCBidXQgcGxhbnMgY291bGQgYmUgcmV2aXNlZC4gVGhhdCB3YXMgdGhlCglkaWZmZXJlbmNlIGJldHdlZW4gYSBwbGFuIGFuZCBhIGRpc2FzdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQXQgbGVhc3QsIEtldmluIGhvcGVkIHRoZXJlIHdhcyBhIGRpZmZlcmVuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBtZW50YWxseSByZWFycmFuZ2VkIHRoZSBtb3JuaW5nOiBlbGVtZW50YXJ5IHNjaG9vbCwgbWlkZGxlIHNjaG9vbCwKCWhvbWVyb29tLCBsb2NrZXIsIGJhdGhyb29tLCBjYWZldGVyaWEuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbG9ja2VyIHJlbWFpbmVkIHRoZSBwcm9ibGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG15c3RlcmlvdXMgaGFsbHdheSBmaWd1cmUgaGFkIHNvbWVob3cgbW92ZWQgaW50byBzZWNvbmQgcGxhY2UuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJR2hvc3RzIHdlcmUgYmFkLiZsdDticiZndDsKCUVudGVyaW5nIGhvbWVyb29tIGxhdGUgbWlnaHQgYmUgd29yc2UuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDaGVjayB0aGUgdGltZS0mZ3Q7S2V2aW4gQ2hlY2tzIEhpcyBXYXRjaF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTA4IiBuYW1lPSJLZXZpbiBUcmllcyB0byBIdXJyeSBBYmJpZSIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSIyMjUsMTIwMCIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMSBjb25zZXF1ZW5jZSBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7bm90ZVJlc3BvbnNlJnF1b3Q7LCAmcXVvdDtodXJyeSZxdW90OywgJnF1b3Q7S2V2aW4gYWN0cyBmYXN0ZXIsIGJ1dCBBYmJpZSBiZWNvbWVzIGxlc3MgY29vcGVyYXRpdmUuJnF1b3Q7KSZndDsmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UgbmVlZCB0byBsZWF2ZSBub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgdG93YXJkIHRoZSBjZXJlYWwgY3VwYm9hcmQuICZxdW90O0kgZGlkbiYjMzk7dCBlYXQgYnJlYWtmYXN0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGNhbiBlYXQgZmFzdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01vbSBzYXlzIGVhdGluZyBmYXN0IGdpdmVzIHlvdSB0aGUgaGljY3Vwcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gaGljY3VwIHdoaWxlIHdhbGtpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdGFyZWQgYXQgaGltIGFzIHRob3VnaCBoZSBoYWQgc3VnZ2VzdGVkIGNhcnJ5aW5nIHRoZSBraXRjaGVuCgl0YWJsZSB0byBzY2hvb2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgY2FuJiMzOTt0IGVhdCBjZXJlYWwgd2hpbGUgd2Fsa2luZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBjb3VsZCBlYXQgc29tZXRoaW5nIGVsc2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtDZXJlYWwgaXMgd2hhdCBteSBzdG9tYWNoIHBpY2tlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGdsYW5jZWQgdG93YXJkIHRoZSBoYWxsd2F5LiBJdCByZW1haW5lZCBxdWlldCwgd2FybSwgYW5kCglpbm5vY2VudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIGJlY29taW5nIG9uZSBvZiB0aGUgaG91c2UmIzM5O3MgbGVzcyBjb252aW5jaW5nIHBlcmZvcm1hbmNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0ZpbmUsJnF1b3Q7IGhlIHNhaWQuICZxdW90O0J1dCBmYXN0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc21pbGVkLiAmcXVvdDtGYXN0IGNlcmVhbC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBzYWlkIGl0IGxpa2UgYSBuZXcgc3BvcnQgaGFkIGp1c3QgYmVlbiBpbnZlbnRlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDaGVjayBob3cgbGF0ZSB0aGV5IGFyZS0mZ3Q7S2V2aW4gQ2hlY2tzIEhpcyBXYXRjaF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTA5IiBuYW1lPSJLZXZpbiBBc2tzIEFib3V0IHRoZSBOb3RlIERhdGUiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSI1MCwxMzAwIiBzaXplPSIxMDAsMTAwIj4vKiBCNS4xIGNvbnNlcXVlbmNlIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtub3RlUmVzcG9uc2UmcXVvdDssICZxdW90O2RhdGUmcXVvdDssICZxdW90O0tldmluIHByZXNlcnZlcyB0aGUgZGF0ZSBhcyBldmlkZW5jZSBmb3IgYSBsYXRlciBoaXN0b3JpY2FsIGNvbXBhcmlzb24uJnF1b3Q7KSZndDsmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHRoZSBkYXRlIGxvb2sgc3RyYW5nZSB0byB5b3U/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB0b29rIHRoZSBub3RlIGJhY2sgYW5kIGhlbGQgaXQgdXBzaWRlIGRvd24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1R1cm4gaXQgYXJvdW5kLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHJvdGF0ZWQgdGhlIHBhcGVyLiAmcXVvdDtTdGlsbCBuby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBlaWdodCBjaGFuZ2VkIGZvciBhIHNlY29uZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0NoYW5nZWQgaW50byB3aGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VHdvIGxpbmVzLiBMaWtlIHRoZSBSb21hbiBudW1lcmFsIHR3by4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGV4YW1pbmVkIHRoZSBkYXRlIG1vcmUgY2xvc2VseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01heWJlIHRoZSBlaWdodCBnb3QgdGlyZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOdW1iZXJzIGRvbiYjMzk7dCBnZXQgdGlyZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNYXliZSB0aGF0IG9uZSBkb2VzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdG9vayB0aGUgbm90ZSBmcm9tIGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBlaWdodCB3YXMgc3RpbGwgYW4gZWlnaHQuIEJsdWUgaW5rLiBUd28gY2lyY2xlcy4gTm90aGluZyB1bnVzdWFsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBBYmJpZSBwb2ludGVkIHRvd2FyZCB0aGUgYm90dG9tIG9mIHRoZSBwYWdlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TW9tIGZvcmdvdCBzb21ldGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2hlIGRpZG4mIzM5O3QgcHV0IGFueSBraXNzZXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjaGVja2VkLiBNb20gdXN1YWxseSBlbmRlZCBub3RlcyB3aXRoIHRocmVlIHNtYWxsIFggbWFya3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGlzIG9uZSBlbmRlZCBhZnRlciBoZXIgbmFtZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgZGlkIG5vdCBtZWFuIGFueXRoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIGEgcnVzaGVkIG5vdGUgd3JpdHRlbiBiZWZvcmUgYSBqb2IgaW50ZXJ2aWV3LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9sZGVkIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gaW5zaWRlIHRoZSBmb2xkIGNhbWUgdGhyZWUgZmFpbnQgdGFwcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIG5lYXJseSBkcm9wcGVkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgaGFkIGFscmVhZHkgdHVybmVkIHRvd2FyZCB0aGUgY2VyZWFsIGN1cGJvYXJkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZGF0ZSBvbiBNb20mIzM5O3Mgbm90ZSBicmllZmx5IHJlc2VtYmxlZCBJSSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7TW9tJiMzOTtzIG5vdGUgd2FzIG1pc3NpbmcgaGVyIHVzdWFsIHRocmVlIFggbWFya3MmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1VuY2VydGFpbiBkZXRhaWw6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIHRob3VnaHQgdGhlIGZpbmFsIGRpZ2l0IGluCgkxOTc4IGJyaWVmbHkgY2hhbmdlZCBpbnRvIElJLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ2hlY2sgdGhlIHRpbWUtJmd0O0tldmluIENoZWNrcyBIaXMgV2F0Y2hdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjExMCIgbmFtZT0iS2V2aW4gSm9rZXMgQWJvdXQgdGhlIFBsYW4iIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIyNTAsMTMyNSIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMSBjb25zZXF1ZW5jZSBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7bm90ZVJlc3BvbnNlJnF1b3Q7LCAmcXVvdDtqb2tlJnF1b3Q7LCAmcXVvdDtIdW1vciBzdGVhZGllcyBBYmJpZSBidXQgZGVsYXlzIGZvY3VzZWQgZXhhbWluYXRpb24uJnF1b3Q7KSZndDsmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2VsbCwgdGhhdCYjMzk7cyBpdCwmcXVvdDsgS2V2aW4gc2FpZC4gJnF1b3Q7TXkgbGlmZSBpcyBydWluZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSYjMzk7cyBleWVzIHdpZGVuZWQuICZxdW90O0JlY2F1c2UgeW91IGhhdmUgdG8gd2FsayB3aXRoIG1lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Q29tcGxldGVseSBydWluZWQuIEkmIzM5O2xsIHByb2JhYmx5IGhhdmUgdG8gbW92ZSBhZ2Fpbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dlIGp1c3QgbW92ZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtFeGFjdGx5LiBOb3cgd2Uga25vdyBob3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBjb25zaWRlcmVkIHRoaXMgbG9uZ2VyIHRoYW4gS2V2aW4gZXhwZWN0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgY2FuJiMzOTt0IG1vdmUgd2l0aG91dCB1cy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kmIzM5O2xsIHNlbmQgcG9zdGNhcmRzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSYjMzk7bGwgdGVsbCBNb20uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzbWlsZWQgZGVzcGl0ZSBoaW1zZWxmLiAmcXVvdDtJdCB3YXMgYSBqb2tlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcG9pbnRlZCBhdCBoaW0uICZxdW90O0JhZCBqb2tlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RmFpci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBzZXZlcmFsIHNlY29uZHMsIHRoZSBraXRjaGVuIGZlbHQgbm9ybWFsIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgbGFtcCBpbiB0aGUgaGFsbHdheSBjbGlja2VkIG9mZi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5laXRoZXIgS2V2aW4gbm9yIEFiYmllIGhhZCB0b3VjaGVkIHRoZSBzd2l0Y2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgdG93YXJkIGl0LiAmcXVvdDtZb3VyIGpva2UgbWFkZSBpdCBzYWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiYjMzk7cyBzbWlsZSBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FwcGFyZW50bHksIGV2ZXJ5b25lIGlzIGEgY3JpdGljLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtUaGUgaGFsbHdheSBsYW1wIHN3aXRjaGVkIG9mZiBkdXJpbmcgS2V2aW4mIzM5O3Mgam9rZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDaGVjayBob3cgbXVjaCB0aW1lIHJlbWFpbnMtJmd0O0tldmluIENoZWNrcyBIaXMgV2F0Y2hdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjExMSIgbmFtZT0iS2V2aW4gQ2hlY2tzIEhpcyBXYXRjaCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjEwMCwxNTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIGhvdyBsYXRlIEtldmluIGFuZCBBYmJpZSBhcmUmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHJhaXNlZCBoaXMgd3Jpc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGlnaXRhbCBkaXNwbGF5IHdhcyBibGFuay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBkaW0uIE5vdCBmbGFzaGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJsYW5rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcHJlc3NlZCB0aGUgdG9wIGJ1dHRvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBwcmVzc2VkIGl0IGFnYWluLCBoYXJkZXIsIGJlY2F1c2UgZWxlY3Ryb25pY3Mgc29tZXRpbWVzIHJlc3BvbmRlZAoJdG8gcGVyc2lzdGVuY2UgYW5kIHNvbWV0aW1lcyB0byB0aHJlYXRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3RpbGwgbm90aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3YXRjaCBoYWQgd29ya2VkIHdoZW4gS2V2aW4gd29rZSB1cC4gSGUgcmVtZW1iZXJlZCBjaGVja2luZyBpdAoJYmVmb3JlIGdldHRpbmcgZHJlc3NlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGhhZCBjaGVja2VkIGl0IGFnYWluIGFmdGVyIHBhY2tpbmcgaGlzIG5vdGVib29rcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGhhZCBwcm9iYWJseSBjaGVja2VkIGl0IHNpeCBhZGRpdGlvbmFsIHRpbWVzIGZvciBubyB1c2VmdWwgcmVhc29uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCB3YXMgd2hhdCB3YXRjaGVzIHdlcmUgZm9yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBwcm92aWRlZCBzbWFsbCwgcHJlY2lzZSBudW1iZXJzIHdpdGggd2hpY2ggYSBwZXJzb24gY291bGQgbWVhc3VyZQoJaG93IHF1aWNrbHkgZXZlcnl0aGluZyB3YXMgZ29pbmcgd3JvbmcuCiZsdDsvcCZndDsKJmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LXAyIHN0YW5kYXJkIGJhdGNoMyB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDt3YXRjaF85MTRfbWlkJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfd2F0Y2hfOTE0X21pZC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7cCZndDsKCUtldmluIHByZXNzZWQgYm90aCBidXR0b25zIHRvZ2V0aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjcmVlbiBmbGFzaGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKCSZsdDtzdHJvbmcmZ3Q7OToxNCZsdDsvc3Ryb25nJmd0OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG51bWJlcnMgcmVtYWluZWQgZm9yIGxlc3MgdGhhbiBhIHNlY29uZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIGRpc3BsYXkgd2VudCBkYXJrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY291bGQgbm90IGJlIDk6MTQuIElmIGl0IHdlcmUsIHRoZSBmaXJzdCBzY2hvb2wgZGF5IGhhZCBhbHJlYWR5CgliZWNvbWUgYW4gYWRtaW5pc3RyYXRpdmUgZW1lcmdlbmN5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UGVyZmVjdCwmcXVvdDsgS2V2aW4gbXV0dGVyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBkcmFnZ2VkIGEgY2hhaXIgdG93YXJkIHRoZSBjZXJlYWwgY3VwYm9hcmQuICZxdW90O1doYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNeSB3YXRjaCBpcyBkZWFkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSB0ZWxsIGl0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSB0aGluayBpdCBrbm93cy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkbm90aWNlZEZyb3plblRpbWUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0tldmluJiMzOTtzIHdhdGNoIGRpc3BsYXllZCA5OjE0IGFuZCBmYWlsZWQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0tldmluJiMzOTtzIHdhdGNoIGJyaWVmbHkgZGlzcGxheWVkIDk6MTQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4mIzM5O3Mgd2F0Y2ggYnJpZWZseSBkaXNwbGF5ZWQgOToxNCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2tldmluLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIFBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQgdW5leHBsYWluZWQgZXZlbnRzLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIHRvd2FyZCB0aGUgY2xvY2sgYWJvdmUgdGhlIHN0b3ZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSWYgdGhlIHdhdGNoIGhhZCBmYWlsZWQsIHRoZSBraXRjaGVuIGNsb2NrIGNvdWxkIHByb3ZpZGUgYmFja3VwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGtpdGNoZW4gY2xvY2sgcHJvdmlkZWQgc29tZXRoaW5nIGVsc2UuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUga2l0Y2hlbiBjbG9jay0mZ3Q7VGhlIEtpdGNoZW4gQ2xvY2sgU3RvcHNdXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTIiIG5hbWU9IlRoZSBLaXRjaGVuIENsb2NrIFN0b3BzIiB0YWdzPSJiZy1ob3VzZSIgcG9zaXRpb249IjEwMCwxNjUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoeSBib3RoIGNsb2NrcyBzaG93IHRoZSBzYW1lIHRpbWUmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBraXRjaGVuIGNsb2NrIHdhcyByb3VuZCwgd29vZGVuLCBhbmQgb2xkIGVub3VnaCB0byBsb29rIGFzIHRob3VnaAoJaXQgaGFkIGNvbWUgd2l0aCB0aGUgaG91c2UuCiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCByaWdodCB0aWx0LW4xIHN0YW5kYXJkIGJhdGNoMiB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtraXRjaGVuX2Nsb2NrJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfa2l0Y2hlbl9jbG9jay5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7cCZndDsKCU5vIG9uZSB3b3VsZCBoYXZlIGNob3NlbiBpdCB2b2x1bnRhcmlseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyBoYW5kcyBwb2ludGVkIHRvIDk6MTQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjaGVja2VkIGhpcyB3YXRjaCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY3JlZW4gcmVtYWluZWQgYmxhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2FsbCBjbG9jayYjMzk7cyBzZWNvbmQgaGFuZCBkaWQgbm90IG1vdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWl0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcmVmcmlnZXJhdG9yIGh1bW1lZC4gQWJiaWUmIzM5O3MgY2hhaXIgc2NyYXBlZCBhY3Jvc3MgdGhlIGZsb29yLiBBCgljYXIgcGFzc2VkIG91dHNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2xvY2sgcmVtYWluZWQgZnJvemVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RlcHBlZCBjbG9zZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2Vjb25kIGhhbmQgd2FzIG5vdCBzdHVjayBiZXR3ZWVuIG1hcmtzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIG1pc3NpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzZWFyY2hlZCB0aGUgY2xvY2sgZmFjZSwgdGhlIG5hcnJvdyB3b29kZW4gcmltLCBhbmQgdGhlIGZsb29yCgliZW5lYXRoIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gc2Vjb25kIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmx5IHRoZSBob3VyIGFuZCBtaW51dGUgaGFuZHMgcmVtYWluZWQsIHBvaW50aW5nIHRvd2FyZCBhIHRpbWUgdGhhdAoJaGFkIG5vdCBoYXBwZW5lZCB5ZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBjbG9jayB0aWNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgc2hhcnAgbWVjaGFuaWNhbCBzb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBoYW5kcyBkaWQgbm90IG1vdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbm90aGVyIHRpY2sgY2FtZSBmcm9tIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2FtZSByaHl0aG0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTYW1lIGRyeSBjbGljay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBoYWxsd2F5IHdhcyBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7VGhlIGtpdGNoZW4gY2xvY2sgc3RvcHBlZCBhdCA5OjE0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUga2l0Y2hlbiBjbG9jayBzdG9wcGVkIGF0IDk6MTQgYW5kIGxvc3QgaXRzIHNlY29uZCBoYW5kJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBraXRjaGVuIGNsb2NrIHN0b3BwZWQgYXQgOToxNCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TWFqb3IgY2x1ZTombHQ7L3N0cm9uZyZndDsgS2V2aW4mIzM5O3Mgd2F0Y2ggYW5kIHRoZSBraXRjaGVuIGNsb2NrIGJvdGgKCWRpc3BsYXllZCA5OjE0LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglEZWFkIHdhdGNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3RvcHBlZCBjbG9jay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBtaXNzaW5nIHNlY29uZCBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY291bGQgZXhwbGFpbiBlYWNoIGRldGFpbCBzZXBhcmF0ZWx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRpZmZpY3VsdHkgd2FzIGV4cGxhaW5pbmcgd2h5IHRoZXkgaGFkIGNob3NlbiB0aGUgc2FtZSBtb3JuaW5nLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIEtldmluIGludGVycHJldCB0aGUgcGF0dGVybj8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBY2NlcHQgdGhhdCB0aGUgZXZlbnRzIG1heSBiZSBjb25uZWN0ZWQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgS2l0Y2hlbiBDbG9jayBTdG9wczoxOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgS2l0Y2hlbiBDbG9jayBTdG9wczoxOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIEFjY2VwdHMgdGhlIFBhdHRlcm4mcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VHJlYXQgdGhlIGZhaWx1cmVzIGFzIHVucmVsYXRlZCBtYWxmdW5jdGlvbnMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgS2l0Y2hlbiBDbG9jayBTdG9wczoyOmEzMTVhNjA4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgS2l0Y2hlbiBDbG9jayBTdG9wczoyOmEzMTVhNjA4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYXZvaWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBSZWZ1c2VzIHRoZSBQYXR0ZXJuJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayBBYmJpZSB3aGV0aGVyIHNoZSBub3RpY2VkIHRoZSBzdG9wcGVkIGNsb2NrLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIEtpdGNoZW4gQ2xvY2sgU3RvcHM6MzpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6VGhlIEtpdGNoZW4gQ2xvY2sgU3RvcHM6MzpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBLaXRjaGVuIENsb2NrIFN0b3BzOjQ6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBLaXRjaGVuIENsb2NrIFN0b3BzOjQ6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXNrcyBBYmJpZSBBYm91dCB0aGUgQ2xvY2smcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVzdCB3aGV0aGVyIHRoZSBjbG9jayByZWFjdHMgd2hlbiBzcG9rZW4gdG8uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgS2l0Y2hlbiBDbG9jayBTdG9wczo1OjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgS2l0Y2hlbiBDbG9jayBTdG9wczo1OjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gVGVzdHMgdGhlIENsb2NrJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDsKJmx0OyEtLSBCdWlsZCA1LjE0IGF0bW9zcGhlcmljIGhhdW50aW5nIC0tJmd0OwombHQ7Jmx0O3NldCBfaGF1bnRpbmdBdG1vc3BoZXJlID0gc2V0dXAucm9sbEF0bW9zcGhlcmljSGF1bnRpbmcoJnF1b3Q7aG91c2UmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9oYXVudGluZ0F0bW9zcGhlcmUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctYXRtb3NwaGVyZSZxdW90OyByb2xlPSZxdW90O3N0YXR1cyZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtoYXVudGluZy1tYXJrJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7ISZsdDsvc3BhbiZndDsmbHQ7cCZndDsmbHQ7Jmx0Oz0gX2hhdW50aW5nQXRtb3NwaGVyZSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDshLS0gQnVpbGQgNS4xNiBMb3N0IE1pbnV0ZSB0cmlnZ2VyIC0tJmd0OwombHQ7Jmx0O3NldCBfbG9zdE1pbnV0ZVJvbGxlZCA9IHNldHVwLnJvbGxMb3N0TWludXRlKCZxdW90O1RoZSBLaXRjaGVuIENsb2NrIFN0b3BzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfbG9zdE1pbnV0ZVJvbGxlZCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtsb3N0LW1pbnV0ZS10cmlnZ2VyJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2xvc3QtbWludXRlLXRpbWUmcXVvdDsmZ3Q7OToxNCZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7RXZlcnkgc291bmQgaW4gdGhlIHJvb20gc3RvcHMuJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7VGhlIHNlY29uZCBoYW5kIGZyZWV6ZXMuIEJleW9uZCB0aGUgbmVhcmVzdCBkb29yd2F5LCB0aGUgdG93biBpcyBlbXB0eSBhbmQgY29sb3JsZXNzLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbU3RlcCBpbnRvIHRoZSBzaWxlbnQgbWludXRlLSZndDtMb3N0TWludXRlQXJyaXZhbF1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjExMyIgbmFtZT0iS2V2aW4gQXNrcyBBYmJpZSBBYm91dCB0aGUgQ2xvY2siIHRhZ3M9ImJnLWhvdXNlIiBwb3NpdGlvbj0iNjUwLDkwMCIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMiBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7Y2xvY2tUaGVvcnkmcXVvdDssICZxdW90O3NoYXJlJnF1b3Q7LCAmcXVvdDtBYmJpZSBiZWNvbWVzIGEgd2l0bmVzcyB0byB0aGUgc3RvcHBlZCB0aW1lLiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0FiYmllLCBkaWQgeW91IG5vdGljZSB0aGUgY2xvY2sgc3RvcHBlZD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBsb29rZWQgYXQgdGhlIHN0b3ZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TWF5YmUgaXQgZ290IHRpcmVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Q2xvY2tzIGRvbiYjMzk7dCBnZXQgdGlyZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNYXliZSB0aGF0IG9uZSBkb2VzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgaXMgc2hvd2luZyA5OjE0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3F1aW50ZWQuICZxdW90O0lzIHRoYXQgYmFkPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgaXNuJiMzOTt0IDk6MTQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVuIHRoZSBjbG9jayBpcyB3cm9uZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1llcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0dvb2QuIFdlIHNvbHZlZCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCB0aGUgbGFtcC4gVGhlbiBhdCB0aGUgY2xvY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBoYWQgbm93IGFzc2lnbmVkIGZlZWxpbmdzIHRvIG9uZSBob3VzZWhvbGQgb2JqZWN0IGFuZCBkZWNsYXJlZAoJYW5vdGhlciBteXN0ZXJ5IHJlc29sdmVkIGJ5IHJlc3RhdGluZyB0aGUgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHdhcyBiZWNvbWluZyBpbmNyZWFzaW5nbHkgY29uY2VybmVkIHRoYXQgdGhlIGhvdXNlIG1pZ2h0IGNvbnNpZGVyCgloZXIgcmVhc29uaW5nIGFjY2VwdGFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IGhlYXIgaXQgdGljaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQgbW92aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIHRoZSBmaXJzdCB0aW1lIHRoYXQgbW9ybmluZywgaGVyIGV4cHJlc3Npb24gYmVjYW1lIGRpZmZpY3VsdCB0bwoJcmVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLCZxdW90OyBzaGUgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhbnN3ZXIgY2FtZSB0b28gcXVpY2tseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIGNsb2NrIHRpY2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCB0b3dhcmQgdGhlIGhhbGx3YXkgaW5zdGVhZCBvZiB0aGUgY2xvY2suCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBraXRjaGVuIGNsb2NrIHN0b3BwZWQgYXQgOToxNCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgbG9va2VkIHRvd2FyZCB0aGUgaGFsbHdheSB3aGVuIHRoZSBzdG9wcGVkIGNsb2NrIHRpY2tlZCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U2hhcmVkIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgc3RvcHBlZCBjbG9jayB0aWNrZWQsIGFuZAoJQWJiaWUgbG9va2VkIHRvd2FyZCB0aGUgaGFsbHdheS4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlLSZndDtBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTQiIG5hbWU9IktldmluIFRlc3RzIHRoZSBDbG9jayIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjM3NSwxNTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDtjbG9jay10ZXN0JnF1b3Q7LDEsJnF1b3Q7S2V2aW4gbWFkZSB0aGUgc3RvcHBlZCBjbG9jayByZWFjdC4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuZGlzY292ZXJDbHVlKCZxdW90O2Nsb2NrLTkxNCZxdW90OywmcXVvdDtUaGUgQ2xvY2sgYXQgOToxNCZxdW90OywmcXVvdDtLZXZpbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRDYXNlRmlsZTIoJnF1b3Q7Y2xvY2stOTE0JnF1b3Q7LCZxdW90O1RoZSBDbG9jayBhdCA5OjE0JnF1b3Q7LCZxdW90O0tldmluJnF1b3Q7LCZxdW90O1JlcGVhdGFibGUgc3VwZXJuYXR1cmFsIGV2ZW50JnF1b3Q7LCZxdW90O0EgbWlzc2luZyBzZWNvbmQgaGFuZCBwcmV2ZW50cyBhbiBvcmRpbmFyeSBtZWNoYW5pY2FsIGV4cGxhbmF0aW9uLiZxdW90OywmcXVvdDtXaGF0IGV2ZW50IGZpeGVkIHRoZSBob3VzZSBhdCA5OjE0PyZxdW90OykmZ3Q7Jmd0OwovKiBCNS4yIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtjbG9ja1RoZW9yeSZxdW90OywgJnF1b3Q7dGVzdCZxdW90OywgJnF1b3Q7S2V2aW4gcHJvZHVjZXMgcmVwZWF0YWJsZSBiZWhhdmlvciBldmlkZW5jZS4mcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9vZCBiZW5lYXRoIHRoZSBraXRjaGVuIGNsb2NrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Q2FuIHlvdSBoZWFyIG1lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGF0IGhpbS4gJnF1b3Q7SSBjYW4uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOb3QgeW91LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hvPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcG9pbnRlZCB1cHdhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgY2xvY2s/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGlzIGlzIGEgdGVzdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIG5vZGRlZCBhcyB0aG91Z2ggc3BlYWtpbmcgdG8gY2xvY2tzIGJlbG9uZ2VkIHNvbWV3aGVyZSB3aXRoaW4KCXRoZSBub3JtYWwgcmFuZ2Ugb2YgS2V2aW4gYmVoYXZpb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBmYWNlZCB0aGUgd29vZGVuIGNsb2NrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SWYgeW91IGNhbiBoZWFyIG1lLCB0aWNrIG9uY2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIGhhcHBlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVsZWFzZWQgaGlzIGJyZWF0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHdoaXNwZXJlZCwgJnF1b3Q7TWF5YmUgeW91IGhhdmUgdG8gc2F5IHBsZWFzZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGdsYXJlZCBhdCBoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2xvY2sgdGlja2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHNoYXJwIHNvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc21pbGVkLiAmcXVvdDtJdCBhZ3JlZXMgd2l0aCBtZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05ldyBydWxlLiBXZSBkb24mIzM5O3QgdGFsayB0byB0aGUgY2xvY2suJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2FsbCBjbGlja2VkIHR3aWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgc291bmRlZCBhbG1vc3QgbGlrZSBhbiBvYmplY3Rpb24uCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O1RoZSBzdG9wcGVkIGNsb2NrIGFwcGVhcmVkIHRvIHJlc3BvbmQgdG8gS2V2aW4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBzdG9wcGVkIGNsb2NrIHRpY2tlZCBhZnRlciBLZXZpbiBhZGRyZXNzZWQgaXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIHNwb2tlIHRvIHRoZSBraXRjaGVuIGNsb2NrIGFuZCBpdCB0aWNrZWQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0V4cGVyaW1lbnQgcmVjb3JkZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBzdG9wcGVkIGNsb2NrIHRpY2tlZCBhZnRlcgoJS2V2aW4gc3Bva2UgdG8gaXQuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTdG9wIHRlc3RpbmcgdGhlIGhvdXNlLSZndDtBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTUiIG5hbWU9IktldmluIFRha2VzIHRoZSBPbGQgQnV0dG9uIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTQwMCwxNDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBUYWtlcyB0aGUgT2xkIEJ1dHRvbjoxOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLZXZpbiBUYWtlcyB0aGUgT2xkIEJ1dHRvbjoxOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcGlja2VkIHVwIHRoZSBidXR0b24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgY29sZGVyIHRoYW4gdGhlIGZsb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcnViYmVkIG9uZSB0aHVtYiBhY3Jvc3MgaXRzIHN1cmZhY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGZhaW50IG1hcmsgaGFkIGJlZW4gY3V0IGludG8gdGhlIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUd28gY3Jvc3Npbmcgc2NyYXRjaGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW4gWC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIGRhbWFnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIG9uZSBtb3JlIHRoaW5nIGhpcyBicmFpbiBoYWQgZGVjaWRlZCB0byB0dXJuIGludG8gZXZpZGVuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzbGlwcGVkIHRoZSBidXR0b24gaW50byBoaXMgcG9ja2V0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXRoaW5nIHRhcHBlZCBhZ2FpbnN0IHRoZSB1bmRlcnNpZGUgb2YgdGhlIGhhbGx3YXkgdGFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgY2FtZSBmcm9tIHRoZSBleGFjdCBwbGFjZSB3aGVyZSB0aGUgYnV0dG9uIGhhZCBiZWVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY2hlY2tlZCBiZW5lYXRoIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyByZW1haW5lZCBleGNlcHQgZHVzdCBhbmQgdGhlIHBpZWNlIG9mIGZhZGVkIHdhbGxwYXBlci4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7SXRlbSBjb2xsZWN0ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIGlzIGNhcnJ5aW5nIGFuIG9sZCB3b29kZW4KCWJ1dHRvbiBtYXJrZWQgd2l0aCB0d28gY3Jvc3Npbmcgc2NyYXRjaGVzLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgaW52ZXN0aWdhdGluZy0mZ3Q7SGFsbHdheSBJbnZlc3RpZ2F0aW9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTYiIG5hbWU9IktldmluIExlYXZlcyB0aGUgT2xkIEJ1dHRvbiIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjE2NTAsMTUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gTGVhdmVzIHRoZSBPbGQgQnV0dG9uOjE6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIExlYXZlcyB0aGUgT2xkIEJ1dHRvbjoxOjgwYmY4ZWVlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbGVmdCB0aGUgYnV0dG9uIGJlbmVhdGggdGhlIHRhYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW4gb2xkIG9iamVjdCBmb3VuZCBpbnNpZGUgYW4gb2xkIGhvdXNlIGRpZCBub3QgYXV0b21hdGljYWxseSBiZWNvbWUKCWEgY2x1ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIGhvdyBteXN0ZXJpZXMgYmVjYW1lIGltcG9zc2libGUgdG8gc29sdmUuIEV2ZXJ5dGhpbmcgbG9va2VkCglpbXBvcnRhbnQgdW50aWwgdGhlIHJlYWwgZXZpZGVuY2UgZGlzYXBwZWFyZWQgYmVuZWF0aCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b29kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1dHRvbiByb2xsZWQgb3V0IGZyb20gYmVuZWF0aCB0aGUgdGFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBjcm9zc2VkIHRoZSBmbG9vciBpbiBhIHNsb3cgaGFsZi1jaXJjbGUgYW5kIHN0b3BwZWQgYmVzaWRlIGhpcwoJc2hvZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0YXJlZCBhdCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmbG9vciB3YXMgbGV2ZWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcm9iYWJseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIG51ZGdlZCB0aGUgYnV0dG9uIGJhY2sgYmVuZWF0aCB0aGUgdGFibGUgd2l0aCB0aGUgcGVuY2lsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpcyB0aW1lLCBpdCByZW1haW5lZCB0aGVyZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7QW1iaWd1b3VzIGRldGFpbDombHQ7L3N0cm9uZyZndDsgVGhlIG9sZCBidXR0b24gcm9sbGVkIHRvd2FyZCBLZXZpbgoJYWZ0ZXIgaGUgbGVmdCBpdCBiZW5lYXRoIHRoZSB0YWJsZS4KJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb2xkIHdvb2RlbiBidXR0b24gcm9sbGVkIGFjcm9zcyB0aGUgZmxvb3Igd2l0aG91dCBhbiBvYnZpb3VzIGNhdXNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIGludmVzdGlnYXRpbmctJmd0O0hhbGx3YXkgSW52ZXN0aWdhdGlvbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTE3IiBuYW1lPSJLZXZpbiBUb3VjaGVzIHRoZSBIZXhhZm9pbCBBZ2FpbiIgdGFncz0iYmctcGFzc2FnZSIgcG9zaXRpb249IjE0NTAsMjEyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CglLZXZpbiBwcmVzc2VkIG9uZSBmaW5nZXJ0aXAgdG8gdGhlIGNlbnRlciBvZiB0aGUgY2FydmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB2aWJyYXRpb24gc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmUgc2Vjb25kLCBub3RoaW5nIGhhcHBlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgd29vZCBwdWxzZWQgYmVuZWF0aCBoaXMgZmluZ2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IHZpYnJhdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHVsc2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3aWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcHVsbGVkIGhpcyBoYW5kIGF3YXkgYmVmb3JlIGl0IGNvdWxkIGhhcHBlbiBhIHRoaXJkIHRpbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGNvbGQgcHJlc3N1cmUgcmVtYWluZWQgYWdhaW5zdCBoaXMgZmluZ2VydGlwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hlbiBoZSBsb29rZWQsIGEgZmFpbnQgY2lyY3VsYXIgbWFyayBoYWQgYXBwZWFyZWQgb24gdGhlIHNraW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBmYWRlZCB3aGlsZSBoZSB3YXRjaGVkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgaGV4YWZvaWwgcHVsc2VkIHdoZW4gS2V2aW4gdG91Y2hlZCBpdHMgY2VudGVyJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtPcHRpb25hbCBkaXNjb3Zlcnk6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBjYXJ2aW5nIHB1bHNlZCB0d2ljZSBhbmQgbGVmdAoJYSB0ZW1wb3JhcnkgY2lyY3VsYXIgbWFyayBvbiBLZXZpbiYjMzk7cyBmaW5nZXIuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tFeGFtaW5lIHRoZSBtYXJrcyBiZW5lYXRoIHRoZSBzeW1ib2wtJmd0O0tldmluIE5vdGljZXMgWEldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjExOCIgbmFtZT0iS2V2aW4gTWVtb3JpemVzIHRoZSBIZXhhZm9pbCIgdGFncz0iYmctcGFzc2FnZSIgcG9zaXRpb249IjkwMCwyMzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgYmFjayBhbmQgc3R1ZGllZCB0aGUgY2FydmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNpeCBwZXRhbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgY2lyY2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzbWFsbCBpcnJlZ3VsYXJpdHkgYmVuZWF0aCB0aGUgbG93ZXIgZWRnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHJlcGVhdGVkIHRoZSBkZXRhaWxzIHVudGlsIGhlIGNvdWxkIHBpY3R1cmUgdGhlbSB3aXRoIGhpcyBleWVzCgljbG9zZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglXaGVuIEtldmluIG9wZW5lZCBoaXMgZXllcywgdGhlIHN5bWJvbCBsb29rZWQgZGlmZmVyZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHBldGFsIGFwcGVhcmVkIGxvbmdlciB0aGFuIHRoZSBvdGhlcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBibGlua2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBldGFscyBtYXRjaGVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTWVtb3JpemluZyBldmlkZW5jZSB3YXMgZWFzaWVyIHdoZW4gdGhlIGV2aWRlbmNlIGFncmVlZCB0byBzdGF5IHRoZQoJc2FtZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGhleGFmb2lsIGFwcGVhcmVkIHRvIGNoYW5nZSBzaGFwZSB3aGlsZSBLZXZpbiBzdHVkaWVkIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IE9uZSBwZXRhbCBhcHBlYXJlZCB0byBjaGFuZ2UKCWxlbmd0aCwgdGhlbiByZXR1cm5lZCB0byBub3JtYWwuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTdHVkeSB0aGUgbWFya3MgYmVuZWF0aCB0aGUgc3ltYm9sLSZndDtLZXZpbiBOb3RpY2VzIFhJXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMTkiIG5hbWU9IktldmluIFNob3dzIEFiYmllIHRoZSBIZXhhZm9pbCIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSIyMjUsMjIyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7CgkmcXVvdDtBYmJpZSwgY29tZSBiYWNrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGFwcGVhcmVkIGluIHRoZSBraXRjaGVuIGRvb3J3YXkgd2l0aG91dCBoZXIgY2VyZWFsIGJvd2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IG5vdz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHBvaW50ZWQgdG8gdGhlIGNhcnZpbmcuICZxdW90O0hhdmUgeW91IHNlZW4gdGhpcyBiZWZvcmU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBhcHByb2FjaGVkIHRoZSBzdGFpcmNhc2UgYW5kIGxvb2tlZCBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIGV4cHJlc3Npb24gY2hhbmdlZCBmb3IgbGVzcyB0aGFuIGEgc2Vjb25kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUmVjb2duaXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGl0IHdhcyBnb25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQmIzM5O3MgYSBmbG93ZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGtpbmQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgaG91c2Uga2luZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCBoZXIuICZxdW90O1doYXQgZG9lcyB0aGF0IG1lYW4/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzaHJ1Z2dlZC4gJnF1b3Q7SXQgbWVhbnMgaXQgYmVsb25ncyB0byB0aGUgaG91c2UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIb3cgZG8geW91IGtub3c/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCZWNhdXNlIGl0JiMzOTtzIGluIHRoZSBob3VzZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdhaXRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNtaWxlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGhhZCBiZWVuIGRlZmVhdGVkIGJ5IHNlY29uZC1ncmFkZSBsb2dpYy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSByZWFjaGVkIHRvd2FyZCB0aGUgY2FydmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlZm9yZSBoZXIgZmluZ2VyIHRvdWNoZWQgaXQsIHRoZSBiYW5pc3RlciBnYXZlIG9uZSBzaGFycCBrbm9jay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHB1bGxlZCBiYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UnVkZSBmbG93ZXIsJnF1b3Q7IHNoZSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBzaGUgcmV0dXJuZWQgdG8gdGhlIGtpdGNoZW4uCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FiYmllIGNhbGxlZCB0aGUgaGV4YWZvaWwgYSBob3VzZSBmbG93ZXImcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O1RoZSBiYW5pc3RlciBzeW1ib2wga25vY2tlZCBiZWZvcmUgQWJiaWUgdG91Y2hlZCBpdCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U2hhcmVkIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgYmFuaXN0ZXIga25vY2tlZCBiZWZvcmUgQWJiaWUKCXRvdWNoZWQgdGhlIGNhcnZpbmcuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tFeGFtaW5lIHRoZSBtYXJrcyBiZW5lYXRoIHRoZSBzeW1ib2wtJmd0O0tldmluIE5vdGljZXMgWEldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyMCIgbmFtZT0iS2V2aW4gV3JpdGVzIENvbXBsZXRlIE5vdGVzIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iNjI1LDE2NzUiIHNpemU9IjEwMCwxMDAiPi8qIEI1LjEgY29uc2VxdWVuY2UgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O21vcm5pbmdSZWNvcmQmcXVvdDssICZxdW90O2NvbXBsZXRlJnF1b3Q7LCAmcXVvdDtDb21wbGV0ZSBub3RlcyBsYXRlciBpbXByb3ZlIHRoZSBncm91cCBldmlkZW5jZSByZXZpZXcuJnF1b3Q7KSZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd3JvdGU6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtldmlkZW5jZS1ub3RlcyZxdW90OyZndDsKJmx0O3VsJmd0OwombHQ7bGkmZ3Q7SGFsbHdheSBsYW1wIGZsaWNrZXJlZC4mbHQ7L2xpJmd0OwombHQ7bGkmZ3Q7Q29sZCBhaXIgaW4ga2l0Y2hlbi4mbHQ7L2xpJmd0OwombHQ7bGkmZ3Q7V2F0Y2ggYW5kIGNsb2NrOiA5OjE0LiZsdDsvbGkmZ3Q7CiZsdDtsaSZndDtQaG90b2dyYXBoIG1pc3NpbmcuJmx0Oy9saSZndDsKJmx0Oy91bCZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7aWYgJGhhbGx3YXlGaWd1cmVDb25maXJtZWQmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSGUgYWRkZWQ6ICZsdDtlbSZndDtUYWxsIGZpZ3VyZSBuZWFyIHN0YWlyY2FzZS4mbHQ7L2VtJmd0OwoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2VpZiAkaGFsbHdheUZpZ3VyZVVuY2VydGFpbiZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlIZSBhZGRlZDogJmx0O2VtJmd0O1Bvc3NpYmxlIGZpZ3VyZSBvciBmb290c3RlcHMgbmVhciBzdGFpcmNhc2UuJmx0Oy9lbSZndDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRmb3VuZEJhbmlzdGVySGV4YWZvaWwmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSGUgd3JvdGU6ICZsdDtlbSZndDtTaXgtcGV0YWxlZCBzeW1ib2wgY2FydmVkIGludG8gYmFuaXN0ZXIuJmx0Oy9lbSZndDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRub3RpY2VkUm9tYW5YSSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlIZSB1bmRlcmxpbmVkOiAmbHQ7ZW0mZ3Q7WEkuIEVsZXZlbi4gRGFyayBzdGVwLiZsdDsvZW0mZ3Q7CgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkaW5zcGVjdGVkRWxldmVudGhTdGVwJmd0OyZndDsKCSZsdDtwJmd0OwoJCUhlIGFkZGVkOiAmbHQ7ZW0mZ3Q7VGhyZWUga25vY2tzIGJlbmVhdGggc3RlcC4gUG9zc2libGUgYnJlYXRoaW5nLiZsdDsvZW0mZ3Q7CgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRpbnZlc3RpZ2F0ZWRDbG9zZXQmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSGUgYWRkZWQ6ICZsdDtlbSZndDtXZXQtZWFydGggc21lbGwuIE1hcmtzIGJlaGluZCBjb2F0cy4gTW92aW5nIGhvb2suJmx0Oy9lbSZndDsKCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJGxpc3RlbmVkTmVhclN0YWlycyZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlIZSBhZGRlZDogJmx0O2VtJmd0O1NjcmF0Y2hpbmcgbW92ZWQgdGhyb3VnaCB3YWxscyBpbiB0aHJlZSBwbGFjZXMuJmx0Oy9lbSZndDsKCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlaWYgJGxlZnRTdGFpcnNBbG9uZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlIZSBhZGRlZDogJmx0O2VtJmd0O0RpZCBub3QgaW52ZXN0aWdhdGUgc3RhaXJzLiBIZWFyZCBjcmVha2luZyBhZnRlcndhcmQuJmx0Oy9lbSZndDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHJlYWQgdGhlIGxpc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbiBwYXBlciwgdGhlIGV2ZW50cyBsb29rZWQgbGVzcyBsaWtlIGFueGlldHkgYW5kIG1vcmUgbGlrZSBldmlkZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgc2hvdWxkIGhhdmUgbWFkZSBoaW0gZmVlbCBiZXR0ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVuZWF0aCB0aGUgZmluYWwgbGluZSwgdGhlIHBlbmNpbCBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRpZ2h0ZW5lZCBoaXMgZ3JpcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGhhZCBub3QgaW50ZW5kZWQgdG8gd3JpdGUgYW55dGhpbmcgZWxzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlIHNtYWxsIHdvcmRzIGFwcGVhcmVkOgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVdFIFNFRSBZT1UKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZHJvcHBlZCB0aGUgcGVuY2lsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgYmxpbmtlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZW50ZW5jZSB3YXMgZ29uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgYSBkYXJrIGdyYXBoaXRlIHNtZWFyIHJlbWFpbmVkIGJlbmVhdGggaGlzIG5vdGVzLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBtYXkgaGF2ZSB3cml0dGVuICYjMzk7V0UgU0VFIFlPVSYjMzk7IHdpdGhvdXQgaW50ZW5kaW5nIHRvJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtXcml0dGVuIHJlY29yZDombHQ7L3N0cm9uZyZndDsgS2V2aW4gZG9jdW1lbnRlZCB0aGUgbW9ybmluZywgYnV0IGFuCgl1bmludGVuZGVkIG1lc3NhZ2UgYnJpZWZseSBhcHBlYXJlZCBiZW5lYXRoIGhpcyBub3Rlcy4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0Nsb3NlIHRoZSBub3RlYm9vay0mZ3Q7VGhlIFN0YWlyY2FzZSBDb3VudGRvd25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyMSIgbmFtZT0iS2V2aW4gU2tldGNoZXMgdGhlIEhleGFmb2lsIiB0YWdzPSJiZy1wYXNzYWdlIiBwb3NpdGlvbj0iMjAwLDI0MjUiIHNpemU9IjEwMCwxMDAiPi8qIEI1LjEgY29uc2VxdWVuY2UgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O21vcm5pbmdSZWNvcmQmcXVvdDssICZxdW90O2hleGFmb2lsJnF1b3Q7LCAmcXVvdDtUaGUgaGV4YWZvaWwgc2tldGNoIGxhdGVyIHN1cHBvcnRzIGJvdW5kYXJ5IGludGVycHJldGF0aW9uLiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGRyZXcgdGhlIGNpcmNsZSBmaXJzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gc2l4IGN1cnZlZCBwZXRhbHMgbWVldGluZyBpbiB0aGUgY2VudGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVuZWF0aCB0aGUgc3ltYm9sLCBoZSB3cm90ZToKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglYSSA9IDExCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBza2V0Y2ggbG9va2VkIGFjY3VyYXRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY29tcGFyZWQgaXQgd2l0aCB0aGUgY2FydmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzeW1ib2wgaW4gdGhlIG5vdGVib29rIGhhZCBzZXZlbiBwZXRhbHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjb3VudGVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2V2ZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBlcmFzZWQgdGhlIGV4dHJhIHBldGFsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hlbiBoZSBsb29rZWQgYmFjayBhdCB0aGUgY2FydmluZywgdGhlIGhleGFmb2lsIHN0aWxsIGhhZCBzaXguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSByZXR1cm5lZCB0byB0aGUgbm90ZWJvb2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2V2ZW50aCBwZXRhbCBoYWQgcmVhcHBlYXJlZCBhcyBhIGZhaW50IGdyYXBoaXRlIG91dGxpbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjbG9zZWQgdGhlIG5vdGVib29rIGJlZm9yZSB0aGUgZHJhd2luZyBjb3VsZCBtYWtlIGFub3RoZXIKCWRlY2lzaW9uLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiYjMzk7cyBoZXhhZm9pbCBza2V0Y2ggcmVwZWF0ZWRseSBkZXZlbG9wZWQgYSBzZXZlbnRoIHBldGFsJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gZXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluJiMzOTtzIHNpeC1wZXRhbGVkIGRyYXdpbmcKCWFwcGVhcmVkIHRvIGRldmVsb3AgYSBzZXZlbnRoIHBldGFsLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUHV0IHRoZSBub3RlYm9vayBhd2F5LSZndDtUaGUgU3RhaXJjYXNlIENvdW50ZG93bl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTIyIiBuYW1lPSJLZXZpbiBSZWNvcmRzIDkxNCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjMyNSwyNjUwIiBzaXplPSIxMDAsMTAwIj4vKiBCNS4xIGNvbnNlcXVlbmNlIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDttb3JuaW5nUmVjb3JkJnF1b3Q7LCAmcXVvdDt0aW1lOTE0JnF1b3Q7LCAmcXVvdDtUaGUgcmVjb3JkZWQgdGltZSBsYXRlciBzdHJlbmd0aGVucyB0aGUgdGltZS1wYXR0ZXJuIGRlZHVjdGlvbi4mcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3cm90ZSBvbmx5IG9uZSBkZXRhaWw6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJOToxNAombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGF0IHdhcyBlbm91Z2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGltZSBjb25uZWN0ZWQgdGhlIHdhdGNoIGFuZCB0aGUga2l0Y2hlbiBjbG9jay4gRXZlcnl0aGluZyBlbHNlCgltaWdodCBoYXZlIGJlZW4gaW1hZ2luYXRpb24sIGNvaW5jaWRlbmNlLCBmYXVsdHkgd2lyaW5nLCBvciBhIGhvdXNlCgl3aXRoIGFuIHVucmVhc29uYWJsZSBjb21taXRtZW50IHRvIG1ha2luZyBtb3JuaW5ncyBkaWZmaWN1bHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB1bmRlcmxpbmVkIHRoZSB0aW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBlbmNpbCB0b3JlIHRocm91Z2ggdGhlIHBhcGVyIGJlbmVhdGggdGhlIGZvdXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbiB0aGUgbmV4dCBwYWdlLCB0aGUgZ3JhcGhpdGUgbWFyayBjb250aW51ZWQgZG93bndhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbmQgb250byB0aGUgcGFnZSBhZnRlciB0aGF0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZmxpcHBlZCB0aHJvdWdoIHRoZSBub3RlYm9vay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkYXJrIGxpbmUgZW5kZWQgZWxldmVuIHBhZ2VzIGxhdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY2xvc2VkIHRoZSBub3RlYm9vay4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHBlbmNpbCBtYXJrIGJlbmVhdGggOToxNCBleHRlbmRlZCB0aHJvdWdoIGVsZXZlbiBub3RlYm9vayBwYWdlcyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7V3JpdHRlbiByZWNvcmQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIHJlY29yZGVkIDk6MTQsIGFuZCB0aGUgZmluYWwKCXBlbmNpbCBtYXJrIGNhcnJpZWQgdGhyb3VnaCBlbGV2ZW4gcGFnZXMuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tQdXQgdGhlIG5vdGVib29rIGF3YXktJmd0O1RoZSBTdGFpcmNhc2UgQ291bnRkb3duXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMjMiIG5hbWU9IktldmluIFRyYWNlcyB0aGUgQnV0dG9uIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTU1MCwyMzAwIiBzaXplPSIxMDAsMTAwIj4vKiBCNS4xIGNvbnNlcXVlbmNlIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDttb3JuaW5nUmVjb3JkJnF1b3Q7LCAmcXVvdDtidXR0b24mcXVvdDssICZxdW90O1RoZSB0cmFjZWQgYnV0dG9uIG1hcmsgbGF0ZXIgc3VwcG9ydHMgb2JqZWN0IGlkZW50aWZpY2F0aW9uLiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHBsYWNlZCB0aGUgd29vZGVuIGJ1dHRvbiBiZW5lYXRoIHRoZSBwYWdlIGFuZCBydWJiZWQgdGhlIHNpZGUgb2YKCWhpcyBwZW5jaWwgYWNyb3NzIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByb3VuZCBlZGdlIGFwcGVhcmVkIGZpcnN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgZm91ciBjZW50cmFsIGhvbGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRmluYWxseSwgdGhlIHNjcmF0Y2hlcyBjYXJ2ZWQgaW50byB0aGUgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGV4cGVjdGVkIGFuIFguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdHJhY2luZyBwcm9kdWNlZCBzaXggY3VydmVkIGxpbmVzIGluc2lkZSBhIGNpcmNsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc21hbGwgZmxvd2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBoZXhhZm9pbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNoZWNrZWQgdGhlIGJ1dHRvbiBkaXJlY3RseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgdHdvIGNyb3NzaW5nIHNjcmF0Y2hlcyBtYXJrZWQgdGhlIHdvb2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjaGVja2VkIHRoZSB0cmFjaW5nIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2l4IHBldGFscyByZW1haW5lZCBvbiB0aGUgcGFnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidXR0b24gd2FzIHByb2JhYmx5IHVucmVsYXRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByb2JhYmx5IGhhZCBiZWNvbWUgYW4gaW5jcmVhc2luZ2x5IHVuaGVscGZ1bCB3b3JkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgYnV0dG9uIHRyYWNpbmcgcmVzZW1ibGVkIHRoZSBiYW5pc3RlciBoZXhhZm9pbCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UG9zc2libGUgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIGJ1dHRvbiBpdHNlbGYgYmVhcnMgYW4gWCwKCWJ1dCBpdHMgcGVuY2lsIHRyYWNpbmcgcmVzZW1ibGVkIHRoZSBzaXgtcGV0YWxlZCBzeW1ib2wuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tQdXQgdGhlIGJ1dHRvbiBhbmQgbm90ZWJvb2sgYXdheS0mZ3Q7VGhlIFN0YWlyY2FzZSBDb3VudGRvd25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyNCIgbmFtZT0iS2V2aW4gUmVqZWN0cyB0aGUgTm90ZXMiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIxNjAwLDI1MjUiIHNpemU9IjEwMCwxMDAiPi8qIEI1LjEgY29uc2VxdWVuY2UgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O21vcm5pbmdSZWNvcmQmcXVvdDssICZxdW90O25vbmUmcXVvdDssICZxdW90O0tldmluIGhhcyBubyB3cml0dGVuIHJlY29yZCB3aGVuIGRldGFpbHMgYXJlIGNoYWxsZW5nZWQuJnF1b3Q7KSZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY2xvc2VkIHRoZSBub3RlYm9vayB3aXRob3V0IHdyaXRpbmcgYW55dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJZiB0aGUgbW9ybmluZyByZW1haW5lZCB1bndyaXR0ZW4sIGl0IGNvdWxkIHN0aWxsIGJlY29tZSBhIGNvbGxlY3Rpb24KCW9mIGJhZGx5IHJlbWVtYmVyZWQgbW9tZW50cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZmxpY2tlcmluZyBsYW1wLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBmYXVsdHkgd2F0Y2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGxvb3NlIHBpY3R1cmUgZnJhbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbiBvbGQgaG91c2UgbWFraW5nIG9yZGluYXJ5IG5vaXNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yZGluYXJ5IGV4cGxhbmF0aW9ucyBhcnJhbmdlZCB0aGVtc2VsdmVzIG5lYXRseSBpbiBLZXZpbiYjMzk7cyBtaW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBzb21ldGhpbmcgc2NyYXRjaGVkIGFjcm9zcyB0aGUgbm90ZWJvb2sgY292ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgdGhpbiBwYWxlIGxpbmUgbm93IGNyb3NzZWQgdGhlIGRhcmsgY2FyZGJvYXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY3VydmVkIG9uY2UsIHRoZW4gYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYmVnaW5uaW5nIG9mIGEgY2lyY2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2hvdmVkIHRoZSBub3RlYm9vayBpbnRvIGhpcyBiYWNrcGFjayBiZWZvcmUgdGhlIG1hcmsgY291bGQKCWZpbmlzaC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QSBjdXJ2ZWQgc2NyYXRjaCBhcHBlYXJlZCBvbiB0aGUgbm90ZWJvb2sgS2V2aW4gY2hvc2Ugbm90IHRvIHVzZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2UgcmVqZWN0ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIGNyZWF0ZWQgbm8gd3JpdHRlbiByZWNvcmQsCglidXQgYSBjdXJ2ZWQgbWFyayBhcHBlYXJlZCBvbiB0aGUgbm90ZWJvb2sgY292ZXIuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tHZXQgQWJiaWUgYW5kIGxlYXZlLSZndDtUaGUgU3RhaXJjYXNlIENvdW50ZG93bl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTI1IiBuYW1lPSJLZXZpbiBMZWF2ZXMgdGhlIEhvdXNlIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iOTAwLDUxNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IEZyb250IFBvcmNoJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1B1dCBkaXN0YW5jZSBiZXR3ZWVuIEFiYmllIGFuZCB0aGUgaG91c2UmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHB1bGxlZCB0aGUgZnJvbnQgZG9vciBjbG9zZWQgYmVoaW5kIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGF0Y2ggY2F1Z2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY2hlY2tlZCBpdCB0d2ljZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBicmFzcyBrbm9iIHJlbWFpbmVkIHN0aWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gd2V0IGZvb3RwcmludCBhcHBlYXJlZCBiZW5lYXRoIHRoZSBkb29yLiBObyBzaGFkb3cgY3Jvc3NlZCB0aGUKCWZyb3N0ZWQgZ2xhc3MuIE5vdGhpbmcga25vY2tlZCBmcm9tIHRoZSBvdGhlciBzaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhvdXNlIGhhZCBiZWNvbWUgcXVpZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3Qgb3JkaW5hcnkgcXVpZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUga2luZCBvZiBxdWlldCB0aGF0IHN1Z2dlc3RlZCBzb21ldGhpbmcgaGFkIHN0b3BwZWQgc3BlYWtpbmcKCWJlY2F1c2UgaXQgd2FudGVkIHRvIGhlYXIgd2hlcmUgdGhleSB3ZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgYWRqdXN0ZWQgaGVyIGJhY2twYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QXJlIHdlIGxhdGU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjaGVja2VkIGhpcyB3YXRjaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY3JlZW4gcmVtYWluZWQgZGFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dlIGFyZSBsZWF2aW5nLCZxdW90OyBoZSBzYWlkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpc24mIzM5O3QgYSB0aW1lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgaXMgdGhlIG1vc3QgdXNlZnVsIGluZm9ybWF0aW9uIGF2YWlsYWJsZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGFjY2VwdGVkIHRoaXMgYW5kIHN0YXJ0ZWQgZG93biB0aGUgcG9yY2ggc3RlcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZWFjaGVkIGJhY2sgdG8gdGVzdCB0aGUgZG9vciBvbmUgZmluYWwgdGltZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBmaW5nZXJzIGJydXNoZWQgdGhlIHBhaW50ZWQgZnJhbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNoYWxsb3cgZ3Jvb3ZlIGNhdWdodCBiZW5lYXRoIGhpcyB0aHVtYm5haWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBmcm96ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBtYXJrIGhpZCBiZW5lYXRoIHNldmVyYWwgbGF5ZXJzIG9mIHdoaXRlIHBhaW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzbWFsbCBjaXJjbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDdXJ2ZWQgbGluZXMgc3ByZWFkaW5nIGZyb20gaXRzIGNlbnRlci4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRmb3VuZEJhbmlzdGVySGV4YWZvaWwmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHNhbWUgc2l4LXBldGFsZWQgc3ltYm9sIGhlIGhhZCBmb3VuZCBjYXJ2ZWQgaW50byB0aGUKCQlzdGFpcmNhc2UgYmFuaXN0ZXIuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlJdCB3YXMgbm90IHNpbWlsYXIuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlJdCB3YXMgdGhlIHNhbWUgZGVzaWduLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJQSB3b3JuIGZsb3dlciB3aXRoIHNpeCBuYXJyb3cgcGV0YWxzLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSXQgd2FzIHRvbyBkZWxpYmVyYXRlIHRvIGJlIGRhbWFnZSBhbmQgdG9vIGRlZXBseSBidXJpZWQgYmVuZWF0aAoJCXRoZSBwYWludCB0byBiZSByZWNlbnQuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgZnJvbnQgZG9vciBzaGlmdGVkIGFnYWluc3QgS2V2aW4mIzM5O3MgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBlbm91Z2ggdG8gb3Blbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUVub3VnaCB0byByZW1pbmQgaGltIHRoYXQgdGhlIGxvY2sgd2FzIHRoZSBvbmx5IHRoaW5nIGhvbGRpbmcgaXQKCWNsb3NlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0V4YW1pbmUgdGhlIHN5bWJvbCBiZWZvcmUgbGVhdmluZy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIExlYXZlcyB0aGUgSG91c2U6MTozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gTGVhdmVzIHRoZSBIb3VzZToxOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIEV4YW1pbmVzIHRoZSBEb29yZnJhbWUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UHVsbCBhd2F5IGFuZCBnZXQgQWJiaWUgb2ZmIHRoZSBwb3JjaC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIExlYXZlcyB0aGUgSG91c2U6MjowY2Q2NzQwZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gTGVhdmVzIHRoZSBIb3VzZToyOjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBMZWF2ZXMgdGhlIEhvdXNlOjM6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIExlYXZlcyB0aGUgSG91c2U6MzoyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBQdWxscyBBd2F5IGZyb20gdGhlIERvb3ImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2hvdyB0aGUgc3ltYm9sIHRvIEFiYmllLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gTGVhdmVzIHRoZSBIb3VzZTo0OmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLZXZpbiBMZWF2ZXMgdGhlIEhvdXNlOjQ6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBMZWF2ZXMgdGhlIEhvdXNlOjU6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIExlYXZlcyB0aGUgSG91c2U6NToyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBTaG93cyBBYmJpZSB0aGUgRG9vcmZyYW1lJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtpZiAka2V2aW5IYXNNeXN0ZXJ5Tm90ZXMmZ3Q7Jmd0OwoJCSZsdDsmbHQ7bGluayAmcXVvdDtTa2V0Y2ggdGhlIHN5bWJvbCBpbiBoaXMgbXlzdGVyeSBub3Rlcy4mcXVvdDsmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBMZWF2ZXMgdGhlIEhvdXNlOjY6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIExlYXZlcyB0aGUgSG91c2U6Njo4MGJmOGVlZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gUmVjb3JkcyB0aGUgRG9vcmZyYW1lJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMjYiIG5hbWU9IlJ5YW4gQWNjZXB0cyB0aGUgRmluYWwgUnVsZSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjExNTAsMzk3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtza2V0Y2gtbm90ZSByeWFuLW5vdGUmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3J5YW5faGV4YWZvaWxfbWFyay5wbmcmcXVvdDsgYWx0PSZxdW90O1J5YW4gc2tldGNoIG5vdGUmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CglSeWFuIG5vZGRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O09ubHkgZ28gd2hlcmUgSSBhbSBhbGxvd2VkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY3JldGFyeSBzbWlsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtFeGFjdGx5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpSeWFuIGFkZGVkIHRoZSBydWxlIHRvIHRoZSBvdGhlcnMuIFVzZSBkZXNpZ25hdGVkIGVudHJhbmNlcy4gV2FpdCBmb3IgcGVybWlzc2lvbiBiZWZvcmUgY3Jvc3Npbmcgc3VzcGljaW91cyBib3VuZGFyaWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpLZWVwIHRoZSBoZWxtZXQgb24gdW50aWwgc29tZW9uZSB3aXRoIGF1dGhvcml0eSBvcmRlcnMgaXRzIHJlbW92YWwuIERvIG5vdCBlbnRlciBwbGFjZXMgd2l0aG91dCBrbm93aW5nIHdoZXRoZXIgdGhleSBhbGxvdyB5b3UgdG8gbGVhdmUuIFRoYXQgZmluYWwgcnVsZSBoYWQgbm90IGJlZW4gc3Bva2VuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUnlhbiBhZGRlZCBpdCBhbnl3YXkuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJHJ5YW5SdWxlcy5wdXNoVW5pcXVlKCZxdW90O09ubHkgZ28gd2hlcmUgeW91IGFyZSBhbGxvd2VkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRyeWFuUnVsZXMucHVzaFVuaXF1ZSgmcXVvdDtEbyBub3QgZW50ZXIgYSBwbGFjZSB3aXRob3V0IGtub3dpbmcgd2hldGhlciBpdCBhbGxvd3MgeW91IHRvIGxlYXZlJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtSdWxlIGFjY2VwdGVkOiZsdDsvc3Ryb25nJmd0OyBSeWFuIHdpbGwgdHJlYXQgcGVybWlzc2lvbiBhbmQKCWJvdW5kYXJpZXMgYXMgcG9zc2libGUgc2FmZXR5IG1lYXN1cmVzIHJhdGhlciB0aGFuIG9yZGluYXJ5IHNjaG9vbAoJcnVsZXMuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKSGUgdHVybmVkIHRvd2FyZCB0aGUgaGFsbHdheS4gVGhlIHNlY3JldGFyeSBzcG9rZSBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01yLiBHcnVibGVyPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpTaGUgcHJvbm91bmNlZCBoaXMgbmFtZSBwZXJmZWN0bHkuIFJ5YW4gbG9va2VkIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEbyBub3QgbG9zZSB0aGUgaGVsbWV0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVmb3JlIFJ5YW4gY291bGQgYXNrIHdoeSwgc2hlIGxvd2VyZWQgaGVyIGV5ZXMgdG8gdGhlIHBhcGVyd29yay4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIHNlY3JldGFyeSB3YXJuZWQgUnlhbiBub3QgdG8gbG9zZSBoaXMgaGVsbWV0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgY29ubmVjdGVkIFJ5YW4mIzM5O3MgaGVsbWV0IHdpdGggdGhlIG9mZmljZSBkYW5nZXImcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTGVhdmUgdGhlIG1haW4gb2ZmaWNlLSZndDtSeWFuIENoYXB0ZXIgU3VtbWFyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTI3IiBuYW1lPSJSeWFuIElnbm9yZXMgdGhlIEZpbmFsIFJ1bGUiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI2NzUsNDU3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtza2V0Y2gtbm90ZSByeWFuLW5vdGUmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3J5YW5fZmxhc2hsaWdodC5wbmcmcXVvdDsgYWx0PSZxdW90O1J5YW4gc2tldGNoIG5vdGUmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gY29udGludWVkIHdhbGtpbmcuIFByZXRlbmRpbmcgbm90IHRvIGhlYXIgd2FzIG5vdCB0aGUgc2FtZSBhcyBkaXNvYmV5aW5nLiBJdCB3YXMgYSB0ZW1wb3Jhcnkgc3VzcGVuc2lvbiBvZiBhY2tub3dsZWRnbWVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIGRpc3RpbmN0aW9uIHdhcyBpbXBvcnRhbnQuIFByb2JhYmx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UnlhbiBHcnVibGVyLCZxdW90OyB0aGUgc2VjcmV0YXJ5IHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClBlcmZlY3QgcHJvbnVuY2lhdGlvbi4gUnlhbiB0b29rIGFub3RoZXIgc3RlcC4gVGhlIGhhbGx3YXkgYWhlYWQgYXBwZWFyZWQgbG9uZ2VyIHRoYW4gaXQgaGFkIHdoZW4gaGUgYXJyaXZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKQ2xhc3Nyb29tIGRvb3JzIGxpbmVkIGJvdGggc2lkZXMuIE9uZSBzdG9vZCBvcGVuLiBEYXJrbmVzcyBmaWxsZWQgdGhlIHJvb20gYmV5b25kIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwpBIGJyYXNzIHN0cmlwIGNyb3NzZWQgdGhlIGZsb29yIGJlbmVhdGggdGhlIGRvb3J3YXkuIFJ5YW4gc3RvcHBlZC4gSGUgbG9va2VkIGJhY2sgdG93YXJkIHRoZSBtYWluIG9mZmljZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHNlY3JldGFyeSByZW1haW5lZCBiZWhpbmQgdGhlIGNvdW50ZXIuIEhlciBncmVlbiByaW5nIHBvaW50ZWQgdG93YXJkIHRoZSBvcGVuIGNsYXNzcm9vbS4gUnlhbiBsb29rZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClRoZSBjbGFzc3Jvb20gZG9vciB3YXMgY2xvc2VkLiBObyBicmFzcyBzdHJpcCBjcm9zc2VkIHRoZSBoYWxsd2F5IGZsb29yLiBIZSBoYWQgaWdub3JlZCB0aGUgd2FybmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY2hvb2wgaGFkIHByb3ZpZGVkIGEgZGVtb25zdHJhdGlvbi4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAkcnlhbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7UnlhbiBicmllZmx5IHNhdyBhbm90aGVyIGRhcmsgZG9vcndheSB3aXRoIGEgYnJhc3MgdGhyZXNob2xkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuUnlhbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBzY2hvb2wgbWF5IGNvbnRhaW4gb3RoZXIgZG9vcndheXMgcmVzZW1ibGluZyB0aGUgcHJpbmNpcGFsJiMzOTtzIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcnlhblRocmVhdHMucHVzaFVuaXF1ZSgmcXVvdDtPdGhlciByZXN0cmljdGVkIGRvb3J3YXlzIGluc2lkZSB0aGUgc2Nob29sJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gb2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gYnJpZWZseSBzYXcgYW5vdGhlciBkYXJrCglkb29yd2F5IG1hcmtlZCBieSBhIGJyYXNzIHRocmVzaG9sZC4KJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0tlZXAgd2Fsa2luZy0mZ3Q7UnlhbiBDaGFwdGVyIFN1bW1hcnldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyOCIgbmFtZT0iS2V2aW4gRXhhbWluZXMgdGhlIERvb3JmcmFtZSIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjkwMCw1NDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZm91bmREb29yZnJhbWVIZXhhZm9pbCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBGcm9udCBQb3JjaCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciB0aGUgZG9vcmZyYW1lIHN5bWJvbCBtYXRjaGVzIHRoZSBzdGFpcmNhc2UgY2FydmluZyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbGVhbmVkIHRvd2FyZCB0aGUgZG9vcmZyYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2l4IHBldGFscyBjdXJ2ZWQgaW5zaWRlIGEgd29ybiBjaXJjbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3ltYm9sIGhhZCBiZWVuIHBhaW50ZWQgb3ZlciByZXBlYXRlZGx5LCBidXQgZWFjaCBuZXcgbGF5ZXIgaGFkCglzdW5rIGludG8gdGhlIG9yaWdpbmFsIGdyb292ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21lb25lIGhhZCB3YW50ZWQgdG8gaGlkZSBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVBhaW50aW5nIG92ZXIgaXQgaGFkIG9ubHkgcHJlc2VydmVkIHRoZSBzaGFwZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRmb3VuZEJhbmlzdGVySGV4YWZvaWwmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcGljdHVyZWQgdGhlIGNhcnZpbmcgbmVhciB0aGUgc3RhaXJjYXNlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJU2FtZSBjaXJjbGUuIFNhbWUgcGV0YWxzLiBTYW1lIHdvcm4gZWRnZXMuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgc3RhaXJjYXNlIHN5bWJvbCBoYWQgbWFya2VkIHNvbWV0aGluZyBpbnNpZGUgdGhlIGhvdXNlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhpcyBvbmUgbWFya2VkIHRoZSB3YXkgb3V0LgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gdHJhY2VkIHRoZSBzaGFwZSB3aXRoIGhpcyBleWVzLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJQSBjaXJjbGUgc3Vycm91bmRpbmcgc2l4IHBldGFscy4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUl0IGxvb2tlZCBsZXNzIGxpa2UgZGVjb3JhdGlvbiBhbmQgbW9yZSBsaWtlIGEgYm91bmRhcnkgbWFya2VyLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJT25lIHBldGFsIGNhdWdodCB0aGUgbW9ybmluZyBsaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3byBuYXJyb3cgY3V0cyBhcHBlYXJlZCBpbnNpZGUgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzaGlmdGVkIGhpcyBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGN1dHMgYmVjYW1lIGNsZWFyZXIuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJSUkuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVJvbWFuIG51bWVyYWxzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGJhY2sgdGhyb3VnaCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaGFsbHdheSBhcHBlYXJlZCBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmUgc2Vjb25kLCB0aGUgcmVmbGVjdGVkIGZyb250IHBvcmNoIGNvbnRhaW5lZCB0aHJlZSBnaXJscy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9ubHkgQWJiaWUgd2FpdGVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHN0ZXBzLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1N0dWR5IHRoZSBoaWRkZW4gbnVtYmVyLSZndDtLZXZpbiBEaXNjb3ZlcnMgSUldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEyOSIgbmFtZT0iS2V2aW4gRGlzY292ZXJzIElJIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iOTAwLDU1MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRub3RpY2VkUm9tYW5JSSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIEhvdXNlOiBGcm9udCBZYXJkJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIElJIGNvbm5lY3RzIHRvIHRoZSBlYXJsaWVyIG1hcmtpbmdzJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9vZCBhdCB0aGUgYm90dG9tIG9mIHRoZSBwb3JjaCBzdGVwcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzeW1ib2wgcmVtYWluZWQgbmVhcmx5IGludmlzaWJsZSBiZW5lYXRoIHRoZSB3aGl0ZSBwYWludC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBoaWRkZW4gbnVtYmVyIGRpZCBub3QuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJSUkuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVR3by4KJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjIgc3RhbmRhcmQgYmF0Y2gyIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2Vhcmx5X3N0YWlyY2FzZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2Vhcmx5X3N0YWlyY2FzZS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7Jmx0O2lmICRub3RpY2VkUm9tYW5YSSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgYmFuaXN0ZXIgaGFkIGJlZW4gbWFya2VkIGBYSWAuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlFbGV2ZW4uCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgZnJvbnQgZG9vciB3YXMgbWFya2VkIGBJSWAuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUd28uCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUd28gc3ltYm9scy4gVHdvIG51bWJlcnMuIFR3byBsb2NhdGlvbnMgaW5zaWRlIHRoZSBzYW1lIGhvdXNlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJT3Igb25lIHNlcXVlbmNlIEtldmluIGhhZCBlbnRlcmVkIGluIHRoZSB3cm9uZyBvcmRlci4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZnJvbnQtZG9vciBJSSBtYXkgY29ubmVjdCB0byB0aGUgc3RhaXJjYXNlIFhJJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtSb21hbiBudW1lcmFsIElJIG9uIHRoZSBmcm9udCBkb29yZnJhbWUgbWF5IGNvbm5lY3Qgd2l0aCBzdGFpciBYSSZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtQb3NzaWJsZSBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgZG9vcmZyYW1lIHN5bWJvbCBpcyBtYXJrZWQKCQlJSSwgd2hpbGUgdGhlIHN0YWlyY2FzZSBzeW1ib2wgaXMgbWFya2VkIFhJLgoJJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRrbm93bGVkZ2UuS2V2aW4uaW5jbHVkZXMoJnF1b3Q7VGhlIGRhdGUgb24gTW9tJiMzOTtzIG5vdGUgYnJpZWZseSByZXNlbWJsZWQgSUkmcXVvdDspJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBzYW1lIHR3byBzdHJva2VzIGhhZCBhcHBlYXJlZCB3aGVuIHRoZSBmaW5hbCBkaWdpdCBvbiBNb20mIzM5O3MKCQlub3RlIGJyaWVmbHkgY2hhbmdlZC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUtldmluIGNvdWxkIGRpc21pc3Mgb25lIHN0cmFuZ2UgYElJYCBhcyBtaXNyZWFkIGluay4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVR3byBzZXBhcmF0ZSBhcHBlYXJhbmNlcyB3ZXJlIGJlZ2lubmluZyB0byByZXNlbWJsZSBpbnRlbnQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIElJIG9uIHRoZSBkb29yZnJhbWUgbWF0Y2hlcyB0aGUgbWFyayBLZXZpbiBzYXcgaW4gTW9tJiMzOTtzIG5vdGUmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBkb29yZnJhbWUgSUkgbWF0Y2hlcyB0aGUgYWx0ZXJlZCBkYXRlIG9uIE1vbSYjMzk7cyBub3RlJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O1Bvc3NpYmxlIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBkb29yZnJhbWUmIzM5O3MgSUkgbWF0Y2hlcwoJCXRoZSB0d28gc3Ryb2tlcyBLZXZpbiBicmllZmx5IHNhdyBpbiBNb20mIzM5O3Mgbm90ZS4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gZGlkIG5vdCBrbm93IHdoYXQgdGhlIG51bWJlciBpZGVudGlmaWVkLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJQSByb29tLiBBIGRhdGUuIEEgcG9zaXRpb24uIEEgd2FybmluZy4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCU9yIHRoZSBzZWNvbmQgcGFydCBvZiBzb21ldGhpbmcgaGUgaGFkIG5vdCBmb3VuZCB5ZXQuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0Egc2Vjb25kIHNpeC1wZXRhbGVkIHN5bWJvbCBtYXJrZWQgSUkgYXBwZWFyZWQgb24gdGhlIGZyb250IGRvb3JmcmFtZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QSBzaXgtcGV0YWxlZCBzeW1ib2wgbWFya2VkIElJIGlzIGNhcnZlZCBpbnRvIHRoZSBmcm9udCBkb29yZnJhbWUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7U2l4LXBldGFsZWQgc3ltYm9sIG1hcmtlZCBJSSBvbiB0aGUgV2luY2hlc3RlciBkb29yZnJhbWUmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyAkcGF0dGVybkNvdW50IHVuZXhwbGFpbmVkIGV2ZW50cy4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhvdXNlIGdhdmUgb25lIGxvdyB3b29kZW4gZ3JvYW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgdHJhdmVsZWQgZnJvbSB0aGUgcG9yY2ggcm9vZiB0byB0aGUgZm91bmRhdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHJlc2VtYmxlZCBhIHBlcnNvbiBzZXR0bGluZyBjb21mb3J0YWJseSBpbnRvIGEgY2hhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBiYWNrZWQgdG93YXJkIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmcm9udCBkb29yIHN0b29kIGNsb3NlZCBhbmQgY2FsbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUlubm9jZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTGlrZSBpdCBoYWQgbmV2ZXIgZG9uZSBhbnl0aGluZyB3cm9uZyBpbiBpdHMgZW50aXJlIGRvb3Itc2hhcGVkIGxpZmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbnVtZXJhbCBkaXNhcHBlYXJlZCBiZW5lYXRoIHRoZSBwYWludC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXJ2aW5nIHJlbWFpbmVkLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1B1dCBkaXN0YW5jZSBiZXR3ZWVuIHRoZW0gYW5kIHRoZSBob3VzZS0mZ3Q7S2V2aW4gYW5kIEFiYmllIFN0YXJ0IFdhbGtpbmddXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEzMCIgbmFtZT0iUHVsbHMgQXdheSBmcm9tIHRoZSBEb29yIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMTAyNSw1NDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZm91bmREb29yZnJhbWVIZXhhZm9pbCA9IHRydWUmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGplcmtlZCBoaXMgaGFuZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW52ZXN0aWdhdGluZyB0aGUgaG91c2Ugd2hpbGUgc3RhbmRpbmcgb3V0c2lkZSBpdCBkZWZlYXRlZCB0aGUgZW50aXJlCglwdXJwb3NlIG9mIGxlYXZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSB0b29rIEFiYmllJiMzOTtzIGhhbmQgYW5kIGd1aWRlZCBoZXIgZG93biB0aGUgcG9yY2ggc3RlcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtLZXZpbiwgSSBjYW4gd2Fsay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gd2h5IGFyZSB5b3UgcHVsbGluZyBtZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0VmZmljaWVudCBkZXBhcnR1cmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UmIzM5O3JlIHdhbGtpbmcgd2VpcmQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBnbGFuY2VkIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZnJvbnQgZG9vciByZW1haW5lZCBjbG9zZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc21hbGwgZmxvd2VyIGNhcnZlZCBpbnRvIGl0cyBmcmFtZSB3YXMgYmFyZWx5IHZpc2libGUgYmVuZWF0aCB0aGUKCXBhaW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHBldGFsIGRhcmtlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIG5hcnJvdyBsaW5lcyBjcm9zc2VkIGl0LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUlJLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgaGFkIHNlZW4gdGhlIG1hcmsgZnJvbSBzZXZlcmFsIGZlZXQgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgc2hvdWxkIG5vdCBoYXZlIGJlZW4gcG9zc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdHdvIGxpbmVzIHZhbmlzaGVkIGJlbmVhdGggdGhlIHBhaW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ga2VwdCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhY3QgdGhhdCBoZSByZWZ1c2VkIHRvIGludmVzdGlnYXRlIGRpZCBub3QgbWVhbiBoaXMgYnJhaW4gaGFkCglmYWlsZWQgdG8gcmVjb3JkIGl0LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0tlZXAgbW92aW5nLSZndDtLZXZpbiBEaXNjb3ZlcnMgSUldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEzMSIgbmFtZT0iS2V2aW4gU2hvd3MgQWJiaWUgdGhlIERvb3JmcmFtZSIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSI3NzUsNTUyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGZvdW5kRG9vcmZyYW1lSGV4YWZvaWwgPSB0cnVlJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBYmJpZSwgbG9vayBhdCB0aGlzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGNsaW1iZWQgYmFjayBvbnRvIHRoZSBwb3JjaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHBvaW50ZWQgdG8gdGhlIHNpeC1wZXRhbGVkIGNhcnZpbmcgYmVuZWF0aCB0aGUgcGFpbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIYXZlIHlvdSBzZWVuIHRoYXQgYmVmb3JlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbGVhbmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBob3VzZSBmbG93ZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0OyZsdDtpZiAka25vd2xlZGdlLkFiYmllLmluY2x1ZGVzKCZxdW90O0Egc2l4LXBldGFsZWQgc3ltYm9sIGlzIGNhcnZlZCBpbnRvIHRoZSBiYW5pc3RlciZxdW90OykmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7WW91IGNhbGxlZCB0aGUgc3RhaXJjYXNlIGNhcnZpbmcgdGhhdCB0b28uJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtCZWNhdXNlIHRoZXkmIzM5O3JlIHRoZSBzYW1lLiZxdW90OwoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7V2hhdCBpcyBhIGhvdXNlIGZsb3dlcj8mcXVvdDsKCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCSZxdW90O0EgZmxvd2VyIHRoYXQgYmVsb25ncyB0byB0aGUgaG91c2UuJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiBoYWQgZXhwZWN0ZWQgdGhpcyBleHBsYW5hdGlvbi4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUV4cGVjdGluZyBpdCBkaWQgbm90IG1ha2UgaXQgbW9yZSB1c2VmdWwuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglBYmJpZSByZWFjaGVkIHRvd2FyZCB0aGUgY2FydmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNhdWdodCBoZXIgd3Jpc3QgYmVmb3JlIHNoZSB0b3VjaGVkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5IGNhbiYjMzk7dCBJIHRvdWNoIGl0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkb24mIzM5O3Qga25vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gaG93IGRvIHlvdSBrbm93IEkgY2FuJiMzOTt0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IHRoZSBjbG9zZWQgZG9vci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1ByZXZlbnRpdmUgcnVsZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGV4YW1pbmVkIHRoZSBsb3dlciBwZXRhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgb25lIGhhcyB0d28gc3RpY2tzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9sbG93ZWQgaGVyIGdhemUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUd28gdGhpbiBzdHJva2VzIGVtZXJnZWQgZnJvbSBiZW5lYXRoIHRoZSBwYWludC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglJSS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSBzZWUgdGhvc2UgYmVmb3JlPyZxdW90OyBLZXZpbiBhc2tlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNob29rIGhlciBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBzaGUgZnJvd25lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01heWJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hlcmU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJbiB0aGUgY2VyZWFsLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RhcmVkIGF0IGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNraXBwZWQgZG93biB0aGUgcG9yY2ggc3RlcHMgYmVmb3JlIGhlIGNvdWxkIGFzayB0aGUgb2J2aW91cwoJZm9sbG93LXVwIHF1ZXN0aW9uLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtBIGhvdXNlLWZsb3dlciBzeW1ib2wgbWFya2VkIElJIGlzIGNhcnZlZCBpbnRvIHRoZSBmcm9udCBkb29yZnJhbWUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FiYmllIG1heSBoYXZlIHNlZW4gdHdvIGxpbmVzIG9yIHRoZSBob3VzZS1mbG93ZXIgc3ltYm9sIGluIGhlciBjZXJlYWwmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYXJlZCBvYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgQWJiaWUgaWRlbnRpZmllZCB0aGUgY2FydmluZyBhcyBhCgnigJxob3VzZSBmbG93ZXLigJ0gYW5kIG5vdGljZWQgdGhlIHR3byBzdHJva2VzIGluc2lkZSBvbmUgcGV0YWwuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tGb2xsb3cgQWJiaWUtJmd0O0tldmluIERpc2NvdmVycyBJSV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTMyIiBuYW1lPSJLZXZpbiBSZWNvcmRzIHRoZSBEb29yZnJhbWUiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSI5MDAsNTY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGZvdW5kRG9vcmZyYW1lSGV4YWZvaWwgPSB0cnVlJmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBvcGVuZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc2tldGNoZWQgdGhlIGNpcmNsZSwgdGhlbiBhZGRlZCBzaXggY3VydmVkIHBldGFscy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkcmF3aW5nIG1hdGNoZWQgdGhlIGRvb3JmcmFtZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRmb3VuZEJhbmlzdGVySGV4YWZvaWwmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSXQgYWxzbyBtYXRjaGVkIHRoZSBzdGFpcmNhc2UgY2FydmluZy4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUtldmluIGRyZXcgYSBzaG9ydCBsaW5lIGJldHdlZW4gdGhlIHR3byBlbnRyaWVzLgoJJmx0Oy9wJmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJCVN0YWlyY2FzZTogWEkuJmx0O2JyJmd0OwoJCUZyb250IGRvb3I6ID8KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSGUgd3JvdGUgJmx0O2VtJmd0O2Zyb250IGRvb3JmcmFtZSZsdDsvZW0mZ3Q7IGJlbmVhdGggdGhlIGRyYXdpbmcuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglXaGVuIEtldmluIGNoZWNrZWQgdGhlIGNhcnZpbmcgYWdhaW4sIHR3byB0aGluIGN1dHMgaGFkIGFwcGVhcmVkCglpbnNpZGUgaXRzIGxvd2VyIHBldGFsLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUlJLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglIZSBhZGRlZCB0aGUgUm9tYW4gbnVtZXJhbCBiZW5lYXRoIHRoZSBza2V0Y2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGVuY2lsIHBvaW50IHNuYXBwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZGFyayBsaW5lIGNvbnRpbnVlZCBhY3Jvc3MgdGhlIHBhZ2UgZXZlbiB0aG91Z2ggdGhlIGJyb2tlbiBwZW5jaWwKCW5vIGxvbmdlciB0b3VjaGVkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxpbmUgcmFuIGZyb20gdGhlIG51bWVyYWwgYElJYCB0byB0aGUgZWRnZSBvZiB0aGUgcGFwZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBwb2ludGVkIHRvd2FyZCB0aGUgaG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjbG9zZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRpbnZlbnRvcnkuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtEb29yZnJhbWUgaGV4YWZvaWwgc2tldGNoJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiByZWNvcmRlZCB0aGUgaGV4YWZvaWwgbWFya2VkIElJIG9uIHRoZSBmcm9udCBkb29yZnJhbWUmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O05vdGVzIHVwZGF0ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIHNrZXRjaGVkIHRoZSBkb29yZnJhbWUgc3ltYm9sCglhbmQgcmVjb3JkZWQgdGhlIFJvbWFuIG51bWVyYWwgSUkuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tQdXQgdGhlIG5vdGVib29rIGF3YXktJmd0O0tldmluIERpc2NvdmVycyBJSV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTMzIiBuYW1lPSJLZXZpbiBhbmQgQWJiaWUgU3RhcnQgV2Fsa2luZyIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSIxMDI1LDU2NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1dhbGsgQWJiaWUgdG8gZWxlbWVudGFyeSBzY2hvb2wgd2l0aG91dCBhdHRyYWN0aW5nIGF0dGVudGlvbiZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYW5kIEFiYmllIHJlYWNoZWQgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhyZWUgc3RlcHMgc2VwYXJhdGVkIHRoZW0gZnJvbSB0aGUgcG9yY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGZvdXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGZpdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VudGVkIHVudGlsIHRoZSBob3VzZSBubyBsb25nZXIgZmlsbGVkIGhpcyBwZXJpcGhlcmFsIHZpc2lvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGxvb2tlZCBiYWNrIG9uY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZnJvbnQgZG9vciByZW1haW5lZCBjbG9zZWQuIFRoZSB3aW5kb3dzIHJlZmxlY3RlZCB0aGUgcGFsZSBtb3JuaW5nCglza3kuIE5vIGRhcmsgZmlndXJlIHN0b29kIGJlaGluZCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hpY2ggc29tZWhvdyBmZWx0IHdvcnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW4gb3JkaW5hcnkgaG91c2Ugd291bGQgY3JlYWssIHNpZ2gsIHNldHRsZSwgb3IgY29tcGxhaW4gYWZ0ZXIgaXRzCglvY2N1cGFudHMgbGVmdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBXaW5jaGVzdGVyIGhvdXNlIHJlbWFpbmVkIHNpbGVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGRpZCBub3Qgc291bmQgZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzb3VuZGVkIG9jY3VwaWVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcmVhY2hlZCBmb3IgS2V2aW4mIzM5O3MgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGxvb2tlZCBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHNtaWxlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gc2hlIGJlZ2FuIHRvIHNpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglRdWlldGx5IGF0IGZpcnN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVjb2duaXplZCBub25lIG9mIHRoZSB3b3Jkcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBtZWxvZHkgc291bmRlZCBsaWtlIGEgbnVyc2VyeSByaHltZSB0cnlpbmcgdG8gcmVtZW1iZXIgaXRzZWxmLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2FuZyBhYm91dCBzdW5zaGluZSwgY2VyZWFsLCBhbmQgYSBzaGFkb3cgZmxvYXRpbmcgYXQgdGhlIGJvdHRvbQoJb2YgaGVyIGJvd2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBhbG1vc3Qgc3RvcHBlZCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QWJiaWU/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgY29udGludWVkIHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IHNoYWRvdz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCB1cCBhdCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIHNoYWRvdyBpbiB5b3VyIGNlcmVhbC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0JiMzOTtzIGp1c3QgYSBzb25nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IG1hZGUgaXQgdXA/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIHRoaW5rIHNvLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBhbnN3ZXIgd2FzIGNvbnNpZGVyYWJseSB3b3JzZSB0aGFuIHllcy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kIHRvIEFiYmllJiMzOTtzIHNvbmc/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0FzayBBYmJpZSB0byByZXBlYXQgdGhlIHdvcmRzIGV4YWN0bHktJmd0O0tldmluIFF1ZXN0aW9ucyB0aGUgQ2VyZWFsIFNvbmddXQoJW1tUZWxsIGhlciB0byBzdG9wIHNpbmdpbmcgYW5kIGtlZXAgbW92aW5nLSZndDtLZXZpbiBTdG9wcyB0aGUgQ2VyZWFsIFNvbmddXQoJW1tTaW5nIGFsb25nIHNvIHNoZSBkb2VzIG5vdCBub3RpY2UgaGlzIGNvbmNlcm4tJmd0O0tldmluIEpvaW5zIHRoZSBTb25nXV0KCVtbU2F5IG5vdGhpbmcgYW5kIGxpc3RlbiBmb3IgYW55dGhpbmcgdW51c3VhbC0mZ3Q7S2V2aW4gTGlzdGVucyB0byB0aGUgU29uZ11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTM0IiBuYW1lPSJLZXZpbiBRdWVzdGlvbnMgdGhlIENlcmVhbCBTb25nIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iODUwLDU3NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgb3V0IHdoZXJlIEFiYmllIGxlYXJuZWQgdGhlIGNlcmVhbCBzb25nJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gUXVlc3Rpb25zIHRoZSBDZXJlYWwgU29uZzoxOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLZXZpbiBRdWVzdGlvbnMgdGhlIENlcmVhbCBTb25nOjE6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTaW5nIHRoYXQgcGFydCBhZ2Fpbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQgc2tpcHBpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IHBhcnQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgc2hhZG93IGluIHlvdXIgY2VyZWFsLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGxvb2tlZCBhdCBLZXZpbiBhcyB0aG91Z2ggaGUgaGFkIGFza2VkIGhlciB0byByZXBlYXQgdGhlIGxlYXN0CglpbXBvcnRhbnQgcGFydCBvZiB0aGUgc29uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZG9uJiMzOTt0IHJlbWVtYmVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHNhbmcgaXQgZml2ZSBzZWNvbmRzIGFnby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NvbmdzIGRpc2FwcGVhciB3aGVuIHRoZXkmIzM5O3JlIGZpbmlzaGVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UmVhbCBzb25ncyBkb24mIzM5O3QuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNaW5lIGRvLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcmVzdW1lZCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9sbG93ZWQgYmVzaWRlIGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgZGlkIHRoZSBzaGFkb3cgbG9vayBsaWtlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgd2FzIGEgc2hhZG93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2FzIGl0IHNoYXBlZCBsaWtlIHNvbWV0aGluZz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0V2ZXJ5dGhpbmcgaXMgc2hhcGVkIGxpa2Ugc29tZXRoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gb3BlbmVkIGhpcyBtb3V0aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gY2xvc2VkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgaGFkIGFjY2lkZW50YWxseSBjb25zdHJ1Y3RlZCBhbiBhcmd1bWVudCBoZSBjb3VsZCBub3QgZXNjYXBlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSBhY3R1YWxseSBzZWUgc29tZXRoaW5nIGluIHlvdXIgYm93bD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBiZWNhbWUgcXVpZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVpciBzaG9lcyB0YXBwZWQgYWdhaW5zdCB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWl0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBmaW5hbGx5IG5vZGRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBtaWxrIGdvdCBkYXJrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVjYXVzZSBvZiB0aGUgY2VyZWFsPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IG1hZGUgaXQgZGFyaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBnaXJsLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY29udGludWVkIHRocmVlIHN0ZXBzIGJlZm9yZSBub3RpY2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgZ2lybD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBvbmUgaW4gdGhlIHNwb29uLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1vcm5pbmcgc2VlbWVkIHRvIGdyb3cgcXVpZXRlciBhcm91bmQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dhcyBzaGUgb25lIG9mIHRoZSBnaXJscyBmcm9tIHRoZSBwaG90b2dyYXBoPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGJhY2sgdG93YXJkIHRoZSBob3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZG9uJiMzOTt0IGtub3cuIFNoZSB3YXMgdXBzaWRlIGRvd24uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBwaWN0dXJlZCB0aGUgY3VydmVkIG1ldGFsIHNwb29uIHJlZmxlY3RpbmcgQWJiaWUmIzM5O3MgZmFjZSwgdGhlCglraXRjaGVuIGNlaWxpbmcsIGFuZCB0aGUgcm9vbSBiZWhpbmQgaGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSByZWZsZWN0aW9uIGNvdWxkIGRpc3RvcnQgYW55dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBjb3VsZCB0dXJuIEFiYmllIHVwc2lkZSBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY291bGQgbm90IGFkZCBhbm90aGVyIHBlcnNvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCBzaGUgc2F5IGFueXRoaW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2hvb2sgaGVyIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTaGUgcHV0IG9uZSBmaW5nZXIgYWdhaW5zdCBoZXIgbW91dGguJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYmFjayB0b3dhcmQgdGhlIFdpbmNoZXN0ZXIgaG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUga2l0Y2hlbiB3aW5kb3cgcmVmbGVjdGVkIHRoZSBza3kuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNtYWxsIHNoYXBlIHN0b29kIGJlaGluZCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBibGlua2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdpbmRvdyB3YXMgZW1wdHkuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0FiYmllIHNhdyBhbiB1cHNpZGUtZG93biBnaXJsIHJlZmxlY3RlZCBpbiBoZXIgY2VyZWFsIHNwb29uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBzYXcgYW4gdXBzaWRlLWRvd24gZ2lybCByZWZsZWN0ZWQgaW4gaGVyIHNwb29uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtBIHJlZmxlY3RlZCBnaXJsIGFwcGVhcmVkIGluIEFiYmllJiMzOTtzIGNlcmVhbCBzcG9vbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBzYXcgYSBnaXJsIGluIHRoZSByZWZsZWN0aW9uIG9mIGhlciBjZXJlYWwgc3Bvb24mcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYXJlZCBjbHVlOiZsdDsvc3Ryb25nJmd0OyBBYmJpZSBzYXlzIGFuIHVwc2lkZS1kb3duIGdpcmwgYXBwZWFyZWQKCWluIGhlciBzcG9vbiBhbmQgcGxhY2VkIG9uZSBmaW5nZXIgYWdhaW5zdCBoZXIgbW91dGguCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCSZxdW90O1doeSBkaWRuJiMzOTt0IHlvdSB0ZWxsIG1lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2hydWdnZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTaGUgd2FudGVkIG1lIHRvIGJlIHF1aWV0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBhbnN3ZXIgZGlkIG5vdCBoZWxwLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvd2FyZCBzY2hvb2wtJmd0O1RoZSBGaWVsZCBCZXNpZGUgdGhlIEhvdXNlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMzUiIG5hbWU9IktldmluIFN0b3BzIHRoZSBDZXJlYWwgU29uZyIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249Ijk2Mi41LDU3NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0tlZXAgQWJiaWUgbW92aW5nIHRvd2FyZCBzY2hvb2wmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBTdG9wcyB0aGUgQ2VyZWFsIFNvbmc6MTowY2Q2NzQwZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gU3RvcHMgdGhlIENlcmVhbCBTb25nOjE6MGNkNjc0MGQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O1BsZWFzZSBzdG9wIHNpbmdpbmcgdGhhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQgaW4gdGhlIG1pZGRsZSBvZiBhIHdvcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdW5maW5pc2hlZCBub3RlIHJlbWFpbmVkIGluIHRoZSBhaXIgZm9yIGEgbW9tZW50IGxvbmdlciB0aGFuIGl0CglzaG91bGQgaGF2ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaXQgZmFkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCZWNhdXNlIHdlIGFyZSBsYXRlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGNhbiB3YWxrIGFuZCBzaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBrbm93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IGNhbiBldmVuIHNraXAgYW5kIHNpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGFsc28ga25vdyB0aGF0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbmFycm93ZWQgaGVyIGV5ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgZG9uJiMzOTt0IGxpa2UgbXkgc29uZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBzb25nIGlzIGZpbmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgbWFkZSB0aGUgZmFjZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgZmFjZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBvbmUgd2hlcmUgeW91ciBicmFpbiBiaXRlcyB5b3UuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXQgaGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TXkgYnJhaW4gZG9lcyBub3QgYml0ZSBtZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGRvZXMgaW52aXNpYmxlIGJpdGVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYmVnYW4gd2Fsa2luZyBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGZvbGxvd2VkLCBidXQgc2hlIGRpZCBub3QgcmVzdW1lIHRoZSBzb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIHNldmVyYWwgc2Vjb25kcywgS2V2aW4gaGVhcmQgb25seSB0aGVpciBmb290c3RlcHMgYW5kIHRoZSBkaXN0YW50Cglzb3VuZCBvZiB0cmFmZmljLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgc29uZyBiZWdhbiBhZ2FpbiBiZWhpbmQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvZnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaWdoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRmFydGhlciBhd2F5IHRoYW4gdGhlIGhvdXNlIHNob3VsZCBoYXZlIGJlZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBvbmUgc3Rvb2Qgb24gdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBvcmNoIHJlbWFpbmVkIGVtcHR5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIFdpbmNoZXN0ZXIgaG91c2Ugd2FzIG5lYXJseSBhIGJsb2NrIGJlaGluZCB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNpbmdpbmcgY29udGludWVkIGZyb20gc29tZXdoZXJlIG5lYXIgaXRzIGZyb250IGRvb3IuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCByZXBlYXRlZCBBYmJpZSYjMzk7cyBmaW5hbCB1bmZpbmlzaGVkIGxpbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGlzIHRpbWUsIHRoZSB3b3JkcyB3ZXJlIGNsZWFyZXIuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJVGhlIGdpcmwgaW4gdGhlIG1pbGsgaXMgd2FpdGluZy4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIG1vdXRoIHdhcyBjbG9zZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IGhlYXIgdGhhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIG5vZGRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgd2FzbiYjMzk7dCBtZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRvb2sgaGVyIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IHdhbGtlZCBmYXN0ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGlzdGFudCB2b2ljZSByZXBlYXRlZCB0aGUgbGluZSBvbmNlIG1vcmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2Vjb25kIHRpbWUsIGl0IHNvdW5kZWQgY2xvc2VyLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtBIGRpc3RhbnQgdm9pY2UgY29udGludWVkIEFiYmllJiMzOTtzIHNvbmcgYWZ0ZXIgc2hlIHN0b3BwZWQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0Egdm9pY2UgbmVhciB0aGUgaG91c2UgY29udGludWVkIEFiYmllJiMzOTtzIGNlcmVhbCBzb25nJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtTb21lb25lIGVsc2UgcmVwZWF0ZWQgQWJiaWUmIzM5O3Mgc29uZyBuZWFyIHRoZSBob3VzZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBIHNlY29uZCB2b2ljZSBzYW5nIHRoYXQgdGhlIGdpcmwgaW4gdGhlIG1pbGsgd2FzIHdhaXRpbmcmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYXJlZCBjbHVlOiZsdDsvc3Ryb25nJmd0OyBBZnRlciBBYmJpZSBzdG9wcGVkIHNpbmdpbmcsIGFub3RoZXIKCXZvaWNlIGNvbnRpbnVlZCB0aGUgc29uZyBmcm9tIG5lYXIgdGhlIFdpbmNoZXN0ZXIgaG91c2UuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBzb25nIGVuZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBuZWFyYnkgZmllbGQgcnVzdGxlZCBpbiB0aGUgYWJzZW5jZSBpdCBsZWZ0IGJlaGluZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tEbyBub3QgbG9vayBiYWNrIGFnYWluLSZndDtUaGUgRmllbGQgQmVzaWRlIHRoZSBIb3VzZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTM2IiBuYW1lPSJLZXZpbiBKb2lucyB0aGUgU29uZyIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjEwODcuNSw1Nzc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtLZWVwIEFiYmllIGNoZWVyZnVsIHdoaWxlIGxpc3RlbmluZyB0byB0aGUgc29uZyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIEpvaW5zIHRoZSBTb25nOjE6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIEpvaW5zIHRoZSBTb25nOjE6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gSm9pbnMgdGhlIFNvbmc6MjoyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gSm9pbnMgdGhlIFNvbmc6MjoyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGpvaW5lZCB0aGUgc29uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGRpZCBub3Qga25vdyB0aGUgd29yZHMsIHNvIGhlIGNvbnRyaWJ1dGVkIHNvdW5kcyB0aGF0IHJlc2VtYmxlZAoJd29yZHMgZnJvbSBhIHNhZmUgZGlzdGFuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTdW5zaGluZSBicmlnaHQgYW5kIGNlcmVhbCBkYXksJnF1b3Q7IEFiYmllIHNhbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNdW1ibGUgbXVtYmxlIHdhbGsgYXdheSwmcXVvdDsgS2V2aW4gcmVwbGllZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxhdWdoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaG9zZSBhcmVuJiMzOTt0IHRoZSB3b3Jkcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgYW0gcGVyZm9ybWluZyB0aGUgYWR2YW5jZWQgdmVyc2lvbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBkb24mIzM5O3Qga25vdyB0aGUgYWR2YW5jZWQgdmVyc2lvbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgaXMgd2hhdCBtYWtlcyBpdCBhZHZhbmNlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNxdWVlemVkIGhpcyBoYW5kIGFuZCBiZWdhbiB0aGUgbmV4dCB2ZXJzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxpc3RlbmVkIGNsb3NlbHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc29uZyBkZXNjcmliZWQgdGhyZWUgZ2lybHMgc3RhbmRpbmcgaW4gYSByb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgd2F0Y2hlZCB0aGUgd2luZG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHdhdGNoZWQgdGhlIHN0YWlyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRoaXJkIHdhaXRlZCBiZW5lYXRoIHNvbWV0aGluZyBBYmJpZSBwcm9ub3VuY2VkIGFzCgkmbHQ7ZW0mZ3Q7ZXZlcnktc3F1YXJlJmx0Oy9lbSZndDsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGlzIGV2ZXJ5LXNxdWFyZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNocnVnZ2VkLiAmcXVvdDtJdCYjMzk7cyB3aGVyZSBzaGUgd2FpdHMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGVyZSBkaWQgeW91IGhlYXIgdGhhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBqdXN0IHNhbmcgaXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtObywgSSBkaWRuJiMzOTt0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHNhbmcgdGhlIGxvdyBwYXJ0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVtZW1iZXJlZCBtdW1ibGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGRpZCBub3QgcmVtZW1iZXIgd29yZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdGFydGVkIHRoZSB2ZXJzZSBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoaXMgdGltZSwgS2V2aW4gcmVtYWluZWQgc2lsZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBsb3dlciB2b2ljZSBqb2luZWQgaGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbWF0Y2hlZCB0aGUgbWVhbmluZ2xlc3MgdHVuZSBLZXZpbiBoYWQgYmVlbiBtdW1ibGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB2b2ljZSBjYW1lIGZyb20gZGlyZWN0bHkgYmVoaW5kIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaWRld2FsayB3YXMgZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbG93IHZvaWNlIGNvbnRpbnVlZCBiZXNpZGUgQWJiaWUmIzM5O3Mgc29uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGZvcm1lZCB0aHJlZSBjbGVhciB3b3JkczoKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglFdmVyeSBzdGFpci4gRWxldmVuLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIHdhbGtpbmcuCiZsdDsvcCZndDsKJmx0OyZsdDtpZiAkbm90aWNlZFJvbWFuWEkmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJSGlzIHRob3VnaHRzIHJldHVybmVkIHRvIHRoZSBkYXJrIGVsZXZlbnRoIHN0ZXAgaW5zaWRlIHRoZSBob3VzZS4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVN0YWlyIGBYSWAuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgc29uZyBoYWQgbm90IHNhaWQgJmx0O2VtJmd0O2V2ZXJ5LXNxdWFyZSZsdDsvZW0mZ3Q7LgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSXQgaGFkIHNhaWQgJmx0O2VtJmd0O2V2ZXJ5IHN0YWlyJmx0Oy9lbSZndDsuCgkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QSBzZWNvbmQgdm9pY2UgY29ubmVjdGVkIEFiYmllJiMzOTtzIHNvbmcgdG8gc3RhaXIgWEkmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0Egdm9pY2UgaW4gQWJiaWUmIzM5O3Mgc29uZyBzYWlkICYjMzk7RXZlcnkgc3RhaXIuIEVsZXZlbi4mIzM5OyZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtQb3NzaWJsZSBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBBIHNlY29uZCB2b2ljZSBpbiB0aGUgc29uZwoJCWFwcGVhcmVkIHRvIHJlZmVyZW5jZSB0aGUgZWxldmVudGggc3RhaXIuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCUtldmluIGRpZCBub3QgdW5kZXJzdGFuZCB0aGUgcmVmZXJlbmNlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSGUgdW5kZXJzdG9vZCB0aGF0IG5laXRoZXIgaGUgbm9yIEFiYmllIGhhZCBwcm9kdWNlZCB0aGUgdm9pY2UuCgkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QSBzZWNvbmQgdm9pY2UgaW4gQWJiaWUmIzM5O3Mgc29uZyBzYWlkICYjMzk7RXZlcnkgc3RhaXIuIEVsZXZlbi4mIzM5OyZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QSB2b2ljZSBpbiBBYmJpZSYjMzk7cyBzb25nIG1lbnRpb25lZCBldmVyeSBzdGFpciBhbmQgZWxldmVuJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O1VuZXhwbGFpbmVkIHdvcmRzOiZsdDsvc3Ryb25nJmd0OyBBIHNlY29uZCB2b2ljZSBqb2luZWQgdGhlIHNvbmcKCQlhbmQgc2FpZCwg4oCcRXZlcnkgc3RhaXIuIEVsZXZlbi7igJ0KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtBbiB1bnNlZW4gdm9pY2Ugam9pbmVkIEtldmluIGFuZCBBYmJpZSYjMzk7cyBzb25nJnF1b3Q7KSZndDsmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3RvcHBlZCBzaW5naW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxvd2VyIHZvaWNlIGZpbmlzaGVkIHRoZSBmaW5hbCBub3RlIGFsb25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBpdCB3YXMgZ29uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCB1cCBhdCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBzYW5nIGl0IGJldHRlciBiZWZvcmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkZWNpZGVkIG5vdCB0byBhcmd1ZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0b3dhcmQgdGhlIGZpZWxkLSZndDtUaGUgRmllbGQgQmVzaWRlIHRoZSBIb3VzZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTM3IiBuYW1lPSJLZXZpbiBMaXN0ZW5zIHRvIHRoZSBTb25nIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTIxMi41LDU3NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0xpc3RlbiBmb3IgYW55dGhpbmcgaGlkZGVuIGluc2lkZSBBYmJpZSYjMzk7cyBzb25nJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gTGlzdGVucyB0byB0aGUgU29uZzoxOjgwYmY4ZWVlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLZXZpbiBMaXN0ZW5zIHRvIHRoZSBTb25nOjE6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzYWlkIG5vdGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBsaXN0ZW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllJiMzOTtzIHZvaWNlIHJvc2UgYW5kIGZlbGwgYXMgc2hlIHNraXBwZWQgYmVzaWRlIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0dW5lIGhhZCBubyBjb25zaXN0ZW50IHJoeXRobS4gTGluZXMgYXBwZWFyZWQsIGRpc2FwcGVhcmVkLCBhbmQKCXJldHVybmVkIHdpdGggZGlmZmVyZW50IHdvcmRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgc2hvdWxkIGhhdmUgYmVlbiBvcmRpbmFyeSBub25zZW5zZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1vc3Qgb2YgaXQgd2FzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3Vuc2hpbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDZXJlYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNwb29uIHRoYXQgd2FudGVkIHRvIHZpc2l0IHRoZSBtb29uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgcGF0dGVybiBjaGFuZ2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRXZlcnkgc2l4dGggbGluZSBjb250YWluZWQgdGhlIHNhbWUgd29yZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhvdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYmVnYW4gY291bnRpbmcgc2lsZW50bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUuIFR3by4gVGhyZWUuIEZvdXIuIEZpdmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIb3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lLiBUd28uIFRocmVlLiBGb3VyLiBGaXZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBkaWQgbm90IGFwcGVhciB0byBub3RpY2UgdGhlIHJlcGV0aXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsaXN0ZW5lZCBmb3IgdGhlIG5leHQgb25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNpeHRoIGxpbmUgYXJyaXZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNhbmcgYSBkaWZmZXJlbnQgd29yZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGFsbW9zdCByZWxheGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzZWNvbmQgdm9pY2Ugd2hpc3BlcmVkICZsdDtlbSZndDtob3VzZSZsdDsvZW0mZ3Q7IGJlbmVhdGggaGVycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb3VuZCBjYW1lIGZyb20gdGhlIHN0b3JtIGRyYWluIGJlc2lkZSB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCURhcmtuZXNzIHdhaXRlZCBiZW5lYXRoIHRoZSBpcm9uIGdyYXRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzaGFsbG93IHRyaWNrbGUgb2Ygd2F0ZXIgbW92ZWQgdGhyb3VnaCB0aGUgY2hhbm5lbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3YXRlciBmbG93ZWQgdG93YXJkIHRoZSBXaW5jaGVzdGVyIGhvdXNlIGluc3RlYWQgb2YgZG93bmhpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNtYWxsIG9iamVjdCByZXN0ZWQgYmVuZWF0aCB0aGUgZ3JhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglXaGl0ZSBwYXBlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIHRoZSBjb3JuZXIgb2YgYSBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhyZWUgZGFyayBzaGFwZXMgYXBwZWFyZWQgYWxvbmcgaXRzIHZpc2libGUgZWRnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNyb3VjaGVkIHNsaWdodGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdhdGVyIHB1bGxlZCB0aGUgb2JqZWN0IGludG8gdGhlIGRyYWluIGJlZm9yZSBoZSBjb3VsZCBzZWUgbW9yZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FiYmllLCBzdG9wLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHN0b3BwZWQgc2luZ2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3aGlzcGVyIGNvbnRpbnVlZCB0aHJvdWdoIHRoZSB1bmRlcmdyb3VuZCBwaXBlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIb3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhvdXNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRWFjaCByZXBldGl0aW9uIG1vdmVkIGZhcnRoZXIgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRvd2FyZCBob21lLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtBIHZvaWNlIGJlbmVhdGggdGhlIHN0cmVldCByZXBlYXRlZCB0aGUgd29yZCBob3VzZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7RXZlcnkgc2l4dGggbGluZSBvZiBBYmJpZSYjMzk7cyBzb25nIGNvbnRhaW5lZCB0aGUgd29yZCBob3VzZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QSBwYXBlciByZXNlbWJsaW5nIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGggbW92ZWQgYmVuZWF0aCB0aGUgc3Rvcm0gZHJhaW4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7U29tZXRoaW5nIHJlc2VtYmxpbmcgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCBhcHBlYXJlZCBiZW5lYXRoIGEgc3Rvcm0gZHJhaW4mcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1Bvc3NpYmxlIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIGJyaWVmbHkgc2F3IGEgcGFwZXIgcmVzZW1ibGluZwoJdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCBiZW5lYXRoIHRoZSBzdG9ybSBkcmFpbi4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbGVhbmVkIG92ZXIgdGhlIGdyYXRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBhcmUgeW91IGxvb2tpbmcgYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOb3RoaW5nIG5vdy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gYmVuZWF0aCB0aGUgc3RyZWV0IGNhbWUgdGhyZWUgZmFpbnQgdGFwcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0ZXBwZWQgYXdheSBmcm9tIHRoZSBkcmFpbiB3aXRob3V0IGJlaW5nIHRvbGQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgdG93YXJkIHRoZSBmaWVsZC0mZ3Q7VGhlIEZpZWxkIEJlc2lkZSB0aGUgSG91c2VdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjEzOCIgbmFtZT0iVGhlIEZpZWxkIEJlc2lkZSB0aGUgSG91c2UiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI5NjIuNSw1OTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtGaWVsZCBOZWFyIHRoZSBXaW5jaGVzdGVyIEhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0dldCBBYmJpZSBwYXN0IHRoZSBmaWVsZCBhbmQgY29udGludWUgdG93YXJkIHNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNpZGV3YWxrIGN1cnZlZCBwYXN0IHRoZSBvcGVuIGZpZWxkIGJlc2lkZSB0aGUgV2luY2hlc3RlcgoJcHJvcGVydHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoYWQgc2VlbiB0aGUgZmllbGQgZXZlcnkgZGF5IHNpbmNlIHRoZXkgbW92ZWQgdG8gQnJlY2tlbnJpZGdlLgoJSXQgd2FzIG1vc3RseSB0YWxsIGdyYXNzLCBiYXJlIHBhdGNoZXMgb2YgZGlydCwgYW5kIG9uZSBsYXJnZSBvYWsgdHJlZQoJc3RhbmRpbmcgbmVhciB0aGUgZWRnZSBvZiB0aGUgd29vZHMuCiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtcDIgc3RhbmRhcmQgYmF0Y2gyIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2Vhcmx5X29hayZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2Vhcmx5X29hay5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7cCZndDsKCVRoZXJlIHdhcyBub3RoaW5nIHJlbWFya2FibGUgYWJvdXQgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IG1vcm5pbmcsIHRoZSBmaWVsZCBsb29rZWQgZGlmZmVyZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyYXNzIGhhZCBsb3N0IG1vc3Qgb2YgaXRzIGNvbG9yLiBCcm93biBzdGFsa3MgbGVhbmVkIGF3YXkgZnJvbQoJdGhlIG9hayBhcyB0aG91Z2ggdGhlIGdyb3VuZCBiZW5lYXRoIHRoZSB0cmVlIGhhZCBwdXNoZWQgdGhlbSBhc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvYWsgc3Rvb2QgYWxvbmUgaW4gdGhlIG1pZGRsZSBvZiB0aGUgZGVhZCBncmFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyB0cnVuayBhcHBlYXJlZCB3aWRlciB0aGFuIEtldmluIHJlbWVtYmVyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgYnJhbmNoZXMgdHdpc3RlZCBhdCBzaGFycCBhbmdsZXMsIGNyb3NzaW5nIG9uZSBhbm90aGVyIGxpa2UKCWZpbmdlcnMgdHJ5aW5nIHRvIGZvcm0gYSBjYWdlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2xvd2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY29udGludWVkIHdhbGtpbmcgdW50aWwgdGhlaXIgam9pbmVkIGhhbmRzIHB1bGxlZCB0aWdodCBiZXR3ZWVuCgl0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdD8mcXVvdDsgc2hlIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IHRoZSB0cmVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhdCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RvZXMgdGhhdCBsb29rIG5vcm1hbCB0byB5b3U/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgZXhhbWluZWQgdGhlIGZpZWxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGdyYXNzIG5lZWRzIHdhdGVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIHRyZWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCYjMzk7cyBhIHRyZWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cgaXQmIzM5O3MgYSB0cmVlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlbiB3aHkgZGlkIHlvdSBhc2s/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoYWQgbm8gYW5zd2VyIHRoYXQgd291bGQgc3Vydml2ZSBmdXJ0aGVyIHF1ZXN0aW9uaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbG9va2VkIGJhY2sgYXQgdGhlIG9hay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmUgc2Vjb25kLCBpdCB3YXMgYW4gb3JkaW5hcnkgdHJlZSBjb3ZlcmVkIGluIGdyZWVuIGxlYXZlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIG1vcm5pbmcgbGlnaHQgc2hpZnRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsZWF2ZXMgZGlzYXBwZWFyZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnJhbmNoZXMgYmVjYW1lIGRhcmsgYW5kIGJhcmUgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21ldGhpbmcgc3Rvb2QgYW1vbmcgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvdWxkIG5vdCBzZWUgYSBmYWNlIG9yIGNsb3RoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25seSBhIG5hcnJvdyBzaGFwZSBwb3NpdGlvbmVkIGhpZ2ggYWJvdmUgdGhlIGdyb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyB0b28gbGFyZ2UgdG8gYmUgYSBiaXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVG9vIHN0aWxsIHRvIGJlIGFuIGFuaW1hbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFuZCB0b28gc3RyYWlnaHQgdG8gYmUgcGFydCBvZiB0aGUgdHJlZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGJsaW5rZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2hhcGUgd2FzIGdvbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnJhbmNoZXMgY29udGludWVkIHBvaW50aW5nIHRvd2FyZCB0aGUgZW1wdHkgcGxhY2Ugd2hlcmUgaXQgaGFkCgliZWVuLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpblNhd1RyZWVGaWd1cmUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O0tldmluIHNhdyBhIHRhbGwgc2hhcGUgaW4gdGhlIG9hayB0cmVlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBzYXcgYSB0YWxsIHNoYXBlIHN0YW5kaW5nIGFtb25nIHRoZSBvYWsgYnJhbmNoZXMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGFsbCBzaGFwZSBzZWVuIGluIHRoZSBvYWsgdHJlZSBuZWFyIHRoZSBXaW5jaGVzdGVyIGhvdXNlJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7a2V2aW4tcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgUGF0dGVybjombHQ7L3N0cm9uZyZndDsgJHBhdHRlcm5Db3VudCB1bmV4cGxhaW5lZCBldmVudHMuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUEgY29sZCBwcmVzc3VyZSBzZXR0bGVkIG92ZXIgdGhlIGZpZWxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYnJlYXRoZWQgb3V0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzbWFsbCB3aGl0ZSBjbG91ZCBmb3JtZWQgaW4gZnJvbnQgb2YgaGlzIG1vdXRoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBzaG91bGQgbm90IGhhdmUgaGFwcGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgZWFybHkgU2VwdGVtYmVyLCBub3Qgd2ludGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgYnJlYXRoZWQgb3V0IGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW5vdGhlciBwYWxlIGNsb3VkIGFwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUmIzM5O3MgYnJlYXRoIHJlbWFpbmVkIGludmlzaWJsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdhdGNoZWQgY2FyZWZ1bGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGV4aGFsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgZXhoYWxlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdoaXRlIHZhcG9yIGRyaWZ0ZWQgYmV0d2VlbiB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNvbGQgc3Vycm91bmRlZCBLZXZpbiBidXQgZGlkIG5vdCBhcHBlYXIgdG8gdG91Y2ggQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBcmUgeW91IGNvbGQ/JnF1b3Q7IGhlIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2hvb2sgaGVyIGhlYWQuICZxdW90O0FyZSB5b3U/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBicmVhdGggZm9ybWVkIGFub3RoZXIgY2xvdWQgYW5kIGltbWVkaWF0ZWx5IHByb3ZlZCBoaW0gd3JvbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdmFwb3IgZGlkIG5vdCBkaXNhcHBlYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzdHJldGNoZWQgdG93YXJkIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgdGhpbiB3aGl0ZSBzdHJhbmQgY3Jvc3NlZCB0aGUgZGVhZCBncmFzcyBhbmQgY3VybGVkIGFyb3VuZCB0aGUgb2FrCgl0cnVuay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0cmVlIGFwcGVhcmVkIHRvIGluaGFsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3aGl0ZSB2YXBvciB2YW5pc2hlZCBpbnRvIGEgZGFyayBzcGxpdCBpbiBpdHMgYmFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRvb2sgb25lIHN0ZXAgYmFja3dhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSYjMzk7cyBoYW5kIHRpZ2h0ZW5lZCBhcm91bmQgaGlzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSBoZWFyIHRoYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoZWxkIHN0aWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBydXN0bGluZyBzb3VuZCBtb3ZlZCB0aHJvdWdoIHRoZSBidXNoZXMgYmVzaWRlIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB3aW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyYXNzIG5lYXJlc3QgdGhlIHNpZGV3YWxrIHJlbWFpbmVkIHN0aWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJ1c3RsaW5nIGNvbnRpbnVlZCBpbnNpZGUgdGhlIGJ1c2hlcywgY2lyY2xpbmcgZnJvbSBvbmUgc2lkZSB0bwoJdGhlIG90aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXRoaW5nIHdhcyBtb3ZpbmcgdG93YXJkIHRoZW0uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2V2aW4gcmVzcG9uZD8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtNb3ZlIGJldHdlZW4gQWJiaWUgYW5kIHRoZSBidXNoZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgRmllbGQgQmVzaWRlIHRoZSBIb3VzZToxOjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgRmllbGQgQmVzaWRlIHRoZSBIb3VzZToxOjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgRmllbGQgQmVzaWRlIHRoZSBIb3VzZToyOjJmYWZmNGIyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgRmllbGQgQmVzaWRlIHRoZSBIb3VzZToyOjJmYWZmNGIyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFNoaWVsZHMgQWJiaWUgYXQgdGhlIEZpZWxkJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1N0dWR5IHRoZSBidXNoZXMgYW5kIHdhaXQgZm9yIHRoZSBzb3VyY2UgdG8gZW1lcmdlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIEZpZWxkIEJlc2lkZSB0aGUgSG91c2U6MzozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6VGhlIEZpZWxkIEJlc2lkZSB0aGUgSG91c2U6MzozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBXYXRjaGVzIHRoZSBGaWVsZCBCdXNoZXMmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UHVsbCBBYmJpZSBhd2F5IGFuZCBjb250aW51ZSB0b3dhcmQgc2Nob29sLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIEZpZWxkIEJlc2lkZSB0aGUgSG91c2U6NDo4MGJmOGVlZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6VGhlIEZpZWxkIEJlc2lkZSB0aGUgSG91c2U6NDo4MGJmOGVlZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBGaWVsZCBCZXNpZGUgdGhlIEhvdXNlOjU6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBGaWVsZCBCZXNpZGUgdGhlIEhvdXNlOjU6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gSHVycmllcyBQYXN0IHRoZSBGaWVsZCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgQWJiaWUgd2hhdCBzaGUgaGVhcmQgYmVmb3JlIHJlYWN0aW5nLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIEZpZWxkIEJlc2lkZSB0aGUgSG91c2U6NjpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6VGhlIEZpZWxkIEJlc2lkZSB0aGUgSG91c2U6NjpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBBc2tzIEFiYmllIEFib3V0IHRoZSBTb3VuZCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxMzkiIG5hbWU9IktldmluIFNoaWVsZHMgQWJiaWUgYXQgdGhlIEZpZWxkIiB0YWdzPSJiZy1ob3VzZSIgcG9zaXRpb249IjE0MjUsNTgwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7RmllbGQgTmVhciB0aGUgV2luY2hlc3RlciBIb3VzZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtLZWVwIEFiYmllIGF3YXkgZnJvbSB3aGF0ZXZlciBpcyBtb3ZpbmcgaW4gdGhlIGJ1c2hlcyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RlcHBlZCBiZXR3ZWVuIEFiYmllIGFuZCB0aGUgYnVzaGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1vdmVtZW50IGluc2lkZSB0aGVtIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBrZXB0IG9uZSBhcm0gZXh0ZW5kZWQgYmVoaW5kIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1N0YXkgdGhlcmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsZWFuZWQgYXJvdW5kIGhpbS4gJnF1b3Q7V2h5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVjYXVzZSBzb21ldGhpbmcgaXMgaW4gdGhlIGJ1c2hlcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O01heWJlIGl0IGxpdmVzIHRoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBkb2VzIG5vdCBtYWtlIGl0IHNhZmVyLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgbWFrZXMgaXQgaG9tZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGRpZCBub3QgaGF2ZSB0aW1lIHRvIGV4cGxhaW4gdGhhdCBsaXZpbmcgc29tZXdoZXJlIGRpZCBub3QKCWF1dG9tYXRpY2FsbHkgbWFrZSBpdHMgcmVzaWRlbnRzIGZyaWVuZGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJyYW5jaGVzIHNoaWZ0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21ldGhpbmcgbW92ZWQgbG93IHRvIHRoZSBncm91bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3aWRlbmVkIGhpcyBzdGFuY2UsIHdoaWNoIHdhcyBob3cgcGVvcGxlIHN0b29kIHdoZW4gcHJvdGVjdGluZwoJc29tZW9uZSBpbiBtb3ZpZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBmZWx0IGxlc3MgaW1wcmVzc2l2ZSB3aGlsZSB3ZWFyaW5nIGEgc2Nob29sIGJhY2twYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJ1c3RsaW5nIGNpcmNsZWQgYmVoaW5kIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdGhpbmcgaGFkIGNyb3NzZWQgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1vdmVtZW50IGNvbnRpbnVlZCBvbiB0aGUgb3RoZXIgc2lkZSBhbnl3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21ldGhpbmcgYnJ1c2hlZCBhZ2FpbnN0IHRoZSBiYWNrIG9mIGhpcyBsZWcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBqdW1wZWQgZm9yd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxhdWdoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEb24mIzM5O3QgbGF1Z2guJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UganVtcGVkIGxpa2UgYSBmcm9nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U29tZXRoaW5nIHRvdWNoZWQgbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgYmVoaW5kIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vdGhpbmcmIzM5O3MgdGhlcmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGRhbXAgc3RyZWFrIG1hcmtlZCB0aGUgYmFjayBvZiBLZXZpbiYjMzk7cyBwYW50IGxlZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZpdmUgbmFycm93IGxpbmVzIHJhbiB0aHJvdWdoIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSByZXNlbWJsZWQgdGhlIHRvZXMgb2YgYSBzbWFsbCB3ZXQgZm9vdHByaW50LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGZvdW5kV2V0Rm9vdHByaW50Jmd0OyZndDsKCSZsdDtwJmd0OwoJCUtldmluIHJlbWVtYmVyZWQgdGhlIHByaW50IGF0IHRoZSBib3R0b20gb2YgdGhlIHN0YWlyY2FzZS4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUJhcmVmb290LiBTbWFsbGVyIHRoYW4gaGlzLiBMYXJnZXIgdGhhbiBBYmJpZSYjMzk7cy4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoZSBtYXJrcyBvbiBoaXMgcGFudCBsZWcgYXBwZWFyZWQgdG8gYmUgdGhlIHNhbWUgc2l6ZS4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgbWFya3Mgb24gS2V2aW4mIzM5O3MgcGFudCBsZWcgcmVzZW1ibGVkIHRoZSB3ZXQgZm9vdHByaW50IGluc2lkZSB0aGUgaG91c2UmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1dldCBtYXJrcyBuZWFyIHRoZSBmaWVsZCBtYXRjaGVkIHRoZSBzdGFpcmNhc2UgZm9vdHByaW50JnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O1Bvc3NpYmxlIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBtYXJrcyBvbiBLZXZpbiYjMzk7cyBwYW50CgkJbGVnIHJlc2VtYmxlZCB0aGUgd2V0IGZvb3RwcmludCBmcm9tIGluc2lkZSB0aGUgaG91c2UuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCUtldmluIHJ1YmJlZCB0aGUgc3RyZWFrLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSXQgc21lbGxlZCBvZiB3ZXQgc29pbC4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtGaXZlIHdldCBtYXJrcyBhcHBlYXJlZCBvbiBLZXZpbiYjMzk7cyBwYW50IGxlZyBuZWFyIHRoZSBmaWVsZCZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtVbmV4cGxhaW5lZCBtYXJrOiZsdDsvc3Ryb25nJmd0OyBGaXZlIG5hcnJvdyBzdHJlYWtzIGFwcGVhcmVkIG9uCgkJS2V2aW4mIzM5O3MgcGFudCBsZWcgYWZ0ZXIgc29tZXRoaW5nIGJydXNoZWQgcGFzdCBoaW0uCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBidXNoZXMgcnVzdGxlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoaXMgdGltZSwgc29tZXRoaW5nIG9yYW5nZSBhcHBlYXJlZCBiZXR3ZWVuIHRoZSBsZWF2ZXMuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbS2VlcCBBYmJpZSBiZWhpbmQgaGltLSZndDtUaGUgT3JhbmdlIENhdCBBcHBlYXJzXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNDAiIG5hbWU9IlRoZSBPcmFuZ2UgQ2F0IEFwcGVhcnMiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxNDI1LDU5MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0OiBFZGdlIG9mIHRoZSBGaWVsZCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZWNpZGUgd2hldGhlciB0aGUgb3JhbmdlIGNhdCBpcyBzYWZlIHRvIGFwcHJvYWNoJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgb3JhbmdlIGNhdCBzdGVwcGVkIG9udG8gdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LXAyIHN0YW5kYXJkIGJhdGNoMiB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtvcmFuZ2VfY2F0X2ZpZWxkJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfb3JhbmdlX2NhdF9maWVsZC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7cCZndDsKCUl0IHdhcyBsYXJnZXIgdGhhbiBLZXZpbiBoYWQgZXhwZWN0ZWQsIHdpdGggdGhpY2sgZnVyLCBhIGJyb2FkIGZhY2UsCglhbmQgYSBzdG9tYWNoIHN1Z2dlc3RpbmcgdGhhdCBodW50aW5nIHdhcyBtb3JlIG9mIGEgaG9iYnkgdGhhbiBhCgluZWNlc3NpdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IHN0b3BwZWQgc2V2ZXJhbCBmZWV0IGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBsb29rZWQgYXQgQWJiaWUgZmlyc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgb2FrIHRyZWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGVsaWJlcmF0ZSBzZXF1ZW5jZSByZW1pbmRlZCBLZXZpbiBvZiBzb21lb25lIGNoZWNraW5nIG5hbWVzCglhZ2FpbnN0IGEgbGlzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgbmFycm93IGxlYXRoZXIgY29sbGFyIGNpcmNsZWQgdGhlIGNhdCYjMzk7cyBuZWNrLiBTb21ldGhpbmcgbWV0YWxsaWMKCWh1bmcgYmVuZWF0aCBpdHMgY2hpbiwgYnV0IHRoZSB0aGljayBmdXIgY29uY2VhbGVkIG1vc3Qgb2YgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGRpZCBub3QgbWVvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGRpZCBub3QgcnViIGFnYWluc3QgdGhlaXIgbGVncyBvciBwZXJmb3JtIGFueSBvZiB0aGUgbm9ybWFsCglhY3Rpdml0aWVzIGNhdHMgdXNlZCB0byBjb252aW5jZSBwZW9wbGUgdGhhdCBmZWVkaW5nIHRoZW0gaGFkIGJlZW4KCXRoZSBodW1hbiYjMzk7cyBpZGVhLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgb25seSB3YXRjaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY3JvdWNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIZWxsbywgcHJldHR5IGNhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQmIzM5O3MgdGFpbCBmbGlja2VkIG9uY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEb24mIzM5O3QgdG91Y2ggaXQsJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBjb3VsZCBiaXRlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZXhhbWluZWQgdGhlIGNhdC4gJnF1b3Q7SXQgZG9lc24mIzM5O3QgbG9vayBiaXRleS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vdGhpbmcgbG9va3MgYml0ZXkgdW50aWwgdGhlIGJpdGluZyBiZWdpbnMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IG9wZW5lZCBpdHMgbW91dGguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGVwcGVkIGJhY2t3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gc291bmQgY2FtZSBvdXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbnN0ZWFkLCB0aGUgc21hbGwgbWV0YWwgb2JqZWN0IGJlbmVhdGggaXRzIGNvbGxhciBzd3VuZyBpbnRvIHZpZXcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgbm90IGEgYmVsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBhIHJvdW5kIHNpbHZlciB0YWcgbWFya2VkIHdpdGggYSB3b3JuIHNpeC1wZXRhbGVkIGZsb3dlci4KJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRmb3VuZERvb3JmcmFtZUhleGFmb2lsIG9yICRmb3VuZEJhbmlzdGVySGV4YWZvaWwmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcmVjb2duaXplZCB0aGUgc3ltYm9sIGltbWVkaWF0ZWx5LgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHNhbWUgY2lyY2xlLiBUaGUgc2FtZSBzaXggcGV0YWxzLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGhvdXNlIGZsb3dlci4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBkZXNpZ24gbG9va2VkIGRlbGliZXJhdGUgYW5kIG9sZCwgdW5saWtlIGFueSBvcmRpbmFyeSBwZXQKCQl0YWcgS2V2aW4gaGFkIHNlZW4uCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgdGFnIHR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyBoYWQgYmVlbiBzY3JhdGNoZWQgaW50byBpdHMgcmV2ZXJzZSBzaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY291bGQgbm90IHJlYWQgaXQgZnJvbSB3aGVyZSBoZSBzdG9vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgbG9va2VkIHRvd2FyZCB0aGUgb2FrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRyZWUgY3JlYWtlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQmIzM5O3MgZWFycyBmbGF0dGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3IgdGhlIGZpcnN0IHRpbWUsIHRoZSBhbmltYWwgbG9va2VkIGxlc3MgbGlrZSBpdCB3YXMgd2F0Y2hpbmcgS2V2aW4KCWFuZCBtb3JlIGxpa2UgaXQgd2FzIHdhdGNoaW5nIHNvbWV0aGluZyBiZWhpbmQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCB0dXJuIGFyb3VuZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0xldCBBYmJpZSBhcHByb2FjaCB0aGUgY2F0LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIE9yYW5nZSBDYXQgQXBwZWFyczoxOmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgT3JhbmdlIENhdCBBcHBlYXJzOjE6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgT3JhbmdlIENhdCBBcHBlYXJzOjI6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBPcmFuZ2UgQ2F0IEFwcGVhcnM6MjoyZmFmZjRiMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluQWJiaWUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtBYmJpZSBBcHByb2FjaGVzIHRoZSBPcmFuZ2UgQ2F0JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O01vdmUgY2xvc2VyIGFuZCBpbnNwZWN0IHRoZSBjb2xsYXIgdGFnLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIE9yYW5nZSBDYXQgQXBwZWFyczozOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgT3JhbmdlIENhdCBBcHBlYXJzOjM6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gRXhhbWluZXMgdGhlIENhdCBDb2xsYXImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7S2VlcCBBYmJpZSBiYWNrIGFuZCBjb250aW51ZSB0b3dhcmQgc2Nob29sLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIE9yYW5nZSBDYXQgQXBwZWFyczo0OjgwYmY4ZWVlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgT3JhbmdlIENhdCBBcHBlYXJzOjQ6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXZvaWRzIHRoZSBPcmFuZ2UgQ2F0JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1dhdGNoIGhvdyB0aGUgY2F0IHJlYWN0cyB0byB0aGUgb2FrIHRyZWUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgT3JhbmdlIENhdCBBcHBlYXJzOjU6MGNkNjc0MGQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBPcmFuZ2UgQ2F0IEFwcGVhcnM6NTowY2Q2NzQwZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFRlc3RzIHRoZSBDYXQgYW5kIFRyZWUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTQxIiBuYW1lPSJLZXZpbiBXYXRjaGVzIHRoZSBGaWVsZCBCdXNoZXMiIHRhZ3M9ImJnLXNjaG9vbGV4dGVyaW9yIiBwb3NpdGlvbj0iMTU1MCw1ODAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtGaWVsZCBOZWFyIHRoZSBXaW5jaGVzdGVyIEhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0lkZW50aWZ5IHdoYXQgaXMgbW92aW5nIGluc2lkZSB0aGUgYnVzaGVzJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZW1haW5lZCBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU1vdmluZyB0b28gc29vbiBtaWdodCBmcmlnaHRlbiB3aGF0ZXZlciB3YXMgaGlkaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbWlnaHQgYWxzbyBlbmNvdXJhZ2UgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOZWl0aGVyIHBvc3NpYmlsaXR5IHdhcyBpZGVhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidXNoZXMgc2hvb2sgbmVhciB0aGUgZ3JvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBmbGFzaCBvZiBvcmFuZ2UgYXBwZWFyZWQgYmV0d2VlbiB0aGUgbGVhdmVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW5pbWFsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJvYmFibHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YXRjaGVkIHRoZSBtb3ZlbWVudCBhcHByb2FjaCB0aGUgZWRnZSBvZiB0aGUgZmllbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbiBvcmFuZ2UgcGF3IGVtZXJnZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzdG9wcGVkIGFib3ZlIHRoZSBuYXJyb3cgbGluZSB3aGVyZSB0aGUgZGVhZCBncmFzcyBtZXQgdGhlCglzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwYXcgbG93ZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlZm9yZSB0b3VjaGluZyB0aGUgcGF2ZW1lbnQsIGl0IHB1bGxlZCBiYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1c2hlcyBiZWNhbWUgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsZWFuZWQgZm9yd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgcm91bmQgb3JhbmdlIGZhY2UgYXBwZWFyZWQgYmVuZWF0aCB0aGUgYnJhbmNoZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGNhdCBzdGFyZWQgYXQgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IGF0IEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IGF0IEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQXQgdGhlIGJvdW5kYXJ5IGJldHdlZW4gdGhlIGZpZWxkIGFuZCB0aGUgcGF2ZW1lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGV4dGVuZGVkIG9uZSBwYXcgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaW5zdGFudCBpdCBjcm9zc2VkIHRoZSBsaW5lLCB0aGUgb2FrIHRyZWUgY3JlYWtlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgd2l0aGRyZXcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB3aGlzcGVyZWQsICZxdW90O0l0JiMzOTtzIHNjYXJlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdhcyBub3QgY2VydGFpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgbG9va2VkIGxlc3MgZnJpZ2h0ZW5lZCB0aGFuIGNhdXRpb3VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTGlrZSBpdCB1bmRlcnN0b29kIGEgcnVsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhbmltYWwgZXhhbWluZWQgdGhlIHNpZGV3YWxrIGluIGJvdGggZGlyZWN0aW9ucy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaXQgbG9va2VkIHRvd2FyZCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHRvb2sgb25lIHN0ZXAgY2xvc2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBwbGFjZWQgaXRzIHBhdyBvbiB0aGUgcGF2ZW1lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgb2FrIHRyZWUgY3JlYWtlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoaXMgdGltZSwgdGhlIGNhdCBkaWQgbm90IHJldHJlYXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBjcm9zc2VkIGZ1bGx5IG9udG8gdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRlYWQgZ3Jhc3MgYmVoaW5kIGl0IGJlbnQgaW53YXJkLCBicmllZmx5IG91dGxpbmluZyB0d28gaHVtYW4KCWZlZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBncmFzcyByb3NlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb3JhbmdlIGNhdCBoZXNpdGF0ZWQgYmVmb3JlIGNyb3NzaW5nIGZyb20gdGhlIGZpZWxkIHRvIHRoZSBzaWRld2FsayZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGdyYXNzIGJlaGluZCB0aGUgY2F0IGJyaWVmbHkgZm9ybWVkIHR3byBodW1hbiBmb290cHJpbnRzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBvcmFuZ2UgY2F0IGFwcGVhcmVkIHRvIHJlY29nbml6ZSBhIGJvdW5kYXJ5IGJlc2lkZSB0aGUgZmllbGQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O09ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgb3JhbmdlIGNhdCBoZXNpdGF0ZWQgYXQgdGhlIGVkZ2Ugb2YKCXRoZSBzaWRld2FsayBhcyB0aG91Z2ggaXQgcmVjb2duaXplZCBhIGJvdW5kYXJ5LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IHNhdCBkaXJlY3RseSBpbiBmcm9udCBvZiBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyB0YWlsIGN1cmxlZCBuZWF0bHkgYXJvdW5kIGl0cyBwYXdzLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhdGNoIHdoYXQgdGhlIGNhdCBkb2VzIG5leHQtJmd0O1RoZSBPcmFuZ2UgQ2F0IEFwcGVhcnNdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE0MiIgbmFtZT0iS2V2aW4gSHVycmllcyBQYXN0IHRoZSBGaWVsZCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjEzMDAsNTkyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBTdHJlZXQmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7R2V0IEFiYmllIGF3YXkgZnJvbSB0aGUgZmllbGQmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHB1bGxlZCBnZW50bHkgb24gQWJiaWUmIzM5O3MgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dlJiMzOTtyZSBsZWF2aW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2Ugd2VyZSBhbHJlYWR5IGxlYXZpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSYjMzk7cmUgbGVhdmluZyBmYXN0ZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJcyB0aGF0IHJ1bm5pbmc/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGluY3JlYXNlZCBoaXMgcGFjZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNraXBwZWQgdHdpY2UgdG8ga2VlcCB1cC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCB0aGVtLCB0aGUgYnVzaGVzIHJ1c3RsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkaWQgbm90IHR1cm4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgZm9sbG93ZWQgYWxvbmcgdGhlIGVkZ2Ugb2YgdGhlIGZpZWxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQnJhbmNoZXMgc25hcHBlZC4gRGVhZCBncmFzcyBoaXNzZWQuIFNvbWV0aGluZyBtb3ZlZCBwYXJhbGxlbCB0byB0aGVtCgl3aXRob3V0IGVtZXJnaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2Fsa2VkIGZhc3Rlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvIGRpZCB0aGUgdW5zZWVuIGFuaW1hbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0tldmluLCB5b3UmIzM5O3JlIHNxdWVlemluZyBteSBoYW5kLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgbG9vc2VuZWQgaGlzIGdyaXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTb3JyeS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaWVsZCBlbmRlZCBhdCBhIHJvdyBvZiBoZWRnZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbW92ZW1lbnQgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlbGVhc2VkIGEgYnJlYXRoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBoYWQgcGFzc2VkIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hhdGV2ZXIgaGFkIGJlZW4gaW4gdGhlIGJ1c2hlcyBoYWQgcmVtYWluZWQgYmVoaW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBBYmJpZSBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbmVhcmx5IHdhbGtlZCBpbnRvIGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFuIG9yYW5nZSBjYXQgc2F0IGluIHRoZSBjZW50ZXIgb2YgdGhlIHNpZGV3YWxrIGFoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZmFjZWQgdGhlbSB3aXRoIGl0cyB0YWlsIHdyYXBwZWQgYXJvdW5kIGl0cyBwYXdzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnVzaGVzIGJlc2lkZSB0aGUgZmllbGQgd2VyZSBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgY291bGQgbm90IGhhdmUgcGFzc2VkIHRoZW0gd2l0aG91dCBiZWluZyBzZWVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY291bGQgbm90IGhhdmUgY3Jvc3NlZCB0aGUgb3BlbiBzaWRld2FsayB3aXRob3V0IEtldmluIG5vdGljaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgaGFkIG5vdCBiZWVuIGFoZWFkIG9mIHRoZW0gbW9tZW50cyBlYXJsaWVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJWWV0IHRoZXJlIGl0IHdhcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdhaXRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzbWlsZWQuICZxdW90O0l0IGJlYXQgdXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSB3ZXJlbiYjMzk7dCByYWNpbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGJsaW5rZWQgc2xvd2x5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVjZWl2ZWQgdGhlIGRpc3RpbmN0IGltcHJlc3Npb24gdGhhdCB0aGUgY2F0IGRpc2FncmVlZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7VGhlIG9yYW5nZSBjYXQgYXBwZWFyZWQgYWhlYWQgb2YgS2V2aW4gYW5kIEFiYmllIHdpdGhvdXQgcGFzc2luZyB0aGVtJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb3JhbmdlIGNhdCBhcHBlYXJlZCBhaGVhZCBkZXNwaXRlIG5ldmVyIHBhc3NpbmcgS2V2aW4gYW5kIEFiYmllJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O09yYW5nZSBjYXQgYXBwZWFyZWQgYWhlYWQgb2YgS2V2aW4gYW5kIEFiYmllIHdpdGhvdXQgY3Jvc3NpbmcgdGhlIHNpZGV3YWxrJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmV4cGxhaW5lZCBtb3ZlbWVudDombHQ7L3N0cm9uZyZndDsgVGhlIG9yYW5nZSBjYXQgYXBwZWFyZWQgYWhlYWQKCW9mIEtldmluIGFuZCBBYmJpZSB3aXRob3V0IHBhc3NpbmcgdGhlbS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBzdG9vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHRvb2sgb25lIHN0ZXAgdG93YXJkIEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0RvIG5vdCBsZXQgaXQgb3V0IG9mIHNpZ2h0LSZndDtUaGUgT3JhbmdlIENhdCBBcHBlYXJzXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNDMiIG5hbWU9IktldmluIEFza3MgQWJiaWUgQWJvdXQgdGhlIFNvdW5kIiB0YWdzPSJiZy1ob3VzZSIgcG9zaXRpb249IjE0MjUsNjE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7RmllbGQgTmVhciB0aGUgV2luY2hlc3RlciBIb3VzZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIG91dCB3aGF0IEFiYmllIGhlYXJkIGluc2lkZSB0aGUgYnVzaGVzJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGRpZCB5b3UgaGVhcj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHRpbHRlZCBoZXIgaGVhZCB0b3dhcmQgdGhlIGJ1c2hlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBydXN0bGluZyBoYWQgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0EgYmVsbC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxpc3RlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgaGVhcmQgbGVhdmVzIHNoaWZ0aW5nLCBhIGRpc3RhbnQgY2FyLCBhbmQgdGhlIGZhaW50IGVsZWN0cmljYWwgaHVtCglvZiBwb3dlciBsaW5lcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIGJlbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGtpbmQgb2YgYmVsbD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0EgdGlueSBvbmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtMaWtlIG9uIGEgYmljeWNsZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QSBzY2hvb2wgYmVsbD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiBBIGNhdCBiZWxsLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGludG8gdGhlIGJ1c2hlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdGhpbmcgb3JhbmdlIG9yIGNhdC1zaGFwZWQgd2FzIHZpc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtIb3cgZG8geW91IGtub3cgaXQmIzM5O3MgYSBjYXQgYmVsbD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JlY2F1c2UgdGhlIGNhdCB0b2xkIG1lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBjYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgb3JhbmdlIG9uZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZXJlIGlzIG5vIG9yYW5nZSBjYXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBwb2ludGVkIHRvd2FyZCB0aGUgb2FrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW4gb3JhbmdlIGNhdCBzYXQgYmVuZWF0aCB0aGUgbG93ZXN0IGJyYW5jaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBsb29rZWQgYXQgdGhhdCBleGFjdCBwbGFjZSBzZWNvbmRzIGVhcmxpZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBoYWQgYmVlbiBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgd29yZSBhIG5hcnJvdyBjb2xsYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNtYWxsIG1ldGFsIHRhZyBodW5nIGJlbmVhdGggaXRzIGNoaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGFnIGRpZCBub3QgbW92ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0aWxsIGNvdWxkIG5vdCBoZWFyIGEgYmVsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgZGlkIGl0IHRlbGwgeW91PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbGlzdGVuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IG9wZW5lZCBpdHMgbW91dGguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoZWFyZCBubyBzb3VuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGFuc3dlcmVkIGFueXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IHNhaWQgd2Ugc2hvdWxkbiYjMzk7dCBzdGFuZCBoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbGlzdGVuZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgc21pbGUgZmFkZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCZWNhdXNlIHRoZSB0cmVlIGtub3dzIHlvdXIgbmFtZSBub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGJyYW5jaCBzaGlmdGVkIGhpZ2ggYWJvdmUgdGhlIGNhdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBuYXJyb3cgc2hhcGUgS2V2aW4gaGFkIGdsaW1wc2VkIGVhcmxpZXIgYXBwZWFyZWQgZm9yIG9uZSBzZWNvbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBsZWFuZWQgZm9yd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgc3Rvb2QgYW5kIHdhbGtlZCB0b3dhcmQgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBoZWFyZCBhIGJlbGwgYW5kIGNsYWltZWQgdGhlIG9yYW5nZSBjYXQgc3Bva2UgdG8gaGVyJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb3JhbmdlIGNhdCB3YXJuZWQgdGhhdCB0aGUgdHJlZSBrbm93cyBLZXZpbiYjMzk7cyBuYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0FiYmllIHNhaWQgdGhlIG9yYW5nZSBjYXQgd2FybmVkIHRoZW0gYXdheSBmcm9tIHRoZSB0cmVlJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBYmJpZSYjMzk7cyB3YXJuaW5nOiZsdDsvc3Ryb25nJmd0OyBBYmJpZSBjbGFpbXMgdGhlIG9yYW5nZSBjYXQgc2FpZAoJdGhleSBzaG91bGQgbGVhdmUgYmVjYXVzZSB0aGUgdHJlZSBub3cga25vd3MgS2V2aW4mIzM5O3MgbmFtZS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBoZWFyIHRoZSBjYXQgc3BlYWsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoZWFyZCB0aGUgb2FrIHRyZWUgY3JlYWsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgcmVzZW1ibGVkIHRoZSBmaXJzdCBzeWxsYWJsZSBvZiBoaXMgbmFtZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tGb2xsb3cgdGhlIGNhdCBhd2F5IGZyb20gdGhlIHRyZWUtJmd0O1RoZSBPcmFuZ2UgQ2F0IEFwcGVhcnNdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE0NCIgbmFtZT0iQWJiaWUgQXBwcm9hY2hlcyB0aGUgT3JhbmdlIENhdCIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSIxNTUwLDYxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRhYmJpZVRvdWNoZWRPcmFuZ2VDYXQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBTdHJlZXQ6IEVkZ2Ugb2YgdGhlIEZpZWxkJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglBYmJpZSBleHRlbmRlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgd2F0Y2hlZCBoZXIgZmluZ2VycyBhcHByb2FjaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0xldCBpdCBzbWVsbCB5b3UgZmlyc3QsJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugd2VyZSByZWFjaGluZyBmb3IgaXRzIGhlYWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIHdhcyBsZXR0aW5nIGl0cyBoZWFkIHNtZWxsIG1lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGVjaWRlZCB0aGUgZGlzdGluY3Rpb24gd291bGQgdGFrZSB0b28gbG9uZyB0byBjb3JyZWN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBsZWFuZWQgZm9yd2FyZCBhbmQgdG91Y2hlZCBpdHMgbm9zZSB0byBBYmJpZSYjMzk7cyBmaW5nZXJ0aXBzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXRzIHRhaWwgcm9zZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvYWsgdHJlZSBjcmVha2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBmcm96ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0cm9rZWQgdGhlIGZ1ciBiZXR3ZWVuIGl0cyBlYXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBsb3cgcnVtYmxlIGNhbWUgZnJvbSBpdHMgY2hlc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igb25lIHJlYXNzdXJpbmcgc2Vjb25kLCBpdCBzb3VuZGVkIGxpa2UgYSBwdXJyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhbm90aGVyIHNvdW5kIGVtZXJnZWQgYmVuZWF0aCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgd2hpc3Blci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxlYW5lZCBjbG9zZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2hpc3BlciByZXBlYXRlZCBpbiB0aW1lIHdpdGggdGhlIHB1cnJpbmcuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJTm90IGhlcnMuIE5vdCB5ZXQuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIHB1bGxlZCBBYmJpZSYjMzk7cyBoYW5kIGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGRpZCBub3Qgc2NyYXRjaCBvciBiaXRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbG9va2VkIGRpcmVjdGx5IGF0IEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSBoZWFyIHRoYXQ/JnF1b3Q7IGhlIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SGVhciB3aGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIHdoaXNwZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzaG9vayBoZXIgaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IHdhcyBwdXJyaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBydWJiZWQgaXRzIGZhY2UgYWdhaW5zdCBBYmJpZSYjMzk7cyBrbmVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNpbHZlciB0YWcgdGFwcGVkIGhlciBzaG9lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIGFuIGluc3RhbnQsIHR3byBuYXJyb3cgc3Ryb2tlcyBhcHBlYXJlZCBiZW5lYXRoIHRoZSBzaXgtcGV0YWxlZAoJc3ltYm9sLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUlJLgombHQ7L2RpdiZndDsKJmx0OyZsdDtpZiAkbm90aWNlZFJvbWFuSUkmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHNhbWUgbnVtZXJhbCBLZXZpbiBoYWQgZm91bmQgb24gdGhlIGZyb250IGRvb3JmcmFtZS4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb3JhbmdlIGNhdCYjMzk7cyB0YWcgYnJpZWZseSBkaXNwbGF5ZWQgdGhlIHNhbWUgSUkgYXMgdGhlIGZyb250IGRvb3JmcmFtZSZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9yYW5nZSBjYXQmIzM5O3MgdGFnIGNvbm5lY3RlZCB3aXRoIHRoZSBkb29yZnJhbWUgbWFya2VkIElJJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O1Bvc3NpYmxlIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBjYXQmIzM5O3MgdGFnIGJyaWVmbHkgc2hvd2VkCgkJdGhlIHNhbWUgUm9tYW4gbnVtZXJhbCBhcyB0aGUgZnJvbnQgZG9vcmZyYW1lLgoJJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiByZWNvZ25pemVkIHRoZSBtYXJrIGFzIHRoZSBSb21hbiBudW1lcmFsIHR3by4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb3JhbmdlIGNhdCYjMzk7cyB0YWcgYnJpZWZseSBkaXNwbGF5ZWQgdGhlIFJvbWFuIG51bWVyYWwgSUkmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7VW5jZXJ0YWluIG1hcmtpbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBSb21hbiBudW1lcmFsIElJIGJyaWVmbHkKCQlhcHBlYXJlZCBiZW5lYXRoIHRoZSBzeW1ib2wgb24gdGhlIGNhdCYjMzk7cyB0YWcuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gaGVhcmQgYSB3aGlzcGVyIGJlbmVhdGggdGhlIG9yYW5nZSBjYXQmIzM5O3MgcHVycmluZyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgdG91Y2hlZCB0aGUgb3JhbmdlIGNhdCBuZWFyIHRoZSBmaWVsZCZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDsKCUFiYmllIHNtaWxlZC4gJnF1b3Q7SXQgbGlrZXMgbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGxvb2tlZCBhdCB0aGUgb2FrIHRyZWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdHMgZnVyIHJvc2UgYWxvbmcgaXRzIGJhY2suCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU2VlIHdoYXQgZnJpZ2h0ZW5lZCBpdC0mZ3Q7VGhlIENhdCBSdW5zIHRvIHRoZSBUcmVlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNDUiIG5hbWU9IlRoZSBDYXQgUnVucyB0byB0aGUgVHJlZSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjE1NTAsNjI3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9yYW5nZUNhdFNlZW4gPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7RmllbGQgTmVhciB0aGUgV2luY2hlc3RlciBIb3VzZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2h5IHRoZSBvcmFuZ2UgY2F0IGlzIHJldHVybmluZyB0byB0aGUgb2FrIHRyZWUmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBvcmFuZ2UgY2F0IHR1cm5lZCB0b3dhcmQgdGhlIGZpZWxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbG9va2VkIGJhY2sgYXQgQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGF0IEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXRzIHRhaWwgZmxpY2tlZCBvbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBzdGVwcGVkIGludG8gdGhlIGRlYWQgZ3Jhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3RhbGtzIGJlbnQgYXdheSBmcm9tIGl0cyBwYXdzIGJlZm9yZSB0aGUgYW5pbWFsIHRvdWNoZWQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGNyb3NzZWQgdGhlIGZpZWxkIHdpdGhvdXQgbWFraW5nIGEgc291bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBydXN0bGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBiZWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gc29mdCBpbXBhY3Qgb2YgcGF3cyBhZ2FpbnN0IHNvaWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgb2FrIHRyZWUgd2FpdGVkLgombHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggcmlnaHQgdGlsdC1uMiBzdGFuZGFyZCB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtvYWtfdHJlZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX29ha190cmVlLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7CiZsdDtwJmd0OwoJQSBkYXJrIG9wZW5pbmcgc3BsaXQgdGhlIGJhc2Ugb2YgaXRzIHRydW5rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCByZW1lbWJlciBzZWVpbmcgdGhlIGhvbGxvdyBiZWZvcmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IHN0b3BwZWQgb3V0c2lkZSBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGxvb2tlZCBiYWNrIG9uZSBmaW5hbCB0aW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgd2F2ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGxvd2VyZWQgaXRzIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgYSBib3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNb3JlIGxpa2UgYW4gYWNrbm93bGVkZ21lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGl0IHN0ZXBwZWQgaW50byB0aGUgb3BlbmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyBmcm9udCBoYWxmIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBpdHMgYm9keS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIG9yYW5nZSB0YWlsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhvbGxvdyB3YXMgdG9vIHNtYWxsIHRvIGNvbnRhaW4gdGhlIGNhdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0cmVlIGFjY2VwdGVkIGl0IGFueXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdhaXRlZCBmb3IgdGhlIGFuaW1hbCB0byBlbWVyZ2UgZnJvbSB0aGUgb3RoZXIgc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGRpZCBub3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNoYXBlIG1vdmVkIGJlaGluZCB0aGUgYmFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHRyYXZlbGVkIHVwd2FyZCB0aHJvdWdoIHRoZSB0cnVuay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZvbGxvd2VkIGl0IHdpdGggaGlzIGV5ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2hhcGUgcmVhY2hlZCB0aGUgZmlyc3QgYnJhbmNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgc2Vjb25kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgcGxhY2Ugd2hlcmUgS2V2aW4gaGFkIHNlZW4gdGhlIHRhbGwgZmlndXJlIHN0YW5kaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIG9yYW5nZSBleWVzIG9wZW5lZCBhbW9uZyB0aGUgbGVhdmVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJyYW5jaGVzIHNob29rLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGV5ZXMgdmFuaXNoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21ldGhpbmcgZHJvcHBlZCBmcm9tIHRoZSB0cmVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbGFuZGVkIGluIHRoZSBkZWFkIGdyYXNzIG5lYXIgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBuYXJyb3cgbGVhdGhlciBjb2xsYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWV0YWwgdGFnIHJlZmxlY3RlZCB0aGUgbW9ybmluZyBsaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgZGlkIG5vdCByZXR1cm4uCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O1RoZSBvcmFuZ2UgY2F0IGRpc2FwcGVhcmVkIGluc2lkZSB0aGUgb2FrIHRyZWUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBvcmFuZ2UgY2F0IGVudGVyZWQgYSBob2xsb3cgdG9vIHNtYWxsIHRvIGNvbnRhaW4gaXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9yYW5nZSBjYXQgZGlzYXBwZWFyZWQgaW5zaWRlIHRoZSBvYWsgdHJlZSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2tldmluLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIFBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQgdW5leHBsYWluZWQgZXZlbnRzLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O01ham9yIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBvcmFuZ2UgY2F0IGRpc2FwcGVhcmVkIGluc2lkZSB0aGUgb2FrCgl0cmVlLCBsZWF2aW5nIGl0cyBjb2xsYXIgYmVoaW5kLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIEtldmluIGRvPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1JldHJpZXZlIHRoZSBjb2xsYXIgYmVmb3JlIGxlYXZpbmcuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgQ2F0IFJ1bnMgdG8gdGhlIFRyZWU6MTowY2Q2NzQwZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6VGhlIENhdCBSdW5zIHRvIHRoZSBUcmVlOjE6MGNkNjc0MGQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBSZXRyaWV2ZXMgdGhlIENhdCBDb2xsYXImcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3R1ZHkgdGhlIGNvbGxhciBmcm9tIHRoZSBzaWRld2Fsay4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBDYXQgUnVucyB0byB0aGUgVHJlZToyOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgQ2F0IFJ1bnMgdG8gdGhlIFRyZWU6MjozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBTdHVkaWVzIHRoZSBGYWxsZW4gQ29sbGFyJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0tlZXAgQWJiaWUgYXdheSBhbmQgbGVhdmUgdGhlIGNvbGxhciB3aGVyZSBpdCBmZWxsLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIENhdCBSdW5zIHRvIHRoZSBUcmVlOjM6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBDYXQgUnVucyB0byB0aGUgVHJlZTozOjgwYmY4ZWVlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gucHJlcGFyZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIENhdCBSdW5zIHRvIHRoZSBUcmVlOjQ6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBDYXQgUnVucyB0byB0aGUgVHJlZTo0OjJmYWZmNGIyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIExlYXZlcyB0aGUgQ2F0IENvbGxhciZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2hhdCBBYmJpZSBzYXcgd2hlbiB0aGUgY2F0IGVudGVyZWQgdGhlIHRyZWUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgQ2F0IFJ1bnMgdG8gdGhlIFRyZWU6NTpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6VGhlIENhdCBSdW5zIHRvIHRoZSBUcmVlOjU6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQXNrcyBBYmJpZSBBYm91dCB0aGUgQ2F0JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE0NiIgbmFtZT0iS2V2aW4gRXhhbWluZXMgdGhlIENhdCBDb2xsYXIiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIxNDI1LDYyNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpbkV4YW1pbmVkQ2F0VGFnID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0OiBFZGdlIG9mIHRoZSBGaWVsZCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY3JvdWNoZWQgc2V2ZXJhbCBmZWV0IGZyb20gdGhlIGNhdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGtlcHQgYm90aCBoYW5kcyB3aGVyZSB0aGUgYW5pbWFsIGNvdWxkIHNlZSB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhpcyB3YXMgcGFydGx5IGZvciB0aGUgY2F0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIG1vc3RseSBiZWNhdXNlIEtldmluIGRpZCBub3Qga25vdyB3aGF0IGVsc2UgbWlnaHQgYmUgd2F0Y2hpbmcKCWZyb20gdGhlIGZpZWxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNpbHZlciB0YWcgaHVuZyBiZW5lYXRoIHRoZSBjYXQmIzM5O3MgY2hpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaXgtcGV0YWxlZCBzeW1ib2wgaGFkIGJlZW4gc3RhbXBlZCBpbnRvIGl0cyBmYWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGdyb292ZXMgd2VyZSBkYXJrIHdpdGggYWdlLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGZvdW5kRG9vcmZyYW1lSGV4YWZvaWwgb3IgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlJdCBtYXRjaGVkIHRoZSBzeW1ib2xzIGF0IHRoZSBob3VzZSBjbG9zZWx5IGVub3VnaCB0aGF0IGNvaW5jaWRlbmNlCgkJaGFkIGJlY29tZSBhbiB1bnJlYXNvbmFibGUgZXhwbGFuYXRpb24uCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsZWFuZWQgdG8gb25lIHNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGFnIHR1cm5lZCB3aXRoIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGxlYW5lZCB0aGUgb3RoZXIgd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgdHVybmVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBoYWQgbm90IG1vdmVkIGl0cyBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRhZyBhcHBlYXJlZCBkZXRlcm1pbmVkIHRvIGtlZXAgaXRzIHJldmVyc2Ugc2lkZSBoaWRkZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZWFjaGVkIHRvd2FyZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgYWxsb3dlZCBoaXMgZmluZ2VycyB0byB0b3VjaCB0aGUgY29sZCBtZXRhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHJvdGF0ZWQgdGhlIHRhZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSB3b3JkIGhhZCBiZWVuIGVuZ3JhdmVkIG9uIHRoZSBiYWNrOgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUxVQ0sKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJTm8gYWRkcmVzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIG93bmVyJiMzOTtzIG5hbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyB0ZWxlcGhvbmUgbnVtYmVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25seSAmbHQ7ZW0mZ3Q7TFVDSyZsdDsvZW0mZ3Q7LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVsZWFzZWQgdGhlIHRhZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHN3dW5nIGJhY2sgaW50byBwbGFjZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsZXR0ZXJzIGNoYW5nZWQgYXMgdGhlIG1ldGFsIHR1cm5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmUgc2Vjb25kLCBLZXZpbiByZWFkOgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUxVQ1kKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgdGFnIGNvbXBsZXRlZCBpdHMgdHVybi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB3b3JkIHdhcyBoaWRkZW4gYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXQgdGhlIGNhdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0lzIHlvdXIgbmFtZSBMdWNrIG9yIEx1Y3k/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGJsaW5rZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBjcm91Y2hlZCBiZXNpZGUgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIHRoaW5rIGl0cyBuYW1lIGlzIENhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgd291bGQgYmUgdW51c3VhbGx5IGRpcmVjdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0YWcgZ2F2ZSBvbmUgZmFpbnQgbWV0YWxsaWMgY2xpY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgb2FrIHRyZWUgYW5zd2VyZWQgd2l0aCBhIGNyZWFrLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRpbnZlbnRvcnkuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtEZXNjcmlwdGlvbiBvZiB0aGUgb3JhbmdlIGNhdCYjMzk7cyB0YWcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBvcmFuZ2UgY2F0IHdlYXJzIGEgaGV4YWZvaWwgdGFnIGVuZ3JhdmVkIHdpdGggTFVDSyBvciBwb3NzaWJseSBMVUNZJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O09yYW5nZSBjYXQmIzM5O3MgdGFnIGJlYXJzIHRoZSBoZXhhZm9pbCBhbmQgdGhlIHdvcmQgTFVDSyBvciBMVUNZJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtDbHVlIGRpc2NvdmVyZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBjYXQmIzM5O3MgdGFnIGJlYXJzIHRoZSBzaXgtcGV0YWxlZAoJc3ltYm9sIGFuZCBhcHBlYXJzIHRvIHJlYWQgZWl0aGVyIExVQ0sgb3IgTFVDWS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCB0dXJuZWQgdG93YXJkIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyBjb2xsYXIgdGlnaHRlbmVkIGFnYWluc3QgaXRzIGZ1ciBhcyB0aG91Z2ggc29tZXRoaW5nIGhhZCB0dWdnZWQKCWZyb20gdGhlIGRpcmVjdGlvbiBvZiB0aGUgdHJlZS4KJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjIgc3RhbmRhcmQgYmF0Y2gyIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2NhdF9jb2xsYXImcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9jYXRfY29sbGFyLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhdGNoIHdoZXJlIGl0IGdvZXMtJmd0O1RoZSBDYXQgUnVucyB0byB0aGUgVHJlZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTQ3IiBuYW1lPSJLZXZpbiBBdm9pZHMgdGhlIE9yYW5nZSBDYXQiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIxMzAwLDYyNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0OiBFZGdlIG9mIHRoZSBGaWVsZCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UgaGF2ZSB0byBrZWVwIG1vdmluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHJlbWFpbmVkIGNyb3VjaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QnV0IGl0IGNhbWUgdG8gc2VlIHVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UgZG9uJiMzOTt0IGtub3cgdGhhdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IHNhdCBpbiBmcm9udCBvZiB1cy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgaXMgbG9jYXRpb24sIG5vdCBpbnRlbnRpb24uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgYXQgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugc2F5IHdlaXJkIHRoaW5ncyB3aGVuIHlvdSYjMzk7cmUgc2NhcmVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSYjMzk7bSBub3Qgc2NhcmVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBvcGVuZWQgaXRzIG1vdXRoIHdpdGhvdXQgbWFraW5nIGEgc291bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0b29rIGFub3RoZXIgc3RlcCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIGFyZ3VtZW50IGhhZCBzdWZmZXJlZCBkYW1hZ2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdG9vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgcmVtYWluZWQgb24gdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZ3VpZGVkIEFiYmllIGFyb3VuZCBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFzIHRoZXkgcGFzc2VkLCB0aGUgYW5pbWFsIHR1cm5lZCBpdHMgaGVhZCB0byBmb2xsb3cgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyBib2R5IHJlbWFpbmVkIHBlcmZlY3RseSBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyBoZWFkIGNvbnRpbnVlZCB0dXJuaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRmFydGhlciB0aGFuIGl0IHNob3VsZCBoYXZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNtYWxsIGJlbGwgcmFuZyBiZWhpbmQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHJlbWVtYmVyZWQgdGhhdCB0aGUgY2F0JiMzOTtzIGNvbGxhciBoYWQgbm8gYmVsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGRpZCBub3QgdHVybiBiYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzZWNvbmQgYmVsbCBzb3VuZGVkIGFoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9yYW5nZSBjYXQgbm93IHNhdCBiZXNpZGUgdGhlIGZpZWxkIGVudHJhbmNlIHNldmVyYWwgeWFyZHMgaW4KCWZyb250IG9mIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzbWlsZWQuICZxdW90O0l0IGRpZCB0aGUgZGlzYXBwZWFyaW5nIHRyaWNrIGFnYWluLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgbG9va2VkIHRvd2FyZCB0aGUgb2FrIHRyZWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGl0IGxvb2tlZCBhdCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHRvb2sgb25lIHN0ZXAgaW50byB0aGUgZGVhZCBncmFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFub3RoZXIgYmVsbCByYW5nIGZyb20gc29tZXdoZXJlIGluc2lkZSB0aGUgdHJlZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7VGhlIG9yYW5nZSBjYXQgYXBwZWFyZWQgYWhlYWQgYSBzZWNvbmQgdGltZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9yYW5nZSBjYXQgcmVhcHBlYXJlZCBhaGVhZCBhZnRlciBLZXZpbiBhdm9pZGVkIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIGJlbGwgc291bmRlZCBldmVuIHRob3VnaCB0aGUgY2F0IHdvcmUgbm8gdmlzaWJsZSBiZWxsJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmV4cGxhaW5lZCBtb3ZlbWVudDombHQ7L3N0cm9uZyZndDsgVGhlIGNhdCBhcHBlYXJlZCBhaGVhZCBhZ2FpbiwKCWFuZCBLZXZpbiBoZWFyZCBhIGJlbGwgdGhhdCB3YXMgbm90IGF0dGFjaGVkIHRvIGl0cyBjb2xsYXIuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYXRjaCB0aGUgY2F0IGVudGVyIHRoZSBmaWVsZC0mZ3Q7VGhlIENhdCBSdW5zIHRvIHRoZSBUcmVlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNDgiIG5hbWU9IktldmluIFRlc3RzIHRoZSBDYXQgYW5kIFRyZWUiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIxNTUwLDYwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpblRlc3RlZENhdFRyZWVDb25uZWN0aW9uID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0OiBFZGdlIG9mIHRoZSBGaWVsZCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2F0Y2hlZCB0aGUgY2F0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgdHJlZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQmIzM5O3MgZWFycyB0dXJuZWQgdG93YXJkIGV2ZXJ5IGNyZWFrIG9mIHRoZSBicmFuY2hlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyB0YWlsIGZsaWNrZWQgd2hlbmV2ZXIgdGhlIG5hcnJvdyBzaGFwZSBhcHBlYXJlZCBhbW9uZyB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlcmUgd2FzIGEgY29ubmVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIG5lZWRlZCB0byBkZXRlcm1pbmUgd2hpY2ggZGlyZWN0aW9uIGl0IHRyYXZlbGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc3RlcHBlZCB0b3dhcmQgdGhlIG9hay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgbW92ZWQgYmV0d2VlbiBoaW0gYW5kIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgdG8gdGhlIHJpZ2h0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBtb3ZlZCByaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHN0ZXBwZWQgbGVmdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjYXQgYmxvY2tlZCBoaW0gYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzbWlsZWQuICZxdW90O0l0IHdhbnRzIHRvIHBsYXkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkaWQgbm90IHRoaW5rIHNvLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgdG9vayBvbmUgZGVsaWJlcmF0ZSBzdGVwIGJhY2t3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCByZWxheGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXRzIGZ1ciBzZXR0bGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJyYW5jaGVzIGFib3ZlIHRoZSBmaWVsZCBiZWNhbWUgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBtb3ZlZCBmb3J3YXJkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBoaXNzZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90IGhpc3MgYXQgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBmYWNlZCB0aGUgb2FrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG5hcnJvdyBzaGFwZSBhbW9uZyB0aGUgYnJhbmNoZXMgbGVhbmVkIGZvcndhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBzdHJ1Y2sgdGhlIGdyb3VuZCBvbmNlIHdpdGggaXRzIGZyb250IHBhdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgdGhpbiBsaW5lIGFwcGVhcmVkIGluIHRoZSBkaXJ0IGJlc2lkZSB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbGluZSBjdXJ2ZWQgYXJvdW5kIEtldmluJiMzOTtzIHNob2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFyb3VuZCBBYmJpZSYjMzk7cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgY2lyY2xlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBzYXQgb3V0c2lkZSBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvYWsgdHJlZSBjcmVha2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNvdW5kIGNhbWUgZnJvbSBldmVyeSBicmFuY2ggYXQgb25jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkZWFkIGdyYXNzIGJlbnQgdG93YXJkIHRoZSBjaXJjbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb25lIGNyb3NzZWQgdGhlIGxpbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2F0IGhhZCBub3QgYmVlbiBibG9ja2luZyBLZXZpbiBmcm9tIGVudGVyaW5nIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGhhZCBiZWVuIGtlZXBpbmcgc29tZXRoaW5nIGluIHRoZSBmaWVsZCBmcm9tIHJlYWNoaW5nIGhpbS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9yYW5nZSBjYXQgZHJldyBhIGJvdW5kYXJ5IHRoYXQgdGhlIGRlYWQgZ3Jhc3MgZGlkIG5vdCBjcm9zcyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9yYW5nZSBjYXQgbWF5IGJlIHByb3RlY3RpbmcgS2V2aW4gYW5kIEFiYmllIGZyb20gdGhlIG9hayB0cmVlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBvcmFuZ2UgY2F0IGNyZWF0ZWQgYSBwcm90ZWN0aXZlIGJvdW5kYXJ5IG5lYXIgdGhlIGZpZWxkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtQb3NzaWJsZSBwcm90ZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgY2F0IGRyZXcgYSBsaW5lIGFyb3VuZCBLZXZpbgoJYW5kIEFiYmllIHRoYXQgdGhlIGRlYWQgZ3Jhc3Mgd291bGQgbm90IGNyb3NzLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgbmFycm93IHNoYXBlIGRpc2FwcGVhcmVkIGZyb20gdGhlIGJyYW5jaGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNhdCBicm9rZSB0aGUgY2lyY2xlIHdpdGggb25lIHBhdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaXQgdHVybmVkIGFuZCByYW4gdG93YXJkIHRoZSBvYWsuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRm9sbG93IGl0cyBtb3ZlbWVudCB0aHJvdWdoIHRoZSBmaWVsZC0mZ3Q7VGhlIENhdCBSdW5zIHRvIHRoZSBUcmVlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNDkiIG5hbWU9IktldmluIFJldHJpZXZlcyB0aGUgQ2F0IENvbGxhciIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjEzMDAsNjEyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluUmV0cmlldmVkQ2F0Q29sbGFyID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0ZpZWxkIE5lYXIgdGhlIFdpbmNoZXN0ZXIgSG91c2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UmV0cmlldmUgdGhlIGNvbGxhciB3aXRob3V0IGFwcHJvYWNoaW5nIHRoZSBvYWsgdHJlZSZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RlcHBlZCBvZmYgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRlYWQgZ3Jhc3MgYmVudCBhd2F5IGZyb20gaGlzIHNob2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0YWxrcyBoYWQgbm90IGJlZW4gY3J1c2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgaGFkIG1vdmVkIGJlZm9yZSBoZSB0b3VjaGVkIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTdGF5IG9uIHRoZSBzaWRld2FsaywmcXVvdDsgaGUgdG9sZCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JlY2F1c2Ugb25lIG9mIHVzIHNob3VsZCBtYWtlIGEgZ29vZCBkZWNpc2lvbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doaWNoIG9uZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCB0aGUgZmllbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZ3Jhc3MgbGVhbmVkIHRvd2FyZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTdGlsbCBiZWluZyBkZXRlcm1pbmVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNvbGxhciBsYXkgc2V2ZXJhbCBmZWV0IGZyb20gdGhlIHNpZGV3YWxrLiBUaGUgc2lsdmVyIHRhZyBjYXVnaHQKCXRoZSBsaWdodCBlYWNoIHRpbWUgdGhlIG9hayBicmFuY2hlcyBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRvb2sgYW5vdGhlciBzdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFpciBiZWNhbWUgY29sZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSB0aGlyZCBzdGVwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9hayB0cmVlIGNyZWFrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjcm91Y2hlZCBhbmQgcmVhY2hlZCBmb3IgdGhlIGNvbGxhci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkZWFkIGdyYXNzIGNsb3NlZCBhcm91bmQgaGlzIHdyaXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IHRpZ2h0bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgeWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZ3JhYmJlZCB0aGUgbGVhdGhlciBzdHJhcCBhbmQgcHVsbGVkIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZ3Jhc3MgcmVsZWFzZWQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcmV0dXJuZWQgdG8gdGhlIHNpZGV3YWxrIGJlZm9yZSBleGFtaW5pbmcgd2hhdCBoZSBoYWQgY29sbGVjdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxlYXRoZXIgd2FzIGRyeSBhbmQgY3JhY2tlZCB3aXRoIGFnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGRpZCBub3QgbG9vayBsaWtlIHNvbWV0aGluZyBhIHdlbGwtZmVkIGhvdXNlIGNhdCBoYWQgd29ybiB0aGF0Cgltb3JuaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgbG9va2VkIGFzIHRob3VnaCBpdCBoYWQgYmVlbiBidXJpZWQgZm9yIHllYXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJvdW5kIHNpbHZlciB0YWcgYm9yZSB0aGUgc2l4LXBldGFsZWQgc3ltYm9sLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT24gdGhlIHJldmVyc2Ugc2lkZSwgdGhlIGVuZ3JhdmluZyByZWFkOgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUxVQ1kKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdGlsdGVkIHRoZSB0YWcgdG93YXJkIHRoZSBsaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaW5hbCBsZXR0ZXIgY2hhbmdlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglMVUNLCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUhlIHRpbHRlZCBpdCBiYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTFVDWS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvcndhcmQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglMVUNLLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZCB0dXJuaW5nIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRhZyBoYWQgcHJvdmlkZWQgdHdvIGFuc3dlcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOZWl0aGVyIGV4cGxhaW5lZCB3aGVyZSB0aGUgY2F0IGhhZCBnb25lLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRpbnZlbnRvcnkuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtPcmFuZ2UgY2F0JiMzOTtzIGNvbGxhciZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gcmV0cmlldmVkIHRoZSBvcmFuZ2UgY2F0JiMzOTtzIGFuY2llbnQtbG9va2luZyBjb2xsYXImcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBjYXQmIzM5O3MgdGFnIGNoYW5nZXMgYmV0d2VlbiBMVUNZIGFuZCBMVUNLJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBvcmFuZ2UgY2F0JiMzOTtzIHRhZyBjaGFuZ2VzIGJldHdlZW4gTFVDWSBhbmQgTFVDSyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7SXRlbSBjb2xsZWN0ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIHJldHJpZXZlZCB0aGUgY2F0JiMzOTtzIGNvbGxhci4gSXRzCgl0YWcgYXBwZWFycyB0byBjaGFuZ2UgYmV0d2VlbiBMVUNZIGFuZCBMVUNLLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzbGlwcGVkIHRoZSBjb2xsYXIgaW50byBoaXMgYmFja3BhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21ldGhpbmcgbW92ZWQgaW5zaWRlIHRoZSB0cmVlIGhvbGxvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZyb20gd2l0aGluIEtldmluJiMzOTtzIGJhY2twYWNrIGNhbWUgb25lIGZhaW50IHB1cnIuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbTGVhdmUgdGhlIGZpZWxkIGJlaGluZC0mZ3Q7S2V2aW4gYW5kIEFiYmllIENvbnRpbnVlIHRvIFNjaG9vbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTUwIiBuYW1lPSJLZXZpbiBTdHVkaWVzIHRoZSBGYWxsZW4gQ29sbGFyIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTM1MCw2NDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5TdHVkaWVkQ2F0Q29sbGFyID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0ZpZWxkIE5lYXIgdGhlIFdpbmNoZXN0ZXIgSG91c2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7U3R1ZHkgdGhlIGNvbGxhciB3aXRob3V0IGVudGVyaW5nIHRoZSBmaWVsZCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVtYWluZWQgb24gdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNvbGxhciBsYXkgc2V2ZXJhbCBmZWV0IGluc2lkZSB0aGUgZGVhZCBncmFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFwcHJvYWNoaW5nIGl0IHdvdWxkIHByb3ZpZGUgYSBiZXR0ZXIgdmlldy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFwcHJvYWNoaW5nIGl0IHdvdWxkIGFsc28gbW92ZSBLZXZpbiBjbG9zZXIgdG8gYSB0cmVlIHRoYXQgaGFkIGp1c3QKCXN3YWxsb3dlZCBhIGNhdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCURpc3RhbmNlIHNlZW1lZCBsaWtlIHRoZSBzdHJvbmdlciBzdHJhdGVneS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNyb3VjaGVkIGFuZCBzdHVkaWVkIHRoZSBzaWx2ZXIgdGFnLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNpeC1wZXRhbGVkIHN5bWJvbCBjb3ZlcmVkIG9uZSBzaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRhZyByb3RhdGVkIHNsb3dseSBhbHRob3VnaCB0aGUgY29sbGFyIHJlbWFpbmVkIHN0aWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFpciB3YXMgY2FsbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBncmFzcyBhcm91bmQgaXQgZGlkIG5vdCBtb3ZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25seSB0aGUgbWV0YWwgdHVybmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIGVkZ2UgcmVmbGVjdGVkIHN1bmxpZ2h0IG9udG8gdGhlIG9hayB0cnVuay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgYnJpZ2h0IHBvaW50IHRyYXZlbGVkIGFjcm9zcyB0aGUgYmFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdoZXJldmVyIHRoZSByZWZsZWN0aW9uIHRvdWNoZWQsIGZhaW50IGNhcnZpbmdzIGFwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIGZsb3dlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYW5vdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gZG96ZW5zLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2l4LXBldGFsZWQgc3ltYm9scyBjb3ZlcmVkIHRoZSB0cnVuayBmcm9tIGl0cyByb290cyB0byB0aGUgbG93ZXIKCWJyYW5jaGVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3Rvb2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGFnIHR1cm5lZCBhd2F5IGZyb20gdGhlIHN1bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzeW1ib2xzIHZhbmlzaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9hayByZXR1cm5lZCB0byBvcmRpbmFyeSBiYXJrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTW9zdGx5IG9yZGluYXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIGNhcnZpbmcgcmVtYWluZWQgbmVhciB0aGUgaG9sbG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIG5hcnJvdyBzdHJva2VzIG1hcmtlZCBpdHMgbG93ZXN0IHBldGFsLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUlJLgombHQ7L2RpdiZndDsKJmx0OyZsdDtpZiAkbm90aWNlZFJvbWFuSUkmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHNhbWUgbnVtZXJhbCBtYXJrZWQgdGhlIGZyb250IGRvb3JmcmFtZS4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb2FrIHRyZWUgYW5kIGZyb250IGRvb3JmcmFtZSBib3RoIGJlYXIgdGhlIGhleGFmb2lsIG1hcmtlZCBJSSZxdW90OykmZ3Q7Jmd0OwoJJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9hayB0cmVlIHNoYXJlcyB0aGUgZG9vcmZyYW1lJiMzOTtzIElJIG1hcmtpbmcmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7UG9zc2libGUgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIG9hayBhbmQgZnJvbnQgZG9vcmZyYW1lCgkJYm90aCBhcHBlYXIgdG8gYmVhciB0aGUgc2l4LXBldGFsZWQgc3ltYm9sIG1hcmtlZCBJSS4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcmVjb2duaXplZCB0aGUgUm9tYW4gbnVtZXJhbCBmb3IgdHdvLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0EgaGV4YWZvaWwgbWFya2VkIElJIGFwcGVhcmVkIG9uIHRoZSBvYWsgdHJlZSZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtPYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgQSBzaXgtcGV0YWxlZCBzeW1ib2wgbWFya2VkIElJCgkJYXBwZWFyZWQgbmVhciB0aGUgdHJlZSBob2xsb3cuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCUFiYmllIGxlYW5lZCBhZ2FpbnN0IEtldmluJiMzOTtzIGFybS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FyZSB3ZSBrZWVwaW5nIHRoZSBjb2xsYXI/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doeT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjb2xsYXIgc2xpZCBzZXZlcmFsIGluY2hlcyBkZWVwZXIgaW50byB0aGUgZ3Jhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCZWNhdXNlIEkgZG9uJiMzOTt0IHRoaW5rIGl0IHdhbnRzIHRvIGJlIGtlcHQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgdG93YXJkIHNjaG9vbC0mZ3Q7S2V2aW4gYW5kIEFiYmllIENvbnRpbnVlIHRvIFNjaG9vbF1dCiZsdDsvZGl2Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE1MSIgbmFtZT0iS2V2aW4gYW5kIEFiYmllIENvbnRpbnVlIHRvIFNjaG9vbCIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSIxNDI1LDY2MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0dldCBBYmJpZSB0byBlbGVtZW50YXJ5IHNjaG9vbCB3aXRob3V0IGF0dHJhY3RpbmcgYXR0ZW50aW9uJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBhbmQgQWJiaWUgbGVmdCB0aGUgZmllbGQgYmVoaW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBsb29rIGJhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBrbmV3IHRoaXMgYmVjYXVzZSBhdm9pZGluZyB0aGUgdXJnZSByZXF1aXJlZCBoaXMgZnVsbAoJY29uY2VudHJhdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvYWsgdHJlZSByZW1haW5lZCBiZWhpbmQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByb2JhYmx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2xpcHBlZCBoZXIgaGFuZCBpbnRvIGhpcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGFsbG93ZWQgaXQgZm9yIHNpeCBzdGVwcyBiZWZvcmUgcmVtZW1iZXJpbmcgdGhlIHByZXZpb3VzCgl5ZWFyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1lbW9yeSBhcnJpdmVkIHdpdGggY29tcGxldGUgYW5kIHVubmVjZXNzYXJ5IGRldGFpbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGhhZCBkZWNpZGVkIHRoZWlyIHdhbGsgdG8gc2Nob29sIG5lZWRlZCBhIHRoZW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGhhZCBzdGFydGVkIHNraXBwaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBzaW5naW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBzd2luZ2luZyBLZXZpbiYjMzk7cyBhcm0gdW50aWwgaGlzIGZlZXQgam9pbmVkIHRoZSBwZXJmb3JtYW5jZQoJYWdhaW5zdCBoaXMgd2lsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNldmVyYWwgcGFyZW50cyBoYWQgYXBwbGF1ZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIGhhZCBjYWxsZWQgaXQgJmx0O2VtJmd0O1ByZXNjaG9vbDogVGhlIE11c2ljYWwmbHQ7L2VtJmd0Oy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9sZGVyIHN0dWRlbnRzIGhhZCBzZWVuIEtldmluIGluIG1pZC1za2lwIHdpdGggYm90aCBhcm1zIGV4dGVuZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBoYWQgbmFtZWQgaGltIFBldGVyIFBhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBuaWNrbmFtZSBzdXJ2aXZlZCB0aGUgZW50aXJlIHNjaG9vbCB5ZWFyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRXZlcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaW5nbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEYXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXQgQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCZWZvcmUgeW91IGFzaywgbm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGRpZG4mIzM5O3QgYXNrIGFueXRoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHdlcmUgYWJvdXQgdG8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IHdhcyBJIGdvaW5nIHRvIGFzaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doZXRoZXIgd2UgY291bGQgc2luZyBhbmQgc2tpcC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNtaWxlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0NhbiB3ZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBpZiB3ZSBvbmx5IHNraXA/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgaWYgd2Ugb25seSBzaW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U3RpbGwgbm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGlmIHdlIGRvIGJvdGggdmVyeSBxdWlldGx5PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpcyBub3QgaG93IGVpdGhlciBhY3Rpdml0eSB3b3Jrcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQgd2Fsa2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHRvb2sgdHdvIHN0ZXBzIGJlZm9yZSB0aGVpciBqb2luZWQgaGFuZHMgcHVsbGVkIGhpbSBiYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHN0b29kIGluIHRoZSBjZW50ZXIgb2YgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSYjMzk7bSBub3QgbW92aW5nIHVudGlsIHlvdSBzaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY2hlY2tlZCB0aGUgc3RyZWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gbmVhcmJ5IHN0dWRlbnRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gYnVzZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyB2aXNpYmxlIHdpdG5lc3Nlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgY3VydGFpbiBtb3ZlZCBpbnNpZGUgdGhlIG5lYXJlc3QgaG91c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBpbW1lZGlhdGVseSBjb3VudGVkIHRoYXQgYXMgYSB3aXRuZXNzLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIEtldmluIGhhbmRsZSBBYmJpZSYjMzk7cyBkZW1hbmQ/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0FncmVlIHRvIHNpbmcgYnV0IHJlZnVzZSB0byBza2lwLi0mZ3Q7S2V2aW4gU2luZ3MgV2l0aG91dCBTa2lwcGluZ11dCglbW0FncmVlIHRvIHNraXAgYnV0IHJlZnVzZSB0byBzaW5nLi0mZ3Q7S2V2aW4gU2tpcHMgV2l0aG91dCBTaW5naW5nXV0KCVtbSm9pbiB0aGUgZW50aXJlIHBlcmZvcm1hbmNlIGFuZCBnZXQgaXQgb3ZlciB3aXRoLi0mZ3Q7S2V2aW4gU2luZ3MgYW5kIFNraXBzXV0KCVtbUmVmdXNlIGFuZCBhdHRlbXB0IHRvIG5lZ290aWF0ZS4tJmd0O0tldmluIE5lZ290aWF0ZXMgd2l0aCBBYmJpZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTUyIiBuYW1lPSJLZXZpbiBMZWF2ZXMgdGhlIENhdCBDb2xsYXIiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIxNTUwLDY2MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpbkxlZnRDYXRDb2xsYXIgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7RmllbGQgTmVhciB0aGUgV2luY2hlc3RlciBIb3VzZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtLZWVwIEFiYmllIGF3YXkgZnJvbSB0aGUgb2FrIHRyZWUmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0xlYXZlIGl0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGF0IHRoZSBjb2xsYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCdXQgdGhlIGNhdCBuZWVkcyBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBjYXQgd2VudCBpbnNpZGUgYSB0cmVlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBkb2VzbiYjMzk7dCBtZWFuIGl0IHN0b3BwZWQgbmVlZGluZyBhIGNvbGxhci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvbnNpZGVyZWQgdGhlIHNlbnRlbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIHRlY2huaWNhbGx5IGNvcnJlY3QgYW5kIGNvbXBsZXRlbHkgdW5oZWxwZnVsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UgYXJlIG5vdCBnb2luZyBpbnRvIHRoZSBmaWVsZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHRvb2sgb25lIHNtYWxsIHN0ZXAgdG93YXJkIHRoZSBncmFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIG1vdmVkIGluIGZyb250IG9mIGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBsb29rZWQgdXAgYXQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UHJldmVudGl2ZSBydWxlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RXhhY3RseS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNpZ2hlZCB3aXRoIHRoZSBwYXRpZW5jZSBvZiBzb21lb25lIG1hbmFnaW5nIGEgZGlmZmljdWx0IG9sZGVyCglicm90aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBzdGVwcGVkIGF3YXkgZnJvbSB0aGUgZmllbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY29sbGFyIHJlbWFpbmVkIG5lYXIgdGhlIHRyZWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YXRjaGVkIGl0IHVudGlsIGRpc3RhbmNlIG1hZGUgdGhlIGxlYXRoZXIgc3RyYXAgZGlmZmljdWx0IHRvCglzZWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2lsdmVyIHRhZyBjb250aW51ZWQgcmVmbGVjdGluZyBsaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZsYXNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRGFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZsYXNoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRGFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgcmVndWxhciByaHl0aG0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBiZWdhbiBjb3VudGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3by4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRocmVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRhZyBzdG9wcGVkIGZsYXNoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNvbGxhciBsaWZ0ZWQgZnJvbSB0aGUgZ3Jhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBwZXJzb24gb3IgYW5pbWFsIGhlbGQgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCByb3NlIHRvIHRoZSBoZWlnaHQgb2YgdGhlIHRyZWUgaG9sbG93IGFuZCBkaXNhcHBlYXJlZCBpbnNpZGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB3YXZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0J5ZSwgY2F0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRnJvbSB0aGUgaG9sbG93IGNhbWUgb25lIHNvZnQgbWVvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHNvdW5kZWQgdG9vIGRlZXAgdG8gYmVsb25nIHRvIGEgY2F0LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgYWJhbmRvbmVkIGNvbGxhciBsaWZ0ZWQgYnkgaXRzZWxmIGFuZCByZXR1cm5lZCB0byB0aGUgb2FrIGhvbGxvdyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgY2F0JiMzOTtzIGNvbGxhciBtb3ZlZCBpbnRvIHRoZSBvYWsgdHJlZSB3aXRob3V0IGJlaW5nIGNhcnJpZWQmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1VuZXhwbGFpbmVkIG1vdmVtZW50OiZsdDsvc3Ryb25nJmd0OyBUaGUgYWJhbmRvbmVkIGNvbGxhciBsaWZ0ZWQKCWZyb20gdGhlIGdyYXNzIGFuZCBkaXNhcHBlYXJlZCBpbnRvIHRoZSB0cmVlIGhvbGxvdy4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdG9vayBBYmJpZSYjMzk7cyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBsZWZ0IGJlZm9yZSB0aGUgdHJlZSBjb3VsZCByZXR1cm4gYW55dGhpbmcgZWxzZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0b3dhcmQgc2Nob29sLSZndDtLZXZpbiBhbmQgQWJiaWUgQ29udGludWUgdG8gU2Nob29sXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNTMiIG5hbWU9IktldmluIEFza3MgQWJiaWUgQWJvdXQgdGhlIENhdCIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSIxMDI1LDY0NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpbkFza2VkQWJiaWVBYm91dENhdCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtGaWVsZCBOZWFyIHRoZSBXaW5jaGVzdGVyIEhvdXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0NvbXBhcmUgd2hhdCBLZXZpbiBhbmQgQWJiaWUgc2F3JnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGRpZCB5b3Ugc2VlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGF0IHRoZSB0cmVlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGNhdCB3ZW50IGhvbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCB3ZW50IGluc2lkZSBhIHRyZWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGNhbiBiZSBob21lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIG9wZW5pbmcgd2FzIHRvbyBzbWFsbC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vdCBmb3IgdGhhdCBjYXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBkYXJrIGhvbGxvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0RpZCB5b3Ugc2VlIGl0IGNsaW1iIHRoZSB0cnVuaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNob29rIGhlciBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSBzZWUgdGhlIG9yYW5nZSBleWVzIGluIHRoZSBicmFuY2hlcz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGNvbGxhciBmZWxsIG91dC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGZyb3duZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGNvbGxhcj8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHBvaW50ZWQgdG93YXJkIHRoZSBkZWFkIGdyYXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxlYXRoZXIgY29sbGFyIGxheSB3aGVyZSBpdCBoYWQgZmFsbGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGRpcmVjdGx5IGF0IGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBkb24mIzM5O3Qgc2VlIGFueXRoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGZyb20gQWJiaWUgdG8gdGhlIGNvbGxhci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHJlbWFpbmVkIHZpc2libGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCcm93biBsZWF0aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2lsdmVyIHRhZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNpeC1wZXRhbGVkIHN5bWJvbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1JpZ2h0IHRoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZm9sbG93ZWQgaGlzIGZpbmdlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBncmFzcz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBjb2xsYXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVyZSBpc24mIzM5O3QgYSBjb2xsYXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGVwcGVkIHNpZGV3YXlzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNvbGxhciBtb3ZlZCB3aXRoIGhpcyBhbmdsZSBvZiB2aWV3LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIG5vdCBhIHJlZmxlY3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgbm90IGEgc2hhZG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIHByZXNlbnQgZm9yIEtldmluIGFuZCBhYnNlbnQgZm9yIEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBkaWQgdGhlIGNhdCBsb29rIGxpa2Ugd2hlbiBpdCB3ZW50IGludG8gdGhlIHRyZWU/JnF1b3Q7IGhlIGFza2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc21pbGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TGlrZSBhIGdpcmwuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBiZWNhbWUgc3RpbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGdpcmw/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgb25lIGZyb20gYnJlYWtmYXN0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGdpcmwgaW4gdGhlIHNwb29uPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbm9kZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2hlIGNyYXdsZWQgaW50byB0aGUgdHJlZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCB0b3dhcmQgdGhlIGhvbGxvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgcGFsZSBoYW5kIHdpdGhkcmV3IGludG8gdGhlIGRhcmtuZXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgZ3JhYmJlZCBBYmJpZSYjMzk7cyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RGlkIHlvdSBzZWUgdGhhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NlZSB3aGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhvbGxvdyB3YXMgZW1wdHkgYWdhaW4uCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FiYmllIHNhdyB0aGUgb3JhbmdlIGNhdCBiZWNvbWUgdGhlIGdpcmwgZnJvbSBoZXIgY2VyZWFsIHNwb29uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtUaGUgZ2lybCBmcm9tIEFiYmllJiMzOTtzIHNwb29uIGVudGVyZWQgdGhlIG9hayB0cmVlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0FiYmllIHBlcmNlaXZlZCB0aGUgb3JhbmdlIGNhdCBhcyB0aGUgcmVmbGVjdGVkIGdpcmwmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0NvbmZsaWN0aW5nIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiBzYXcgYSBjYXQgZW50ZXIgdGhlCgl0cmVlLCBidXQgQWJiaWUgY2xhaW1zIHNoZSBzYXcgdGhlIGdpcmwgZnJvbSBoZXIgc3Bvb24uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBjb2xsYXIgdmFuaXNoZWQgZnJvbSB0aGUgZ3Jhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBkaWQgbm90IHNlZSBpdCBtb3ZlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xlYXZlIHRoZSBmaWVsZCBpbW1lZGlhdGVseS0mZ3Q7S2V2aW4gYW5kIEFiYmllIENvbnRpbnVlIHRvIFNjaG9vbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTU0IiBuYW1lPSJLZXZpbiBTaW5ncyBXaXRob3V0IFNraXBwaW5nIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTIzNy41LDY4NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1NhdGlzZnkgQWJiaWUmIzM5O3MgZGVtYW5kIHdpdGhvdXQgcmVwZWF0aW5nIHRoZSBQZXRlciBQYW4gaW5jaWRlbnQmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBTaW5ncyBXaXRob3V0IFNraXBwaW5nOjE6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIFNpbmdzIFdpdGhvdXQgU2tpcHBpbmc6MTo4MGJmOGVlZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0kmIzM5O2xsIHNpbmcsJnF1b3Q7IEtldmluIHNhaWQuICZxdW90O0J1dCBJIGFtIG5vdCBza2lwcGluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGNvbnNpZGVyZWQgdGhlIG9mZmVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UmVndWxhciBzaW5naW5nIG9yIGdydW1weSBzaW5naW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhvc2UgYXJlIG5vdCBvZmZpY2lhbCBjYXRlZ29yaWVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7R3J1bXB5IHNpbmdpbmcgc291bmRzIGxpa2UgdGhpcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvd2VyZWQgaGVyIHZvaWNlIGFuZCBwcm9kdWNlZCBhIHNsb3csIG1pc2VyYWJsZSBncm9hbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCB0b3dhcmQgdGhlIG5lYXJlc3QgaG91c2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBjdXJ0YWluIG1vdmVkIGluIG9uZSB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd2l0bmVzcyBjb3VudCBoYWQgaW5jcmVhc2VkIHRvIG9uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1JlZ3VsYXIgc2luZ2luZywmcXVvdDsgS2V2aW4gc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHJlc3VtZWQgd2Fsa2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBiZWdhbiB0aGUgc29uZyBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGpvaW5lZCBxdWlldGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUga2VwdCBoaXMgc3RlcHMgY29udHJvbGxlZCwgaGlzIGFybXMgc3RpbGwsIGFuZCBoaXMgdm9pY2UgbG93IGVub3VnaAoJdGhhdCBhbnlvbmUgbmVhcmJ5IG1pZ2h0IG1pc3Rha2UgdGhlIHBlcmZvcm1hbmNlIGZvciBhIHByaXZhdGUKCW1lZGljYWwgZW1lcmdlbmN5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2FuZyBsb3VkZXIgdG8gY29tcGVuc2F0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vdCBsb3VkZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugd2VyZSB0b28gcXVpZXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IHdhcyBpbnRlbnRpb25hbC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NvbmdzIGNhbiYjMzk7dCBoZWFyIHlvdSBpZiB5b3Ugd2hpc3Blci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NvbmdzIGRvIG5vdCBuZWVkIHRvIGhlYXIgbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsb29rZWQgYXQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlbiBob3cgZG8gdGhleSBrbm93IHdoYXQgY29tZXMgbmV4dD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBubyB1c2VmdWwgYW5zd2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBjb250aW51ZWQgc2luZ2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlY29nbml6ZWQgc29tZSBvZiB0aGUgd29yZHMgZnJvbSBBYmJpZSYjMzk7cyBlYXJsaWVyIGNlcmVhbCBzb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3Vuc2hpbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGFkb3dzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhyZWUgZ2lybHMgc3RhbmRpbmcgaW4gYSByb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIEFiYmllIHJlYWNoZWQgYSBsaW5lIEtldmluIGhhZCBub3QgaGVhcmQgYmVmb3JlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCU9uZSBzdGF5cyBob21lLCBhbmQgdHdvIG11c3QgZ28uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQgc2luZ2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGNvbnRpbnVlZCBmb3Igc2V2ZXJhbCBzdGVwcyBiZWZvcmUgbm90aWNpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHkgZGlkIHlvdSBzdG9wPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBkb2VzIHRoYXQgbGluZSBtZWFuPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBsaW5lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7T25lIHN0YXlzIGhvbWUsIGFuZCB0d28gbXVzdCBnby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGZyb3duZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGRpZG4mIzM5O3Qgc2luZyB0aGF0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGFkIGhlYXJkIHRoZSB3b3JkcyBpbiBBYmJpZSYjMzk7cyB2b2ljZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHdhcyBuZWFybHkgY2VydGFpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5lYXJseSBjZXJ0YWluIGhhZCBiZWNvbWUgYW5vdGhlciBwaHJhc2UgdGhhdCBtYWRlIGV2ZXJ5dGhpbmcgd29yc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGcm9tIHRoZSBzdG9ybSBkcmFpbiBiZXNpZGUgdGhlIHNpZGV3YWxrIGNhbWUgb25lIGZhaW50IGNvbnRpbnVhdGlvbjoKJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglUaGUgdGhpcmQgYWxyZWFkeSBrbm93cy4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbW92ZWQgQWJiaWUgYXdheSBmcm9tIHRoZSBjdXJiLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTmVpdGhlciBvZiB0aGVtIHJlc3VtZWQgc2luZ2luZy4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7QSBoaWRkZW4gdm9pY2UgYWRkZWQgd29yZHMgdG8gS2V2aW4gYW5kIEFiYmllJiMzOTtzIHNvbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0EgaGlkZGVuIHZvaWNlIHNhbmcgdGhhdCBvbmUgc3RheXMgaG9tZSwgdHdvIG11c3QgZ28sIGFuZCB0aGUgdGhpcmQgYWxyZWFkeSBrbm93cyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBIGhpZGRlbiB2ZXJzZSByZWZlcnJlZCB0byB0aHJlZSBwZW9wbGUgYW5kIG9uZSBzdGF5aW5nIGhvbWUmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0hpZGRlbiB2ZXJzZTombHQ7L3N0cm9uZyZndDsgS2V2aW4gaGVhcmQgYSB2b2ljZSBhZGQgYSBsaW5lIGFib3V0CglvbmUgc3RheWluZyBob21lLCB0d28gbGVhdmluZywgYW5kIGEgdGhpcmQgd2hvIGFscmVhZHkga25vd3MuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0b3dhcmQgc2Nob29sLSZndDtUaGUgU2lkZXdhbGsgQ3JhY2tzXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNTUiIG5hbWU9IktldmluIFNraXBzIFdpdGhvdXQgU2luZ2luZyIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjEzNjIuNSw2ODc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtLZWVwIEFiYmllIG1vdmluZyB3aXRob3V0IGNyZWF0aW5nIGFub3RoZXIgcHVibGljIHBlcmZvcm1hbmNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gU2tpcHMgV2l0aG91dCBTaW5naW5nOjE6MGNkNjc0MGQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIFNraXBzIFdpdGhvdXQgU2luZ2luZzoxOjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJJiMzOTtsbCBza2lwLCZxdW90OyBLZXZpbiBzYWlkLiAmcXVvdDtCdXQgSSBhbSBub3Qgc2luZ2luZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNtaWxlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGltbWVkaWF0ZWx5IHJlZ3JldHRlZCB0aGUgb2ZmZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTa2lwcGluZyBhcHBlYXJlZCBzaW1wbGUgd2hlbiBwZXJmb3JtZWQgYnkgcGVvcGxlIHdobyBoYWQgbm90IHNwZW50IGFuCgllbnRpcmUgc2Nob29sIHllYXIgYmVpbmcgY2FsbGVkIFBldGVyIFBhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGF0dGVtcHRlZCBvbmUgY29udHJvbGxlZCBza2lwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIHRvbyBoaWdoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIGJhY2twYWNrIHN0cnVjayBoaXMgc2hvdWxkZXJzLCBvbmUgc25lYWtlciBzY3JhcGVkIHRoZSBwYXZlbWVudCwKCWFuZCBoaXMgZnJlZSBhcm0gbW92ZWQgb3V0d2FyZCB3aXRob3V0IGF1dGhvcml6YXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBsYXVnaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCB3YXMgYSBiYWQgb25lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBoYXZlbiYjMzk7dCBwcmFjdGljZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgcHJhY3RpY2VkIGFsbCBsYXN0IHllYXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtBZ2FpbnN0IG15IHdpbGwuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBkZW1vbnN0cmF0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZXIgbW92ZW1lbnRzIHdlcmUgbGlnaHQsIGV2ZW4sIGFuZCBjb21wbGV0ZWx5IGZyZWUgb2YgcHVibGljIHNoYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdHJpZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGlzIHRpbWUsIGhlIGtlcHQgdGhlIG1vdmVtZW50IHNtYWxsZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgc3RlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBza2lwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgc2tpcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByaHl0aG0gYWxtb3N0IGJlY2FtZSB0b2xlcmFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGEgdGhpcmQgc2V0IG9mIGZvb3RzdGVwcyBqb2luZWQgdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTa2lwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3RlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNraXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgY2FtZSBmcm9tIGJlaGluZCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGdsYW5jZWQgb3ZlciBoaXMgc2hvdWxkZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2lkZXdhbGsgd2FzIGVtcHR5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIFdpbmNoZXN0ZXIgaG91c2Ugc3Rvb2Qgc2V2ZXJhbCBibG9ja3MgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvYWsgdHJlZSByZW1haW5lZCB2aXNpYmxlIGFib3ZlIHRoZSByb29mdG9wcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZhY2VkIGZvcndhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGhpcmQgcmh5dGhtIGNvbnRpbnVlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IG1hdGNoZWQgaGlzIG1vdmVtZW50IGV4YWN0bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIHNraXBwaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZvb3RzdGVwcyBiZWhpbmQgaGltIGNvbXBsZXRlZCBvbmUgYWRkaXRpb25hbCBza2lwLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGV5IHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB0dXJuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHkgZGlkIHlvdSBzdG9wPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U29tZW9uZSB3YXMgYmVoaW5kIHVzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHN0dWRpZWQgdGhlIGVtcHR5IHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8gb25lIGlzIHRoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBkYW1wIHNob2VwcmludCBhcHBlYXJlZCBvbiB0aGUgcGF2ZW1lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3QgYSBiYXJlIGZvb3RwcmludC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgY2hpbGQmIzM5O3Mgc2hvZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaGFwZSB3YXMgbmFycm93IGFuZCBvbGQtZmFzaGlvbmVkLCB3aXRoIGEgc21hbGwgaGVlbCBhbmQgcm91bmRlZAoJdG9lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzZWNvbmQgcHJpbnQgYXBwZWFyZWQgYmVzaWRlIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhIHRoaXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdldCBpbXByZXNzaW9ucyBtb3ZlZCBmb3J3YXJkIHdpdGhvdXQgdmlzaWJsZSBmZWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBzdG9wcGVkIGJldHdlZW4gS2V2aW4gYW5kIEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGRvd24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEaWQgeW91IHNwaWxsIHNvbWV0aGluZz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwcmludHMgZmFkZWQgYmVmb3JlIEtldmluIGNvdWxkIGFuc3dlci4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7SW52aXNpYmxlIGZvb3RzdGVwcyBza2lwcGVkIGJlaGluZCBLZXZpbiBhbmQgQWJiaWUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O09sZC1mYXNoaW9uZWQgd2V0IHNob2VwcmludHMgYXBwZWFyZWQgb24gdGhlIHNpZGV3YWxrJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBzYXcgd2V0IG1hcmtzIGFwcGVhciBkdXJpbmcgdGhlIHdhbGsgdG8gc2Nob29sJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O09sZC1mYXNoaW9uZWQgc2hvZXByaW50cyBmb2xsb3dlZCBLZXZpbiYjMzk7cyBza2lwcGluZyByaHl0aG0mcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYXJlZCBvYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgT2xkLWZhc2hpb25lZCB3ZXQgc2hvZXByaW50cwoJYXBwZWFyZWQgd2hpbGUgYW4gdW5zZWVuIHRoaXJkIHBlcnNvbiBtYXRjaGVkIEtldmluJiMzOTtzIHNraXBwaW5nIHJoeXRobS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVzdW1lZCB3YWxraW5nIG5vcm1hbGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2tpcHBpbmcgaGFkIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBhcHByb3ZlZCBhY3Rpdml0eSBsaXN0LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHdpdGhvdXQgc2tpcHBpbmctJmd0O1RoZSBTaWRld2FsayBDcmFja3NdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE1NiIgbmFtZT0iS2V2aW4gU2luZ3MgYW5kIFNraXBzIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMTQ4Ny41LDY4NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmlzaCBBYmJpZSYjMzk7cyBwZXJmb3JtYW5jZSBiZWZvcmUgYW55b25lIHNlZXMgdGhlbSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIFNpbmdzIGFuZCBTa2lwczoxOmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLZXZpbiBTaW5ncyBhbmQgU2tpcHM6MTpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBTaW5ncyBhbmQgU2tpcHM6Mjo5NzFmNGU3MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gU2luZ3MgYW5kIFNraXBzOjI6OTcxZjRlNzEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDImZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtGaW5lLCZxdW90OyBLZXZpbiBzYWlkLiAmcXVvdDtPbmUgc29uZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FuZCBza2lwcGluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O09uZSBzb25nIGFuZCBsaW1pdGVkIHNraXBwaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBpcyBsaW1pdGVkIHNraXBwaW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UgYXJlIGFib3V0IHRvIGZpbmQgb3V0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgdG9vayBoaXMgaGFuZCBhbmQgYmVnYW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBqb2luZWQgd2l0aCB0aGUgbGVhc3QgZW50aHVzaWFzbSBwaHlzaWNhbGx5IHBvc3NpYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIGZpcnN0IHNraXAgcmVzZW1ibGVkIGFuIGF0dGVtcHQgdG8gYXZvaWQgYSBwdWRkbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgc2Vjb25kIHJlc2VtYmxlZCBhbiBhdHRlbXB0IHRvIGF2b2lkIGZhbGxpbmcgYWZ0ZXIgYXZvaWRpbmcgdGhlCglwdWRkbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCeSB0aGUgdGhpcmQsIEFiYmllIGhhZCBwdWxsZWQgaGltIGludG8gYSByaHl0aG0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVpciBqb2luZWQgaGFuZHMgc3d1bmcgYmV0d2VlbiB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2FuZyBsb3VkbHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBtdW1ibGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIHNraXBwZWQgaGlnaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHBlcmZvcm1lZCBzbWFsbCBkZWZlbnNpdmUgaG9wcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBzZXZlcmFsIHNlY29uZHMsIEtldmluIGZvcmdvdCB0aGUgaG91c2UsIHRoZSB0cmVlLCBhbmQgdGhlIG9yYW5nZQoJY2F0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBhIHdpbmRvdyBvcGVuZWQgaW4gdGhlIGhvdXNlIGJlc2lkZSB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBwZXJzb24gbGVhbmVkIG91dC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGltbWVkaWF0ZWx5IGxvb2tlZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHdpdG5lc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGNhciB0dXJuZWQgb250byB0aGUgc3RyZWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvIHdpdG5lc3Nlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWVvbmUgZmFydGhlciBhaGVhZCBsYXVnaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUG9zc2libHkgdW5yZWxhdGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY291bnRlZCBpdCBhbnl3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaHJlZSB3aXRuZXNzZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2l0dWF0aW9uIGhhZCBjcm9zc2VkIGZyb20gZW1iYXJyYXNzaW5nIGludG8gcGVybWFuZW50IHJlY29yZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNhbmcgbG91ZGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3MgZmFjZSBncmV3IHdhcm0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtDYW4gd2Ugc3RvcCBub3c/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSBhcmVuJiMzOTt0IGF0IHRoZSBlbmQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTb25ncyBjYW4gZW5kIGVhcmx5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm90IHRoaXMgb25lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1lbG9keSBjaGFuZ2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUmIzM5O3Mgdm9pY2UgYmVjYW1lIHF1aWV0ZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVpciBzaGFkb3dzIHN0cmV0Y2hlZCBhY3Jvc3MgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3Mgc2hhZG93IHNraXBwZWQgd2hlbiBoZSBza2lwcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUmIzM5O3Mgc2hhZG93IHNraXBwZWQgd2hlbiBzaGUgc2tpcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgdGhpcmQgc2hhZG93IG1vdmVkIGJldHdlZW4gdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGhlbGQgYm90aCB0aGVpciBoYW5kcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25seSBoaXMgaGFuZCBhbmQgQWJiaWUmIzM5O3Mgd2VyZSBqb2luZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGhpcmQgc2hhZG93IHN3dW5nIGJldHdlZW4gdGhlbSBhbnl3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgc21hbGxlciB0aGFuIEtldmluJiMzOTtzIGFuZCB0YWxsZXIgdGhhbiBBYmJpZSYjMzk7cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0cyBvdXRsaW5lIHdvcmUgYSBkcmVzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSB0b29rIG9uZSBtb3JlIHNraXAgYmVmb3JlIGhpcyB3ZWlnaHQgcHVsbGVkIGhlciBiYWNrd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0aGlyZCBzaGFkb3cgY29udGludWVkIGZvcndhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB0b29rIHR3byBzdGVwcyBhbG9uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gaXQgdHVybmVkIHRvd2FyZCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaGFkb3cgcmFpc2VkIG9uZSBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIGZpbmdlciBwcmVzc2VkIGFnYWluc3Qgd2hlcmUgaXRzIG1vdXRoIHNob3VsZCBoYXZlIGJlZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHBhc3NpbmcgY2xvdWQgY292ZXJlZCB0aGUgc3VuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRoaXJkIHNoYWRvdyBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7QSB0aGlyZCBzaGFkb3cgam9pbmVkIEtldmluIGFuZCBBYmJpZSYjMzk7cyBwZXJmb3JtYW5jZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QSBnaXJsJiMzOTtzIHNoYWRvdyBoZWxkIEtldmluIGFuZCBBYmJpZSYjMzk7cyBoYW5kcyB3aGlsZSB0aGV5IHNraXBwZWQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIHN0b3BwZWQgc3VkZGVubHkgd2hpbGUgdGhleSB3ZXJlIHNpbmdpbmcgYW5kIHNraXBwaW5nJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0EgdGhpcmQgc2hhZG93IGpvaW5lZCBLZXZpbiBhbmQgQWJiaWUgb24gdGhlIHNpZGV3YWxrJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtNYWpvciBvYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgQSB0aGlyZCBzaGFkb3cgam9pbmVkIEtldmluIGFuZAoJQWJiaWUsIHRoZW4gc2lnbmFsZWQgZm9yIEtldmluIHRvIHJlbWFpbiBxdWlldC4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIHVwIGF0IEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2h5IGFyZSB5b3UgbWFraW5nIHRoZSBmYWNlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBmYWNlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGxlbW9uIG1hdGgtdGVzdCBmYWNlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVsZWFzZWQgaGVyIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSBhcmUgd2Fsa2luZyBub3JtYWxseSBub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzaWdoZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGVyZm9ybWFuY2UgaGFkIG9mZmljaWFsbHkgZW5kZWQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgdG93YXJkIHNjaG9vbC0mZ3Q7VGhlIFNpZGV3YWxrIENyYWNrc11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTU3IiBuYW1lPSJLZXZpbiBOZWdvdGlhdGVzIHdpdGggQWJiaWUiIHRhZ3M9ImJnLWhvdXNlIiBwb3NpdGlvbj0iMTYwMCw2ODc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDb252aW5jZSBBYmJpZSB0byBjb250aW51ZSB3aXRob3V0IHNpbmdpbmcgb3Igc2tpcHBpbmcmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBOZWdvdGlhdGVzIHdpdGggQWJiaWU6MTo4MGJmOGVlZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gTmVnb3RpYXRlcyB3aXRoIEFiYmllOjE6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGlmIHdlIG1ha2UgYSBkZWFsPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcmVtYWluZWQgcGxhbnRlZCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQga2luZD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dlIHdhbGsgbm9ybWFsbHkgbm93LCBhbmQgSSBkbyBvbmUgb2YgeW91ciBjaG9yZXMgdG9uaWdodC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doaWNoIGNob3JlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGFkIG5vdCBwcmVwYXJlZCBmb3IgZGV0YWlsZWQgbmVnb3RpYXRpb25zLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7UHV0dGluZyBhd2F5IHlvdXIgdG95cy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQmIzM5O3Mgbm90IGEgY2hvcmUuIFRoYXQmIzM5O3Mgb3JnYW5pemluZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGJlY29tZXMgYSBjaG9yZSB3aGVuIHRoZSB0b3lzIGNvdmVyIHlvdXIgZW50aXJlIGZsb29yLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY29uc2lkZXJlZCB0aGlzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VHdvIGNob3Jlcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O09uZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1R3byBjaG9yZXMgYW5kIGEgc29uZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSBzb25nIGlzIHdoYXQgd2UgYXJlIG5lZ290aWF0aW5nIGFnYWluc3QuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtPbmUgY2hvcmUgYW5kIGhhbGYgYSBzb25nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SG93IGRvIHlvdSBzaW5nIGhhbGYgYSBzb25nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91IHN0b3AgaW4gdGhlIG1pZGRsZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgd2FzIGRpc3R1cmJpbmdseSByZWFzb25hYmxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7T25lIGNob3JlIGFuZCBubyBzb25nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7T25lIGNob3JlLCBubyBzb25nLCBhbmQgeW91IGhvbGQgbXkgaGFuZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNoZWNrZWQgdGhlIHN0cmVldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIHZpc2libGUgc3R1ZGVudHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBidXNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjdXJ0YWluIGluIHRoZSBuZWFyYnkgaG91c2UgaGFkIHN0b3BwZWQgbW92aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RmluZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHRvb2sgaGlzIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IHJlc3VtZWQgd2Fsa2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGV4cGVyaWVuY2VkIHRocmVlIHBlYWNlZnVsIHNlY29uZHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIEFiYmllIGh1bW1lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0h1bW1pbmcgaXMgc2luZ2luZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiBIdW1taW5nIGRvZXNuJiMzOTt0IGhhdmUgd29yZHMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGlzIHN0aWxsIG11c2ljLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UgZGlkbiYjMzk7dCBuZWdvdGlhdGUgbXVzaWMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZWNvZ25pemVkIHN1cGVyaW9yIHByZXBhcmF0aW9uIHdoZW4gaGUgZW5jb3VudGVyZWQgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBoYWQgd29uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIGh1bW1pbmcgc2V0dGxlZCBpbnRvIHRoZSBtZWxvZHkgZnJvbSB0aGUgY2VyZWFsIHNvbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsaXN0ZW5lZCBkZXNwaXRlIGhpbXNlbGYuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNlY29uZCBodW1taW5nIHZvaWNlIGpvaW5lZCBmcm9tIHRoZSBvcHBvc2l0ZSBzaWRlIG9mIHRoZSBzdHJlZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbiBlbXB0eSBsb3Qgc3RyZXRjaGVkIGJldHdlZW4gdHdvIGhvdXNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIG9uZSBzdG9vZCB0aGVyZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzZWNvbmQgdm9pY2UgbWF0Y2hlZCBBYmJpZSBwZXJmZWN0bHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGl0IG1vdmVkIGFoZWFkIGJ5IG9uZSBub3RlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZm9sbG93ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdW5zZWVuIHZvaWNlIG1vdmVkIGFoZWFkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZm9sbG93ZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgbm90IGNvcHlpbmcgaGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIHRlYWNoaW5nIGhlciB0aGUgc29uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBjb250aW51ZWQgaHVtbWluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FiYmllLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2hlIGRpZCBub3QgcmVzcG9uZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBleWVzIHJlbWFpbmVkIGZvY3VzZWQgb24gdGhlIHNpZGV3YWxrIGFoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3F1ZWV6ZWQgaGVyIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBibGlua2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlY29uZCBodW1taW5nIHZvaWNlIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0PyZxdW90OyBzaGUgYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaG8gdGF1Z2h0IHlvdSB0aGF0IG1lbG9keT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCBjb25mdXNlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBkaWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoYWQgbm90LgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtBbiB1bnNlZW4gdm9pY2UgdGF1Z2h0IEFiYmllIHBhcnQgb2YgdGhlIGNlcmVhbCBzb25nJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBbiB1bnNlZW4gaHVtbWluZyB2b2ljZSBsZWQgQWJiaWUgdGhyb3VnaCB0aGUgY2VyZWFsIG1lbG9keSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLkFiYmllLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgYmVsaWV2ZXMgS2V2aW4gdGF1Z2h0IGhlciB0aGUgY2VyZWFsIHNvbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QW4gdW5zZWVuIHZvaWNlIGFwcGVhcmVkIHRvIHRlYWNoIEFiYmllIGEgc29uZyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q29uZmxpY3RpbmcgbWVtb3J5OiZsdDsvc3Ryb25nJmd0OyBBbiB1bnNlZW4gdm9pY2UgbGVkIEFiYmllIHRocm91Z2gKCXRoZSBtZWxvZHksIGJ1dCBBYmJpZSBiZWxpZXZlcyBLZXZpbiB0YXVnaHQgaXQgdG8gaGVyLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBrZXB0IGhvbGQgb2YgaGVyIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hvcmUgYWdyZWVtZW50IGhhZCBiZWNvbWUgdGhlIGxlYXN0IGltcG9ydGFudCBwYXJ0IG9mIHRoZQoJbmVnb3RpYXRpb24uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgdG93YXJkIHNjaG9vbC0mZ3Q7VGhlIFNpZGV3YWxrIENyYWNrc11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTU4IiBuYW1lPSJUaGUgU2lkZXdhbGsgQ3JhY2tzIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMTIyNSw3MDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldDogU2lkZXdhbGsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7S2VlcCBtb3ZpbmcgdG93YXJkIEFiYmllJiMzOTtzIHNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBlcmZvcm1hbmNlIGVuZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYW5kIEFiYmllIGNvbnRpbnVlZCBhbG9uZyB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmFydGhlciB0aGV5IG1vdmVkIGZyb20gdGhlIGZpZWxkLCB0aGUgd2FybWVyIHRoZSBhaXIgYmVjYW1lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3MgYnJlYXRoIG5vIGxvbmdlciBmb3JtZWQgd2hpdGUgY2xvdWRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9yZGluYXJ5IFNlcHRlbWJlciBtb3JuaW5nIHJldHVybmVkIGJ5IGRlZ3JlZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDYXJzIHBhc3NlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgbGF3biBzcHJpbmtsZXIgY2xpY2tlZCBhY3Jvc3MgYSBuZWFyYnkgeWFyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWVvbmUgZHJhZ2dlZCBhIHRyYXNoIGJhcnJlbCB0b3dhcmQgdGhlIGN1cmIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3JtYWwgc291bmRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdHJpZWQgdG8gbGV0IHRoZW0gcmVtYWluIG5vcm1hbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQgYXQgYSBjcmFjayBpbiB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUganVtcGVkIG92ZXIgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaHJlZSBzdGVwcyBsYXRlciwgc2hlIGp1bXBlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YXRjaGVkIGhlciB6aWd6YWcgZG93biB0aGUgcGF2ZW1lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEbyB5b3UgaGF2ZSB0byBqdW1wIG92ZXIgZXZlcnkgY3JhY2s/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZZXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGVyZSBhcmUgaHVuZHJlZHMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtNYXliZSBhIG1pbGxpb24uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IGlzIG5vdCBiZXR0ZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBhcHByb2FjaGVkIGFub3RoZXIgY3JhY2sgYW5kIGxlYXBlZCBhY3Jvc3MgaXQgd2l0aCBib3RoIGZlZXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWxrZWQgb3ZlciB0aGUgc2FtZSBsaW5lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlciBleHByZXNzaW9uIGJlY2FtZSB1bnVzdWFsbHkgc2VyaW91cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBzdGVwcGVkIG9uIGl0LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SXQgaXMgYSBzaWRld2Fsay4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0JiMzOTtzIGJhZCBsdWNrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZ2xhbmNlZCBiYWNrIGF0IHRoZSBjcmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBuYXJyb3csIG9yZGluYXJ5LCBhbmQgcHJvYmFibHkgY3JlYXRlZCBieSB3aW50ZXIgZnJvc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIGFib3V0IGl0IGxvb2tlZCBkYW5nZXJvdXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIGluc2lkZSB0aGUgaG91c2UgaGFkIGxvb2tlZCBkYW5nZXJvdXMgYXQgZmlyc3QgZWl0aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmFkIGx1Y2sgaG93PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2hvb2sgaGVyIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Ugd29uJiMzOTt0IGJlbGlldmUgbWUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd29yZCAmbHQ7ZW0mZ3Q7bHVjayZsdDsvZW0mZ3Q7IGxhbmRlZCBkaWZmZXJlbnRseSBhZnRlciB0aGUgb3JhbmdlIGNhdCYjMzk7cyB0YWcuCiZsdDsvcCZndDsKJmx0OyZsdDtpZiAka2V2aW5SZXRyaWV2ZWRDYXRDb2xsYXImZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGNvbGxhciBpbnNpZGUgS2V2aW4mIzM5O3MgYmFja3BhY2sgZ2F2ZSBvbmUgc29mdCBtZXRhbGxpYyBjbGljay4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoZSB0YWcgaGFkIGRpc3BsYXllZCB0d28gd29yZHMuCgkmbHQ7L3AmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CgkJTFVDWS4mbHQ7YnImZ3Q7CgkJTFVDSy4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2VpZiAka2V2aW5FeGFtaW5lZENhdFRhZyZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLZXZpbiByZW1lbWJlcmVkIHRoZSBlbmdyYXZpbmcgdGhhdCBhcHBlYXJlZCB0byBjaGFuZ2UgYmV0d2VlbgoJCUxVQ0sgYW5kIExVQ1kuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRrZXZpblN0dWRpZWRDYXRDb2xsYXImZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcmVtZW1iZXJlZCB0aGUgbWFya2VkIGNvbGxhciBiZW5lYXRoIHRoZSBvYWsgYW5kIHRoZSBmaWVsZCYjMzk7cwoJCWhpZGRlbiBzeW1ib2xzLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtwJmd0OwoJQSB0aGluIHNvdW5kIGNhbWUgZnJvbSBiZW5lYXRoIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNyYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGxpbmUgS2V2aW4gaGFkIHN0ZXBwZWQgb24gd2lkZW5lZCBieSBsZXNzIHRoYW4gYW4gaW5jaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNvbGQgYWlyIHRvdWNoZWQgdGhlIHNvbGUgb2YgaGlzIHNob2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21ldGhpbmcgbW92ZWQgaW4gdGhlIGRhcmtuZXNzIGJlbG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RlcHBlZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNyYWNrIHJldHVybmVkIHRvIGl0cyBwcmV2aW91cyB3aWR0aC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiByZXNwb25kIHRvIEFiYmllJiMzOTtzIHJ1bGU/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Rm9sbG93IHRoZSBydWxlIGFuZCBqdW1wIG92ZXIgZXZlcnkgY3JhY2suJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgU2lkZXdhbGsgQ3JhY2tzOjE6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBTaWRld2FsayBDcmFja3M6MTo4MGJmOGVlZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBBdm9pZHMgdGhlIFNpZGV3YWxrIENyYWNrcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgQWJiaWUgd2hvIHRhdWdodCBoZXIgdGhlIHJ1bGUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgU2lkZXdhbGsgQ3JhY2tzOjI6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBTaWRld2FsayBDcmFja3M6MjozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBRdWVzdGlvbnMgdGhlIENyYWNrIFJ1bGUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7SWdub3JlIHRoZSBzdXBlcnN0aXRpb24gYW5kIHdhbGsgbm9ybWFsbHkuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgU2lkZXdhbGsgQ3JhY2tzOjM6MGNkNjc0MGQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBTaWRld2FsayBDcmFja3M6MzowY2Q2NzQwZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIElnbm9yZXMgdGhlIFNpZGV3YWxrIENyYWNrcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtUYWtlIEFiYmllJiMzOTtzIGhhbmQgYW5kIGZvbGxvdyBoZXIgcGF0aC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlRoZSBTaWRld2FsayBDcmFja3M6NDpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6VGhlIFNpZGV3YWxrIENyYWNrczo0OmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIFNpZGV3YWxrIENyYWNrczo1OjJmYWZmNGIyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgU2lkZXdhbGsgQ3JhY2tzOjU6MmZhZmY0YjImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwcy5LZXZpbkFiYmllICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gRm9sbG93cyBBYmJpZSBPdmVyIHRoZSBDcmFja3MmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTU5IiBuYW1lPSJLZXZpbiBBdm9pZHMgdGhlIFNpZGV3YWxrIENyYWNrcyIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjU3NSw2NzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5Bdm9pZGVkQ3JhY2tzID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgU3RyZWV0OiBTaWRld2FsayZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGb2xsb3cgQWJiaWUmIzM5O3MgcnVsZSBhbmQgY29udGludWUgdG93YXJkIHNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoKCUtldmluIHN0ZXBwZWQgYmFja3dhcmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3JhY2sgYmVuZWF0aCBoaXMgc2hvZSByZW1haW5lZCBuYXJyb3cgYW5kIG9yZGluYXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZyBtb3ZlZCBpbnNpZGUgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IGRpZCBub3QgcHJvdmUgYW55dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglVbmZvcnR1bmF0ZWx5LCBpdCBhbHNvIGRpZCBub3QgZGlzcHJvdmUgYW55dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtGaW5lLCZxdW90OyBLZXZpbiBzYWlkLiAmcXVvdDtXZSBhdm9pZCB0aGUgY3JhY2tzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbm9kZGVkIHdpdGggdGhlIHNvbGVtbiBhcHByb3ZhbCBvZiBzb21lb25lIHdob3NlIGV4cGVydGlzZSBoYWQKCWZpbmFsbHkgYmVlbiByZWNvZ25pemVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYXBwcm9hY2hlZCB0aGUgbmV4dCBsaW5lIGluIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyB0b28gd2lkZSB0byBzdGVwIGFjcm9zcyBjb21mb3J0YWJseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGp1bXBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBiYWNrcGFjayBzdHJ1Y2sgaGlzIHNob3VsZGVycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGp1bXBlZCBiZXNpZGUgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2VlPyBFYXN5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCB3YXMgb25lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW5vdGhlciBjcmFjayB3YWl0ZWQgc2l4IGZlZXQgYWhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFub3RoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRocmVlIGNyb3NzaW5nIG9uZSBhbm90aGVyIGxpa2UgYSBiYWRseSBkZXNpZ25lZCBtYXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBiZWdhbiBjYWxjdWxhdGluZyByb3V0ZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTdGVwIGxlZnQuIEp1bXAgZm9yd2FyZC4gQXZvaWQgdGhlIGRpYWdvbmFsIGxpbmUuIExhbmQgYmVmb3JlIHRoZQoJbmV4dCBzcGxpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzaWRld2FsayBoYWQgYmVjb21lIGFuIG9ic3RhY2xlIGNvdXJzZSBjcmVhdGVkIGJ5IHdpbnRlciwKCW5lZ2xlY3RlZCBtYWludGVuYW5jZSwgYW5kIHBvc3NpYmxlIHN1cGVybmF0dXJhbCBwdW5pc2htZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ganVtcGVkIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY2xhcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSYjMzk7cmUgZ2V0dGluZyBiZXR0ZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGRvIG5vdCB3YW50IHRvIGdldCBiZXR0ZXIgYXQgdGhpcy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgcmVhY2hlZCBhIHNlY3Rpb24gd2hlcmUgdGhlIHBhdmVtZW50IHdhcyBicm9rZW4gaW50byBkb3plbnMgb2YKCXNtYWxsIHNsYWJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXJlIHdhcyBubyBwYXRoIHRocm91Z2ggd2l0aG91dCB0b3VjaGluZyBhIGNyYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgZXhhbWluZWQgdGhlIHBhdHRlcm4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgaGF2ZSB0byB1c2UgdGhlIGdyYXNzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGdyYXNzIGlzIHdldC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JhZCBsdWNrIGlzIHdvcnNlIHRoYW4gd2V0IHNob2VzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IHRoZSBncmFzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYXQgdGhlIGZyYWN0dXJlZCBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHN0ZXBwZWQgb250byB0aGUgbGF3bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBzbmVha2VyIHNhbmsgaW50byBjb2xkIG11ZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUV4Y2VsbGVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdyBoZSBjb3VsZCBhcnJpdmUgYXQgYSBuZXcgc2Nob29sIGxhdGUsIGVtYmFycmFzc2VkLCBhbmQgd2VhcmluZwoJb25lIGJyb3duIHNob2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YWxrZWQgYmVzaWRlIHRoZSBicm9rZW4gcGF2ZW1lbnQgdW50aWwgdGhlIHNpZGV3YWxrIGJlY2FtZQoJc2FmZSBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCBoaW0sIHNvbWV0aGluZyBjcmFja2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IHBhdmVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBicmFuY2guCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGxpbmUgb2YgZnJlc2ggY3JhY2tzIHRyYXZlbGVkIGFjcm9zcyB0aGUgc2lkZXdhbGsgd2hlcmUgaGUgaGFkIGp1c3QKCWJlZW4gc3RhbmRpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IHN0b3BwZWQgYXQgdGhlIGVkZ2Ugb2YgdGhlIGdyYXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1NlZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGRpZCBzZWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHdhcyB0aGUgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7U2lkZXdhbGsgY3JhY2tzIHNwcmVhZCB0b3dhcmQgS2V2aW4gYWZ0ZXIgaGUgYXZvaWRlZCB0aGVtJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtGcmVzaCBjcmFja3MgZm9sbG93ZWQgS2V2aW4mIzM5O3MgcGF0aCBidXQgc3RvcHBlZCBhdCB0aGUgZ3Jhc3MmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIGFncmVlZCB0byBhdm9pZCBzaWRld2FsayBjcmFja3MmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7U2lkZXdhbGsgY3JhY2tzIHNwcmVhZCB0b3dhcmQgS2V2aW4gYW5kIHN0b3BwZWQgYXQgdGhlIGdyYXNzJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtSdWxlIHBvc3NpYmx5IGNvbmZpcm1lZDombHQ7L3N0cm9uZyZndDsgRnJlc2ggY3JhY2tzIHNwcmVhZCB0b3dhcmQKCUtldmluIGFmdGVyIGhlIHN0ZXBwZWQgb2ZmIHRoZSBzaWRld2FsaywgdGhlbiBzdG9wcGVkIGF0IHRoZSBncmFzcy4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmV0dXJuZWQgdG8gdGhlIHBhdmVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUganVtcGVkIG92ZXIgdGhlIG5leHQgY3JhY2sgd2l0aG91dCBiZWluZyByZW1pbmRlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0b3dhcmQgQWJiaWUmIzM5O3Mgc2Nob29sLSZndDtBcHByb2FjaGluZyBBYmJpZSYjMzk7cyBTY2hvb2xdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE2MCIgbmFtZT0iQXBwcm9hY2hpbmcgQWJiaWUmIzM5O3MgU2Nob29sIiB0YWdzPSJiZy1ob3VzZSIgcG9zaXRpb249IjU3NSw2ODUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtOZWFyIEJyZWNrZW5yaWRnZSBFbGVtZW50YXJ5IFNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZWxpdmVyIEFiYmllIHRvIHNjaG9vbCBhbmQgYXZvaWQgZnVydGhlciBlbWJhcnJhc3NtZW50JnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglUaGUgZWxlbWVudGFyeSBzY2hvb2wgYXBwZWFyZWQgYXQgdGhlIGVuZCBvZiB0aGUgc3RyZWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1aWxkaW5nIHdhcyBsb3csIHJlZCBicmljaywgYW5kIHN1cnJvdW5kZWQgYnkgYSBjaGFpbi1saW5rIGZlbmNlCglwYWludGVkIGdyZWVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2hpbGRyZW4gY3Jvc3NlZCB0aGUgcGxheWdyb3VuZCB3aGlsZSBhZHVsdHMgZ2F0aGVyZWQgbmVhciB0aGUgbWFpbgoJZW50cmFuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2lnaHQgc2hvdWxkIGhhdmUgcmVsaWV2ZWQgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGhhZCByZWFjaGVkIGEgcHVibGljIHBsYWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHVibGljIHBsYWNlcyBoYWQgd2l0bmVzc2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2l0bmVzc2VzIG1hZGUgc3RyYW5nZSB0aGluZ3MgbGVzcyBsaWtlbHkgdG8gaGFwcGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2l0bmVzc2VzIGFsc28gbWFkZSBlbWJhcnJhc3NpbmcgdGhpbmdzIGltcG9zc2libGUgdG8gZGVueS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGltbWVkaWF0ZWx5IG5vdGljZWQgdGhyZWUgYWR1bHRzIG5lYXIgdGhlIGdhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgaGVsZCBhIGNvZmZlZSBjdXAuIE9uZSBoZWxkIHRoZSBoYW5kIG9mIGEgeW91bmdlciBjaGlsZC4gVGhlIHRoaXJkCgl3YXMgYWxyZWFkeSBtb3Zpbmcgc2xpZ2h0bHkgdG8gdGhlIHJoeXRobSBvZiBBYmJpZSYjMzk7cyBodW1taW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hlbiBkaWQgeW91IHN0YXJ0IGh1bW1pbmcgYWdhaW4/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGRpZG4mIzM5O3Qgc3RvcC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBub3QgaGVhcmQgaGVyIGZvciB0aGUgbGFzdCBibG9jay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgc3VnZ2VzdGVkIGVpdGhlciBpbXByZXNzaXZlIGNvbmNlbnRyYXRpb24gb3IgYSBuZXcgcHJvYmxlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNhbmcgdGhlIG5leHQgbGluZSBhbG91ZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhZHVsdCB3aXRoIHRoZSBjb2ZmZWUgY3VwIGJlZ2FuIHN3YXlpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2Vjb25kIGFkdWx0IHNtaWxlZCBhbmQgam9pbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRoaXJkIGNsYXBwZWQgaW4gdGltZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluJiMzOTtzIHN0b21hY2ggZHJvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBtb3JuaW5nIGhhZCByZWFjaGVkIHRoZSBleGFjdCBldmVudCBoZSBoYWQgYXR0ZW1wdGVkIHRvIHByZXZlbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbiBhdWRpZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNxdWVlemVkIGhpcyBoYW5kIGFuZCBza2lwcGVkIHRvd2FyZCB0aGUgZ2F0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhZHVsdHMgbW92ZWQgYXNpZGUgdG8gbWFrZSByb29tLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIG9mIHRoZW0gbGlmdGVkIGJvdGggdGh1bWJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVtZW1iZXJlZCB0aGUgcHJldmlvdXMgeWVhci4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglQcmVzY2hvb2w6IFRoZSBNdXNpY2FsLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglIZWF0IGNsaW1iZWQgS2V2aW4mIzM5O3MgbmVjayBhbmQgcmVhY2hlZCBib3RoIGVhcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSByZW1haW5lZCBkZWxpZ2h0ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb25zaWRlcmVkIHJlbGVhc2luZyBoZXIgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSB0aWdodGVuZWQgaGVyIGdyaXAgYmVmb3JlIGhlIGNvdWxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmVoaW5kIHRoZSBhZHVsdHMsIGEgZmlndXJlIHN0b29kIG5lYXIgdGhlIHBsYXlncm91bmQgZmVuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGNoaWxkIGluIGFuIG9sZC1mYXNoaW9uZWQgZHJlc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmlndXJlIHdhcyBub3Qgc3dheWluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBjbGFwcGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBzbWlsaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNoaWxkIGhlbGQgb25lIGZpbmdlciBhZ2FpbnN0IHRoZSBsaXBzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYmxpbmtlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgdGVhY2hlciBzdG9vZCB0aGVyZSBpbnN0ZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRlYWNoZXIgd2F2ZWQgY2hpbGRyZW4gdG93YXJkIHRoZSBlbnRyYW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIG9uZSBlbHNlIGFwcGVhcmVkIHRvIGhhdmUgbm90aWNlZCB0aGUgY2hhbmdlLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIEtldmluIGhhbmRsZSB0aGUgYXVkaWVuY2U/Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7S2VlcCBzaW5naW5nIHNvIEFiYmllIGNhbiBlbmpveSB0aGUgbW9tZW50LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QXBwcm9hY2hpbmcgQWJiaWUmIzM5O3MgU2Nob29sOjE6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFwcHJvYWNoaW5nIEFiYmllJiMzOTtzIFNjaG9vbDoxOmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QXBwcm9hY2hpbmcgQWJiaWUmIzM5O3MgU2Nob29sOjI6OTcxZjRlNzEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFwcHJvYWNoaW5nIEFiYmllJiMzOTtzIFNjaG9vbDoyOjk3MWY0ZTcxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJlbGF0aW9uc2hpcHMuS2V2aW5BYmJpZSArPSAyJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIEZpbmlzaGVzIHRoZSBTb25nIGF0IFNjaG9vbCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtTdG9wIHNpbmdpbmcgYW5kIHdhbGsgbm9ybWFsbHkgdGhyb3VnaCB0aGUgZ2F0ZS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFwcHJvYWNoaW5nIEFiYmllJiMzOTtzIFNjaG9vbDozOjgwYmY4ZWVlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpBcHByb2FjaGluZyBBYmJpZSYjMzk7cyBTY2hvb2w6Mzo4MGJmOGVlZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLnByZXBhcmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBFbmRzIHRoZSBQZXJmb3JtYW5jZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtXYXRjaCB0aGUgcGxheWdyb3VuZCBmZW5jZSBmb3IgdGhlIG1pc3NpbmcgZ2lybC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFwcHJvYWNoaW5nIEFiYmllJiMzOTtzIFNjaG9vbDo0OjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpBcHByb2FjaGluZyBBYmJpZSYjMzk7cyBTY2hvb2w6NDozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBXYXRjaGVzIHRoZSBTY2hvb2wgRmVuY2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIEFiYmllIHdoZXRoZXIgc2hlIHNhdyB0aGUgZ2lybC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFwcHJvYWNoaW5nIEFiYmllJiMzOTtzIFNjaG9vbDo1OjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpBcHByb2FjaGluZyBBYmJpZSYjMzk7cyBTY2hvb2w6NTowY2Q2NzQwZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmFjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIEFza3MgQWJvdXQgdGhlIEdpcmwgYXQgU2Nob29sJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE2MSIgbmFtZT0iS2V2aW4gUXVlc3Rpb25zIHRoZSBDcmFjayBSdWxlIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iODc1LDY4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpblF1ZXN0aW9uZWRDcmFja1J1bGUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBTdHJlZXQ6IFNpZGV3YWxrJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgb3V0IHdobyB0YXVnaHQgQWJiaWUgdG8gYXZvaWQgc2lkZXdhbGsgY3JhY2tzJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaG8gdG9sZCB5b3Ugc3RlcHBpbmcgb24gY3JhY2tzIGJyaW5ncyBiYWQgbHVjaz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGFwcHJvYWNoZWQgYW5vdGhlciBsaW5lIGFuZCBqdW1wZWQgb3ZlciBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0V2ZXJ5Ym9keSBrbm93cy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0V2ZXJ5Ym9keSBpcyBub3QgYSBwZXJzb24uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBjYW4gYmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgYXQgaGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8sIGl0IGNhbm5vdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGp1bXBlZCBvdmVyIHRoZSBuZXh0IGNyYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIGdpcmwgdG9sZCBtZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQgd2Fsa2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQgZ2lybD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQgdG9vLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIG9uZSB3aG8ga25vd3MgdGhlIHNvbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0OyZsdDtpZiAka25vd2xlZGdlLkFiYmllLmluY2x1ZGVzKCZxdW90O0EgcmVmbGVjdGVkIGdpcmwgYXBwZWFyZWQgaW4gQWJiaWUmIzM5O3MgY2VyZWFsIHNwb29uJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtUaGUgZ2lybCBpbiB5b3VyIHNwb29uPyZxdW90OwoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJQWJiaWUgbm9kZGVkLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2VpZiAka25vd2xlZGdlLkFiYmllLmluY2x1ZGVzKCZxdW90O1RoZSBnaXJsIGZyb20gQWJiaWUmIzM5O3Mgc3Bvb24gZW50ZXJlZCB0aGUgb2FrIHRyZWUmcXVvdDspJmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O1RoZSBnaXJsIHlvdSBzYXcgZW50ZXIgdGhlIHRyZWU/JnF1b3Q7CgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtTaGUgd2FzIGluIHRoZSBzcG9vbiBmaXJzdC4mcXVvdDsKCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O1doYXQgc29uZz8mcXVvdDsKCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCSZxdW90O1RoZSBvbmUgZnJvbSBicmVha2Zhc3QuJnF1b3Q7CgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGVuIGRpZCBzaGUgdGVsbCB5b3UgYWJvdXQgdGhlIGNyYWNrcz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCB0b3dhcmQgdGhlIHBhdmVtZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmVmb3JlIHdlIG1vdmVkLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RhcmVkIGF0IGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBzYXcgaGVyIGJlZm9yZSB3ZSBtb3ZlZCB0byBCcmVja2VucmlkZ2U/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBmcm93bmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UganVzdCBzYWlkIHNoZSB0b2xkIHlvdSBiZWZvcmUgd2UgbW92ZWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJIGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGF0IG1lYW5zIHlvdSBzYXcgaGVyIGJlZm9yZSB3ZSBtb3ZlZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O05vLiBTaGUgdG9sZCBtZSBiZWZvcmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCZWZvcmUgd2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0JlZm9yZSBub3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0b29rIGEgc2xvdyBicmVhdGguCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBoYWQgdHJhbnNmb3JtZWQgYSB0aW1lbGluZSBpbnRvIGEgY2lyY2xlIGFuZCBhcHBlYXJlZCBwZXJmZWN0bHkKCWNvbWZvcnRhYmxlIGxpdmluZyBpbnNpZGUgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGhhcHBlbnMgaWYgeW91IHN0ZXAgb24gb25lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG93ZXJlZCBoZXIgdm9pY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtJdCBrbm93cyB3aGVyZSB5b3UgYXJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBrbm93cz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZSB0aGluZyB1bmRlciB0aGUgbGluZXMuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgZG93bi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBuZWFyZXN0IGNyYWNrIHJhbiBiZW5lYXRoIGhpcyBsZWZ0IHNob2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzdGVwcGVkIGF3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGcm9tIHNvbWV3aGVyZSBiZWxvdyB0aGUgcGF2ZW1lbnQgY2FtZSBhIGZhaW50IGRyYWdnaW5nIHNvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZm9sbG93ZWQgdGhlIGNyYWNrIHRvd2FyZCB0aGUgY3VyYi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGp1bXBlZCBvdmVyIHRoZSBsaW5lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9sbG93ZWQgd2l0aG91dCBkaXNjdXNzaW5nIHRoZSBkZWNpc2lvbi4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QWJiaWUgc2FpZCBhIGdpcmwgd2FybmVkIGhlciB0aGF0IHNvbWV0aGluZyBiZW5lYXRoIHRoZSBzaWRld2FsayBjcmFja3MgY2FuIGxvY2F0ZSBwZW9wbGUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O1RoZSByZWZsZWN0ZWQgZ2lybCB0YXVnaHQgQWJiaWUgdG8gYXZvaWQgc2lkZXdhbGsgY3JhY2tzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0FiYmllIHNhaWQgc29tZXRoaW5nIGJlbmVhdGggc2lkZXdhbGsgY3JhY2tzIGNhbiBsb2NhdGUgcGVvcGxlJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBYmJpZSYjMzk7cyBydWxlOiZsdDsvc3Ryb25nJmd0OyBBYmJpZSBjbGFpbXMgdGhhdCBzdGVwcGluZyBvbiBhIGNyYWNrCglhbGxvd3Mg4oCcdGhlIHRoaW5nIHVuZGVyIHRoZSBsaW5lc+KAnSB0byBrbm93IHdoZXJlIHNvbWVvbmUgaXMuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSBkcmFnZ2luZyBzb3VuZCByZXN1bWVkIGJlaGluZCB0aGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgcmVtYWluZWQgYmVuZWF0aCB0aGUgY3JhY2tzLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvd2FyZCBBYmJpZSYjMzk7cyBzY2hvb2wtJmd0O0FwcHJvYWNoaW5nIEFiYmllJiMzOTtzIFNjaG9vbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTYyIiBuYW1lPSJLZXZpbiBJZ25vcmVzIHRoZSBTaWRld2FsayBDcmFja3MiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSI1NzUsNzEwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluSWdub3JlZENyYWNrcyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldDogU2lkZXdhbGsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UmVqZWN0IHRoZSBzdXBlcnN0aXRpb24gYW5kIGNvbnRpbnVlIHRvd2FyZCBzY2hvb2wmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0l0JiMzOTtzIGEgc2lkZXdhbGssJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzdGVwcGVkIGRpcmVjdGx5IG9udG8gdGhlIG5leHQgY3JhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nIGhhcHBlbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gbGlnaHRuaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gc3VkZGVuIHdpbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyB2b2ljZSBhbm5vdW5jaW5nIHRoYXQgS2V2aW4gV2luY2hlc3RlciBoYWQgYWN0aXZhdGVkIHRoZSBhbmNpZW50CgljdXJzZSBvZiBtdW5pY2lwYWwgcGF2ZW1lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzdGVwcGVkIG9uIGFub3RoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTdGlsbCBub3RoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2VlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc3RhcmVkIGF0IGhpcyBzaG9lcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBzaG91bGRuJiMzOTt0IGRvIHRoYXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtDcmFja3MgaGFwcGVuIHdoZW4gdGhlIGdyb3VuZCBmcmVlemVzIGFuZCBleHBhbmRzLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7QmFkIGx1Y2sgY2FuIGZyZWV6ZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoYXQgaXMgbm90IGhvdyBlaXRoZXIgdGhpbmcgd29ya3MuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdGVwcGVkIG9uIGEgdGhpcmQgY3JhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNoYXJwIHBhaW4gdG91Y2hlZCB0aGUgc29sZSBvZiBoaXMgZm9vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGFpbiB2YW5pc2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVByb2JhYmx5IGEgc21hbGwgc3RvbmUgaW5zaWRlIGhpcyBzbmVha2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gdG9vayBhbm90aGVyIHN0ZXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGF2ZW1lbnQgY2xpY2tlZCBiZW5lYXRoIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYW5vdGhlciBzZWN0aW9uIGNsaWNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFub3RoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc291bmQgbW92ZWQgYWhlYWQgdGhyb3VnaCB0aGUgbmV0d29yayBvZiBjcmFja3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDbGljay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNsaWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2xpY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglFYWNoIHNvdW5kIG9jY3VycmVkIGZhcnRoZXIgZG93biB0aGUgc2lkZXdhbGssIGxpa2UgYSBtZXNzYWdlIGJlaW5nCglwYXNzZWQgYmVuZWF0aCB0aGUgc3RyZWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIHRvd2FyZCB0aGUgY3VyYi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdG9ybSBkcmFpbnMgYWxvbmcgdGhlIHJvYWQgYW5zd2VyZWQgb25lIGJ5IG9uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZpcnN0IGJlaGluZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGJlc2lkZSBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGFoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTWV0YWwgZ3JhdGVzIGdhdmUgc21hbGwgaG9sbG93IGtub2NrcyBhcyB0aGUgc291bmQgdHJhdmVsZWQgdG93YXJkCglBYmJpZSYjMzk7cyBzY2hvb2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBtb3ZlZCBjbG9zZXIgdG8gS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgdG9sZCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RvbGQgd2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doZXJlIHdlJiMzOTtyZSBnb2luZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmaW5hbCBzdG9ybSBkcmFpbiBrbm9ja2VkIHRocmVlIHRpbWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXRoaW5nIGRhcmsgbW92ZWQgYmVuZWF0aCB0aGUgZ3JhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzYXcgYSBwYWxlIHNoYXBlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRmluZ2Vycy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9yIHJvb3RzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSB3aXRoZHJldyBiZWZvcmUgaGUgY291bGQgYmUgY2VydGFpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQgc3RlcHBpbmcgb24gY3JhY2tzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgZGlkIG5vdCBhbm5vdW5jZSB0aGUgY2hhbmdlIGluIHBvbGljeS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7QSBzaWduYWwgdHJhdmVsZWQgYmVuZWF0aCB0aGUgc2lkZXdhbGsgYWZ0ZXIgS2V2aW4gc3RlcHBlZCBvbiB0aGUgY3JhY2tzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtUaGUgc2lkZXdhbGsgY3JhY2tzIGFwcGVhcmVkIHRvIGNhcnJ5IGEgc2lnbmFsIHRvd2FyZCBBYmJpZSYjMzk7cyBzY2hvb2wmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIHN0ZXBwZWQgb24gdGhlIGNyYWNrcyBkZXNwaXRlIEFiYmllJiMzOTtzIHdhcm5pbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QSBzaWduYWwgdHJhdmVsZWQgdGhyb3VnaCBzaWRld2FsayBjcmFja3MgYW5kIHN0b3JtIGRyYWlucyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UG9zc2libGUgY29uc2VxdWVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IEFmdGVyIEtldmluIHN0ZXBwZWQgb24gdGhlCgljcmFja3MsIGEgc2lnbmFsIHRyYXZlbGVkIGJlbmVhdGggdGhlIHNpZGV3YWxrIHRvd2FyZCBBYmJpZSYjMzk7cyBzY2hvb2wuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIGd1aWRlZCBBYmJpZSBhcm91bmQgdGhlIG5leHQgYnJva2VuIHNlY3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSZWplY3Rpbmcgc3VwZXJzdGl0aW9uIGhhZCBwcm9kdWNlZCB1bmV4cGVjdGVkbHkgcHJhY3RpY2FsIHJlYXNvbnMKCWZvciBjYXV0aW9uLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvd2FyZCBBYmJpZSYjMzk7cyBzY2hvb2wtJmd0O0FwcHJvYWNoaW5nIEFiYmllJiMzOTtzIFNjaG9vbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTYzIiBuYW1lPSJLZXZpbiBGb2xsb3dzIEFiYmllIE92ZXIgdGhlIENyYWNrcyIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSI4MjUsNjk1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluRm9sbG93ZWRBYmJpZUNyYWNrcyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtXaW5jaGVzdGVyIFN0cmVldDogU2lkZXdhbGsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Rm9sbG93IEFiYmllJiMzOTtzIHNhZmUgcGF0aCB0b3dhcmQgc2Nob29sJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBoZWxkIEFiYmllJiMzOTtzIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTaG93IG1lIHdoZXJlIHRvIHN0ZXAuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzbWlsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUganVtcGVkIG92ZXIgdGhlIG5leHQgY3JhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBmb2xsb3dlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBzdGVwcGVkIGFyb3VuZCBhIGJyb2tlbiBjb3JuZXIgb2YgcGF2ZW1lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBtYXRjaGVkIGhlciBwYXRoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJvdXRlIHdhcyBzbG93ZXIsIGxlc3MgZGlyZWN0LCBhbmQgb2NjYXNpb25hbGx5IHJlcXVpcmVkIEtldmluIHRvCglsYW5kIG9uIG9uZSBmb290IHdoaWxlIG1haW50YWluaW5nIHRoZSBhcHBlYXJhbmNlIG9mIGEgcGVyc29uIHdobyBoYWQKCWNob3NlbiB0byBkbyBzby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIG1vdmVkIGVhc2lseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBhcHBlYXJlZCB0byBrbm93IHdoZXJlIGV2ZXJ5IGNyYWNrIHdvdWxkIGJlIGJlZm9yZSByZWFjaGluZyBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0hvdyBhcmUgeW91IGRvaW5nIHRoYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtEb2luZyB3aGF0PyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7S25vd2luZyB3aGVyZSB0byBqdW1wLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBsb29rLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7WW91JiMzOTtyZSBqdW1waW5nIGJlZm9yZSB5b3UgbG9vayBkb3duLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgY29uc2lkZXJlZCB0aGlzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7TWF5YmUgbXkgZmVldCBsb29rLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGVjaWRlZCBub3QgdG8gYXNrIGhvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgYXBwcm9hY2hlZCBhIHdpZGUgc3BsaXQgY3Jvc3NpbmcgdGhlIGVudGlyZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY3JhY2sgY29udGludWVkIGludG8gdGhlIHJvYWQgb24gb25lIHNpZGUgYW5kIGJlbmVhdGggYSBoZWRnZSBvbgoJdGhlIG90aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlcmUgd2FzIG5vIHdheSBhcm91bmQgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzcXVlZXplZCBLZXZpbiYjMzk7cyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UganVtcCB0b2dldGhlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIG1lYXN1cmVkIHRoZSBkaXN0YW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1dlIGNhbiBzdGVwIG92ZXIgaXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4gQm90aCBmZWV0IGhhdmUgdG8gbGVhdmUuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTbyBpdCBkb2VzbiYjMzk7dCBrbm93IHdoaWNoIG9uZSB0byBmb2xsb3cuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgaW50byB0aGUgZGFyayBsaW5lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ29sZCBhaXIgcm9zZSBmcm9tIGJlbG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY291bnRlZCBxdWlldGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7T25lLiBUd28uIFRocmVlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBqdW1wZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igb25lIHNlY29uZCwgbmVpdGhlciBmb290IHRvdWNoZWQgdGhlIHNpZGV3YWxrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXRoaW5nIHBhc3NlZCBiZW5lYXRoIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGRhcmsgc2hhcGUgbW92ZWQgdGhyb3VnaCB0aGUgY3JhY2sgYXQgaW1wb3NzaWJsZSBzcGVlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGFuZCBBYmJpZSBsYW5kZWQgdG9nZXRoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2hhcGUgY29udGludWVkIGJlbmVhdGggdGhlIHBhdmVtZW50IGFuZCBkaXNhcHBlYXJlZCB0b3dhcmQgdGhlCglmaWVsZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHJlbGVhc2VkIGEgYnJlYXRoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2VlPyBJdCBwaWNrZWQgd3JvbmcuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IHBpY2tlZCB3cm9uZz8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBzdGFydGVkIHdhbGtpbmcgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgZm9sbG93aW5nIHRoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVtYWluZWQgYmVzaWRlIHRoZSBjcmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVR3byBmYWludCBtYXJrcyBhcHBlYXJlZCBhbG9uZyBpdHMgZWRnZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBwb2ludGVkIHRvd2FyZCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvdGhlciBwb2ludGVkIHRvd2FyZCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYm90aCBmYWRlZC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7U29tZXRoaW5nIG1vdmVkIGJlbmVhdGggS2V2aW4gYW5kIEFiYmllIHdoaWxlIHRoZXkganVtcGVkIGEgc2lkZXdhbGsgY3JhY2smcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FiYmllJiMzOTtzIGNyYWNrIHJ1bGUgbWF5IHByZXZlbnQgc29tZXRoaW5nIGJlbmVhdGggdGhlIHNpZGV3YWxrIGZyb20gY2hvb3Npbmcgd2hvbSB0byBmb2xsb3cmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5BYmJpZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIHRydXN0ZWQgQWJiaWUmIzM5O3Mgc2lkZXdhbGsgcnVsZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtTb21ldGhpbmcgYmVuZWF0aCB0aGUgc2lkZXdhbGsgYXBwZWFyZWQgdG8gY2hvb3NlIGJldHdlZW4gS2V2aW4gYW5kIEFiYmllJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtQb3NzaWJsZSBydWxlOiZsdDsvc3Ryb25nJmd0OyBKdW1waW5nIHRvZ2V0aGVyIG1heSBoYXZlIHByZXZlbnRlZAoJc29tZXRoaW5nIGJlbmVhdGggdGhlIHNpZGV3YWxrIGZyb20gZGVjaWRpbmcgd2hvbSB0byBmb2xsb3cuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIGNhdWdodCB1cCB3aXRoIEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY29udGludWVkIGZvbGxvd2luZyBoZXIgcm91dGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUcnVzdGluZyBhIHNlY29uZCBncmFkZXImIzM5O3Mgc3VwZXJuYXR1cmFsIHNpZGV3YWxrIHN0cmF0ZWd5IGhhZCBub3QKCWJlZW4gaW5jbHVkZWQgaW4gaGlzIG9yaWdpbmFsIG1vcm5pbmcgcGxhbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvcmlnaW5hbCBwbGFuIGhhZCBzdG9wcGVkIGJlaW5nIHVzZWZ1bCBzZXZlcmFsIG15c3RlcmllcyBhZ28uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgdG93YXJkIEFiYmllJiMzOTtzIHNjaG9vbC0mZ3Q7QXBwcm9hY2hpbmcgQWJiaWUmIzM5O3MgU2Nob29sXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNjQiIG5hbWU9IktldmluIEZpbmlzaGVzIHRoZSBTb25nIGF0IFNjaG9vbCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjIwMCw2NzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgRWxlbWVudGFyeSBTY2hvb2w6IEZyb250IEdhdGUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RmluaXNoIHRoZSBzb25nIGFuZCBnZXQgQWJiaWUgc2FmZWx5IGluc2lkZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpblBlcmZvcm1lZEF0U2Nob29sID0gdHJ1ZSZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ga2VwdCBzaW5naW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3RvcHBpbmcgbm93IHdvdWxkIG9ubHkgbWFrZSB0aGUgYWR1bHRzIHdvbmRlciB3aHkgdGhlIG9sZGVyIGtpZCBoYWQKCXN1ZGRlbmx5IGZyb3plbiBpbiB0aGUgbWlkZGxlIG9mIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUNvbnRpbnVpbmcgd291bGQgbWFrZSB0aGVtIHdvbmRlciBhYm91dCBzZXZlcmFsIG90aGVyIHRoaW5ncy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNob3NlIHRoZSBwcm9ibGVtIGFscmVhZHkgaW4gcHJvZ3Jlc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBza2lwcGVkIHRvd2FyZCB0aGUgZ2F0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZvbGxvd2VkIHdpdGggY29uc2lkZXJhYmx5IGxlc3MgaGVpZ2h0IGFuZCBlbnRodXNpYXNtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFkdWx0IGhvbGRpbmcgdGhlIGNvZmZlZSBjdXAgYmVnYW4gc3dheWluZyBmcm9tIHNpZGUgdG8gc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFub3RoZXIgY2xhcHBlZCBhbG9uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0aGlyZCByYWlzZWQgYm90aCB0aHVtYnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3aXNoZWQgdGhlIHNpZGV3YWxrIHdvdWxkIG9wZW4gYW5kIHN3YWxsb3cgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWZ0ZXIgdGhlIG1vcm5pbmcgaGUgaGFkIGV4cGVyaWVuY2VkLCBLZXZpbiBpbW1lZGlhdGVseSByZWNvbnNpZGVyZWQKCXRoYXQgd2lzaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzb25nIHJlYWNoZWQgaXRzIGZpbmFsIHZlcnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgc2FuZyBhYm91dCBzdW5zaGluZSBmb2xsb3dpbmcgdGhlbSB0byBzY2hvb2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb250cmlidXRlZCB0aGUgd29yZHMgaGUgcmVtZW1iZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlaGluZCB0aGUgYWR1bHRzLCB0aGUgY2hpbGQgaW4gdGhlIG9sZC1mYXNoaW9uZWQgZHJlc3Mgc3Rvb2QgbmVhcgoJdGhlIHBsYXlncm91bmQgZmVuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgcGFsZSBoYW5kIHJlbWFpbmVkIHJhaXNlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBmaW5nZXIgcmVzdGVkIGFnYWluc3QgdGhlIGxpcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBrZXB0IHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hpbGQmIzM5O3MgbW91dGggYmVnYW4gbW92aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdvcmRzIGpvaW5lZCB0aGUgc29uZyB3aXRob3V0IHNvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVjb2duaXplZCB0aGVtIGFueXdheS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglEbyBub3QgdGVsbCBoZXIgeWV0LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBtaXNzZWQgdGhlIG5leHQgbGluZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHR1Z2dlZCBoaXMgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSYjMzk7cmUgc3VwcG9zZWQgdG8gc2luZyB0aGUgZW5kaW5nLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9yY2VkIHRoZSBmaW5hbCB3b3JkcyBvdXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYWR1bHRzIGFwcGxhdWRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBjYWxsZWQsICZxdW90O1RoYXQgd2FzIGFkb3JhYmxlISZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4mIzM5O3MgZmFjZSBiZWNhbWUgaG90IGVub3VnaCB0byBnZW5lcmF0ZSBpdHMgb3duIHdlYXRoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBsb29rZWQgdG93YXJkIHRoZSBmZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvbGQtZmFzaGlvbmVkIGNoaWxkIHdhcyBnb25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSB0ZWFjaGVyIHN0b29kIGluIHRoYXQgcGxhY2UsIHdhdmluZyBjaGlsZHJlbiB0b3dhcmQgdGhlIGVudHJhbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRlYWNoZXImIzM5O3MgbGlwcyBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvdWxkIG5vdCBoZWFyIHRoZSB3b3JkcyBhYm92ZSB0aGUgYXBwbGF1c2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGFwcGVhcmVkIHRvIGZvcm0gdGhlIHNhbWUgd2FybmluZy4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglEbyBub3QgdGVsbCBoZXIgeWV0LgombHQ7L2RpdiZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBnaXJsIGF0IHRoZSBwbGF5Z3JvdW5kIGZlbmNlIHdhcm5lZCBLZXZpbiBub3QgdG8gdGVsbCBBYmJpZSB5ZXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGdpcmwgYXQgdGhlIHNjaG9vbCBmZW5jZSBzaWxlbnRseSB3YXJuZWQgS2V2aW4gbm90IHRvIHRlbGwgQWJiaWUgeWV0JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmNlcnRhaW4gd2FybmluZzombHQ7L3N0cm9uZyZndDsgVGhlIGNoaWxkIGF0IHRoZSBmZW5jZSBhcHBlYXJlZCB0bwoJdGVsbCBLZXZpbiwg4oCcRG8gbm90IHRlbGwgaGVyIHlldC7igJ0KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBrbm93IHdoYXQgaGUgd2FzIHN1cHBvc2VkIHRvIGNvbmNlYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBzdXNwZWN0ZWQgdGhlIHdhcm5pbmcgcmVmZXJyZWQgdG8gQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IG1hZGUgb2JleWluZyBpdCBmZWVsIHdyb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSWdub3JpbmcgaXQgZmVsdCB3b3JzZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYWxrIEFiYmllIHRvIHRoZSBlbnRyYW5jZS0mZ3Q7QWJiaWUgU2F5cyBHb29kYnllXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNjUiIG5hbWU9IkFiYmllIFNheXMgR29vZGJ5ZSIgdGFncz0iYmctaG91c2UiIHBvc2l0aW9uPSIxMjUsNjkyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIEVsZW1lbnRhcnkgU2Nob29sOiBNYWluIEVudHJhbmNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1NheSBnb29kYnllIHRvIEFiYmllIGFuZCByZWFjaCB0aGUgbWlkZGxlIHNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjaG9vbCBiZWxsIHJhbmcgYWdhaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDaGlsZHJlbiBodXJyaWVkIHRocm91Z2ggdGhlIGVudHJhbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGVhY2hlcnMgd2F2ZWQgcGFyZW50cyBhd2F5IGZyb20gdGhlIGRvb3JzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGFkdWx0cyB3aG8gaGFkIHdhdGNoZWQgS2V2aW4gYW5kIEFiYmllJiMzOTtzIGFycml2YWwgcmV0dXJuZWQgdG8gdGhlaXIKCWNvbnZlcnNhdGlvbnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB3YW50ZWQgdG8gbGVhdmUgaW1tZWRpYXRlbHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIaXMgbWlkZGxlIHNjaG9vbCB3YWl0ZWQgc2V2ZXJhbCBibG9ja3MgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBmaXJzdC1kYXkgcGxhbiBoYWQgZmFsbGVuIGFwYXJ0IGJlZm9yZSBoZSBsZWZ0IHRoZSBraXRjaGVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIHdhdGNoIHJlbWFpbmVkIGRlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoYWQgbm8gaWRlYSBob3cgbGF0ZSBoZSB3YXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBkaWQgbm90IHJlbGVhc2UgaGlzIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtLZXZpbi4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doYXQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3UgaGF2ZSB0byBjcm91Y2guJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHk/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtZb3Uga25vdyB3aHkuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjaGVja2VkIHRoZSBhZHVsdHMgbmVhciB0aGUgZ2F0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNldmVyYWwgd2VyZSBzdGlsbCBjbG9zZSBlbm91Z2ggdG8gd2l0bmVzcyBhZGRpdGlvbmFsIGRhbWFnZSB0byBoaXMKCXJlcHV0YXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBjcm91Y2hlZCBhbnl3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBraXNzZWQgaGlzIGNoZWVrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBsb3ZlIHlvdSwgYmlnIGJyb3RoZXIuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbW9ybmluZyBiZWNhbWUgcXVpZXQgaW5zaWRlIEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90IHRoZSB3cm9uZyBxdWlldCBmcm9tIHRoZSBob3VzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCB0aGUgbGlzdGVuaW5nIHF1aWV0IGZyb20gdGhlIGZpZWxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzbWFsbCBxdWlldCBzcGFjZSB3aGVyZSBub3RoaW5nIHJlcXVpcmVkIGV4cGxhbmF0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc21pbGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBsb3ZlIHlvdSB0b28uJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzdGVwcGVkIGJhY2t3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIGJhY2twYWNrIGxvb2tlZCBhbG1vc3QgYXMgbGFyZ2UgYXMgdGhlIHJlc3Qgb2YgaGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG9uJiMzOTt0IHN0ZXAgb24gY3JhY2tzLCZxdW90OyBzaGUgc2FpZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kmIzM5O2xsIHRyeS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RyeWluZyBkb2VzbiYjMzk7dCBjb3VudC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1RoZW4gSSB3aWxsIGVtcGxveSBhIGNvbXByZWhlbnNpdmUgY3JhY2stYXZvaWRhbmNlIHN0cmF0ZWd5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbm9kZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBzb3VuZGVkIG9mZmljaWFsIGVub3VnaCB0byBzYXRpc2Z5IGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBqb2luZWQgdGhlIG90aGVyIGNoaWxkcmVuIGVudGVyaW5nIHRoZSBidWlsZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdhdGNoZWQgdW50aWwgc2hlIHBhc3NlZCB0aHJvdWdoIHRoZSBtYWluIGRvb3JzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIG9uZSBzZWNvbmQsIHRoZSBvbGQtZmFzaGlvbmVkIGNoaWxkIGFwcGVhcmVkIGJlc2lkZSBoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdHdvIGZpZ3VyZXMgd2Fsa2VkIHRvZ2V0aGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYmxpbmtlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHdhcyBhbG9uZSBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSB0dXJuZWQgYmVmb3JlIHRoZSBkb29ycyBjbG9zZWQgYW5kIHdhdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2F2ZWQgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvbGQtZmFzaGlvbmVkIGNoaWxkIGRpZCBub3QgcmVhcHBlYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZW1haW5lZCBuZWFyIHRoZSBnYXRlIGZvciBvbmUgZXh0cmEgbW9tZW50LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJR29vZCBtb21lbnRzIGRpZCBub3QgbGFzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVlvdSBoYWQgdG8gc3RhbmQgaW5zaWRlIHRoZW0gd2hpbGUgdGhleSB3ZXJlIGhhcHBlbmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gS2V2aW4gdHVybmVkIHRvd2FyZCBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGZyb3plLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2FycyBmaWxsZWQgdGhlIHN0cmVldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJ1c2VzIGxpbmVkIHRoZSBjdXJiLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3R1ZGVudHMgY3Jvd2RlZCB0aGUgc2lkZXdhbGtzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlcmUgaGFkIGJlZW4gd2l0bmVzc2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTWFueSB3aXRuZXNzZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBuZWFyZXN0IGJ1cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNldmVyYWwgc3R1ZGVudHMgd2VyZSBzdGFyaW5nIGRpcmVjdGx5IGF0IGhpbS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tGYWNlIHRoZSB3YWxrIHRvIG1pZGRsZSBzY2hvb2wtJmd0O1RoZSBNaWRkbGUgU2Nob29sIFRyYWZmaWNdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE2NiIgbmFtZT0iS2V2aW4gRW5kcyB0aGUgUGVyZm9ybWFuY2UiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIzNzUsNzAwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIEVsZW1lbnRhcnkgU2Nob29sOiBGcm9udCBHYXRlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0VuZCB0aGUgcGVyZm9ybWFuY2UgYW5kIGdldCBBYmJpZSBpbnNpZGUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5FbmRlZFNjaG9vbFNvbmcgPSB0cnVlJmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkIHNpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBhbHNvIHN0b3BwZWQgc2tpcHBpbmcsIHN3YXlpbmcsIGFuZCBwYXJ0aWNpcGF0aW5nIGluIGFueXRoaW5nIHRoYXQKCW1pZ2h0IGxhdGVyIHJlY2VpdmUgYSB0aXRsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGNvbnRpbnVlZCBmb3IgdHdvIG1vcmUgc3RlcHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHNoZSBub3RpY2VkIEtldmluIHdhbGtpbmcgbm9ybWFsbHkgYmVzaWRlIGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSYjMzk7cmUgc3VwcG9zZWQgdG8gZmluaXNoLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2UgcmVhY2hlZCB0aGUgc2Nob29sLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhhdCBpc24mIzM5O3QgdGhlIGVuZCBvZiB0aGUgc29uZy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0l0IGlzIHRoZSBlbmQgb2YgdGhlIHRyaXAuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgc29uZyBkb2VzbiYjMzk7dCBrbm93IHRoYXQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBnbGFuY2VkIGF0IHRoZSBhZHVsdHMgbmVhciB0aGUgZ2F0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBzdGlsbCBzd2F5ZWQgc2xpZ2h0bHkuIEFub3RoZXIgaGVsZCBib3RoIGhhbmRzIGluIHBvc2l0aW9uIGZvciBhCgljbGFwIHRoYXQgaGFkIG5ldmVyIGFycml2ZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVpciBtb3ZlbWVudHMgc3RvcHBlZCB0b2dldGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFsbCB0aHJlZSBhZHVsdHMgbG9va2VkIHRvd2FyZCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vdCBhdCBBYmJpZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUF0IEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNjaG9vbHlhcmQgYmVjYW1lIHF1aWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQ2hpbGRyZW4gY29udGludWVkIHdhbGtpbmcgYW5kIHBsYXlpbmcsIGJ1dCB0aGVpciB2b2ljZXMgc2VlbWVkIHRvCgloYXZlIG1vdmVkIGZhcnRoZXIgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCBhcm91bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaHkgZGlkIGV2ZXJ5Ym9keSBzdG9wPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBrbm93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTmVhciB0aGUgZmVuY2UsIHRoZSBjaGlsZCBpbiB0aGUgb2xkLWZhc2hpb25lZCBkcmVzcyByYWlzZWQgb25lIGhhbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hpbGQgY29uZHVjdGVkIHRoZSBtaXNzaW5nIGVuZCBvZiB0aGUgc29uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBtb3ZlbWVudC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYW5vdGhlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwbGF5Z3JvdW5kIHN3aW5ncyBiZWdhbiBtb3ZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBvbmUgc2F0IG9uIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWV0YWwgY2hhaW5zIGNyZWFrZWQgaW4gdGltZSB3aXRoIHRoZSB1bmZpbmlzaGVkIG1lbG9keS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGh1bW1lZCB0aGUgZmluYWwgbGluZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzd2luZ3Mgc3RvcHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB2b2ljZXMgaW4gdGhlIHNjaG9vbHlhcmQgcmV0dXJuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYWR1bHRzIG5lYXIgdGhlIGdhdGUgcmVzdW1lZCB0aGVpciBvcmRpbmFyeSBjb252ZXJzYXRpb25zLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm9uZSBhcHBlYXJlZCB0byBub3RpY2UgdGhlIGludGVycnVwdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCBieSB0aGUgZmVuY2Ugd2FzIGdvbmUuCiZsdDsvcCZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkUGF0dGVybkV2ZW50KCZxdW90O1RoZSBwbGF5Z3JvdW5kIHN0b3BwZWQgdW50aWwgQWJiaWUgZmluaXNoZWQgdGhlIHNvbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBwbGF5Z3JvdW5kIHN3aW5ncyBjb21wbGV0ZWQgQWJiaWUmIzM5O3MgdW5maW5pc2hlZCBzb25nJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtFdmVyeW9uZSBuZWFyIHRoZSBzY2hvb2wgZ2F0ZSBhcHBlYXJlZCB0byBzdG9wIHdoZW4gS2V2aW4gZW5kZWQgdGhlIHNvbmcmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGVsZW1lbnRhcnktc2Nob29sIHBsYXlncm91bmQgcmVhY3RlZCB0byBBYmJpZSYjMzk7cyB1bmZpbmlzaGVkIHNvbmcmcXVvdDspJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYXJlZCBldmVudDombHQ7L3N0cm9uZyZndDsgVGhlIHNjaG9vbHlhcmQgYmVjYW1lIHVubmF0dXJhbGx5IHF1aWV0Cgl1bnRpbCBBYmJpZSBodW1tZWQgdGhlIHNvbmcmIzM5O3MgZmluYWwgbGluZS4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG9va2VkIGF0IEFiYmllLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RG8geW91IGtub3cgd2h5IHRoYXQgaGFwcGVuZWQ/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaGUgc2hvb2sgaGVyIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtCdXQgc29uZ3MgZ2V0IHVwc2V0IHdoZW4geW91IHN0b3AgaW4gdGhlIG1pZGRsZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhhZCBubyBldmlkZW5jZSB0aGF0IHNvbmdzIHBvc3Nlc3NlZCBmZWVsaW5ncy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzd2luZ3MgaGFkIHByb3ZpZGVkIGFuIGFyZ3VtZW50LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhbGsgQWJiaWUgdG8gdGhlIGVudHJhbmNlLSZndDtBYmJpZSBTYXlzIEdvb2RieWVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE2NyIgbmFtZT0iS2V2aW4gV2F0Y2hlcyB0aGUgU2Nob29sIEZlbmNlIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iOTUwLDcxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBFbGVtZW50YXJ5IFNjaG9vbDogRnJvbnQgR2F0ZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciB0aGUgY2hpbGQgbmVhciB0aGUgZmVuY2UgaXMgcmVhbCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbldhdGNoZWRTY2hvb2xGZW5jZSA9IHRydWUmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQgd2F0Y2hpbmcgdGhlIGFkdWx0cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUVtYmFycmFzc21lbnQgY291bGQgd2FpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCBuZWFyIHRoZSBwbGF5Z3JvdW5kIGZlbmNlIGNvdWxkIG5vdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvbGQtZmFzaGlvbmVkIGRyZXNzIGxvb2tlZCBkYXJrIGFnYWluc3QgdGhlIHJlZC1icmljayBzY2hvb2wuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmFicmljIHJlYWNoZWQgYWxtb3N0IHRvIHRoZSBjaGlsZCYjMzk7cyBzaG9lcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvdWxkIG5vdCBzZWUgdGhlIGZhY2UgY2xlYXJseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGNvdWxkIHNlZSBvbmUgZmluZ2VyIGhlbGQgYWdhaW5zdCB0aGUgbGlwcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzYW1lIGdlc3R1cmUgQWJiaWUgaGFkIGRlc2NyaWJlZCBmcm9tIHRoZSBjZXJlYWwgc3Bvb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2FtZSBnZXN0dXJlIEtldmluIGhhZCBzZWVuIGZyb20gdGhlIHRoaXJkIHNoYWRvdyBvbiB0aGUgc2lkZXdhbGsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hpbGQgbG93ZXJlZCB0aGUgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gcG9pbnRlZCB0b3dhcmQgQWJiaWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgaGFuZCBtb3ZlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoaXMgdGltZSwgdGhlIGNoaWxkIHBvaW50ZWQgdG93YXJkIEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0b3dhcmQgdGhlIGVsZW1lbnRhcnkgc2Nob29sIGVudHJhbmNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgcHVsbGVkIG9uIEtldmluJiMzOTtzIHNsZWV2ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0FyZSB3ZSBzdGlsbCBzaW5naW5nPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7T25lIHNlY29uZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCBzdGVwcGVkIGJhY2t3YXJkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNoYWluLWxpbmsgZmVuY2Ugc2hvdWxkIGhhdmUgc3RvcHBlZCB0aGUgbW92ZW1lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBkaWQgbm90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNoaWxkIHBhc3NlZCB0aHJvdWdoIGl0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG1ldGFsIGxpbmtzIHJlbWFpbmVkIHN0aWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVsZWFzZWQgQWJiaWUmIzM5O3MgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1N0YXkgaGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIG1vdmVkIGNsb3NlciB0byB0aGUgZmVuY2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hpbGQgcmV0cmVhdGVkIHRvd2FyZCB0aGUgc2Nob29sIGJ1aWxkaW5nIHdpdGhvdXQgdHVybmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZvbGxvd2VkIGFsb25nIHRoZSBvdXRzaWRlIG9mIHRoZSBmZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgdGVhY2hlciBjcm9zc2VkIGJldHdlZW4gdGhlbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBvbGQtZmFzaGlvbmVkIGNoaWxkIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZXhhbWluZWQgdGhlIHBsYWNlIHdoZXJlIHRoZSBjaGlsZCBoYWQgY3Jvc3NlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc3RyaXAgb2YgYmxhY2sgdGhyZWFkIGhhZCBjYXVnaHQgb24gb25lIG1ldGFsIGxpbmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdGhyZWFkIG1vdmVkIGluIHRoZSBzdGlsbCBhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBdHRhY2hlZCB0byBvbmUgZW5kIHdhcyBhIHNtYWxsIHdvb2RlbiBidXR0b24uCiZsdDsvcCZndDsKJmx0OyZsdDtpZiAkZm91bmRPbGRCdXR0b24mZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gZmVsdCB0aGUgb2xkIGJ1dHRvbiBpbnNpZGUgaGlzIHBvY2tldCBvciBiYWNrcGFjay4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoZSBidXR0b24gY2F1Z2h0IG9uIHRoZSBmZW5jZSBhcHBlYXJlZCBpZGVudGljYWwuCgkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGdpcmwgYXQgdGhlIHNjaG9vbCBmZW5jZSBsZWZ0IGEgYnV0dG9uIG1hdGNoaW5nIHRoZSBvbmUgZm91bmQgbmVhciB0aGUgbWlzc2luZyBwaG90b2dyYXBoJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBIHNlY29uZCB3b29kZW4gYnV0dG9uIGNvbm5lY3RlZCB0aGUgb2xkLWZhc2hpb25lZCBnaXJsIHRvIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGgmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7UG9zc2libGUgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIGJ1dHRvbiBhdCB0aGUgc2Nob29sIGZlbmNlCgkJbWF0Y2hlcyB0aGUgb25lIEtldmluIGZvdW5kIG5lYXIgdGhlIHZhbmlzaGVkIHBob3RvZ3JhcGguCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCVRoZSBidXR0b24gd2FzIGRhcmsgYnJvd24gd2l0aCBmb3VyIGhvbGVzIGFuZCBhIHNob3J0IHBpZWNlIG9mCgkJYmxhY2sgdGhyZWFkIGF0dGFjaGVkLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSXQgbG9va2VkIG9sZCBlbm91Z2ggdG8gaGF2ZSBjb21lIGZyb20gdGhlIGNsb3RoaW5nIHdvcm4gYnkgb25lIG9mCgkJdGhlIGdpcmxzIGluIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGguCgkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIG9sZC1mYXNoaW9uZWQgZ2lybCBsZWZ0IGEgd29vZGVuIGJ1dHRvbiBhbmQgYmxhY2sgdGhyZWFkIG9uIHRoZSBzY2hvb2wgZmVuY2UmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1dvb2RlbiBidXR0b24gbGVmdCBhdCB0aGUgZmVuY2UgYnkgdGhlIG9sZC1mYXNoaW9uZWQgZ2lybCZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtQaHlzaWNhbCBjbHVlOiZsdDsvc3Ryb25nJmd0OyBBIHdvb2RlbiBidXR0b24gYW5kIGJsYWNrIHRocmVhZAoJCXJlbWFpbmVkIHdoZXJlIHRoZSBjaGlsZCBwYXNzZWQgdGhyb3VnaCB0aGUgZmVuY2UuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIHJlYWNoZWQgdG93YXJkIHRoZSBidXR0b24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2Nob29sIGJlbGwgcmFuZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGZsaW5jaGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJV2hlbiBoZSBsb29rZWQgYWdhaW4sIHRoZSBmZW5jZSB3YXMgZW1wdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBidXR0b24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyB0aHJlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmx5IG9uZSBkYXJrIHN0YWluIHJlbWFpbmVkIG9uIHRoZSBtZXRhbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGZvcm1lZCB0d28gbmFycm93IGxpbmVzLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCUlJLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUmV0dXJuIHRvIEFiYmllLSZndDtBYmJpZSBTYXlzIEdvb2RieWVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE2OCIgbmFtZT0iS2V2aW4gQXNrcyBBYm91dCB0aGUgR2lybCBhdCBTY2hvb2wiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIyMDAsNzE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIEVsZW1lbnRhcnkgU2Nob29sOiBGcm9udCBHYXRlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgb3V0IHdoZXRoZXIgQWJiaWUgY2FuIHNlZSB0aGUgY2hpbGQgbmVhciB0aGUgZmVuY2UmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5Bc2tlZEFib3V0U2Nob29sR2lybCA9IHRydWUmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0FiYmllLCBkbyB5b3Ugc2VlIHRoZSBnaXJsIGJ5IHRoZSBmZW5jZT8mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGxvb2tlZCB0b3dhcmQgdGhlIHBsYXlncm91bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaGF0IGdpcmw/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtUaGUgb25lIGluIHRoZSBvbGQgZHJlc3MuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSBzZWFyY2hlZCB0aGUgc2Nob29seWFyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCByZW1haW5lZCBuZWFyIHRoZSBmZW5jZSB3aXRoIG9uZSBmaW5nZXIgaGVsZCBhZ2FpbnN0IHRoZQoJbGlwcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1JpZ2h0IHRoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcG9pbnRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGZvbGxvd2VkIGhpcyBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGVyIGV4cHJlc3Npb24gY2hhbmdlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJlY29nbml0aW9uIGFwcGVhcmVkIGZvciBsZXNzIHRoYW4gYSBzZWNvbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHNoZSBsb29rZWQgYXdheS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0kgZG9uJiMzOTt0IHNlZSBhbnlib2R5LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG93ZXJlZCBoaXMgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSBkaWQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSByZWNvZ25pemVkIGhlci4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIHNxdWVlemVkIEtldmluJiMzOTtzIGZpbmdlcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXZSYjMzk7cmUgZ29pbmcgdG8gYmUgbGF0ZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGJlY2FtZSBzdGlsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFiYmllIGhhZCB1c2VkIGhpcyBzZW50ZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzYW1lIHNlbnRlbmNlIGhlIGhhZCByZXBlYXRlZCBhbGwgbW9ybmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNoZSBoYWQgbmV2ZXIgc291bmRlZCBsaWtlIGhpbSBiZWZvcmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtXaG8gaXMgc2hlPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUgbG9va2VkIHRvd2FyZCB0aGUgZmVuY2Ugd2l0aG91dCB0dXJuaW5nIGhlciBoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7U2hlIGRvZXNuJiMzOTt0IGxpa2UgdGhhdCBuYW1lLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7V2hhdCBuYW1lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlIG9uZSB5b3UgZm91bmQuJnF1b3Q7CiZsdDsvcCZndDsKJmx0OyZsdDtpZiAka2V2aW5SZXRyaWV2ZWRDYXRDb2xsYXIgb3IgJGtldmluRXhhbWluZWRDYXRUYWcmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7THVjeT8mcXVvdDsKCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUFiYmllJiMzOTtzIGdyaXAgdGlnaHRlbmVkLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJTmVhciB0aGUgZmVuY2UsIHRoZSBjaGlsZCBsb3dlcmVkIHRoZSB3YXJuaW5nIGZpbmdlci4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoZSBjaGlsZCYjMzk7cyBoZWFkIHRpbHRlZCB0b3dhcmQgS2V2aW4uCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlIZSBoYWQgY2hvc2VuIGluY29ycmVjdGx5LgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJT3IgY29ycmVjdGx5IGVub3VnaCB0byBiZSBub3RpY2VkLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBnaXJsIGF0IHRoZSBzY2hvb2wgbWF5IGJlIGNvbm5lY3RlZCB0byB0aGUgbmFtZSBMdWN5JnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBpbXBsaWVkIHRoZSBnaXJsIGRpc2xpa2VzIHRoZSBuYW1lIEx1Y3kmcXVvdDspJmd0OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7TmFtZSBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBBYmJpZSBpbXBsaWVkIHRoYXQgdGhlIGNoaWxkCgkJZGlzbGlrZXMgYmVpbmcgY2FsbGVkIEx1Y3kuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O1doYXQgbmFtZSBkaWQgSSBmaW5kPyZxdW90OwoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJQWJiaWUgc2hvb2sgaGVyIGhlYWQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtJIGZvcmdvdC4mcXVvdDsKCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCVRoZSBjaGlsZCBuZWFyIHRoZSBmZW5jZSBzbWlsZWQuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgZXhwcmVzc2lvbiBkaXNhcHBlYXJlZCB3aGVuIEtldmluIHRyaWVkIHRvIGZvY3VzIG9uIGl0LgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0FiYmllIGltcGxpZWQgS2V2aW4gZm91bmQgYSBuYW1lIGNvbm5lY3RlZCB0byB0aGUgZ2lybCZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtNaXNzaW5nIGluZm9ybWF0aW9uOiZsdDsvc3Ryb25nJmd0OyBBYmJpZSBiZWxpZXZlcyBLZXZpbiBmb3VuZCBhCgkJbmFtZSBjb25uZWN0ZWQgdG8gdGhlIGNoaWxkLCBidXQgS2V2aW4gZG9lcyBub3Qga25vdyB3aGljaCBuYW1lIHNoZQoJbWVhbnMuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCSZxdW90O0RvIHlvdSBrbm93IGhlcj8mcXVvdDsgS2V2aW4gYXNrZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBYmJpZSByZW1haW5lZCBxdWlldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzY2hvb2wgYmVsbCBjb250aW51ZWQgcmluZ2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCBuZWFyIHRoZSBmZW5jZSBtb3ZlZCBiYWNrd2FyZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdhdGNoZWQgdGhlIG1ldGFsIGxpbmtzIHBhc3MgdGhyb3VnaCB0aGUgb2xkLWZhc2hpb25lZCBkcmVzcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gdGhlIGZpZ3VyZSBkaXNhcHBlYXJlZCBpbnRvIHRoZSBjcm93ZCBvZiBzdHVkZW50cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIG9uZSBtb3ZlZCBhc2lkZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vIG9uZSBhcHBlYXJlZCB0byBmZWVsIHRoZSBjaGlsZCBwYXNzLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuQWJiaWUucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBhc2tlZCBBYmJpZSBhYm91dCB0aGUgb2xkLWZhc2hpb25lZCBnaXJsIGF0IHNjaG9vbCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tUYWtlIEFiYmllIHRvIHRoZSBlbnRyYW5jZS0mZ3Q7QWJiaWUgU2F5cyBHb29kYnllXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNjkiIG5hbWU9IlRoZSBNaWRkbGUgU2Nob29sIFRyYWZmaWMiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIwLDcwNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1JvYWQgQmV0d2VlbiB0aGUgRWxlbWVudGFyeSBhbmQgTWlkZGxlIFNjaG9vbHMmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UmVhY2ggQnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wgd2l0aG91dCBhdHRyYWN0aW5nIG1vcmUgYXR0ZW50aW9uJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0dXJuZWQgdG93YXJkIHRoZSBtaWRkbGUgc2Nob29sLgombHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LXAyIHN0YW5kYXJkIGJhdGNoMiB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDttaWRkbGVfc2Nob29sJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfbWlkZGxlX3NjaG9vbC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwombHQ7cCZndDsKCUNhcnMgZmlsbGVkIHRoZSByb2FkIGJldHdlZW4gdGhlIHR3byBidWlsZGluZ3MuIEJ1c2VzIHdhaXRlZCBhbG9uZyB0aGUKCWN1cmIgd2hpbGUgc3R1ZGVudHMgY3Jvd2RlZCB0aGUgc2lkZXdhbGtzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9yIGhhbGYgYSBzZWNvbmQsIHJlbGllZiBtb3ZlZCB0aHJvdWdoIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0cmFmZmljIG1lYW50IG90aGVyIHN0dWRlbnRzIHdlcmUgc3RpbGwgYXJyaXZpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBtaWdodCBub3QgYmUgbGF0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gS2V2aW4gcmVtZW1iZXJlZCB0aGUgc2luZ2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBza2lwcGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBhZHVsdHMgY2xhcHBpbmcgbmVhciB0aGUgZWxlbWVudGFyeS1zY2hvb2wgZ2F0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUlmIHRoZSBidXNlcyBoYWQgYmVlbiB3YWl0aW5nIHRoZXJlIHRoZSBlbnRpcmUgdGltZSwgdGhlbiB0aGUKCXN0dWRlbnRzIGhhZCBzZWVuIGV2ZXJ5dGhpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBuZWFyZXN0IGJ1cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNldmVyYWwgZmFjZXMgZmlsbGVkIHRoZSB3aW5kb3dzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHN0dWRlbnQgcG9pbnRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFub3RoZXIgYmVnYW4gbW92aW5nIGJvdGggYXJtcyBpbiBhbiBleGFnZ2VyYXRlZCBza2lwcGluZyBtb3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglMYXVnaHRlciBlcnVwdGVkIGZyb20gaW5zaWRlIHRoZSBidXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb3dlcmVkIGhpcyBoZWFkIGFuZCB3YWxrZWQgZmFzdGVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU3BlZWQgY291bGQgbm90IGVyYXNlIG1lbW9yeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGNvdWxkIHJlZHVjZSB0aGUgYW1vdW50IG9mIHRpbWUgYXZhaWxhYmxlIGZvciB3aXRuZXNzZXMgdG8gY3JlYXRlCgluZXcgbWF0ZXJpYWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbm90aGVyIGJ1cyBiZWdhbiBtb3ZpbmcgYmVzaWRlIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN0dWRlbnRzIGxlYW5lZCB0b3dhcmQgdGhlIHdpbmRvd3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21lb25lIHN0YXJ0ZWQgc2luZ2luZyBBYmJpZSYjMzk7cyBtZWxvZHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgd29yZHMgd2VyZSB3cm9uZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBodW1pbGlhdGlvbiB3YXMgYWNjdXJhdGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGEgdm9pY2Ugc2hvdXRlZCBmcm9tIGFuIG9wZW4gd2luZG93OgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SGV5LCBQZXRlciBQYW4hIFdoZXJlJiMzOTtzIFRpbmtlcmJlbGw/JnF1b3Q7CiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG5pY2tuYW1lIGhhZCBmb2xsb3dlZCBoaW0gdG8gQnJlY2tlbnJpZGdlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgaGFkIHN1cnZpdmVkIHRoZSBtb3ZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTGlrZSBtb2xkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTGlrZSBhIGN1cnNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUG9zc2libHkgYm90aC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidXMgcm9sbGVkIGFoZWFkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTGF1Z2h0ZXIgZm9sbG93ZWQgaXQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiByZXN1bWVkIHdhbGtpbmcgd2l0aCBoaXMgZXllcyBmaXhlZCBvbiB0aGUgcGF2ZW1lbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglDcmFja3MgY3Jvc3NlZCB0aGUgc2lkZXdhbGsgYWhlYWQuCiZsdDsvcCZndDsKJmx0OyZsdDtpZiAka2V2aW5Bdm9pZGVkQ3JhY2tzIG9yICRrZXZpbkZvbGxvd2VkQWJiaWVDcmFja3MmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gc2hvcnRlbmVkIGhpcyBzdGVwcyBhbmQgYXZvaWRlZCBlYWNoIGxpbmUuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlEb2luZyBzbyBtYWRlIGhpcyB3YWxrIHJlc2VtYmxlIGEgcmVzdHJhaW5lZCB2ZXJzaW9uIG9mIHNraXBwaW5nLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJVGhpcyBkaWQgbm90IGltcHJvdmUgdGhlIFBldGVyIFBhbiBzaXR1YXRpb24uCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRrZXZpbklnbm9yZWRDcmFja3MmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcmVtZW1iZXJlZCB0aGUgc2lnbmFsIHRoYXQgaGFkIHRyYXZlbGVkIGJlbmVhdGggdGhlIHNpZGV3YWxrLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSGUgYXZvaWRlZCB0aGUgY3JhY2tzIHdpdGhvdXQgYWRtaXR0aW5nIHRoYXQgaGlzIHBvbGljeSBoYWQKCQljaGFuZ2VkLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2VpZiAka2V2aW5RdWVzdGlvbmVkQ3JhY2tSdWxlJmd0OyZndDsKCSZsdDtwJmd0OwoJCUtldmluIHJlbWVtYmVyZWQgQWJiaWUmIzM5O3Mgd2FybmluZyBhYm91dCB0aGUgdGhpbmcgYmVuZWF0aCB0aGUgbGluZXMuCgkmbHQ7L3AmZ3Q7CgkmbHQ7cCZndDsKCQlIZSBzdGVwcGVkIGFyb3VuZCB0aGUgbmVhcmVzdCBjcmFjay4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBtb3ZpbmcgYnVzIHB1bGxlZCBhbG9uZ3NpZGUgaGltIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXRzIHJlYXIgd2luZG93IHJlZmxlY3RlZCB0aGUgc3RyZWV0LCB0aGUgbW9ybmluZyBza3ksIGFuZCB0aGUgZGFyawoJYnJhbmNoZXMgb2YgYSB0cmVlIGJlaGluZCBLZXZpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gS2V2aW4gc2F3IHRoZSBmYWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUGFsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN0aWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJlc3NlZCBpbnRvIHRoZSBnbGFzcyBmcm9tIHRoZSB3cm9uZyBzaWRlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgZGlkIG5vdCBiZWxvbmcgdG8gYW55IHN0dWRlbnQgaW5zaWRlIHRoZSBidXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2tpbiBsb29rZWQgZmxhdCBhbmQgZmFkZWQsIGxpa2Ugb2xkIHBhcGVyIGxlZnQgaW5zaWRlIGEgZHJhd2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGV5ZXMgcmVtYWluZWQgb3Blbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgZGlkIG5vdCBibGluay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmYWNlIHdhcyBub3QgYmVoaW5kIHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgaW5zaWRlIHRoZSByZWZsZWN0aW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc2xvd2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1cyBjb250aW51ZWQgbW92aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhY2UgcmVtYWluZWQgbGV2ZWwgd2l0aCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBzbGlkIGFjcm9zcyB0aGUgZ2xhc3Mgd2l0aG91dCBjaGFuZ2luZyBwb3NpdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gS2V2aW4mIzM5O3Mgd2F0Y2ggYmVlcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNob3J0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRmxhdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVdyb25nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmFpc2VkIGhpcyB3cmlzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkaXNwbGF5IHJlbWFpbmVkIGJsYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRGVhZCB3YXRjaGVzIGRpZCBub3QgYmVlcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidXMgbW92ZWQgYWhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGFsZSBmYWNlIHJlbWFpbmVkIGluIHRoZSByZWFyIHdpbmRvdy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUxvb2tpbmcgYmFjayBhdCBoaW0uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2V2aW4gcmVzcG9uZD8mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtTdHVkeSB0aGUgZmFjZSBiZWZvcmUgdGhlIGJ1cyBnZXRzIGF3YXkuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgTWlkZGxlIFNjaG9vbCBUcmFmZmljOjE6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBNaWRkbGUgU2Nob29sIFRyYWZmaWM6MTozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBTdHVkaWVzIHRoZSBCdXMgV2luZG93IEZhY2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7TG9vayBhd2F5IGFuZCBjb25jZW50cmF0ZSBvbiByZWFjaGluZyBzY2hvb2wuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpUaGUgTWlkZGxlIFNjaG9vbCBUcmFmZmljOjI6YTMxNWE2MDgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlRoZSBNaWRkbGUgU2Nob29sIFRyYWZmaWM6MjphMzE1YTYwOCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLmF2b2lkICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gUmVmdXNlcyB0aGUgQnVzIFdpbmRvdyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtGb2xsb3cgdGhlIGJ1cyBsb25nIGVub3VnaCB0byBpZGVudGlmeSB0aGUgc3R1ZGVudCBzZWF0LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIE1pZGRsZSBTY2hvb2wgVHJhZmZpYzozOjBjZDY3NDBkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgTWlkZGxlIFNjaG9vbCBUcmFmZmljOjM6MGNkNjc0MGQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBGb2xsb3dzIHRoZSBCdXMgV2luZG93JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0NoZWNrIHRoZSB3YXRjaCBhbmQgY29tcGFyZSB0aGUgZXZlbnQgd2l0aCA5OjE0LiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6VGhlIE1pZGRsZSBTY2hvb2wgVHJhZmZpYzo0OjgwYmY4ZWVlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpUaGUgTWlkZGxlIFNjaG9vbCBUcmFmZmljOjQ6ODBiZjhlZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wcmVwYXJlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gQ2hlY2tzIHRoZSBCZWVwaW5nIFdhdGNoJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE3MCIgbmFtZT0iS2V2aW4gU3R1ZGllcyB0aGUgQnVzIFdpbmRvdyBGYWNlIiB0YWdzPSJiZy1zY2hvb2xleHRlcmlvciIgcG9zaXRpb249IjE3NSw3MzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5TYXdCdXNGYWNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1JvYWQgTmVhciBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJZGVudGlmeSB0aGUgZmFjZSBpbnNpZGUgdGhlIGJ1cy13aW5kb3cgcmVmbGVjdGlvbiZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9yY2VkIGhpbXNlbGYgdG8ga2VlcCBsb29raW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhY2Ugb2NjdXBpZWQgdGhlIGNlbnRlciBvZiB0aGUgcmVhciB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTdHVkZW50cyBtb3ZlZCBiZWhpbmQgdGhlIGdsYXNzLiBIZWFkcyB0dXJuZWQuIEhhbmRzIHdhdmVkLiBTb21lb25lCglwcmVzc2VkIGEgbm90ZWJvb2sgYWdhaW5zdCB0aGUgd2luZG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm9uZSBvZiB0aG9zZSBtb3ZlbWVudHMgZGlzdHVyYmVkIHRoZSBmYWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgcmVtYWluZWQgZW1iZWRkZWQgaW4gdGhlIHJlZmxlY3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdHVkaWVkIHRoZSBmZWF0dXJlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgbmFycm93IGNoaW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEYXJrIGhhaXIgY2xvc2UgdG8gdGhlIGhlYWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBbiBvbGQtZmFzaGlvbmVkIGNvbGxhciB2aXNpYmxlIGJlbmVhdGggdGhlIHRocm9hdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmYWNlIGJlbG9uZ2VkIHRvIGEgY2hpbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgb2YgdGhlIHRocmVlIGdpcmxzIGZyb20gdGhlIG1pc3NpbmcgcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHdhcyBub3Qgc3VyZSBob3cgaGUga25ldy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjZXJ0YWludHkgYXJyaXZlZCBiZWZvcmUgdGhlIG1lbW9yeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByZWZsZWN0ZWQgY2hpbGQgcmFpc2VkIG9uZSBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIGZpbmdlciB0b3VjaGVkIHRoZSBsaXBzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNhbWUgd2FybmluZyBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJlIHF1aWV0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRG8gbm90IHRlbGwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPciBsaXN0ZW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb3VsZCBub3QgdGVsbCB3aGljaC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjaGlsZCBsb3dlcmVkIHRoZSBoYW5kIGFuZCBwb2ludGVkIHRvd2FyZCBLZXZpbiYjMzk7cyB3cmlzdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyBkZWFkIHdhdGNoIGJlZXBlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBkaXNwbGF5IGZsYXNoZWQ6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJOToxNAombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGVuIHR3byBuYXJyb3cgc3Ryb2tlcyByZXBsYWNlZCB0aGUgdGltZS4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglJSQombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgc2NyZWVuIHdlbnQgYmxhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBidXMgd2luZG93LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhY2UgaGFkIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25seSBLZXZpbiYjMzk7cyByZWZsZWN0aW9uIHJlbWFpbmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgcmFpc2VkIG9uZSBmaW5nZXIgdG93YXJkIGl0cyBsaXBzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGFkIG5vdCBtb3ZlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidXMgdHVybmVkIGludG8gdGhlIG1pZGRsZS1zY2hvb2wgbG90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGlzIHJlZmxlY3Rpb24gdmFuaXNoZWQgd2l0aCBpdC4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7QSBnaXJsIGFwcGVhcmVkIGluc2lkZSB0aGUgYnVzLXdpbmRvdyByZWZsZWN0aW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtPbmUgb2YgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCBnaXJscyBhcHBlYXJlZCBpbiBhIGJ1cy13aW5kb3cgcmVmbGVjdGlvbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4mIzM5O3Mgd2F0Y2ggY2hhbmdlZCBmcm9tIDk6MTQgdG8gSUkgd2hlbiB0aGUgcmVmbGVjdGVkIGdpcmwgcG9pbnRlZCBhdCBpdCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtSZWZsZWN0ZWQgZ2lybCBjb25uZWN0ZWQgS2V2aW4mIzM5O3Mgd2F0Y2gsIDk6MTQsIGFuZCBJSSZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TWFqb3IgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIHJlZmxlY3RlZCBnaXJsIHBvaW50ZWQgdG93YXJkCglLZXZpbiYjMzk7cyB3YXRjaCBiZWZvcmUgaXRzIGRpc3BsYXkgY2hhbmdlZCBmcm9tIDk6MTQgdG8gSUkuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0b3dhcmQgc2Nob29sLSZndDtLZXZpbiBOYW1lcyB0aGUgTXlzdGVyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTcxIiBuYW1lPSJLZXZpbiBOYW1lcyB0aGUgTXlzdGVyeSIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjE3NSw3NDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5OYW1lZE15c3RlcnkgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7T3V0c2lkZSBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZWFjaCBob21lcm9vbSBhbmQgZGVjaWRlIHdoYXQgS2V2aW4gYmVsaWV2ZXMmcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBtaWRkbGUgc2Nob29sIHJvc2UgYWhlYWQgb2YgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTdHVkZW50cyBtb3ZlZCB0aHJvdWdoIHRoZSBlbnRyYW5jZSBpbiBncm91cHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUZWFjaGVycyBkaXJlY3RlZCB0cmFmZmljIG5lYXIgdGhlIGRvb3JzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRXZlcnl0aGluZyBsb29rZWQgb3JkaW5hcnkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBubyBsb25nZXIgdHJ1c3RlZCBvcmRpbmFyeSBhcHBlYXJhbmNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHNsb3dlZCBuZWFyIHRoZSBlZGdlIG9mIHRoZSBwYXJraW5nIGxvdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhpcyB0aG91Z2h0cyBiZWdhbiBhcnJhbmdpbmcgdGhlIG1vcm5pbmcgaW50byBhIGxpc3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmxpY2tlcmluZyBoYWxsd2F5IGxhbXAuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY29sZCBhaXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc3RvcHBlZCBjbG9ja3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWlzc2luZyBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgc2l4LXBldGFsZWQgc3ltYm9sIGNhcnZlZCBpbnRvIHRoZSBzdGFpcmNhc2UuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkbm90aWNlZFJvbWFuWEkmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJU3RhaXIgYFhJYC4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRub3RpY2VkUm9tYW5JSSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgc2Vjb25kIHN5bWJvbCBtYXJrZWQgYElJYC4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRmb3VuZFdldEZvb3RwcmludCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgd2V0IGZvb3RwcmludCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzdGFpcnMuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkb3JhbmdlQ2F0U2VlbiZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgb3JhbmdlIGNhdCBkaXNhcHBlYXJpbmcgaW5zaWRlIHRoZSBvYWsgdHJlZS4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSBzb25ncyB0aGF0IGtuZXcgd29yZHMgQWJiaWUgZGlkIG5vdCByZW1lbWJlciBsZWFybmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBjcmFja3MgdGhhdCBtYXkgaGF2ZSBjYXJyaWVkIHNvbWV0aGluZyBiZW5lYXRoIHRoZSBzaWRld2Fsay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwYWxlIGZhY2UgaW4gdGhlIGJ1cyB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGVhZCB3YXRjaCB0aGF0IGtlcHQgcHJvZHVjaW5nIG1lc3NhZ2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSW5kaXZpZHVhbGx5LCBlYWNoIGV2ZW50IGNvdWxkIGJlIGV4cGxhaW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJhZCB3aXJpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGZhaWxpbmcgYmF0dGVyeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVJlZmxlY3Rpb25zLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTmVydmVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWJiaWUmIzM5O3MgaW1hZ2luYXRpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiYjMzk7cyBpbWFnaW5hdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRvZ2V0aGVyLCB0aGV5IGhhZCBiZWNvbWUgc29tZXRoaW5nIGVsc2UuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHBhdHRlcm4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQYXR0ZXJucyBiZWxvbmdlZCB0byBteXN0ZXJpZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNeXN0ZXJpZXMgbmVlZGVkIG5hbWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGFkIHJlYWQgZW5vdWdoIEhhcmR5IEJveXMgYm9va3MgdG8gdW5kZXJzdGFuZCB0aGF0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSB0aXRsZSBkaWQgbm90IHNvbHZlIGFueXRoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgY3JlYXRlZCBhIGNvbnRhaW5lci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWV0aGluZyB3aXRoIGVkZ2VzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXRoaW5nIEtldmluIGNvdWxkIGhvbGQgd2l0aG91dCBsZXR0aW5nIGV2ZXJ5IHBpZWNlIHNjYXR0ZXIgdGhyb3VnaAoJaGlzIHRob3VnaHRzLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVRoZSBTZWNyZXQgb2YgdGhlIFN0cmFuZ2UgTW9ybmluZy4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIHRpdGxlIHdhcyBub3QgZ29vZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IHdhcyBhbHNvIHRoZSBvbmx5IG9uZSBhdmFpbGFibGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmNlIHRoZSBteXN0ZXJ5IGhhZCBhIG5hbWUsIHRoZSBldmVudHMgZmVsdCBsZXNzIGxpa2UgdW5yZWxhdGVkCglkaXNhc3RlcnMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGF0IHNob3VsZCBoYXZlIGhlbHBlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUl0IGRpZCBub3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglNeXN0ZXJpZXMgZGlkIG5vdCBkaXNhcHBlYXIgd2hlbiBzb21lb25lIG5hbWVkIHRoZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGV5IGJlY2FtZSByZWFsIGVub3VnaCB0byBpbnZlc3RpZ2F0ZS4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7S2V2aW4gbmFtZWQgdGhlIGNvbm5lY3RlZCBldmVudHMgVGhlIFNlY3JldCBvZiB0aGUgU3RyYW5nZSBNb3JuaW5nJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7a2V2aW4tcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgUGF0dGVybjombHQ7L3N0cm9uZyZndDsgJHBhdHRlcm5Db3VudCB1bmV4cGxhaW5lZCBldmVudHMuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7V29ya2luZyBjb25jbHVzaW9uOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiBiZWxpZXZlcyB0aGUgbW9ybmluZyYjMzk7cwoJdW5leHBsYWluZWQgZXZlbnRzIG1heSBiZWxvbmcgdG8gb25lIGNvbm5lY3RlZCBteXN0ZXJ5LgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglLZXZpbiBhZGp1c3RlZCBoaXMgYmFja3BhY2sgYW5kIGFwcHJvYWNoZWQgdGhlIHNjaG9vbCBlbnRyYW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgYnVzIHdpbmRvdyByZWZsZWN0ZWQgaGltIGFzIGhlIHBhc3NlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUZvciBvbmUgc2Vjb25kLCBoaXMgcmVmbGVjdGlvbiBsb29rZWQgYmFjayBhZnRlciBLZXZpbiBoYWQgdHVybmVkCglhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiB0aGUgZmlyc3QgYmVsbCByYW5nLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0VudGVyIEJyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sLSZndDtLZXZpbiBFbnRlcnMgdGhlIE1pZGRsZSBTY2hvb2xdXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNzIiIG5hbWU9IktldmluIFJlZnVzZXMgdGhlIEJ1cyBXaW5kb3ciIHRhZ3M9ImJnLXNjaG9vbGV4dGVyaW9yIiBwb3NpdGlvbj0iNzc1LDcyMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpbkF2b2lkZWRCdXNGYWNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1JvYWQgTmVhciBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZWFjaCBzY2hvb2wgd2l0aG91dCBsb29raW5nIGF0IHRoZSBidXMgYWdhaW4mcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBkb3duLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSWYgaGUgZGlkIG5vdCBleGFtaW5lIHRoZSBmYWNlLCB0aGVuIHRoZSBmYWNlIHJlbWFpbmVkIGEgcmVmbGVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN1bmxpZ2h0IG9uIGRpcnR5IGdsYXNzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzdHVkZW50IHNpdHRpbmcgYXQgYW4gdW51c3VhbCBhbmdsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRyZWUgYnJhbmNoZXMgYXJyYW5nZWQgaW50byBzb21ldGhpbmcgdGhhdCByZXNlbWJsZWQgZXllcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXJlIHdlcmUgc2V2ZXJhbCByZWFzb25hYmxlIGV4cGxhbmF0aW9ucy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvbmNlbnRyYXRlZCBvbiBoaXMgc2hvZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglMZWZ0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUmlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBdm9pZCB0aGUgY3JhY2suCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglMZWZ0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUmlnaHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglEbyBub3QgbG9vayBhdCB0aGUgYnVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHdhdGNoIGJlZXBlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGtlcHQgd2Fsa2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBidXMgZW5naW5lIGdyZXcgcXVpZXRlciBhcyBpdCBtb3ZlZCBhaGVhZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzdHVkZW50cyYjMzk7IGxhdWdodGVyIGZhZGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhY2Ugd2FzIGdvbmUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglQcm9iYWJseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHBhc3NlZCBhIHBhcmtlZCBjYXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGFsZSBmYWNlIGFwcGVhcmVkIGluIGl0cyBzaWRlIG1pcnJvci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGxvb2tlZCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQSBzdG9yZWZyb250IHdpbmRvdyBjYXVnaHQgdGhlIG5leHQgcmVmbGVjdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmYWNlIGFwcGVhcmVkIHRoZXJlIHRvby4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNyb3NzZWQgdGhlIHN0cmVldC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgc2hhbGxvdyBwdWRkbGUgd2FpdGVkIGJlc2lkZSB0aGUgY3VyYi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByZWZsZWN0ZWQgY2hpbGQgc3RhcmVkIHVwd2FyZCBmcm9tIHRoZSB3YXRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHN0ZXBwZWQgb3ZlciBpdC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUV2ZXJ5IHJlZmxlY3RpdmUgc3VyZmFjZSBhbG9uZyB0aGUgc3RyZWV0IGhhZCBiZWd1biBjYXJyeWluZyB0aGUgc2FtZQoJcGFzc2VuZ2VyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBsb29rIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY291bGQgc3RpbGwgZmVlbCB0aGUgY2hpbGQmIzM5O3MgYXR0ZW50aW9uIGZvbGxvd2luZyBoaW0gZnJvbSBnbGFzcyB0bwoJZ2xhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSByZWZsZWN0aW9ucyBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ga25ldyBiZWNhdXNlIGhpcyBvd24gc2hhZG93IHJhaXNlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBmaW5nZXIgdG91Y2hlZCB3aGVyZSBpdHMgbW91dGggc2hvdWxkIGhhdmUgYmVlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvbnRpbnVlZCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSWdub3Jpbmcgc29tZXRoaW5nIGhhZCBuZXZlciByZXF1aXJlZCB0aGlzIG11Y2ggYXR0ZW50aW9uLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUgcGFsZSBmYWNlIGZvbGxvd2VkIEtldmluIHRocm91Z2ggcmVmbGVjdGl2ZSBzdXJmYWNlcyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGJ1cy13aW5kb3cgZmFjZSBhcHBlYXJlZCBpbiBtdWx0aXBsZSByZWZsZWN0aW9ucyBhZnRlciBLZXZpbiBsb29rZWQgYXdheSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtQYWxlIGNoaWxkIGZvbGxvd2VkIEtldmluIHRocm91Z2ggd2luZG93cywgbWlycm9ycywgYW5kIHdhdGVyJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmV4cGxhaW5lZCBwdXJzdWl0OiZsdDsvc3Ryb25nJmd0OyBUaGUgZmFjZSBtb3ZlZCB0aHJvdWdoIHNldmVyYWwKCXJlZmxlY3Rpb25zIGFmdGVyIEtldmluIHJlZnVzZWQgdG8gbG9vayBhdCB0aGUgYnVzLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbS2VlcCB3YWxraW5nIHRvd2FyZCBzY2hvb2wtJmd0O0tldmluIE5hbWVzIHRoZSBNeXN0ZXJ5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNzMiIG5hbWU9IktldmluIEZvbGxvd3MgdGhlIEJ1cyBXaW5kb3ciIHRhZ3M9ImJnLXNjaG9vbGV4dGVyaW9yIiBwb3NpdGlvbj0iNTc1LDczNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRrZXZpbkZvbGxvd2VkQnVzID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1JvYWQgTmVhciBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hlcmUgdGhlIHJlZmxlY3RlZCBmYWNlIGlzIGxvY2F0ZWQgb24gdGhlIGJ1cyZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gam9nZ2VkIGFmdGVyIHRoZSBidXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgdmVoaWNsZSBzbG93ZWQgYmVoaW5kIGEgbGluZSBvZiBjYXJzIGVudGVyaW5nIHRoZSBtaWRkbGUtc2Nob29sCglsb3QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBnYWluZWQgZ3JvdW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUga2VwdCBoaXMgZXllcyBvbiB0aGUgcmVhciB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGFsZSBmYWNlIHJlbWFpbmVkIG5lYXIgdGhlIGNlbnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwb3NpdGlvbiBzaG91bGQgaGF2ZSBjb3JyZXNwb25kZWQgd2l0aCB0aGUgYmFjayByb3cgb2Ygc2VhdHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBtb3ZlZCB0b3dhcmQgdGhlIHNpZGUgb2YgdGhlIGJ1cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSByZWFyIHdpbmRvdyByb3RhdGVkIG91dCBvZiB2aWV3LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZhY2UgYXBwZWFyZWQgaW4gdGhlIG5lYXJlc3Qgc2lkZSB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBoYWQgbW92ZWQgd2l0aG91dCBjcm9zc2luZyB0aGUgc3BhY2UgYmV0d2Vlbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNvbnRpbnVlZCBhbG9uZ3NpZGUgdGhlIGJ1cy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmYWNlIHBhc3NlZCBmcm9tIG9uZSB3aW5kb3cgdG8gdGhlIG5leHQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglObyBib2R5IGZvbGxvd2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gc3R1ZGVudCBzaGlmdGVkIHNlYXRzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSXQgd2FzIGxpa2Ugd2F0Y2hpbmcgYSBwaWN0dXJlIG1vdmUgYmV0d2VlbiBzZXBhcmF0ZSBmcmFtZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnVzIHNsb3dlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIHJlYWNoZWQgdGhlIHdpbmRvdyBjb250YWluaW5nIHRoZSBmYWNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHNlYXQgYmVoaW5kIGl0IHdhcyBlbXB0eS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgZGFyayBzdGFpbiBtYXJrZWQgdGhlIGdyZWVuIHZpbnlsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0YWluIGhhZCBzaXggbmFycm93IGN1cnZlcyBhcnJhbmdlZCBhcm91bmQgYSBjZW50ZXIgcG9pbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGhleGFmb2lsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBhbGUgZmFjZSByZW1haW5lZCBvbiB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB0dXJuZWQgdG93YXJkIHRoZSBlbXB0eSBzZWF0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZm9sbG93ZWQgaXRzIGdhemUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNtYWxsIHdvb2RlbiBidXR0b24gcmVzdGVkIG9uIHRoZSBjdXNoaW9uLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQmxhY2sgdGhyZWFkIHJlbWFpbmVkIGF0dGFjaGVkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJGZvdW5kT2xkQnV0dG9uJmd0OyZndDsKCSZsdDtwJmd0OwoJCUl0IG1hdGNoZWQgdGhlIGJ1dHRvbiBLZXZpbiBoYWQgZm91bmQgbmVhciB0aGUgbWlzc2luZyBwaG90b2dyYXBoLgoJJmx0Oy9wJmd0OwoJJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0Egc2Vjb25kIGJ1dHRvbiBtYXRjaGluZyB0aGUgaGFsbHdheSBidXR0b24gYXBwZWFyZWQgb24gYW4gZW1wdHkgYnVzIHNlYXQmcXVvdDspJmd0OyZndDsKCSZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O01hdGNoaW5nIHdvb2RlbiBidXR0b24gY29ubmVjdGVkIHRoZSBidXMgZmFjZSB0byB0aGUgbWlzc2luZyBwaG90b2dyYXBoJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgYnV0dG9uIGxvb2tlZCBvbGQgZW5vdWdoIHRvIGhhdmUgY29tZSBmcm9tIG9uZSBvZiB0aGUgZHJlc3NlcwoJCWluIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGguCgkmbHQ7L3AmZ3Q7CgkmbHQ7Jmx0O3J1biAka25vd2xlZGdlLktldmluLnB1c2hVbmlxdWUoJnF1b3Q7QW4gb2xkIHdvb2RlbiBidXR0b24gYXBwZWFyZWQgb24gdGhlIGVtcHR5IHNlYXQgYmVoaW5kIHRoZSBidXMtd2luZG93IGZhY2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCVRoZSByZWZsZWN0ZWQgY2hpbGQgcmFpc2VkIG9uZSBoYW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1cyBhY2NlbGVyYXRlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGZlbGwgYmVoaW5kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZpbmFsIHdpbmRvdyBwYXNzZWQgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGVtcHR5IHNlYXQgcmVtYWluZWQgdmlzaWJsZSBmb3Igb25lIHNlY29uZCBsb25nZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgYnV0dG9uIHdhcyBnb25lLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGhleGFmb2lsIHN0YWluIHJlbWFpbmVkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtUaGUgYnVzLXdpbmRvdyBmYWNlIG1vdmVkIGJldHdlZW4gc2VwYXJhdGUgcGFuZXMgb2YgZ2xhc3MmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O0EgaGV4YWZvaWwgc3RhaW4gbWFya2VkIHRoZSBlbXB0eSBzZWF0IGJlaGluZCB0aGUgcmVmbGVjdGVkIGZhY2UmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7SGV4YWZvaWwgYW5kIHdvb2RlbiBidXR0b24gYXBwZWFyZWQgb24gdGhlIHJlZmxlY3RlZCBnaXJsJiMzOTtzIGJ1cyBzZWF0JnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtQaHlzaWNhbCBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgcmVmbGVjdGVkIGZhY2UgbGVkIEtldmluIHRvCglhbiBlbXB0eSBzZWF0IG1hcmtlZCBieSBhIGhleGFmb2lsIGFuZCBhbiBvbGQgd29vZGVuIGJ1dHRvbi4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gc3RvcHBlZCBqb2dnaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGJ1cyBlbnRlcmVkIHRoZSBzY2hvb2wgbG90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU2V2ZXJhbCBzdHVkZW50cyBpbnNpZGUgYXBwbGF1ZGVkIGhpcyBhdHRlbXB0IHRvIGtlZXAgcGFjZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluJiMzOTtzIHNvY2lhbCBzaXR1YXRpb24gaGFkIG5vdCBpbXByb3ZlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0b3dhcmQgc2Nob29sLSZndDtLZXZpbiBOYW1lcyB0aGUgTXlzdGVyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTc0IiBuYW1lPSJLZXZpbiBDaGVja3MgdGhlIEJlZXBpbmcgV2F0Y2giIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSI5MDAsNzM1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluQ2hlY2tlZFdhdGNoQWdhaW4gPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7Um9hZCBOZWFyIEJyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgdGhlIGRlYWQgd2F0Y2ggYmVlcGVkJnF1b3Q7Jmd0OyZndDsKJmx0O3AmZ3Q7CglLZXZpbiByYWlzZWQgaGlzIHdyaXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRpc3BsYXkgcmVtYWluZWQgZGFyay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHByZXNzZWQgdGhlIHRvcCBidXR0b24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglOb3RoaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgcHJlc3NlZCBib3RoIGJ1dHRvbnMgdG9nZXRoZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2NyZWVuIGZsYXNoZWQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJOToxNAombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgc2FtZSBpbXBvc3NpYmxlIHRpbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbnVtYmVyIHJlbWFpbmVkIHZpc2libGUgZm9yIG9uZSBzZWNvbmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIHRoZSBjb2xvbiBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Cgk5MTQKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcHJlc3NlZCB0aGUgYnV0dG9uIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG51bWVyYWxzIHJlYXJyYW5nZWQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJMTkgMTQKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBsb29rZWQgbGVzcyBsaWtlIGEgdGltZSBhbmQgbW9yZSBsaWtlIGEgeWVhci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5pbmV0ZWVuIGZvdXJ0ZWVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGlkIG5vdCBrbm93IHdoYXQgaGFkIGhhcHBlbmVkIGluIDE5MTQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBrbmV3IGhpcyBkaWdpdGFsIHdhdGNoIGhhZCBub3QgYmVlbiBkZXNpZ25lZCB0byBkaXNwbGF5IGhpc3RvcmljYWwKCXJlZmVyZW5jZXMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2NyZWVuIGNoYW5nZWQgYWdhaW4uCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJWEkgSUkKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJRWxldmVuLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVHdvLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgJG5vdGljZWRSb21hblhJIGFuZCAkbm90aWNlZFJvbWFuSUkmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIHdhdGNoIGhhZCBjb21iaW5lZCB0aGUgbWFya2luZ3MgZnJvbSB0aGUgc3RhaXJjYXNlIGFuZCB0aGUKCQlmcm9udCBkb29yLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJYFhJYCBhbmQgYElJYC4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUVsZXZlbiBhbmQgdHdvLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJT3IgYSBkYXRlLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJRWxldmVuLXR3by4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiYjMzk7cyB3YXRjaCBjb21iaW5lZCBYSSBhbmQgSUkgYWZ0ZXIgZGlzcGxheWluZyA5OjE0IGFuZCAxOTE0JnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtXYXRjaCBjb25uZWN0ZWQgOToxNCwgMTkxNCwgWEksIGFuZCBJSSZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtQb3NzaWJsZSBzZXF1ZW5jZTombHQ7L3N0cm9uZyZndDsgS2V2aW4mIzM5O3Mgd2F0Y2ggY2hhbmdlZCBmcm9tIDk6MTQKCQl0byAxOTE0IGFuZCB0aGVuIGRpc3BsYXllZCBYSSBJSS4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJS2V2aW4gcmVjb2duaXplZCB0aGUgc3ltYm9scyBhcyBSb21hbiBudW1lcmFscy4KCSZsdDsvcCZndDsKCSZsdDtwJmd0OwoJCUVsZXZlbiBhbmQgdHdvLgoJJmx0Oy9wJmd0OwoJJmx0O3AmZ3Q7CgkJSGUgZGlkIG5vdCB5ZXQga25vdyB3aGF0IHRoZXkgaWRlbnRpZmllZC4KCSZsdDsvcCZndDsKCSZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiYjMzk7cyB3YXRjaCBkaXNwbGF5ZWQgOToxNCwgMTkxNCwgYW5kIHRoZSBSb21hbiBudW1lcmFscyBYSSBJSSZxdW90OykmZ3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtVbmV4cGxhaW5lZCBzZXF1ZW5jZTombHQ7L3N0cm9uZyZndDsgVGhlIHdhdGNoIGRpc3BsYXllZCA5OjE0LAoJCTE5MTQsIGFuZCB0aGUgUm9tYW4gbnVtZXJhbHMgWEkgSUkuCgkmbHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGxvb2tlZCBhdCB0aGUgYnVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHBhbGUgZmFjZSByZW1haW5lZCBpbiB0aGUgcmVhciB3aW5kb3cuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCByYWlzZWQgb25lIGZpbmdlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZW4gYW5vdGhlci4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CglUd28uCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCVRoZSB3YXRjaCBiZWVwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZGlzcGxheSB3ZW50IGRhcmsuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBwcmVzc2VkIHRoZSBidXR0b25zIGFnYWluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm90aGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwYWxlIGZhY2UgaGFkIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtLZXZpbiYjMzk7cyBkZWFkIHdhdGNoIGRpc3BsYXllZCA5OjE0LCAxOTE0LCBYSSwgYW5kIElJJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvd2FyZCBzY2hvb2wtJmd0O0tldmluIE5hbWVzIHRoZSBNeXN0ZXJ5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNzUiIG5hbWU9IktldmluIEVudGVycyB0aGUgTWlkZGxlIFNjaG9vbCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjE3NSw3NTc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogRW50cmFuY2UgSGFsbCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZWFjaCBob21lcm9vbSBiZWZvcmUgS2V2aW4gYXR0cmFjdHMgbW9yZSBhdHRlbnRpb24mcXVvdDsmZ3Q7Jmd0OwombHQ7cCZndDsKCUtldmluIGVudGVyZWQgQnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wgd2l0aCB0aGUgY3Jvd2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZnJvbnQgZG9vcnMgb3BlbmVkIGludG8gYSB3aWRlIGhhbGwgbGluZWQgd2l0aCBsb2NrZXJzLCBidWxsZXRpbgoJYm9hcmRzLCBhbmQgc3R1ZGVudHMgd2hvIGFwcGVhcmVkIHRvIGtub3cgZXhhY3RseSB3aGVyZSB0aGV5IHdlcmUKCWdvaW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4ga25ldyB3aGVyZSBoZSB3YXMgZ29pbmcgdG9vLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQXBwcm94aW1hdGVseS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhvbWVyb29tIHdhcyBzb21ld2hlcmUgaW5zaWRlIHRoZSBidWlsZGluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgdGVjaG5pY2FsbHkgY291bnRlZCBhcyBpbmZvcm1hdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN0dWRlbnRzIGZsb3dlZCBhcm91bmQgaGltIGluIGJvdGggZGlyZWN0aW9ucy4gQmFja3BhY2tzIHN0cnVjawoJbG9ja2Vycy4gU2hvZXMgc3F1ZWFrZWQgYWdhaW5zdCB0aGUgd2F4ZWQgZmxvb3IuIFZvaWNlcyBvdmVybGFwcGVkCgliZW5lYXRoIHRoZSBmbHVvcmVzY2VudCBsaWdodHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiB0aWdodGVuZWQgaGlzIGdyaXAgb24gaGlzIHNjaGVkdWxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJvb20gbnVtYmVyIHdhcyBwcmludGVkIG5lYXIgdGhlIHRvcC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwcm9ibGVtIHdhcyB0aGF0IG5vbmUgb2YgdGhlIG5lYXJieSBzaWducyBhcHBlYXJlZCBpbnRlcmVzdGVkIGluCglleHBsYWluaW5nIHdoZXJlIHRoYXQgcm9vbSBtaWdodCBiZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHN0ZXBwZWQgYXdheSBmcm9tIHRoZSBlbnRyYW5jZSBhbmQgaW1tZWRpYXRlbHkgYmxvY2tlZCB0aHJlZQoJc3R1ZGVudHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CgkmcXVvdDtTb3JyeS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIG1vdmVkIGxlZnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGRpZmZlcmVudCBncm91cCBhcHByb2FjaGVkIGZyb20gdGhhdCBkaXJlY3Rpb24uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBtb3ZlZCByaWdodC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVNvbWVvbmUgb3BlbmVkIGEgbG9ja2VyIGRpcmVjdGx5IGJlc2lkZSBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWV0YWwgZG9vciBuZWFybHkgc3RydWNrIGhpcyBzaG91bGRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGJhY2tlZCBhZ2FpbnN0IHRoZSB3YWxsLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgaGFkIGJlZW4gaW5zaWRlIHRoZSBzY2hvb2wgZm9yIGxlc3MgdGhhbiBhIG1pbnV0ZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBwbGFuIHdhcyBwZXJmb3JtaW5nIGV4YWN0bHkgYXMgZXhwZWN0ZWQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJRmluZCBob21lcm9vbS4mbHQ7YnImZ3Q7CglGaW5kIHRoZSBsb2NrZXIuJmx0O2JyJmd0OwoJRG8gbm90IHNwZWFrIHVubGVzcyBhc2tlZCBhIGRpcmVjdCBxdWVzdGlvbi4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJVGhlIGZsdW9yZXNjZW50IGxpZ2h0IGFib3ZlIEtldmluIGZsaWNrZXJlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGxvb2tlZCB1cC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsaWdodCBiZWNhbWUgc3RlYWR5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2FpdGVkIGZvciB0aGUgc2hhZG93cyB0byBtb3ZlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhleSBkaWQgbm90LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJUHJvYmFibHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGdyb3VwIG9mIHN0dWRlbnRzIGVudGVyZWQgdGhyb3VnaCB0aGUgZG9vcnMgYmVoaW5kIGhpbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU9uZSBub3RpY2VkIEtldmluLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHN0dWRlbnQgbnVkZ2VkIHNvbWVvbmUgZWxzZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUJvdGggbG9va2VkIHRvd2FyZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGVuIGNhbWUgdGhlIHNraXBwaW5nIG1vdGlvbi4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUFybXMgc3dpbmdpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLbmVlcyBsaWZ0aW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQW4gZXhhZ2dlcmF0ZWQgc21pbGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgcGVyZm9ybWFuY2UgaGFkIGJlZW4gd2l0bmVzc2VkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbG93ZXJlZCBoaXMgZXllcyBhbmQgdW5mb2xkZWQgaGlzIHNjaGVkdWxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSWYgaGUgYXBwZWFyZWQgYnVzeSwgcGVyaGFwcyBldmVyeW9uZSB3b3VsZCBjb25jbHVkZSB0aGF0IHRoZQoJc2luZ2luZywgc2tpcHBpbmcgcGVyc29uIG91dHNpZGUgaGFkIGJlZW4gc29tZW9uZSBlbHNlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZW9uZSB3aG8gaGFwcGVuZWQgdG8gbG9vayBleGFjdGx5IGxpa2UgS2V2aW4uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21lb25lIGNhcnJ5aW5nIHRoZSBzYW1lIGJhY2twYWNrLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZW9uZSB3ZWFyaW5nIHRoZSBzYW1lIG11ZGR5IHNuZWFrZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCB3YXMgbm90IGEgc3Ryb25nIHRoZW9yeS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0hleSwgUGV0ZXIgUGFuLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gY2xvc2VkIGhpcyBleWVzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG5pY2tuYW1lIGhhZCBhcnJpdmVkIGJlZm9yZSBoZSBmb3VuZCBob21lcm9vbS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoYXQgaGFkIHRvIGJlIGFub3RoZXIgcmVjb3JkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJQWxzbyBub3QgdGhlIHNvcnQgdGhhdCBjYW1lIHdpdGggYSB0cm9waHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBjb250aW51ZWQgcmVhZGluZyB0aGUgc2NoZWR1bGUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIb21lcm9vbSBoYWQgbm90IG1vdmVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIHJvb20gbnVtYmVyIHJlbWFpbmVkIHVuaGVscGZ1bC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1doZXJlJiMzOTtzIFRpbmtlcmJlbGw/JnF1b3Q7IGFub3RoZXIgc3R1ZGVudCBjYWxsZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIGZldyBuZWFyYnkgc3R1ZGVudHMgbGF1Z2hlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluJiMzOTtzIGZhY2UgZ3JldyB3YXJtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgY29uc2lkZXJlZCBzZXZlcmFsIHJlc3BvbnNlcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCU5vbmUgb2YgdGhlbSBzdXJ2aXZlZCBjb250YWN0IHdpdGggaGlzIG1vdXRoLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU28gaGUga2VwdCB3YWxraW5nLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNyb3dkIG9wZW5lZCBhaGVhZCBvZiBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igb25lIG1vbWVudCwgS2V2aW4gc2F3IGFuIG9sZC1mYXNoaW9uZWQgY2hpbGQgc3RhbmRpbmcgbmVhciB0aGUKCXJvdyBvZiBsb2NrZXJzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGRhcmsgZHJlc3MgcmVhY2hlZCBuZWFybHkgdG8gdGhlIGZsb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJT25lIHBhbGUgaGFuZCByZXN0ZWQgYWdhaW5zdCBhIGxvY2tlciBkb29yLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNoaWxkIHdhdGNoZWQgS2V2aW4gd2l0aG91dCBibGlua2luZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVN0dWRlbnRzIHBhc3NlZCB0aHJvdWdoIHRoZSBzcGFjZSBpbiBmcm9udCBvZiB0aGUgZmlndXJlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gb25lIGxvb2tlZCB0b3dhcmQgdGhlIGNoaWxkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTm8gb25lIG1vdmVkIGFyb3VuZCB0aGUgY2hpbGQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgY2hpbGQgcmFpc2VkIG9uZSBmaW5nZXIgdG93YXJkIHRoZSBsaXBzLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlbiBwb2ludGVkIGRvd24gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUb3dhcmQgS2V2aW4mIzM5O3MgaG9tZXJvb20uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBzdG9wcGVkLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIGNyb3dkIG1vdmVkIGFyb3VuZCBoaW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglXaGVuIHRoZSBoYWxsd2F5IGNsZWFyZWQsIHRoZSBjaGlsZCB3YXMgZ29uZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBsb2NrZXIgcmVtYWluZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglBIHNtYWxsIGNpcmNsZSBoYWQgYXBwZWFyZWQgaW4gdGhlIGR1bGwgbWV0YWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTaXggZmFpbnQgY3VydmVzIHN1cnJvdW5kZWQgaXRzIGNlbnRlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUEgaGV4YWZvaWwuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBtb3ZlZCBjbG9zZXIuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgbWFyayBkaXNhcHBlYXJlZCBiZW5lYXRoIGEgbGF5ZXIgb2Ygc2NyYXRjaGVzIGFuZCBvbGQgcGFpbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgc2Nob29sIGJlbGwgcmFuZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUV2ZXJ5IHN0dWRlbnQgaW4gdGhlIGhhbGx3YXkgYmVnYW4gbW92aW5nIGZhc3Rlci4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGNoZWNrZWQgaGlzIHNjaGVkdWxlLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG9sZC1mYXNoaW9uZWQgY2hpbGQgaGFkIHBvaW50ZWQgaW4gdGhlIHNhbWUgZGlyZWN0aW9uIGFzIGhpcwoJaG9tZXJvb20gbnVtYmVyLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJRm9sbG93aW5nIHRoZSBkaXJlY3Rpb24gbWlnaHQgaGVscCBoaW0gcmVhY2ggY2xhc3MuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJdCBtaWdodCBhbHNvIG1lYW4gYWNjZXB0aW5nIG5hdmlnYXRpb25hbCBhc3Npc3RhbmNlIGZyb20gc29tZW9uZSB3aG8KCWhhZCBhcHBlYXJlZCBpbiBhIHBob3RvZ3JhcGgsIGEgc3Bvb24sIGEgdHJlZSwgYSBwbGF5Z3JvdW5kLCBhIGJ1cwoJd2luZG93LCBhbmQgbm93IGEgbWlkZGxlLXNjaG9vbCBoYWxsd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gZGVjaWRlZCBob21lcm9vbSB3YXMgdGhlIG1vcmUgaW1tZWRpYXRlIHByb2JsZW0uCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBmb2xsb3dlZCB0aGUgY3Jvd2QuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglCZWhpbmQgaGltLCB0aGUgc2NyYXRjaGVkIGxvY2tlciBkb29yIG9wZW5lZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGhlYXJkIHRoZSBtZXRhbCBjcmVhay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIGRpZCBub3QgdHVybiBhcm91bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglTb21ldGhpbmcgaW5zaWRlIHRoZSBsb2NrZXIgd2hpc3BlcmVkOgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCVBldGVyIFBhbi4KJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gd2Fsa2VkIGZhc3Rlci4KJmx0Oy9wJmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7VGhlIG9sZC1mYXNoaW9uZWQgZ2lybCBhcHBlYXJlZCBpbnNpZGUgdGhlIG1pZGRsZSBzY2hvb2wmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBvbGQtZmFzaGlvbmVkIGdpcmwgcG9pbnRlZCBLZXZpbiB0b3dhcmQgaGlzIGhvbWVyb29tJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRrbm93bGVkZ2UuS2V2aW4ucHVzaFVuaXF1ZSgmcXVvdDtBIGhleGFmb2lsIGJyaWVmbHkgYXBwZWFyZWQgb24gYSBtaWRkbGUtc2Nob29sIGxvY2tlciZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgaG91c2Ugc3ltYm9sIGFwcGVhcmVkIGluc2lkZSBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2tldmluLXBhdHRlcm4mcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIFBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7ICRwYXR0ZXJuQ291bnQgdW5leHBsYWluZWQgZXZlbnRzLgombHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O01ham9yIGRldmVsb3BtZW50OiZsdDsvc3Ryb25nJmd0OyBUaGUgb2xkLWZhc2hpb25lZCBjaGlsZCBhbmQgdGhlCglzaXgtcGV0YWxlZCBzeW1ib2wgaGF2ZSBhcHBlYXJlZCBpbnNpZGUgQnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2wuCiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb21wbGV0ZSBDaGFwdGVyIFRocmVlLSZndDtLZXZpbiBDaGFwdGVyIDMgU3VtbWFyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTc2IiBuYW1lPSJLZXZpbiBDaGFwdGVyIDMgU3VtbWFyeSIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjE3NSw3NzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2hhcHRlcjNDb21wbGV0ZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogTWFpbiBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1JlYWNoIGhvbWVyb29tJnF1b3Q7Jmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7Q2hhcHRlciBUaHJlZSBDb21wbGV0ZSZsdDsvZGl2Jmd0OwoJJmx0O2gxIGNsYXNzPSZxdW90O3Bvdi1uYW1lJnF1b3Q7Jmd0O0tldmluIFdpbmNoZXN0ZXImbHQ7L2gxJmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0O0p1c3QgTXkgQnJhaW4gRG9pbmcgdGhlIFRoaW5nIEl0IERvZXMmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gcmVhY2hlZCBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRlY2huaWNhbGx5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJSGUgc3RpbGwgaGFkIHRvIGZpbmQgaG9tZXJvb20sIGxvY2F0ZSBoaXMgbG9ja2VyLCBzdXJ2aXZlIHRoZSBmaXJzdAoJZGF5LCBhbmQgcHJldmVudCBQZXRlciBQYW4gZnJvbSBiZWNvbWluZyBoaXMgcGVybWFuZW50IEJyZWNrZW5yaWRnZQoJaWRlbnRpdHkuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaG9zZSBoYWQgYmVlbiB0aGUgbW9ybmluZyYjMzk7cyBvcmlnaW5hbCBwcm9ibGVtcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZXkgbm93IG9jY3VwaWVkIHRoZSBsZXNzIHVyZ2VudCBwb3J0aW9uIG9mIHRoZSBsaXN0LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkIGNoYXB0ZXItc3VtbWFyeS1jbHVlcyZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgQ2hhcHRlciBUaHJlZSBkaXNjb3ZlcmllczombHQ7L3N0cm9uZyZndDsKCSZsdDt1bCZndDsKCQkmbHQ7bGkmZ3Q7QSBzZWNvbmQgc2l4LXBldGFsZWQgc3ltYm9sIGFwcGVhcmVkIG9uIHRoZSBXaW5jaGVzdGVyIGRvb3JmcmFtZS4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtUaGUgZG9vcmZyYW1lIHN5bWJvbCB3YXMgbWFya2VkIHdpdGggdGhlIFJvbWFuIG51bWVyYWwgSUkuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0O2lmICRub3RpY2VkUm9tYW5YSSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtLZXZpbiBiZWxpZXZlcyB0aGUgbmV3IElJIG1heSBjb25uZWN0IHdpdGggc3RhaXIgWEkuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiAka25vd2xlZGdlLktldmluLmluY2x1ZGVzKCZxdW90O0FiYmllIHNhdyBhbiB1cHNpZGUtZG93biBnaXJsIHJlZmxlY3RlZCBpbiBoZXIgc3Bvb24mcXVvdDspJmd0OyZndDsKCQkJJmx0O2xpJmd0O0FiYmllIHNhdyBhbiB1cHNpZGUtZG93biBnaXJsIHJlZmxlY3RlZCBpbiBoZXIgY2VyZWFsIHNwb29uLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgJGtub3dsZWRnZS5LZXZpbi5pbmNsdWRlcygmcXVvdDtBIHZvaWNlIG5lYXIgdGhlIGhvdXNlIGNvbnRpbnVlZCBBYmJpZSYjMzk7cyBjZXJlYWwgc29uZyZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7QW5vdGhlciB2b2ljZSBjb250aW51ZWQgQWJiaWUmIzM5O3Mgc29uZyBhZnRlciBzaGUgc3RvcHBlZCBzaW5naW5nLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgJGtub3dsZWRnZS5LZXZpbi5pbmNsdWRlcygmcXVvdDtBIHNlY29uZCB2b2ljZSBjb25uZWN0ZWQgQWJiaWUmIzM5O3Mgc29uZyB0byBzdGFpciBYSSZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7QW4gdW5zZWVuIHZvaWNlIGNvbm5lY3RlZCBBYmJpZSYjMzk7cyBzb25nIHdpdGggdGhlIGVsZXZlbnRoIHN0YWlyLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgJGtub3dsZWRnZS5LZXZpbi5pbmNsdWRlcygmcXVvdDtBIHBhcGVyIHJlc2VtYmxpbmcgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCBtb3ZlZCBiZW5lYXRoIHRoZSBzdG9ybSBkcmFpbiZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7U29tZXRoaW5nIHJlc2VtYmxpbmcgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaCBhcHBlYXJlZCBiZW5lYXRoIGEgc3Rvcm0gZHJhaW4uJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0O2xpJmd0O0tldmluIHNhdyBhIHRhbGwgc2hhcGUgc3RhbmRpbmcgYW1vbmcgdGhlIG9hayBicmFuY2hlcy4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtUaGUgY29sZCBuZWFyIHRoZSBmaWVsZCBhZmZlY3RlZCBLZXZpbiBidXQgbm90IEFiYmllLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RoZSBvcmFuZ2UgY2F0IGRpc2FwcGVhcmVkIGluc2lkZSB0aGUgb2FrIHRyZWUuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0O2lmICRrZXZpblJldHJpZXZlZENhdENvbGxhciZndDsmZ3Q7CgkJCSZsdDtsaSZndDtLZXZpbiByZXRyaWV2ZWQgdGhlIGNhdCYjMzk7cyBjb2xsYXIsIHdob3NlIHRhZyBzaGlmdHMgYmV0d2VlbiBMVUNZIGFuZCBMVUNLLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtlbHNlaWYgJGtldmluU3R1ZGllZENhdENvbGxhciZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgY2F0JiMzOTtzIGZhbGxlbiB0YWcgcmV2ZWFsZWQgaGlkZGVuIGhleGFmb2lscyBjYXJ2ZWQgYWNyb3NzIHRoZSBvYWsuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0O2Vsc2VpZiAka2V2aW5MZWZ0Q2F0Q29sbGFyJmd0OyZndDsKCQkJJmx0O2xpJmd0O1RoZSBhYmFuZG9uZWQgY29sbGFyIGxpZnRlZCBmcm9tIHRoZSBncmFzcyBhbmQgcmV0dXJuZWQgdG8gdGhlIHRyZWUuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0O2Vsc2VpZiAka2V2aW5Bc2tlZEFiYmllQWJvdXRDYXQmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7QWJiaWUgY2xhaW1zIHRoZSBjYXQgYmVjYW1lIHRoZSBnaXJsIGZyb20gaGVyIGNlcmVhbCBzcG9vbi4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRrZXZpbkF2b2lkZWRDcmFja3MmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7RnJlc2ggc2lkZXdhbGsgY3JhY2tzIGFwcGVhcmVkIHRvIGZvbGxvdyBLZXZpbiBidXQgc3RvcHBlZCBhdCB0aGUgZ3Jhc3MuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0O2Vsc2VpZiAka2V2aW5RdWVzdGlvbmVkQ3JhY2tSdWxlJmd0OyZndDsKCQkJJmx0O2xpJmd0O0FiYmllIHNhaWQgc29tZXRoaW5nIGJlbmVhdGggdGhlIHNpZGV3YWxrIGNyYWNrcyBjYW4gbG9jYXRlIHBlb3BsZS4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7ZWxzZWlmICRrZXZpbklnbm9yZWRDcmFja3MmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7QSBzaWduYWwgdHJhdmVsZWQgYmVuZWF0aCB0aGUgc2lkZXdhbGsgdG93YXJkIEFiYmllJiMzOTtzIHNjaG9vbC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7ZWxzZWlmICRrZXZpbkZvbGxvd2VkQWJiaWVDcmFja3MmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7U29tZXRoaW5nIGJlbmVhdGggdGhlIHBhdmVtZW50IGFwcGVhcmVkIHRvIGNob29zZSBiZXR3ZWVuIEtldmluIGFuZCBBYmJpZS4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2lmICRrZXZpbldhdGNoZWRTY2hvb2xGZW5jZSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtBbiBvbGQtZmFzaGlvbmVkIGNoaWxkIHBhc3NlZCB0aHJvdWdoIHRoZSBzY2hvb2wgZmVuY2UgYW5kIGxlZnQgYSBwb3NzaWJsZSBidXR0b24gY2x1ZS4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7ZWxzZWlmICRrZXZpbkFza2VkQWJvdXRTY2hvb2xHaXJsJmd0OyZndDsKCQkJJmx0O2xpJmd0O0FiYmllIHJlY29nbml6ZWQgdGhlIG9sZC1mYXNoaW9uZWQgY2hpbGQgYnV0IHJlc2lzdGVkIGV4cGxhaW5pbmcgdGhlIGNvbm5lY3Rpb24uJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtpZiAka2V2aW5TYXdCdXNGYWNlJmd0OyZndDsKCQkJJmx0O2xpJmd0O09uZSBvZiB0aGUgbWlzc2luZyBwaG90b2dyYXBoIGdpcmxzIGFwcGVhcmVkIHdpdGhpbiBhIGJ1cy13aW5kb3cgcmVmbGVjdGlvbi4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7ZWxzZWlmICRrZXZpbkF2b2lkZWRCdXNGYWNlJmd0OyZndDsKCQkJJmx0O2xpJmd0O1RoZSBwYWxlIGZhY2UgZm9sbG93ZWQgS2V2aW4gdGhyb3VnaCBzZXZlcmFsIHJlZmxlY3RpdmUgc3VyZmFjZXMuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0O2Vsc2VpZiAka2V2aW5Gb2xsb3dlZEJ1cyZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgcmVmbGVjdGVkIGZhY2UgbGVkIEtldmluIHRvIGFuIGVtcHR5IGJ1cyBzZWF0IG1hcmtlZCBieSBhIGhleGFmb2lsLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtlbHNlaWYgJGtldmluQ2hlY2tlZFdhdGNoQWdhaW4mZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7S2V2aW4mIzM5O3Mgd2F0Y2ggZGlzcGxheWVkIDk6MTQsIDE5MTQsIFhJLCBhbmQgSUkuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0O2xpJmd0O1RoZSBvbGQtZmFzaGlvbmVkIGNoaWxkIGFuZCB0aGUgaG91c2Ugc3ltYm9sIGFwcGVhcmVkIGluc2lkZSB0aGUgbWlkZGxlIHNjaG9vbC4mbHQ7L2xpJmd0OwoJJmx0Oy91bCZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gaGFkIGhvcGVkIGxlYXZpbmcgdGhlIFdpbmNoZXN0ZXIgaG91c2Ugd291bGQgZW5kIHRoZSBzdHJhbmdlCglldmVudHMuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbnN0ZWFkLCB0aGUgbXlzdGVyeSBoYWQgZm9sbG93ZWQgaGltIHRocm91Z2ggdGhlIG5laWdoYm9yaG9vZCBhbmQKCWludG8gdGhlIHNjaG9vbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBob3VzZSB3YXMgbm8gbG9uZ2VyIHRoZSBvbmx5IHBsYWNlIHdpdGggYSBwcm9ibGVtLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gbmFtZWQgdGhlIGNvbm5lY3RlZCBldmVudHM6CiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJVGhlIFNlY3JldCBvZiB0aGUgU3RyYW5nZSBNb3JuaW5nLgombHQ7L2RpdiZndDsKJmx0O3AmZ3Q7CglUaGUgdGl0bGUgc3RpbGwgd2FzIG5vdCBnb29kLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhlIG15c3Rlcnkgd2FzIGdldHRpbmcgYmV0dGVyIGF0IGZpbmRpbmcgaGltLgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJU29tZXdoZXJlIGJlaGluZCBLZXZpbiwgYSBsb2NrZXIgZG9vciBjbG9zZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaHJlZSBzbG93IGtub2NrcyBmb2xsb3dlZCBmcm9tIGluc2lkZSB0aGUgd2FsbC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGRpZCBub3QgdHVybiBhcm91bmQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUaGUgZmlyc3QgZGF5IGhhZCBvZmZpY2lhbGx5IGJlZ3VuLgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvIENoYXB0ZXIgRm91ci0mZ3Q7Q2hhcHRlciA0IFRyYW5zaXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE3NyIgbmFtZT0iRXBpc29kZSAxIEN1cnJlbnQgRW5kaW5nIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMTc1LDc4MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0VuZCBvZiBDdXJyZW50IEJ1aWxkJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1dhaXQgZm9yIHRoZSBteXN0ZXJ5IHRvIGNvbnRpbnVlJnF1b3Q7Jmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7RW5kIG9mIEN1cnJlbnQgQnVpbGQmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtUaGUgTXlzdGVyeSBDb250aW51ZXMmbHQ7L2gxJmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0O0JyZWNrZW5yaWRnZSByZW1lbWJlcnMgd2hhdCBwZW9wbGUgdHJ5IHRvIGZvcmdldC4mbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gYW5kIFJ5YW4gaGF2ZSBlYWNoIGRpc2NvdmVyZWQgcGFydCBvZiBhIGxhcmdlciBteXN0ZXJ5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJTmVpdGhlciBrbm93cyB3aGF0IHRoZSBvdGhlciBleHBlcmllbmNlZCB0aGF0IG1vcm5pbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglGb3Igbm93LgombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1JldHVybiB0byB0aGUgdGl0bGUgc2NyZWVuLSZndDtTdGFydF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTc4IiBuYW1lPSJLZXZpbiBQdWxscyBBd2F5IGZyb20gdGhlIERvb3IiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSI3NzUsMTY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGZvdW5kRG9vcmZyYW1lSGV4YWZvaWwgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogRnJvbnQgWWFyZCZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtHZXQgQWJiaWUgYXdheSBmcm9tIHRoZSBob3VzZSZxdW90OyZndDsmZ3Q7CiZsdDtwJmd0OwoJS2V2aW4gamVya2VkIGhpcyBoYW5kIGF3YXkgZnJvbSB0aGUgZnJhbWUuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglJbnZlc3RpZ2F0aW5nIHRoZSBob3VzZSB3aGlsZSBzdGFuZGluZyBvdXRzaWRlIGl0IGRlZmVhdGVkIHRoZSBlbnRpcmUKCXB1cnBvc2Ugb2YgbGVhdmluZy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCUhlIHRvb2sgQWJiaWUmIzM5O3MgaGFuZCBhbmQgZ3VpZGVkIGhlciBkb3duIHRoZSBwb3JjaCBzdGVwcy4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O0tldmluLCBJIGNhbiB3YWxrLiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7SSBrbm93LiZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7VGhlbiB3aHkgYXJlIHlvdSBwdWxsaW5nIG1lPyZxdW90OwombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJJnF1b3Q7RWZmaWNpZW50IGRlcGFydHVyZS4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCSZxdW90O1lvdSYjMzk7cmUgd2Fsa2luZyB3ZWlyZC4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKCUtldmluIGdsYW5jZWQgYmFjay4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBmcm9udCBkb29yIHJlbWFpbmVkIGNsb3NlZC4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSBzbWFsbCBmbG93ZXIgY2FydmVkIGludG8gaXRzIGZyYW1lIHdhcyBiYXJlbHkgdmlzaWJsZSBiZW5lYXRoIHRoZQoJcGFpbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglPbmUgcGV0YWwgZGFya2VuZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglUd28gbmFycm93IGxpbmVzIGNyb3NzZWQgaXQuCiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoJSUkuCiZsdDsvZGl2Jmd0OwombHQ7cCZndDsKCUtldmluIHN0b3BwZWQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglIZSBoYWQgc2VlbiB0aGUgbWFyayBmcm9tIHNldmVyYWwgZmVldCBhd2F5LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwoJVGhhdCBzaG91bGQgbm90IGhhdmUgYmVlbiBwb3NzaWJsZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKCVRoZSB0d28gbGluZXMgdmFuaXNoZWQgYmVuZWF0aCB0aGUgcGFpbnQuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglLZXZpbiBrZXB0IHdhbGtpbmcuCiZsdDsvcCZndDsKJmx0O3AmZ3Q7CglSZWZ1c2luZyB0byBpbnZlc3RpZ2F0ZSBkaWQgbm90IG1lYW4gaGlzIGJyYWluIGhhZCBmYWlsZWQgdG8gcmVjb3JkCglpdC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tLZWVwIG1vdmluZy0mZ3Q7S2V2aW4gRGlzY292ZXJzIElJXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxNzkiIG5hbWU9IkNoYXB0ZXIgNCBUcmFuc2l0aW9uIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNjI1LDc4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gNCZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRwb3YgPSAmcXVvdDtLaW1teSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBMaWJyYXJ5IEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG1vcm5pbmcmIzM5O3Mgc3RyYW5nZSByZXBvcnRzIGhhdmUgYSBjb21tb24gc291cmNlJnF1b3Q7Jmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkJnF1b3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0VwaXNvZGUgT25lJmx0Oy9kaXYmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItbnVtYmVyJnF1b3Q7Jmd0O0NoYXB0ZXIgRm91ciZsdDsvZGl2Jmd0OwoJJmx0O2gxIGNsYXNzPSZxdW90O3Bvdi1uYW1lJnF1b3Q7Jmd0O0tpbW15IFdoaXRtb3JlJmx0Oy9oMSZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7CgkJRmFjdHMgRG9uJiMzOTt0IFN0b3AgQmVpbmcgRmFjdHMgQmVjYXVzZSBBZHVsdHMgSWdub3JlIFRoZW0KCSZsdDsvZGl2Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1vYmplY3RpdmUmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtJbW1lZGlhdGUgb2JqZWN0aXZlOiZsdDsvc3Ryb25nJmd0OwoJCVNlcGFyYXRlIHJ1bW9yIGZyb20gZXZpZGVuY2UgYW5kIGRldGVybWluZSB3aGV0aGVyIHRoZSBzdHJhbmdlIGV2ZW50cwoJCWluc2lkZSBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCBzaGFyZSBhIGNvbW1vbiBzb3VyY2UuCgkmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3Bvdi1ub3RpY2UmcXVvdDsmZ3Q7CglZb3UgYXJlIG5vdyBwbGF5aW5nIGFzICZsdDtzdHJvbmcmZ3Q7S2ltbXkmbHQ7L3N0cm9uZyZndDsuIEtpbW15IGRvZXMgbm90IGtub3cgd2hhdAoJS2V2aW4gZXhwZXJpZW5jZWQgaW5zaWRlIHRoZSBXaW5jaGVzdGVyIGhvdXNlIG9yIG9uIHRoZSB3YWxrIHRvIHNjaG9vbC4KCUtpbW15IGFsc28gZG9lcyBub3Qga25vdyB3aGF0IFJ5YW4gd2l0bmVzc2VkIGluc2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KCVNoZSBjYW4gYWN0IG9ubHkgb24gZXZpZGVuY2Ugc2hlIHBlcnNvbmFsbHkgZGlzY292ZXJzIG9yIGluZm9ybWF0aW9uCglzb21lb25lIGNob29zZXMgdG8gc2hhcmUgd2l0aCBoZXIuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CldoaWxlIEtldmluIFdpbmNoZXN0ZXIgd2FzIHRyeWluZyBub3QgdG8gbGlzdGVuIHRvIHRoZSB0aHJlZSBzbG93IGtub2NrcwppbnNpZGUgdGhlIGhhbGx3YXkgd2FsbCwgS2ltbXkgV2hpdG1vcmUgd2FzIHN0YW5kaW5nIG91dHNpZGUgdGhlIHNjaG9vbApsaWJyYXJ5IHdpdGggaGVyIHJlcG9ydGVyJiMzOTtzIGNhc2UgcHJlc3NlZCBhZ2FpbnN0IGhlciBzaWRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmVmb3JlIGZpcnN0IHBlcmlvZCBlbmRlZCwgS2ltbXkgaGFkIGNvbGxlY3RlZCB0aHJlZSBzdG9yaWVzOiBhIGN1c3RvZGlhbgpjYXJyaWVkIGludG8gdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UsIGEgYm95cyYjMzk7IGJhdGhyb29tIGNsb3NlZCB3aXRob3V0CmV4cGxhbmF0aW9uLCBhbmQgYSBjaGlsZCBpbiBvbGQtZmFzaGlvbmVkIGNsb3RoZXMgd2Fsa2luZyB0aHJvdWdoIHRoZQplbGVtZW50YXJ5LXNjaG9vbCBmZW5jZS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhyZWUgc3RvcmllcyBkaWQgbm90IG1ha2UgYSBmYWN0LiBUaGV5IGRpZCwgaG93ZXZlciwgbWFrZSBhIGxlYWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKUnVtb3JzIGJlY2FtZSB1c2VmdWwgb25seSBhZnRlciBzb21lb25lIGNoZWNrZWQgdGhlbS4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tPcGVuIEtpbW15JiMzOTtzIHJlcG9ydGVyJiMzOTtzIGNhc2UtJmd0O0tpbW15IE9wZW5zIFJlcG9ydGVyIENhc2VdXQombHQ7L2RpdiZndDsKCi8qIFY0LjMgYm91bmRhcnkgY2hlY2twb2ludCBjaGFwdGVyIDQgKi8KJmx0OyZsdDtydW4gc2V0dXAudjQzQ2FwdHVyZUJvdW5kYXJ5KDQsICZxdW90O0NoYXB0ZXIgNCBUcmFuc2l0aW9uJnF1b3Q7LCAxKSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLnY0NENhcHR1cmVDaGFwdGVyKDQsICZxdW90O0NoYXB0ZXIgNCBUcmFuc2l0aW9uJnF1b3Q7LCAxKSZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTgwIiBuYW1lPSJLaW1teSBPcGVucyBSZXBvcnRlciBDYXNlIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iOTI1LDc3NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRraW1teU9wZW5lZFJlcG9ydGVyQ2FzZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogT3V0c2lkZSB0aGUgTGlicmFyeSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDaG9vc2Ugd2hpY2ggbGVhZCBLaW1teSB3aWxsIGludmVzdGlnYXRlIGZpcnN0JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBtb3ZlZCB0byB0aGUgbmFycm93IHRhYmxlIGJlbmVhdGggdGhlIGxpYnJhcnkgd2luZG93cyBhbmQgcGxhY2VkIHRoZQpyZXBvcnRlciYjMzk7cyBjYXNlIGluIGZyb250IG9mIGhlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsZWF0aGVyIGhhZCB3b3JuIHNtb290aCBhcm91bmQgdGhlIGNsYXNwLiBLaW1teSBwcmVzc2VkIGl0IHdpdGggaGVyCnRodW1iLCBhbmQgdGhlIGNhc2Ugb3BlbmVkIHdpdGggYSBjbGVhbiwgc2F0aXNmeWluZyBzbmFwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW5zaWRlIHdlcmUgYSBzbWFsbCB3cml0aW5nIHBhZCwgdHdvIHNoYXJwZW5lZCBwZW5jaWxzLCBzZXZlcmFsIGZvbGRlZCBzY3JhcHMKb2YgcGFwZXIsIGFuZCBhIHllbGxvdyByaWJib24gdGhhdCBoYWQgYmVlbiB0dWNrZWQgYmVuZWF0aCB0aGUgcGFkIGxvbmcgYmVmb3JlCnRoZSBjYXNlIGJlbG9uZ2VkIHRvIEtpbW15LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZGlkIG5vdCBrbm93IHdoeSB0aGUgeWVsbG93IHJpYmJvbiB3YXMgdGhlcmUuIFNoZSBoYWQgc3RvcHBlZCB0cnlpbmcKdG8gcmVtb3ZlIGl0IGJlY2F1c2UgaXQgYWx3YXlzIHJldHVybmVkIGJlbmVhdGggdGhlIHBhZC4KJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Tm90IHJlbGV2YW50IHRvIHRoZSBjdXJyZW50IGludmVzdGlnYXRpb24uIFByb2JhYmx5LiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdyb3RlIHRocmVlIGhlYWRpbmdzOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TGVhZCBPbmU6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB1bmV4cGxhaW5lZCBjbG9zdXJlIG9mIHRoZSBib3lzJiMzOTsgYmF0aHJvb20uCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0xlYWQgVHdvOiZsdDsvc3Ryb25nJmd0OyBSZXBvcnRzIG9mIGFuIG9sZC1mYXNoaW9uZWQgY2hpbGQgbmVhciB0aGUKCWVsZW1lbnRhcnkgc2Nob29sLgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtMZWFkIFRocmVlOiZsdDsvc3Ryb25nJmd0OyBUaHJlZSBzbG93IGtub2NrcyBoZWFyZCBpbnNpZGUgYSBtaWRkbGUtc2Nob29sCgl3YWxsLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgYm95cyYjMzk7IGJhdGhyb29tIHdhcyBjbG9zZWQgYmVmb3JlIHRoZSBmaXJzdCBzY2hvb2wgZGF5IHByb3Blcmx5IGJlZ2FuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtBIGNoaWxkIGluIG9sZC1mYXNoaW9uZWQgY2xvdGhpbmcgd2FzIHJlcG9ydGVkbHkgc2VlbiBuZWFyIHRoZSBlbGVtZW50YXJ5IHNjaG9vbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7VGhyZWUgc2xvdyBrbm9ja3Mgd2VyZSByZXBvcnRlZGx5IGhlYXJkIGluc2lkZSBhIG1pZGRsZS1zY2hvb2wgd2FsbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teVNvdXJjZSgmcXVvdDtVbmNvbmZpcm1lZCBzdHVkZW50IHJlcG9ydHMmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGljaCBsZWFkIHNob3VsZCBLaW1teSBpbnZlc3RpZ2F0ZSBmaXJzdD8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7SW50ZXJ2aWV3IGEgc3R1ZGVudCB3aG8gY2xhaW1zIHRvIGtub3cgc29tZXRoaW5nIGFib3V0IHRoZSBiYXRocm9vbS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teUxlYWRSb3V0ZSA9ICZxdW90O2ludGVydmlldyZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2ltbXkgT3BlbnMgUmVwb3J0ZXIgQ2FzZToxOjQ5YTI1MTQ4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBPcGVucyBSZXBvcnRlciBDYXNlOjE6NDlhMjUxNDgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5pbnRlcnZpZXcgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBDaG9vc2VzIHRoZSBJbnRlcnZpZXcmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1NlYXJjaCBvbGQgc2Nob29sIHJlY29yZHMgZm9yIHNpbWlsYXIgaW5jaWRlbnRzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15TGVhZFJvdXRlID0gJnF1b3Q7YXJjaGl2ZXMmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IE9wZW5zIFJlcG9ydGVyIENhc2U6MjowODMyNzJkYiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgT3BlbnMgUmVwb3J0ZXIgQ2FzZToyOjA4MzI3MmRiJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gucmVzZWFyY2ggKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBDaG9vc2VzIHRoZSBBcmNoaXZlcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7RXhhbWluZSB0aGUgaGFsbHdheSB3aGVyZSB0aGUga25vY2tzIHdlcmUgcmVwb3J0ZWQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAka2ltbXlMZWFkUm91dGUgPSAmcXVvdDtoYWxsd2F5JnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBPcGVucyBSZXBvcnRlciBDYXNlOjM6MzY0NDEwNWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktpbW15IE9wZW5zIFJlcG9ydGVyIENhc2U6MzozNjQ0MTA1ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBDaG9vc2VzIHRoZSBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE4MSIgbmFtZT0iS2ltbXkgQ2hvb3NlcyB0aGUgSW50ZXJ2aWV3IiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iOTAwLDc2NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRraW1teUludGVydmlld2VkU3R1ZGVudCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogTGlicmFyeSBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ludGVydmlldyB0aGUgc3R1ZGVudCB3aG8gY2xhaW1zIHRvIGtub3cgYWJvdXQgdGhlIGJhdGhyb29tJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBjbG9zZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UgYW5kIGNhcnJpZWQgaXQgYmVuZWF0aCBvbmUgYXJtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU3R1ZGVudHMgbW92ZWQgdGhyb3VnaCB0aGUgaGFsbHdheSBpbiBjbHVzdGVycywgZXhjaGFuZ2luZyBzY2hlZHVsZXMsCmNvbXBsYWludHMsIGFuZCB2ZXJzaW9ucyBvZiB0aGUgbW9ybmluZyB0aGF0IGhhZCBhbHJlYWR5IGdyb3duIGxhcmdlciB3aXRoCmVhY2ggdGVsbGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBiYXRocm9vbSBzdG9yeSB3YXMgc3ByZWFkaW5nIGZhc3Rlc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpEZXBlbmRpbmcgb24gd2hvIHRvbGQgaXQsIHRoZSBjdXN0b2RpYW4gaGFkIGRpc2NvdmVyZWQgYSBicm9rZW4gcGlwZSwgYW4KZXNjYXBlZCBhbmltYWwsIGEgZmxvb2RlZCByb29tLCBhIGNoZW1pY2FsIHNwaWxsLCBvciBzb21ldGhpbmcgd2l0aCBlbm91Z2gKdGVldGggdG8gcmVxdWlyZSB0aHJlZSB0ZWFjaGVycyBhbmQgYSBmaXJlIGV4dGluZ3Vpc2hlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9ubHkgb25lIHN0dWRlbnQgY2xhaW1lZCB0byBoYXZlIGJlZW4gbmVhciB0aGUgYmF0aHJvb20gYmVmb3JlIGl0IHdhcyBjbG9zZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBmb3VuZCB0aGUgc3R1ZGVudCBzaXR0aW5nIGFsb25lIG9uIHRoZSBmbG9vciBiZXNpZGUgdGhlIGxpYnJhcnkgZG9vcnMuCkEgZGVudGVkIG1ldGFsIGx1bmNoIGJveCByZXN0ZWQgYWNyb3NzIHRoZSBzdHVkZW50JiMzOTtzIGtuZWVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBwYWludGVkIHR5cmFubm9zYXVydXMgb24gdGhlIGxpZCB3YXMgbWlzc2luZyBtb3N0IG9mIGl0cyB0ZWV0aC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGxvb2tlZCB1cCBhcyBLaW1teSBhcHByb2FjaGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SWYgeW91JiMzOTtyZSBnb2luZyB0byBhc2sgYWJvdXQgdGhlIGJhdGhyb29tLCZxdW90OyB0aGUgc3R1ZGVudCBzYWlkLCAmcXVvdDtJIGFscmVhZHkKdG9sZCBhIHRlYWNoZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBzYXQgYWNyb3NzIGZyb20gdGhlIHN0dWRlbnQsIGxlYXZpbmcgZW5vdWdoIHNwYWNlIHRoYXQgdGhlIGludGVydmlldwpkaWQgbm90IGZlZWwgbGlrZSBhbiBpbnRlcnJvZ2F0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSYjMzk7bSBub3QgYSB0ZWFjaGVyLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCYjMzk7cyB3aGF0IHRoZSBsYXN0IGtpZCBzYWlkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBoYXBwZW5lZCB0byB0aGUgbGFzdCBraWQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIHN0b3BwZWQgdGFsa2luZyB0byBoaW0uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBvcGVuZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCB3YXRjaGVkIHRoZSBwZW5jaWwgbW9yZSBjbG9zZWx5IHRoYW4gS2ltbXkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIEtpbW15IGJlZ2luIHRoZSBpbnRlcnZpZXc/Jmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB0aGUgc3R1ZGVudCB0byBkZXNjcmliZSBldmVyeXRoaW5nIGZyb20gdGhlIGJlZ2lubmluZy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IENob29zZXMgdGhlIEludGVydmlldzoxOjQ5YTI1MTQ4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBDaG9vc2VzIHRoZSBJbnRlcnZpZXc6MTo0OWEyNTE0OCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLmludGVydmlldyArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFJlcXVlc3RzIHRoZSBGdWxsIFN0b3J5JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCVtbUXVlc3Rpb24gdGhlIHN0dWRlbnQgd2l0bmVzcy0mZ3Q7S2ltbXkgSW50ZXJ2aWV3cyB0aGUgU3R1ZGVudF1dPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxODIiIG5hbWU9IktpbW15IFJlcXVlc3RzIHRoZSBGdWxsIFN0b3J5IiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTI1MCw3NDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SWRlbnRpZnkgd2hpY2ggcGFydHMgb2YgdGhlIGJhdGhyb29tIHN0b3J5IGFyZSBmaXJzdGhhbmQmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1N0YXJ0IGZyb20gdGhlIGJlZ2lubmluZywmcXVvdDsgS2ltbXkgc2FpZC4gJnF1b3Q7VGVsbCBtZSBldmVyeXRoaW5nIGV4YWN0bHkgYXMgaXQKaGFwcGVuZWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBnbGFuY2VkIHRvd2FyZCB0aGUgbGlicmFyeSBkb29ycy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgY2FtZSBpbiBlYXJseSBiZWNhdXNlIG15IG1vdGhlciBoYWQgdG8gd29yay4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdyb3RlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U291cmNlIHN0YXRlbWVudDombHQ7L3N0cm9uZyZndDsgVGhlIHdpdG5lc3MgZW50ZXJlZCB0aGUgc2Nob29sIGJlZm9yZQoJdGhlIGZpcnN0IGJlbGwuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgd2FzIHdhbGtpbmcgcGFzdCB0aGUgYm95cyYjMzk7IGJhdGhyb29tIHdoZW4gSSBoZWFyZCBzb21ldGhpbmcgaGl0IHRoZSB3YWxsLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBraW5kIG9mIHNvdW5kPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QSBiYW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgcmVjb25zaWRlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TW9yZSBsaWtlIGEgY3Jhc2guJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbm90aGVyIHBhdXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QWN0dWFsbHksIGl0IG1pZ2h0IGhhdmUgYmVlbiBzY3JhdGNoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgc3RvcHBlZCB3cml0aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhvc2Ugd2VyZSB0aHJlZSBkaWZmZXJlbnQgc291bmRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RGlkIHlvdSBoZWFyIGEgYmFuZywgYSBjcmFzaCwgb3Igc2NyYXRjaGluZz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FsbCBvZiB0aGVtLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SW4gd2hhdCBvcmRlcj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGxvb2tlZCBkb3duIGF0IHRoZSBsdW5jaCBib3guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGRvbiYjMzk7dCByZW1lbWJlci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgYW5zd2VyIHdhcyBtb3JlIHVzZWZ1bCB0aGFuIGFub3RoZXIgY29uZmlkZW50IGd1ZXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBoYXBwZW5lZCBuZXh0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGJhdGhyb29tIGRvb3Igb3BlbmVkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RGlkIHNvbWVvbmUgb3BlbiBpdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WW91IHNhdyBpdCBvcGVuIGJ5IGl0c2VsZj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGhlc2l0YXRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgc2F3IGl0IG1vdmluZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgd2FzIG5vdCB0aGUgc2FtZSBhbnN3ZXIuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtBIHN0dWRlbnQgaGVhcmQgc2V2ZXJhbCB1bmV4cGxhaW5lZCBzb3VuZHMgbmVhciB0aGUgYm95cyYjMzk7IGJhdGhyb29tJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15U291cmNlKCZxdW90O1N0dWRlbnQgd2l0bmVzcyBuZWFyIHRoZSBib3lzJiMzOTsgYmF0aHJvb20mcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLaW1teSBjbGFyaWZ5PyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2hldGhlciB0aGUgc3R1ZGVudCBzYXcgdGhlIGRvb3IgYmVnaW4gdG8gb3Blbi4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IFJlcXVlc3RzIHRoZSBGdWxsIFN0b3J5OjE6Y2IyODExNjEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktpbW15IFJlcXVlc3RzIHRoZSBGdWxsIFN0b3J5OjE6Y2IyODExNjEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC52ZXJpZnkgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBUZXN0cyB0aGUgRG9vciBDbGFpbSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoYXQgdGhlIHN0dWRlbnQgc2F3IGluc2lkZSB0aGUgYmF0aHJvb20uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBSZXF1ZXN0cyB0aGUgRnVsbCBTdG9yeToyOjQ5YTI1MTQ4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBSZXF1ZXN0cyB0aGUgRnVsbCBTdG9yeToyOjQ5YTI1MTQ4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2guaW50ZXJ2aWV3ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgQXNrcyBXaGF0IFdhcyBJbnNpZGUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aHkgdGhlIHN0dWRlbnQmIzM5O3Mgc3Rvcnkga2VlcHMgY2hhbmdpbmcuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBSZXF1ZXN0cyB0aGUgRnVsbCBTdG9yeTozOmExZmE2NGZlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBSZXF1ZXN0cyB0aGUgRnVsbCBTdG9yeTozOmExZmE2NGZlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgQ2hhbGxlbmdlcyB0aGUgV2l0bmVzcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxODMiIG5hbWU9IktpbW15IFNlcGFyYXRlcyBXaXRuZXNzIGZyb20gUnVtb3IiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIxMjAwLDc2MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtTZXBhcmF0ZSB0aGUgc3R1ZGVudCYjMzk7cyBvYnNlcnZhdGlvbnMgZnJvbSBpbmZvcm1hdGlvbiBoZWFyZCBsYXRlciZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7T25seSB0ZWxsIG1lIHdoYXQgeW91IHBlcnNvbmFsbHkgc2F3IG9yIGhlYXJkLCZxdW90OyBLaW1teSBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgZnJvd25lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgd2hhdCBJJiMzOTttIHRlbGxpbmcgeW91LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RGlkIHlvdSBwZXJzb25hbGx5IHNlZSB0aGUgY3VzdG9kaWFuIGluc2lkZSB0aGUgYmF0aHJvb20/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RpZCB5b3UgcGVyc29uYWxseSBzZWUgYW55dGhpbmcgZGFtYWdlZD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RGlkIHlvdSBzZWUgd2F0ZXI/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FuIGFuaW1hbD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGVldGg/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBsb29rZWQgb2ZmZW5kZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIG5ldmVyIHNhaWQgYW55dGhpbmcgYWJvdXQgdGVldGguJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGF0IHJlbW92ZWQgbW9zdCBvZiB0aGUgaGFsbHdheSYjMzk7cyBmYXZvcml0ZSB2ZXJzaW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBkaWQgeW91IHBlcnNvbmFsbHkgZXhwZXJpZW5jZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHBsYWNlZCBib3RoIGhhbmRzIG9uIHRoZSBsdW5jaCBib3guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGhlYXJkIHNvbWV0aGluZyBoaXQgdGhlIGJhdGhyb29tIHdhbGwuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGRpZCBpdCBzb3VuZCBsaWtlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TGlrZSBzb21lYm9keSBmYWxsaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgd3JvdGUgdGhlIHN0YXRlbWVudCB3aXRob3V0IGNoYW5naW5nIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlbiB3aGF0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGRvb3IgbW92ZWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtPcGVuZWQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOb3QgYWxsIHRoZSB3YXkuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXYXMgYW55b25lIHRvdWNoaW5nIGl0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSBjb3VsZG4mIzM5O3Qgc2VlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQW5vdGhlciB1c2VmdWwgYW5zd2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBlbHNlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgbG9va2VkIHRvd2FyZCB0aGUgZmFyIGVuZCBvZiB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBmbG9vciB3YXMgd2V0LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7T3V0c2lkZSB0aGUgYmF0aHJvb20/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBub2RkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGVyZSBkaWQgdGhlIHdhdGVyIGNvbWUgZnJvbT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IHdhc24mIzM5O3Qgd2F0ZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBkaWQgbm90IHdyaXRlIHRoYXQgeWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCB3YXMgaXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBydWJiZWQgb25lIHRodW1iIGFnYWluc3QgdGhlIGx1bmNoLWJveCBsYXRjaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O011ZCwgSSB0aGluay4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doeSBkaWRuJiMzOTt0IHlvdSBzYXkgdGhhdCBmaXJzdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0JlY2F1c2UgbXVkIGRvZXNuJiMzOTt0IGJlbG9uZyBvdXRzaWRlIGEgYmF0aHJvb20uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15U291cmNlKCZxdW90O1N0dWRlbnQgd2l0bmVzcyBuZWFyIHRoZSBib3lzJiMzOTsgYmF0aHJvb20mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O0Egc3R1ZGVudCBwZXJzb25hbGx5IGhlYXJkIGFuIGltcGFjdCBuZWFyIHRoZSBib3lzJiMzOTsgYmF0aHJvb20gYmVmb3JlIHRoZSBmaXJzdCBiZWxsJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtBIHN0dWRlbnQgcGVyc29uYWxseSBzYXcgZGFyayB3ZXQgbWF0ZXJpYWwgb3V0c2lkZSB0aGUgYmF0aHJvb20mcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtDb25maXJtZWQgd2l0bmVzcyBhY2NvdW50OiZsdDsvc3Ryb25nJmd0OyBCZWZvcmUgdGhlIGZpcnN0IGJlbGwsIGEgc3R1ZGVudAoJaGVhcmQgYW4gaW1wYWN0IG5lYXIgdGhlIGJveXMmIzM5OyBiYXRocm9vbSBhbmQgc2F3IGRhcmssIHdldCBtYXRlcmlhbCBvdXRzaWRlCgl0aGUgZG9vcndheS4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tBc2sgYWJvdXQgdGhlIGRhcmsgbWF0ZXJpYWwtJmd0O0tpbW15IEFza3MgQWJvdXQgdGhlIFdldCBUcmFpbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTg0IiBuYW1lPSJLaW1teSBBc2tzIEFib3V0IHRoZSBXZXQgVHJhaWwiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIxMzAwLDc4NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hlcmUgdGhlIGRhcmsgdHJhaWwgbGVkJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGVyZSBkaWQgdGhlIGRhcmsgbWF0ZXJpYWwgZ28/JnF1b3Q7IEtpbW15IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgcG9pbnRlZCBkb3duIHRoZSBoYWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VG93YXJkIHRoZSBtYWluIG9mZmljZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RpZCB5b3UgZm9sbG93IGl0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaHkgbm90PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QmVjYXVzZSBpdCBzdG9wcGVkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QXQgdGhlIG9mZmljZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0JlZm9yZSB0aGUgb2ZmaWNlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgZHJldyBhIGxpbmUgYWNyb3NzIHRoZSBkdXN0eSBmbG9vciB3aXRoIG9uZSBmaW5nZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBdCB0aGUgYnJhc3Mgc3RyaXAgdW5kZXIgdGhlIHByaW5jaXBhbCYjMzk7cyBkb29yLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgd3JvdGUgdGhlIHN0YXRlbWVudCB0d2ljZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uY2UgYXMgcmVwb3J0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmNlIGJlbmVhdGggYSBuZXcgaGVhZGluZzoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpQb3NzaWJsZSBib3VuZGFyeS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKU2hlIGRpZCBub3Qga25vdyB3aGF0IHRoZSBicmFzcyBzdHJpcCBtZWFudC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBkaWQga25vdyB0aGF0IG11ZCBzaG91bGQgbm90IHN0b3AgYXQgYSBzdHJpcCBvZiBtZXRhbCB1bmxlc3Mgc29tZW9uZQpjbGVhbmVkIGl0IG9yIHNvbWV0aGluZyBwcmV2ZW50ZWQgaXQgZnJvbSBjcm9zc2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dhcyBhbnlvbmUgaW4gdGhlIG9mZmljZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBzZWNyZXRhcnkuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGRpZCBzaGUgZG8/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTaGUgd2F0Y2hlZCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RpZCBzaGUgY2FsbCBmb3IgaGVscD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RGlkIHNoZSBzZWVtIHN1cnByaXNlZD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHNob29rIHRoZWlyIGhlYWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTaGUgc2FpZCBpdCBrbmV3IGJldHRlci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBkYXJrIHRyYWlsIHJlcG9ydGVkbHkgc3RvcHBlZCBhdCB0aGUgcHJpbmNpcGFsJiMzOTtzIGJyYXNzIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7VGhlIHNjaG9vbCBzZWNyZXRhcnkgbWF5IGhhdmUgZXhwZWN0ZWQgdGhlIHRyYWlsIHRvIHN0b3AgYXQgdGhlIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teVNvdXJjZSgmcXVvdDtTdHVkZW50IHdpdG5lc3MgbmVhciB0aGUgYm95cyYjMzk7IGJhdGhyb29tJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q29uZmlybWVkIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IERhcmsgd2V0IG1hdGVyaWFsIGZyb20gdGhlIGJhdGhyb29tCglyZXBvcnRlZGx5IHRyYXZlbGVkIHRvd2FyZCB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSBhbmQgc3RvcHBlZCBhdCBpdHMgYnJhc3MKCXRocmVzaG9sZC4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tGaW5pc2ggdGhlIGludGVydmlldy0mZ3Q7S2ltbXkgSW50ZXJ2aWV3IENvbmNsdXNpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE4NSIgbmFtZT0iS2ltbXkgUHJvdGVjdHMgdGhlIFdpdG5lc3MiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIxMDc1LDc1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtPYnRhaW4gdGhlIHdpdG5lc3MmIzM5O3MgYWNjb3VudCB3aXRob3V0IGlkZW50aWZ5aW5nIHRoZSBzb3VyY2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgd29uJiMzOTt0IHdyaXRlIHlvdXIgbmFtZSwmcXVvdDsgS2ltbXkgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50JiMzOTtzIHNob3VsZGVycyBsb3dlcmVkIHNsaWdodGx5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm90IGV2ZW4gaW5pdGlhbHM/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtObyBpbml0aWFscy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgYWJvdXQgd2hhdCBJIGxvb2sgbGlrZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vIGRlc2NyaXB0aW9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGx1bmNoIGJveD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxvb2tlZCBhdCB0aGUgcGFpbnRlZCBkaW5vc2F1ci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgd29uJiMzOTt0IG1lbnRpb24gdGhlIGx1bmNoIGJveC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHR1cm5lZCBpdCBhcm91bmQgc28gdGhlIGRpbm9zYXVyIGZhY2VkIHRoZSB3YWxsIGFueXdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgd2FzIG5lYXIgdGhlIGJhdGhyb29tIGJlZm9yZSB0aGUgZmlyc3QgYmVsbCwmcXVvdDsgdGhlIHN0dWRlbnQgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdyb3RlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkFub255bW91cyBzdHVkZW50IHNvdXJjZS4gUHJlc2VudCBiZWZvcmUgdGhlIGZpcnN0IGJlbGwuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgaGVhcmQgc29tZW9uZSBpbnNpZGUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTcGVha2luZz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Q3J5aW5nPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGRpZCB5b3UgaGVhcj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHRhcHBlZCB0aHJlZSBmaW5nZXJzIGFnYWluc3QgdGhlIG1ldGFsIGx1bmNoIGJveC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Cktub2NrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS25vY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLbm9jay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15JiMzOTtzIHBlbmNpbCBzdG9wcGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgc2xvdyBrbm9ja3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2FtZSBkZXRhaWwgaGFkIGFwcGVhcmVkIGluIGFub3RoZXIgaGFsbHdheSBzdG9yeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RpZCB0aGUgc291bmQgY29tZSBmcm9tIHRoZSBiYXRocm9vbSBkb29yPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgc2hvb2sgdGhlaXIgaGVhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0Zyb20gaW5zaWRlIHRoZSB3YWxsLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teVNvdXJjZSgmcXVvdDtQcm90ZWN0ZWQgc3R1ZGVudCB3aXRuZXNzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtBIHByb3RlY3RlZCBzdHVkZW50IHNvdXJjZSBoZWFyZCB0aHJlZSBzbG93IGtub2NrcyBpbnNpZGUgdGhlIHdhbGwgbmVhciB0aGUgYm95cyYjMzk7IGJhdGhyb29tJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgdGhyZWUga25vY2tzIG1heSBjb25uZWN0IHRoZSBiYXRocm9vbSB3aXRoIGFub3RoZXIgc2VjdGlvbiBvZiB0aGUgc2Nob29sJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q29ycm9ib3JhdGVkIGRldGFpbDombHQ7L3N0cm9uZyZndDsgQSBwcm90ZWN0ZWQgc291cmNlIGhlYXJkIHRocmVlIHNsb3cKCWtub2NrcyBpbnNpZGUgdGhlIHdhbGwgbmVhciB0aGUgYmF0aHJvb20uIEFub3RoZXIgcmVwb3J0IGRlc2NyaWJlZCB0aGUgc2FtZQoJcGF0dGVybiBlbHNld2hlcmUgaW4gdGhlIHNjaG9vbC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgdW5kZXJsaW5lZCB0aGUgbnVtYmVyIHRocmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHllbGxvdyByaWJib24gYmVuZWF0aCB0aGUgd3JpdGluZyBwYWQgc2hpZnRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9ubHkgc2xpZ2h0bHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBcyB0aG91Z2ggc29tZXRoaW5nIGJlbmVhdGggdGhlIHBhcGVyIGhhZCBwdWxsZWQgaXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0FzayB3aGF0IGhhcHBlbmVkIGFmdGVyIHRoZSBrbm9ja3MtJmd0O0tpbW15IEFza3MgV2hhdCBGb2xsb3dlZF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTg2IiBuYW1lPSJLaW1teSBBc2tzIFdoYXQgRm9sbG93ZWQiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIxMDc1LDc2MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDb21wbGV0ZSB0aGUgd2l0bmVzcyBhY2NvdW50JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGhhcHBlbmVkIGFmdGVyIHRoZSB0aHJlZSBrbm9ja3M/JnF1b3Q7IEtpbW15IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgbG9va2VkIGRvd24gYXQgdGhlIGx1bmNoLWJveCBsYXRjaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IG9wZW5lZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBiYXRocm9vbSBkb29yPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IG9wZW5lZD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHBvaW50ZWQgdG93YXJkIHRoZSB3YWxsIGJlaGluZCBLaW1teS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSB3YWxsLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZGlkIG5vdCB0dXJuIGFyb3VuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0Rlc2NyaWJlIHdoYXQgeW91IHNhdy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0EgbGluZSBhcHBlYXJlZCBiZXR3ZWVuIHRoZSBibG9ja3MuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMaWtlIGEgY3JhY2s/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMaWtlIGEgZG9vciBzb21lb25lIGhhZCBwYWludGVkIG92ZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IHdhcyBiZWhpbmQgaXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGRvbiYjMzk7dCBrbm93LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WW91IGRpZG4mIzM5O3QgbG9vaz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHNob29rIHRoZWlyIGhlYWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgc2VjcmV0YXJ5IHRvbGQgbWUgdG8gZ28gdG8gY2xhc3MuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXYXMgdGhlIHNlY3JldGFyeSBzdGFuZGluZyBuZWFyYnk/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZW4gaG93IGRpZCB5b3UgaGVhciBoZXI/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBsb29rZWQgYmVoaW5kIEtpbW15LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U2hlIHdhcyBzcGVha2luZyB0aHJvdWdoIHRoZSB3YWxsLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkmIzM5O3MgcGVuY2lsIHByZXNzZWQgaGFyZCBlbm91Z2ggdG8gdGVhciB0aGUgcGFwZXIuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtBIHdpdG5lc3MgY2xhaW1zIGEgc2VhbGVkIGxpbmUgYXBwZWFyZWQgaW4gdGhlIHdhbGwgYWZ0ZXIgdGhyZWUga25vY2tzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgd2l0bmVzcyBoZWFyZCB0aGUgc2Nob29sIHNlY3JldGFyeSBzcGVha2luZyB0aHJvdWdoIHRoZSB3YWxsJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VW52ZXJpZmllZCBjbGFpbTombHQ7L3N0cm9uZyZndDsgQWZ0ZXIgdGhyZWUga25vY2tzLCB0aGUgd2l0bmVzcyBzYXcgd2hhdAoJcmVzZW1ibGVkIGEgc2VhbGVkIGRvb3J3YXkgaW4gdGhlIHdhbGwgYW5kIGhlYXJkIHRoZSBzZWNyZXRhcnkmIzM5O3Mgdm9pY2UgZnJvbQoJYmVoaW5kIGl0LgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZpbmlzaCB0aGUgaW50ZXJ2aWV3LSZndDtLaW1teSBJbnRlcnZpZXcgQ29uY2x1c2lvbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTg3IiBuYW1lPSJLaW1teSBUZXN0cyB0aGUgRG9vciBDbGFpbSIgdGFncz0iYmctbGlicmFyeSIgcG9zaXRpb249IjcwMCw3NjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGJhdGhyb29tIGRvb3IgbW92ZWQgYnkgaXRzZWxmJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtEaWQgeW91IHNlZSB0aGUgZG9vciBiZWZvcmUgaXQgc3RhcnRlZCBtb3Zpbmc/JnF1b3Q7IEtpbW15IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgb3BlbmVkIHRoZWlyIG1vdXRoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiBjbG9zZWQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOby4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1NvIHlvdSBkaWQgbm90IHNlZSBpdCBiZWdpbiB0byBvcGVuLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3Ugc2F3IGl0IHdoaWxlIGl0IHdhcyBhbHJlYWR5IG1vdmluZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IG5vZGRlZCByZWx1Y3RhbnRseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0NvdWxkIHNvbWVvbmUgaGF2ZSBiZWVuIGJlaGluZCBpdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O01heWJlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Q291bGQgdGhlIGRvb3IgaGF2ZSBiZWVuIGNsb3NpbmcgaW5zdGVhZCBvZiBvcGVuaW5nPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQW5vdGhlciBwYXVzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O01heWJlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZHJldyBvbmUgbGluZSB0aHJvdWdoOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRoZSBiYXRocm9vbSBkb29yIG9wZW5lZCBieSBpdHNlbGYuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNoZSByZXBsYWNlZCBpdCB3aXRoOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VmVyaWZpZWQgd29yZGluZzombHQ7L3N0cm9uZyZndDsgVGhlIHdpdG5lc3Mgc2F3IHRoZSBiYXRocm9vbSBkb29yIG1vdmluZwoJYnV0IGRpZCBub3Qgc2VlIHdoYXQgY2F1c2VkIGl0IG9yIHdoaWNoIGRpcmVjdGlvbiBpdCBpbml0aWFsbHkgbW92ZWQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHdhdGNoZWQgdGhlIGNvcnJlY3Rpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3UmIzM5O3JlIG1ha2luZyB0aGUgc3RvcnkgbGVzcyBpbnRlcmVzdGluZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kmIzM5O20gbWFraW5nIGl0IGFjY3VyYXRlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm9ib2R5IGxpa2VzIGFjY3VyYXRlIHN0b3JpZXMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjbG9zZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UgaGFsZndheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FjY3VyYXRlIHN0b3JpZXMgYXJlIHRoZSBvbmx5IG9uZXMgd29ydGgga2VlcGluZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBiYXRocm9vbSBkb29yIG1vdmVkIGJlZm9yZSB0aGUgZmlyc3QgYmVsbCwgYnV0IHRoZSBjYXVzZSBhbmQgZGlyZWN0aW9uIHdlcmUgbm90IG9ic2VydmVkJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tBc2sgd2hhdCB3YXMgdmlzaWJsZSBpbnNpZGUgdGhlIGJhdGhyb29tLSZndDtLaW1teSBBc2tzIFdoYXQgV2FzIEluc2lkZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTg4IiBuYW1lPSJLaW1teSBBc2tzIFdoYXQgV2FzIEluc2lkZSIgdGFncz0iYmctbGlicmFyeSIgcG9zaXRpb249IjgwMCw3OTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoYXQgdGhlIHdpdG5lc3Mgc2F3IGJleW9uZCB0aGUgYmF0aHJvb20gZG9vcndheSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBkaWQgeW91IHNlZSBpbnNpZGU/JnF1b3Q7IEtpbW15IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgaW1tZWRpYXRlbHkgbG9va2VkIHRvd2FyZCB0aGUgbGlicmFyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vdGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgYW5zd2VyIGNhbWUgdG9vIHF1aWNrbHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOb3RoaW5nIGJlY2F1c2UgdGhlIHJvb20gd2FzIGVtcHR5PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOb3RoaW5nIGJlY2F1c2UgeW91IGNvdWxkIG5vdCBzZWUgaW5zaWRlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgZ3JpcHBlZCB0aGUgbHVuY2gtYm94IGhhbmRsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IHdhcyBkYXJrLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGxpZ2h0cyB3ZXJlIG9mZj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZXkgd2VyZSBvbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdhaXRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClBlb3BsZSB1c3VhbGx5IGZpbGxlZCBzaWxlbmNlIHdoZW4gdGhleSB3YW50ZWQgc2lsZW5jZSB0byBlbmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBsYXN0ZWQgc2l4IHNlY29uZHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgbGlnaHRzIHdlcmUgb24sJnF1b3Q7IHRoZSBzdHVkZW50IHJlcGVhdGVkLCAmcXVvdDtidXQgdGhlIGxpZ2h0IHN0b3BwZWQgYXQgdGhlCmRvb3IuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsb3dlcmVkIHRoZSBwZW5jaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTdG9wcGVkIGhvdz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0xpa2UgaXQgd2FzbiYjMzk7dCBhbGxvd2VkIGluc2lkZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgc291bmRlZCBsaWtlIGludGVycHJldGF0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBkaWQgeW91IGFjdHVhbGx5IHNlZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBoYWxsd2F5IGxpZ2h0IHJlYWNoZWQgdGhlIGRvb3J3YXkuIFRoZSBiYXRocm9vbSBzdGF5ZWQgZGFyay4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FueXRoaW5nIGVsc2U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBub2RkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTb21ldGhpbmcgd2V0IG1vdmVkIGFjcm9zcyB0aGUgZmxvb3IuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXYXRlcj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SG93IGRvIHlvdSBrbm93PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQgbW92ZWQgYWdhaW5zdCB0aGUgc2xvcGUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgYmF0aHJvb20gcmVtYWluZWQgZGFyayBhbHRob3VnaCB0aGUgaGFsbHdheSBsaWdodHMgd2VyZSBvbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7QSB3aXRuZXNzIHNhdyBkYXJrIHdldCBtYXRlcmlhbCBtb3ZlIGFnYWluc3QgdGhlIGZsb29yJiMzOTtzIHNsb3BlJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UGh5c2ljYWwgY29udHJhZGljdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIHdpdG5lc3MgcmVwb3J0ZWQgdGhhdCBkYXJrLAoJd2V0IG1hdGVyaWFsIG1vdmVkIGFjcm9zcyB0aGUgYmF0aHJvb20gZmxvb3IgYWdhaW5zdCB0aGUgbmF0dXJhbCBzbG9wZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tBc2sgd2hlcmUgdGhlIG1hdGVyaWFsIHdlbnQtJmd0O0tpbW15IEFza3MgQWJvdXQgdGhlIFdldCBUcmFpbF1dCiZsdDsvZGl2Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE4OSIgbmFtZT0iS2ltbXkgQ2hhbGxlbmdlcyB0aGUgV2l0bmVzcyIgdGFncz0iYmctbGlicmFyeSIgcG9zaXRpb249IjE1NTAsNzU1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgdGhlIHdpdG5lc3MgYWNjb3VudCBrZWVwcyBjaGFuZ2luZyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WW91JiMzOTt2ZSBkZXNjcmliZWQgYSBiYW5nLCBhIGNyYXNoLCBhbmQgc2NyYXRjaGluZywmcXVvdDsgS2ltbXkgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHN0YXJlZCBhdCB0aGUgbHVuY2ggYm94LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WW91IHNhaWQgdGhlIGRvb3Igb3BlbmVkIGJ5IGl0c2VsZi4gVGhlbiB5b3Ugc2FpZCB5b3Ugb25seSBzYXcgaXQgbW92aW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQmIzM5O3MgZmluZ2VycyB0aWdodGVuZWQgYXJvdW5kIHRoZSBoYW5kbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGljaCB2ZXJzaW9uIGlzIHRydWU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBbGwgb2YgdGhlbS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgbm90IHBvc3NpYmxlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQgaXMgd2hhdCBoYXBwZW5lZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdhaXRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGxvb2tlZCB0b3dhcmQgdGhlIGJhdGhyb29tIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgc291bmQgY2hhbmdlZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgZG8geW91IG1lYW4/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGVuIEkgd2FzIHN0YW5kaW5nIHRoZXJlLCBpdCBzb3VuZGVkIGxpa2UgYSBjcmFzaC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHN3YWxsb3dlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doZW4gSSB3YWxrZWQgYXdheSwgSSByZW1lbWJlcmVkIHNjcmF0Y2hpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBbmQgbm93PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgY2xvc2VkIHRoZWlyIGV5ZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtOb3cgaXQgc291bmRzIGxpa2Ugc29tZW9uZSBrbm9ja2luZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0hvdyBtYW55IGtub2Nrcz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50JiMzOTtzIGV5ZXMgb3BlbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhyZWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBkaWQgbm90IG1vdmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBzbG93IGtub2NrcyBoYWQgYWxyZWFkeSBhcHBlYXJlZCBpbiBhbm90aGVyIGFjY291bnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaW5jb25zaXN0ZW5jeSBtaWdodCBub3QgYmVsb25nIHRvIHRoZSB3aXRuZXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgbWlnaHQgYmVsb25nIHRvIHRoZSBldmVudC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O1RoZSB3aXRuZXNzJiMzOTtzIG1lbW9yeSBvZiB0aGUgYmF0aHJvb20gc291bmQgY2hhbmdlZCBvdmVyIHRpbWUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSB3aXRuZXNzIG5vdyByZW1lbWJlcnMgdGhyZWUga25vY2tzIG5lYXIgdGhlIGJhdGhyb29tJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TWVtb3J5IGRpc2NyZXBhbmN5OiZsdDsvc3Ryb25nJmd0OyBUaGUgd2l0bmVzcyByZW1lbWJlcnMgdGhlIHNhbWUgc291bmQgYXMKCWEgY3Jhc2gsIHNjcmF0Y2hpbmcsIGFuZCB0aHJlZSBrbm9ja3MgZGVwZW5kaW5nIG9uIHdoZW4gdGhlIGV2ZW50IGlzCglyZWNhbGxlZC4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tBc2sgd2hhdCBoYXBwZW5lZCBhZnRlciB0aGUgc291bmQgY2hhbmdlZC0mZ3Q7S2ltbXkgQXNrcyBXaGF0IEZvbGxvd2VkXV0KJmx0Oy9kaXYmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTkwIiBuYW1lPSJLaW1teSBJbnRlcnZpZXcgQ29uY2x1c2lvbiIgdGFncz0iYmctbGlicmFyeSIgcG9zaXRpb249IjEzMDAsNzk3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtpbW15UmVjb3JkZWRFdmlkZW5jZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogT3V0c2lkZSB0aGUgTGlicmFyeSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZWNpZGUgaG93IEtpbW15IHNob3VsZCBjbGFzc2lmeSB0aGUgd2l0bmVzcyBhY2NvdW50JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSByZXZpZXdlZCB0aGUgaW50ZXJ2aWV3LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZSBkZXRhaWxzIHJlbWFpbmVkIGNvbnNpc3RlbnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2l0bmVzcyBoYWQgYmVlbiBuZWFyIHRoZSBiYXRocm9vbSBiZWZvcmUgdGhlIGZpcnN0IGJlbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21ldGhpbmcgc3RydWNrIG9yIG1vdmVkIGluc2lkZSB0aGUgd2FsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkRhcmsgd2V0IG1hdGVyaWFsIGFwcGVhcmVkIG5lYXIgdGhlIGRvb3J3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbWF0ZXJpYWwgdHJhdmVsZWQgdG93YXJkIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGFjY291bnQgYmVjYW1lIGxlc3MgcmVsaWFibGUgd2hlbiB0aGUgc3R1ZGVudCBkZXNjcmliZWQgd2hhdCBjYXVzZWQKdGhvc2UgZXZlbnRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhhdCBkaWQgbm90IG1ha2UgdGhlIGVudGlyZSBzdG9yeSBmYWxzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IG1hZGUgZXZlcnkgY2xhaW0gcmVxdWlyZSBhIGxhYmVsLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLaW1teSBjbGFzc2lmeSB0aGUgaW50ZXJ2aWV3PyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtSZWNvcmQgb25seSB0aGUgZGV0YWlscyBzdXBwb3J0ZWQgYnkgZGlyZWN0IG9ic2VydmF0aW9uLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2ltbXkgSW50ZXJ2aWV3IENvbmNsdXNpb246MTpjYjI4MTE2MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgSW50ZXJ2aWV3IENvbmNsdXNpb246MTpjYjI4MTE2MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnZlcmlmeSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15VGhlb3J5ID0gJnF1b3Q7UGh5c2ljYWwgZXZpZGVuY2UgbWF0dGVycyBtb3JlIHRoYW4gaW50ZXJwcmV0YXRpb24mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgYmF0aHJvb20gaW5jaWRlbnQgcHJvZHVjZWQgYSBkYXJrIHRyYWlsIGxlYWRpbmcgdG93YXJkIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFJlY29yZHMgdGhlIEludGVydmlldyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UHJlc2VydmUgdGhlIHN0cmFuZ2UgY2xhaW1zIGFzIHVudmVyaWZpZWQgbGVhZHMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBJbnRlcnZpZXcgQ29uY2x1c2lvbjoyOjA4MzI3MmRiJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBJbnRlcnZpZXcgQ29uY2x1c2lvbjoyOjA4MzI3MmRiJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gucmVzZWFyY2ggKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teVRoZW9yeSA9ICZxdW90O1JlcGVhdGVkIGltcG9zc2libGUgY2xhaW1zIG1heSByZXZlYWwgYSBsYXJnZXIgcGF0dGVybiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGtpbW15VW52ZXJpZmllZC5wdXNoVW5pcXVlKCZxdW90O0EgaGlkZGVuIGRvb3J3YXkgbWF5IGV4aXN0IGluc2lkZSBhIHNjaG9vbCB3YWxsJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gJGtpbW15VW52ZXJpZmllZC5wdXNoVW5pcXVlKCZxdW90O1RoZSBzZWNyZXRhcnkgbWF5IGNvbW11bmljYXRlIHRocm91Z2ggdGhlIHNjaG9vbCB3YWxscyZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBSZWNvcmRzIHRoZSBJbnRlcnZpZXcmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1RyZWF0IHRoZSBjaGFuZ2luZyBtZW1vcnkgYXMgZXZpZGVuY2Ugb2YgaW50ZXJmZXJlbmNlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2ltbXkgSW50ZXJ2aWV3IENvbmNsdXNpb246MzozNjQ0MTA1ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgSW50ZXJ2aWV3IENvbmNsdXNpb246MzozNjQ0MTA1ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teVRoZW9yeSA9ICZxdW90O1RoZSBldmVudCBtYXkgYWx0ZXIgaG93IHdpdG5lc3NlcyByZW1lbWJlciBpdCZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O1RoZSBiYXRocm9vbSBpbmNpZGVudCBtYXkgYWx0ZXIgd2l0bmVzcyBtZW1vcnkmcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgUmVjb3JkcyB0aGUgSW50ZXJ2aWV3JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE5MSIgbmFtZT0iS2ltbXkgUmVjb3JkcyB0aGUgSW50ZXJ2aWV3IiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iOTAwLDgxMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtTZWFyY2ggZm9yIGV2aWRlbmNlIHRoYXQgY2FuIGNvbmZpcm0gdGhlIHdpdG5lc3MgYWNjb3VudCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgcGxhY2VkIGEgbGluZSBiZW5lYXRoIHRoZSBmaW5hbCBlbnRyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSB3cm90ZToKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1dvcmtpbmcgY29uY2x1c2lvbjombHQ7L3N0cm9uZyZndDsgJGtpbW15VGhlb3J5LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgaW50ZXJ2aWV3IGhhZCBwcm9kdWNlZCB1c2VmdWwgaW5mb3JtYXRpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBoYWQgbm90IHByb2R1Y2VkIHByb29mLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUHJvb2YgcmVxdWlyZWQgc29tZXRoaW5nIHRoYXQgZGlkIG5vdCBjaGFuZ2UgZGVwZW5kaW5nIG9uIHdobyByZW1lbWJlcmVkIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSByZWNvcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHBob3RvZ3JhcGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIG1hcmsgbGVmdCBpbiB3b29kIG9yIHN0b25lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZXRoaW5nIG9sZCBlbm91Z2ggdGhhdCB0aGUgbW9ybmluZyBjb3VsZCBub3QgaGF2ZSBpbnZlbnRlZCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGdsYW5jZWQgdGhyb3VnaCB0aGUgbGlicmFyeSB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCZXlvbmQgdGhlIGdsYXNzLCB0aGUgbGlicmFyaWFuIHdhcyByZXR1cm5pbmcgYm9va3MgdG8gYSBzaGVsZiBtYXJrZWQ6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKQlJFQ0tFTlJJREdFIEhJU1RPUlkgQU5EIE1VTklDSVBBTCBSRUNPUkRTCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSB5ZWxsb3cgcmliYm9uIGJlbmVhdGggS2ltbXkmIzM5O3Mgd3JpdGluZyBwYWQgc2hpZnRlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoaXMgdGltZSwgaXQgc2xpZCBoYWxmIGFuIGluY2ggZnJvbSB0aGUgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0cyBmYWRlZCBlbmQgcG9pbnRlZCB0b3dhcmQgdGhlIGxpYnJhcnkgZG9vcnMuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZvbGxvdyB0aGUgZXZpZGVuY2UgaW50byB0aGUgYXJjaGl2ZXMtJmd0O0tpbW15IENob29zZXMgdGhlIEFyY2hpdmVzXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxOTIiIG5hbWU9IktpbW15IENob29zZXMgdGhlIEFyY2hpdmVzIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iOTAwLDgyMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRraW1teVNlYXJjaGVkQXJjaGl2ZXMgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IExpYnJhcnkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7U2VhcmNoIHRoZSBzY2hvb2wgYXJjaGl2ZXMgZm9yIGV2aWRlbmNlIGNvbm5lY3RlZCB0byB0aGUgbW9ybmluZyYjMzk7cyByZXBvcnRzJnF1b3Q7Jmd0OyZndDsKCgombHQ7cCZndDtUaGUgbGlicmFyeSYjMzk7cyBhcmNoaXZlIHJvb20gc21lbGxlZCBvZiBkdXN0LCBwYXN0ZSwgYW5kIHBhcGVyIHRoYXQgaGFkIHNwZW50IGRlY2FkZXMgYWJzb3JiaW5nIHdoaXNwZXJlZCBjb252ZXJzYXRpb25zLiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtcDEgc3RhbmRhcmQgYmF0Y2gyIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2tpbW15X25vdGVib29rJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfa2ltbXlfbm90ZWJvb2sucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsKJmx0O3AmZ3Q7S2ltbXkgcHJlZmVycmVkIHJlY29yZHMgdG8gcnVtb3JzLiBSZWNvcmRzIGNvdWxkIHN0aWxsIGJlIHdyb25nLCBidXQgYXQgbGVhc3QgdGhleSB1c3VhbGx5IHN0YXllZCB3cm9uZyBpbiB0aGUgc2FtZSBwbGFjZS4mbHQ7L3AmZ3Q7CiZsdDtwJmd0OwpLaW1teSBlbnRlcmVkIHRoZSBsaWJyYXJ5IHdpdGggdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UgdHVja2VkIGJlbmVhdGggb25lIGFybS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByb29tIHNtZWxsZWQgb2YgcGFwZXIsIGZsb29yIHdheCwgYW5kIGR1c3Qgd2FybWVkIGJ5IHRoZSBtb3JuaW5nIHN1bi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJvd3Mgb2YgYm9va3Mgc3Rvb2QgYmVuZWF0aCB0YWxsIHdpbmRvd3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTdHVkZW50cyBvY2N1cGllZCBzZXZlcmFsIHRhYmxlcyBuZWFyIHRoZSBmcm9udCBkZXNrLCBidXQgdGhlIGJhY2sgY29ybmVyCnJlbWFpbmVkIGVtcHR5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhhdCB3YXMgd2hlcmUgdGhlIGxvY2FsLWhpc3Rvcnkgc2hlbHZlcyBiZWdhbi4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtpZiAka2ltbXlJbnRlcnZpZXdlZFN0dWRlbnQmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGludGVydmlldyBoYWQgZ2l2ZW4gS2ltbXkgc2V2ZXJhbCBjbGFpbXMuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhyZWUgc2xvdyBrbm9ja3MgaW5zaWRlIGEgd2FsbC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlEYXJrIG1hdGVyaWFsIG1vdmluZyB0b3dhcmQgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJQSB0cmFpbCBzdG9wcGluZyBhdCB0aGUgYnJhc3MgdGhyZXNob2xkLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCU5vbmUgb2YgdGhvc2UgZGV0YWlscyBxdWFsaWZpZWQgYXMgcHJvb2YuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJTm90IHlldC4KCSZsdDsvcCZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsKCSZsdDtwJmd0OwoJCUtpbW15IGhhZCB0aHJlZSBsZWFkcyBhbmQgbm8gcmVsaWFibGUgc291cmNlLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBiYXRocm9vbSBjbG9zdXJlLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBvbGQtZmFzaGlvbmVkIGNoaWxkLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRocmVlIHNsb3cga25vY2tzIGluc2lkZSBhIHNjaG9vbCB3YWxsLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBvbGRlc3QgcmVjb3JkcyBtaWdodCByZXZlYWwgd2hldGhlciBhbnkgb2YgdGhvc2Ugc3RvcmllcyBoYWQKCQloYXBwZW5lZCBiZWZvcmUuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBhcHByb2FjaGVkIHRoZSBsaWJyYXJpYW4mIzM5O3MgZGVzay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsaWJyYXJpYW4gc3RhbXBlZCBhIHJldHVybiBjYXJkIHdpdGhvdXQgbG9va2luZyB1cC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgeWVhciB3YXMgdGhlIHNjaG9vbCBidWlsdD8mcXVvdDsgS2ltbXkgYXNrZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3RhbXAgc3RvcHBlZCBhYm92ZSB0aGUgaW5rIHBhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doaWNoIHBhcnQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBoYWQgZXhwZWN0ZWQgYSBkYXRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGhhZCBub3QgZXhwZWN0ZWQgYSBxdWVzdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBtYWluIGJ1aWxkaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hpY2ggbWFpbiBidWlsZGluZz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsaWJyYXJpYW4gbG93ZXJlZCB0aGUgc3RhbXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3IgdGhlIGZpcnN0IHRpbWUsIHRoZSBsaWJyYXJpYW4gbG9va2VkIGRpcmVjdGx5IGF0IEtpbW15LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIHNjaG9vbCBoYXMgYmVlbiByZWJ1aWx0LCBleHBhbmRlZCwgcGFydGlhbGx5IGRlbW9saXNoZWQsIHJlbmFtZWQsIGFuZApyZWJ1aWx0IGFnYWluLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SG93IG1hbnkgdGltZXM/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtFbm91Z2ggdGhhdCBtb3N0IHBlb3BsZSBzdG9wcGVkIGFza2luZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgaGF2ZW4mIzM5O3QuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyaWFuJiMzOTtzIGV5ZXMgbW92ZWQgdG93YXJkIHRoZSB5ZWxsb3cgcmliYm9uIGJlbmVhdGggS2ltbXkmIzM5O3Mgd3JpdGluZwpwYWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyaWFuJiMzOTtzIGV4cHJlc3Npb24gY2hhbmdlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9ubHkgc2xpZ2h0bHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMb2NhbCByZWNvcmRzIGFyZSBpbiB0aGUgcmVhciBjYWJpbmV0LCZxdW90OyB0aGUgbGlicmFyaWFuIHNhaWQuICZxdW90O1llYXJib29rcyBhcmUKb24gdGhlIGJvdHRvbSBzaGVsZi4gQnVpbGRpbmcgcmVjb3JkcyBhcmUgaW4gdGhlIGdyYXkgZmlsZSBib3guJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBbmQgc2Nob29sIG5ld3NwYXBlcnM/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyaWFuIGdsYW5jZWQgYXQgdGhlIGNsb2NrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhvc2UgYXJlIG5vdCBvcmdhbml6ZWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBcmUgdGhleSBhdmFpbGFibGU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBdmFpbGFibGUgYW5kIHVzZWZ1bCBhcmUgbm90IHRoZSBzYW1lIHRoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hlcmUgc2hvdWxkIEtpbW15IGJlZ2luPyZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtpZiBub3QgJGtpbW15T3B0aW9uYWxGb3VuZCZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7b3B0aW9uYWwtaW52ZXN0aWdhdGlvbiZxdW90OyZndDsmbHQ7c3BhbiZndDtPcHRpb25hbCBpbnZlc3RpZ2F0aW9uJmx0Oy9zcGFuJmd0O1tbQ29tcGFyZSBoYW5kd3JpdGluZyBhY3Jvc3MgdGhlIG9sZGVzdCByZWNvcmRzLSZndDtLaW1teUhhbmR3cml0aW5nQ29tcGFyaXNvbl1dJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtTZWFyY2ggdGhlIG9sZGVzdCBzY2hvb2wgeWVhcmJvb2tzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2ltbXkgQ2hvb3NlcyB0aGUgQXJjaGl2ZXM6MTowODMyNzJkYiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgQ2hvb3NlcyB0aGUgQXJjaGl2ZXM6MTowODMyNzJkYiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnJlc2VhcmNoICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgU2VhcmNoZXMgdGhlIFllYXJib29rcyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7RXhhbWluZSB0aGUgYnVpbGRpbmcgcmVjb3JkcyBhbmQgb2xkIGZsb29yIHBsYW5zLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2ltbXkgQ2hvb3NlcyB0aGUgQXJjaGl2ZXM6MjpjYjI4MTE2MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgQ2hvb3NlcyB0aGUgQXJjaGl2ZXM6MjpjYjI4MTE2MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnZlcmlmeSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFNlYXJjaGVzIHRoZSBGbG9vciBQbGFucyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U29ydCB0aHJvdWdoIHRoZSB1bm9yZ2FuaXplZCBzY2hvb2wgbmV3c3BhcGVycy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IENob29zZXMgdGhlIEFyY2hpdmVzOjM6MzY0NDEwNWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktpbW15IENob29zZXMgdGhlIEFyY2hpdmVzOjM6MzY0NDEwNWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgU2VhcmNoZXMgdGhlIE5ld3NwYXBlcnMmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTkzIiBuYW1lPSJLaW1teSBTZWFyY2hlcyB0aGUgWWVhcmJvb2tzIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMzUwLDgxMjUiIHNpemU9IjEwMCwxMDAiPi8qIEI1LjIgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O2FyY2hpdmVGb2N1cyZxdW90OywgJnF1b3Q7eWVhcmJvb2tzJnF1b3Q7LCAmcXVvdDtLaW1teSBnYWlucyBpZGVudGl0eSBoaXN0b3J5LiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7U2VhcmNoIHRoZSBvbGRlc3QgeWVhcmJvb2tzIGZvciByZWN1cnJpbmcgcGVvcGxlLCBwbGFjZXMsIG9yIHN5bWJvbHMmcXVvdDsmZ3Q7Jmd0OwoKCiZsdDtwJmd0O1RoZSB5ZWFyYm9va3MgcmVzaXN0ZWQgYmVpbmcgb3BlbmVkLCB0aGVpciBiaW5kaW5ncyBzdGlmZiB3aXRoIGFnZS4gRHVzdCBsaWZ0ZWQgZnJvbSBlYWNoIHBhZ2UgYW5kIGdsaXR0ZXJlZCBpbiB0aGUgbGlnaHQgZnJvbSB0aGUgbmFycm93IGFyY2hpdmUgd2luZG93LiZsdDsvcCZndDsKJmx0O3AmZ3Q7CktpbW15IGNyb3VjaGVkIGJlc2lkZSB0aGUgYm90dG9tIHNoZWxmLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9sZGVzdCB5ZWFyYm9va3Mgd2VyZSBsYXJnZXIgdGhhbiB0aGUgbmV3ZXIgb25lcyBhbmQgYm91bmQgaW4gY2xvdGgKaW5zdGVhZCBvZiBnbG9zc3kgY2FyZGJvYXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTW9zdCBoYWQgY3JhY2tlZCBzcGluZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTZXZlcmFsIGhhZCBubyB0aXRsZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBzZWxlY3RlZCB0aGUgZWFybGllc3Qgdm9sdW1lIHdob3NlIHllYXIgcmVtYWluZWQgcmVhZGFibGUuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKQnJlY2tlbnJpZGdlIFNjaG9vbCwgMTkzOC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teVNvdXJjZSgmcXVvdDtCcmVja2VucmlkZ2UgU2Nob29sIHllYXJib29rIGZyb20gMTkzOCZxdW90OykmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBjb3ZlciByZXNpc3RlZCB3aGVuIHNoZSBvcGVuZWQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpEdXN0IHJvc2UgZnJvbSB0aGUgcGFnZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSB0dXJuZWQgcGFzdCBjbGFzcyBwaG90b2dyYXBocywgY2x1YnMsIGF0aGxldGljIHRlYW1zLCBhbmQgdGVhY2hlcnMKd2hvc2UgbmFtZXMgaGFkIGJlZW4gcHJpbnRlZCBpbiBjYXJlZnVsIGJsYWNrIHR5cGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTZXZlcmFsIHBhZ2VzIGhhZCBiZWVuIHJlbW92ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgdG9ybi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkN1dC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBlZGdlcyB3ZXJlIHRvbyBzdHJhaWdodCB0byBiZSBhY2NpZGVudGFsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgcmVjb3JkZWQgdGhlIG1pc3NpbmcgcGFnZSBudW1iZXJzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRWxldmVuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdlbHZlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhpcnRlZW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpQYWdlIGZvdXJ0ZWVuIHJlbWFpbmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBncm91cCBwaG90b2dyYXBoIG9jY3VwaWVkIG1vc3Qgb2YgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTdHVkZW50cyBzdG9vZCBpbiB0aHJlZSByb3dzIG91dHNpZGUgYW4gb2xkZXIgc2VjdGlvbiBvZiB0aGUgc2Nob29sLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGJ1aWxkaW5nIGJlaGluZCB0aGVtIGhhZCBuYXJyb3cgd2luZG93cyBhbmQgZGFyayBzdG9uZSBhcm91bmQgdGhlIGRvb3JzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbGVhbmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgZmFkZWQgc2l4LXBldGFsZWQgZmxvd2VyIGhhZCBiZWVuIGRyYXduIGluIGluayBuZWFyIHRoZSBib3R0b20gY29ybmVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1hcmsgYXBwZWFyZWQgdG9vIHByZWNpc2UgdG8gYmUgYW4gb3JkaW5hcnkgZG9vZGxlLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAka2ltbXlGb3VuZEhpc3RvcmljYWxTeW1ib2wgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O0Egc2l4LXBldGFsZWQgc3ltYm9sIGFwcGVhcnMgaW4gYSAxOTM4IHNjaG9vbCB5ZWFyYm9vayZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0hpc3RvcmljYWwgbGVhZDombHQ7L3N0cm9uZyZndDsgQSBzaXgtcGV0YWxlZCBzeW1ib2wgd2FzIGRyYXduIGJlc2lkZSBhCgkxOTM4IHBob3RvZ3JhcGggb2Ygc3R1ZGVudHMgc3RhbmRpbmcgb3V0c2lkZSBhbiBvbGRlciBzZWN0aW9uIG9mIHRoZQoJc2Nob29sLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBleGFtaW5lZCB0aGUgc3R1ZGVudHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3N0IHdvcmUgb3JkaW5hcnkgZXhwcmVzc2lvbnMgZm9yIGEgc2Nob29sIHBob3RvZ3JhcGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgc3R1ZGVudCBpbiB0aGUgYmFjayByb3cgZGlkIG5vdCBmYWNlIHRoZSBjYW1lcmEuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCYjMzk7cyBoZWFkIGhhZCBiZWVuIHR1cm5lZCB0b3dhcmQgYW4gdXBzdGFpcnMgd2luZG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZm9sbG93ZWQgdGhlIGRpcmVjdGlvbiBvZiB0aGUgc3R1ZGVudCYjMzk7cyBnYXplLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgcGFsZSBmaWd1cmVzIHN0b29kIGJlaGluZCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVpciBjbG90aGluZyBsb29rZWQgb2xkZXIgdGhhbiB0aGUgc3R1ZGVudHMgZ2F0aGVyZWQgb3V0c2lkZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBmaWd1cmUgcmVzdGVkIGEgaGFuZCBhZ2FpbnN0IHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgb3RoZXIgdHdvIHN0b29kIGJlaGluZCB0aGUgZmlyc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBicm91Z2h0IHRoZSB5ZWFyYm9vayBjbG9zZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGhvdG9ncmFwaCBibHVycmVkIG5lYXIgdGhlIHdpbmRvdywgYnV0IG9uZSBkZXRhaWwgcmVtYWluZWQgY2xlYXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHNtYWxsIGZsb3dlci1saWtlIG1hcmsgaGFkIGJlZW4gZHJhd24gb24gdGhlIGdsYXNzIGJldHdlZW4gdGhlIHRocmVlCmZpZ3VyZXMuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLaW1teSBleGFtaW5lIGZpcnN0PyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtDb21wYXJlIHRoZSB3aW5kb3cgc3ltYm9sIHdpdGggdGhlIG1hcmsgaW4gdGhlIGNvcm5lci4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IFNlYXJjaGVzIHRoZSBZZWFyYm9va3M6MTpjYjI4MTE2MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgU2VhcmNoZXMgdGhlIFllYXJib29rczoxOmNiMjgxMTYxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gudmVyaWZ5ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgQ29tcGFyZXMgdGhlIEhpc3RvcmljYWwgU3ltYm9scyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2VhcmNoIHRoZSB5ZWFyYm9vayBmb3IgdGhlIG5hbWVzIG9mIHRoZSB0aHJlZSBmaWd1cmVzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2ltbXkgU2VhcmNoZXMgdGhlIFllYXJib29rczoyOjA4MzI3MmRiJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBTZWFyY2hlcyB0aGUgWWVhcmJvb2tzOjI6MDgzMjcyZGImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5yZXNlYXJjaCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFNlYXJjaGVzIGZvciB0aGUgVGhyZWUgR2lybHMmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1JlY29yZCB0aGUgaW1hZ2UgYmVmb3JlIGhhbmRsaW5nIHRoZSB5ZWFyYm9vayBmdXJ0aGVyLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2ltbXkgU2VhcmNoZXMgdGhlIFllYXJib29rczozOjM2NDQxMDVmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBTZWFyY2hlcyB0aGUgWWVhcmJvb2tzOjM6MzY0NDEwNWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgQ29waWVzIHRoZSBZZWFyYm9vayBQaG90b2dyYXBoJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE5NCIgbmFtZT0iS2ltbXkgU2VhcmNoZXMgdGhlIEZsb29yIFBsYW5zIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTEyNSw4MjI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5kaXNjb3ZlckNsdWUoJnF1b3Q7c2VhbGVkLXBsYW4mcXVvdDssJnF1b3Q7VGhlIFNlYWxlZCBGbG9vciBQbGFuJnF1b3Q7LCZxdW90O0tpbW15JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZENhc2VGaWxlMigmcXVvdDtzZWFsZWQtcGxhbiZxdW90OywmcXVvdDtUaGUgU2VhbGVkIEZsb29yIFBsYW4mcXVvdDssJnF1b3Q7S2ltbXkmcXVvdDssJnF1b3Q7SGlzdG9yaWNhbGx5IGRvY3VtZW50ZWQmcXVvdDssJnF1b3Q7VGhlIG1vZGVybiBoYWxsd2F5IGRvZXMgbm90IG1hdGNoIHRoZSBhcmNoaXZlZCBwbGFuLiZxdW90OywmcXVvdDtXaG8gb3JkZXJlZCB0aGUgY29ycmlkb3IgaGlkZGVuPyZxdW90OykmZ3Q7Jmd0OwovKiBCNS4yIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDthcmNoaXZlRm9jdXMmcXVvdDssICZxdW90O3BsYW5zJnF1b3Q7LCAmcXVvdDtLaW1teSBnYWlucyBzdHJ1Y3R1cmFsIGV2aWRlbmNlLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Q29tcGFyZSB0aGUgc2Nob29sJiMzOTtzIG9sZGVyIGZsb29yIHBsYW5zIHdpdGggdGhlIGN1cnJlbnQgYnVpbGRpbmcmcXVvdDsmZ3Q7Jmd0OwoKCiZsdDtwJmd0O0tpbW15IHNwcmVhZCB0aGUgZmxvb3IgcGxhbnMgYWNyb3NzIHRoZSB0YWJsZSBhbmQgYW5jaG9yZWQgdGhlaXIgY3VybGluZyBjb3JuZXJzIHdpdGggeWVhcmJvb2tzLiBUaGUgc2Nob29sIG9uIHBhcGVyIGxvb2tlZCBvcmRlcmx5LiBUaGUgc2Nob29sIGFyb3VuZCBoZXIgaGFkIGFscmVhZHkgcHJvdmVuIG90aGVyd2lzZS4mbHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggcmlnaHQgdGlsdC1uMSBzdGFuZGFyZCBiYXRjaDIgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7cmV2aXNlZF9ibHVlcHJpbnQmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9yZXZpc2VkX2JsdWVwcmludC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIGxlZnQgdGlsdC1wMiB3aWRlIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2hpZGRlbl9mbG9vcl9wbGFuJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfaGlkZGVuX2Zsb29yX3BsYW4ucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsKJmx0O3AmZ3Q7ClRoZSBncmF5IGZpbGUgYm94IHNhdCBvbiB0aGUgbG93ZXN0IHNoZWxmIG9mIGEgc3RlZWwgY2FiaW5ldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHB1bGxlZCBpdCBmcmVlIGFuZCBjYXJyaWVkIGl0IHRvIHRoZSB0YWJsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBib3ggY29udGFpbmVkIHJlbm92YXRpb24gcGVybWl0cywgaW5zcGVjdGlvbiByZXBvcnRzLCBpbnN1cmFuY2UgZGlhZ3JhbXMsCmFuZCBzZXZlcmFsIGZsb29yIHBsYW5zIGZvbGRlZCBpbnRvIGJyaXR0bGUgc3F1YXJlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtb3N0IHJlY2VudCBwbGFuIG1hdGNoZWQgdGhlIHNjaG9vbCBLaW1teSBrbmV3LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTWFpbiBvZmZpY2UgbmVhciB0aGUgZnJvbnQgZW50cmFuY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpMaWJyYXJ5IGFsb25nIHRoZSBlYXN0ZXJuIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpHeW1uYXNpdW0gYW5kIGNhZmV0ZXJpYSBhZGRlZCBiZWhpbmQgdGhlIG9yaWdpbmFsIGNsYXNzcm9vbXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSB1bmZvbGRlZCBhbiBvbGRlciBwbGFuLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkJyZWNrZW5yaWRnZSBTY2hvb2wgQW5uZXgsIHJldmlzZWQgMTkzOC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teVNvdXJjZSgmcXVvdDtCcmVja2VucmlkZ2UgU2Nob29sIEFubmV4IGZsb29yIHBsYW4gcmV2aXNlZCBpbiAxOTM4JnF1b3Q7KSZndDsmZ3Q7CgombHQ7cCZndDsKVGhlIHBhcGVyIGhhZCB5ZWxsb3dlZCBhcm91bmQgdGhlIGZvbGRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBkYXJrIHN0YWluIG9ic2N1cmVkIHBhcnQgb2YgdGhlIGxvd2VyIGNvcm5lci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGFsaWduZWQgdGhlIG9sZCBwbGFuIGJlc2lkZSB0aGUgbW9kZXJuIG9uZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmcm9udCBvZmZpY2Ugb2NjdXBpZWQgdGhlIHNhbWUgYXBwcm94aW1hdGUgbG9jYXRpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGFsbHdheSBkaW1lbnNpb25zIGRpZCBub3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBY2NvcmRpbmcgdG8gdGhlIG9sZCBwbGFuLCBhIG5hcnJvdyBwYXNzYWdlIGNvbnRpbnVlZCBiZWhpbmQgdGhlIGJveXMmIzM5OwpiYXRocm9vbSBhbmQgdHVybmVkIHRvd2FyZCB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFjY29yZGluZyB0byB0aGUgbW9kZXJuIHBsYW4sIHRoYXQgc3BhY2UgZGlkIG5vdCBleGlzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IG1lYXN1cmVkIHRoZSBsaW5lcyB3aXRoIGhlciBwZW5jaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGFzc2FnZSB3YXMgdG9vIHdpZGUgdG8gYmUgYSB2ZW50aWxhdGlvbiBzaGFmdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRvbyBuYXJyb3cgdG8gYmUgYSBjbGFzc3Jvb20uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBjb25uZWN0ZWQgdGhlIGJhdGhyb29tIHdhbGwgd2l0aCB0aGUgb2ZmaWNlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtBIDE5MzggZmxvb3IgcGxhbiBzaG93cyBhIGhpZGRlbiBwYXNzYWdlIGNvbm5lY3RpbmcgdGhlIGJhdGhyb29tIGFyZWEgd2l0aCB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0NvbmZpcm1lZCBzdHJ1Y3R1cmFsIGV2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBBIDE5MzggZmxvb3IgcGxhbiBzaG93cyBhCgluYXJyb3cgcGFzc2FnZSBiZWhpbmQgdGhlIGJveXMmIzM5OyBiYXRocm9vbSBsZWFkaW5nIHRvd2FyZCB0aGUgcHJpbmNpcGFsJiMzOTtzCglvZmZpY2UuIFRoZSBwYXNzYWdlIGlzIGFic2VudCBmcm9tIHRoZSBtb2Rlcm4gZmxvb3IgcGxhbi4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O2lmICRraW1teUludGVydmlld2VkU3R1ZGVudCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlLaW1teSByZXZpZXdlZCB0aGUgd2l0bmVzcyBzdGF0ZW1lbnQuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhyZWUga25vY2tzIGluc2lkZSB0aGUgYmF0aHJvb20gd2FsbC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlBIHZvaWNlIGhlYXJkIHRocm91Z2ggdGhlIHdhbGwuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJQSB0cmFpbCBtb3ZpbmcgdG93YXJkIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBvbGQgcGFzc2FnZSBjb25uZWN0ZWQgYWxsIHRocmVlIGxvY2F0aW9ucy4KCSZsdDsvcCZndDsKCgkmbHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIHdpdG5lc3MgYWNjb3VudCBpcyBjb25zaXN0ZW50IHdpdGggdGhlIGxvY2F0aW9uIG9mIHRoZSBoaWRkZW4gcGFzc2FnZSZxdW90OykmZ3Q7Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJCSZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2UgY29ycm9ib3JhdGVkOiZsdDsvc3Ryb25nJmd0OyBUaGUgaGlzdG9yaWNhbCBmbG9vciBwbGFuIHN1cHBvcnRzCgkJcGFydHMgb2YgdGhlIHN0dWRlbnQmIzM5O3MgYWNjb3VudCBjb25jZXJuaW5nIHNvdW5kcyBhbmQgbW92ZW1lbnQgaW5zaWRlIHRoZQoJCXdhbGxzLgoJJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlTb21lb25lIGhhZCBpbnRlbnRpb25hbGx5IG9taXR0ZWQgdGhlIHBhc3NhZ2UgZnJvbSB0aGUgbGF0ZXIgcGxhbnMuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhhdCBkaWQgbm90IHByb3ZlIHRoZSBwYXNzYWdlIGhhZCBiZWVuIHNlYWxlZC4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlJdCBwcm92ZWQgc29tZW9uZSB3YW50ZWQgdGhlIGN1cnJlbnQgcmVjb3JkcyB0byBzYXkgaXQgd2FzIG5vIGxvbmdlcgoJCXRoZXJlLgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7cCZndDsKQSBoYW5kd3JpdHRlbiBub3RlIGFwcGVhcmVkIG5lYXIgdGhlIHBhc3NhZ2UgZW50cmFuY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaW5rIGhhZCBmYWRlZCB1bnRpbCBvbmx5IHRocmVlIHdvcmRzIHJlbWFpbmVkIGxlZ2libGU6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKS2VlcCBib3VuZGFyeSBpbnRhY3QuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CkEgc21hbGwgc2l4LXBldGFsZWQgc3ltYm9sIGhhZCBiZWVuIHN0YW1wZWQgYmVzaWRlIHRoZSB3YXJuaW5nLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAka2ltbXlGb3VuZEhpc3RvcmljYWxTeW1ib2wgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O1RoZSBoaWRkZW4gcGFzc2FnZSB3YXMgbWFya2VkIHdpdGggYSBzaXgtcGV0YWxlZCBzeW1ib2wgYW5kIGEgd2FybmluZyB0byBrZWVwIHRoZSBib3VuZGFyeSBpbnRhY3QmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLaW1teSBpbnZlc3RpZ2F0ZSBuZXh0PyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtGaW5kIG91dCB3aG8gYXBwcm92ZWQgdGhlIDE5MzggcmV2aXNpb24uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBTZWFyY2hlcyB0aGUgRmxvb3IgUGxhbnM6MTowODMyNzJkYiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgU2VhcmNoZXMgdGhlIEZsb29yIFBsYW5zOjE6MDgzMjcyZGImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5yZXNlYXJjaCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IEZpbmRzIHRoZSBSZXZpc2lvbiBTaWduYXR1cmUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0NvbXBhcmUgdGhlIGhpZGRlbiBwYXNzYWdlIHdpdGggdGhlIHdpdG5lc3MmIzM5O3MgZGVzY3JpcHRpb24uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBTZWFyY2hlcyB0aGUgRmxvb3IgUGxhbnM6MjpjYjI4MTE2MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgU2VhcmNoZXMgdGhlIEZsb29yIFBsYW5zOjI6Y2IyODExNjEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC52ZXJpZnkgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBDb25maXJtcyB0aGUgSGlkZGVuIFBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0V4YW1pbmUgdGhlIHNpeC1wZXRhbGVkIHN0YW1wIG1vcmUgY2xvc2VseS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IFNlYXJjaGVzIHRoZSBGbG9vciBQbGFuczozOjM2NDQxMDVmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBTZWFyY2hlcyB0aGUgRmxvb3IgUGxhbnM6MzozNjQ0MTA1ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBFeGFtaW5lcyB0aGUgQXJjaGl2ZSBIZXhhZm9pbCZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxOTUiIG5hbWU9IktpbW15IFNlYXJjaGVzIHRoZSBOZXdzcGFwZXJzIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iNTUwLDg0MjUiIHNpemU9IjEwMCwxMDAiPi8qIEI1LjIgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O2FyY2hpdmVGb2N1cyZxdW90OywgJnF1b3Q7bmV3c3BhcGVycyZxdW90OywgJnF1b3Q7S2ltbXkgZ2FpbnMgZG9jdW1lbnRlZCB3aXRuZXNzIGhpc3RvcnkuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtTZWFyY2ggb2xkIHNjaG9vbCBuZXdzcGFwZXJzIGZvciByZXBvcnRzIHJlc2VtYmxpbmcgdG9kYXkmIzM5O3MgaW5jaWRlbnRzJnF1b3Q7Jmd0OyZndDsKCgombHQ7cCZndDtUaGUgbmV3c3BhcGVyIGNsaXBwaW5ncyBoYWQgYmVlbiBjdXQgaW50byBjYXJlZnVsIHJlY3RhbmdsZXMsIGJ1dCBzZXZlcmFsIGVuZGVkIGluIHRoZSBtaWRkbGUgb2YgYSBzZW50ZW5jZS4gU29tZW9uZSBoYWQgcHJlc2VydmVkIHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBzdG9yeSBhbmQgcmVtb3ZlZCB3aGF0ZXZlciBjYW1lIG5leHQuJmx0Oy9wJmd0OwombHQ7cCZndDsKVGhlIHNjaG9vbCBuZXdzcGFwZXJzIG9jY3VwaWVkIHRocmVlIGNhcmRib2FyZCBib3hlcyBiZW5lYXRoIHRoZSBhcmNoaXZlCnRhYmxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm9uZSB3ZXJlIG9yZ2FuaXplZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWUgaGFkIGRhdGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT3RoZXJzIGhhZCBwYXJ0aWFsIGRhdGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2V2ZXJhbCBoYWQgYmVlbiBmb2xkZWQgYXJvdW5kIGFubm91bmNlbWVudHMsIHBob3RvZ3JhcGhzLCBoYW5kd3JpdHRlbiBub3RlcywKYW5kIG9iamVjdHMgdGhhdCBubyBsb25nZXIgc2VlbWVkIGNvbm5lY3RlZCB0byB0aGUgbmV3c3BhcGVyIGNvbnRhaW5pbmcgdGhlbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHNvcnRlZCB0aGUgcGFwZXJzIGludG8gcGlsZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCZWZvcmUgMTk0MC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CjE5NDAgdGhyb3VnaCAxOTYwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQWZ0ZXIgMTk2MC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClVuZGF0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdW5kYXRlZCBwaWxlIHdhcyB0aGUgbGFyZ2VzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBhbmQgYmVnYW4gcmVjb3JkaW5nIGhlYWRsaW5lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck1vc3Qgd2VyZSBvcmRpbmFyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjaG9vbCBlbGVjdGlvbiByZXN1bHRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmFzZWJhbGwgc2NvcmVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRnVuZHJhaXNlcnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGNhZmV0ZXJpYSBwZXRpdGlvbiBkZW1hbmRpbmcgdGhhdCB0aGUgbWVhdGxvYWYgYmUgaWRlbnRpZmllZCBiZWZvcmUgaXQgd2FzCnNlcnZlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gS2ltbXkgZm91bmQgYSBuYXJyb3cgY2xpcHBpbmcgdHVja2VkIGluc2lkZSBhIDE5MzggaXNzdWUuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKTE9XRVIgQ09SUklET1IgQ0xPU0VEIEFGVEVSIE1PUk5JTkcgSU5DSURFTlQKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teVNvdXJjZSgmcXVvdDtCcmVja2VucmlkZ2UgU2Nob29sIG5ld3NwYXBlciBjbGlwcGluZyBmcm9tIDE5MzgmcXVvdDspJmd0OyZndDsKCiZsdDtwJmd0OwpUaGUgYXJ0aWNsZSB3YXMgb25seSBmb3VyIHBhcmFncmFwaHMgbG9uZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHJlcG9ydGVkIHRoYXQgYSBsb3dlciBjb3JyaWRvciBoYWQgYmVlbiB0ZW1wb3JhcmlseSBjbG9zZWQgZm9sbG93aW5nIGFuCmluY2lkZW50IGJlZm9yZSB0aGUgc2Nob29sIGRheSBiZWdhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vIGNhdXNlIHdhcyBsaXN0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpObyBpbmp1cmllcyB3ZXJlIGFja25vd2xlZGdlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaW5hbCBzZW50ZW5jZSBzdGF0ZWQ6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBcmNoaXZlZCBzdGF0ZW1lbnQ6Jmx0Oy9zdHJvbmcmZ3Q7IFN0dWRlbnRzIGFyZSByZW1pbmRlZCB0byB1c2UgZGVzaWduYXRlZAoJZW50cmFuY2VzIGFuZCBlbnRlciByZXN0cmljdGVkIGFyZWFzIG9ubHkgd2hlbiBwZXJtaXNzaW9uIGhhcyBiZWVuIGdyYW50ZWQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHJlYWQgdGhlIHNlbnRlbmNlIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdvcmRpbmcgcmVzZW1ibGVkIGEgc2Nob29sIHJ1bGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBkaWQgbm90IGV4cGxhaW4gd2h5IHRoZSBjb3JyaWRvciBoYWQgYmVlbiBjbG9zZWQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtBIDE5Mzggc2Nob29sIGFydGljbGUgaW5zdHJ1Y3RlZCBzdHVkZW50cyB0byB1c2UgZGVzaWduYXRlZCBlbnRyYW5jZXMgYW5kIG9idGFpbiBwZXJtaXNzaW9uIGJlZm9yZSBlbnRlcmluZyByZXN0cmljdGVkIGFyZWFzJnF1b3Q7KSZndDsmZ3Q7CgombHQ7cCZndDsKU29tZW9uZSBoYWQgY2lyY2xlZCB0aGUgd29yZCBwZXJtaXNzaW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmVzaWRlIGl0LCBpbiBmYWRlZCBwZW5jaWwsIGEgcmVhZGVyIGhhZCB3cml0dGVuOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClBlcm1pc3Npb24gZnJvbSB3aG9tPwombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpCZWxvdyB0aGUgcXVlc3Rpb24gd2FzIGEgc21hbGwgc2l4LXBldGFsZWQgZmxvd2VyLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAka2ltbXlGb3VuZEhpc3RvcmljYWxTeW1ib2wgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O0Egc2l4LXBldGFsZWQgc3ltYm9sIGFwcGVhcnMgYmVzaWRlIGEgMTkzOCB3YXJuaW5nIGFib3V0IHBlcm1pc3Npb24gYW5kIHJlc3RyaWN0ZWQgYXJlYXMmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLaW1teSBleGFtaW5lPyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtTZWFyY2ggZm9yIGZvbGxvdy11cCBhcnRpY2xlcyBhYm91dCB0aGUgY2xvc2VkIGNvcnJpZG9yLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2ltbXkgU2VhcmNoZXMgdGhlIE5ld3NwYXBlcnM6MTowODMyNzJkYiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgU2VhcmNoZXMgdGhlIE5ld3NwYXBlcnM6MTowODMyNzJkYiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLnJlc2VhcmNoICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgRmluZHMgdGhlIE1pc3NpbmcgRm9sbG93IFVwJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtDb21wYXJlIHRoZSB3YXJuaW5nIHdpdGggY3VycmVudCBzY2hvb2wgcnVsZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBTZWFyY2hlcyB0aGUgTmV3c3BhcGVyczoyOmNiMjgxMTYxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBTZWFyY2hlcyB0aGUgTmV3c3BhcGVyczoyOmNiMjgxMTYxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gudmVyaWZ5ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgQ29tcGFyZXMgdGhlIFBlcm1pc3Npb24gUnVsZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7RXhhbWluZSB0aGUgaGFuZHdyaXR0ZW4gcXVlc3Rpb24gYW5kIHN5bWJvbC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IFNlYXJjaGVzIHRoZSBOZXdzcGFwZXJzOjM6MzY0NDEwNWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktpbW15IFNlYXJjaGVzIHRoZSBOZXdzcGFwZXJzOjM6MzY0NDEwNWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgRXhhbWluZXMgdGhlIEFyY2hpdmUgSGV4YWZvaWwmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTk2IiBuYW1lPSJLaW1teSBDb21wYXJlcyB0aGUgSGlzdG9yaWNhbCBTeW1ib2xzIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iNTUwLDgwNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciB0aGUgdHdvIHN5bWJvbHMgaW4gdGhlIHllYXJib29rIG1hdGNoJnF1b3Q7Jmd0OyZndDsKCgombHQ7cCZndDtLaW1teSBsYWlkIHRoZSBjb3BpZWQgc3ltYm9scyBzaWRlIGJ5IHNpZGUuIFNpbWlsYXIgd2FzIG5vdCB0aGUgc2FtZSwgYW5kIGNsb3NlIGVub3VnaCB3YXMgaG93IGJhZCB0aGVvcmllcyB0dXJuZWQgaW50byBzY2hvb2wgbGVnZW5kcy4mbHQ7L3AmZ3Q7CiZsdDtwJmd0OwpLaW1teSBwbGFjZWQgYSB0aGluIHNoZWV0IG9mIHBhcGVyIG92ZXIgdGhlIHN5bWJvbCBkcmF3biBiZXNpZGUgdGhlCnBob3RvZ3JhcGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgdHJhY2VkIHRoZSBjaXJjbGUgYW5kIHNpeCBjdXJ2ZWQgZGl2aXNpb25zLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiBzaGUgbW92ZWQgdGhlIHRyYWNpbmcgb3ZlciB0aGUgbWFyayB2aXNpYmxlIGluIHRoZSB1cHN0YWlycyB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGluZXMgbWF0Y2hlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdCBhcHByb3hpbWF0ZWx5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRXhhY3RseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkVhY2ggcGV0YWwgY3VydmVkIGF0IHRoZSBzYW1lIGFuZ2xlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNhbWUgcGV0YWwgY29udGFpbmVkIGEgbmFycm93IGJyZWFrIG5lYXIgaXRzIG91dGVyIGVkZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2FtZSB0d28gc2hvcnQgc2NyYXRjaGVzIGFwcGVhcmVkIGJlbmVhdGggaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBhZGp1c3RlZCB0aGUgcGFwZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2NyYXRjaGVzIGZvcm1lZCBhIFJvbWFuIG51bWVyYWwuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKSUkuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSB0d28gaGV4YWZvaWxzIGluIHRoZSAxOTM4IHllYXJib29rIG1hdGNoIGV4YWN0bHkmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBoaXN0b3JpY2FsIGhleGFmb2lsIGluY2x1ZGVzIHRoZSBSb21hbiBudW1lcmFsIElJJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q29uZmlybWVkIGhpc3RvcmljYWwgc3ltYm9sOiZsdDsvc3Ryb25nJmd0OyBUaGUgaGV4YWZvaWwgZHJhd24gYmVzaWRlIHRoZQoJcGhvdG9ncmFwaCBleGFjdGx5IG1hdGNoZXMgdGhlIHN5bWJvbCB2aXNpYmxlIGluIHRoZSB3aW5kb3cuIEJvdGggaW5jbHVkZQoJdGhlIFJvbWFuIG51bWVyYWwgSUkuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNvcGllZCB0aGUgc3ltYm9sIGludG8gaGVyIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBZnRlciBzaGUgZmluaXNoZWQsIHNoZSBsb29rZWQgYmFjayBhdCB0aGUgcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtYXJrIGluIHRoZSB3aW5kb3cgbm8gbG9uZ2VyIGNvbnRhaW5lZCB0d28gbGluZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBjb250YWluZWQgdGhyZWUuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NoZWNrIHdoZXRoZXIgdGhlIHBob3RvZ3JhcGggaGFzIGNoYW5nZWQtJmd0O0tpbW15IFZlcmlmaWVzIHRoZSBDaGFuZ2VkIFBob3RvZ3JhcGhdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjE5NyIgbmFtZT0iS2ltbXkgVmVyaWZpZXMgdGhlIENoYW5nZWQgUGhvdG9ncmFwaCIgdGFncz0iYmctbGlicmFyeSIgcG9zaXRpb249IjYwMCw4Mjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2ltbXlOb3RpY2VkQ2hhbmdlZFBob3RvZ3JhcGggPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1ZlcmlmeSB0aGF0IHRoZSBoaXN0b3JpY2FsIHBob3RvZ3JhcGggY2hhbmdlZCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY29tcGFyZWQgdGhlIHBob3RvZ3JhcGggd2l0aCBoZXIgd3JpdHRlbiBub3Rlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBub3RlcyByZWNvcmRlZCB0aGUgb3JpZ2luYWwgZGV0YWlscy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIGZpZ3VyZXMgaW4gdGhlIHdpbmRvdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgaGV4YWZvaWwgbWFya2VkIElJLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG5hbWUgTHVjaWxsZSBpbiB0aGUgY2FwdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjdXJyZW50IHBob3RvZ3JhcGggc2hvd2VkIHNvbWV0aGluZyBkaWZmZXJlbnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgZmlndXJlIGhhZCBtb3ZlZCBjbG9zZXIgdG8gdGhlIGdsYXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN5bWJvbCBub3cgY29udGFpbmVkIHRocmVlIGxpbmVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNhcHRpb24gcmVhZCBMdWN5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgaW5kZXBlbmRlbnQgZGV0YWlscyBoYWQgY2hhbmdlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNoZWNrZWQgdGhlIGluayBpbiBoZXIgbm90ZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpEcnkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgY2hlY2tlZCB0aGUgcHJpbnRlZCB5ZWFyYm9vayBjYXB0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRHJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNoYW5nZSB3YXMgbm90IGNhdXNlZCBieSB3ZXQgaW5rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIG5vdCBhIHByaW50aW5nIGVycm9yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIG5vdCBtZW1vcnkuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgaGlzdG9yaWNhbCBwaG90b2dyYXBoIGNoYW5nZWQgaW4gdGhyZWUgaW5kZXBlbmRlbnRseSByZWNvcmRlZCB3YXlzJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7VmVyaWZpZWQgaW1wb3NzaWJsZSBldmVudDombHQ7L3N0cm9uZyZndDsgS2ltbXkmIzM5O3Mgbm90ZXMgY29uZmlybSB0aGF0IHRoZQoJcGhvdG9ncmFwaCBjaGFuZ2VkIHRoZSBmaWd1cmVzJiMzOTsgcG9zaXRpb25zLCB0aGUgbnVtZXJhbCBpbnNpZGUgdGhlIHN5bWJvbCwKCWFuZCB0aGUgbmFtZSBwcmludGVkIGluIHRoZSBjYXB0aW9uLgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0RldGVybWluZSB3aGF0IHRoZSBwaG90b2dyYXBoIGlzIHRyeWluZyB0byByZXZlYWwtJmd0O0tpbW15IEFyY2hpdmUgUmV2ZWxhdGlvbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMTk4IiBuYW1lPSJLaW1teSBTZWFyY2hlcyBmb3IgdGhlIFRocmVlIEdpcmxzIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTAyNSw4NDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SWRlbnRpZnkgdGhlIHRocmVlIGZpZ3VyZXMgaW4gdGhlIHllYXJib29rIHBob3RvZ3JhcGgmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHNlYXJjaGVkIHRoZSB5ZWFyYm9vayYjMzk7cyBzdHVkZW50IGluZGV4LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGNoZWNrZWQgZXZlcnkgbGlzdGVkIG5hbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpObyBlbnRyeSBpZGVudGlmaWVkIHRoZSB0aHJlZSBmaWd1cmVzIGluIHRoZSB1cHN0YWlycyB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgcmV0dXJuZWQgdG8gdGhlIHBob3RvZ3JhcGggYW5kIGV4YW1pbmVkIHRoZSBzdHVkZW50cyBzdGFuZGluZyBvdXRzaWRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNhcHRpb24gbGlzdGVkIHR3ZW50eS1laWdodCBuYW1lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNvdW50ZWQgdGhlIHN0dWRlbnRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdlbnR5LWZpdmUgc3Rvb2Qgb3V0c2lkZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIHJlbWFpbmVkIGluIHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY2FwdGlvbiBpbmNsdWRlZCBhbGwgdHdlbnR5LWVpZ2h0IG5hbWVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZW9uZSBoYWQgY291bnRlZCB0aGUgZmlndXJlcyBpbnNpZGUgdGhlIGJ1aWxkaW5nIGFzIHBhcnQgb2YgdGhlIGdyb3VwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY29tcGFyZWQgdGhlIGNhcHRpb24gd2l0aCB0aGUgaW5kZXguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBuYW1lcyBhcHBlYXJlZCBpbiB0aGUgY2FwdGlvbiBidXQgbm93aGVyZSBlbHNlIGluIHRoZSB5ZWFyYm9vazoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpMdWNpbGxlIFZhbGUmbHQ7YnImZ3Q7Ck1hcmlhbiBWYWxlJmx0O2JyJmd0OwpFbGVhbm9yIFZhbGUKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHNoYXJlZCBzdXJuYW1lIGNvdWxkIG1lYW4gc2lzdGVycy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGNvdWxkIGFsc28gbWVhbiBjb3VzaW5zLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgd3JvdGUgbmVpdGhlciBjb25jbHVzaW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIHJlY29yZGVkIG9ubHkgd2hhdCB0aGUgeWVhcmJvb2sgc3VwcG9ydGVkLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhyZWUgc3R1ZGVudHMgbmFtZWQgTHVjaWxsZSwgTWFyaWFuLCBhbmQgRWxlYW5vciBWYWxlIGFwcGVhciBvbmx5IGluIGEgMTkzOCBncm91cCBjYXB0aW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgdGhyZWUgdW5pZGVudGlmaWVkIHdpbmRvdyBmaWd1cmVzIG1heSBjb3JyZXNwb25kIHdpdGggdGhlIHRocmVlIFZhbGUgbmFtZXMmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbnJlc29sdmVkIGlkZW50aXRpZXM6Jmx0Oy9zdHJvbmcmZ3Q7IFRocmVlIG5hbWVzIGFwcGVhciBpbiB0aGUgcGhvdG9ncmFwaAoJY2FwdGlvbiBidXQgbm93aGVyZSBlbHNlIGluIHRoZSB5ZWFyYm9vay4gVGhlIHBob3RvZ3JhcGggY29udGFpbnMgdGhyZWUKCXVuaWRlbnRpZmllZCBmaWd1cmVzIGluc2lkZSB0aGUgc2Nob29sLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSByZXR1cm5lZCB0byB0aGUgY2FwdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaXJzdCBuYW1lIGhhZCBjaGFuZ2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgbm8gbG9uZ2VyIHJlYWQgTHVjaWxsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHJlYWQgTHVjeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHN0YXJlZCBhdCB0aGUgaW5rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxldHRlcnMgd2VyZSBwcmludGVkIGluIHRoZSBzYW1lIHR5cGVmYWNlIGFzIHRoZSByZXN0IG9mIHRoZSBjYXB0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGNoZWNrZWQgaGVyIG5vdGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGhhZCB3cml0dGVuIEx1Y2lsbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgZGlkIG5vdCBjcm9zcyBpdCBvdXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1JlY29yZCBib3RoIHZlcnNpb25zIG9mIHRoZSBuYW1lLSZndDtLaW1teSBWZXJpZmllcyB0aGUgQ2hhbmdlZCBQaG90b2dyYXBoXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIxOTkiIG5hbWU9IktpbW15IENvcGllcyB0aGUgWWVhcmJvb2sgUGhvdG9ncmFwaCIgdGFncz0iYmctbGlicmFyeSIgcG9zaXRpb249Ijc3NSw4Mjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Q3JlYXRlIGFuIGluZGVwZW5kZW50IHJlY29yZCBvZiB0aGUgeWVhcmJvb2sgcGhvdG9ncmFwaCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgb3BlbmVkIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlIHRvIGEgY2xlYW4gcGFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBjb3BpZWQgdGhlIHBob3RvZ3JhcGgmIzM5O3MgaW1wb3J0YW50IGRldGFpbHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUd2VudHktZml2ZSBzdHVkZW50cyBvdXRzaWRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgZmlndXJlcyBpbiBhbiB1cHN0YWlycyB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHNpeC1wZXRhbGVkIHN5bWJvbCBvbiB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIG1hdGNoaW5nIHN5bWJvbCBkcmF3biBuZWFyIHRoZSBwaG90b2dyYXBoJiMzOTtzIGxvd2VyIGNvcm5lci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBjb3BpZWQgdGhlIGNhcHRpb24gZXhhY3RseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gc2hlIGRyZXcgc21hbGwgYm94ZXMgdG8gcmVwcmVzZW50IHRoZSB3aW5kb3cgYW5kIHRoZSBwb3NpdGlvbnMgb2YgdGhlCnRocmVlIGZpZ3VyZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbWlkZGxlIGZpZ3VyZSBzdG9vZCBjbG9zZXN0IHRvIHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgb24gdGhlIGxlZnQgYXBwZWFyZWQgc2xpZ2h0bHkgdGFsbGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSBvbiB0aGUgcmlnaHQgc3Rvb2QgZmFydGhlciBiYWNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZmluaXNoZWQgdGhlIHNrZXRjaCBhbmQgY29tcGFyZWQgaXQgd2l0aCB0aGUgcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBhcnJhbmdlbWVudCBubyBsb25nZXIgbWF0Y2hlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtaWRkbGUgZmlndXJlIGhhZCBtb3ZlZCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgd2luZG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG90aGVyIHR3byBoYWQgbW92ZWQgY2xvc2VyIHRvZ2V0aGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY2hlY2tlZCBoZXIgZHJhd2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBoYWQgcmVjb3JkZWQgdGhlIG9yaWdpbmFsIHBvc2l0aW9ucy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlciBub3RlcyBoYWQgbm90IGNoYW5nZWQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRraW1teU5vdGljZWRDaGFuZ2VkUGhvdG9ncmFwaCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7S2ltbXkmIzM5O3MgaW5kZXBlbmRlbnQgc2tldGNoIHByb3ZlcyB0aGUgZmlndXJlcyBpbiB0aGUgeWVhcmJvb2sgcGhvdG9ncmFwaCBjaGFuZ2VkIHBvc2l0aW9ucyZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0RvY3VtZW50ZWQgY2hhbmdlOiZsdDsvc3Ryb25nJmd0OyBLaW1teSYjMzk7cyBub3RlcyBwcmVzZXJ2ZSB0aGUgZmlndXJlcyYjMzk7CglvcmlnaW5hbCBwb3NpdGlvbnMsIGNvbmZpcm1pbmcgdGhhdCB0aGUgeWVhcmJvb2sgcGhvdG9ncmFwaCBjaGFuZ2VkIGFmdGVyCglzaGUgY29waWVkIGl0LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBwbGFjZWQgb25lIGhhbmQgb24gdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpXcml0aW5nIHNvbWV0aGluZyBkb3duIGRpZCBub3QgbWFrZSBpdCBsZXNzIGltcG9zc2libGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBnYXZlIHRoZSBpbXBvc3NpYmxlIGV2ZW50IHNvbWV3aGVyZSB0byBleGlzdCBvdXRzaWRlIGhlciBtZW1vcnkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0V4YW1pbmUgdGhlIGFsdGVyZWQgcGhvdG9ncmFwaC0mZ3Q7S2ltbXkgVmVyaWZpZXMgdGhlIENoYW5nZWQgUGhvdG9ncmFwaF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjAwIiBuYW1lPSJLaW1teSBGaW5kcyB0aGUgUmV2aXNpb24gU2lnbmF0dXJlIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTM3NSw4MDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SWRlbnRpZnkgd2hvIGF1dGhvcml6ZWQgdGhlIGFsdGVyZWQgc2Nob29sIHBsYW5zJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBleGFtaW5lZCB0aGUgYXBwcm92YWwgYmxvY2sgaW4gdGhlIGxvd2VyIGNvcm5lciBvZiB0aGUgZmxvb3IgcGxhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck1vc3Qgc2lnbmF0dXJlcyBoYWQgZmFkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgcmVtYWluZWQgZGFyayBlbm91Z2ggdG8gcmVhZDoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpDLiBBLiBUaGlzdGxld2ljayBJSUkmbHQ7YnImZ3Q7ClByaW5jaXBhbAombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgc2lnbmF0dXJlIGF1dGhvcml6ZWQgdGhlIHJldmlzaW9uIGluIDE5MzguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCZW5lYXRoIGl0LCBhbm90aGVyIG5hbWUgaGFkIGJlZW4gd3JpdHRlbiBpbiBzbWFsbGVyIGxldHRlcnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaW5rIGhhZCBibGVkIGludG8gdGhlIHBhcGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25seSB0aGUgc3VybmFtZSByZW1haW5lZCBjbGVhci4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpCbGFja3dvb2QKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAka2ltbXlGb3VuZEJsYWNrd29vZFJlZmVyZW5jZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7UHJpbmNpcGFsIEMuIEEuIFRoaXN0bGV3aWNrIElJSSBhdXRob3JpemVkIHRoZSAxOTM4IGJ1aWxkaW5nIHJldmlzaW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtTb21lb25lIG5hbWVkIEJsYWNrd29vZCB3YXMgY29ubmVjdGVkIHdpdGggdGhlIDE5MzggcmV2aXNpb24mcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtGaXJzdCBCbGFja3dvb2QgcmVmZXJlbmNlOiZsdDsvc3Ryb25nJmd0OyBUaGUgc3VybmFtZSBCbGFja3dvb2QgYXBwZWFycwoJYmVuZWF0aCB0aGUgcHJpbmNpcGFsJiMzOTtzIHNpZ25hdHVyZSBvbiB0aGUgMTkzOCBzY2hvb2wgcmV2aXNpb24uCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNvcGllZCBib3RoIG5hbWVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGxvb2tlZCBiYWNrIGF0IHRoZSBwbGFuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIEJsYWNrd29vZCBzaWduYXR1cmUgaGFkIHZhbmlzaGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSB3ZXQgc3RhaW4gcmVtYWluZWQgd2hlcmUgdGhlIG5hbWUgaGFkIGJlZW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSB0b3VjaGVkIHRoZSBjb3JuZXIgb2YgdGhlIHBhcGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0YWluIHNtZWxsZWQgZmFpbnRseSBvZiBzb2lsLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tFeGFtaW5lIHRoZSBzeW1ib2wgYmVzaWRlIHRoZSBoaWRkZW4gcGFzc2FnZS0mZ3Q7S2ltbXkgRXhhbWluZXMgdGhlIEFyY2hpdmUgSGV4YWZvaWxdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIwMSIgbmFtZT0iS2ltbXkgRXhhbWluZXMgdGhlIEFyY2hpdmUgSGV4YWZvaWwiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIxNDAwLDg0MDAiIHNpemU9IjEwMCwxMDAiPgombHQ7cCZndDtUaGUgc2l4LXBldGFsZWQgbWFyayBhcHBlYXJlZCBpbiB0aHJlZSBkaWZmZXJlbnQgaGFuZHMgYW5kIHRocmVlIGRpZmZlcmVudCBkZWNhZGVzLiBUaGF0IG1hZGUgY29pbmNpZGVuY2UgdW5saWtlbHkuIEl0IGFsc28gbWFkZSB0aGUgYXJjaGl2ZSByb29tIGZlZWwgbXVjaCBzbWFsbGVyLiZsdDsvcCZndDsKS2ltbXkgRXhhbWluZXMgdGhlIEFyY2hpdmUgSGV4YWZvaWwmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoYXQgdGhlIHNpeC1wZXRhbGVkIHN5bWJvbCByZXByZXNlbnRlZCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY29waWVkIHRoZSBzeW1ib2wgb250byBhIGNsZWFuIHBhZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGNpcmNsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNpeCBjdXJ2ZWQgZGl2aXNpb25zLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNoYXBlIHJlc2VtYmxlZCBhIGZsb3dlciwgYnV0IHRoZSBsaW5lcyB3ZXJlIHRvbyBtZWFzdXJlZCB0byBiZQpkZWNvcmF0aXZlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRWFjaCBjdXJ2ZSBtZXQgdGhlIGNlbnRlciBhdCB0aGUgc2FtZSBhbmdsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBwZXRhbCBjb250YWluZWQgYSBzZXJpZXMgb2YgZmFpbnQgc2NyYXRjaGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRGVwZW5kaW5nIG9uIGhvdyBLaW1teSB0aWx0ZWQgdGhlIHJlY29yZCwgdGhlIHNjcmF0Y2hlcyByZXNlbWJsZWQgZWl0aGVyCmxldHRlcnMgb3IgUm9tYW4gbnVtZXJhbHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIG5vdGUgaGFkIGJlZW4gd3JpdHRlbiBiZW5lYXRoIHRoZSBtYXJrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTW9zdCBvZiB0aGUgc2VudGVuY2UgaGFkIGZhZGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgaGVsZCB0aGUgcGFnZSBuZWFyIHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcmVtYWluaW5nIHdvcmRzIGJlY2FtZSB2aXNpYmxlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Ck5vdCBhbiBpbnZpdGF0aW9uLiZsdDticiZndDsKQSB3YXJuaW5nLiZsdDticiZndDsKS2VlcCB0aGUgY3Jvc3NpbmcgY2xvc2VkLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgaGlzdG9yaWNhbCBoZXhhZm9pbCB3YXMgZGVzY3JpYmVkIGFzIGEgd2FybmluZyByYXRoZXIgdGhhbiBhbiBpbnZpdGF0aW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgc3ltYm9sIHdhcyBpbnRlbmRlZCB0byBrZWVwIGEgY3Jvc3NpbmcgY2xvc2VkJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U3ltYm9sIG1lYW5pbmc6Jmx0Oy9zdHJvbmcmZ3Q7IEFuIGFyY2hpdmUgbm90ZSBpZGVudGlmaWVzIHRoZSBzaXgtcGV0YWxlZAoJbWFyayBhcyBhIHdhcm5pbmcgaW50ZW5kZWQgdG8ga2VlcCBhIGNyb3NzaW5nIGNsb3NlZC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgaGFkIGV4cGVjdGVkIHRoZSBzeW1ib2wgdG8gaWRlbnRpZnkgYSBjbHViLCBmYW1pbHksIG9yIGJ1aWxkaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW5zdGVhZCwgaXQgaWRlbnRpZmllZCBhIGJvdW5kYXJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZXRoaW5nIGhhZCBiZWVuIHBsYWNlZCBvbiBvbmUgc2lkZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWV0aGluZyBlbHNlIGhhZCBiZWVuIGtlcHQgb24gdGhlIG90aGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxpYnJhcnkgY2xvY2sgY2xpY2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkV2ZXJ5IGhhbmQgc3RvcHBlZCBtb3ZpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGltZSByZWFkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Cjk6MTQKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbG9va2VkIGRvd24gYXQgdGhlIGhpc3RvcmljYWwgcmVjb3JkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNpeC1wZXRhbGVkIHN5bWJvbCB3YXMgd2V0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBkYXJrIGxpbmUgc3ByZWFkIG91dHdhcmQgZnJvbSBpdCBhY3Jvc3MgdGhlIHBhcGVyLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tEZWNvZGUgdGhlIGxldHRlcnMgYmxlZWRpbmcgdGhyb3VnaCB0aGUgYXJjaGl2ZSBwYWdlLSZndDtBcmNoaXZlQW5hZ3JhbUxvY2tdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIwMiIgbmFtZT0iS2ltbXkgQ29uZmlybXMgdGhlIEhpZGRlbiBQYXNzYWdlIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTUyNSw4MDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGhpZGRlbiBwYXNzYWdlIGV4cGxhaW5zIHRoZSBtb3JuaW5nJiMzOTtzIHJlcG9ydHMmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHBsYWNlZCBoZXIgaW50ZXJ2aWV3IG5vdGVzIGJlc2lkZSB0aGUgZmxvb3IgcGxhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBtYXJrZWQgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZSB3aXRuZXNzIGhhZCBoZWFyZCB0aHJlZSBrbm9ja3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcG9pbnQgZmVsbCBkaXJlY3RseSBvdmVyIHRoZSBoaWRkZW4gY29ycmlkb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgbWFya2VkIHRoZSBiYXRocm9vbSBkb29yd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNvcnJpZG9yIHBhc3NlZCBiZWhpbmQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgbWFya2VkIHRoZSBicmFzcyB0aHJlc2hvbGQgb3V0c2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjb3JyaWRvciBlbmRlZCBiZWhpbmQgdGhhdCB3YWxsLgombHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LXAyIHN0YW5kYXJkIGJhdGNoMiB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtoaWRkZW5fd2FsbCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2hpZGRlbl93YWxsLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7CgombHQ7cCZndDsKVGhlIHdpdG5lc3MmIzM5O3MgYWNjb3VudCBoYWQgc291bmRlZCBpbXBvc3NpYmxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9sZCBmbG9vciBwbGFuIGRpZCBub3QgbWFrZSB0aGUgYWNjb3VudCBvcmRpbmFyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IG1hZGUgdGhlIGFjY291bnQgc3RydWN0dXJhbGx5IHBvc3NpYmxlLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGhpZGRlbiBjb3JyaWRvciBjb25uZWN0cyBldmVyeSBsb2NhdGlvbiBkZXNjcmliZWQgYnkgdGhlIGJhdGhyb29tIHdpdG5lc3MmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBY2NvdW50IGNvcnJvYm9yYXRlZDombHQ7L3N0cm9uZyZndDsgVGhlIGhpZGRlbiBjb3JyaWRvciBmb2xsb3dzIHRoZSBzYW1lCglwYXRoIGRlc2NyaWJlZCBieSB0aGUgd2l0bmVzcywgY29ubmVjdGluZyB0aGUgYmF0aHJvb20gd2FsbCB3aXRoIHRoZQoJcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZm9sbG93ZWQgdGhlIGNvcnJpZG9yIGxpbmUgd2l0aCB0aGUgZXJhc2VyIG9mIGhlciBwZW5jaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOZWFyIHRoZSBvZmZpY2UsIHRoZSBsaW5lIHBhc3NlZCB0aHJvdWdoIGEgY2lyY3VsYXIgbWFyay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNpeCBjdXJ2ZWQgc2VjdGlvbnMgZGl2aWRlZCB0aGUgY2lyY2xlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBSb21hbiBudW1lcmFsIGhhZCBiZWVuIHdyaXR0ZW4gYmVzaWRlIGl0LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClhJLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgaGlkZGVuIGNvcnJpZG9yIGZsb29yIHBsYW4gaW5jbHVkZXMgYSBoZXhhZm9pbCBtYXJrZWQgWEkmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1N0dWR5IHRoZSBtYXJrZWQgYm91bmRhcnktJmd0O0tpbW15IEV4YW1pbmVzIHRoZSBBcmNoaXZlIEhleGFmb2lsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMDMiIG5hbWU9IktpbW15IFNhdmVzIHRoZSBIaXN0b3JpY2FsIEV2aWRlbmNlIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTI1MCw4MTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2ltbXlSZWNvcmRlZEV2aWRlbmNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBMaWJyYXJ5IEFyY2hpdmUgVGFibGUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UHJlc2VydmUgdGhlIGFyY2hpdmUgZXZpZGVuY2UgYmVmb3JlIGl0IGNoYW5nZXMgb3IgZGlzYXBwZWFycyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbGlmdGVkIHRoZSByZWNvcmQgYXdheSBmcm9tIHRoZSBzcHJlYWRpbmcgc3RhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGFwZXIgZmVsdCBjb2xkIHRocm91Z2ggaGVyIGZpbmdlcnRpcHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgcGxhY2VkIGEgc2hlZXQgZnJvbSBoZXIgd3JpdGluZyBwYWQgb3ZlciB0aGUgb3JpZ2luYWwgYW5kIHRyYWNlZCBldmVyeQp2aXNpYmxlIGxpbmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGV4YWZvaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FybmluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBSb21hbiBudW1lcmFsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGRhcmsgbGluZSBsZWFkaW5nIGF3YXkgZnJvbSB0aGUgc3ltYm9sLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKV2hlbiBzaGUgZmluaXNoZWQsIHRoZSBhcmNoaXZlZCBwYXBlciBoYWQgYmVjb21lIGRyeSBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3YXJuaW5nIGJlbmVhdGggdGhlIHN5bWJvbCBoYWQgdmFuaXNoZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSYjMzk7cyBjb3B5IHJlbWFpbmVkIHVuY2hhbmdlZC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJGtpbW15Rm91bmRIaXN0b3JpY2FsU3ltYm9sID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtLaW1teSBwcmVzZXJ2ZWQgYSBjb3B5IG9mIHRoZSBhcmNoaXZlIGhleGFmb2lsIGFuZCBib3VuZGFyeSB3YXJuaW5nJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuICRpbnZlbnRvcnkuS2ltbXkucHVzaFVuaXF1ZSgmcXVvdDtBcmNoaXZlIGhleGFmb2lsIHRyYWNpbmcmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtJbnZlbnRvcnkgdXBkYXRlOiZsdDsvc3Ryb25nJmd0OyBLaW1teSBwcmVzZXJ2ZWQgYW4gYXJjaGl2ZSB0cmFjaW5nIG9mIHRoZQoJaGV4YWZvaWwgYW5kIHRoZSB3YXJuaW5nIGNvbm5lY3RlZCB3aXRoIGl0LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpTaGUgZm9sZGVkIHRoZSB0cmFjaW5nIG9uY2UgYW5kIHBsYWNlZCBpdCBpbnNpZGUgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgeWVsbG93IHJpYmJvbiBjdXJsZWQgb3ZlciB0aGUgZm9sZGVkIHBhZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBtb3ZlZCB0aGUgcmliYm9uIGFzaWRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSB3b3JkIGhhZCBhcHBlYXJlZCBiZW5lYXRoIGl0IG9uIHRoZSB3cml0aW5nIHBhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGhhZCBub3Qgd3JpdHRlbiBpdC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpCTEFDS1dPT0QKJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAka2ltbXlGb3VuZEJsYWNrd29vZFJlZmVyZW5jZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7VGhlIG5hbWUgQmxhY2t3b29kIGFwcGVhcmVkIGluc2lkZSBLaW1teSYjMzk7cyByZXBvcnRlciYjMzk7cyBjYXNlJnF1b3Q7KSZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY2xvc2VkIHRoZSBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxpYnJhcnkgYmVsbCByYW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU3R1ZGVudHMgbG9va2VkIHVwIGZyb20gdGhlaXIgdGFibGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxpYnJhcmlhbiBsb29rZWQgdG93YXJkIHRoZSBjbG9jay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyBub3QgdGltZSBmb3IgdGhlIGJlbGwuCiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRraW1teUhlYXJkV3JvbmdCZWxsID0gdHJ1ZSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDaGVjayB0aGUgeWVhcmJvb2sgcGhvdG9ncmFwaCBiZWZvcmUgbGVhdmluZy0mZ3Q7S2ltbXkgRmluZHMgdGhlIEFyY2hpdmUgUGhvdG9ncmFwaF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjA0IiBuYW1lPSJLaW1teSBGaW5kcyB0aGUgTWlzc2luZyBGb2xsb3cgVXAiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIxMjI1LDgzNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtMb2NhdGUgYW55IHJlcG9ydCBleHBsYWluaW5nIHRoZSAxOTM4IGNvcnJpZG9yIGNsb3N1cmUmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHNlYXJjaGVkIGV2ZXJ5IGlzc3VlIHB1Ymxpc2hlZCBhZnRlciB0aGUgY29ycmlkb3IgaW5jaWRlbnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZm9sbG93aW5nIHdlZWsmIzM5O3MgbmV3c3BhcGVyIHdhcyBtaXNzaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGlzc3VlIGFmdGVyIHRoYXQgcmVtYWluZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpObyBhcnRpY2xlIG1lbnRpb25lZCB0aGUgY29ycmlkb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpObyBjb3JyZWN0aW9uIGFwcGVhcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gcmVvcGVuaW5nIG5vdGljZSBhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzaWxlbmNlIGNvbnRpbnVlZCB0aHJvdWdoIGV2ZXJ5IGxhdGVyIGlzc3VlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZW9uZSBoYWQgcmVtb3ZlZCB0aGUgb25seSBlZGl0aW9uIGxpa2VseSB0byBjb250YWluIGEgZm9sbG93LXVwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZXhhbWluZWQgdGhlIGluc2lkZSBvZiB0aGUgYXJjaGl2ZSBib3guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHNpbmdsZSBzdHJpcCBvZiBuZXdzcHJpbnQgaGFkIGNhdWdodCBiZW5lYXRoIHRoZSBjYXJkYm9hcmQgc2VhbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBwdWxsZWQgaXQgZnJlZSB3aXRoIHRoZSBlbmQgb2YgaGVyIHBlbmNpbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9ubHkgcGFydCBvZiBvbmUgc2VudGVuY2UgcmVtYWluZWQ6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKLi4udGhyZWUgZ2lybHMgcmVtYWluIHVuYWNjb3VudGVkIGZvci4uLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaHJlZSBnaXJscyB3ZXJlIHJlcG9ydGVkbHkgdW5hY2NvdW50ZWQgZm9yIGFmdGVyIHRoZSAxOTM4IGNvcnJpZG9yIGluY2lkZW50JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UmVjb3ZlcmVkIGZyYWdtZW50OiZsdDsvc3Ryb25nJmd0OyBBIHN1cnZpdmluZyBwb3J0aW9uIG9mIHRoZSBtaXNzaW5nCglmb2xsb3ctdXAgZWRpdGlvbiBzdGF0ZXMgdGhhdCB0aHJlZSBnaXJscyByZW1haW5lZCB1bmFjY291bnRlZCBmb3IuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSByZXZlcnNlIHNpZGUgY29udGFpbmVkIHBhcnQgb2YgYW4gYWR2ZXJ0aXNlbWVudC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWVvbmUgaGFkIGRyYXduIGEgc2l4LXBldGFsZWQgc3ltYm9sIGFjcm9zcyBpdCBpbiBkYXJrIGluay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBpbmsgcmVtYWluZWQgd2V0LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tFeGFtaW5lIHRoZSBzeW1ib2wtJmd0O0tpbW15IEV4YW1pbmVzIHRoZSBBcmNoaXZlIEhleGFmb2lsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMDUiIG5hbWU9IktpbW15IENvbXBhcmVzIHRoZSBQZXJtaXNzaW9uIFJ1bGUiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIxNjI1LDgzMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciB0aGUgMTkzOCB3YXJuaW5nIHJlbWFpbnMgcGFydCBvZiBjdXJyZW50IHNjaG9vbCBwb2xpY3kmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNvcGllZCB0aGUgYXJjaGl2ZWQgc2VudGVuY2U6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKVXNlIGRlc2lnbmF0ZWQgZW50cmFuY2VzIGFuZCBlbnRlciByZXN0cmljdGVkIGFyZWFzIG9ubHkgd2hlbiBwZXJtaXNzaW9uIGhhcwpiZWVuIGdyYW50ZWQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNoZSBmb3VuZCB0aGUgY3VycmVudCBzdHVkZW50IGhhbmRib29rIG5lYXIgdGhlIGNpcmN1bGF0aW9uIGRlc2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbW9kZXJuIHJ1bGUgc3RhdGVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClN0dWRlbnRzIG11c3QgdXNlIGRlc2lnbmF0ZWQgZW50cmFuY2VzIGFuZCByZW1haW4gaW4gYXV0aG9yaXplZCBhcmVhcy4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHdvcmQgcGVybWlzc2lvbiBoYWQgYmVlbiByZW1vdmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU28gaGFkIHRoZSBwaHJhc2UgZ3JhbnRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtb2Rlcm4gdmVyc2lvbiB0cmVhdGVkIHRoZSBpbnN0cnVjdGlvbiBhcyBvcmRpbmFyeSBzY2hvb2wgcG9saWN5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9sZGVyIHZlcnNpb24gdHJlYXRlZCBwZXJtaXNzaW9uIGFzIHNvbWV0aGluZyBnaXZlbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNoZWNrZWQgaW50ZXJtZWRpYXRlIGhhbmRib29rcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3b3JkaW5nIGNoYW5nZWQgaW4gMTk1Mi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgaGFuZHdyaXR0ZW4gbm90ZSBhcHBlYXJlZCBpbiB0aGUgbWFyZ2luIG9mIHRoZSBmaW5hbCBoYW5kYm9vayB1c2luZyB0aGUKb2xkZXIgbGFuZ3VhZ2U6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKUGVybWlzc2lvbiBwcm90ZWN0cyBib3RoIHNpZGVzLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgb3JpZ2luYWwgcmVzdHJpY3RlZC1hcmVhIHJ1bGUgcmVxdWlyZWQgcGVybWlzc2lvbiB0byBiZSBncmFudGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtBbiBvbGRlciBub3RlIHN0YXRlcyB0aGF0IHBlcm1pc3Npb24gcHJvdGVjdHMgYm90aCBzaWRlcyZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1J1bGUgaGlzdG9yeTombHQ7L3N0cm9uZyZndDsgVGhlIHNjaG9vbCYjMzk7cyBtb2Rlcm4gYWNjZXNzIHJ1bGUgcmVwbGFjZWQKCW9sZGVyIGxhbmd1YWdlIHN0YXRpbmcgdGhhdCBwZXJtaXNzaW9uIG11c3QgYmUgZ3JhbnRlZCBhbmQgcHJvdGVjdHMgYm90aAoJc2lkZXMgb2YgYSBib3VuZGFyeS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgdW5kZXJsaW5lZCBib3RoIHNpZGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdvcmRpbmcgaW1wbGllZCB0aGF0IHRoZSBzY2hvb2wgd2FzIG5vdCBwcm90ZWN0aW5nIG9ubHkgdGhlIHN0dWRlbnRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIGFsc28gcHJvdGVjdGluZyBzb21ldGhpbmcgZnJvbSB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tFeGFtaW5lIHRoZSBoaXN0b3JpY2FsIHN5bWJvbCBhc3NvY2lhdGVkIHdpdGggdGhlIHJ1bGUtJmd0O0tpbW15IEV4YW1pbmVzIHRoZSBBcmNoaXZlIEhleGFmb2lsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMDYiIG5hbWU9IktpbW15IERvY3VtZW50cyB0aGUgQXJjaGl2ZSBQaG90b2dyYXBoIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTcwMCw3OTc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2ltbXlOb3RpY2VkQ2hhbmdlZFBob3RvZ3JhcGggPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0NyZWF0ZSBhbiBpbmRlcGVuZGVudCByZWNvcmQgb2YgdGhlIGNoYW5naW5nIHBob3RvZ3JhcGgmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBhbmQgZHJldyBhIHF1aWNrIGFycmFuZ2VtZW50IG9mIHRoZSBpbWFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjaG9vbCBidWlsZGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClR3ZW50eS1maXZlIHN0dWRlbnRzIG91dHNpZGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBmaWd1cmVzIGluIHRoZSB1cHN0YWlycyB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbWlkZGxlIGZpZ3VyZSBmYWNpbmcgZm9yd2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGZpbmlzaGVkIHRoZSBza2V0Y2guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgbG9va2VkIGF0IHRoZSBwaG90b2dyYXBoIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25seSB0d28gZmlndXJlcyByZW1haW5lZCBpbiB0aGUgd2luZG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY2hlY2tlZCBoZXIgZHJhd2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGNoZWNrZWQgdGhlIHBob3RvZ3JhcGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUd28uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGhpcmQgZmlndXJlIGhhZCBub3QgdmFuaXNoZWQgZW50aXJlbHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHBhbGUgb3V0bGluZSBhcHBlYXJlZCBuZWFyIHRoZSBlZGdlIG9mIHRoZSBpbWFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHN0b29kIG91dHNpZGUgdGhlIHNjaG9vbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkNsb3NlciB0byB0aGUgY2FtZXJhLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7S2ltbXkmIzM5O3MgaW5kZXBlbmRlbnQgc2tldGNoIGNvbmZpcm1zIHRoYXQgYSBmaWd1cmUgbW92ZWQgd2l0aGluIHRoZSAxOTM4IHBob3RvZ3JhcGgmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtEb2N1bWVudGVkIHN1cGVybmF0dXJhbCBjaGFuZ2U6Jmx0Oy9zdHJvbmcmZ3Q7IEtpbW15JiMzOTtzIG5vdGVzIHByZXNlcnZlIHRoZQoJb3JpZ2luYWwgYXJyYW5nZW1lbnQsIHByb3ZpbmcgdGhhdCBvbmUgb2YgdGhlIHRocmVlIGZpZ3VyZXMgbW92ZWQgZnJvbSB0aGUKCXNjaG9vbCB3aW5kb3cgdG93YXJkIHRoZSBjYW1lcmEuCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQ29udGludWUgZXhhbWluaW5nIHRoZSBwaG90b2dyYXBoLSZndDtLaW1teSBBcmNoaXZlIFJldmVsYXRpb25dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIwNyIgbmFtZT0iS2ltbXkgRmluZHMgdGhlIEFyY2hpdmUgUGhvdG9ncmFwaCIgdGFncz0iYmctbGlicmFyeSIgcG9zaXRpb249IjEyNTAsODIyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtpbW15Rm91bmRPbGRQaG90b2dyYXBoID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtFeGFtaW5lIHRoZSBwaG90b2dyYXBoIGxlZnQgb24gdGhlIGFyY2hpdmUgdGFibGUmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CkEgbG9vc2UgcGhvdG9ncmFwaCBsYXkgYmVzaWRlIEtpbW15JiMzOTtzIGhhbmQuIEl0IGhhZCBub3QgYmVlbiB0aGVyZSB3aGVuIHNoZQpzYXQgZG93bi4gSXRzIGN1cmxlZCBlZGdlcyBjYXN0IHRoaW4gc2hhZG93cyBhY3Jvc3MgdGhlIHRhYmxlLCBhcyBpZiBpdCBoYWQKYmVlbiB3YWl0aW5nIGJlbmVhdGggYW5vdGhlciBkb2N1bWVudCBhbmQgaGFkIG9ubHkganVzdCBwdXNoZWQgZnJlZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBpbWFnZSBzaG93ZWQgdGhlIGZyb250IG9mIGFuIG9sZGVyIHNjaG9vbCBidWlsZGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClR3ZW50eS1maXZlIHN0dWRlbnRzIHN0b29kIG91dHNpZGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBnaXJscyBzdG9vZCBpbiBhbiB1cHN0YWlycyB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHNpeC1wZXRhbGVkIHN5bWJvbCBoYWQgYmVlbiBkcmF3biBvbiB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSB0dXJuZWQgdGhlIHBob3RvZ3JhcGggb3Zlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgZGF0ZSBoYWQgYmVlbiB3cml0dGVuIG9uIHRoZSBiYWNrOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClNlcHRlbWJlciA1LCAxOTM4CiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CkJlbmVhdGggdGhlIGRhdGUgd2VyZSB0aHJlZSBuYW1lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CldhdGVyIGRhbWFnZSBoYWQgZXJhc2VkIG1vc3Qgb2YgdGhlbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9ubHkgZnJhZ21lbnRzIHJlbWFpbmVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkxVQy4uLiZsdDticiZndDsKTUFSLi4uJmx0O2JyJmd0OwpFTC4uLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSByZXR1cm5lZCB0aGUgcGhvdG9ncmFwaCBmYWNldXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpXaGVuIEtpbW15IHR1cm5lZCB0aGUgcGhvdG9ncmFwaCBmYWNldXAgYWdhaW4sIHRoZSBtaWRkbGUgZ2lybCB3YXMgbm8KbG9uZ2VyIGxvb2tpbmcgdG93YXJkIHRoZSBjYW1lcmEuIEhlciBoZWFkIGhhZCBzaGlmdGVkIHNsaWdodGx5LCBhbmQgaGVyCmV5ZXMgcG9pbnRlZCBkaXJlY3RseSBhdCBLaW1teS4KJmx0Oy9wJmd0OwombHQ7cCZndDsKS2ltbXkmIzM5O3MgcGVuY2lsIHBhdXNlZCBhYm92ZSB0aGUgcGFnZS4gRmFjdHMgd2VyZSBzdXBwb3NlZCB0byBzdGF5IHN0aWxsCmxvbmcgZW5vdWdoIHRvIGJlIHdyaXR0ZW4gZG93bi4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2ltbXkgcmVzcG9uZD8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q29weSB0aGUgcGhvdG9ncmFwaCYjMzk7cyBhcnJhbmdlbWVudCBiZWZvcmUgaXQgY2hhbmdlcyBhZ2Fpbi4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IEZpbmRzIHRoZSBBcmNoaXZlIFBob3RvZ3JhcGg6MTpjYjI4MTE2MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgRmluZHMgdGhlIEFyY2hpdmUgUGhvdG9ncmFwaDoxOmNiMjgxMTYxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gudmVyaWZ5ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgRG9jdW1lbnRzIHRoZSBBcmNoaXZlIFBob3RvZ3JhcGgmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1R1cm4gdGhlIHBob3RvZ3JhcGggb3ZlciBhbmQgaW5zcGVjdCB0aGUgZGFtYWdlZCBuYW1lcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IEZpbmRzIHRoZSBBcmNoaXZlIFBob3RvZ3JhcGg6MjowODMyNzJkYiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgRmluZHMgdGhlIEFyY2hpdmUgUGhvdG9ncmFwaDoyOjA4MzI3MmRiJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gucmVzZWFyY2ggKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBTdHVkaWVzIHRoZSBEYW1hZ2VkIE5hbWVzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtXYXRjaCB0aGUgZ2lybCBpbiB0aGUgcGhvdG9ncmFwaCB3aXRob3V0IGxvb2tpbmcgYXdheS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IEZpbmRzIHRoZSBBcmNoaXZlIFBob3RvZ3JhcGg6MzozNjQ0MTA1ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgRmluZHMgdGhlIEFyY2hpdmUgUGhvdG9ncmFwaDozOjM2NDQxMDVmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFdhdGNoZXMgdGhlIFBob3RvZ3JhcGgmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7IS0tIEJ1aWxkIDUuMTQgYXRtb3NwaGVyaWMgaGF1bnRpbmcgLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9oYXVudGluZ0F0bW9zcGhlcmUgPSBzZXR1cC5yb2xsQXRtb3NwaGVyaWNIYXVudGluZygmcXVvdDtsaWJyYXJ5JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfaGF1bnRpbmdBdG1vc3BoZXJlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLWF0bW9zcGhlcmUmcXVvdDsgcm9sZT0mcXVvdDtzdGF0dXMmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7aGF1bnRpbmctbWFyayZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDs9IF9oYXVudGluZ0F0bW9zcGhlcmUmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7IS0tIEJ1aWxkIDUuMjMgbWlzc2luZyBhcmNoaXZlIHRyaWdnZXIgLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9taXNzaW5nQXJjaGl2ZT1zZXR1cC5yb2xsTWlzc2luZ0FyY2hpdmUoJnF1b3Q7S2ltbXkgRmluZHMgdGhlIEFyY2hpdmUgUGhvdG9ncmFwaCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX21pc3NpbmdBcmNoaXZlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O21pc3NpbmctYXJjaGl2ZS10cmlnZ2VyJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7QSBzdHJhbmQgb2YgZ3JlZW4gdGhyZWFkIGRpc2FwcGVhcnMgYmV0d2VlbiB0d28gYXJjaGl2ZSBzaGVsdmVzLiZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O1RoZSBzaGVsZiBsYWJlbHMgc2tpcCBhIG51bWJlci4gQmVoaW5kIHRoZSBnYXAgaXMgYSByb29tIGFic2VudCBmcm9tIGV2ZXJ5IGxpYnJhcnkgcGxhbi4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0ZvbGxvdyB0aGUgdGhyZWFkIGludG8gdGhlIG1pc3NpbmcgYXJjaGl2ZS0mZ3Q7TWlzc2luZ0FyY2hpdmVBcnJpdmFsXV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjA4IiBuYW1lPSJLaW1teSBBcmNoaXZlIFJldmVsYXRpb24iIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIxNzAwLDgxMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBMaWJyYXJ5IEFyY2hpdmUgVGFibGUmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGVjaWRlIHdoYXQgdGhlIGhpc3RvcmljYWwgZXZpZGVuY2UgbWVhbnMmcXVvdDsmZ3Q7Jmd0OwoKCiZsdDtwJmd0O0tpbW15IGNoZWNrZWQgZWFjaCBzb3VyY2UgYWdhaW4sIG5vdCBiZWNhdXNlIHNoZSBkb3VidGVkIHdoYXQgc2hlIGhhZCBzZWVuLCBidXQgYmVjYXVzZSBjZXJ0YWludHkgd2l0aG91dCB2ZXJpZmljYXRpb24gd2FzIG9ubHkgY29uZmlkZW5jZSB3ZWFyaW5nIGEgbmljZXIgY29hdC4mbHQ7L3AmZ3Q7CiZsdDtwJmd0OwpLaW1teSBhcnJhbmdlZCB0aGUgZXZpZGVuY2UgaW4gZnJvbnQgb2YgaGVyLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O2lmICRraW1teUZhY3RzLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJQ29uZmlybWVkIGZhY3RzIG9uIHRoZSBsZWZ0LgoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmICRraW1teUxlYWRzLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVW52ZXJpZmllZCBsZWFkcyBvbiB0aGUgcmlnaHQuCgkmbHQ7L3AmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDtwJmd0OwpUaGUgc2Nob29sIGhhZCBvbmNlIGNvbnRhaW5lZCBhIHBhc3NhZ2UgY29ubmVjdGluZyB0aGUgYmF0aHJvb20gYXJlYSB3aXRoIHRoZQpwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBzaXgtcGV0YWxlZCBzeW1ib2wgbWFya2VkIGEgYm91bmRhcnkgd2l0aGluIHRoYXQgcGFzc2FnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckhpc3RvcmljYWwgaW5zdHJ1Y3Rpb25zIHJlcXVpcmVkIHBlcm1pc3Npb24gYmVmb3JlIGNyb3NzaW5nIHJlc3RyaWN0ZWQKYXJlYXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBmaWd1cmVzIGFwcGVhcmVkIGluIGFuIG9sZCBzY2hvb2wgcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwaG90b2dyYXBoIGRpZCBub3QgcmVtYWluIHVuY2hhbmdlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFuZCB0aGUgbmFtZSBCbGFja3dvb2QgaGFkIGFwcGVhcmVkIGluc2lkZSBLaW1teSYjMzk7cyByZXBvcnRlciYjMzk7cyBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGV2aWRlbmNlIHN1cHBvcnRlZCBzZXZlcmFsIHBvc3NpYmxlIGNvbmNsdXNpb25zLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hhdCBzaG91bGQgS2ltbXkgcmVjb3JkIGFzIGhlciB3b3JraW5nIHRoZW9yeT8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGhlIHN5bWJvbHMgd2VyZSBkZXNpZ25lZCB0byBwcmV2ZW50IHNvbWV0aGluZyBmcm9tIGNyb3NzaW5nLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15VGhlb3J5ID0gJnF1b3Q7VGhlIHNpeC1wZXRhbGVkIHN5bWJvbHMgd2VyZSBkZXNpZ25lZCB0byBwcmV2ZW50IHNvbWV0aGluZyBmcm9tIGNyb3NzaW5nJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBBcmNoaXZlIFJldmVsYXRpb246MTpjYjI4MTE2MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgQXJjaGl2ZSBSZXZlbGF0aW9uOjE6Y2IyODExNjEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC52ZXJpZnkgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBSZWNvcmRzIHRoZSBBcmNoaXZlIFRoZW9yeSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGhlIHNjaG9vbCByZW1vdmVkIHJlY29yZHMgb2YgdGhyZWUgbWlzc2luZyBnaXJscy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRraW1teVRoZW9yeSA9ICZxdW90O1RoZSBzY2hvb2wgZGVsaWJlcmF0ZWx5IHJlbW92ZWQgcmVjb3JkcyBjb25uZWN0ZWQgd2l0aCB0aHJlZSBtaXNzaW5nIGdpcmxzJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBBcmNoaXZlIFJldmVsYXRpb246MjowODMyNzJkYiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgQXJjaGl2ZSBSZXZlbGF0aW9uOjI6MDgzMjcyZGImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5yZXNlYXJjaCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFJlY29yZHMgdGhlIEFyY2hpdmUgVGhlb3J5JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtUaGUgcGhvdG9ncmFwaCBpcyBkaXJlY3RpbmcgS2ltbXkgdG93YXJkIGEgaGlkZGVuIHNjaG9vbCBwYXNzYWdlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15VGhlb3J5ID0gJnF1b3Q7VGhlIGNoYW5naW5nIHBob3RvZ3JhcGggaXMgZGlyZWN0aW5nIEtpbW15IHRvd2FyZCB0aGUgaGlkZGVuIHBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IEFyY2hpdmUgUmV2ZWxhdGlvbjozOjM2NDQxMDVmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBBcmNoaXZlIFJldmVsYXRpb246MzozNjQ0MTA1ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRraW1teUFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBSZWNvcmRzIHRoZSBBcmNoaXZlIFRoZW9yeSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U29tZW9uZSBjb25uZWN0ZWQgd2l0aCBCbGFja3dvb2QgaXMgY2hhbmdpbmcgdGhlIGV2aWRlbmNlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJGtpbW15VGhlb3J5ID0gJnF1b3Q7U29tZW9uZSBjb25uZWN0ZWQgd2l0aCBCbGFja3dvb2QgaXMgY2hhbmdpbmcgdGhlIGV2aWRlbmNlIGFzIEtpbW15IGV4YW1pbmVzIGl0JnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBBcmNoaXZlIFJldmVsYXRpb246NDphMWZhNjRmZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2ltbXkgQXJjaGl2ZSBSZXZlbGF0aW9uOjQ6YTFmYTY0ZmUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBSZWNvcmRzIHRoZSBBcmNoaXZlIFRoZW9yeSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMDkiIG5hbWU9IktpbW15IFN0dWRpZXMgdGhlIERhbWFnZWQgTmFtZXMiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSI3NTAsODQ1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1JlY292ZXIgdGhlIG5hbWVzIHdyaXR0ZW4gYmVoaW5kIHRoZSBoaXN0b3JpY2FsIHBob3RvZ3JhcGgmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGFuZ2xlZCB0aGUgYmFjayBvZiB0aGUgcGhvdG9ncmFwaCBiZW5lYXRoIHRoZSBsaWJyYXJ5IGxhbXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlyc3QgZnJhZ21lbnRzIHJlbWFpbmVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkxVQy4uLiZsdDticiZndDsKTUFSLi4uJmx0O2JyJmd0OwpFTC4uLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpTaGUgcGxhY2VkIGEgc2hlZXQgb2YgcGFwZXIgb3ZlciB0aGUgd3JpdGluZyBhbmQgcnViYmVkIHRoZSBzaWRlIG9mIGhlciBwZW5jaWwKYWNyb3NzIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW5kZW50ZWQgbGV0dGVycyBiZWdhbiBhcHBlYXJpbmcgb24gS2ltbXkmIzM5O3MgcGFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaXJzdCBuYW1lIHJlc29sdmVkIG1vc3QgY2xlYXJseToKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpMVUNJTExFCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBvdGhlciB0d28gcmVtYWluZWQgaW5jb21wbGV0ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkJlbmVhdGggdGhlIG5hbWVzIHdhcyBhIGZvdXJ0aCBpbXByZXNzaW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IGEgbmFtZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgd2FybmluZy4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpETyBOT1QgTEVUIExVQ1kgQ1JPU1MuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBoaXN0b3JpY2FsIHBob3RvZ3JhcGggaWRlbnRpZmllcyBvbmUgZmlndXJlIGFzIEx1Y2lsbGUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O0EgaGlkZGVuIHdhcm5pbmcgc3RhdGVzIHRoYXQgTHVjeSBtdXN0IG5vdCBiZSBhbGxvd2VkIHRvIGNyb3NzJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UmVjb3ZlcmVkIHdhcm5pbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFdyaXRpbmcgaW1wcmVzc2VkIGludG8gdGhlIHBob3RvZ3JhcGgKCWlkZW50aWZpZXMgb25lIGZpZ3VyZSBhcyBMdWNpbGxlIGFuZCB3YXJucywg4oCcRG8gbm90IGxldCBMdWN5IGNyb3NzLuKAnQombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBsb29rZWQgYXQgdGhlIGZyb250IG9mIHRoZSBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG1pZGRsZSBmaWd1cmUgaGFkIG1vdmVkIGNsb3NlciB0byB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdHMgaGFuZCByZXN0ZWQgYWdhaW5zdCB0aGUgaGV4YWZvaWwuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIGV4YW1pbmluZyB0aGUgcGhvdG9ncmFwaC0mZ3Q7S2ltbXkgQXJjaGl2ZSBSZXZlbGF0aW9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMTAiIG5hbWU9IktpbW15IFdhdGNoZXMgdGhlIFBob3RvZ3JhcGgiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIyMjUsODMyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtpbW15Tm90aWNlZENoYW5nZWRQaG90b2dyYXBoID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtPYnNlcnZlIHRoZSBwaG90b2dyYXBoIHdpdGhvdXQgaW50ZXJydXB0aW5nIHRoZSBjaGFuZ2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGtlcHQgaGVyIGV5ZXMgb24gdGhlIG1pZGRsZSBmaWd1cmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3RoaW5nIG1vdmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRml2ZSBzZWNvbmRzIHBhc3NlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gdGVuLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxpYnJhcnkgY29udGludWVkIGFyb3VuZCBoZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpQYWdlcyB0dXJuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGNoYWlyIHNjcmFwZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyaWFuIHN0YW1wZWQgYW5vdGhlciByZXR1cm4gY2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckluc2lkZSB0aGUgcGhvdG9ncmFwaCwgdGhlIG1pZGRsZSBmaWd1cmUgbG93ZXJlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtb3ZlbWVudCB3YXMgc2xvdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNtYWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW1wb3NzaWJsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgcmFpc2VkIG9uZSBmaW5nZXIgYW5kIHBvaW50ZWQgZG93bndhcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBmb2xsb3dlZCB0aGUgZGlyZWN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpbmdlciBwb2ludGVkIHRvd2FyZCB0aGUgc3R1ZGVudHMgZ2F0aGVyZWQgb3V0c2lkZSB0aGUgc2Nob29sLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIHN0dWRlbnQgaGFkIGJlZW4gbWFya2VkIHdpdGggYSBzbWFsbCBjaXJjbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsZWFuZWQgY2xvc2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgaW5zaWRlIHRoZSBjaXJjbGUgY2FycmllZCBhIGxlYXRoZXIgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgeWVsbG93IHJpYmJvbiBleHRlbmRlZCBmcm9tIGJlbmVhdGggaXRzIGNsYXNwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNhc2UgbG9va2VkIGV4YWN0bHkgbGlrZSBLaW1teSYjMzk7cy4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBtb3ZpbmcgcGhvdG9ncmFwaCBjb250YWlucyBhIHN0dWRlbnQgY2FycnlpbmcgS2ltbXkmIzM5O3MgcmVwb3J0ZXImIzM5O3MgY2FzZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUxlYWQoJnF1b3Q7S2ltbXkmIzM5O3MgcmVwb3J0ZXImIzM5O3MgY2FzZSBtYXkgaGF2ZSBiZWxvbmdlZCB0byBzb21lb25lIGNvbm5lY3RlZCB3aXRoIHRoZSAxOTM4IGluY2lkZW50JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UGVyc29uYWwgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgQSBzdHVkZW50IGluIHRoZSAxOTM4IHBob3RvZ3JhcGggaXMKCWNhcnJ5aW5nIHRoZSBzYW1lIHJlcG9ydGVyJiMzOTtzIGNhc2UgYW5kIHllbGxvdyByaWJib24gbm93IG93bmVkIGJ5IEtpbW15LgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIGV4YW1pbmluZyB0aGUgcGhvdG9ncmFwaC0mZ3Q7S2ltbXkgQXJjaGl2ZSBSZXZlbGF0aW9uXV0KJmx0Oy9kaXYmZ3Q7CiZsdDshLS0gQnVpbGQgNS4xNCBhdG1vc3BoZXJpYyBoYXVudGluZyAtLSZndDsKJmx0OyZsdDtzZXQgX2hhdW50aW5nQXRtb3NwaGVyZSA9IHNldHVwLnJvbGxBdG1vc3BoZXJpY0hhdW50aW5nKCZxdW90O2xpYnJhcnkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9oYXVudGluZ0F0bW9zcGhlcmUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctYXRtb3NwaGVyZSZxdW90OyByb2xlPSZxdW90O3N0YXR1cyZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtoYXVudGluZy1tYXJrJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7ISZsdDsvc3BhbiZndDsmbHQ7cCZndDsmbHQ7Jmx0Oz0gX2hhdW50aW5nQXRtb3NwaGVyZSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMTEiIG5hbWU9IktpbW15IFJlY29yZHMgdGhlIEFyY2hpdmUgVGhlb3J5IiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTcwMCw4NDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2ltbXlSZWNvcmRlZEV2aWRlbmNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJbnZlc3RpZ2F0ZSB0aGUgbW9kZXJuIGhhbGx3YXkgY29ubmVjdGVkIHdpdGggdGhlIGhpc3RvcmljYWwgcGFzc2FnZSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgd3JvdGU6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtXb3JraW5nIHRoZW9yeTombHQ7L3N0cm9uZyZndDsgJGtpbW15VGhlb3J5LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpBIHRoZW9yeSB3YXMgbm90IGEgZmFjdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyBhIGRpcmVjdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGRyZXcgYSBib3ggYXJvdW5kIHRoZSBuZXh0IHN0ZXA6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKRXhhbWluZSB0aGUgbW9kZXJuIHdhbGwgd2hlcmUgdGhlIGhpZGRlbiBwYXNzYWdlIHNob3VsZCBiZWdpbi4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKU2hlIGNsb3NlZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsaWJyYXJ5IGJlbGwgcmFuZyBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClN0aWxsIHRvbyBlYXJseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50cyBhdCB0aGUgZnJvbnQgdGFibGVzIGxvb2tlZCBhcm91bmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyaWFuIHJlbWFpbmVkIGJlaGluZCB0aGUgZGVzay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBsaWJyYXJpYW4gZGlkIG5vdCBsb29rIGF0IHRoZSBjbG9jayB0aGlzIHRpbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyaWFuIGxvb2tlZCBkaXJlY3RseSBhdCBLaW1teS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1NvbWUgcmVjb3JkcywmcXVvdDsgdGhlIGxpYnJhcmlhbiBzYWlkLCAmcXVvdDt3ZXJlIHJlbW92ZWQgZm9yIGEgcmVhc29uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgc3Rvb2QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaG8gcmVtb3ZlZCB0aGVtPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxpYnJhcmlhbiBwcmVzc2VkIHRoZSBzdGFtcCBpbnRvIHRoZSBpbmsgcGFkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U29tZW9uZSB3aG8gYmVsaWV2ZWQgcmVtb3ZpbmcgYSByZWNvcmQgd2FzIHRoZSBzYW1lIGFzIGNoYW5naW5nIHdoYXQKaGFwcGVuZWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXYXMgaXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbGlicmFyaWFuIHN0YW1wZWQgdGhlIHJldHVybiBjYXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGcm9tIGluc2lkZSB0aGUgd2FsbCBiZWhpbmQgdGhlIGhpc3Rvcnkgc2hlbHZlcyBjYW1lIHRocmVlIHNsb3cga25vY2tzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS25vY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLbm9jay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Cktub2NrLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tGb2xsb3cgdGhlIHNvdW5kIGludG8gdGhlIGhhbGx3YXktJmd0O0tpbW15IENob29zZXMgdGhlIEhhbGx3YXldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIxMiIgbmFtZT0iS2ltbXkgQ2hvb3NlcyB0aGUgSGFsbHdheSIgdGFncz0iYmctbGlicmFyeSIgcG9zaXRpb249IjE1NTAsODYyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtpbW15RXhhbWluZWRIYWxsd2F5ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBFYXN0IEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7TG9jYXRlIHRoZSBoaWRkZW4gcGFzc2FnZSBzaG93biBpbiB0aGUgaGlzdG9yaWNhbCByZWNvcmRzJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBsZWZ0IHRoZSBsaWJyYXJ5IGFuZCBmb2xsb3dlZCB0aGUgZWFzdCBoYWxsd2F5IHRvd2FyZCB0aGUgYm95cyYjMzk7CmJhdGhyb29tLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpcnN0LXBlcmlvZCBiZWxsIGhhZCBhbHJlYWR5IHJ1bmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3N0IGNsYXNzcm9vbSBkb29ycyB3ZXJlIGNsb3NlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRlYWNoZXJzIHNwb2tlIGJlaGluZCBwYWludGVkIGNpbmRlci1ibG9jayB3YWxscy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClBlbmNpbHMgc2NyYXRjaGVkIGFjcm9zcyBwYXBlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkNoYWlycyBzaGlmdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT3JkaW5hcnkgc2Nob29sIHNvdW5kcyBmaWxsZWQgdGhlIGJ1aWxkaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgY291bnRlZCBkb29yd2F5cyBhcyBzaGUgd2Fsa2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTGlicmFyeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClN0b3JhZ2UgY2xvc2V0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRHJpbmtpbmcgZm91bnRhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCb3lzJiMzOTsgYmF0aHJvb20uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBY2NvcmRpbmcgdG8gdGhlIG9sZCBmbG9vciBwbGFuLCB0aGUgaGlkZGVuIHBhc3NhZ2UgYmVnYW4gYmVoaW5kIHRoZSB3YWxsCmJldHdlZW4gdGhlIGJhdGhyb29tIGFuZCB0aGUgc3RvcmFnZSBjbG9zZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FsbCBhcHBlYXJlZCBzb2xpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBibG9ja3MgaGFkIGJlZW4gcGFpbnRlZCB0aGUgc2FtZSBwYWxlIGdyZWVuIGFzIHRoZSByZXN0IG9mIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjb3JrIGJ1bGxldGluIGJvYXJkIGNvdmVyZWQgcGFydCBvZiB0aGUgc3VyZmFjZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdGhpbmcgc3VnZ2VzdGVkIGEgcGFzc2FnZSBoYWQgZXZlciBleGlzdGVkLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O2lmICRraW1teUludGVydmlld2VkU3R1ZGVudCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlUaGUgd2l0bmVzcyBjbGFpbWVkIHRocmVlIGtub2NrcyBoYWQgY29tZSBmcm9tIGluc2lkZSB0aGlzIHdhbGwuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJS2ltbXkgcGxhY2VkIG9uZSBoYW5kIGFnYWluc3QgdGhlIHBhaW50ZWQgYmxvY2tzLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVRoZSBzdXJmYWNlIGZlbHQgY29sZGVyIG5lYXIgdGhlIGZsb29yLgoJJmx0Oy9wJmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJVGhlIGFyY2hpdmUgZXZpZGVuY2UgcGxhY2VkIGEgaGlkZGVuIGNvcnJpZG9yIHNvbWV3aGVyZSBiZWhpbmQgdGhlc2UKCQlibG9ja3MuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJS2ltbXkgcGxhY2VkIG9uZSBoYW5kIGFnYWluc3QgdGhlIHdhbGwuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJVGhlIHBhaW50IGZlbHQgY29sZC4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNvbWV0aGluZyBzaGlmdGVkIGluc2lkZSB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB5ZWxsb3cgcmliYm9uIHNsaXBwZWQgdGhyb3VnaCB0aGUgZ2FwIGJlbmVhdGggdGhlIGNsYXNwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXRzIGZhZGVkIGVuZCBwb2ludGVkIHRvd2FyZCB0aGUgYnVsbGV0aW4gYm9hcmQuCiZsdDsvcCZndDsKW1tNb3ZlIHRoZSBidWxsZXRpbiBib2FyZC0mZ3Q7S2ltbXkgRmluZHMgdGhlIEhpZGRlbiBQYXNzYWdlXV0KW1tSZXR1cm4gdG8gdGhlIGxpYnJhcnkgZmlyc3QtJmd0O0tpbW15IFNlYXJjaGVzIHRoZSBTY2hvb2wgQXJjaGl2ZV1dPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMTMiIG5hbWU9IktpbW15IEV4YW1pbmVzIEJlaGluZCB0aGUgQnVsbGV0aW4gQm9hcmQiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSI5MDAsODU1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0luc3BlY3QgdGhlIGNvdmVyZWQgc2VjdGlvbiBvZiB0aGUgaGFsbHdheSB3YWxsJnF1b3Q7Jmd0OyZndDsKCgombHQ7cCZndDtUaGUgYnVsbGV0aW4gYm9hcmQgbG9va2VkIG9yZGluYXJ5IGZyb20gdGhlIGhhbGx3YXkuIFVwIGNsb3NlLCBvbmUgZWRnZSBzYXQgZmFydGhlciBmcm9tIHRoZSB3YWxsIHRoYW4gdGhlIG90aGVycywgYW5kIHRoZSBkdXN0IGJlbmVhdGggaXQgaGFkIGJlZW4gZGlzdHVyYmVkIGluIGEgbmFycm93IHZlcnRpY2FsIGxpbmUuJmx0Oy9wJmd0OwombHQ7cCZndDsKS2ltbXkgcmVtb3ZlZCB0aGUgdGh1bWJ0YWNrcyBvbmUgYXQgYSB0aW1lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTHVuY2ggbWVudXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpMaWJyYXJ5IG5vdGljZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHBvc3RlciByZW1pbmRpbmcgc3R1ZGVudHMgdGhhdCBnb29kIGF0dGVuZGFuY2Ugd2FzIGV2ZXJ5b25lJiMzOTtzCnJlc3BvbnNpYmlsaXR5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmVoaW5kIHRoZSBub3RpY2VzLCB0aGUgY29yayBoYWQgZGFya2VuZWQgd2l0aCBhZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsaWZ0ZWQgdGhlIGJvdHRvbSBlZGdlIG9mIHRoZSBidWxsZXRpbiBib2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgbmFycm93IHNlYW0gcmFuIHZlcnRpY2FsbHkgdGhyb3VnaCB0aGUgcGFpbnRlZCBibG9ja3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2VhbSBjb250aW51ZWQgYmVoaW5kIHRoZSBmcmFtZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyB0b28gc3RyYWlnaHQgdG8gYmUgYSBjcmFjay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGZvbGxvd2VkIGl0IHdpdGggb25lIGZpbmdlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5lYXIgdGhlIGZsb29yLCB0aGUgc2VhbSB0dXJuZWQgYXQgYSByaWdodCBhbmdsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgZG9vcndheSBoYWQgYmVlbiBwYWludGVkIG92ZXIuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtBIGRvb3J3YXktc2l6ZWQgc2VhbSByZW1haW5zIGJlaGluZCB0aGUgZWFzdC1oYWxsIGJ1bGxldGluIGJvYXJkJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UGh5c2ljYWwgZXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IEEgcmVjdGFuZ3VsYXIgc2VhbSBiZWhpbmQgdGhlIGJ1bGxldGluCglib2FyZCBtYXJrcyB0aGUgbG9jYXRpb24gb2YgYSBzZWFsZWQgZG9vcndheS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKQSByb3VuZCBkZXByZXNzaW9uIGFwcGVhcmVkIG5lYXIgdGhlIGNlbnRlciBvZiB0aGUgaGlkZGVuIGRvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaXggc2hhbGxvdyBjdXJ2ZXMgZGl2aWRlZCB0aGUgY2lyY2xlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTW9zdCBoYWQgYmVlbiBmaWxsZWQgd2l0aCBwYWludC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSByZW1haW5lZCBleHBvc2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdvIHRoaW4gY3V0cyBjcm9zc2VkIGl0LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CklJLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7c2V0ICRraW1teUZvdW5kSGlzdG9yaWNhbFN5bWJvbCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIHNlYWxlZCBoYWxsd2F5IGRvb3J3YXkgYmVhcnMgYSBoZXhhZm9pbCBtYXJrZWQgSUkmcXVvdDspJmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBvcGVuZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UgYW5kIGJlZ2FuIHNrZXRjaGluZyB0aGUgbWFyay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwZW5jaWwgcG9pbnQgdG91Y2hlZCB0aGUgcGFwZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGcm9tIGluc2lkZSB0aGUgd2FsbCBjYW1lIGEgc29mdCBzY3JhcGUuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xpc3RlbiBhdCB0aGUgc2VhbGVkIGRvb3J3YXktJmd0O0tpbW15IExpc3RlbnMgQmVoaW5kIHRoZSBXYWxsXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMTQiIG5hbWU9IktpbW15IExpc3RlbnMgQmVoaW5kIHRoZSBXYWxsIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iODI1LDg3MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJZGVudGlmeSB0aGUgc291bmQgbW92aW5nIGluc2lkZSB0aGUgaGlkZGVuIHBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoKCiZsdDtwJmd0O0tpbW15IHByZXNzZWQgb25lIGVhciBuZWFyIHRoZSBwYWludGVkIGJsb2Nrcy4gVGhlIHdhbGwgaGVsZCB0aGUgZGF5JiMzOTtzIHdhcm10aCwgYnV0IHRoZSBhaXIgbGVha2luZyB0aHJvdWdoIHRoZSBzZWFtIHdhcyBjb2xkIGVub3VnaCB0byB0aWdodGVuIGhlciBza2luLiZsdDsvcCZndDsKJmx0O3AmZ3Q7CktpbW15IHBsYWNlZCBvbmUgZWFyIG5lYXIgdGhlIHBhaW50ZWQgc2VhbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3YWxsIHdhcyBjb2xkZXIgdGhhbiBiZWZvcmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBdCBmaXJzdCBzaGUgaGVhcmQgb25seSB0aGUgZGlzdGFudCBidWlsZGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CldhdGVyIG1vdmluZyB0aHJvdWdoIHBpcGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjbGFzc3Jvb20gY2hhaXIgc2NyYXBpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaHVtIG9mIGZsdW9yZXNjZW50IGxpZ2h0cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gYW5vdGhlciBzb3VuZCBlbWVyZ2VkIGJlbmVhdGggdGhlbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkZvb3RzdGVwcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNsb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpMaWdodC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFwcHJvYWNoaW5nIGZyb20gc29tZXdoZXJlIGJlaGluZCB0aGUgYmF0aHJvb20uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjb3VudGVkIHRoZW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUd28uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmb290c3RlcHMgc3RvcHBlZCBkaXJlY3RseSBiZWhpbmQgdGhlIGhpZGRlbiBkb29yd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZGlkIG5vdCBtb3ZlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSB2b2ljZSB3aGlzcGVyZWQgZnJvbSB0aGUgb3RoZXIgc2lkZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RpZCB5b3UgYnJpbmcgaXQgYmFjaz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB2b2ljZSBzb3VuZGVkIHlvdW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkga2VwdCBoZXIgbW91dGggY2xvc2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHZvaWNlIHRyaWVkIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7THVjaWxsZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O0EgeW91bmcgdm9pY2UgYmVoaW5kIHRoZSBzZWFsZWQgcGFzc2FnZSBhc2tlZCBmb3IgTHVjaWxsZSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1ZvaWNlIGJlaGluZCB0aGUgYm91bmRhcnk6Jmx0Oy9zdHJvbmcmZ3Q7IEEgeW91bmcgdm9pY2UgaW5zaWRlIHRoZSBoaWRkZW4KCXBhc3NhZ2UgYXNrZWQgd2hldGhlciBzb21ldGhpbmcgaGFkIGJlZW4gcmV0dXJuZWQsIHRoZW4gY2FsbGVkIGZvciBMdWNpbGxlLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBjbGlja2VkIG9wZW4gYnkgaXRzZWxmLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHllbGxvdyByaWJib24gc2xpZCBhY3Jvc3MgdGhlIHdyaXRpbmcgcGFkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXRzIGVuZCB0b3VjaGVkIHRoZSBzZWFsZWQgZG9vcndheS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2ltbXkgcmVzcG9uZD8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoYXQgbmVlZHMgdG8gYmUgcmV0dXJuZWQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBMaXN0ZW5zIEJlaGluZCB0aGUgV2FsbDoxOjQ5YTI1MTQ4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBMaXN0ZW5zIEJlaGluZCB0aGUgV2FsbDoxOjQ5YTI1MTQ4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2guaW50ZXJ2aWV3ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgUXVlc3Rpb25zIHRoZSBIaWRkZW4gVm9pY2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0RvIG5vdCBhbnN3ZXI7IHJlY29yZCB0aGUgZXhhY3Qgd29yZGluZy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IExpc3RlbnMgQmVoaW5kIHRoZSBXYWxsOjI6Y2IyODExNjEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktpbW15IExpc3RlbnMgQmVoaW5kIHRoZSBXYWxsOjI6Y2IyODExNjEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC52ZXJpZnkgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBSZWNvcmRzIHRoZSBIaWRkZW4gVm9pY2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aG8gTHVjaWxsZSBpcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IExpc3RlbnMgQmVoaW5kIHRoZSBXYWxsOjM6MDgzMjcyZGImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktpbW15IExpc3RlbnMgQmVoaW5kIHRoZSBXYWxsOjM6MDgzMjcyZGImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5yZXNlYXJjaCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IEFza3MgQWJvdXQgTHVjaWxsZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UHVsbCB0aGUgeWVsbG93IHJpYmJvbiBhd2F5IGZyb20gdGhlIGRvb3J3YXkuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBMaXN0ZW5zIEJlaGluZCB0aGUgV2FsbDo0OmExZmE2NGZlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBMaXN0ZW5zIEJlaGluZCB0aGUgV2FsbDo0OmExZmE2NGZlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2guYWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgUmV0cmlldmVzIHRoZSBZZWxsb3cgUmliYm9uJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIxNSIgbmFtZT0iS2ltbXkgTWVhc3VyZXMgdGhlIEhpZGRlbiBQYXNzYWdlIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTIwMCw4NjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7VmVyaWZ5IHdoZXRoZXIgdGhlIG1vZGVybiBoYWxsd2F5IGNvbmNlYWxzIHRoZSBhcmNoaXZlZCBwYXNzYWdlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBzdG9vZCBhdCB0aGUgbGlicmFyeSBkb29yd2F5IGFuZCBjb3VudGVkIGZsb29yIHRpbGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdlbnR5LXR3byB0aWxlcyB0byB0aGUgZHJpbmtpbmcgZm91bnRhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTZXZlbiBtb3JlIHRvIHRoZSBiYXRocm9vbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkZvdXIgdG8gdGhlIHN0b3JhZ2UgY2xvc2V0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIGNvbXBhcmVkIHRoZSBjb3VudCB3aXRoIHRoZSBzY2FsZSBvbiB0aGUgb2xkIGZsb29yIHBsYW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdmlzaWJsZSBoYWxsd2F5IHdhcyB0b28gc2hvcnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgYnkgbXVjaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFwcHJveGltYXRlbHkgZm91ciBmZWV0IG9mIGludGVyaW9yIHNwYWNlIHdhcyBtaXNzaW5nIGJldHdlZW4gdGhlIGJhdGhyb29tCmFuZCBzdG9yYWdlIGNsb3NldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IG1lYXN1cmVkIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJlc3VsdCBkaWQgbm90IGNoYW5nZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzY2hvb2wgY29udGFpbmVkIGFuIGVuY2xvc2VkIHNwYWNlIHRoYXQgZGlkIG5vdCBhcHBlYXIgaW4gdGhlIG1vZGVybgpsYXlvdXQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgZWFzdCBoYWxsd2F5IG1lYXN1cmVtZW50cyBjb25jZWFsIGFwcHJveGltYXRlbHkgZm91ciBmZWV0IG9mIGludGVyaW9yIHNwYWNlJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U3RydWN0dXJhbCBjb25maXJtYXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IE1vZGVybiBoYWxsd2F5IG1lYXN1cmVtZW50cyByZXZlYWwKCWFuIGVuY2xvc2VkIHNwYWNlIHdoZXJlIHRoZSBoaXN0b3JpY2FsIGZsb29yIHBsYW4gc2hvd3MgdGhlIHBhc3NhZ2UuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHBsYWNlZCBoZXIgcGFsbSBhZ2FpbnN0IHRoZSBjZW50ZXIgb2YgdGhlIG1pc3Npbmcgc3BhY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FsbCB2aWJyYXRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdCBjb250aW51b3VzbHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBzZXBhcmF0ZSBwdWxzZXMgcHJlc3NlZCBhZ2FpbnN0IGhlciBoYW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgcmVtb3ZlZCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB2aWJyYXRpb24gc3RvcHBlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSB0b3VjaGVkIHRoZSB3YWxsIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgbW9yZSBwdWxzZXMgYW5zd2VyZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKTm90IHNldHRsaW5nLiZsdDticiZndDsKTm90IHBsdW1iaW5nLiZsdDticiZndDsKQSByZXNwb25zZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGNvbmNlYWxlZCB3YWxsIHJlc3BvbmRlZCB0byBLaW1teSYjMzk7cyB0b3VjaCB3aXRoIHRocmVlIGRpc3RpbmN0IHB1bHNlcyZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU2VhcmNoIGZvciB0aGUgc2VhbGVkIGVudHJhbmNlLSZndDtLaW1teSBFeGFtaW5lcyBCZWhpbmQgdGhlIEJ1bGxldGluIEJvYXJkXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMTYiIG5hbWU9IktpbW15IEtub2NrcyBvbiB0aGUgSGlkZGVuIFdhbGwiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIzNTAsODY3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1Rlc3Qgd2hldGhlciB0aGUgaGlkZGVuIHBhc3NhZ2UgcmVzcG9uZHMgdG8gdGhlIHRocmVlLWtub2NrIHBhdHRlcm4mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHJhaXNlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBrbm9ja2VkIHRocmVlIHRpbWVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2xvd2x5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS25vY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLbm9jay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Cktub2NrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNvdW5kIHRyYXZlbGVkIHRocm91Z2ggdGhlIGNpbmRlciBibG9ja3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaWxlbmNlIHJldHVybmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgd2FpdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90aGluZyBhbnN3ZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNoZSBvcGVuZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UgYW5kIHdyb3RlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRocmVlLWtub2NrIHBhdHRlcm4gcHJvZHVjZWQgbm8gaW1tZWRpYXRlIHJlc3BvbnNlLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgcGVuY2lsIHJlYWNoZWQgdGhlIGZpbmFsIHdvcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBrbm9ja3MgYW5zd2VyZWQgZnJvbSBpbnNpZGUgdGhlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgYW4gZWNoby4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByaHl0aG0gd2FzIHNsb3dlciB0aGFuIEtpbW15JiMzOTtzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS25vY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHBhdXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS25vY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGxvbmdlciBwYXVzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Cktub2NrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGJ1bGxldGluIGJvYXJkIHNoaWZ0ZWQgc2xpZ2h0bHkgYXdheSBmcm9tIHRoZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGhpZGRlbiBwYXNzYWdlIGFuc3dlcmVkIEtpbW15JiMzOTtzIHRocmVlIGtub2NrcyB3aXRoIGEgZGlmZmVyZW50IHRocmVlLWtub2NrIHJoeXRobSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0RpcmVjdCByZXNwb25zZTombHQ7L3N0cm9uZyZndDsgU29tZXRoaW5nIGluc2lkZSB0aGUgc2VhbGVkIHBhc3NhZ2UKCWFuc3dlcmVkIEtpbW15JiMzOTtzIGtub2NrIGFuZCBkaXN0dXJiZWQgdGhlIGJ1bGxldGluIGJvYXJkLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBkaWQgbm90IGtub2NrIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUmVwZWF0aW5nIGFuIGV4cGVyaW1lbnQgd2FzIHVzZWZ1bCBvbmx5IHdoZW4gdGhlIGV4cGVyaW1lbnQgd2FzIG5vdCBhbHNvCmxlYXJuaW5nIGFib3V0IHRoZSBwZXJzb24gcGVyZm9ybWluZyBpdC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbSW5zcGVjdCB0aGUgd2FsbCBiZWhpbmQgdGhlIGJ1bGxldGluIGJvYXJkLSZndDtLaW1teSBFeGFtaW5lcyBCZWhpbmQgdGhlIEJ1bGxldGluIEJvYXJkXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMTciIG5hbWU9IktpbW15IFRlc3RzIHRoZSBIZXhhZm9pbCBUcmFjaW5nIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTE1MCw4ODI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7VGVzdCB0aGUgYXJjaGl2ZSB0cmFjaW5nIGFnYWluc3QgdGhlIGNvbmNlYWxlZCBib3VuZGFyeSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2ltbXkgcmVtb3ZlZCB0aGUgZm9sZGVkIHRyYWNpbmcgZnJvbSB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjb3BpZWQgaGV4YWZvaWwgcmVtYWluZWQgdmlzaWJsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvIGRpZCB0aGUgd2FybmluZzoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpOb3QgYW4gaW52aXRhdGlvbi4mbHQ7YnImZ3Q7CkEgd2FybmluZy4mbHQ7YnImZ3Q7CktlZXAgdGhlIGNyb3NzaW5nIGNsb3NlZC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgaGVsZCB0aGUgdHJhY2luZyBhZ2FpbnN0IHRoZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBhcGVyIGFkaGVyZWQgdG8gdGhlIHBhaW50ZWQgYmxvY2tzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIHJlbGVhc2VkIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgcmVtYWluZWQgaW4gcGxhY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGFsbHdheSBsaWdodHMgZGltbWVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjb2xkIGxpbmUgdHJhdmVsZWQgdGhyb3VnaCB0aGUgd2FsbCBiZWhpbmQgdGhlIHBhcGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNvcGllZCBzeW1ib2wgZGFya2VuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3Igb25lIHNlY29uZCwgdGhlIHNpeCBwZXRhbHMgYXBwZWFyZWQgY3V0IGRpcmVjdGx5IGludG8gdGhlIHBhaW50ZWQKY2luZGVyIGJsb2Nrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gdGhlIHBhcGVyIGZlbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjYXVnaHQgaXQgYmVmb3JlIGl0IHJlYWNoZWQgdGhlIGZsb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9yaWdpbmFsIHdhcm5pbmcgaGFkIGNoYW5nZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKQSB3YXJuaW5nIGNhbiBiZWNvbWUgYW4gaW52aXRhdGlvbi4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGFyY2hpdmUgdHJhY2luZyByZXZlYWxlZCB0aGUgaGlkZGVuIGJvdW5kYXJ5IGluc2lkZSB0aGUgZWFzdC1oYWxsIHdhbGwmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O1RoZSBhcmNoaXZlIHdhcm5pbmcgY2hhbmdlZCBhZnRlciBjb250YWN0IHdpdGggdGhlIHNlYWxlZCBwYXNzYWdlJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Qm91bmRhcnkgcmVhY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBhcmNoaXZlIGhleGFmb2lsIHJldmVhbGVkIHRoZQoJY29uY2VhbGVkIGVudHJhbmNlLCB0aGVuIGNoYW5nZWQgaXRzIHdhcm5pbmcgYWZ0ZXIgdG91Y2hpbmcgdGhlIHdhbGwuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CkEgdGhpbiByZWN0YW5ndWxhciBvdXRsaW5lIGFwcGVhcmVkIGJlaGluZCB0aGUgYnVsbGV0aW4gYm9hcmQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0V4YW1pbmUgdGhlIHJldmVhbGVkIGRvb3J3YXktJmd0O0tpbW15IEV4YW1pbmVzIEJlaGluZCB0aGUgQnVsbGV0aW4gQm9hcmRdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIxOCIgbmFtZT0iS2ltbXkgUXVlc3Rpb25zIHRoZSBIaWRkZW4gVm9pY2UiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSI1NTAsODc3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGF0IHRoZSBoaWRkZW4gdm9pY2Ugd2FudHMgcmV0dXJuZWQmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgbmVlZHMgdG8gYmUgcmV0dXJuZWQ/JnF1b3Q7IEtpbW15IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGVyIHZvaWNlIHJlbWFpbmVkIHN0ZWFkeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmb290c3RlcHMgYmVoaW5kIHRoZSB3YWxsIG1vdmVkIGF3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgc3RlcC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClR3by4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gdGhleSBodXJyaWVkIGJhY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgcGljdHVyZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgcGljdHVyZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBvbmUgdGhhdCBmZWxsLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkmIzM5O3MgcGVuY2lsIHN0b3BwZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgaGFkIGhlYXJkIG5vIHJlcG9ydCBhYm91dCBhIGZhbGxlbiBwaWN0dXJlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hlcmUgZGlkIGl0IGZhbGw/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBdCB0aGUgaG91c2UuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGljaCBob3VzZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB2b2ljZSBsb3dlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGhvdXNlIHdpdGggZWxldmVuIHN0ZXBzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgd3JvdGUgdGhlIHN0YXRlbWVudCBleGFjdGx5LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIGhpZGRlbiB2b2ljZSBjb25uZWN0ZWQgYSBmYWxsZW4gcGljdHVyZSB3aXRoIGEgaG91c2UgY29udGFpbmluZyBlbGV2ZW4gc3RlcHMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O1RoZSBoaWRkZW4gcGFzc2FnZSBtYXkgY29ubmVjdCB0aGUgc2Nob29sIHdpdGggdGhlIFdpbmNoZXN0ZXIgaG91c2UmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtVbmtub3duIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB2b2ljZSByZWZlcmVuY2VkIGEgZmFsbGVuIHBpY3R1cmUKCWFuZCBhIGhvdXNlIHdpdGggZWxldmVuIHN0ZXBzLCBpbmZvcm1hdGlvbiBLaW1teSBoYWQgbm90IHByZXZpb3VzbHkgaGVhcmQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dobyBhcmUgeW91PyZxdW90OyBLaW1teSBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3YWxsIGFuc3dlcmVkIHdpdGggYSBzY3JhcGluZyBzb3VuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzZWFtIHdpZGVuZWQgZW5vdWdoIHRvIHJlbGVhc2UgYSBsaW5lIG9mIGNvbGQgYWlyLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTdGVwIGF3YXkgZnJvbSB0aGUgb3BlbmluZyBzZWFtLSZndDtLaW1teSBCb3VuZGFyeSBPcGVuc11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjE5IiBuYW1lPSJLaW1teSBCb3VuZGFyeSBPcGVucyIgdGFncz0iYmctbGlicmFyeSIgcG9zaXRpb249IjU1MCw4OTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogU2VhbGVkIEVhc3QtSGFsbCBQYXNzYWdlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1ByZXZlbnQgdGhlIGhpZGRlbiBib3VuZGFyeSBmcm9tIG9wZW5pbmcgY29tcGxldGVseSZxdW90OyZndDsmZ3Q7CgoKJmx0O3AmZ3Q7VGhlIGhpZGRlbiBzZWFtIHdpZGVuZWQgd2l0aG91dCBzY3JhcGluZyBwbGFzdGVyIG9yIGNyYWNraW5nIHBhaW50LiBUaGUgd2FsbCBkaWQgbm90IGJyZWFrIG9wZW4uIEl0IG1hZGUgcm9vbS4mbHQ7L3AmZ3Q7CiZsdDtwJmd0OwpUaGUgcGFpbnRlZCBzZWFtIHdpZGVuZWQgZnJvbSB0aGUgZmxvb3IgdXB3YXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gcGxhc3RlciBjcmFja2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gY2luZGVyIGJsb2NrcyBtb3ZlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3YWxsIHNlcGFyYXRlZCBhcyB0aG91Z2ggdGhlIGRvb3J3YXkgaGFkIGFsd2F5cyBleGlzdGVkIGFuZCB0aGUgc2Nob29sCmhhZCBvbmx5IHByZXRlbmRlZCBvdGhlcndpc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpDb2xkIGFpciBwb3VyZWQgdGhyb3VnaCB0aGUgbmFycm93IG9wZW5pbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBzbWVsbGVkIG9mIHdldCBzb2lsLCBvbGQgcGFwZXIsIGFuZCBzb21ldGhpbmcgc3dlZXQgdGhhdCBLaW1teSBjb3VsZCBub3QKaWRlbnRpZnkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHBhbGUgbGlnaHQgbW92ZWQgYmV5b25kIHRoZSBnYXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjb3VsZCBzZWUgb25seSBwYXJ0IG9mIHRoZSBwYXNzYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT2xkIGJyaWNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBkb3dud2FyZCBzZXQgb2Ygc3RlcHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNYXJrcyBzY3JhdGNoZWQgaW50byB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBdCBsZWFzdCBvbmUgc2V0IHJlc2VtYmxlZCBzbWFsbCBiYXJlIGZvb3RwcmludHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbm90aGVyIHRyYWlsIGxvb2tlZCBsaWtlIGFuaW1hbCBwYXdzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBhc3NhZ2UgZGlkIG5vdCBtYXRjaCB0aGUgc2Nob29sIGFyb3VuZCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGxvb2tlZCBvbGRlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck11Y2ggb2xkZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGZpZ3VyZSBzdG9vZCBhdCB0aGUgYm90dG9tIG9mIHRoZSB2aXNpYmxlIHN0ZXBzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSB3b3JlIGFuIG9sZC1mYXNoaW9uZWQgZHJlc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgaGFuZCByZXN0ZWQgYWdhaW5zdCB0aGUgYnJpY2sgd2FsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBvdGhlciBoZWxkIGEgcGhvdG9ncmFwaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNvdWxkIG5vdCBzZWUgdGhlIGZpZ3VyZSYjMzk7cyBmYWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSByYWlzZWQgdGhlIHBob3RvZ3JhcGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBnaXJscyBhcHBlYXJlZCBpbiB0aGUgaW1hZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbWlkZGxlIGdpcmwmIzM5O3MgZmFjZSBoYWQgYmVlbiBzY3JhdGNoZWQgYXdheS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIEtpbW15IGRvPyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgdGhlIGZpZ3VyZSB0byBpZGVudGlmeSB0aGUgcGhvdG9ncmFwaC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IEJvdW5kYXJ5IE9wZW5zOjE6NDlhMjUxNDgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktpbW15IEJvdW5kYXJ5IE9wZW5zOjE6NDlhMjUxNDgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5pbnRlcnZpZXcgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBRdWVzdGlvbnMgdGhlIFBhc3NhZ2UgRmlndXJlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtDb3B5IGV2ZXJ5IHZpc2libGUgZGV0YWlsIGJlZm9yZSB0aGUgcGFzc2FnZSBjbG9zZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLaW1teSBCb3VuZGFyeSBPcGVuczoyOmNiMjgxMTYxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLaW1teSBCb3VuZGFyeSBPcGVuczoyOmNiMjgxMTYxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtpbW15QXBwcm9hY2gudmVyaWZ5ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgRG9jdW1lbnRzIHRoZSBPcGVuIFBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1VzZSB0aGUgYXJjaGl2ZSB0cmFjaW5nIHRvIHJlc2VhbCB0aGUgZG9vcndheS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IEJvdW5kYXJ5IE9wZW5zOjM6MDgzMjcyZGImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktpbW15IEJvdW5kYXJ5IE9wZW5zOjM6MDgzMjcyZGImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5yZXNlYXJjaCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tpbW15IFJlc2VhbHMgdGhlIFBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1N0ZXAgY2xvc2VyIHdpdGhvdXQgY3Jvc3NpbmcgdGhlIHRocmVzaG9sZC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktpbW15IEJvdW5kYXJ5IE9wZW5zOjQ6MzY0NDEwNWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktpbW15IEJvdW5kYXJ5IE9wZW5zOjQ6MzY0NDEwNWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2ltbXlBcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2ltbXkgQXBwcm9hY2hlcyB0aGUgUGFzc2FnZSBCb3VuZGFyeSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMjAiIG5hbWU9IktpbW15IFJlY29yZHMgdGhlIEhpZGRlbiBWb2ljZSIgdGFncz0iYmctbGlicmFyeSIgcG9zaXRpb249IjE0MjUsODc3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1ByZXNlcnZlIHRoZSBleGFjdCBzdGF0ZW1lbnQgd2l0aG91dCBlbmdhZ2luZyB0aGUgdm9pY2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGRpZCBub3QgYW5zd2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIHdyb3RlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CllvdW5nIHZvaWNlIGJlaGluZCBzZWFsZWQgd2FsbDombHQ7YnImZ3Q7CuKAnERpZCB5b3UgYnJpbmcgaXQgYmFjaz/igJ0mbHQ7YnImZ3Q7CuKAnEx1Y2lsbGU/4oCdCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBwZW5jaWwgbW92ZWQgY2FyZWZ1bGx5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gaW50ZXJwcmV0YXRpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpObyBhc3N1bXB0aW9uIGFib3V0IGlkZW50aXR5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gY29uY2x1c2lvbiBhYm91dCB3aG8gb3Igd2hhdCBzdG9vZCBiZWhpbmQgdGhlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdm9pY2Ugc3Bva2UgYWdhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGlzIHRpbWUsIGl0IHNvdW5kZWQgaW1tZWRpYXRlbHkgYmVzaWRlIEtpbW15JiMzOTtzIGVhci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1lvdSB3cml0ZSBpdCBkb3duIHNvIHlvdSBkb24mIzM5O3QgaGF2ZSB0byByZW1lbWJlci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15JiMzOTtzIGhhbmQgdGlnaHRlbmVkIGFyb3VuZCB0aGUgcGVuY2lsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHZvaWNlIGNvbnRpbnVlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgd2hhdCBzaGUgZGlkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hvPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gYW5zd2VyIGZvbGxvd2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHllbGxvdyByaWJib24gbW92ZWQgYWNyb3NzIEtpbW15JiMzOTtzIG5vdGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgdW5kZXJsaW5lZDoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpMdWNpbGxlCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBoaWRkZW4gdm9pY2UgcmVjb2duaXplZCBLaW1teSYjMzk7cyBoYWJpdCBvZiBwcmVzZXJ2aW5nIGV2ZW50cyBpbiB3cml0aW5nJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtBIHByZXZpb3VzIG93bmVyIG9mIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlIG1heSBhbHNvIGhhdmUgZG9jdW1lbnRlZCB0aGUgbXlzdGVyeSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1JlcG9ydGVy4oCZcy1jYXNlIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBoaWRkZW4gdm9pY2UgaW1wbGllZCB0aGF0Cglhbm90aGVyIHBlcnNvbiB1c2VkIHdyaXRpbmcgdG8gcHJlc2VydmUgbWVtb3JpZXMgYW5kIG1heSBoYXZlIG93bmVkIEtpbW15JiMzOTtzCgljYXNlLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgc2VhbGVkIGRvb3J3YXkgY2xpY2tlZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU3RlcCBhd2F5IGZyb20gdGhlIG9wZW5pbmcgc2VhbS0mZ3Q7S2ltbXkgQm91bmRhcnkgT3BlbnNdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIyMSIgbmFtZT0iS2ltbXkgQXNrcyBBYm91dCBMdWNpbGxlIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMjUwLDg1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJZGVudGlmeSBMdWNpbGxlJiMzOTtzIGNvbm5lY3Rpb24gd2l0aCB0aGUgaGlkZGVuIHBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dobyBpcyBMdWNpbGxlPyZxdW90OyBLaW1teSBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB2b2ljZSBkaWQgbm90IGFuc3dlciBpbW1lZGlhdGVseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGhlYXJkIHNvZnQgbW92ZW1lbnQgYmVoaW5kIHRoZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IGZvb3RzdGVwcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClBhcGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTWFueSBzaGVldHMgYmVpbmcgdHVybmVkIGF0IG9uY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMdWN5IGZvcmdvdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgZGlkIEx1Y3kgZm9yZ2V0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hpY2ggc2lkZSBzaGUgYmVsb25nZWQgb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsb29rZWQgYXQgdGhlIHNlYWxlZCBkb29yd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGhleGFmb2lsIG1hcmtlZCB0aGUgZGl2aXNpb24gYmV0d2VlbiB0d28gc2lkZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGJvdW5kYXJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjcm9zc2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doZXJlIGlzIEx1Y3kgbm93PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHZvaWNlIGdhdmUgYSBzbWFsbCBsYXVnaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doaWNoIG9uZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB5ZWxsb3cgcmliYm9uIHNuYXBwZWQgdGlnaHQgYmV0d2VlbiB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBhbmQgdGhlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtUaGUgaGlkZGVuIHZvaWNlIHNhaWQgTHVjeSBmb3Jnb3Qgd2hpY2ggc2lkZSBvZiB0aGUgYm91bmRhcnkgc2hlIGJlbG9uZ2VkIG9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGVyZSBtYXkgYmUgbW9yZSB0aGFuIG9uZSB2ZXJzaW9uIG9yIGFwcGVhcmFuY2Ugb2YgTHVjeSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0lkZW50aXR5IHdhcm5pbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB2b2ljZSBpbXBsaWVkIHRoYXQgTHVjeSBjcm9zc2VkIGEKCWJvdW5kYXJ5IGFuZCB0aGF0IG1vcmUgdGhhbiBvbmUgTHVjeSBtYXkgbm93IGV4aXN0LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgc2VhbSBpbiB0aGUgd2FsbCBvcGVuZWQgYSBmcmFjdGlvbiBvZiBhbiBpbmNoLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tQdWxsIHRoZSB5ZWxsb3cgcmliYm9uIGZyZWUtJmd0O0tpbW15IFJldHJpZXZlcyB0aGUgWWVsbG93IFJpYmJvbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjIyIiBuYW1lPSJLaW1teSBSZXRyaWV2ZXMgdGhlIFllbGxvdyBSaWJib24iIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIxMjUsODYyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1JlY292ZXIgdGhlIHJpYmJvbiBiZWZvcmUgdGhlIGhpZGRlbiBkb29yd2F5IG9wZW5zJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLaW1teSBncmFiYmVkIHRoZSB5ZWxsb3cgcmliYm9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZhYnJpYyBoYWQgYmVjb21lIGljZS1jb2xkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIHB1bGxlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByaWJib24gcmVtYWluZWQgZml4ZWQgYWdhaW5zdCB0aGUgd2FsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHdyYXBwZWQgaXQgYXJvdW5kIG9uZSBoYW5kIGFuZCBwdWxsZWQgYWdhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21ldGhpbmcgcHVsbGVkIGZyb20gdGhlIG90aGVyIHNpZGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBzbGlkIGFjcm9zcyB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBwbGFudGVkIG9uZSBmb290IGFnYWluc3QgdGhlIHdhbGwgYW5kIHB1bGxlZCBoYXJkZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcmliYm9uIHN0cmV0Y2hlZCBidXQgZGlkIG5vdCB0ZWFyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRm9yIG9uZSBzZWNvbmQsIGFuIGltYWdlIGFwcGVhcmVkIGJlbmVhdGggdGhlIGxheWVycyBvZiBmYWRlZCBmYWJyaWMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBoYW5kd3JpdHRlbiBsZXR0ZXJzOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkwuVi4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlbiB0aGUgcmliYm9uIGNhbWUgZnJlZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IHN0dW1ibGVkIGJhY2t3YXJkIHdpdGggdGhlIHJpYmJvbiB3cmFwcGVkIGFyb3VuZCBoZXIgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3YWxsIHNodWRkZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgZGlzYXBwb2ludGVkIHNpZ2ggZXNjYXBlZCB0aHJvdWdoIHRoZSBzZWFtLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIHllbGxvdyByaWJib24gaW5zaWRlIEtpbW15JiMzOTtzIHJlcG9ydGVyJiMzOTtzIGNhc2UgaXMgbWFya2VkIHdpdGggdGhlIGluaXRpYWxzIEwuVi4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O1RoZSByaWJib24gbWF5IGhhdmUgYmVsb25nZWQgdG8gTHVjaWxsZSBWYWxlJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Q2FzZSBldmlkZW5jZTombHQ7L3N0cm9uZyZndDsgVGhlIHllbGxvdyByaWJib24gaXMgbWFya2VkIEwuVi4sIHBvc3NpYmx5Cgljb25uZWN0aW5nIEtpbW15JiMzOTtzIHJlcG9ydGVyJiMzOTtzIGNhc2Ugd2l0aCBMdWNpbGxlIFZhbGUuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBzZWFtIHdpZGVuZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW01vdmUgYXdheSBmcm9tIHRoZSBkb29yd2F5LSZndDtLaW1teSBCb3VuZGFyeSBPcGVuc11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjIzIiBuYW1lPSJLaW1teSBRdWVzdGlvbnMgdGhlIFBhc3NhZ2UgRmlndXJlIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iOTI1LDg5MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJZGVudGlmeSB0aGUgZmlndXJlIHdpdGhvdXQgY3Jvc3NpbmcgdGhlIGJvdW5kYXJ5JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtXaG8gaXMgaW4gdGhlIHBob3RvZ3JhcGg/JnF1b3Q7IEtpbW15IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSB0aWx0ZWQgdGhlIGltYWdlIHRvd2FyZCB0aGUgcGFsZSBsaWdodC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0d28gcmVtYWluaW5nIGZhY2VzIGJlY2FtZSB2aXNpYmxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNjcmF0Y2hlZCBjZW50ZXIgcmVtYWluZWQgYmxhbmsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlndXJlIGFuc3dlcmVkIHdpdGhvdXQgcmFpc2luZyBpdHMgaGVhZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O015IHNpc3RlcnMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGljaCBvbmUgYXJlIHlvdT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgbW92ZWQgb25lIGZpbmdlciB0b3dhcmQgdGhlIGRhbWFnZWQgY2VudGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiBzdG9wcGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBkZXBlbmRzIG9uIHdoaWNoIHNpZGUgeW91IGFzayBmcm9tLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkga2VwdCBib3RoIGZlZXQgaW4gdGhlIG1vZGVybiBoYWxsd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBoYXBwZW5lZCBpbiAxOTM4PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSBsb3dlcmVkIHRoZSBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBpcyB3aGVuIHRoZXkgY2xvc2VkIHRoaXMgZG9vci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dobyBjbG9zZWQgaXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlndXJlIGZpbmFsbHkgcmFpc2VkIGl0cyBmYWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZlYXR1cmVzIHJlbWFpbmVkIGluZGlzdGluY3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgaGlkZGVuIGJ5IGRhcmtuZXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTWlzc2luZyBmcm9tIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QmxhY2t3b29kLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAka2ltbXlGb3VuZEJsYWNrd29vZFJlZmVyZW5jZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIHBhc3NhZ2UgZmlndXJlIHNhaWQgQmxhY2t3b29kIGNsb3NlZCB0aGUgaGlkZGVuIGRvb3J3YXkgaW4gMTkzOCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0RpcmVjdCBoaXN0b3JpY2FsIGNsYWltOiZsdDsvc3Ryb25nJmd0OyBUaGUgZmlndXJlIGluc2lkZSB0aGUgcGFzc2FnZQoJaWRlbnRpZmllZCB0aGUgdGhyZWUgZ2lybHMgYXMgc2lzdGVycyBhbmQgc2FpZCBCbGFja3dvb2QgY2xvc2VkIHRoZSBkb29yd2F5CglpbiAxOTM4LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgZmlndXJlIHRvb2sgb25lIHN0ZXAgdXB3YXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgc3RlcHBlZCBiYWNrLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDbG9zZSB0aGUgYm91bmRhcnkgYmVmb3JlIHRoZSBmaWd1cmUgcmVhY2hlcyBpdC0mZ3Q7S2ltbXkgUmVzZWFscyB0aGUgUGFzc2FnZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjI0IiBuYW1lPSJLaW1teSBSZXNlYWxzIHRoZSBQYXNzYWdlIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iOTI1LDkwMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDbG9zZSB0aGUgaGlkZGVuIHBhc3NhZ2Ugd2l0aG91dCBjcm9zc2luZyB0aGUgYm91bmRhcnkmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHJlbW92ZWQgdGhlIGFyY2hpdmUgdHJhY2luZyBmcm9tIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNvcGllZCBoZXhhZm9pbCBoYWQgZGFya2VuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FybmluZyBiZW5lYXRoIGl0IG5vdyByZWFkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkNMT1NFIFdIQVQgQU5TV0VSRUQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IGhlbGQgdGhlIHRyYWNpbmcgYWdhaW5zdCB0aGUgZXhwb3NlZCBkb29yd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90aGluZyBoYXBwZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgY2xpbWJlZCBhbm90aGVyIHN0ZXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSByb3RhdGVkIHRoZSB0cmFjaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBldGFscyBhbGlnbmVkIHdpdGggdGhlIGNhcnZlZCBzeW1ib2wgbmVhciB0aGUgdGhyZXNob2xkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBhcGVyIHB1bGxlZCBpdHNlbGYgZmxhdCBhZ2FpbnN0IHRoZSBwYWludGVkIGJsb2Nrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgc3RvcHBlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBoaWRkZW4gZG9vcndheSBiZWdhbiB0byBjbG9zZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNsb3dseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgcmFpc2VkIHRoZSBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNjcmF0Y2hlZC1hd2F5IGZhY2UgaW4gdGhlIGNlbnRlciBoYWQgcmV0dXJuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSByZWNvZ25pemVkIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIHRoZSBvbGQtZmFzaGlvbmVkIGNoaWxkIGRlc2NyaWJlZCBpbiBvbmUgb2YgdGhlIG1vcm5pbmcmIzM5O3MgcmVwb3J0cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgc3Bva2UgYmVmb3JlIHRoZSBvcGVuaW5nIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGVsbCBLZXZpbiB0aGUgcGljdHVyZSB3YW50cyB0byBjb21lIGhvbWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FsbCBzZWFsZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgYnVsbGV0aW4gYm9hcmQgc2V0dGxlZCBhZ2FpbnN0IGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGFyY2hpdmUgdHJhY2luZyBmZWxsIHRvIHRoZSBmbG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkV2ZXJ5IGNvcGllZCBsaW5lIGhhZCB2YW5pc2hlZCBleGNlcHQgb25lOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CktFVklOCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBwYXNzYWdlIGZpZ3VyZSBjb25uZWN0ZWQgS2V2aW4gd2l0aCB0aGUgbWlzc2luZyBwaG90b2dyYXBoJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15TGVhZCgmcXVvdDtUaGUgbWlzc2luZyBwaG90b2dyYXBoIG1heSBiZSBhdHRlbXB0aW5nIHRvIHJldHVybiB0byB0aGUgV2luY2hlc3RlciBob3VzZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7VGhlIG9sZC1mYXNoaW9uZWQgY2hpbGQgcmVwb3J0ZWQgbmVhciB0aGUgZWxlbWVudGFyeSBzY2hvb2wgYXBwZWFycyBpbiB0aGUgaGlzdG9yaWNhbCBwaG90b2dyYXBoJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7TWVzc2FnZSBmb3IgS2V2aW46Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBmaWd1cmUgaW5zaWRlIHRoZSBwYXNzYWdlIHNhaWQgdGhlCgltaXNzaW5nIHBob3RvZ3JhcGggd2FudHMgdG8gcmV0dXJuIGhvbWUgYW5kIHNwZWNpZmljYWxseSBpbnN0cnVjdGVkIEtpbW15Cgl0byB0ZWxsIEtldmluLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBwaWNrZWQgdXAgdGhlIHRyYWNpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2FsbCBsb29rZWQgc29saWQgYWdhaW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgcHJlc3NlZCBvbmUgaGFuZCBhZ2FpbnN0IGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gdmlicmF0aW9uIGFuc3dlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRnJvbSBmYXIgYmV5b25kIHRoZSB3YWxsIGNhbWUgb25lIGZpbmFsIHNvdW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjYXQgbWVvd2VkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tSZXZpZXcgS2ltbXkmIzM5O3MgZXZpZGVuY2UtJmd0O0tpbW15IENoYXB0ZXIgNCBTdW1tYXJ5XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMjUiIG5hbWU9IktpbW15IERvY3VtZW50cyB0aGUgT3BlbiBQYXNzYWdlIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTAyNSw4NzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UHJlc2VydmUgcGh5c2ljYWwgZGV0YWlscyBvZiB0aGUgaGlkZGVuIHBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBvbiB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgd3JvdGUgYXMgcXVpY2tseSBhcyBzaGUgY291bGQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbGQgYnJpY2sgcGFzc2FnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClN0ZXBzIGRlc2NlbmRpbmcgYmVuZWF0aCB0aGUgc2Nob29sLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmFyZSBmb290cHJpbnRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQW5pbWFsIHBhdyBwcmludHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGaWd1cmUgaG9sZGluZyBhIHBob3RvZ3JhcGggb2YgdGhyZWUgZ2lybHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlndXJlIGJlZ2FuIGNsaW1iaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkga2VwdCB3cml0aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBoZXhhZm9pbCBoYWQgYmVlbiBjdXQgaW50byB0aGUgdGhpcmQgdmlzaWJsZSBzdGVwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUm9tYW4gbnVtZXJhbCBJSSBhYm92ZSB0aGUgZG9vcndheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJvbWFuIG51bWVyYWwgWEkgYmVsb3cgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlndXJlIHJlYWNoZWQgdGhlIG5leHQgc3RlcC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGRyZXcgdGhlIG51bWVyYWwgYXJyYW5nZW1lbnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmlndXJlJiMzOTtzIGhhbmQgdG91Y2hlZCB0aGUgcGFzc2FnZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRXZlcnkgZm9vdHByaW50IG9uIHRoZSBzdGFpcnMgdHVybmVkIHRvd2FyZCBLaW1teS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkluY2x1ZGluZyB0aGUgcGF3IHByaW50cy4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBoaWRkZW4gcGFzc2FnZSBjb250YWlucyBzdGVwcyBtYXJrZWQgd2l0aCBJSSwgWEksIGFuZCBhIGhleGFmb2lsJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEtpbW15RmFjdCgmcXVvdDtCb3RoIGh1bWFuIGFuZCBhbmltYWwgdHJhY2tzIGluc2lkZSB0aGUgcGFzc2FnZSByZWFjdGVkIHRvIEtpbW15JiMzOTtzIHByZXNlbmNlJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RG9jdW1lbnRlZCBwYXNzYWdlOiZsdDsvc3Ryb25nJmd0OyBLaW1teSByZWNvcmRlZCB0aGUgZGVzY2VuZGluZyBzdGVwcywKCWhleGFmb2lsLCBSb21hbiBudW1lcmFscywgcGhvdG9ncmFwaCwgYW5kIHRyYWNrcyBiZWZvcmUgdGhlIGV2aWRlbmNlIGNvdWxkCgljaGFuZ2UuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWd1cmUgY29udGludWVkIGNsaW1iaW5nLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tSZXNlYWwgdGhlIHBhc3NhZ2UtJmd0O0tpbW15IFJlc2VhbHMgdGhlIFBhc3NhZ2VdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIyNiIgbmFtZT0iS2ltbXkgQXBwcm9hY2hlcyB0aGUgUGFzc2FnZSBCb3VuZGFyeSIgdGFncz0iYmctbGlicmFyeSIgcG9zaXRpb249IjI1MCw4OTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIGhvdyB0aGUgYm91bmRhcnkgcmVhY3RzIHdpdGhvdXQgY3Jvc3NpbmcgaXQmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHN0ZXBwZWQgY2xvc2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIHN0b3BwZWQgYmVmb3JlIHRoZSBwYWludGVkIHNlYW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgZm9vdCByZW1haW5lZCBzZXZlcmFsIGluY2hlcyBmcm9tIHRoZSBvcGVuaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGFpciBjaGFuZ2VkIGF0IHRoZSB0aHJlc2hvbGQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGFsbHdheSBiZWhpbmQgS2ltbXkgZmVsdCB3YXJtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBhc3NhZ2UgYWhlYWQgZmVsdCBjb2xkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGJvdW5kYXJ5IGJldHdlZW4gdGhlbSBmZWx0IG5laXRoZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBleHRlbmRlZCBvbmUgcGVuY2lsIGFjcm9zcyB0aGUgc2VhbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzaGFycGVuZWQgZW5kIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hlIHB1bGxlZCBpdCBiYWNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHdvb2QgcmVtYWluZWQgaW50YWN0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGdyYXBoaXRlIHBvaW50IGhhZCBiZWVuIHdvcm4gZmxhdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWVvbmUgaGFkIHdyaXR0ZW4gYSB3b3JkIGFsb25nIHRoZSB5ZWxsb3cgcGFpbnQ6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKRU5URVIKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgaGFkIG5vdCB3cml0dGVuIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSBhdCB0aGUgZm9vdCBvZiB0aGUgc3RhaXJzIHJhaXNlZCBvbmUgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBnZXN0dXJlIGNvdWxkIGhhdmUgbWVhbnQgd2VsY29tZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGNvdWxkIGFsc28gaGF2ZSBtZWFudCBzdG9wLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbG9va2VkIGF0IHRoZSBoZXhhZm9pbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgc3ltYm9sIGRlc2lnbmVkIHRvIGtlZXAgYSBjcm9zc2luZyBjbG9zZWQgc2hvdWxkIG5vdCBiZSBpbnRlcnByZXRlZCBhcyBhbgppbnZpdGF0aW9uLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRLaW1teUZhY3QoJnF1b3Q7QW4gb2JqZWN0IGNyb3NzaW5nIHRoZSBib3VuZGFyeSByZXR1cm5lZCBwaHlzaWNhbGx5IGFsdGVyZWQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlMZWFkKCZxdW90O1RoZSBoaWRkZW4gcGFzc2FnZSBhdHRlbXB0ZWQgdG8gaW52aXRlIEtpbW15IGFjcm9zcyB0aGUgYm91bmRhcnkmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtCb3VuZGFyeSB0ZXN0OiZsdDsvc3Ryb25nJmd0OyBLaW1teSYjMzk7cyBwZW5jaWwgcmV0dXJuZWQgYWx0ZXJlZCBhZnRlcgoJY3Jvc3NpbmcgdGhlIHNlYW0sIHdpdGggdGhlIHdvcmQgRU5URVIgd3JpdHRlbiBhbG9uZyBpdHMgc2lkZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgcGxhY2VkIHRoZSBhbHRlcmVkIHBlbmNpbCBpbnNpZGUgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuICRpbnZlbnRvcnkuS2ltbXkucHVzaFVuaXF1ZSgmcXVvdDtQZW5jaWwgbWFya2VkIEVOVEVSJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tSZXNlYWwgdGhlIHBhc3NhZ2UtJmd0O0tpbW15IFJlc2VhbHMgdGhlIFBhc3NhZ2VdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIyNyIgbmFtZT0iS2ltbXkgQ2hhcHRlciA0IFN1bW1hcnkiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSI5MjUsOTE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXI0Q29tcGxldGUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IExpYnJhcnkgSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIEtldmluIGFuZCBkZWNpZGUgd2hhdCBldmlkZW5jZSB0byBzaGFyZSZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtDaGFwdGVyIEZvdXIgQ29tcGxldGUmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtLaW1teSBXaGl0bW9yZSZsdDsvaDEmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7CgkJRmFjdHMgRG9uJiMzOTt0IFN0b3AgQmVpbmcgRmFjdHMgQmVjYXVzZSBBZHVsdHMgSWdub3JlIFRoZW0KCSZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSByZXR1cm5lZCBldmVyeSBhcmNoaXZlIGl0ZW0gdG8gaXRzIHByb3BlciBsb2NhdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB5ZWFyYm9vayB3ZW50IGJhY2sgdG8gdGhlIGJvdHRvbSBzaGVsZi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmbG9vciBwbGFuIHJldHVybmVkIHRvIHRoZSBncmF5IGJveC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBuZXdzcGFwZXJzIHJldHVybmVkIHRvIHRoZWlyIHVub3JnYW5pemVkIHN0YWNrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBldmlkZW5jZSBpbnNpZGUgaGVyIHJlcG9ydGVyJiMzOTtzIGNhc2UgcmVtYWluZWQgd2l0aCBoZXIuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkIGNoYXB0ZXItc3VtbWFyeS1jbHVlcyZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2ltbXkmIzM5O3MgQ2hhcHRlciBGb3VyIGRpc2NvdmVyaWVzOiZsdDsvc3Ryb25nJmd0OwoKCSZsdDt1bCZndDsKCQkmbHQ7bGkmZ3Q7VGhyZWUgc2xvdyBrbm9ja3MgaGF2ZSBiZWVuIHJlcG9ydGVkIGluIG11bHRpcGxlIGFyZWFzIG9mIHRoZSBzY2hvb2wuJmx0Oy9saSZndDsKCgkJJmx0OyZsdDtpZiAka2ltbXlJbnRlcnZpZXdlZFN0dWRlbnQmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7QSBzdHVkZW50IHdpdG5lc3NlZCBkYXJrLCB3ZXQgbWF0ZXJpYWwgbmVhciB0aGUgYm95cyYjMzk7IGJhdGhyb29tLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkmbHQ7Jmx0O2lmICRraW1teUZhY3RzLmluY2x1ZGVzKCZxdW90O1RoZSBkYXJrIHRyYWlsIHJlcG9ydGVkbHkgc3RvcHBlZCBhdCB0aGUgcHJpbmNpcGFsJiMzOTtzIGJyYXNzIHRocmVzaG9sZCZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIGRhcmsgdHJhaWwgc3RvcHBlZCBhdCB0aGUgcHJpbmNpcGFsJiMzOTtzIGJyYXNzIHRocmVzaG9sZC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAka2ltbXlGYWN0cy5pbmNsdWRlcygmcXVvdDtBIDE5MzggZmxvb3IgcGxhbiBzaG93cyBhIGhpZGRlbiBwYXNzYWdlIGNvbm5lY3RpbmcgdGhlIGJhdGhyb29tIGFyZWEgd2l0aCB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7QSAxOTM4IGZsb29yIHBsYW4gc2hvd3MgYSBoaWRkZW4gcGFzc2FnZSBiZXR3ZWVuIHRoZSBiYXRocm9vbSBhcmVhIGFuZCBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkmbHQ7Jmx0O2lmICRraW1teUZvdW5kSGlzdG9yaWNhbFN5bWJvbCZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgaGlzdG9yaWNhbCBoZXhhZm9pbCBtYXJrZWQgYSBib3VuZGFyeSBvciBjcm9zc2luZy4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAka2ltbXlGb3VuZEJsYWNrd29vZFJlZmVyZW5jZSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgQmxhY2t3b29kIG5hbWUgYXBwZWFycyBpbiBldmlkZW5jZSBjb25uZWN0ZWQgd2l0aCB0aGUgc2VhbGVkIHBhc3NhZ2UuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJGtpbW15Rm91bmRPbGRQaG90b2dyYXBoJmd0OyZndDsKCQkJJmx0O2xpJmd0O0EgMTkzOCBwaG90b2dyYXBoIGNvbnRhaW5zIHRocmVlIG9sZC1mYXNoaW9uZWQgZ2lybHMgaW5zaWRlIHRoZSBzY2hvb2wuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJGtpbW15Tm90aWNlZENoYW5nZWRQaG90b2dyYXBoJmd0OyZndDsKCQkJJmx0O2xpJmd0O1RoZSBoaXN0b3JpY2FsIHBob3RvZ3JhcGggY2hhbmdlZCB3aGlsZSBLaW1teSBleGFtaW5lZCBpdC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0O2xpJmd0O0Egc2VhbGVkIGRvb3J3YXkgc3RpbGwgZXhpc3RzIGJlaGluZCB0aGUgZWFzdC1oYWxsIGJ1bGxldGluIGJvYXJkLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RoZSBoaWRkZW4gcGFzc2FnZSBjb250YWlucyBodW1hbiBmb290cHJpbnRzIGFuZCBhbmltYWwgcGF3IHByaW50cy4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtBIGZpZ3VyZSBpbnNpZGUgdGhlIHBhc3NhZ2UgY29ubmVjdGVkIEx1Y2lsbGUsIEtldmluLCBhbmQgdGhlIG1pc3NpbmcgcGhvdG9ncmFwaC4mbHQ7L2xpJmd0OwoKCQkmbHQ7Jmx0O2lmICRpbnZlbnRvcnkuS2ltbXkuaW5jbHVkZXMoJnF1b3Q7QXJjaGl2ZSBoZXhhZm9pbCB0cmFjaW5nJnF1b3Q7KSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtLaW1teSBpcyBjYXJyeWluZyBhbiBhcmNoaXZlIHRyYWNpbmcgb2YgdGhlIGhleGFmb2lsLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkmbHQ7Jmx0O2lmICRpbnZlbnRvcnkuS2ltbXkuaW5jbHVkZXMoJnF1b3Q7UGVuY2lsIG1hcmtlZCBFTlRFUiZxdW90OykmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7S2ltbXkgaXMgY2FycnlpbmcgYSBwZW5jaWwgYWx0ZXJlZCBhZnRlciBjcm9zc2luZyB0aGUgYm91bmRhcnkuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7L3VsJmd0OwombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBoYWQgYmVndW4gdGhlIG1vcm5pbmcgd2l0aCB0aHJlZSBydW1vcnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgbm93IGhhZCB2ZXJpZmllZCBldmlkZW5jZSwgaGlzdG9yaWNhbCByZWNvcmRzLCBhbiBhbHRlcmVkIG9iamVjdCwgYW5kIGEKbWVzc2FnZSBpbnRlbmRlZCBmb3Igc29tZW9uZSBzaGUgaGFkIG5vdCB5ZXQgbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgd3JvdGUgdGhlIG5hbWUgb24gYSBjbGVhbiBwYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBlbmNpbCBkaWQgbm90IHRvdWNoIHRoZSBwYXBlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3b3JkIGFwcGVhcmVkIGFueXdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkJlbmVhdGggaXQsIGFub3RoZXIgbmFtZSBzbG93bHkgZm9ybWVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClNDT09UCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IHN0YXJlZCBhdCB0aGUgc2Vjb25kIG5hbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGUgZGlkIG5vdCBrbm93IFNjb290IFJleW5vbGRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IHlldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWV3aGVyZSBmYXJ0aGVyIGRvd24gdGhlIGhhbGwsIGEgY2xhc3Nyb29tIGxpZ2h0IGZsaWNrZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgc3R1ZGVudCBsYXVnaGVkIHRvbyBsb3VkbHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIHNvbWVvbmUgYXNrZWQ6CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtEbyBJIGhhdmUgYSBib29nZXIgaGFuZ2luZyBmcm9tIG15IG5vc2U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjbG9zZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbnRpbnVlIHRvIENoYXB0ZXIgRml2ZS0mZ3Q7Q2hhcHRlciA1IFRyYW5zaXRpb25dXQombHQ7L2RpdiZndDsKCiZsdDsmbHQ7c2V0ICRraW1teUFiaWxpdHkgPSAmcXVvdDtWZXJpZmllZEV2aWRlbmNlJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0FiaWxpdHkgdW5sb2NrZWQ6IFZlcmlmaWVkIEV2aWRlbmNlLiZsdDsvc3Ryb25nJmd0OyBLaW1teSBjYW4gc2VwYXJhdGUgY29uZmlybWVkIGNsdWVzIGZyb20gdW5zdXBwb3J0ZWQgY2xhaW1zLiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjI4IiBuYW1lPSJDaGFwdGVyIDUgVHJhbnNpdGlvbiIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjkyNSw5Mjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2hhcHRlciA9IDUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkcG92ID0gJnF1b3Q7U2Nvb3QmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogSG9tZXJvb20mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7U3Vydml2ZSBob21lcm9vbSB3aXRob3V0IHB1YmxpYyBodW1pbGlhdGlvbiZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtFcGlzb2RlIE9uZSZsdDsvZGl2Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLW51bWJlciZxdW90OyZndDtDaGFwdGVyIEZpdmUmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtTY29vdCBSZXlub2xkcyZsdDsvaDEmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0OwoJCUkgQWxtb3N0IENvbnZpbmNlZCBNeXNlbGYsIEFsbW9zdAoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLW9iamVjdGl2ZSZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O0ltbWVkaWF0ZSBvYmplY3RpdmU6Jmx0Oy9zdHJvbmcmZ3Q7CgkJU3Vydml2ZSBob21lcm9vbSB3aXRob3V0IHB1YmxpYyBodW1pbGlhdGlvbiBhbmQgZGV0ZXJtaW5lIHdoeSBTY29vdCYjMzk7cwoJCXNoYWRvdyBtb3ZlZCBpbiB0aGUgd3JvbmcgZGlyZWN0aW9uLgoJJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtwb3Ytbm90aWNlJnF1b3Q7Jmd0OwoJWW91IGFyZSBub3cgcGxheWluZyBhcyAmbHQ7c3Ryb25nJmd0O1Njb290Jmx0Oy9zdHJvbmcmZ3Q7LiBTY29vdCBkb2VzIG5vdCBrbm93IHdoYXQKCUtldmluIGV4cGVyaWVuY2VkIGF0IHRoZSBXaW5jaGVzdGVyIGhvdXNlLCB3aGF0IFJ5YW4gZGlzY292ZXJlZCBpbnNpZGUgdGhlCglwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLCBvciB3aGF0IEtpbW15IGZvdW5kIGluIHRoZSBzY2hvb2wgYXJjaGl2ZXMuIFNjb290IGNhbgoJYWN0IG9ubHkgb24gd2hhdCBTY29vdCBwZXJzb25hbGx5IG9ic2VydmVzIG9yIHdoYXQgYW5vdGhlciBjaGFyYWN0ZXIKCWNob29zZXMgdG8gcmV2ZWFsLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpXaGlsZSBLaW1teSBXaGl0bW9yZSB3YXMgY2xvc2luZyBhIGRvb3J3YXkgdGhhdCBzdXBwb3NlZGx5IGRpZCBub3QgZXhpc3QsClNjb290IFJleW5vbGRzIHdhcyB0cnlpbmcgdG8gc29sdmUgYSBtb3JlIGltbWVkaWF0ZSBteXN0ZXJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGlzIGZhY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3JlIHNwZWNpZmljYWxseSwgd2hldGhlciBzb21ldGhpbmcgdW5mb3J0dW5hdGUgaGFkIGF0dGFjaGVkIGl0c2VsZiB0byBpdC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbQmVnaW4gU2Nvb3QmIzM5O3MgZmlyc3QgaG9tZXJvb20tJmd0O1Njb290IE9wZW5pbmddXQombHQ7L2RpdiZndDsKCi8qIFY0LjMgYm91bmRhcnkgY2hlY2twb2ludCBjaGFwdGVyIDUgKi8KJmx0OyZsdDtydW4gc2V0dXAudjQzQ2FwdHVyZUJvdW5kYXJ5KDUsICZxdW90O0NoYXB0ZXIgNSBUcmFuc2l0aW9uJnF1b3Q7LCAxKSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLnY0NENhcHR1cmVDaGFwdGVyKDUsICZxdW90O0NoYXB0ZXIgNSBUcmFuc2l0aW9uJnF1b3Q7LCAxKSZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjI5IiBuYW1lPSJTY29vdCBPcGVuaW5nIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iOTI1LDk0MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBIb21lcm9vbSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2h5IGFub3RoZXIgc3R1ZGVudCByZWFjdGVkIHN0cmFuZ2VseSB0byBTY29vdCZxdW90OyZndDsmZ3Q7CgoKJmx0O3AmZ3Q7U2Nvb3QgUmV5bm9sZHMgc2F0IGFsb25lIGluIGhvbWVyb29tLCB3aGljaCBub3JtYWxseSB3b3VsZCBoYXZlIGJlZW4gcGVhY2VmdWwuIFRoaXMgbW9ybmluZywgdGhlIGVtcHR5IGRlc2tzIHNlZW1lZCBsZXNzIHVub2NjdXBpZWQgdGhhbiB3YWl0aW5nLiZsdDsvcCZndDsKJmx0O3AmZ3Q7VGhlIHJvb20gaGFkIHRoZSBoZWxkLWJyZWF0aCBzdGlsbG5lc3Mgb2YgYSBwbGFjZSB3YWl0aW5nIGZvciBzb21lb25lIHRvIHNheSB0aGUgd3JvbmcgdGhpbmcuJmx0Oy9wJmd0OwombHQ7cCZndDsKJnF1b3Q7RG8gSSBoYXZlIGEgYm9vZ2VyIGhhbmdpbmcgZnJvbSBteSBub3NlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgc2l0dGluZyBiZXNpZGUgU2Nvb3Qgc3RhcmVkIGF0IGhpbS4gTm90IGJyaWVmbHkuIE5vdCBwb2xpdGVseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHN0YXJlZCBhcyBpZiBTY29vdCBoYWQganVzdCBhc2tlZCBmb3IgZGlyZWN0aW9ucyB0byBhbm90aGVyCnBsYW5ldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTb3JyeS4gUmFuZG9tIHF1ZXN0aW9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgbGVhbmVkIGNsb3Nlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgbmVlZCBhIGZhY2UgY2hlY2suIElzIHRoZXJlIGEgdmlzaWJsZSBib29nZXIgaGFuZ2luZyBmcm9tIG15IG5vc2U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIZSB0aWx0ZWQgaGlzIGhlYWQgYmFjayBhbmQgcHJvdmlkZWQgd2hhdCBoZSBjb25zaWRlcmVkIGEgY2xlYXIgdmlld2luZyBhbmdsZS4gVGhlIHN0dWRlbnQgbG9va2VkIGF3YXkuIFRoZW4gc2xvd2x5IHNob29rIHRoZWlyIGhlYWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtPa2F5LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgaG9va2VkIHR3byBmaW5nZXJzIGludG8gdGhlIGNvcm5lcnMgb2YgaGlzIG1vdXRoIGFuZCBzdHJldGNoZWQgaGlzIGxpcHMKaW50byBhIHdpZGUgc21pbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGFib3V0IG15IHRlZXRoPyBBbnl0aGluZyBzdHVjayBpbiB0aGVyZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGNvbGxlY3RlZCB0aHJlZSBib29rcywgYSBwZW5jaWwsIGFuZCBhbiBlcmFzZXIuIFRoZW4gbW92ZWQgdG8gYW5vdGhlciBkZXNrLiBTY29vdCBub2RkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGYWlyLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAkc2Nvb3RDaGVja2VkRmFjZSA9IHRydWUmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClRoZXJlIHdhcyBhIHJlYXNvbiBmb3IgdGhlIGluc3BlY3Rpb24uIFNvbWVvbmUgaGFkIGVudGVyZWQgaG9tZXJvb20sIGdsYW5jZWQgdG93YXJkIFNjb290LCBhbmQgc21pbGVkLiBTY29vdCBoYWQgc21pbGVkIGJhY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBdCBsZWFzdCwgaGUgaGFkIGF0dGVtcHRlZCB0byBzbWlsZS4gVGhlIHJlc3VsdCBtYXkgaGF2ZSByZXNlbWJsZWQgc29tZW9uZSBkaXNjb3ZlcmluZyBhbiBleHRyYSBjaGlja2VuIG51Z2dldCB3aGlsZSBzaW11bHRhbmVvdXNseSBiZWluZyBzdHJ1Y2sgYnkgbGlnaHRuaW5nLiBUaGUgcGVyc29uIHdhbGtlZCBwYXN0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQXMgdGhlIHBlcnNvbiBwYXNzZWQgU2Nvb3QmIzM5O3MgZGVzaywgdGhlIGZsdW9yZXNjZW50IGxpZ2h0IG92ZXJoZWFkIGZsaWNrZXJlZC4gU2Nvb3QgbG9va2VkIGRvd24uIEhpcyBzaGFkb3cgc3RyZXRjaGVkIGFjcm9zcyB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJbiB0aGUgd3JvbmcgZGlyZWN0aW9uLiBFdmVyeSBvdGhlciBzaGFkb3cgaW4gdGhlIGNsYXNzcm9vbSBhbmdsZWQgdG93YXJkIHRoZSB3aW5kb3dzLiBTY29vdCYjMzk7cyBzaGFkb3cgcG9pbnRlZCB0b3dhcmQgdGhlIGNsYXNzcm9vbSBkb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgcmVtYWluZWQgdGhlcmUgZm9yIG9uZSBzZWNvbmQuIFRoZW4gdGhlIGxpZ2h0IGZsaWNrZXJlZCBhZ2Fpbi4gVGhlIHNoYWRvdyByZXR1cm5lZCB0byBub3JtYWwuCiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRzY29vdE5vdGljZWRXcm9uZ1NoYWRvdyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1Njb290JiMzOTtzIHNoYWRvdyBtb3ZlZCBpbiB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIGZyb20gZXZlcnkgb3RoZXIgY2xhc3Nyb29tIHNoYWRvdyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTY29vdCYjMzk7cyBpbnN0aW5jdDombHQ7L3N0cm9uZyZndDsgVGhlIGZsdW9yZXNjZW50IGxpZ2h0IGZsaWNrZXJlZCwgYW5kCglTY29vdCYjMzk7cyBzaGFkb3cgYnJpZWZseSBwb2ludGVkIGluIHRoZSB3cm9uZyBkaXJlY3Rpb24uCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpQb3NzaWJsZSBleHBsYW5hdGlvbnM6Jmx0O2JyJmd0OwpCYWQgbGlnaHRpbmcuJmx0O2JyJmd0OwpXaW5kb3cgcmVmbGVjdGlvbi4mbHQ7YnImZ3Q7CkZhY2UtcmVsYXRlZCBlbWVyZ2VuY3kuJmx0O2JyJmd0OwpTb21ldGhpbmcgd29yc2UuCiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgU2Nvb3QgcmVzcG9uZD8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVzdCB3aGV0aGVyIGFub3RoZXIgb2JqZWN0IGNhc3RzIHRoZSBzYW1lIHdyb25nIHNoYWRvdy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRzY29vdENoYXB0ZXJSb3V0ZSA9ICZxdW90O2xpZ2h0JnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTY29vdCBPcGVuaW5nOjE6YzViYWE5ODYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlNjb290IE9wZW5pbmc6MTpjNWJhYTk4NiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLnRlc3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBUZXN0cyB0aGUgQ2xhc3Nyb29tIExpZ2h0JnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtNb3ZlIHRoZSBkZXNrIGFuZCBzZWUgd2hldGhlciB0aGUgc2hhZG93IGZvbGxvd3MuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkc2Nvb3RDaGFwdGVyUm91dGUgPSAmcXVvdDtkZXNrJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTY29vdCBPcGVuaW5nOjI6NjY0NzU1YzEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlNjb290IE9wZW5pbmc6Mjo2NjQ3NTVjMSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBNb3ZlcyB0aGUgRGVzayZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVjb3JkIHRoZSBpbmNpZGVudCBpbiB0aGUgcG9ldHJ5IG5vdGVib29rLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHNjb290Q2hhcHRlclJvdXRlID0gJnF1b3Q7bm90ZWJvb2smcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlNjb290IE9wZW5pbmc6MzphOGIyNWI3OSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6U2Nvb3QgT3BlbmluZzozOmE4YjI1Yjc5JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHNjb290QXBwcm9hY2gucmVjb3JkICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgT3BlbnMgdGhlIFBvZXRyeSBOb3RlYm9vayZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7SWdub3JlIHRoZSBzaGFkb3cgYW5kIGZvY3VzIG9uIHN1cnZpdmluZyBob21lcm9vbS4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRzY29vdENoYXB0ZXJSb3V0ZSA9ICZxdW90O2lnbm9yZSZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6U2Nvb3QgT3BlbmluZzo0OmI5NWFkNjVmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpTY29vdCBPcGVuaW5nOjQ6Yjk1YWQ2NWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1Njb290IElnbm9yZXMgdGhlIFNoYWRvdyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMzAiIG5hbWU9IlNjb290IFRlc3RzIHRoZSBDbGFzc3Jvb20gTGlnaHQiIHRhZ3M9ImJnLWNsYXNzcm9vbSIgcG9zaXRpb249IjEyMDAsODk1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHNjb290VGVzdGVkQ2xhc3Nyb29tTGlnaHQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIHRoZSBjbGFzc3Jvb20gbGlnaHQgY2F1c2VkIHRoZSB3cm9uZyBzaGFkb3cmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IHBsYWNlZCBvbmUgcGVuY2lsIHVwcmlnaHQgb24gdGhlIGRlc2suIEl0cyBzaGFkb3cgZmVsbCB0b3dhcmQgdGhlIHdpbmRvd3MuIEhlIHBsYWNlZCBhIHNlY29uZCBwZW5jaWwgYmVzaWRlIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2FtZSBkaXJlY3Rpb24uIEhlIHJhaXNlZCBvbmUgaGFuZC4gVGhlIHNoYWRvdyBvZiBoaXMgaGFuZCBzdHJldGNoZWQgYWNyb3NzIHRoZSBkZXNrIHRvd2FyZCB0aGUgd2luZG93cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vcm1hbC4gU2Nvb3QgbG93ZXJlZCBoaXMgaGFuZC4gVGhlIHNoYWRvdyBiZW5lYXRoIGhpcyBjaGFpciBjb250aW51ZWQgcG9pbnRpbmcgdG93YXJkIHRoZSBjbGFzc3Jvb20gZG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9ubHkgb25lIHBhcnQgb2YgU2Nvb3QmIzM5O3Mgc2hhZG93IHdhcyB3cm9uZy4gVGhlIHBhcnQgdG91Y2hpbmcgdGhlIGZsb29yLiBTY29vdCBzaGlmdGVkIG9uZSBmb290LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNoYWRvdyBkaWQgbm90LiBJdCByZW1haW5lZCBzdGlsbC4gTGlrZSBpdCB3YXMgd2FpdGluZyBmb3IgaGltIHRvIGxlYXZlIHdpdGhvdXQgaXQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7T2JqZWN0cyBuZWFyIFNjb290IGNhc3Qgbm9ybWFsIHNoYWRvd3Mgd2hpbGUgdGhlIHNoYWRvdyBiZW5lYXRoIFNjb290JiMzOTtzIGNoYWlyIHJlbWFpbmVkIGZpeGVkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMSkmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1Rlc3QgcmVzdWx0OiZsdDsvc3Ryb25nJmd0OyBDbGFzc3Jvb20gb2JqZWN0cyBjYXN0IG5vcm1hbCBzaGFkb3dzLiBUaGUKCXNoYWRvdyBiZW5lYXRoIFNjb290JiMzOTtzIGNoYWlyIGRpZCBub3QgbW92ZSB3aGVuIFNjb290IG1vdmVkLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpTY29vdCBsb3dlcmVkIHRoZSBwZW5jaWwuIFRoZSBmbG9vci1zaGFkb3cgYmVudCBhdCB3aGF0IHNob3VsZCBoYXZlIGJlZW4gaXRzIHdhaXN0LiBJdCBwb2ludGVkIHRvd2FyZCB0aGUgY2xhc3Nyb29tIGRvb3IuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZvbGxvdyB0aGUgc2hhZG93JiMzOTtzIGRpcmVjdGlvbi0mZ3Q7U2Nvb3QgV2F0Y2hlcyB0aGUgQ2xhc3Nyb29tIERvb3JdXQoJW1tSZWNvcmQgdGhlIHRlc3QgaW4gdGhlIG5vdGVib29rLSZndDtTY29vdCBPcGVucyB0aGUgUG9ldHJ5IE5vdGVib29rXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMzEiIG5hbWU9IlNjb290IFdhdGNoZXMgdGhlIENsYXNzcm9vbSBEb29yIiB0YWdzPSJiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSIxMTAwLDkwNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2h5IHRoZSB3cm9uZyBzaGFkb3cgcG9pbnRlZCB0b3dhcmQgdGhlIGNsYXNzcm9vbSBkb29yJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBzdHVkaWVkIHRoZSBjbGFzc3Jvb20gZG9vci4gVGhlIG5hcnJvdyB3aW5kb3cgc2hvd2VkIHBhcnQgb2YgdGhlIGhhbGx3YXkuIFN0dWRlbnRzIHBhc3NlZCBpbiBib3RoIGRpcmVjdGlvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHRlYWNoZXIgY2FycmllZCBhIHN0YWNrIG9mIGZvbGRlcnMuIFNvbWVvbmUgaHVycmllZCBwYXN0IHdpdGggYSB0cnVtcGV0IGNhc2UuIEEgY3VzdG9kaWFuIHB1c2hlZCBhIGNsZWFuaW5nIGNhcnQgYWNyb3NzIHRoZSB3aW5kb3cuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY3VzdG9kaWFuIHN0b3BwZWQuIE9ubHkgb25lIHNob3VsZGVyIHJlbWFpbmVkIHZpc2libGUgdGhyb3VnaCB0aGUgZ2xhc3MuIFRoZW4gdGhlIGN1c3RvZGlhbiBzbG93bHkgbG9va2VkIGludG8gdGhlIGNsYXNzcm9vbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGNvdWxkIG5vdCBzZWUgdGhlIGN1c3RvZGlhbiYjMzk7cyBmYWNlIGNsZWFybHkuIFRoZSBoYWxsd2F5IGxpZ2h0IGJlaGluZCB0aGUgZmlndXJlIHdlbnQgZGFyay4gVGhlIGNsYXNzcm9vbSBsaWdodCBmbGlja2VyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCYjMzk7cyB3cm9uZyBzaGFkb3cgYXBwZWFyZWQgYmVuZWF0aCB0aGUgZG9vci4gSXQgdG91Y2hlZCB0aGUgY3VzdG9kaWFuJiMzOTtzIHNob2VzLiBUaGUgY3VzdG9kaWFuIHN0ZXBwZWQgYmFjay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzaGFkb3cgcmV0dXJuZWQgYmVuZWF0aCBTY29vdCYjMzk7cyBkZXNrLiBUaGUgY3VzdG9kaWFuIGNvbnRpbnVlZCBkb3duIHRoZSBoYWxsIHdpdGhvdXQgbG9va2luZyBiYWNrLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1Njb290JiMzOTtzIHdyb25nIHNoYWRvdyByZWFjaGVkIGEgY3VzdG9kaWFuIHN0YW5kaW5nIG91dHNpZGUgdGhlIGNsYXNzcm9vbSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTaGFkb3cgYmVoYXZpb3I6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB3cm9uZyBzaGFkb3cgY3Jvc3NlZCBiZW5lYXRoIHRoZQoJY2xhc3Nyb29tIGRvb3IgYW5kIHJlYWNoZWQgYSBjdXN0b2RpYW4gc3RhbmRpbmcgaW4gdGhlIGhhbGx3YXkuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBkb29yIG9wZW5lZC4gVGhlIHBlcnNvbiBlbnRlcmluZyB3YXMgbm90IHRoZSBjdXN0b2RpYW4uCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1NlZSB3aG8gZW50ZXJlZCB0aGUgcm9vbS0mZ3Q7UnlhbiBBcnJpdmVzIGluIFNjb290IEhvbWVyb29tXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMzIiIG5hbWU9IlNjb290IE9wZW5zIHRoZSBQb2V0cnkgTm90ZWJvb2siIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxMzI1LDkxNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdFJlY29yZGVkU2hhZG93ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRzY29vdFByb3RlY3RlZE5vdGVib29rID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZWNvcmQgdGhlIHdyb25nIHNoYWRvdyB3aXRob3V0IGV4cG9zaW5nIFNjb290JiMzOTtzIHByaXZhdGUgcG9ldHJ5JnF1b3Q7Jmd0OyZndDsKCgombHQ7cCZndDtTY29vdCBvcGVuZWQgaGlzIHBvZXRyeSBub3RlYm9vay4gTW9zdCBwZW9wbGUgdXNlZCBub3RlYm9va3MgdG8gdHJhY2sgaG9tZXdvcmsuIFNjb290IHVzZWQgaGlzIHRvIGtlZXAgdGhvdWdodHMgZnJvbSBlc2NhcGluZyBiZWZvcmUgaGUgdW5kZXJzdG9vZCB0aGVtLiZsdDsvcCZndDsKJmx0O3AmZ3Q7ClNjb290IHJlYWNoZWQgaW50byBoaXMgYmFja3BhY2sgYW5kIHJlbW92ZWQgYSB0aGluIHNwaXJhbCBub3RlYm9vay4gVGhlIGNvdmVyIGhhZCBvbmNlIGJlZW4gYmx1ZS4gU2V2ZXJhbCBjb3JuZXJzIGhhZCBiZW50IGlud2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBzdGlja2VyIGhhZCBiZWVuIHJlbW92ZWQgc28gbWFueSB0aW1lcyB0aGF0IG9ubHkgYSBwYWxlIHJlY3RhbmdsZSByZW1haW5lZC4gVGhlIG5vdGVib29rIGNvbnRhaW5lZCBTY29vdCYjMzk7cyBwcml2YXRlIHdyaXRpbmcuIFBvZW1zLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT2JzZXJ2YXRpb25zLiBUaGluZ3MgdGhhdCBzb3VuZGVkIHBlcmZlY3RseSByZWFzb25hYmxlIGluc2lkZSBoaXMgaGVhZCBhbmQgaW1tZWRpYXRlbHkgYmVjYW1lIGRhbmdlcm91cyB3aGVuIHBsYWNlZCBuZWFyIG90aGVyIHBlb3BsZS4gU2Nvb3QgdHVybmVkIHRvIGEgY2xlYW4gcGFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIHdyb3RlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRoZSBsaWdodCBtb3ZlZC4mbHQ7YnImZ3Q7Ck15IHNoYWRvdyBkaWQgbm90IGFncmVlLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSgmcXVvdDtUaGUgbGlnaHQgbW92ZWQuIE15IHNoYWRvdyBkaWQgbm90IGFncmVlLiZxdW90OykmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IGNvbnNpZGVyZWQgY3Jvc3Npbmcgb3V0IHRoZSBzZWNvbmQgbGluZS4gSXQgc291bmRlZCBsaWtlIHBvZXRyeS4gVGhhdCB3YXMgdW5mb3J0dW5hdGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIZSBhZGRlZDoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpTY2llbnRpZmljIG5vdGU6IHNoYWRvd3Mgc2hvdWxkIGFncmVlIHdpdGggbGlnaHQuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3ROb3RlYm9va0VudHJ5KCZxdW90O1NjaWVudGlmaWMgbm90ZTogc2hhZG93cyBzaG91bGQgYWdyZWUgd2l0aCBsaWdodC4mcXVvdDspJmd0OyZndDsKCiZsdDtwJmd0OwpUaGF0IGxvb2tlZCBtb3JlIHJlc3BlY3RhYmxlLiBTY29vdCB0dXJuZWQgdGhlIHBhZ2UuIFdyaXRpbmcgYWxyZWFkeSBjb3ZlcmVkIHRoZSBuZXh0IHNoZWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGhhbmR3cml0aW5nIHJlc2VtYmxlZCBoaXMuIEl0IHdhcyBub3QgaGlzLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkZvdXIgYXJyaXZlLiZsdDticiZndDsKVGhyZWUgd2VyZSB3YWl0aW5nLiZsdDticiZndDsKT25lIHJlbWVtYmVycyB0aGUgZG9vci4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAkc2Nvb3ROb3RlYm9va0NoYW5nZWQgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtXcml0aW5nIGFwcGVhcmVkIGluIFNjb290JiMzOTtzIG5vdGVib29rIHdpdGhvdXQgU2Nvb3QgcHJvZHVjaW5nIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSgmcXVvdDtGb3VyIGFycml2ZS4gVGhyZWUgd2VyZSB3YWl0aW5nLiBPbmUgcmVtZW1iZXJzIHRoZSBkb29yLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDIpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtOb3RlYm9vayBhbm9tYWx5OiZsdDsvc3Ryb25nJmd0OyBBIG1lc3NhZ2UgYXBwZWFyZWQgaW4gaGFuZHdyaXRpbmcgdGhhdAoJcmVzZW1ibGVzIFNjb290JiMzOTtzIGJ1dCB3YXMgbm90IHdyaXR0ZW4gYnkgU2Nvb3QuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IHRvdWNoZWQgdGhlIHdvcmRzLiBUaGUgaW5rIHdhcyBkcnkuIFRoZSBwYWdlIGJlbmVhdGggaXQgZmVsdCBkYW1wLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBmYWludCBzbWVsbCBvZiBzb2lsIHJvc2UgZnJvbSB0aGUgbm90ZWJvb2suCiZsdDsvcCZndDsKCiZsdDsmbHQ7aWYgbm90ICRzY29vdE9wdGlvbmFsRm91bmQmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O29wdGlvbmFsLWludmVzdGlnYXRpb24mcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7T3B0aW9uYWwgaW52ZXN0aWdhdGlvbiZsdDsvc3BhbiZndDtbW0NvbXBsZXRlIHRoZSB1bmZpbmlzaGVkIHZlcnNlIGJlZm9yZSBjbG9zaW5nIHRoZSBub3RlYm9vay0mZ3Q7U2Nvb3RQb2VtUGF0dGVybl1dJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIFNjb290IGRvIHdpdGggdGhlIG1lc3NhZ2U/Jmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1R1cm4gdGhlIG5vdGVib29rIHVwc2lkZSBkb3duIGFuZCBpbnNwZWN0IHRoZSBtYXJrcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlNjb290IE9wZW5zIHRoZSBQb2V0cnkgTm90ZWJvb2s6MTo2NjQ3NTVjMSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6U2Nvb3QgT3BlbnMgdGhlIFBvZXRyeSBOb3RlYm9vazoxOjY2NDc1NWMxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHNjb290QXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1Njb290IFJvdGF0ZXMgdGhlIE5vdGVib29rJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtIaWRlIHRoZSBub3RlYm9vayBiZWZvcmUgYW55b25lIHNlZXMgdGhlIHByaXZhdGUgcGFnZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTY29vdCBPcGVucyB0aGUgUG9ldHJ5IE5vdGVib29rOjI6Yjk1YWQ2NWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlNjb290IE9wZW5zIHRoZSBQb2V0cnkgTm90ZWJvb2s6MjpiOTVhZDY1ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLmF2b2lkICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgSGlkZXMgdGhlIE5vdGVib29rJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtBZGQgYSB3cml0dGVuIHF1ZXN0aW9uIGJlbmVhdGggdGhlIG1lc3NhZ2UuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTY29vdCBPcGVucyB0aGUgUG9ldHJ5IE5vdGVib29rOjM6OTEwYjFkNjYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlNjb290IE9wZW5zIHRoZSBQb2V0cnkgTm90ZWJvb2s6Mzo5MTBiMWQ2NiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLmNvbm5lY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBBbnN3ZXJzIHRoZSBOb3RlYm9vayZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMzMiIG5hbWU9IlNjb290IE1vdmVzIHRoZSBEZXNrIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMTU1MCw4OTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkc2Nvb3RNb3ZlZERlc2sgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGV0aGVyIHRoZSBzaGFkb3cgaXMgYXR0YWNoZWQgdG8gU2Nvb3Qgb3IgdGhlIGRlc2smcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IHBsYWNlZCBib3RoIGhhbmRzIGJlbmVhdGggdGhlIGRlc2sgYW5kIGxpZnRlZC4gVGhlIG1ldGFsIGxlZ3Mgc2NyYXBlZCBhY3Jvc3MgdGhlIGZsb29yLiBTZXZlcmFsIHN0dWRlbnRzIGxvb2tlZCBvdmVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgaGFkIG5vdCB5ZXQgZW50ZXJlZC4gVGhhdCB3YXMgdXNlZnVsLiBTY29vdCBtb3ZlZCB0aGUgZGVzayBleGFjdGx5IG9uZSB0aWxlIHRvIHRoZSBsZWZ0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiBoZSBtb3ZlZCB0aGUgY2hhaXIuIFRoZSBvcmRpbmFyeSBzaGFkb3cgbW92ZWQgd2l0aCBoaW0uIFRoZSB3cm9uZyBzaGFkb3cgZGlkIG5vdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHJlbWFpbmVkIGJlbmVhdGggdGhlIG9yaWdpbmFsIGRlc2sgbG9jYXRpb24uIEFuIGVtcHR5IGh1bWFuLXNoYXBlZCBvdXRsaW5lIGxheSBhY3Jvc3MgdGhlIGZsb29yLiBTY29vdCBzdGVwcGVkIGF3YXkgZnJvbSBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBvdXRsaW5lIHNoaWZ0ZWQuIEl0cyBoZWFkIHR1cm5lZCB0b3dhcmQgaGltLiBTY29vdCBkZWNpZGVkIHRoZSBleHBlcmltZW50IGhhZCBwcm9kdWNlZCBlbm91Z2ggaW5mb3JtYXRpb24uCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7VGhlIHdyb25nIHNoYWRvdyByZW1haW5lZCBiZWhpbmQgd2hlbiBTY29vdCBtb3ZlZCB0aGUgZGVzayZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDIpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtDb25maXJtZWQgYW5vbWFseTombHQ7L3N0cm9uZyZndDsgVGhlIHdyb25nIHNoYWRvdyByZW1haW5lZCBhdCB0aGUKCW9yaWdpbmFsIGRlc2sgYWZ0ZXIgU2Nvb3QgYW5kIHRoZSBmdXJuaXR1cmUgbW92ZWQgYXdheS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIG92ZXJoZWFkIGxpZ2h0IGZsaWNrZXJlZC4gVGhlIHNoYWRvdyBkaXNhcHBlYXJlZC4gQSBzbWFsbCBkYXJrIG1hcmsgcmVtYWluZWQgb24gdGhlIGZsb29yIHdoZXJlIGl0cyBjaGVzdCBoYWQgYmVlbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtYXJrIHJlc2VtYmxlZCBhIGNpcmNsZSBkaXZpZGVkIGludG8gc2l4IGN1cnZlZCBzZWN0aW9ucy4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJHNjb290Rm91bmRIZXhhZm9pbCA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O0Egc2l4LXBldGFsZWQgbWFyayByZW1haW5lZCB3aGVyZSB0aGUgd3Jvbmcgc2hhZG93IGRpc2FwcGVhcmVkJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTa2V0Y2ggdGhlIG1hcmsgaW4gdGhlIHBvZXRyeSBub3RlYm9vay0mZ3Q7U2Nvb3QgT3BlbnMgdGhlIFBvZXRyeSBOb3RlYm9va11dCglbW0luc3BlY3QgdGhlIGNsYXNzcm9vbSBkb29yIGluc3RlYWQtJmd0O1Njb290IFdhdGNoZXMgdGhlIENsYXNzcm9vbSBEb29yXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMzQiIG5hbWU9IlNjb290IElnbm9yZXMgdGhlIFNoYWRvdyIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjEzNzUsODkyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHNjb290SWdub3JlZFNoYWRvdyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkc2Nvb3REb3VidHNEaXNtaXNzZWQgKz0gMSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGb2N1cyBvbiBob21lcm9vbSBhbmQgYXZvaWQgYXR0cmFjdGluZyBhdHRlbnRpb24mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IGxvb2tlZCBhd2F5IGZyb20gdGhlIGZsb29yLiBUaGVyZSB3ZXJlIHJlYXNvbmFibGUgZXhwbGFuYXRpb25zLiBGbHVvcmVzY2VudCBsaWdodHMgZmxpY2tlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT2xkIHdpbmRvd3MgcmVmbGVjdGVkIHRoaW5ncy4gU2hhZG93cyBzdHJldGNoZWQuIEZhY2VzIGRpZCB1bmZvcnR1bmF0ZSB0aGluZ3Mgd2hlbiBwZW9wbGUgdHJpZWQgdG9vIGhhcmQgdG8gc21pbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgYmVzdCByZXNwb25zZSB3YXMgdG8gc2l0IHN0aWxsIGFuZCBhdm9pZCBjcmVhdGluZyBhIHNlY29uZCBpbmNpZGVudC4gU2Nvb3QgZmFjZWQgdGhlIGNoYWxrYm9hcmQuIFRoZSBzaGFkb3cgYmVuZWF0aCBoaXMgZGVzayBzbG93bHkgY3Jvc3NlZCB0aGUgZmxvb3IgYmVoaW5kIGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGRpZCBub3Qgc2VlIGl0LiBUaGUgc3R1ZGVudCB3aG8gaGFkIG1vdmVkIGF3YXkgZGlkLiBUaGUgc3R1ZGVudCBnYXRoZXJlZCB0aGUgcmVtYWluaW5nIGJlbG9uZ2luZ3MgYW5kIG1vdmVkIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRmFydGhlciB0aGlzIHRpbWUuIFNjb290IHByZXRlbmRlZCBub3QgdG8gbm90aWNlLiBUaGUgc2hhZG93IHJlYWNoZWQgdGhlIGNsYXNzcm9vbSBkb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgc2xpcHBlZCBiZW5lYXRoIGl0LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O0Fub3RoZXIgc3R1ZGVudCBtb3ZlZCBhd2F5IGFmdGVyIHdhdGNoaW5nIHNvbWV0aGluZyBjcm9zcyB0aGUgZmxvb3IgYmVoaW5kIFNjb290JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Cklnbm9yaW5nIHNvbWV0aGluZyBkaWQgbm90IG1ha2UgaXQgZGlzYXBwZWFyLiZsdDticiZndDsKU29tZXRpbWVzIGl0IG9ubHkgbWVhbnQgc29tZW9uZSBlbHNlIHNhdyBpdCBmaXJzdC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKRnJvbSB0aGUgaGFsbHdheSBjYW1lIHRocmVlIHNvZnQga25vY2tzLiBTY29vdCBsb29rZWQgdG93YXJkIHRoZSBkb29yLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYXRjaCB0aGUgY2xhc3Nyb29tIGRvb3ItJmd0O1Njb290IFdhdGNoZXMgdGhlIENsYXNzcm9vbSBEb29yXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMzUiIG5hbWU9IlNjb290IFJvdGF0ZXMgdGhlIE5vdGVib29rIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNjI1LDkwNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciB0aGUgbm90ZWJvb2sgbWVzc2FnZSBjb250YWlucyBhbm90aGVyIHBhdHRlcm4mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IHR1cm5lZCB0aGUgbm90ZWJvb2sgdXBzaWRlIGRvd24uIFRoZSB0aHJlZSBsaW5lcyBzdG9wcGVkIHJlc2VtYmxpbmcgc2VudGVuY2VzLiBUaGUgbG9vcHMgaW4gdGhlIGhhbmR3cml0aW5nIGFsaWduZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTZXZlcmFsIGxldHRlcnMgb3ZlcmxhcHBlZC4gVGhlIGNvbWJpbmVkIG1hcmtzIGZvcm1lZCBhIGNpcmNsZS4gU2l4IGN1cnZlZCBzZWN0aW9ucyBzcHJlYWQgZnJvbSBpdHMgY2VudGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBmbG93ZXIuIEV4Y2VwdCBpdCBkaWQgbm90IGxvb2sgZGVjb3JhdGl2ZS4gSXQgbG9va2VkIG1lYXN1cmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW50ZW50aW9uYWwuCiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRzY29vdEZvdW5kSGV4YWZvaWwgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtUaGUgbm90ZWJvb2sgbWVzc2FnZSBmb3JtcyBhIHNpeC1wZXRhbGVkIHN5bWJvbCB3aGVuIHZpZXdlZCB1cHNpZGUgZG93biZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtIaWRkZW4gcGF0dGVybjombHQ7L3N0cm9uZyZndDsgV2hlbiB0dXJuZWQgdXBzaWRlIGRvd24sIHRoZSBub3RlYm9vawoJbWVzc2FnZSBmb3JtcyBhIHNpeC1wZXRhbGVkIHN5bWJvbC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVHdvIHNob3J0IG1hcmtzIGFwcGVhcmVkIGluc2lkZSBvbmUgcGV0YWwuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKSUkuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IHR1cm5lZCB0aGUgbm90ZWJvb2sgdXByaWdodC4gVGhlIHN5bWJvbCBiZWNhbWUgd29yZHMgYWdhaW4uIFRoZSBjbGFzc3Jvb20gZG9vciBvcGVuZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1NlZSB3aG8gZW50ZXJlZCB0aGUgcm9vbS0mZ3Q7UnlhbiBBcnJpdmVzIGluIFNjb290IEhvbWVyb29tXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMzYiIG5hbWU9IlJ5YW4gQXJyaXZlcyBpbiBTY29vdCBIb21lcm9vbSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjUwMCw5Mjc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogSG9tZXJvb20mcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoYXQgaGFwcGVuZWQgdG8gUnlhbiBiZWZvcmUgaG9tZXJvb20mcXVvdDsmZ3Q7Jmd0OwoKCiZsdDtwJmd0O1J5YW4gYXJyaXZlZCB3ZWFyaW5nIGhpcyBSZWQgU294IGhlbG1ldCBhbmQgdGhlIGV4cHJlc3Npb24gb2Ygc29tZW9uZSB3aG8gaGFkIGFscmVhZHkgc3Vydml2ZWQgYW4gZW50aXJlIHNjaG9vbCBkYXkgYmVmb3JlIGZpcnN0IHBlcmlvZC4mbHQ7L3AmZ3Q7CiZsdDtwJmd0OwomcXVvdDtOYW51IE5hbnUsIFNjb290ISZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgbG9va2VkIHVwLiBSeWFuIEdydWJsZXIgc3Rvb2QgYmVzaWRlIHRoZSBkZXNrLCBzbWlsaW5nIGFzIGlmIHRoZSBtb3JuaW5nIGhhZCBnb25lIGV4YWN0bHkgYWNjb3JkaW5nIHRvIHBsYW4uIFRoZSBoZWxtZXQgc3VnZ2VzdGVkIG90aGVyd2lzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyBnbG9zc3kgcmVkIHdpdGggYSB3aGl0ZSBCIG9uIHRoZSBmcm9udCBhbmQgYSBibHVlIHBsYXN0aWMgdmlzb3IuIE5vdCB0aGUgY29uc3RydWN0aW9uIGhlbG1ldCBSeWFuIGhhZCB3b3JuIHRoZSB5ZWFyIGJlZm9yZS4gVGhpcyBvbmUgbG9va2VkIG5ld2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTW9yZSBvZmZpY2lhbC4gUG9zc2libHkgYmV0dGVyIHN1aXRlZCBmb3Igc3Vydml2aW5nIHdoYXRldmVyIFJ5YW4gYmVsaWV2ZWQgd2FzIGN1cnJlbnRseSB0cnlpbmcgdG8ga2lsbCBoaW0uIFNjb290IHN0YXJlZCBhdCB0aGUgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBub3RpY2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TmV3IHNjaG9vbCwgbmV3IHNjaG9vbCB5ZWFyLCBuZXcgbWUsIG5ldyBoZWxtZXQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtSZWQgU294PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7MTk3NiBCb3N0b24gUmVkIFNveCBiYXR0ZXImIzM5O3MgaGVsbWV0LiBHaWZ0IHNob3AuIE5vdCByZWd1bGF0aW9uLiBCdXQgaXQgY2FuCnRha2UgYSBoaXQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGtub2NrZWQgb24gdGhlIGhlbG1ldCB3aXRoIGhpcyBrbnVja2xlcy4gVGhlbiBydWJiZWQgaGlzIGtudWNrbGVzLiBTY29vdCBsb29rZWQgdG93YXJkIHRoZSBjbGFzc3Jvb20gZG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3cm9uZyBzaGFkb3cgd2FzIGdvbmUuIEZvciBub3cuIFJ5YW4gcGxhY2VkIGhpcyBib29rcyBvbiB0aGUgbmVpZ2hib3JpbmcgZGVzay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0d1ZXNzIHdoYXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGZlZWwgbGlrZSB5b3UmIzM5O3JlIGdvaW5nIHRvIHRlbGwgbWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIHJlcXVlc3RlZCBhIHNjaGVkdWxlIGNoYW5nZS4gTm93IEkmIzM5O20gaW4geW91ciBob21lcm9vbSBhbmQgc2V2ZXJhbCBvZiB5b3VyCmNsYXNzZXMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIHNhdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FyZW4mIzM5O3Qgd2UgbHVja3k/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBoYWQgc3BlbnQgcGFydCBvZiB0aGUgc3VtbWVyIGxvb2tpbmcgZm9yd2FyZCB0byBvY2Nhc2lvbmFsIFJ5YW4tZnJlZSBwZXJpb2RzLiBSeWFuIHdhcyBTY29vdCYjMzk7cyBiZXN0IGZyaWVuZC4gUnlhbiB3YXMgYWxzbyBsaWtlIGFuIGFubm95aW5nIHlvdW5nZXIgYnJvdGhlciB3aG8gaGFkIGxlYXJuZWQgaG93IHRvIHN1Ym1pdCBzY2hlZHVsZS1jaGFuZ2UgZm9ybXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBub3RpY2VkIGEgZGFyayBzdHJlYWsgbmVhciB0aGUgZWRnZSBvZiBSeWFuJiMzOTtzIHNob2UuIE11ZC4gT3Igc29tZXRoaW5nIHRoYXQgbG9va2VkIGxpa2UgbXVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBmb2xsb3dlZCBTY29vdCYjMzk7cyBnYXplIGFuZCBwdWxsZWQgdGhlIGZvb3QgYmVuZWF0aCB0aGUgZGVzay4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIFNjb290IGFzayBmaXJzdD8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoeSBSeWFuIGhhcyBtdWQgb24gaGlzIHNob2UuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpSeWFuIEFycml2ZXMgaW4gU2Nvb3QgSG9tZXJvb206MTo2NjQ3NTVjMSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UnlhbiBBcnJpdmVzIGluIFNjb290IEhvbWVyb29tOjE6NjY0NzU1YzEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5vYnNlcnZlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgQXNrcyBBYm91dCBSeWFuIFNob2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0FzayB3aHkgUnlhbiBjaGFuZ2VkIGludG8gU2Nvb3QmIzM5O3MgaG9tZXJvb20uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpSeWFuIEFycml2ZXMgaW4gU2Nvb3QgSG9tZXJvb206Mjo5MTBiMWQ2NiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UnlhbiBBcnJpdmVzIGluIFNjb290IEhvbWVyb29tOjI6OTEwYjFkNjYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgUXVlc3Rpb25zIHRoZSBTY2hlZHVsZSBDaGFuZ2UmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1RlbGwgUnlhbiBhYm91dCB0aGUgd3JvbmctbW92aW5nIHNoYWRvdy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRzY29vdFRvbGRSeWFuQWJvdXRTaGFkb3cgPSB0cnVlJmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpSeWFuIEFycml2ZXMgaW4gU2Nvb3QgSG9tZXJvb206MzphOGIyNWI3OSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UnlhbiBBcnJpdmVzIGluIFNjb290IEhvbWVyb29tOjM6YThiMjViNzkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5yZWNvcmQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBUZWxscyBSeWFuIEFib3V0IHRoZSBTaGFkb3cmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0hpZGUgdGhlIG5vdGVib29rIGFuZCBhY3QgYXMgdGhvdWdoIG5vdGhpbmcgaGFwcGVuZWQuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpSeWFuIEFycml2ZXMgaW4gU2Nvb3QgSG9tZXJvb206NDpiOTVhZDY1ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UnlhbiBBcnJpdmVzIGluIFNjb290IEhvbWVyb29tOjQ6Yjk1YWQ2NWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5hdm9pZCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1Njb290IEhpZGVzIHRoZSBNeXN0ZXJ5IGZyb20gUnlhbiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyMzciIG5hbWU9IlNjb290IEhpZGVzIHRoZSBOb3RlYm9vayIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjEyNTAsOTM1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1Byb3RlY3QgdGhlIG5vdGVib29rIGFuZCBhdm9pZCBleHBvc2luZyBTY29vdCYjMzk7cyBwcml2YXRlIHdyaXRpbmcmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IGNsb3NlZCB0aGUgbm90ZWJvb2sgaW1tZWRpYXRlbHkuIEhlIHNsaWQgaXQgYmVuZWF0aCBoaXMgc2NoZWR1bGUgYW5kIHBsYWNlZCBib3RoIGhhbmRzIG92ZXIgaXQuIE5vYm9keSBuZWVkZWQgdG8gc2VlIHRoZSBtZXNzYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTW9yZSBpbXBvcnRhbnRseSwgbm9ib2R5IG5lZWRlZCB0byBzZWUgdGhlIHBhZ2VzIGJlZm9yZSBpdC4gVGhlIHBvZW0gYWJvdXQgcmFpbiBhZ2FpbnN0IHRoZSBneW1uYXNpdW0gd2luZG93cyB3YXMgcHJpdmF0ZS4gU28gd2FzIHRoZSB1bmZpbmlzaGVkIG9uZSBhYm91dCB0aGUgcGVyc29uIHdobyBoYWQgc21pbGVkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkVzcGVjaWFsbHkgdGhhdCBvbmUuIFRoZSBub3RlYm9vayBzaGlmdGVkIGJlbmVhdGggU2Nvb3QmIzM5O3MgaGFuZHMuIEhlIHByZXNzZWQgaGFyZGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU29tZXRoaW5nIHNjcmF0Y2hlZCBhZ2FpbnN0IHRoZSBwYXBlciBmcm9tIGluc2lkZSB0aGUgY2xvc2VkIG5vdGVib29rLiBUaHJlZSBzaG9ydCBsaW5lcyBhcHBlYXJlZCB0aHJvdWdoIHRoZSBjb3Zlci4gTm90IGRyYXduIG9uIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUmFpc2VkIGJlbmVhdGggaXQuIExpa2Ugc29tZXRoaW5nIG9uIHRoZSBmaXJzdCBwYWdlIHdhcyBwcmVzc2luZyBvdXR3YXJkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CklJSS4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1RoZSBjbG9zZWQgbm90ZWJvb2sgcHJvZHVjZWQgdGhyZWUgcmFpc2VkIG1hcmtzIHRocm91Z2ggaXRzIGNvdmVyJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMSkmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBjbGFzc3Jvb20gZG9vciBvcGVuZWQgYmVmb3JlIFNjb290IGNvdWxkIGluc3BlY3QgdGhlbS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU2VlIHdobyBlbnRlcmVkIHRoZSByb29tLSZndDtSeWFuIEFycml2ZXMgaW4gU2Nvb3QgSG9tZXJvb21dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIzOCIgbmFtZT0iU2Nvb3QgQW5zd2VycyB0aGUgTm90ZWJvb2siIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxNjI1LDkyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtUZXN0IHdoZXRoZXIgdGhlIG5vdGVib29rIG1lc3NhZ2UgcmVzcG9uZHMgdG8gd3JpdHRlbiBxdWVzdGlvbnMmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IHdyb3RlIGJlbmVhdGggdGhlIG1lc3NhZ2U6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKV2hvIGlzIHdhaXRpbmc/CiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3ROb3RlYm9va0VudHJ5KCZxdW90O1dobyBpcyB3YWl0aW5nPyZxdW90OykmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CkhlIGxpZnRlZCB0aGUgcGVuY2lsLiBOb3RoaW5nIGhhcHBlbmVkLiBTY29vdCB3YWl0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZmx1b3Jlc2NlbnQgbGlnaHQgYnV6emVkLiBBIGNoYWlyIHNjcmFwZWQgbmVhciB0aGUgYmFjayBvZiB0aGUgcm9vbS4gTmV3IHdyaXRpbmcgYXBwZWFyZWQgb25lIGxldHRlciBhdCBhIHRpbWUuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKVEhFIE9ORVMgSU4gVEhFIFBJQ1RVUkUuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3ROb3RlYm9va0VudHJ5KCZxdW90O1RoZSBvbmVzIGluIHRoZSBwaWN0dXJlLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1RoZSBub3RlYm9vayByZXNwb25kZWQgdGhhdCB0aGUgb25lcyBpbiB0aGUgcGljdHVyZSBhcmUgd2FpdGluZyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDIpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtOb3RlYm9vayByZXNwb25zZTombHQ7L3N0cm9uZyZndDsgVGhlIHVua25vd24gd3JpdGVyIGNsYWltcyB0aGF0IOKAnHRoZQoJb25lcyBpbiB0aGUgcGljdHVyZeKAnSBhcmUgd2FpdGluZy4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgd3JvdGUgYW5vdGhlciBxdWVzdGlvbjoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpXaGF0IHBpY3R1cmU/CiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBub3RlYm9vayBkaWQgbm90IGFuc3dlci4gSW5zdGVhZCwgdGhlIGNsYXNzcm9vbSBkb29yIG9wZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU2VlIHdobyBlbnRlcmVkIHRoZSByb29tLSZndDtSeWFuIEFycml2ZXMgaW4gU2Nvb3QgSG9tZXJvb21dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjIzOSIgbmFtZT0iU2Nvb3QgQXNrcyBBYm91dCBSeWFuIFNob2UiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxNzc1LDUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGF0IGxlZnQgdGhlIGRhcmsgbWF0ZXJpYWwgb24gUnlhbiYjMzk7cyBzaG9lJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGlzIHRoYXQgb24geW91ciBzaG9lPyZxdW90OyBTY29vdCBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbG9va2VkIGRvd24uIFRoZSBkYXJrIHN0cmVhayByYW4gYWxvbmcgdGhlIG91dGVyIGVkZ2Ugb2YgdGhlIHNvbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIHdhcyBob3BpbmcgaXQgd2FzIG9yZGluYXJ5IG11ZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgbm90IGFuIGFuc3dlci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IGlzIHRoZSBhbnN3ZXIgSSBwcmVmZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGxpZnRlZCB0aGUgc2hvZSBzbGlnaHRseS4gU2Nvb3QgbGVhbmVkIGNsb3Nlci4gVGhlIG1hdGVyaWFsIHdhcyBkYXJrIGJyb3duIGFuZCBkYW1wLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgc21lbGxlZCBsaWtlIHdldCBzb2lsLiBUaGUgY2xhc3Nyb29tIGZsb29yIGJlbmVhdGggUnlhbiYjMzk7cyBkZXNrIHdhcyBkcnkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGVyZSBkaWQgeW91IHN0ZXAgaW4gaXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGFkanVzdGVkIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQb3NzaWJseSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHN0YXJlZCBhdCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtIb3cgZG8geW91IHBvc3NpYmx5IHN0ZXAgaW4gbXVkIGluc2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgb25lIG9mIHNldmVyYWwgdW5yZXNvbHZlZCBxdWVzdGlvbnMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7UnlhbiBlbnRlcmVkIGhvbWVyb29tIHdpdGggZGFyayBtYXRlcmlhbCByZXNlbWJsaW5nIHdldCBzb2lsIG9uIGhpcyBzaG9lJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMSkmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1BoeXNpY2FsIGNvbm5lY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4mIzM5O3Mgc2hvZSBjYXJyaWVzIGRhcmssIGRhbXAKCW1hdGVyaWFsIHRoYXQgc21lbGxzIGxpa2Ugd2V0IHNvaWwsIGFsdGhvdWdoIFJ5YW4gY2FtZSBmcm9tIGluc2lkZSB0aGUKCXNjaG9vbC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O2lmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7TXIuIEFtYXJhbCYjMzk7cyBib290cyB3ZXJlIHdldCBpbnNpZGUgdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UmcXVvdDspJmd0OyZndDsKCSZsdDtwJmd0OwoJCVJ5YW4gbG93ZXJlZCBoaXMgdm9pY2UuCgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJJnF1b3Q7VGhlIGN1c3RvZGlhbiYjMzk7cyBib290cyB3ZXJlIHdldCB0b28uJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJJnF1b3Q7VGhlIGN1c3RvZGlhbiB3aG8gcGFzc2VkIHRoZSBjbGFzc3Jvb20/JnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJUnlhbiB0dXJuZWQgdG93YXJkIHRoZSBkb29yLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O1doYXQgY3VzdG9kaWFuPyZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwpTY29vdCBleHBsYWluZWQgdGhhdCBzb21lb25lIHB1c2hpbmcgYSBjbGVhbmluZyBjYXJ0IGhhZCBzdG9wcGVkIG91dHNpZGUgdGhlIHJvb20uIFJ5YW4gZGlkIG5vdCBsb29rIHJlYXNzdXJlZC4KJmx0Oy9wJmd0OwoKCSZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7VGhlIGN1c3RvZGlhbiBzZWVuIG91dHNpZGUgaG9tZXJvb20gbWF5IGJlIGNvbm5lY3RlZCB3aXRoIHRoZSB3ZXQgbWF0ZXJpYWwgaW4gdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UmcXVvdDspJmd0OyZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O0V2aWRlbmNlIHNoYXJlZDombHQ7L3N0cm9uZyZndDsgUnlhbiBjb25maXJtcyB0aGF0IGEgY3VzdG9kaWFuIGluc2lkZQoJCXRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlIGFsc28gY2FycmllZCBzaWducyBvZiB3YXRlciBhbmQgd2V0IGVhcnRoLgoJJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDtwJmd0OwpBIHNtYWxsIHBpZWNlIG9mIHRoZSBtYXRlcmlhbCBkZXRhY2hlZCBmcm9tIFJ5YW4mIzM5O3Mgc2hvZS4gSXQgbGFuZGVkIGJldHdlZW4gdGhlIGRlc2tzLiBUaGUgbHVtcCBzcHJlYWQgaW50byBhIHRoaW4gbGluZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IG1vdmVkIGFjcm9zcyB0aGUgdGlsZS4gTm90IGRvd25oaWxsLiBUb3dhcmQgU2Nvb3QmIzM5O3MgYmFja3BhY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUb3dhcmQgdGhlIG5vdGVib29rIGluc2lkZSBpdC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbU3RvcCB0aGUgbW92aW5nIHRyYWlsLSZndDtTY29vdCBhbmQgUnlhbiBTdG9wIHRoZSBUcmFpbF1dCglbW0xldCBpdCByZWFjaCB0aGUgbm90ZWJvb2stJmd0O1Njb290IGFuZCBSeWFuIFdhdGNoIHRoZSBUcmFpbF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjQwIiBuYW1lPSJTY29vdCBhbmQgUnlhbiBTdG9wIHRoZSBUcmFpbCIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjE3MTIuNSw2MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtQcmV2ZW50IHRoZSBtb3ZpbmcgdHJhaWwgZnJvbSByZWFjaGluZyBTY29vdCYjMzk7cyBub3RlYm9vayZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgbG93ZXJlZCBvbmUgc2hvZSBvbnRvIHRoZSBtb3ZpbmcgbGluZS4gVGhlIGRhcmsgbWF0ZXJpYWwgc3RvcHBlZCBiZW5lYXRoIHRoZSBzb2xlLiBSeWFuIGxlYW5lZCBzaWRld2F5cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0lzIHRoYXQgc2FmZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RlZmluaXRlbHkgbm90LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlbiB3aHkgYXJlIHlvdSBkb2luZyBpdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0JlY2F1c2UgYXNraW5nIHRoZSBtdWQgdG8gc3RvcCBzZWVtZWQgbGVzcyBlZmZlY3RpdmUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbWF0ZXJpYWwgcHJlc3NlZCBhZ2FpbnN0IFNjb290JiMzOTtzIHNob2UuIENvbGQgdHJhdmVsZWQgdGhyb3VnaCB0aGUgcnViYmVyLiBTY29vdCBsaWZ0ZWQgaGlzIGZvb3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdHJhaWwgaGFkIGZvcm1lZCBhIHNtYWxsIHN5bWJvbCBvbiB0aGUgdGlsZS4gQSBjaXJjbGUgZGl2aWRlZCBpbnRvIHNpeCBjdXJ2ZWQgc2VjdGlvbnMuCiZsdDsvcCZndDsKCiZsdDsmbHQ7c2V0ICRzY29vdEZvdW5kSGV4YWZvaWwgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtUaGUgbW92aW5nIG1hdGVyaWFsIGZyb20gUnlhbiYjMzk7cyBzaG9lIGZvcm1lZCBhIHNpeC1wZXRhbGVkIHN5bWJvbCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtNYXRlcmlhbCByZWFjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIGRhcmsgdHJhaWwgZm9ybWVkIGEgaGV4YWZvaWwgd2hlbgoJU2Nvb3QgYmxvY2tlZCBpdCBmcm9tIHJlYWNoaW5nIHRoZSBub3RlYm9vay4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHN5bWJvbCBkcmllZCBpbnN0YW50bHkuIFJ5YW4gY3JvdWNoZWQgYmVzaWRlIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBpcyBvbmUgb2YgdGhlIG1hcmtzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7T25lIG9mIHdoYXQgbWFya3M/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIHN0b29kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2UgbmVlZCB0byBjb21wYXJlIGluZm9ybWF0aW9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTaG93IFJ5YW4gdGhlIG5vdGVib29rLSZndDtTY29vdCBTaG93cyBSeWFuIHRoZSBOb3RlYm9va11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjQxIiBuYW1lPSJTY29vdCBhbmQgUnlhbiBXYXRjaCB0aGUgVHJhaWwiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIxODM3LjUsNjI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7T2JzZXJ2ZSB3aGF0IHRoZSBtb3ZpbmcgdHJhaWwgZG9lcyB0byBTY29vdCYjMzk7cyBub3RlYm9vayZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qga2VwdCBib3RoIGZlZXQgYXdheSBmcm9tIHRoZSB0cmFpbC4gUnlhbiBsb3dlcmVkIG9uZSBoYW5kIHRvd2FyZCBpdC4gU2Nvb3QgY2F1Z2h0IFJ5YW4mIzM5O3Mgd3Jpc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXZSBjYW4gb2JzZXJ2ZSBpdCB3aXRob3V0IHRvdWNoaW5nIGl0LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBub2RkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtHb29kIHJ1bGUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdHJhaWwgcmVhY2hlZCBTY29vdCYjMzk7cyBiYWNrcGFjay4gSXQgY2xpbWJlZCB0aGUgZmFicmljIHdpdGhvdXQgbGVhdmluZyBhIHN0YWluLiBUaGUgemlwcGVyIG9wZW5lZCBvbmUgdG9vdGggYXQgYSB0aW1lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QmIzM5O3Mgbm90ZWJvb2sgc2xpZCBoYWxmd2F5IG91dC4gVGhlIGNvdmVyIG9wZW5lZC4gUGFnZXMgdHVybmVkIHdpdGhvdXQgd2luZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBtb3ZlbWVudCBzdG9wcGVkIGF0IHRoZSB1bmtub3duIG1lc3NhZ2UuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKRm91ciBhcnJpdmUuJmx0O2JyJmd0OwpUaHJlZSB3ZXJlIHdhaXRpbmcuJmx0O2JyJmd0OwpPbmUgcmVtZW1iZXJzIHRoZSBkb29yLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgZGFyayBtYXRlcmlhbCBjcm9zc2VkIG91dCBvbmUgd29yZC4gQXJyaXZlLiBCZW5lYXRoIGl0LCB0aGUgbWF0ZXJpYWwgd3JvdGU6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKUkVUVVJOCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3ROb3RlYm9va0VudHJ5KCZxdW90O0ZvdXIgcmV0dXJuLiBUaHJlZSB3ZXJlIHdhaXRpbmcuIE9uZSByZW1lbWJlcnMgdGhlIGRvb3IuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7VGhlIGRhcmsgdHJhaWwgY2hhbmdlZCBBUlJJVkUgdG8gUkVUVVJOIGluIFNjb290JiMzOTtzIG5vdGVib29rJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMikmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O01lc3NhZ2UgY2hhbmdlZDombHQ7L3N0cm9uZyZndDsgVGhlIG5vdGVib29rIG5vdyBzYXlzIGZvdXIgd2lsbCByZXR1cm4sCglub3QgYXJyaXZlLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpSeWFuIHJlYWQgdGhlIHJldmlzZWQgbWVzc2FnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0ZvdXIgd2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgd2FzIGhvcGluZyB5b3Uga25ldy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgZG8gbm90LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG5vdGVib29rIHR1cm5lZCBvbmUgbW9yZSBwYWdlIGJ5IGl0c2VsZi4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUgbm90ZWJvb2sgdG9nZXRoZXItJmd0O1Njb290IFNob3dzIFJ5YW4gdGhlIE5vdGVib29rXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNDIiIG5hbWU9IktldmluIENvbXBhcmVzIHRoZSBIZXhhZm9pbHMiIHRhZ3M9ImJnLXBhc3NhZ2UiIHBvc2l0aW9uPSIyODUwLDExMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRncm91cENvbXBhcmVkSGV4YWZvaWxzID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2h5IHRoZSBzYW1lIHN5bWJvbCBhcHBlYXJzIGFjcm9zcyBCcmVja2VucmlkZ2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktldmluIGRyZXcgdGhlIGhleGFmb2lsIGZyb20gdGhlIFdpbmNoZXN0ZXIgYmFuaXN0ZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBwbGFjZWQgdGhlIGFyY2hpdmUgdHJhY2luZyBiZXNpZGUgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCB0dXJuZWQgdGhlIG5vdGVib29rIHVwc2lkZSBkb3duIHVudGlsIGl0cyBoYW5kd3JpdHRlbiBsaW5lcyBmb3JtZWQKYW5vdGhlciB2ZXJzaW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBkZXNjcmliZWQgdGhlIG1hcmtzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSBhbmQgaXRzIGJyYXNzCnRocmVzaG9sZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkZvdXIgdmVyc2lvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2FtZSBjaXJjbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2FtZSBzaXggY3VydmVkIGRpdmlzaW9ucy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkRpZmZlcmVudCBkYW1hZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpEaWZmZXJlbnQgUm9tYW4gbnVtZXJhbHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBhcnJhbmdlZCB0aGVtIGFjY29yZGluZyB0byB3aGVyZSBlYWNoIG9uZSBoYWQgYXBwZWFyZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKV2luY2hlc3RlciBzdGFpcmNhc2U6IFhJJmx0O2JyJmd0OwpXaW5jaGVzdGVyIGRvb3JmcmFtZTogSUkmbHQ7YnImZ3Q7ClNjaG9vbCBwYXNzYWdlOiBJSSZsdDticiZndDsKU2Nvb3QmIzM5O3Mgbm90ZWJvb2s6IElJCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZXNlIGFyZW4mIzM5O3QgZm91ciBkaWZmZXJlbnQgc3ltYm9scywmcXVvdDsgS2V2aW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZXkmIzM5O3JlIHRoZSBzYW1lIHN5c3RlbS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxlYW5lZCBjbG9zZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQbGFjZWQgYXQgZGlmZmVyZW50IGJvdW5kYXJpZXMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGFkZGVkLCAmcXVvdDtXaXRoIGRpZmZlcmVudCBhY2Nlc3MgcnVsZXMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgYXQgdGhlIHNlYWxlZCB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QW5kIHNvbWV0aGluZyBrZWVwcyBkYW1hZ2luZyB0aGVtLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cENvbm5lY3Rpb24oJnF1b3Q7SGV4YWZvaWxzIGFjcm9zcyB0aGUgc2Nob29sIGFuZCBXaW5jaGVzdGVyIHByb3BlcnR5IGZvcm0gb25lIHByb3RlY3RpdmUgYm91bmRhcnkgc3lzdGVtJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7TW9zdCBrbm93biBoZXhhZm9pbHMgYXJlIHdvcm4sIHBhaW50ZWQgb3ZlciwgYWx0ZXJlZCwgb3IgbmVhcmx5IGVyYXNlZCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIGRlZHVjdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIGhleGFmb2lscyBmb3JtIGEgY29ubmVjdGVkIHN5c3RlbQoJb2YgcHJvdGVjdGl2ZSBib3VuZGFyaWVzLCBhbmQgdGhlIHByb3RlY3Rpb24gaXMgZmFpbGluZyBpbiBtdWx0aXBsZQoJbG9jYXRpb25zLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLZXZpbiBsb29rZWQgYWdhaW4gYXQgdGhlIGZvdXIgdmVyc2lvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbWFya3MgaGFkIG5vdCBiZWVuIHBsYWNlZCB0byBpZGVudGlmeSB0aGUgc3RyYW5nZSBwbGFjZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGV5IGhhZCBiZWVuIHBsYWNlZCB0byBjb250cm9sIHRoZW0uCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xldCBLZXZpbiBjb25uZWN0IHRoZSByZW1haW5pbmcgZXZpZGVuY2UtJmd0O0dyb3VwRGVkdWN0aW9uQm9hcmRdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI0MyIgbmFtZT0iU2Nvb3QgUXVlc3Rpb25zIHRoZSBTY2hlZHVsZSBDaGFuZ2UiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxOTc1LDM3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgUnlhbiBjaGFuZ2VkIGludG8gU2Nvb3QmIzM5O3MgaG9tZXJvb20mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doeSBkaWQgeW91IGNoYW5nZSBpbnRvIG15IGhvbWVyb29tPyZxdW90OyBTY29vdCBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbG9va2VkIHN1cnByaXNlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0JlY2F1c2UgeW91IGFyZSBteSBiZXN0IGZyaWVuZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHdhaXRlZC4gUnlhbiBjb250aW51ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBbmQgYmVjYXVzZSBteSBvcmlnaW5hbCBob21lcm9vbSB3YXMgb24gdGhlIGxvd2VyIGZsb29yLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgd2FpdGVkIGFnYWluLiBSeWFuIGxvd2VyZWQgaGlzIHZvaWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TmVhciB0aGUgYm95cyYjMzk7IGJhdGhyb29tLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBzb3VuZHMgbW9yZSBsaWtlIHRoZSByZWFsIHJlYXNvbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0JvdGggcmVhc29ucyBhcmUgcmVhbC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O09uZSByZWFzb24gY29tcGxldGVkIGEgc2NoZWR1bGUtY2hhbmdlIGZvcm0uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGNvbnNpZGVyZWQgdGhhdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0ZhaXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgdG93YXJkIHRoZSBjbGFzc3Jvb20gZG9vci4gVGhlIHdyb25nIHNoYWRvdyBoYWQgcG9pbnRlZCBpbnRvIHRoZSBoYWxsd2F5LiBSeWFuIGhhZCBtb3ZlZCBhd2F5IGZyb20gYSByb29tIGNvbm5lY3RlZCB3aXRoIHNvbWV0aGluZyBzdHJhbmdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNoYWRvdyBoYWQgbW92ZWQgdG93YXJkIFJ5YW4gYmVmb3JlIFJ5YW4gZW50ZXJlZC4gVGhhdCBmZWx0IGltcG9ydGFudC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtSeWFuIGNoYW5nZWQgaG9tZXJvb21zIHBhcnRseSB0byBhdm9pZCB0aGUgZmxvb3IgY29udGFpbmluZyB0aGUgY2xvc2VkIGJveXMmIzM5OyBiYXRocm9vbSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtSeWFuJiMzOTtzIGV4cGxhbmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBSeWFuIHJlcXVlc3RlZCB0aGUgc2NoZWR1bGUgY2hhbmdlCglwYXJ0bHkgYmVjYXVzZSB0aGUgb3JpZ2luYWwgaG9tZXJvb20gd2FzIG5lYXIgdGhlIGNsb3NlZCBib3lzJiMzOTsgYmF0aHJvb20uCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgaGFwcGVuZWQgaW4gdGhlIGJhdGhyb29tPyZxdW90OyBTY29vdCBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgZG8gbm90IGtub3cuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGRvIHlvdSB0aGluayBoYXBwZW5lZD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1NvbWV0aGluZyB0aGUgY3VzdG9kaWFuIGRlc2NyaWJlZCBhcyBldmVyeXdoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgYmxpbmtlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0V2ZXJ5d2hlcmUgd2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgd2FzIGFsc28gbXkgcXVlc3Rpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7aWYgJHJ5YW5FdmlkZW5jZS5pbmNsdWRlcygmcXVvdDtNci4gQW1hcmFsJiMzOTtzIGF0dGVtcHRlZCB3b3JkIG1heSBoYXZlIGJlZ3VuIHdpdGggJiMzOTtybyYjMzk7JnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtIZSB0cmllZCB0byBhbnN3ZXIsJnF1b3Q7IFJ5YW4gc2FpZC4gJnF1b3Q7VGhlIHdvcmQgc3RhcnRlZCB3aXRoIHNvbWV0aGluZyBsaWtlCgkJJmx0O2VtJmd0O3JvJmx0Oy9lbSZndDsuJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJJnF1b3Q7Um90PyZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O1Bvc3NpYmxlLiZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O1Jvb3RzPyZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwpSeWFuIGJlY2FtZSBzdGlsbC4gTmVpdGhlciBvZiB0aGVtIHNwb2tlIGZvciBhIG1vbWVudC4KJmx0Oy9wJmd0OwoKCSZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7TXIuIEFtYXJhbCYjMzk7cyBpbmNvbXBsZXRlIGRlc2NyaXB0aW9uIG1heSBoYXZlIHJlZmVycmVkIHRvIHJvb3RzJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7Ckluc2lkZSBTY29vdCYjMzk7cyBiYWNrcGFjaywgdGhlIG5vdGVib29rIHNjcmFwZWQgYWdhaW5zdCBzb21ldGhpbmcuIE9uY2UuIFR3aWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgdGltZXMuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1Nob3cgUnlhbiB0aGUgbm90ZWJvb2stJmd0O1Njb290IFRlbGxzIFJ5YW4gQWJvdXQgdGhlIFNoYWRvd11dCglbW0tlZXAgcXVlc3Rpb25pbmcgUnlhbiBmaXJzdC0mZ3Q7U2Nvb3QgQXNrcyBSeWFuIGZvciBFdmlkZW5jZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjQ0IiBuYW1lPSJTY29vdCBUZWxscyBSeWFuIEFib3V0IHRoZSBTaGFkb3ciIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxOTEyLjUsNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkc2Nvb3RUb2xkUnlhbkFib3V0U2hhZG93ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtUZWxsIFJ5YW4gd2hhdCBoYXBwZW5lZCB3aXRob3V0IHNvdW5kaW5nIGltcG9zc2libGUmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O015IHNoYWRvdyBtb3ZlZCB3cm9uZywmcXVvdDsgU2Nvb3Qgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gc3RhcmVkIGF0IGhpbS4gU2Nvb3Qgd2FpdGVkIGZvciB0aGUgb2J2aW91cyBxdWVzdGlvbi4gUnlhbiBhc2tlZCBhIGRpZmZlcmVudCBvbmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtIb3cgd3Jvbmc/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtFdmVyeSBvdGhlciBzaGFkb3cgcG9pbnRlZCB0b3dhcmQgdGhlIHdpbmRvd3MuIE1pbmUgcG9pbnRlZCB0b3dhcmQgdGhlCmRvb3IuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDsmbHQ7aWYgJHNjb290VGVzdGVkQ2xhc3Nyb29tTGlnaHQmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7SSB0ZXN0ZWQgdGhlIGxpZ2h0LiBPdGhlciBvYmplY3RzIHdvcmtlZCBub3JtYWxseS4mcXVvdDsKCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlSeWFuIG5vZGRlZCBhcyB0aG91Z2ggU2Nvb3QgaGFkIHN1Ym1pdHRlZCBhY2NlcHRhYmxlIGxhYm9yYXRvcnkgcmVzdWx0cy4KCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiAkc2Nvb3RNb3ZlZERlc2smZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7SSBtb3ZlZCB0aGUgZGVzay4gVGhlIHNoYWRvdyBzdGF5ZWQgd2hlcmUgaXQgd2FzLiZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O0RpZCBpdCByZW1haW4gc2hhcGVkIGxpa2UgeW91PyZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O1llcy4mcXVvdDsKCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQkmcXVvdDtUaGF0IGlzIGhpZ2hseSB1bmZhdm9yYWJsZS4mcXVvdDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiAkc2Nvb3RGb3VuZEhleGFmb2lsJmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O1RoZW4gaXQgbGVmdCBhIG1hcmsuJnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7ClNjb290IGRyZXcgdGhlIHNpeC1wZXRhbGVkIHNoYXBlIG9uIGEgcGllY2Ugb2Ygc2NyYXAgcGFwZXIuIFJ5YW4gc3RvcHBlZCBtb3ZpbmcuCiZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQkmcXVvdDtXaGVyZSBkaWQgeW91IHNlZSB0aGF0PyZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O1VuZGVyIHRoZSBkZXNrLiZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCVJ5YW4gdG9vayB0aGUgcGFwZXIgd2l0aG91dCB0b3VjaGluZyB0aGUgc3ltYm9sIGl0c2VsZi4KCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQkmcXVvdDtJIHNhdyBtYXJrcyBsaWtlIHRoYXQgbmVhciB0aGUgb2ZmaWNlLiZxdW90OwoJJmx0Oy9wJmd0OwoKCSZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7UnlhbiByZWNvZ25pemVkIFNjb290JiMzOTtzIHNpeC1wZXRhbGVkIHN5bWJvbCBhcyBjb25uZWN0ZWQgd2l0aCB0aGUgcHJpbmNpcGFsJiMzOTtzLW9mZmljZSBteXN0ZXJ5JnF1b3Q7KSZndDsmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkJJmx0O3N0cm9uZyZndDtTaGFyZWQgc3ltYm9sOiZsdDsvc3Ryb25nJmd0OyBSeWFuIHJlY29nbml6ZXMgU2Nvb3QmIzM5O3Mgc2l4LXBldGFsZWQgbWFyawoJCWFzIHBhcnQgb2YgdGhlIHNhbWUgbXlzdGVyeSBzdXJyb3VuZGluZyB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZS4KCSZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgbG93ZXJlZCBoaXMgdm9pY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3UgYmVsaWV2ZSBtZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gYWRqdXN0ZWQgdGhlIGhlbG1ldCB3aXRoIGJvdGggaGFuZHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIHNwZW50IHRoZSBtb3JuaW5nIGluIGEgcm9vbSB3aGVyZSB0aGUgZG9vcndheSBuZWVkZWQgcGVybWlzc2lvbiwgdGhlCnNlY3JldGFyeSBrbmV3IG15IG5hbWUgYmVmb3JlIEkgcHJvcGVybHkgaW50cm9kdWNlZCBteXNlbGYsIGFuZCBhIGN1c3RvZGlhbgpsb29rZWQgbGlrZSBoZSBoYWQgd2l0bmVzc2VkIHRoZSBlbmQgb2YgaW5kb29yIHBsdW1iaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U28gdGhhdCBpcyBhIHllcz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IGlzIGFuIGFmZmlybWF0aXZlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAkc2Nvb3RCZWxpZXZlZFJ5YW4gPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgxKSZndDsmZ3Q7CgombHQ7cCZndDsKVGhlIGFuc3dlciBzaG91bGQgaGF2ZSBtYWRlIFNjb290IGZlZWwgYmV0dGVyLiBJbnN0ZWFkLCBpdCByZW1vdmVkIHRoZSBlYXNpZXN0IGV4cGxhbmF0aW9uLiBJZiBSeWFuIGJlbGlldmVkIGhpbSwgU2Nvb3Qgd2FzIHByb2JhYmx5IG5vdCBpbWFnaW5pbmcgaXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1Nob3cgUnlhbiB0aGUgbm90ZWJvb2sgbWVzc2FnZS0mZ3Q7U2Nvb3QgU2hvd3MgUnlhbiB0aGUgTm90ZWJvb2tdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI0NSIgbmFtZT0iU2Nvb3QgQXNrcyBSeWFuIGZvciBFdmlkZW5jZSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjIwMzcuNSw1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdEFza2VkUnlhbkZvckV2aWRlbmNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciBSeWFuJiMzOTtzIGJhdGhyb29tIHN0b3J5IGhhcyBzdXBwb3J0aW5nIGV2aWRlbmNlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGV2aWRlbmNlIGRvIHlvdSBoYXZlPyZxdW90OyBTY29vdCBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gc3RyYWlnaHRlbmVkLiBUaGUgcXVlc3Rpb24gaGFkIGFwcGFyZW50bHkgYWN0aXZhdGVkIGEgcHJlcGFyZWQgcHJlc2VudGF0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Rmlyc3QsIE1yLiBBbWFyYWwgd2FzIGluc2lkZSB0aGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSB3aXRoIHdldCBib290cy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0OyZsdDtpZiAkcnlhbk5vdGljZWRHcmVlblJpbmcmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7U2Vjb25kLCB0aGUgc2VjcmV0YXJ5IHdvcmUgYSBncmVlbiByaW5nIHRoYXQgcmVhY3RlZCB0byB0aGUgZG9vcndheS4mcXVvdDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiAkcnlhbk5vdGljZWREb29yQm91bmRhcnkmZ3Q7Jmd0OwoJJmx0O3AmZ3Q7CgkJJnF1b3Q7VGhpcmQsIHRoZSBzZWNyZXRhcnkgd291bGQgbm90IGV4dGVuZCBoZXIgaGFuZCBhY3Jvc3MgdGhlIGJyYXNzCgkJdGhyZXNob2xkLiZxdW90OwoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7VGhlIHdhaXRpbmcgYXJlYSBiZWNhbWUgc2lsZW50IHdoZW4gUnlhbiB0b3VjaGVkIHRoZSB0aHJlc2hvbGQmcXVvdDspJmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O0ZvdXJ0aCwgZXZlcnkgc291bmQgaW4gdGhlIHdhaXRpbmcgYXJlYSBzdG9wcGVkIHdoZW4gSSB0b3VjaGVkIHRoZQoJCXRocmVzaG9sZC4mcXVvdDsKCSZsdDsvcCZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiAkcnlhbkV2aWRlbmNlLmluY2x1ZGVzKCZxdW90O1RoZSBzZWNyZXRhcnkgc2FpZCBzb21ldGltZXMgdGhlcmUgaXMgbm90IGVub3VnaCBsZWZ0IHRvIGJyaW5nIGJhY2smcXVvdDspJmd0OyZndDsKCSZsdDtwJmd0OwoJCSZxdW90O0ZpZnRoLCB0aGUgc2VjcmV0YXJ5IHNhaWQgcGVvcGxlIHdobyBjcm9zcyBmb3JiaWRkZW4gYm91bmRhcmllcyBhcmUKCQl1c3VhbGx5IGJyb3VnaHQgYmFjay4mcXVvdDsKCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQlTY29vdCBmb2N1c2VkIG9uIG9uZSB3b3JkLgoJJmx0Oy9wJmd0OwoKCSZsdDtwJmd0OwoJCSZxdW90O1VzdWFsbHk/JnF1b3Q7CgkmbHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJJnF1b3Q7U2hlIGNvbmZpcm1lZCBleGNlcHRpb25zLiZxdW90OwoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O2lmICRyeWFuRXZpZGVuY2UuaW5jbHVkZXMoJnF1b3Q7VGhlIHdvb2RlbiBkb29yc3RvcCBjYW1lIGZyb20gb3V0c2lkZSB0aGUgc2Nob29sJnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7cCZndDsKCQkmcXVvdDtUaGUgbG9hZGluZy1kb2NrIGRvb3Igd2FzIHByb3BwZWQgb3BlbiB3aXRoIGEgYmxvY2sgYnJvdWdodCBmcm9tIG91dHNpZGUKCQl0aGUgc2Nob29sLiZxdW90OwoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgY291bnRlZCB0aGUgZGV0YWlscy4gUnlhbiYjMzk7cyBzdG9yeSB3YXMgc3RyYW5nZS4gSXQgd2FzIGFsc28gc3BlY2lmaWMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTcGVjaWZpYyBkaWQgbm90IGd1YXJhbnRlZSB0cnV0aC4gQnV0IFJ5YW4gcmFyZWx5IGludmVudGVkIGRldGFpbHMgd2hlbiBhY3R1YWwgZGV0YWlscyB3ZXJlIGF2YWlsYWJsZSB0byB3b3JyeSBhYm91dC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJHNjb290QmVsaWV2ZWRSeWFuID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7UnlhbiBwcm92aWRlZCByb3V0ZS1zcGVjaWZpYyBldmlkZW5jZSBjb25uZWN0aW5nIHRoZSBiYXRocm9vbSwgY3VzdG9kaWFuLCBzZWNyZXRhcnksIGFuZCBvZmZpY2UgdGhyZXNob2xkJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2Ugc2hhcmVkOiZsdDsvc3Ryb25nJmd0OyBSeWFuJiMzOTtzIG9ic2VydmF0aW9ucyBjb25uZWN0IHRoZSBiYXRocm9vbQoJaW5jaWRlbnQgd2l0aCB3ZXQgZWFydGgsIHJlc3RyaWN0ZWQgYm91bmRhcmllcywgYW5kIHRoZSBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwomcXVvdDtPa2F5LCZxdW90OyBTY29vdCBzYWlkLiAmcXVvdDtJIGhhdmUgZXZpZGVuY2UgdG9vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTaG93IFJ5YW4gdGhlIG5vdGVib29rLSZndDtTY29vdCBTaG93cyBSeWFuIHRoZSBOb3RlYm9va11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjQ2IiBuYW1lPSJTY29vdCBTaG93cyBSeWFuIHRoZSBOb3RlYm9vayIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjIwMzcuNSw2MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hhdCB0aGUgbm90ZWJvb2sga25vd3MgYWJvdXQgUnlhbiYjMzk7cyBpbnZlc3RpZ2F0aW9uJnF1b3Q7Jmd0OyZndDsKCgombHQ7cCZndDtTY29vdCB0dXJuZWQgdGhlIG5vdGVib29rIHRvd2FyZCBSeWFuIHNsb3dseS4gT25jZSBzb21lb25lIGVsc2Ugc2F3IHRoZSB3b3JkcywgcHJldGVuZGluZyB0aGV5IHdlcmUgbm9ybWFsIHdvdWxkIGJlY29tZSBtdWNoIGhhcmRlci4mbHQ7L3AmZ3Q7CiZsdDtwJmd0OwpTY29vdCBwbGFjZWQgdGhlIG5vdGVib29rIGJldHdlZW4gdGhlbS4gSGUga2VwdCBvbmUgaGFuZCBvdmVyIHRoZSBlYXJsaWVyIHBhZ2VzLiBSeWFuIG5vdGljZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBcmUgdGhvc2UgY2xhc3NpZmllZD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0V4dHJlbWVseS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0dvdmVybm1lbnQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQZXJzb25hbC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbm9kZGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TW9yZSBzZWN1cmUgdGhhbiBnb3Zlcm5tZW50LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgZXhwb3NlZCBvbmx5IHRoZSBwYWdlcyBjb250YWluaW5nIHRoZSB1bmV4cGxhaW5lZCB3cml0aW5nLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O2lmICRzY29vdE5vdGVib29rQ2hhbmdlZCZndDsmZ3Q7CgkmbHQ7cCZndDsKCQlSeWFuIHJlYWQgdGhlIG1lc3NhZ2UgY2FyZWZ1bGx5LgoJJmx0Oy9wJmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKCQlGb3VyIGFycml2ZS4mbHQ7YnImZ3Q7CgkJVGhyZWUgd2VyZSB3YWl0aW5nLiZsdDticiZndDsKCQlPbmUgcmVtZW1iZXJzIHRoZSBkb29yLgoJJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgJHNjb290Rm91bmRIZXhhZm9pbCZndDsmZ3Q7CgkmbHQ7cCZndDsKU2Nvb3QgdHVybmVkIHRoZSBub3RlYm9vayBhbmQgc2hvd2VkIFJ5YW4gdGhlIHNpeC1wZXRhbGVkIHBhdHRlcm4uIFJ5YW4gYmVjYW1lIHN0aWxsLgombHQ7L3AmZ3Q7CgoJJmx0O3AmZ3Q7CgkJJnF1b3Q7SSBoYXZlIHNlZW4gc29tZXRoaW5nIGxpa2UgdGhhdC4mcXVvdDsKCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQkmcXVvdDtXaGVyZT8mcXVvdDsKCSZsdDsvcCZndDsKCgkmbHQ7cCZndDsKCQkmcXVvdDtOZWFyIHBsYWNlcyB3aXRoIHJ1bGVzLiZxdW90OwoJJmx0Oy9wJmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7cCZndDsKUnlhbiBwbGFjZWQgb25lIGZpbmdlciBuZWFyIHRoZSBmaW5hbCBsaW5lIHdpdGhvdXQgdG91Y2hpbmcgdGhlIGluay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O09uZSByZW1lbWJlcnMgdGhlIGRvb3IuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgcHJpbmNpcGFsJiMzOTtzIGRvb3I/JnF1b3Q7IFNjb290IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7UG9zc2libHkuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgYmF0aHJvb20gZG9vcj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0Fsc28gcG9zc2libGUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgY2xhc3Nyb29tIGRvb3I/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGxvb2tlZCB0b3dhcmQgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUb28gbWFueSBkb29ycy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBub3RlYm9vayByZXNwb25kZWQuIE5ldyBoYW5kd3JpdGluZyBhcHBlYXJlZCBiZW5lYXRoIFJ5YW4mIzM5O3MgZmluZ2VyOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Ck5PVCBUSEUgRE9PUiBZT1UgQ0FOIFNFRS4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7Tm90IHRoZSBkb29yIHlvdSBjYW4gc2VlLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1RoZSBub3RlYm9vayB0b2xkIFJ5YW4gYW5kIFNjb290IHRoYXQgdGhlIHJlbGV2YW50IGRvb3IgaXMgaGlkZGVuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMSkmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0hpZGRlbi1kb29yIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBub3RlYm9vayBjbGFpbXMgdGhhdCB0aGUgaW1wb3J0YW50Cglkb29yIGlzIG5vdCBjdXJyZW50bHkgdmlzaWJsZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKUnlhbiYjMzk7cyBmaW5nZXIgbW92ZWQgdG93YXJkIHRoZSBoZWxtZXQgYnJpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0hpZGRlbiBkb29ycyBzdGlsbCByZXF1aXJlIGJvdW5kYXJpZXMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtIb3cgZG8geW91IGtub3c/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGRvbiYjMzk7dC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gYWRqdXN0ZWQgdGhlIGhlbG1ldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgYW0gZGV2ZWxvcGluZyB0aGUgcnVsZSB3aGlsZSBzcGVha2luZy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBob21lcm9vbSB0ZWFjaGVyIGVudGVyZWQgYW5kIHBsYWNlZCBhIHN0YWNrIG9mIGF0dGVuZGFuY2UgZm9ybXMgb24gdGhlIGRlc2suIENvbnZlcnNhdGlvbiBhcm91bmQgdGhlIHJvb20gc3RvcHBlZC4gU2Nvb3QgY2xvc2VkIHRoZSBub3RlYm9vay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkZyb20gaW5zaWRlIHRoZSBjbG9zZWQgY292ZXIgY2FtZSB0aHJlZSBrbm9ja3MuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhaXQgZm9yIGF0dGVuZGFuY2UgdG8gYmVnaW4tJmd0O1Njb290IEhvbWVyb29tIEF0dGVuZGFuY2VdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI0NyIgbmFtZT0iU2Nvb3QgSGlkZXMgdGhlIE15c3RlcnkgZnJvbSBSeWFuIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMjMyNSwzNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdFByb3RlY3RlZE5vdGVib29rID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtLZWVwIHRoZSBub3RlYm9vayBoaWRkZW4gYW5kIGxlYXJuIHdoYXQgUnlhbiBrbm93cyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgc2xpZCB0aGUgbm90ZWJvb2sgZmFydGhlciBiZW5lYXRoIGhpcyBzY2hlZHVsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vdGhpbmcgaGFwcGVuZWQsJnF1b3Q7IGhlIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGxvb2tlZCBhdCB0aGUgc2NoZWR1bGUuIFRoZW4gYXQgYm90aCBvZiBTY29vdCYjMzk7cyBoYW5kcyByZXN0aW5nIG9uIHRvcCBvZiBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgd2FzIG5vdCB0aGUgcXVlc3Rpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3UgZGlkbiYjMzk7dCBhc2sgYSBxdWVzdGlvbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0V4YWN0bHkuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGxlYW5lZCBjbG9zZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3VyIGNvbmNlYWxtZW50IHN0cmF0ZWd5IGJlZ2FuIGJlZm9yZSB0aGUgaW50ZXJyb2dhdGlvbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IGlzbiYjMzk7dCBhIGNvbmNlYWxtZW50IHN0cmF0ZWd5LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG5vdGVib29rIHNoaWZ0ZWQgYmVuZWF0aCB0aGUgc2NoZWR1bGUuIFJ5YW4gd2F0Y2hlZCBpdCBtb3ZlLiBTY29vdCBwcmVzc2VkIGRvd24gaGFyZGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm90ZWJvb2sgc2V0dGxpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQYXBlciBkb2VzIG5vdCBzZXR0bGUgc2lkZXdheXMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJdCBpcyBhbiB1bnVzdWFsIG5vdGVib29rLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBpcyBiZWNvbWluZyBjbGVhci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBub3RlYm9vayBwdXNoZWQgdGhlIHNjaGVkdWxlIHVwd2FyZC4gVGhyZWUgd29yZHMgYXBwZWFyZWQgdGhyb3VnaCB0aGUgdGhpbiBzY2hlZHVsZSBwYXBlcjoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpIRSBLTk9XUyBBTFJFQURZLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSgmcXVvdDtIZSBrbm93cyBhbHJlYWR5LiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1RoZSBub3RlYm9vayByZXZlYWxlZCBpdHNlbGYgdG8gUnlhbiBhZnRlciBTY29vdCB0cmllZCB0byBjb25jZWFsIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMSkmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O05vdGVib29rIGludGVyZmVyZW5jZTombHQ7L3N0cm9uZyZndDsgVGhlIG5vdGVib29rIGV4cG9zZWQgaXRzIG1lc3NhZ2UKCXRocm91Z2ggU2Nvb3QmIzM5O3Mgc2NoZWR1bGUgYWZ0ZXIgU2Nvb3QgdHJpZWQgdG8gaGlkZSBpdCBmcm9tIFJ5YW4uCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gcmVhZCB0aGUgd29yZHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGRvIEkga25vdyBhbHJlYWR5PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgc2xvd2x5IHJlbW92ZWQgdGhlIHNjaGVkdWxlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBpcyBhbiBleGNlbGxlbnQgcXVlc3Rpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1Nob3cgUnlhbiB0aGUgbm90ZWJvb2stJmd0O1Njb290IFNob3dzIFJ5YW4gdGhlIE5vdGVib29rXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNDgiIG5hbWU9IlNjb290IEhvbWVyb29tIEF0dGVuZGFuY2UiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyMDI1LDc1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aHkgYXR0ZW5kYW5jZSBpbmNsdWRlcyBhIHN0dWRlbnQgd2hvIGlzIG5vdCBwcmVzZW50JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciBwaWNrZWQgdXAgdGhlIGF0dGVuZGFuY2Ugc2hlZXQuCiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCByaWdodCB0aWx0LW4yIHN0YW5kYXJkIGJhdGNoMiB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtsb2NrZXJfbm90ZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2xvY2tlcl9ub3RlLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7UXVpZXQgZG93bi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjbGFzc3Jvb20gYmVjYW1lIGFwcHJveGltYXRlbHkgcXVpZXRlci4gVGhlIHRlYWNoZXIgYmVnYW4gcmVhZGluZyBuYW1lcy4gRWFjaCBzdHVkZW50IGFuc3dlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBzYXQgd2l0aCBib3RoIGhhbmRzIG9uIHRoZSBoZWxtZXQuIFNjb290IGtlcHQgdGhlIG5vdGVib29rIGNsb3NlZCBiZW5lYXRoIG9uZSBoYW5kLiBUaGUgdGVhY2hlciByZWFjaGVkIFJ5YW4mIzM5O3MgbmFtZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1J5YW4gR3Jvb2JsZXI/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGNsb3NlZCBoaXMgZXllcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0dydWJsZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQcmVzZW50LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgY29udGludWVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U2NvdHQgUmV5bm9sZHM/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQcmVzZW50LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiB3aGlzcGVyZWQsICZxdW90O1Njb290IFJleW5vbGRzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgd2hpc3BlcmVkIGJhY2ssICZxdW90O05vdCBoZWxwaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgcmVhY2hlZCB0aGUgYm90dG9tIG9mIHRoZSBwYWdlLiBUaGVuIHBhdXNlZC4gVGhlIHRlYWNoZXImIzM5O3MgZmluZ2VyIG1vdmVkIHRvIGEgbmFtZSBiZWxvdyB0aGUgcHJpbnRlZCBsaXN0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG5hbWUgaGFkIGJlZW4gaGFuZHdyaXR0ZW4gaW4gZmFkZWQgaW5rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7THVjaWxsZSBWYWxlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm9ib2R5IGFuc3dlcmVkLiBTY29vdCBsb29rZWQgYXQgUnlhbi4gUnlhbiYjMzk7cyBleWVzIHJlbWFpbmVkIGZpeGVkIG9uIHRoZSBhdHRlbmRhbmNlIHNoZWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgcmVwZWF0ZWQgdGhlIG5hbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMdWNpbGxlIFZhbGU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBrbm9ja3MgYW5zd2VyZWQgZnJvbSBpbnNpZGUgdGhlIGNsYXNzcm9vbSB3YWxsLiBUaGUgdGVhY2hlciBtYXJrZWQgdGhlIHN0dWRlbnQgcHJlc2VudC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtUaGUgYXR0ZW5kYW5jZSBzaGVldCBjb250YWluZWQgdGhlIGhhbmR3cml0dGVuIG5hbWUgTHVjaWxsZSBWYWxlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7VGhyZWUga25vY2tzIGFuc3dlcmVkIHdoZW4gdGhlIHRlYWNoZXIgY2FsbGVkIEx1Y2lsbGUgVmFsZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDIpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtBdHRlbmRhbmNlIGFub21hbHk6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB0ZWFjaGVyIG1hcmtlZCBMdWNpbGxlIFZhbGUgcHJlc2VudAoJYWZ0ZXIgdGhyZWUga25vY2tzIGFuc3dlcmVkIGZyb20gaW5zaWRlIHRoZSB3YWxsLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpTY29vdCBvcGVuZWQgdGhlIG5vdGVib29rIGJlbmVhdGggdGhlIGRlc2suIEEgbmV3IGxpbmUgaGFkIGFwcGVhcmVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClNIRSBBTlNXRVJFRC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7U2hlIGFuc3dlcmVkLiZxdW90OykmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBmbHVvcmVzY2VudCBsaWdodHMgZGltbWVkLiBFdmVyeSBzdHVkZW50IGluIHRoZSByb29tIGNhc3QgYSBzaGFkb3cgdG93YXJkIHRoZSB3aW5kb3dzLiBFeGNlcHQgU2Nvb3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpFeGNlcHQgUnlhbi4gVGhlaXIgc2hhZG93cyByZWFjaGVkIGJlbmVhdGggdGhlIGNsYXNzcm9vbSBkb29yIGFuZCBqb2luZWQgaW4gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtIb3cgc2hvdWxkIFNjb290IHJlc3BvbmQ/Jmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJJmx0OyZsdDtsaW5rICZxdW90O1NpZ25hbCBSeWFuIHRvIHdhdGNoIHRoZSBzaGFkb3dzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6U2Nvb3QgSG9tZXJvb20gQXR0ZW5kYW5jZToxOjkxMGIxZDY2JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpTY29vdCBIb21lcm9vbSBBdHRlbmRhbmNlOjE6OTEwYjFkNjYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgYW5kIFJ5YW4gRm9sbG93IHRoZSBKb2luZWQgU2hhZG93cyZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVjb3JkIEx1Y2lsbGUmIzM5O3MgYXR0ZW5kYW5jZSBiZWZvcmUgdGhlIHNoZWV0IGNoYW5nZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTY29vdCBIb21lcm9vbSBBdHRlbmRhbmNlOjI6YThiMjViNzkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlNjb290IEhvbWVyb29tIEF0dGVuZGFuY2U6MjphOGIyNWI3OSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLnJlY29yZCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1Njb290IFJlY29yZHMgTHVjaWxsZSBBdHRlbmRhbmNlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgdGhlIHRlYWNoZXIgd2hvIGFkZGVkIEx1Y2lsbGUgdG8gdGhlIGxpc3QuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTY29vdCBIb21lcm9vbSBBdHRlbmRhbmNlOjM6YzViYWE5ODYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlNjb290IEhvbWVyb29tIEF0dGVuZGFuY2U6MzpjNWJhYTk4NiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLnRlc3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBRdWVzdGlvbnMgTHVjaWxsZSBBdHRlbmRhbmNlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI0OSIgbmFtZT0iU2Nvb3QgYW5kIFJ5YW4gRm9sbG93IHRoZSBKb2luZWQgU2hhZG93cyIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjIyMjUsNzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Rm9sbG93IHRoZSBqb2luZWQgc2hhZG93cyB3aXRob3V0IGxvc2luZyBzaWdodCBvZiB0aGVtJnF1b3Q7Jmd0OyZndDsKCgombHQ7cCZndDtUaGUgc2hhZG93cyBtb3ZlZCBiZWZvcmUgZWl0aGVyIGJveSBkaWQuIFRoZXkgbWV0IGluIHRoZSBhaXNsZSBhbmQgc2xpZCB0b3dhcmQgdGhlIGRvb3IgbGlrZSB0d28gZGFyayBzdHJlYW1zIGZpbmRpbmcgdGhlIHNhbWUgY2hhbm5lbC4mbHQ7L3AmZ3Q7CiZsdDtwJmd0OwpTY29vdCB0YXBwZWQgUnlhbiYjMzk7cyBhcm0uIFJ5YW4gbG9va2VkIGRvd24uIFRoZWlyIHNoYWRvd3Mgc3RyZXRjaGVkIGJlbmVhdGggdGhlIGRlc2tzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGRhcmsgc2hhcGVzIGNyb3NzZWQgdGhlIGNsYXNzcm9vbSBmbG9vciwgc2xpcHBlZCBiZW5lYXRoIHRoZSBkb29yLCBhbmQgam9pbmVkIGluIHRoZSBoYWxsd2F5LiBSeWFuIHRvdWNoZWQgdGhlIGJyaW0gb2YgaGlzIGhlbG1ldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RvIHlvdSBzZWUgdGhhdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBwYXJ0IHdoZXJlIG91ciBzaGFkb3dzIGxlZnQgd2l0aG91dCB1cz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1llcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgd2FzIGhvcGluZyB5b3UgZGlkbiYjMzk7dC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0ZWFjaGVyIGNvbnRpbnVlZCB0YWtpbmcgYXR0ZW5kYW5jZS4gTmVpdGhlciBTY29vdCBub3IgUnlhbiBtb3ZlZC4gVGhlIGpvaW5lZCBzaGFkb3cgd2FpdGVkIGJlbmVhdGggdGhlIGNsYXNzcm9vbSBkb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlbiBpdCBwdWxsZWQgZm9yd2FyZC4gQm90aCBib3lzIGZlbHQgdGhlIG1vdmVtZW50IGF0IHRoZSBzYW1lIHRpbWUuIE5vdCBhZ2FpbnN0IHRoZWlyIHNob2VzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW5zaWRlIHRoZWlyIGNoZXN0cy4gTGlrZSBhbiBpbnZpc2libGUgc3RyaW5nIGhhZCB0aWdodGVuZWQgYmV0d2VlbiB0aGVtIGFuZCB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtTY29vdCYjMzk7cyBhbmQgUnlhbiYjMzk7cyBzaGFkb3dzIGpvaW5lZCBhbmQgcHVsbGVkIHRvd2FyZCB0aGUgaGFsbHdheSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTaGFyZWQgYW5vbWFseTombHQ7L3N0cm9uZyZndDsgU2Nvb3QgYW5kIFJ5YW4gd2l0bmVzc2VkIHRoZWlyIHNoYWRvd3MKCWpvaW5pbmcgYmVuZWF0aCB0aGUgY2xhc3Nyb29tIGRvb3IgYW5kIHB1bGxpbmcgdGhlbSB0b3dhcmQgdGhlIGhhbGx3YXkuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IGxvb2tlZCBhdCB0aGUgdGVhY2hlci4gVGhlIHRlYWNoZXIgd2FzIHN0aWxsIHN0YXJpbmcgYXQgdGhlIGF0dGVuZGFuY2Ugc2hlZXQuIFRoZSBmYWRlZCBuYW1lIHJlbWFpbmVkIGF0IHRoZSBib3R0b20uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpMdWNpbGxlIFZhbGUuIFRoZSBub3RlYm9vayBzaGlmdGVkIGJlbmVhdGggU2Nvb3QmIzM5O3MgaGFuZC4gT25lIGNvcm5lciBwb2ludGVkIHRvd2FyZCB0aGUgY2xhc3Nyb29tIGRvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIHdoaXNwZXJlZCwgJnF1b3Q7V2UgbmVlZCB0byBmb2xsb3cgaXQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgc2hhZG93PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGNsdWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGV5IGFyZSBjdXJyZW50bHkgdGhlIHNhbWUgdGhpbmcuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0IHNpbXBsaWZpZXMgdGhlIGludmVzdGlnYXRpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJdCBhYnNvbHV0ZWx5IGRvZXMgbm90LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGVuZC1vZi1ob21lcm9vbSBiZWxsIHJhbmcuIFRoZSBqb2luZWQgc2hhZG93IG1vdmVkIGludG8gdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZvbGxvdyBpdCBiZWZvcmUgaXQgZGlzYXBwZWFycy0mZ3Q7U2Nvb3QgYW5kIFJ5YW4gRW50ZXIgdGhlIEhhbGx3YXldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI1MCIgbmFtZT0iU2Nvb3QgYW5kIFJ5YW4gRW50ZXIgdGhlIEhhbGx3YXkiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyMjI1LDg1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IEhvbWVyb29tIEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Rm9sbG93IHRoZSBzaGFkb3dzIHRvIHRoZSBoaWRkZW4gZG9vcndheSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU3R1ZGVudHMgcG91cmVkIGludG8gdGhlIGhhbGx3YXkuIExvY2tlcnMgb3BlbmVkLiBCb29rcyBjaGFuZ2VkIGhhbmRzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVm9pY2VzIGJvdW5jZWQgYWdhaW5zdCB0aGUgY2luZGVyLWJsb2NrIHdhbGxzLiBTY29vdCBrZXB0IGhpcyBleWVzIG9uIHRoZSBmbG9vci4gUnlhbiBzdGF5ZWQgYmVzaWRlIGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZWlyIHNoYWRvd3MgbW92ZWQgc2V2ZXJhbCBmZWV0IGFoZWFkIG9mIHRoZW0uIFN0dWRlbnRzIHN0ZXBwZWQgYWNyb3NzIHRoZSBkYXJrIHNoYXBlcyB3aXRob3V0IG5vdGljaW5nLiBUaGUgc2hhZG93cyB0dXJuZWQgYXQgdGhlIGZpcnN0IGludGVyc2VjdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGFuZCBSeWFuIGZvbGxvd2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hlcmUgYXJlIHdlIGdvaW5nPyZxdW90OyBTY29vdCBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBzaGFkb3dzIGFwcGVhciB0byBiZSBoYW5kbGluZyBuYXZpZ2F0aW9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCB3YXMgbm90IHdoYXQgSSBhc2tlZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IGlzIHRoZSBvbmx5IGFuc3dlciBjdXJyZW50bHkgYXZhaWxhYmxlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNoYWRvd3MgcGFzc2VkIHRoZSBsaWJyYXJ5IGFuZCBjb250aW51ZWQgaW50byB0aGUgZWFzdCBoYWxsd2F5LiBUaGUgY3Jvd2QgdGhpbm5lZCBiZWhpbmQgdGhlbSwgYW5kIGNsYXNzcm9vbSBub2lzZSBmYWRlZCBhcyBvbmUgZG9vciBhZnRlciBhbm90aGVyIHN3dW5nIGNsb3NlZC4gVGhlIHNoYWRvd3Mgc3RvcHBlZCBiZXNpZGUgYSBidWxsZXRpbiBib2FyZC4gTHVuY2ggbWVudXMsIGxpYnJhcnkgbm90aWNlcywgYW5kIGFuIGF0dGVuZGFuY2UgcG9zdGVyIGNvdmVyZWQgdGhlIGNvcmsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3RoaW5nIGFib3V0IHRoZSB3YWxsIGFwcGVhcmVkIHVudXN1YWwuIFJ5YW4gbG9va2VkIGF0IHRoZSBidWxsZXRpbiBib2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vdCB0aGUgZG9vciB5b3UgY2FuIHNlZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IG9wZW5lZCB0aGUgbm90ZWJvb2suIFRoZSBtZXNzYWdlIGhhZCBjaGFuZ2VkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRIRSBET09SIFNIRSBDTE9TRUQuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3ROb3RlYm9va0VudHJ5KCZxdW90O1RoZSBkb29yIHNoZSBjbG9zZWQuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7U2Nvb3QmIzM5O3MgYW5kIFJ5YW4mIzM5O3Mgc2hhZG93cyBsZWQgdGhlbSB0byB0aGUgZWFzdC1oYWxsIGJ1bGxldGluIGJvYXJkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMSkmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0hpZGRlbiBsb2NhdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIGpvaW5lZCBzaGFkb3dzIGxlZCBTY29vdCBhbmQgUnlhbiB0bwoJdGhlIGJ1bGxldGluIGJvYXJkIGNvbmNlYWxpbmcgS2ltbXkmIzM5O3Mgc2VhbGVkIHBhc3NhZ2UuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CkEgbmFycm93IGxpbmUgYXBwZWFyZWQgYmV0d2VlbiB0d28gcGFpbnRlZCBibG9ja3MuIENvbGQgYWlyIHRocmVhZGVkIHRocm91Z2ggaXQgYW5kIGJydXNoZWQgYWNyb3NzIHRoZWlyIHNob2VzLiBSeWFuIHJlYWNoZWQgdG93YXJkIHRoZSB3YWxsLiBTY29vdCBjYXVnaHQgaGlzIHdyaXN0LgombHQ7L3AmZ3Q7CiZsdDtwJmd0OwomcXVvdDtObyB0b3VjaGluZyB1bmV4cGxhaW5lZCBkb29yd2F5cy4mcXVvdDsKJmx0Oy9wJmd0OwombHQ7cCZndDsKUnlhbiBub2RkZWQuICZxdW90O0dvb2QgcnVsZS4gSSB3YXMgY2hlY2tpbmcgd2hldGhlciB5b3UgcmVtZW1iZXJlZCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgcmVmbGVjdGlvbiBhcHBlYXJlZCBpbiB0aGUgZ2xhc3MgY292ZXJpbmcgdGhlIGF0dGVuZGFuY2UgcG9zdGVyLiBTY29vdCBsb29rZWQgYXQgaXQuIFRoZSByZWZsZWN0aW9uIHNob3dlZCBmb3VyIHN0dWRlbnRzIHN0YW5kaW5nIGluIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25seSBTY29vdCBhbmQgUnlhbiB3ZXJlIGFjdHVhbGx5IHRoZXJlLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hhdCBzaG91bGQgU2Nvb3QgZXhhbWluZT8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3R1ZHkgdGhlIGZvdXIgcmVmbGVjdGVkIHN0dWRlbnRzLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6U2Nvb3QgYW5kIFJ5YW4gRW50ZXIgdGhlIEhhbGx3YXk6MTo2NjQ3NTVjMSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6U2Nvb3QgYW5kIFJ5YW4gRW50ZXIgdGhlIEhhbGx3YXk6MTo2NjQ3NTVjMSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRzY29vdEFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBTZWVzIEZvdXIgUmVmbGVjdGlvbnMmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1JlY29yZCB0aGUgcmVmbGVjdGlvbiBiZWZvcmUgaXQgY2hhbmdlcy4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlNjb290IGFuZCBSeWFuIEVudGVyIHRoZSBIYWxsd2F5OjI6YThiMjViNzkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlNjb290IGFuZCBSeWFuIEVudGVyIHRoZSBIYWxsd2F5OjI6YThiMjViNzkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5yZWNvcmQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBSZWNvcmRzIHRoZSBGb3VyIFJlZmxlY3Rpb25zJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtBc2sgUnlhbiB3aGV0aGVyIGhlIHNlZXMgdGhlIHNhbWUgdGhpbmcuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTY29vdCBhbmQgUnlhbiBFbnRlciB0aGUgSGFsbHdheTozOjkxMGIxZDY2JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpTY29vdCBhbmQgUnlhbiBFbnRlciB0aGUgSGFsbHdheTozOjkxMGIxZDY2JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHNjb290QXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O1Njb290IENvbmZpcm1zIHRoZSBTaGFyZWQgUmVmbGVjdGlvbiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDshLS0gQnVpbGQgNS4xNCBhdG1vc3BoZXJpYyBoYXVudGluZyAtLSZndDsKJmx0OyZsdDtzZXQgX2hhdW50aW5nQXRtb3NwaGVyZSA9IHNldHVwLnJvbGxBdG1vc3BoZXJpY0hhdW50aW5nKCZxdW90O3NjaG9vbCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2hhdW50aW5nQXRtb3NwaGVyZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy1hdG1vc3BoZXJlJnF1b3Q7IHJvbGU9JnF1b3Q7c3RhdHVzJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2hhdW50aW5nLW1hcmsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDshJmx0Oy9zcGFuJmd0OyZsdDtwJmd0OyZsdDsmbHQ7PSBfaGF1bnRpbmdBdG1vc3BoZXJlJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI1MSIgbmFtZT0iU2Nvb3QgUmVjb3JkcyBMdWNpbGxlIEF0dGVuZGFuY2UiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxOTI1LDkyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0NyZWF0ZSBhbiBpbmRlcGVuZGVudCByZWNvcmQgb2YgTHVjaWxsZSYjMzk7cyBhdHRlbmRhbmNlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBvcGVuZWQgdGhlIG5vdGVib29rIGJlbmVhdGggdGhlIGRlc2suIEhlIHdyb3RlIHF1aWNrbHk6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKQXR0ZW5kYW5jZSBzaGVldCBpbmNsdWRlcyBMdWNpbGxlIFZhbGUuJmx0O2JyJmd0OwpObyBzdHVkZW50IGFuc3dlcmVkLiZsdDticiZndDsKVGhyZWUga25vY2tzIGNhbWUgZnJvbSB0aGUgd2FsbC4mbHQ7YnImZ3Q7ClRlYWNoZXIgbWFya2VkIEx1Y2lsbGUgcHJlc2VudC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7QXR0ZW5kYW5jZSBzaGVldCBpbmNsdWRlcyBMdWNpbGxlIFZhbGUuIFRocmVlIGtub2NrcyBhbnN3ZXJlZCBmb3IgaGVyLiZxdW90OykmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IGNoZWNrZWQgdGhlIHRlYWNoZXImIzM5O3MgZGVzay4gVGhlIGF0dGVuZGFuY2Ugc2hlZXQgcmVtYWluZWQgdmlzaWJsZS4gTHVjaWxsZSYjMzk7cyBuYW1lIHdhcyBzdGlsbCB0aGVyZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIGNoZWNrZWQgaGlzIG5vdGVib29rLiBIaXMgZW50cnkgcmVtYWluZWQgdW5jaGFuZ2VkLiBGb3IgYXBwcm94aW1hdGVseSB0aHJlZSBzZWNvbmRzLCBTY29vdCBwb3NzZXNzZWQgdHdvIG1hdGNoaW5nIHJlY29yZHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIHRoZSB0ZWFjaGVyIGxpZnRlZCB0aGUgYXR0ZW5kYW5jZSBzaGVldC4gVGhlIGhhbmR3cml0dGVuIG5hbWUgZGlzYXBwZWFyZWQuIE5vdCBmYWRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkdvbmUuIFRoZSB0ZWFjaGVyIGZyb3duZWQgYXQgdGhlIGVtcHR5IHNwYWNlLiBTY29vdCBjaGVja2VkIHRoZSBub3RlYm9vay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhpcyBlbnRyeSBzdGlsbCByZWFkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Ckx1Y2lsbGUgVmFsZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1Njb290JiMzOTtzIG5vdGVib29rIHByZXNlcnZlZCBMdWNpbGxlJiMzOTtzIG5hbWUgYWZ0ZXIgaXQgZGlzYXBwZWFyZWQgZnJvbSB0aGUgYXR0ZW5kYW5jZSBzaGVldCZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtJbmRlcGVuZGVudCByZWNvcmQ6Jmx0Oy9zdHJvbmcmZ3Q7IFNjb290JiMzOTtzIG5vdGVib29rIHByZXNlcnZlZCBMdWNpbGxlJiMzOTtzCgluYW1lIGFmdGVyIHRoZSBvcmlnaW5hbCBoYW5kd3JpdGluZyB2YW5pc2hlZCBmcm9tIHRoZSBhdHRlbmRhbmNlIHNoZWV0LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpOZXcgd3JpdGluZyBhcHBlYXJlZCBiZW5lYXRoIFNjb290JiMzOTtzIGVudHJ5LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClBSRVNFTlQgSVMgTk9UIFRIRSBTQU1FIEFTIEhFUkUuCiZsdDsvZGl2Jmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3ROb3RlYm9va0VudHJ5KCZxdW90O1ByZXNlbnQgaXMgbm90IHRoZSBzYW1lIGFzIGhlcmUuJnF1b3Q7KSZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgc2hvd2VkIHRoZSBzZW50ZW5jZSB0byBSeWFuLiBSeWFuIHJlYWQgaXQgdHdpY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0IGRpc3RpbmN0aW9uIGZlZWxzIGludGVudGlvbmFsbHkgdW5wbGVhc2FudC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBlbmQtb2YtaG9tZXJvb20gYmVsbCByYW5nLiBTY29vdCBhbmQgUnlhbiYjMzk7cyBzaGFkb3dzIHNsaXBwZWQgYmVuZWF0aCB0aGUgY2xhc3Nyb29tIGRvb3IuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZvbGxvdyB0aGUgc2hhZG93cyBpbnRvIHRoZSBoYWxsd2F5LSZndDtTY29vdCBhbmQgUnlhbiBFbnRlciB0aGUgSGFsbHdheV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjUyIiBuYW1lPSJTY29vdCBRdWVzdGlvbnMgTHVjaWxsZSBBdHRlbmRhbmNlIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMjEyNSw5NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hvIGFkZGVkIEx1Y2lsbGUgVmFsZSB0byB0aGUgYXR0ZW5kYW5jZSBzaGVldCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgcmFpc2VkIGhpcyBoYW5kLiBUaGUgdGVhY2hlciBjb250aW51ZWQgbG9va2luZyBhdCB0aGUgYXR0ZW5kYW5jZSBzaGVldC4gU2Nvb3QgcmFpc2VkIHRoZSBoYW5kIGhpZ2hlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbG9va2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doYXQgYXJlIHlvdSBkb2luZz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Rlc3Rpbmcgd2hldGhlciBhZHVsdHMgY2FuIHN0aWxsIHNlZSBtZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0ZWFjaGVyIGZpbmFsbHkgbG9va2VkIHVwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7WWVzLCBTY290dD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Njb290LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgd2FpdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hvIGFkZGVkIEx1Y2lsbGUgVmFsZSB0byB0aGUgYXR0ZW5kYW5jZSBsaXN0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJvb20gYmVjYW1lIHF1aWV0LiBOb3QgY2xhc3Nyb29tIHF1aWV0LiBOb3Qgc3R1ZGVudHMgd2FpdGluZyBmb3IgYW4gdW51c3VhbCBhbnN3ZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpFdmVyeXRoaW5nIGJlY2FtZSBxdWlldC4gVGhlIGZsdW9yZXNjZW50IGxpZ2h0cyBzdG9wcGVkIGJ1enppbmcuIFRoZSBoZWF0aW5nIHZlbnQgc3RvcHBlZCByYXR0bGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgcGVuY2lsIHN1c3BlbmRlZCBuZWFyIHRoZSBlZGdlIG9mIGEgZGVzayBzdG9wcGVkIHJvbGxpbmcuIFRoZSB0ZWFjaGVyIGxvb2tlZCBkb3duLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hvPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7THVjaWxsZSBWYWxlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlcmUgaXMgbm8gTHVjaWxsZSBWYWxlIGluIHRoaXMgaG9tZXJvb20uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGFuZHdyaXR0ZW4gbmFtZSByZW1haW5lZCBkaXJlY3RseSBiZW5lYXRoIHRoZSB0ZWFjaGVyJiMzOTtzIGZpbmdlci4gU2Nvb3QgcG9pbnRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0JiMzOTtzIHJpZ2h0IHRoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRlYWNoZXIgbG9va2VkIGF0IHRoZSBuYW1lLiBUaGUgdGVhY2hlciYjMzk7cyBleHByZXNzaW9uIGRpZCBub3QgY2hhbmdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SSBkb24mIzM5O3Qgc2VlIGFueXRoaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBsZWFuZWQgdG93YXJkIFNjb290LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U2VsZWN0aXZlIHZpc2liaWxpdHkuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGF0IGlzIG5vdCBiZXR0ZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGVhY2hlciBmb2xkZWQgdGhlIGF0dGVuZGFuY2Ugc2hlZXQuIEZyb20gaW5zaWRlIHRoZSBmb2xkZWQgcGFwZXIgY2FtZSB0aHJlZSBrbm9ja3MuIFRoZSB0ZWFjaGVyIGRyb3BwZWQgaXQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290T2JzZXJ2YXRpb24oJnF1b3Q7VGhlIHRlYWNoZXIgY291bGQgbm90IHNlZSBMdWNpbGxlJiMzOTtzIGhhbmR3cml0dGVuIG5hbWUgb24gdGhlIGF0dGVuZGFuY2Ugc2hlZXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtUaHJlZSBrbm9ja3MgY2FtZSBmcm9tIGluc2lkZSB0aGUgZm9sZGVkIGF0dGVuZGFuY2Ugc2hlZXQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgyKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7U2VsZWN0aXZlIGV2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBTY29vdCBhbmQgUnlhbiBjb3VsZCBzZWUgTHVjaWxsZSYjMzk7cyBuYW1lLAoJYnV0IHRoZSB0ZWFjaGVyIGNsYWltZWQgdGhlIGF0dGVuZGFuY2Ugc2hlZXQgY29udGFpbmVkIG5vIHN1Y2ggZW50cnkuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBiZWxsIHJhbmcuIFRoZSBjbGFzc3Jvb20gc291bmRzIHJldHVybmVkLiBFdmVyeSBzdHVkZW50IHN0b29kIGFzIGlmIG5vdGhpbmcgdW51c3VhbCBoYWQgaGFwcGVuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCYjMzk7cyBzaGFkb3cgbW92ZWQgZmlyc3QuIFJ5YW4mIzM5O3MgZm9sbG93ZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZvbGxvdyB0aGUgc2hhZG93cyBpbnRvIHRoZSBoYWxsd2F5LSZndDtTY29vdCBhbmQgUnlhbiBFbnRlciB0aGUgSGFsbHdheV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjUzIiBuYW1lPSJTY29vdCBTZWVzIEZvdXIgUmVmbGVjdGlvbnMiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyMDI1LDExNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdFNhd0ZvdXJSZWZsZWN0aW9ucyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SWRlbnRpZnkgdGhlIHR3byBhZGRpdGlvbmFsIGZpZ3VyZXMgaW4gdGhlIHJlZmxlY3Rpb24mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClNjb290IHN0dWRpZWQgdGhlIGdsYXNzLiBIaXMgcmVmbGVjdGlvbiBzdG9vZCBjbG9zZXN0IHRvIHRoZSBidWxsZXRpbiBib2FyZC4gUnlhbiYjMzk7cyByZWZsZWN0aW9uIHN0b29kIGJlc2lkZSBoaW0sIGhlbG1ldCBhbmQgYWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBzdHVkZW50IFNjb290IGRpZCBub3QgcmVjb2duaXplIHN0b29kIHNldmVyYWwgZmVldCBiZWhpbmQgdGhlbSBob2xkaW5nIGEgd29ybiBsZWF0aGVyIGNhc2UuIEEgZmFkZWQgeWVsbG93IHJpYmJvbiBleHRlbmRlZCBmcm9tIGJlbmVhdGggaXRzIGNsYXNwLiBUaGUgZm91cnRoIHJlZmxlY3Rpb24gc2hvd2VkIGFub3RoZXIgc3R1ZGVudCBzdGFuZGluZyBuZWFyIHRoZSBoYWxsd2F5IGNvcm5lci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmb3VydGggc3R1ZGVudCB3b3JlIGEgZGVhZCBkaWdpdGFsIHdhdGNoLiBTY29vdCBsb29rZWQgb3ZlciBoaXMgc2hvdWxkZXIuIFRoZSBoYWxsd2F5IGJlaGluZCBoaW0gd2FzIGVtcHR5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGUgbG9va2VkIGJhY2sgYXQgdGhlIGdsYXNzLiBBbGwgZm91ciByZWZsZWN0aW9ucyByZW1haW5lZC4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtUaGUgcG9zdGVyIGdsYXNzIHJlZmxlY3RlZCBTY29vdCwgUnlhbiwgYSBzdHVkZW50IHdpdGggYSByZXBvcnRlciYjMzk7cyBjYXNlLCBhbmQgYSBzdHVkZW50IHdlYXJpbmcgYSBkZWFkIHdhdGNoJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMikmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0ZvdXIgcmVmbGVjdGVkIGludmVzdGlnYXRvcnM6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBnbGFzcyBzaG93ZWQgU2Nvb3QgYW5kCglSeWFuIGJlc2lkZSB0d28gc3R1ZGVudHMgd2hvIHdlcmUgbm90IHBoeXNpY2FsbHkgcHJlc2VudC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgaG9sZGluZyB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBsaWZ0ZWQgb25lIGhhbmQuIFRoZSByZWZsZWN0ZWQgZmluZ2VyIHBvaW50ZWQgdG93YXJkIHRoZSBoaWRkZW4gc2VhbS4gVGhlIHN0dWRlbnQgd2VhcmluZyB0aGUgZGVhZCB3YXRjaCBwb2ludGVkIGJlaGluZCBTY29vdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGRpZCBub3QgdHVybiBhcm91bmQuIE5vdCB5ZXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xvb2sgZm9yIHdoYXQgc3RhbmRzIGJlaGluZCB0aGUgZ3JvdXAtJmd0O1Njb290IFNlZXMgdGhlIEZpZnRoIEZpZ3VyZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjU0IiBuYW1lPSJTY29vdCBTZWVzIHRoZSBGaWZ0aCBGaWd1cmUiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyMDI1LDEyNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdFNhd0ZpZnRoRmlndXJlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciB0aGUgZmlmdGggZmlndXJlIGlzIGluc2lkZSB0aGUgcmVmbGVjdGlvbiBvciB0aGUgaGFsbHdheSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZnRoIGZpZ3VyZSBzdG9vZCBiZWhpbmQgdGhlIHJlZmxlY3RlZCBncm91cC4gSXQgZGlkIG5vdCByZXNlbWJsZSBhIHN0dWRlbnQuIEl0IHdhcyB0b28gdGFsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0cyBvdXRsaW5lIGJlbnQgbmVhciB0aGUgY2VpbGluZy4gVGhlIGZpZ3VyZSB3b3JlIHNvbWV0aGluZyBsb25nIGFuZCBkYXJrLiBJdHMgZmFjZSByZW1haW5lZCBoaWRkZW4gYmVoaW5kIHRoZSBmb3VyIHJlZmxlY3RlZCBzdHVkZW50cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHNoaWZ0ZWQgbGVmdC4gVGhlIGZpZ3VyZSBzaGlmdGVkIHJpZ2h0LiBJdCByZW1haW5lZCBjb25jZWFsZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIHNoaWZ0ZWQgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi4gVGhlIGZpZ3VyZSBhZGp1c3RlZCBhZ2Fpbi4gSXQgd2FzIGRlbGliZXJhdGVseSBhdm9pZGluZyBpZGVudGlmaWNhdGlvbi4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtBIGZpZnRoIHJlZmxlY3RlZCBmaWd1cmUgZGVsaWJlcmF0ZWx5IHJlbWFpbmVkIGhpZGRlbiBiZWhpbmQgdGhlIGZvdXIgc3R1ZGVudHMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgyKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RmlmdGggcmVmbGVjdGlvbjombHQ7L3N0cm9uZyZndDsgQSB0YWxsIGZpZ3VyZSBzdG9vZCBiZWhpbmQgdGhlIGZvdXIKCXJlZmxlY3RlZCBzdHVkZW50cyBhbmQgbW92ZWQgZGVsaWJlcmF0ZWx5IHRvIGtlZXAgaXRzIGZhY2UgY29uY2VhbGVkLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgZmlmdGggZmlndXJlIHJhaXNlZCBvbmUgaGFuZC4gT25lIGZpbmdlciB0b3VjaGVkIHRoZSByZWZsZWN0ZWQgd2FsbC4gVGhlIHBhaW50ZWQgc2VhbSBiZXNpZGUgdGhlIHJlYWwgYnVsbGV0aW4gYm9hcmQgd2lkZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgY3JhY2sgb2YgZGFya25lc3MgYXBwZWFyZWQuIENvbGQgYWlyIHJvbGxlZCBpbnRvIHRoZSBoYWxsd2F5LiBUaGUgbm90ZWJvb2sgb3BlbmVkIGluIFNjb290JiMzOTtzIGhhbmRzLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkZPVVIgUkVUVVJOLiZsdDticiZndDsKVEhSRUUgV0FJVC4mbHQ7YnImZ3Q7CkRPIE5PVCBMRVQgVEhFIEZJRlRIIENST1NTLgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSgmcXVvdDtGb3VyIHJldHVybi4gVGhyZWUgd2FpdC4gRG8gbm90IGxldCB0aGUgZmlmdGggY3Jvc3MuJnF1b3Q7KSZndDsmZ3Q7CgombHQ7cCZndDsKVGhlIHRhbGwgcmVmbGVjdGlvbiBsZWFuZWQgdG93YXJkIHRoZSBvcGVuaW5nLiBTY29vdCBncmFiYmVkIHRoZSBidWxsZXRpbiBib2FyZCBmcmFtZS4gUnlhbiBwcmVzc2VkIGJvdGggaGFuZHMgYWdhaW5zdCB0aGUgcGFpbnRlZCBzZWFtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9wZW5pbmcgY29udGludWVkIHRvIHdpZGVuLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBTY29vdCByZXNwb25kPyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtVc2UgdGhlIG5vdGVib29rJiMzOTtzIGhleGFmb2lsIGFnYWluc3QgdGhlIHNlYW0uJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTY29vdCBTZWVzIHRoZSBGaWZ0aCBGaWd1cmU6MTpjNWJhYTk4NiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6U2Nvb3QgU2VlcyB0aGUgRmlmdGggRmlndXJlOjE6YzViYWE5ODYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC50ZXN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgVXNlcyB0aGUgTm90ZWJvb2sgSGV4YWZvaWwmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1RlbGwgUnlhbiB0byBpbnZva2UgdGhlIG9mZmljZSBwZXJtaXNzaW9uIHJ1bGUuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpTY29vdCBTZWVzIHRoZSBGaWZ0aCBGaWd1cmU6Mjo5MTBiMWQ2NiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6U2Nvb3QgU2VlcyB0aGUgRmlmdGggRmlndXJlOjI6OTEwYjFkNjYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkc2Nvb3RBcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7U2Nvb3QgVXNlcyBSeWFuIEJvdW5kYXJ5IFJ1bGUmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0Jsb2NrIHRoZSBvcGVuaW5nIHdpdGggdGhlIGJ1bGxldGluIGJvYXJkLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6U2Nvb3QgU2VlcyB0aGUgRmlmdGggRmlndXJlOjM6Yjk1YWQ2NWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlNjb290IFNlZXMgdGhlIEZpZnRoIEZpZ3VyZTozOmI5NWFkNjVmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHNjb290QXBwcm9hY2guYXZvaWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtTY29vdCBCbG9ja3MgdGhlIEhpZGRlbiBEb29yJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI1NSIgbmFtZT0iU2Nvb3QgUmVjb3JkcyB0aGUgRm91ciBSZWZsZWN0aW9ucyIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjIyMjUsMTEyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHNjb290U2F3Rm91clJlZmxlY3Rpb25zID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtQcmVzZXJ2ZSB0aGUgcmVmbGVjdGVkIGFycmFuZ2VtZW50IGJlZm9yZSBpdCBjaGFuZ2VzJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBvcGVuZWQgdGhlIG5vdGVib29rLiBIZSBza2V0Y2hlZCBmb3VyIHNpbXBsZSBmaWd1cmVzLiBTY29vdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4uIEFuIHVua25vd24gc3R1ZGVudCBjYXJyeWluZyBhIGxlYXRoZXIgY2FzZS4gQW4gdW5rbm93biBzdHVkZW50IHdlYXJpbmcgYSBkaWdpdGFsIHdhdGNoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgYWRkZWQgdGhlIGJ1bGxldGluIGJvYXJkIGFuZCB0aGUgbmFycm93IHNlYW0gaW4gdGhlIHdhbGwuIFdoZW4gdGhlIHNrZXRjaCB3YXMgY29tcGxldGUsIGEgZmlmdGggZmlndXJlIGFwcGVhcmVkIG9uIHRoZSBwYWdlLiBTY29vdCBoYWQgbm90IGRyYXduIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZnRoIGZpZ3VyZSBzdG9vZCBiZWhpbmQgdGhlIG90aGVyIGZvdXIuIEl0IHdhcyB0YWxsZXIuIEl0cyBhcm1zIGV4dGVuZGVkIHRvd2FyZCB0aGUgZ3JvdXAuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSgmcXVvdDtTa2V0Y2ggb2YgZm91ciBzdHVkZW50cyB3aXRoIGFuIHVuZXhwbGFpbmVkIGZpZnRoIGZpZ3VyZSBiZWhpbmQgdGhlbS4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtBIGZpZnRoIGZpZ3VyZSBhcHBlYXJlZCBpbiBTY29vdCYjMzk7cyBkcmF3aW5nIHdpdGhvdXQgYmVpbmcgc2tldGNoZWQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgyKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Tm90ZWJvb2sgd2FybmluZzombHQ7L3N0cm9uZyZndDsgU2Nvb3QgcmVjb3JkZWQgZm91ciByZWZsZWN0ZWQgc3R1ZGVudHMsCglidXQgdGhlIG5vdGVib29rIGFkZGVkIGEgZmlmdGggZmlndXJlIHN0YW5kaW5nIGJlaGluZCB0aGVtLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgYXQgdGhlIGdsYXNzLiBUaGUgZmlmdGggZmlndXJlIHdhcyBub3cgdmlzaWJsZSB0aGVyZSB0b28uCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0V4YW1pbmUgdGhlIGZpZnRoIGZpZ3VyZS0mZ3Q7U2Nvb3QgU2VlcyB0aGUgRmlmdGggRmlndXJlXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNTYiIG5hbWU9IlNjb290IENvbmZpcm1zIHRoZSBTaGFyZWQgUmVmbGVjdGlvbiIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjIyMjUsMTI3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHNjb290U2F3Rm91clJlZmxlY3Rpb25zID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDb25maXJtIHRoYXQgUnlhbiBzZWVzIHRoZSBzYW1lIHJlZmxlY3RlZCBmaWd1cmVzJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtIb3cgbWFueSBwZW9wbGUgZG8geW91IHNlZSBpbiB0aGUgZ2xhc3M/JnF1b3Q7IFNjb290IGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBzdHVkaWVkIHRoZSBwb3N0ZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtGb3VyLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SG93IG1hbnkgcGVvcGxlIGFyZSBhY3R1YWxseSBzdGFuZGluZyBoZXJlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VHdvLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7R29vZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbG9va2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doeSBpcyB0aGF0IGdvb2Q/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJdCBtZWFucyBJIGFtIG5vdCB0aGUgb25seSBvbmUgc2VlaW5nIGl0LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBpcyBnb29kIGZvciBmcmllbmRzaGlwLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiByZXR1cm5lZCBoaXMgYXR0ZW50aW9uIHRvIHRoZSBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0xlc3MgZ29vZCBmb3Igb2JqZWN0aXZlIHNhZmV0eS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHBvaW50ZWQgdG93YXJkIHRoZSByZWZsZWN0aW9uIGNhcnJ5aW5nIHRoZSBsZWF0aGVyIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtEbyB5b3Uga25vdyB0aGF0IHBlcnNvbj8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBhYm91dCB0aGUgb25lIHdpdGggdGhlIHdhdGNoPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBzaG9vayBoaXMgaGVhZC4gVGhlIHR3byB1bmtub3duIHJlZmxlY3Rpb25zIG1vdmVkIGNsb3Nlci4gVGhlaXIgcmVhbC13b3JsZCBjb3VudGVycGFydHMgcmVtYWluZWQgYWJzZW50LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1J5YW4gaW5kZXBlbmRlbnRseSBjb25maXJtZWQgdGhlIGZvdXIgaW1wb3NzaWJsZSByZWZsZWN0aW9ucyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdEluc3RpbmN0KDEpJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTaGFyZWQgc2lnaHRpbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gaW5kZXBlbmRlbnRseSBjb25maXJtZWQgdGhlIHR3byBleHRyYQoJc3R1ZGVudHMgcmVmbGVjdGVkIGluIHRoZSBwb3N0ZXIgZ2xhc3MuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClJ5YW4mIzM5O3MgZXhwcmVzc2lvbiBjaGFuZ2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlcmUgaXMgYW5vdGhlciBvbmUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgYmVoaW5kIHRoZSBmb3VyIHJlZmxlY3RlZCBzdHVkZW50cy4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRXhhbWluZSB0aGUgZmlmdGggZmlndXJlLSZndDtTY29vdCBTZWVzIHRoZSBGaWZ0aCBGaWd1cmVdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI1NyIgbmFtZT0iU2Nvb3QgVXNlcyBSeWFuIEJvdW5kYXJ5IFJ1bGUiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxODUwLDEyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtVc2UgdGhlIHNjaG9vbCYjMzk7cyBwZXJtaXNzaW9uIHJ1bGUgYWdhaW5zdCB0aGUgaGlkZGVuIGRvb3J3YXkmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBvZmZpY2UgcnVsZSwmcXVvdDsgU2Nvb3Qgc2FpZC4gJnF1b3Q7UGVybWlzc2lvbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gdW5kZXJzdG9vZC4gSGUgZmFjZWQgdGhlIG9wZW5pbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtZb3UgYXJlIG5vdCBwZXJtaXR0ZWQgdG8gY3Jvc3MuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3RoaW5nIGhhcHBlbmVkLiBUaGUgZmlmdGggcmVmbGVjdGlvbiBsZWFuZWQgY2xvc2VyLiBSeWFuIHRyaWVkIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhpcyBpcyBhIHJlc3RyaWN0ZWQgaGFsbHdheS4gWW91IGRvIG5vdCBoYXZlIGF1dGhvcml6YXRpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBnbGFuY2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O01vcmUgb2ZmaWNpYWw/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGFtIGltcHJvdmlzaW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGRvb3J3YXkgc2h1ZGRlcmVkLiBUaGUgZmlmdGggZmlndXJlIHN0b3BwZWQgYXQgdGhlIHJlZmxlY3RlZCB0aHJlc2hvbGQuIFJ5YW4gcG9pbnRlZCB0b3dhcmQgdGhlIGRhcmtuZXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7T25seSBnbyB3aGVyZSB5b3UgYXJlIGFsbG93ZWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd29yZHMgdHJhdmVsZWQgdGhyb3VnaCB0aGUgb3BlbmluZy4gVGhlIHBhc3NhZ2UgYW5zd2VyZWQgd2l0aCB0aHJlZSB2aW9sZW50IGtub2Nrcy4gVGhlbiB0aGUgZG9vcndheSBiZWdhbiB0byBjbG9zZS4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtSeWFuJiMzOTtzIHBlcm1pc3Npb24gcnVsZSBwcmV2ZW50ZWQgdGhlIGZpZnRoIGZpZ3VyZSBmcm9tIGNyb3NzaW5nIHRoZSBoaWRkZW4gYm91bmRhcnkmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RJbnN0aW5jdCgyKSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7UnVsZSBjb25maXJtZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4mIzM5O3MgcnVsZSBjb25jZXJuaW5nIHBlcm1pc3Npb24gYW5kCglyZXN0cmljdGVkIGJvdW5kYXJpZXMgYWZmZWN0ZWQgdGhlIGhpZGRlbiBkb29yd2F5LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgZmlmdGggcmVmbGVjdGlvbiByYWlzZWQgb25lIGhhbmQgYWdhaW5zdCB0aGUgY2xvc2luZyBzZWFtLiBBIHNlY29uZCBoYW5kIHByZXNzZWQgYmFjayBmcm9tIHRoZSBvdGhlciBzaWRlLiBBIHNtYWxsZXIgaGFuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWVvbmUgaW5zaWRlIHRoZSBwYXNzYWdlIHdhcyBoZWxwaW5nIHRoZW0gY2xvc2UgaXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0tlZXAgdGhlIGJvdW5kYXJ5IGNsb3NlZC0mZ3Q7S2ltbXkgUmVhY2hlcyBTY29vdCBhbmQgUnlhbl1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjU4IiBuYW1lPSJLaW1teSBSZWFjaGVzIFNjb290IGFuZCBSeWFuIiB0YWdzPSJiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTg1MCwxMzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogRWFzdCBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0lkZW50aWZ5IHRoZSBzdHVkZW50IHdobyBrbm93cyBob3cgdG8gc2VhbCB0aGUgaGlkZGVuIHBhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O01vdmUgdGhlIHRyYWNpbmcgdG8gdGhlIGNlbnRlciEmcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGxvb2tlZCB0b3dhcmQgdGhlIGxpYnJhcnkgZW5kIG9mIHRoZSBoYWxsd2F5LiBBIHN0dWRlbnQgaHVycmllZCB0b3dhcmQgdGhlbSBjYXJyeWluZyBhIHdvcm4gbGVhdGhlciByZXBvcnRlciYjMzk7cyBjYXNlLiBBIGZhZGVkIHllbGxvdyByaWJib24gZXh0ZW5kZWQgZnJvbSBiZW5lYXRoIGl0cyBjbGFzcC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHJlY29nbml6ZWQgdGhlIGNhc2UuIEl0IGJlbG9uZ2VkIHRvIG9uZSBvZiB0aGUgZm91ciByZWZsZWN0aW9ucy4gVGhlIHN0dWRlbnQgZHJvcHBlZCBiZXNpZGUgdGhlIGJ1bGxldGluIGJvYXJkIGFuZCBwdWxsZWQgYSBmb2xkZWQgc2hlZXQgZnJvbSB0aGUgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgc2l4LXBldGFsZWQgc3ltYm9sIGNvdmVyZWQgdGhlIHBhcGVyLiBNb3N0IG9mIGl0cyBsaW5lcyBoYWQgZmFkZWQuIE9uZSB3b3JkIHJlbWFpbmVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CkNMT1NFLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBwcmVzc2VkIHRoZSB0cmFjaW5nIGFnYWluc3QgdGhlIHNlYW0uIFRoZSByZW1haW5pbmcgb3BlbmluZyBzZWFsZWQgd2l0aCBhIHNvZnQgY2xpY2suIFRoZSBoYWxsd2F5IGxpZ2h0cyByZXR1cm5lZCB0byBmdWxsIGJyaWdodG5lc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZ2xhc3Mgb3ZlciB0aGUgYXR0ZW5kYW5jZSBwb3N0ZXIgcmVmbGVjdGVkIHRocmVlIHN0dWRlbnRzLiBTY29vdC4gUnlhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBuZXdjb21lciB3aXRoIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlLiBUaGUgZm91cnRoIHJlZmxlY3RlZCBzdHVkZW50IHdhcyBnb25lLiBTbyB3YXMgdGhlIGZpZnRoIGZpZ3VyZS4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtLaW1teSB1c2VkIGFuIGFyY2hpdmUgaGV4YWZvaWwgdHJhY2luZyB0byByZXNlYWwgdGhlIGhpZGRlbiBwYXNzYWdlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMSkmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O05ldyBpbnZlc3RpZ2F0b3I6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBzdHVkZW50IGZyb20gdGhlIGZvdXItcGVyc29uCglyZWZsZWN0aW9uIGFycml2ZWQgY2FycnlpbmcgYSByZXBvcnRlciYjMzk7cyBjYXNlIGFuZCBrbmV3IGhvdyB0byBjbG9zZSB0aGUKCWhpZGRlbiBkb29yd2F5LgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpSeWFuIHBvaW50ZWQgYXQgdGhlIHRyYWNpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGVyZSBkaWQgeW91IGdldCB0aGF0PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG5ld2NvbWVyIGxvb2tlZCBhdCBSeWFuJiMzOTtzIGhlbG1ldC4gVGhlbiBhdCBTY29vdCYjMzk7cyBub3RlYm9vay4gVGhlbiBhdCB0aGUgZGFyayBtYXRlcmlhbCBkcnlpbmcgbmVhciBSeWFuJiMzOTtzIHNob2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIHdhcyBnb2luZyB0byBhc2sgYm90aCBvZiB5b3UgdGhlIHNhbWUgcXVlc3Rpb24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBjbG9zZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hvIGFyZSB5b3U/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtLaW1teSBXaGl0bW9yZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Njb290IFJleW5vbGRzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbG9va2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Njb290PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TG9uZyBzdG9yeS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gcmFpc2VkIG9uZSBoYW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7UnlhbiBHcnVibGVyLiBQcm9ub3VuY2VkIGV4YWN0bHkgdGhlIHdheSBJIGp1c3QgcHJvbm91bmNlZCBpdC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4gQSBjbGVhbiBwYWdlIGluc2lkZSBhbHJlYWR5IGNvbnRhaW5lZCB0aHJlZSBuYW1lczoKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpLSU1NWSZsdDticiZndDsKUllBTiZsdDticiZndDsKU0NPT1QKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKQSBmb3VydGggYmxhbmsgbGluZSB3YWl0ZWQgYmVuZWF0aCB0aGVtLiBTY29vdCBsb29rZWQgYXQgdGhlIHBvc3RlciBnbGFzcy4gVGhlIG1pc3NpbmcgZm91cnRoIHJlZmxlY3Rpb24gaGFkIHdvcm4gYSBkZWFkIGRpZ2l0YWwgd2F0Y2guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBmb2xsb3dlZCBoaXMgZ2F6ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dlIG5lZWQgdG8gZmluZCBLZXZpbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbUmV2aWV3IFNjb290JiMzOTtzIGRpc2NvdmVyaWVzLSZndDtTY29vdCBDaGFwdGVyIDUgU3VtbWFyeV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjU5IiBuYW1lPSJTY29vdCBCbG9ja3MgdGhlIEhpZGRlbiBEb29yIiB0YWdzPSJiZy1wYXNzYWdlIiBwb3NpdGlvbj0iMTg1MCwxMDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UHJldmVudCB0aGUgZG9vcndheSBmcm9tIG9wZW5pbmcgZmFyIGVub3VnaCBmb3IgdGhlIGZpZ3VyZSB0byBjcm9zcyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgcHVsbGVkIHRoZSBidWxsZXRpbiBib2FyZCBhd2F5IGZyb20gdGhlIHdhbGwuIFRodW1idGFja3MgYW5kIG5vdGljZXMgc2NhdHRlcmVkIGFjcm9zcyB0aGUgZmxvb3IuIFJ5YW4gY2F1Z2h0IG9uZSBlbmQgb2YgdGhlIGZyYW1lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVG9nZXRoZXIsIHRoZXkgcHJlc3NlZCBpdCBhZ2FpbnN0IHRoZSB3aWRlbmluZyBzZWFtLiBUaGUgY29yayBiZW50IGlud2FyZC4gU29tZXRoaW5nIHB1c2hlZCBmcm9tIHRoZSBvdGhlciBzaWRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZyYW1lIHNsaWQgc2V2ZXJhbCBpbmNoZXMgYWNyb3NzIHRoZSBmbG9vci4gU2Nvb3QgcGxhbnRlZCBib3RoIGZlZXQuIFRoZSB3cm9uZyBzaGFkb3cgYXBwZWFyZWQgYmVuZWF0aCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBkaWQgbm90IGpvaW4gdGhlIGZpZnRoIGZpZ3VyZS4gSXQgcHJlc3NlZCBhZ2FpbnN0IHRoZSBidWxsZXRpbiBib2FyZCBiZXNpZGUgU2Nvb3QuIFJ5YW4mIzM5O3Mgc2hhZG93IGpvaW5lZCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkZvdXIgaGFuZHMgaGVsZCB0aGUgZnJhbWUuIFR3byBiZWxvbmdlZCB0byB0aGUgYm95cy4gVHdvIHdlcmUgb25seSBzaGFkb3dzLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE9ic2VydmF0aW9uKCZxdW90O1Njb290JiMzOTtzIGFuZCBSeWFuJiMzOTtzIHNoYWRvd3MgaGVscGVkIHRoZW0gaG9sZCB0aGUgaGlkZGVuIGRvb3J3YXkgY2xvc2VkJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMikmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1NoYWRvdyBhbGlnbm1lbnQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBpbmRlcGVuZGVudCBzaGFkb3dzIGhlbHBlZCBTY29vdCBhbmQKCVJ5YW4gcHJldmVudCB0aGUgZmlmdGggZmlndXJlIGZyb20gY3Jvc3NpbmcuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBwcmVzc3VyZSBmcm9tIGluc2lkZSB3ZWFrZW5lZC4gQSB2b2ljZSBiZXlvbmQgdGhlIHdhbGwgc2FpZDoKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1lvdSB3aWxsIG9wZW4gaXQgYWdhaW4uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZG9vcndheSBiZWdhbiB0byBjbG9zZS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbSG9sZCB0aGUgZnJhbWUgaW4gcGxhY2UtJmd0O0tpbW15IFJlYWNoZXMgU2Nvb3QgYW5kIFJ5YW5dXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI2MCIgbmFtZT0iU2Nvb3QgQ2hhcHRlciA1IFN1bW1hcnkiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIxODUwLDE0NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjaGFwdGVyNUNvbXBsZXRlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBFYXN0IEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RmluZCBLZXZpbiBhbmQgYnJpbmcgdGhlIGZvdXIgaW52ZXN0aWdhdG9ycyB0b2dldGhlciZxdW90OyZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtDaGFwdGVyIEZpdmUgQ29tcGxldGUmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtTY29vdCBSZXlub2xkcyZsdDsvaDEmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7CgkJSSBBbG1vc3QgQ29udmluY2VkIE15c2VsZiwgQWxtb3N0CgkmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgaGFkIGJlZ3VuIGhvbWVyb29tIHdvcnJpZWQgYWJvdXQgaGlzIGZhY2UuIFRoYXQgcHJvYmxlbSBub3cgb2NjdXBpZWQgYSBtdWNoIHNtYWxsZXIgcGFydCBvZiB0aGUgbW9ybmluZy4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQgY2hhcHRlci1zdW1tYXJ5LWNsdWVzJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtTY29vdCYjMzk7cyBDaGFwdGVyIEZpdmUgZGlzY292ZXJpZXM6Jmx0Oy9zdHJvbmcmZ3Q7CgoJJmx0O3VsJmd0OwoJCSZsdDtsaSZndDtTY29vdCYjMzk7cyBzaGFkb3cgbW92ZWQgaW5kZXBlbmRlbnRseSBvZiB0aGUgY2xhc3Nyb29tIGxpZ2h0LiZsdDsvbGkmZ3Q7CgoJCSZsdDsmbHQ7aWYgJHNjb290VGVzdGVkQ2xhc3Nyb29tTGlnaHQmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7TmVhcmJ5IG9iamVjdHMgY2FzdCBub3JtYWwgc2hhZG93cyB3aGlsZSBTY29vdCYjMzk7cyBmbG9vci1zaGFkb3cgcmVtYWluZWQgZml4ZWQuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDsmbHQ7aWYgJHNjb290TW92ZWREZXNrJmd0OyZndDsKCQkJJmx0O2xpJmd0O1RoZSB3cm9uZyBzaGFkb3cgcmVtYWluZWQgYmVoaW5kIGFmdGVyIFNjb290IG1vdmVkIHRoZSBkZXNrLiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCQkmbHQ7Jmx0O2lmICRzY29vdEZvdW5kSGV4YWZvaWwmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VGhlIHNoYWRvdyBvciBub3RlYm9vayByZXZlYWxlZCBhIHNpeC1wZXRhbGVkIGhleGFmb2lsIG1hcmtlZCBJSS4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkc2Nvb3ROb3RlYm9va0NoYW5nZWQmZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7VW5leHBsYWluZWQgd3JpdGluZyBhcHBlYXJlZCBpbnNpZGUgU2Nvb3QmIzM5O3MgcHJpdmF0ZSBub3RlYm9vay4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkc2Nvb3RUb2xkUnlhbkFib3V0U2hhZG93Jmd0OyZndDsKCQkJJmx0O2xpJmd0O1Njb290IGNob3NlIHRvIHRlbGwgUnlhbiBhYm91dCB0aGUgd3JvbmctbW92aW5nIHNoYWRvdy4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtTY29vdCBhdHRlbXB0ZWQgdG8gY29uY2VhbCB0aGUgbm90ZWJvb2ssIGJ1dCBpdCByZXZlYWxlZCBpdHNlbGYgdG8gUnlhbi4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkc2Nvb3RCZWxpZXZlZFJ5YW4mZ3Q7Jmd0OwoJCQkmbHQ7bGkmZ3Q7UnlhbiBzaGFyZWQgZXZpZGVuY2UgY29ubmVjdGluZyB0aGUgYmF0aHJvb20gaW5jaWRlbnQsIHdldCBlYXJ0aCwgYW5kIHJlc3RyaWN0ZWQgYm91bmRhcmllcy4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0O2xpJmd0O1RoZSBhdHRlbmRhbmNlIHNoZWV0IGNvbnRhaW5lZCB0aGUgaGFuZHdyaXR0ZW4gbmFtZSBMdWNpbGxlIFZhbGUuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhyZWUga25vY2tzIGFuc3dlcmVkIHdoZW4gTHVjaWxsZSYjMzk7cyBuYW1lIHdhcyBjYWxsZWQuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhlIHRlYWNoZXIgbWFya2VkIEx1Y2lsbGUgcHJlc2VudCBhbHRob3VnaCBubyBzdHVkZW50IGFuc3dlcmVkIGFsb3VkLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1Njb290JiMzOTtzIGFuZCBSeWFuJiMzOTtzIHNoYWRvd3MgbGVkIHRoZW0gdG8gdGhlIHNlYWxlZCBlYXN0LWhhbGwgcGFzc2FnZS4mbHQ7L2xpJmd0OwoKCQkmbHQ7Jmx0O2lmICRzY29vdFNhd0ZvdXJSZWZsZWN0aW9ucyZndDsmZ3Q7CgkJCSZsdDtsaSZndDtUaGUgaGFsbHdheSBnbGFzcyByZWZsZWN0ZWQgZm91ciBzdHVkZW50cyBhbHRob3VnaCBvbmx5IFNjb290IGFuZCBSeWFuIHdlcmUgcHJlc2VudC4mbHQ7L2xpJmd0OwoJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJJmx0OyZsdDtpZiAkc2Nvb3RTYXdGaWZ0aEZpZ3VyZSZndDsmZ3Q7CgkJCSZsdDtsaSZndDtBIGZpZnRoIGZpZ3VyZSBhdHRlbXB0ZWQgdG8gY3Jvc3MgdGhyb3VnaCB0aGUgaGlkZGVuIGRvb3J3YXkuJmx0Oy9saSZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgoJCSZsdDtsaSZndDtLaW1teSBXaGl0bW9yZSB1c2VkIGEgaGV4YWZvaWwgdHJhY2luZyB0byByZXNlYWwgdGhlIHBhc3NhZ2UuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhlIG1pc3NpbmcgZm91cnRoIHJlZmxlY3Rpb24gYXBwZWFycyB0byByZXByZXNlbnQgS2V2aW4uJmx0Oy9saSZndDsKCSZsdDsvdWwmZ3Q7CiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtzdGF0dXMtcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7SW5zdGluY3Q6Jmx0Oy9zdHJvbmcmZ3Q7ICRzY29vdEluc3RpbmN0CiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtzdGF0dXMtcGF0dGVybiZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7Tm90ZWJvb2sgZW50cmllczombHQ7L3N0cm9uZyZndDsgJHNjb290Tm90ZWJvb2tFbnRyaWVzLmxlbmd0aAombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLaW1teSBjb21wYXJlZCBoZXIgbm90ZXMgd2l0aCBTY29vdCYjMzk7cyBub3RlYm9vay4gUnlhbiBzdXBwbGllZCB0aGUgcnVsZXMuIFNjb290IHN1cHBsaWVkIHRoZSBpbnN0aW5jdCB0aGF0IG5vbmUgb2YgdGhlbSB3YW50ZWQgdG8gY2FsbCBpbnN0aW5jdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBuYW1lIHJlbWFpbmVkIG1pc3NpbmcgZnJvbSB0aGUgcGFnZS4gS2V2aW4uIEEgbG9ja2VyIGRvb3IgY2xvc2VkIGZhcnRoZXIgZG93biB0aGUgaGFsbHdheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIGtub2NrcyBzb3VuZGVkIGZyb20gaW5zaWRlIGl0LiBUaGVuIGEgZGlnaXRhbCB3YXRjaCBiZWVwZWQuIE9uY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaG9ydC4gRmxhdC4gV3JvbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgYXQgS2ltbXkuIEtpbW15IGxvb2tlZCBhdCBSeWFuLiBSeWFuIGFkanVzdGVkIGhpcyBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb2JvZHkgbmVlZGVkIHRvIHZvdGUuIFRoZXkgZm9sbG93ZWQgdGhlIHNvdW5kLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb250aW51ZSB0byBDaGFwdGVyIFNpeC0mZ3Q7Q2hhcHRlciA2IFRyYW5zaXRpb25dXQombHQ7L2RpdiZndDsKCiZsdDsmbHQ7c2V0ICRzY29vdEFiaWxpdHkgPSAmcXVvdDtOb3RlYm9va0luc3RpbmN0JnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0FiaWxpdHkgdW5sb2NrZWQ6IE5vdGVib29rIEluc3RpbmN0LiZsdDsvc3Ryb25nJmd0OyBTY29vdCBjYW4gcmVjb2duaXplIHdoZW4gdGhlIG5vdGVib29rIGlzIHJlc3BvbmRpbmcgdG8gYSBwZXJzb24sIHBsYWNlLCBvciBwYXR0ZXJuLiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjYxIiBuYW1lPSJDaGFwdGVyIDYgVHJhbnNpdGlvbiIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjIxMDAsMTQ1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXIgPSA2Jmd0OyZndDsKJmx0OyZsdDtzZXQgJHBvdiA9ICZxdW90O0tldmluJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IE1haW4gSGFsbHdheSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGaW5kIHRoZSBzb3VyY2Ugb2YgdGhlIHNpZ25hbCBmcm9tIEtldmluJiMzOTtzIGRlYWQgd2F0Y2gmcXVvdDsmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7RXBpc29kZSBPbmUmbHQ7L2RpdiZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1udW1iZXImcXVvdDsmZ3Q7Q2hhcHRlciBTaXgmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtLZXZpbiBXaW5jaGVzdGVyJmx0Oy9oMSZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7CgkJRm91ciBTdG9yaWVzLCBPbmUgV2FybmluZwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLW9iamVjdGl2ZSZxdW90OyZndDsKCQkmbHQ7c3Ryb25nJmd0O0ltbWVkaWF0ZSBvYmplY3RpdmU6Jmx0Oy9zdHJvbmcmZ3Q7CgkJRmluZCB0aGUgc291cmNlIG9mIHRoZSBzaWduYWwgZnJvbSBLZXZpbiYjMzk7cyBkZWFkIHdhdGNoIGFuZCBkZXRlcm1pbmUgd2h5CgkJdGhyZWUgc3R1ZGVudHMgS2V2aW4gaGFzIG5ldmVyIG1ldCBhcHBlYXIgdG8gYmUgZm9sbG93aW5nIGl0IHRvby4KCSZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7cG92LW5vdGljZSZxdW90OyZndDsKCVlvdSBhcmUgbm93IHBsYXlpbmcgYXMgJmx0O3N0cm9uZyZndDtLZXZpbiZsdDsvc3Ryb25nJmd0Oy4gS2ltbXksIFJ5YW4sIGFuZCBTY29vdCBoYXZlCglkaXNjb3ZlcmVkIHNlcGFyYXRlIHBhcnRzIG9mIHRoZSBteXN0ZXJ5LiBLZXZpbiBtdXN0IGRlY2lkZSB3aGF0IHRvIHJldmVhbCwKCXdoaWNoIGV2aWRlbmNlIHRvIHRydXN0LCBhbmQgd2hldGhlciB0aGUgV2luY2hlc3RlciBob3VzZSBpcyBjb25uZWN0ZWQgd2l0aAoJZXZlcnl0aGluZyB0aGF0IGhhcHBlbmVkIGluc2lkZSB0aGUgc2Nob29sLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLZXZpbiYjMzk7cyB3YXRjaCBiZWVwZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hvcnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGbGF0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKV3JvbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2NyZWVuIHJlbWFpbmVkIGRhcmsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpEZWFkIHdhdGNoZXMgZGlkIG5vdCBiZWVwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gaGFkIGFscmVhZHkgZXN0YWJsaXNoZWQgdGhhdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClVuZm9ydHVuYXRlbHksIGVzdGFibGlzaGluZyBzb21ldGhpbmcgZGlkIG5vdCBzdG9wIGl0IGZyb20gaGFwcGVuaW5nIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGUgc3Rvb2QgYmVzaWRlIGEgcm93IG9mIGxvY2tlcnMgaW4gdGhlIG1haW4gaGFsbHdheSwgdHJ5aW5nIHRvIGRldGVybWluZQp3aGV0aGVyIGFueW9uZSBlbHNlIGhhZCBoZWFyZCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNldmVyYWwgc3R1ZGVudHMgcGFzc2VkIHdpdGhvdXQgbG9va2luZyBhdCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGxvY2tlciBzbGFtbWVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2hvZXMgc3F1ZWFrZWQgYWdhaW5zdCB0aGUgd2F4ZWQgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2F0Y2ggYmVlcGVkIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhpcyB0aW1lLCB0aHJlZSBrbm9ja3MgYW5zd2VyZWQgZnJvbSBzb21ld2hlcmUgYXJvdW5kIHRoZSBjb3JuZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiYjMzk7cyBzdG9tYWNoIHRpZ2h0ZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIGtub2Nrcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBoYWxsd2F5IHdhbGwgYXQgaG9tZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBpbnZpc2libGUgZm9vdHN0ZXBzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9sZC1mYXNoaW9uZWQgY2hpbGQgaW5zaWRlIHRoZSBzY2hvb2wuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb25lIG9mIHRob3NlIHRoaW5ncyBiZWxvbmdlZCBoZXJlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gd2FzIGJlZ2lubmluZyB0byBzdXNwZWN0IHRoYXQgaGVyZSBubyBsb25nZXIgbWF0dGVyZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZvbGxvdyB0aGUga25vY2tzLSZndDtLZXZpbiBGb2xsb3dzIHRoZSBXYXRjaCBTaWduYWxdXQombHQ7L2RpdiZndDsKCi8qIFY0LjMgYm91bmRhcnkgY2hlY2twb2ludCBjaGFwdGVyIDYgKi8KJmx0OyZsdDtydW4gc2V0dXAudjQzQ2FwdHVyZUJvdW5kYXJ5KDYsICZxdW90O0NoYXB0ZXIgNiBUcmFuc2l0aW9uJnF1b3Q7LCAxKSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLnY0NENhcHR1cmVDaGFwdGVyKDYsICZxdW90O0NoYXB0ZXIgNiBUcmFuc2l0aW9uJnF1b3Q7LCAxKSZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjYyIiBuYW1lPSJLZXZpbiBGb2xsb3dzIHRoZSBXYXRjaCBTaWduYWwiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIyNDAwLDEzNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGb2xsb3cgdGhlIHdhdGNoIHNpZ25hbCB3aXRob3V0IGxvc2luZyB0cmFjayBvZiB0aGUgcGF0dGVybiZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2V2aW4gZm9sbG93ZWQgdGhlIGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2F0Y2ggcmVtYWluZWQgZGFyayBhZ2FpbnN0IGhpcyB3cmlzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGJlZXBlZCBldmVyeSB0aW1lIGhlIHJlYWNoZWQgYW4gaW50ZXJzZWN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25jZSBuZWFyIHRoZSBzdGFpcndlbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUd2ljZSBuZWFyIHRoZSBsaWJyYXJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgdGltZXMgd2hlbiBoZSByZWFjaGVkIHRoZSBlYXN0IGhhbGx3YXkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBzdG9wcGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNlcXVlbmNlIG1hdHRlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdvLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgWEkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgSUkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21ldGhpbmcgbmV3LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7S2V2aW4mIzM5O3MgZGVhZCB3YXRjaCBndWlkZWQgaGltIHRocm91Z2ggdGhlIHNjaG9vbCB1c2luZyBhIHNlcXVlbmNlIG9mIG9uZSwgdHdvLCBhbmQgdGhyZWUgYmVlcHMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gJGtub3dsZWRnZS5LZXZpbi5wdXNoVW5pcXVlKCZxdW90O1RoZSBkZWFkIHdhdGNoIGFwcGVhcnMgY2FwYWJsZSBvZiBndWlkaW5nIEtldmluIHRocm91Z2ggdGhlIHNjaG9vbCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyBUaGUgd2F0Y2ggaXMgbm8gbG9uZ2VyIG9ubHkgcmVhY3RpbmcgdG8KCWV2ZW50cy4gSXQgYXBwZWFycyB0byBiZSBsZWFkaW5nIEtldmluIHNvbWV3aGVyZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKQXQgdGhlIGVuZCBvZiB0aGUgaGFsbHdheSBzdG9vZCBhIGJ1bGxldGluIGJvYXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2V2ZXJhbCBub3RpY2VzIGhhZCBmYWxsZW4gdG8gdGhlIGZsb29yLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNvcmsgZnJhbWUgbGVhbmVkIGF3YXkgZnJvbSB0aGUgd2FsbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgdGhpbiBwYWludGVkIHNlYW0gc2hvd2VkIGJlaGluZCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIHN0dWRlbnRzIHN0b29kIG5lYXJieS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSBjYXJyaWVkIGEgd29ybiBsZWF0aGVyIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgd29yZSBhIGdsb3NzeSByZWQgYmFzZWJhbGwgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIGhlbGQgYSBzcGlyYWwgbm90ZWJvb2sgYWdhaW5zdCBoaXMgY2hlc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbGwgdGhyZWUgbG9va2VkIGRpcmVjdGx5IGF0IEtldmluJiMzOTtzIHdhdGNoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gY29uc2lkZXJlZCB0dXJuaW5nIGFyb3VuZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHdpdGggdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2Ugc3Bva2UgZmlyc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtLZXZpbiBXaW5jaGVzdGVyPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gc3RvcHBlZCBjb25zaWRlcmluZyBpdC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgS2V2aW4gcmVzcG9uZD8mbHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CiZsdDsmbHQ7bGluayAmcXVvdDtBc2sgaG93IHRoZSBzdHVkZW50IGtub3dzIEtldmluJiMzOTtzIG5hbWUuJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OktldmluIEZvbGxvd3MgdGhlIFdhdGNoIFNpZ25hbDoxOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpLZXZpbiBGb2xsb3dzIHRoZSBXYXRjaCBTaWduYWw6MTozMTAzZTE0ZiZxdW90OykmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0ICRrZXZpbkFwcHJvYWNoLm9ic2VydmUgKz0gMSZndDsmZ3Q7CiAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gUXVlc3Rpb25zIEtpbW15JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDsvbGluayZndDsmZ3Q7CgombHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIHdoZXRoZXIgdGhleSBoZWFyZCB0aGUgd2F0Y2ggYmVlcC4mcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gRm9sbG93cyB0aGUgV2F0Y2ggU2lnbmFsOjI6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIEZvbGxvd3MgdGhlIFdhdGNoIFNpZ25hbDoyOmQ2YWRkNmQzJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2guY29ubmVjdCArPSAxJmd0OyZndDsKICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBBc2tzIEFib3V0IHRoZSBTaWduYWwmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0Oy9saW5rJmd0OyZndDsKCltbSW5zcGVjdCB0aGUgd2F0Y2ggbW9yZSBjbG9zZWx5LSZndDtLZXZpbiBFeGFtaW5lcyB0aGUgV2F0Y2hdXQpbW0ZvbGxvdyB0aGUgc2lnbmFsIHVwc3RhaXJzLSZndDtLZXZpbiBTZWFyY2hlcyBVcHN0YWlyc11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjYzIiBuYW1lPSJLZXZpbiBRdWVzdGlvbnMgS2ltbXkiIHRhZ3M9ImJnLWxpYnJhcnkiIHBvc2l0aW9uPSIyNDAwLDkyNSIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMSBjb25zZXF1ZW5jZSBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7d2F0Y2hSZXNwb25zZSZxdW90OywgJnF1b3Q7bmFtZSZxdW90OywgJnF1b3Q7S2V2aW4gaW52ZXN0aWdhdGVzIGhvdyBLaW1teSBrbmV3IGhpcyBuYW1lLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIGhvdyB0aGUgc3R1ZGVudCB3aXRoIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlIGtub3dzIEtldmluJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtIb3cgZG8geW91IGtub3cgbXkgbmFtZT8mcXVvdDsgS2V2aW4gYXNrZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBvcGVuZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHdyaXRpbmcgcGFkIHJlc3RlZCBpbnNpZGUgaXQgYmVuZWF0aCBhIGZhZGVkIHllbGxvdyByaWJib24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3VyIG5hbWVzIGFwcGVhcmVkIG9uIHRoZSBwYWdlOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CktJTU1ZJmx0O2JyJmd0OwpSWUFOJmx0O2JyJmd0OwpTQ09PVCZsdDticiZndDsKS0VWSU4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIGZpbmFsIG5hbWUgaGFkIGJlZW4gd3JpdHRlbiBtb3JlIGRhcmtseSB0aGFuIHRoZSBvdGhlcnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCBwb2ludGVkIHRvd2FyZCBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgZGlkbiYjMzk7dCB3cml0ZSB0aGF0LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gbG9va2VkIGF0IHRoZSBvdGhlciB0d28uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCB3ZWFyaW5nIHRoZSBoZWxtZXQgcmFpc2VkIG9uZSBoYW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TmVpdGhlciBkaWQgSS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGhvbGRpbmcgdGhlIG5vdGVib29rIHNhaWQsICZxdW90O0kgY2FuIGJhcmVseSByZWFkIG15IG93biBoYW5kd3JpdGluZy4KVGhhdCBkZWZpbml0ZWx5IGlzbiYjMzk7dCBtaW5lLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gbG9va2VkIGJhY2sgYXQgdGhlIHBhZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaG8gYXJlIHlvdT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0tpbW15IFdoaXRtb3JlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgaW5kaWNhdGVkIHRoZSBzdHVkZW50IGluIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtSeWFuIEdydWJsZXIuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGFkanVzdGVkIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtDb3JyZWN0IHByb251bmNpYXRpb24uIEltcG9ydGFudCBkZXRhaWwuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBpbmRpY2F0ZWQgdGhlIHN0dWRlbnQgd2l0aCB0aGUgbm90ZWJvb2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTY290dCBSZXlub2xkcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Njb290LCZxdW90OyBSeWFuIGNvcnJlY3RlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Njb3R0LCZxdW90OyBTY29vdCBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBkaXNhZ3JlZW1lbnQgYXBwZWFycyBvbmdvaW5nLCZxdW90OyBLaW1teSBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gYWxtb3N0IHNtaWxlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFsbW9zdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gdGhlIHdhdGNoIGJlZXBlZCBhZ2Fpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaW5hbCBuYW1lIG9uIEtpbW15JiMzOTtzIHBhZ2UgZGFya2VuZWQuCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7S2ltbXkmIzM5O3MgcmVwb3J0ZXImIzM5O3MgY2FzZSByZWNvcmRlZCBhbGwgZm91ciBpbnZlc3RpZ2F0b3JzJiMzOTsgbmFtZXMgYmVmb3JlIHRoZXkgbWV0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtLaW1teSYjMzk7cyByZXBvcnRlciYjMzk7cyBjYXNlIGNvbnRhaW5lZCBLZXZpbiYjMzk7cyBuYW1lIGJlZm9yZSB0aGUgZ3JvdXAgbWV0JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7R3JvdXAgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgS2ltbXkmIzM5O3MgcmVwb3J0ZXImIzM5O3MgY2FzZSBpZGVudGlmaWVkIEtldmluLAoJUnlhbiwgU2Nvb3QsIGFuZCBLaW1teSBiZWZvcmUgYWxsIGZvdXIgaGFkIG1ldC4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb21wYXJlIHdoYXQgYnJvdWdodCBldmVyeW9uZSB0byB0aGUgaGFsbHdheS0mZ3Q7VGhlIEZvdXIgSW52ZXN0aWdhdG9ycyBNZWV0XV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNjQiIG5hbWU9IlRoZSBGb3VyIEludmVzdGlnYXRvcnMgTWVldCIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjI0NzUsMTE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGdyb3VwVW5pdGVkID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRrZXZpbkxlZEludmVzdGlnYXRpb24gPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0xlYWQgdGhlIGdyb3VwIGluIGNvbXBhcmluZyB0aGUgZm91ciBzZXBhcmF0ZSBteXN0ZXJpZXMmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCBhdCB0aGUgdGhyZWUgc3R1ZGVudHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBoYWQgZXZpZGVuY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGhhZCBydWxlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IGhhZCBhIG5vdGVib29rIHRoYXQgYXBwZWFyZWQgY2FwYWJsZSBvZiBhbnN3ZXJpbmcgcXVlc3Rpb25zIG5vYm9keQp3YW50ZWQgdG8gYXNrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gaGFkIGEgaG91c2UgZnVsbCBvZiBzeW1ib2xzLCBhIG1pc3NpbmcgcGhvdG9ncmFwaCwgYSBkZWFkIHdhdGNoLCBhbgpvcmFuZ2UgY2F0LCBhbmQgYSBncm93aW5nIGNlcnRhaW50eSB0aGF0IHRoZSBtb3JuaW5nIGhhZCBub3QgY29udGFpbmVkIGZvdXIKc2VwYXJhdGUgbXlzdGVyaWVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgY29udGFpbmVkIG9uZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBvdGhlcnMgc2ltcGx5IGhhZCBkaWZmZXJlbnQgcGllY2VzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gc2V0IGhpcyBiYWNrcGFjayBvbiB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJZiB3ZSYjMzk7cmUgZ29pbmcgdG8gY29tcGFyZSBldmVyeXRoaW5nLCB3ZSBuZWVkIHRvIGRvIGl0IGluIG9yZGVyLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBub2RkZWQgaW1tZWRpYXRlbHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtBZ3JlZWQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBvcGVuZWQgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBvcGVuZWQgdGhlIG5vdGVib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm9ib2R5IHF1ZXN0aW9uZWQgd2h5IEtldmluIHNob3VsZCBiZWdpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgc3VycHJpc2VkIGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGFsc28gbWFkZSBoaW0gZmVlbCByZXNwb25zaWJsZSBmb3Igd2hhdGV2ZXIgaGFwcGVuZWQgbmV4dC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpIYXJkeSBCb3lzIHJ1bGU6Jmx0O2JyJmd0OwpTdGFydCB3aXRoIHRoZSBjbHVlIHRoYXQgc2hvdWxkIG5vdCBleGlzdC4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7CldoaWNoIHNoYXJlZCBjbHVlIHNob3VsZCBLZXZpbiBleGFtaW5lIGZpcnN0PwombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q29tcGFyZSBldmVyeSB2ZXJzaW9uIG9mIHRoZSBoZXhhZm9pbC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRncm91cEZpcnN0RXZpZGVuY2UgPSAmcXVvdDtoZXhhZm9pbHMmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBDb21wYXJlcyB0aGUgSGV4YWZvaWxzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtDb21wYXJlIHRoZSBwaG90b2dyYXBocyBhbmQgcmVmbGVjdGVkIGZpZ3VyZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkZ3JvdXBGaXJzdEV2aWRlbmNlID0gJnF1b3Q7cGhvdG9ncmFwaHMmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBDb21wYXJlcyB0aGUgUGhvdG9ncmFwaHMmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O0NvbXBhcmUgdGhlIGhpZGRlbiBkb29yd2F5cyBhbmQgYm91bmRhcnkgcnVsZXMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O3NldCAkZ3JvdXBGaXJzdEV2aWRlbmNlID0gJnF1b3Q7Ym91bmRhcmllcyZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIENvbXBhcmVzIHRoZSBCb3VuZGFyaWVzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoKCSZsdDsmbHQ7bGluayAmcXVvdDtUZWxsIHRoZSBncm91cCBhYm91dCB0aGUgV2luY2hlc3RlciBob3VzZSBmaXJzdC4mcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRncm91cEZpcnN0RXZpZGVuY2UgPSAmcXVvdDtob3VzZSZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFNoYXJlcyB0aGUgSG91c2UgTXlzdGVyeSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDshLS0gQjUuMSBjYWxsYmFjayAtLSZndDsKJmx0OyZsdDtpZiAkbWFqb3JDb25zZXF1ZW5jZXMud2F0Y2hSZXNwb25zZSBpcyAmcXVvdDtzaGFyZWRTaWduYWwmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7QmVjYXVzZSBLZXZpbiBoYWQgYXNrZWQgYWJvdXQgdGhlIGJlZXBzLCB0aGUgZm91ciBjb3VsZCBhZ3JlZSB0aGF0IHRoZSBzaWduYWwgaGFkIGdhdGhlcmVkIHRoZW0gZGVsaWJlcmF0ZWx5LiBJdCB3YXMgc2hhcmVkIGV2aWRlbmNlLCBub3Qgb25seSBLZXZpbiYjMzk7cyBzdXNwaWNpb24uJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRtYWpvckNvbnNlcXVlbmNlcy53YXRjaFJlc3BvbnNlIGlzICZxdW90O25hbWUmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7S2V2aW4ga2VwdCByZXR1cm5pbmcgdG8gdGhlIGZhY3QgdGhhdCBLaW1teSBoYWQga25vd24gaGlzIG5hbWUuIFRoZSBncm91cCBtZWV0aW5nIG5vdyBmZWx0IGxlc3MgYWNjaWRlbnRhbCBhbmQgbW9yZSBhcnJhbmdlZC4mbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlaWYgJG1ham9yQ29uc2VxdWVuY2VzLndhdGNoUmVzcG9uc2UgaXMgJnF1b3Q7aW5zcGVjdCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtLZXZpbiBjb3VsZCBkZXNjcmliZSB0aGUgd2F0Y2gmIzM5O3Mgd2FybXRoIGFuZCBibGFuayBkaXNwbGF5IHByZWNpc2VseS4gS2ltbXkgbWFya2VkIHRoZSBvYnNlcnZhdGlvbiBhcyBwaHlzaWNhbCBldmlkZW5jZS4mbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlaWYgJG1ham9yQ29uc2VxdWVuY2VzLndhdGNoUmVzcG9uc2UgaXMgJnF1b3Q7dXBzdGFpcnMmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7S2V2aW4gaGFkIGFscmVhZHkgdGVzdGVkIHRoZSBzaWduYWwgdG93YXJkIHRoZSBzdGFpcnMuIEl0IGhhZCBzdG9wcGVkIGF0IHRoZSBzZWFsZWQgd2FsbCwgbmFycm93aW5nIHRoZSBncm91cCYjMzk7cyBmaXJzdCB0aGVvcnkuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRGVjaWRlIHdoYXQgZXZpZGVuY2UgdG8gc2hhcmUtJmd0O0tub3dsZWRnZVNoYXJpbmdIdWJdXSZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbVXNlIGludmVzdGlnYXRvciBhYmlsaXRpZXMtJmd0O0FjdGl2ZUFiaWxpdGllc0h1Yl1dJmx0Oy9kaXYmZ3Q7CiZsdDshLS0gQjUuNSByZWFjdGlvbiAtLSZndDsmbHQ7Jmx0O2lmIHNldHVwLmF0dGVudGlvblN0YXRlKCkgaXMgJnF1b3Q7T2JzZXJ2ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YXR0ZW50aW9uLXJlYWN0aW9uJnF1b3Q7Jmd0O0ZvciBvbmUgc2Vjb25kLCB0aGUgd2F0Y2ggZmFjZSByZWZsZWN0ZWQgZml2ZSBmaWd1cmVzIGluc3RlYWQgb2YgZm91ci4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2VpZiBzZXR1cC5hdHRlbnRpb25TdGF0ZSgpIGlzICZxdW90O0ZvbGxvd2VkJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2F0dGVudGlvbi1yZWFjdGlvbiZxdW90OyZndDtBIHNlY29uZCBzZXQgb2YgZm9vdHN0ZXBzIHN0b3BwZWQgd2hlbmV2ZXIgdGhlIGdyb3VwIHN0b3BwZWQuIE5vIG9uZSBjb3VsZCBsb2NhdGUgdGhlbS4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNjUiIG5hbWU9IktldmluIEFza3MgQWJvdXQgdGhlIFNpZ25hbCIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjI0NTAsNzUwIiBzaXplPSIxMDAsMTAwIj4vKiBCNS4xIGNvbnNlcXVlbmNlIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDt3YXRjaFJlc3BvbnNlJnF1b3Q7LCAmcXVvdDtzaGFyZWRTaWduYWwmcXVvdDssICZxdW90O0tldmluIGNvbmZpcm1zIHRoYXQgdGhlIHNpZ25hbCBhZmZlY3RlZCB0aGUgd2hvbGUgZ3JvdXAuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2hldGhlciB0aGUgZ3JvdXAgd2FzIGJyb3VnaHQgdG9nZXRoZXIgZGVsaWJlcmF0ZWx5JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwomcXVvdDtEaWQgeW91IGhlYXIgbXkgd2F0Y2g/JnF1b3Q7IEtldmluIGFza2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgY2FycnlpbmcgdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2Ugbm9kZGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7T25lIGJlZXAuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc3R1ZGVudCB3ZWFyaW5nIHRoZSBoZWxtZXQgaGVsZCB1cCB0d28gZmluZ2Vycy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZW4gdHdvLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHN0dWRlbnQgd2l0aCB0aGUgbm90ZWJvb2sgYWRkZWQ6CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGVuIHRocmVlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gbG9va2VkIGF0IHRoZSBkYXJrIHNjcmVlbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1lvdSBhbGwgaGVhcmQgaXQ/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXZSB3ZXJlIGFscmVhZHkgZm9sbG93aW5nIHNvbWV0aGluZywmcXVvdDsgdGhlIGhlbG1ldGVkIHN0dWRlbnQgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O091ciBzaGFkb3dzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gd2FpdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGUgaGFkIGV4cGVjdGVkIHRoZSBhbnN3ZXIgdG8gYmVjb21lIG1vcmUgcmVhc29uYWJsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IGRpZCBub3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtNeSBzaGFkb3cgbW92ZWQgd3JvbmcsJnF1b3Q7IHRoZSB0YWxsZXIgc3R1ZGVudCBleHBsYWluZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtSeWFuJiMzOTtzIGpvaW5lZCBpdC4gVGhleSBsZWQgdXMgaGVyZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCBhdCB0aGUgZmxvb3IuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3VyIHNoYWRvd3Mgc3RyZXRjaGVkIGJlbmVhdGggdGhlIGdyb3VwLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZsdW9yZXNjZW50IGxpZ2h0cyBzaG91bGQgaGF2ZSBjYXN0IGFsbCBmb3VyIGluIHRoZSBzYW1lIGRpcmVjdGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluJiMzOTtzIHNoYWRvdyBwb2ludGVkIHRvd2FyZCB0aGUgcGFpbnRlZCBzZWFtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG90aGVyIHRocmVlIHBvaW50ZWQgdG93YXJkIEtldmluLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O0tldmluJiMzOTtzIHdhdGNoIGFuZCB0aGUgb3RoZXIgc3R1ZGVudHMmIzM5OyBzaGFkb3dzIGd1aWRlZCBhbGwgZm91ciB0b3dhcmQgdGhlIHNhbWUgaGFsbHdheSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7S2V2aW4mIzM5O3Mgc2hhZG93IHBvaW50ZWQgdG93YXJkIHRoZSBoaWRkZW4gcGFzc2FnZSB3aGlsZSB0aGUgb3RoZXIgc2hhZG93cyBwb2ludGVkIHRvd2FyZCBLZXZpbiZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBQYXR0ZXJuOiZsdDsvc3Ryb25nJmd0OyBUaGUgb3RoZXJzIHdlcmUgbGVkIHRvIHRoZSBkb29yd2F5LiBLZXZpbgoJd2FzIGxlZCB0byB0aGUgb3RoZXJzLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGF0IGRpZmZlcmVuY2UgbWF0dGVyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBzaW1wbHkgZGlkIG5vdCBrbm93IHdoeSB5ZXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0NvbXBhcmUgd2hhdCBldmVyeW9uZSBkaXNjb3ZlcmVkLSZndDtUaGUgRm91ciBJbnZlc3RpZ2F0b3JzIE1lZXRdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI2NiIgbmFtZT0iS2V2aW4gRXhhbWluZXMgdGhlIFNlYWxlZCBQYXNzYWdlIiB0YWdzPSJiZy1wYXNzYWdlIiBwb3NpdGlvbj0iMjYwMCw5MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2h5IHRoZSBzZWFsZWQgcGFzc2FnZSByZXNlbWJsZXMgdGhlIFdpbmNoZXN0ZXIgaG91c2UmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktldmluIHN0ZXBwZWQgdG93YXJkIHRoZSBidWxsZXRpbiBib2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwYWludGVkIHNlYW0gZm9ybWVkIGEgZG9vcndheS1zaXplZCByZWN0YW5nbGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOZWFyIHRoZSBjZW50ZXIgd2FzIGEgc2hhbGxvdyBjaXJjdWxhciBtYXJrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2l4IGN1cnZlZCBzZWN0aW9ucyBkaXZpZGVkIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBoZXhhZm9pbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGRpZCBub3QgbmVlZCBhbnlvbmUgdG8gZXhwbGFpbiB0aGF0IHBhcnQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIZSBoYWQgc2VlbiB0aGUgc2FtZSBzaGFwZSBvbiB0aGUgV2luY2hlc3RlciBiYW5pc3Rlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmcm9udCBkb29yZnJhbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgb2FrIHRyZWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgb3JhbmdlIGNhdCYjMzk7cyB0YWcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbmQgb25lIG9mIHRoZSBzY2hvb2wgbG9ja2Vycy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIGNyb3VjaGVkIHdpdGhvdXQgdG91Y2hpbmcgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUd28gdGhpbiBsaW5lcyBtYXJrZWQgb25lIG9mIHRoZSBwZXRhbHMuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKSUkKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2V2aW4gY2hlY2tlZCBoaXMgd2F0Y2guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2NyZWVuIGZsYXNoZWQgb25jZS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpYSQombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpUaGVuIGl0IHJldHVybmVkIHRvIGRhcmtuZXNzLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAkZ3JvdXBDb21wYXJlZE51bWJlcnMgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBDb25uZWN0aW9uKCZxdW90O1RoZSBzZWFsZWQgc2Nob29sIGRvb3J3YXkgbWFya2VkIElJIHJlYWN0ZWQgdG8gS2V2aW4mIzM5O3Mgd2F0Y2ggYnkgZGlzcGxheWluZyBYSSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7VGhlIGhpZGRlbiBzY2hvb2wgcGFzc2FnZSBjb25uZWN0ZWQgUm9tYW4gbnVtZXJhbHMgSUkgYW5kIFhJIHRocm91Z2ggS2V2aW4mIzM5O3Mgd2F0Y2gmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgc2Nob29sIGRvb3J3YXkgYmVhcnMgdGhlIHNhbWUKCWhleGFmb2lsIGFuZCBudW1lcmFsIElJIGZvdW5kIG5lYXIgdGhlIFdpbmNoZXN0ZXIgaG91c2UuIEtldmluJiMzOTtzIHdhdGNoCglyZXNwb25kZWQgYnkgZGlzcGxheWluZyBYSS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBtYXJrIGlzIGF0IG15IGhvdXNlLCZxdW90OyBLZXZpbiBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQWxsIHRocmVlIHN0dWRlbnRzIGJlY2FtZSBxdWlldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHN0b29kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRm9yIHRoZSBmaXJzdCB0aW1lIHRoYXQgbW9ybmluZywgaGUgcG9zc2Vzc2VkIGluZm9ybWF0aW9uIHRoZSBvdGhlcnMgY2xlYXJseQpuZWVkZWQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1RlbGwgdGhlbSB3aGF0IGhhcHBlbmVkIGF0IHRoZSBXaW5jaGVzdGVyIGhvdXNlLSZndDtLZXZpbiBTaGFyZXMgdGhlIEhvdXNlIE15c3RlcnldXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI2NyIgbmFtZT0iS2V2aW4gU2hhcmVzIHRoZSBIb3VzZSBNeXN0ZXJ5IiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMjYwMCwxMDI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5TaGFyZWRIb3VzZUV2aWRlbmNlID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtUZWxsIHRoZSBncm91cCB3aGF0IGhhcHBlbmVkIGluc2lkZSB0aGUgV2luY2hlc3RlciBob3VzZSZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQgc3RhcnRlZCBhdCBteSBob3VzZSwmcXVvdDsgS2V2aW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3b3JkcyBzb3VuZGVkIHdvcnNlIHdoZW4gc3Bva2VuIGFsb3VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGUgdG9sZCB0aGVtIGFib3V0IHRoZSBoYWxsd2F5IGxhbXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY29sZCBhaXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGhvdG9ncmFwaCBmYWxsaW5nIGZyb20gdGhlIHN0YWlyY2FzZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRocmVlIGdpcmxzIHdobyBoYWQgYmVlbiBpbnNpZGUgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGhvdG9ncmFwaCBkaXNhcHBlYXJpbmcgZnJvbSBhbiBpbnRhY3QgZnJhbWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGV4YWZvaWwgY2FydmVkIGludG8gdGhlIGJhbmlzdGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIFJvbWFuIG51bWVyYWwgWEkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2V0IGZvb3RwcmludCBvbiB0aGUgc3RhaXJzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNlY29uZCBoZXhhZm9pbCBtYXJrZWQgSUkgbmVhciB0aGUgZnJvbnQgZG9vci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjbG9jayBmcm96ZW4gYXQgOToxNC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB3YXRjaCB0aGF0IHN0b3BwZWQsIGJlZXBlZCwgYW5kIGRpc3BsYXllZCBpbmZvcm1hdGlvbiB3aGVuZXZlciBzb21ldGhpbmcKaW1wb3NzaWJsZSBoYXBwZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vYm9keSBsYXVnaGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhhdCB3YXMgbmV3LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gaGFkIHNwZW50IHRoZSBlbnRpcmUgbW9ybmluZyBlZGl0aW5nIHRoZSBzdG9yeSBpbnNpZGUgaGlzIGhlYWQsCnJlbW92aW5nIGRldGFpbHMgdGhhdCBzb3VuZGVkIHJpZGljdWxvdXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3IgdGhlIGZpcnN0IHRpbWUsIGhlIHRvbGQgdGhlIGNvbXBsZXRlIHZlcnNpb24uCiZsdDsvcCZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7VGhlIFdpbmNoZXN0ZXIgaG91c2UgY29udGFpbmVkIGEgcGhvdG9ncmFwaCBvZiB0aHJlZSBnaXJscyB0aGF0IGRpc2FwcGVhcmVkIGZyb20gaXRzIGZyYW1lJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7VGhlIFdpbmNoZXN0ZXIgaG91c2UgYmVhcnMgaGV4YWZvaWxzIG1hcmtlZCBYSSBhbmQgSUkmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBFdmlkZW5jZSgmcXVvdDtLZXZpbiYjMzk7cyBjbG9ja3MgYW5kIHdhdGNoIHJlcGVhdGVkbHkgc3RvcCBvciBhY3RpdmF0ZSBhdCA5OjE0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7QSB3ZXQgYmFyZWZvb3QgcHJpbnQgYXBwZWFyZWQgb24gdGhlIFdpbmNoZXN0ZXIgc3RhaXJjYXNlJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgZXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBXaW5jaGVzdGVyIGhvdXNlIGNvbm5lY3RzIHRoZSB0aHJlZQoJZ2lybHMsIGhleGFmb2lscywgUm9tYW4gbnVtZXJhbHMsIHdldCB0cmFjZXMsIGRpc2FwcGVhcmluZyBldmlkZW5jZSwgYW5kCglLZXZpbiYjMzk7cyBtYWxmdW5jdGlvbmluZyB3YXRjaC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbG9va2VkIHRocm91Z2ggaGVyIG5vdGVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIHBob3RvZ3JhcGggSSBmb3VuZCBhbHNvIHNob3dlZCB0aHJlZSBnaXJscy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHR1cm5lZCB0aGUgbm90ZWJvb2sgdG93YXJkIEtldmluLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRIRSBPTkVTIElOIFRIRSBQSUNUVVJFLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpSeWFuIGFkanVzdGVkIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgbWF0ZXJpYWwgbmVhciB0aGUgYmF0aHJvb20gc21lbGxlZCBsaWtlIHdldCBzb2lsLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gc3RhcmVkIGF0IHRoZSBjb21iaW5lZCBldmlkZW5jZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBXaW5jaGVzdGVyIGhvdXNlIGhhZCBub3QgbWVyZWx5IGJlZW4gdGhlIGZpcnN0IGxvY2F0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIHRoZSBsb2NhdGlvbiBldmVyeSBvdGhlciBjbHVlIGtlcHQgdHJ5aW5nIHRvIHJlYWNoLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3NldCAkZ3JvdXBDb25uZWN0ZWRXaW5jaGVzdGVySG91c2UgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBDb25uZWN0aW9uKCZxdW90O1NlcGFyYXRlIGV2aWRlbmNlIGZyb20gdGhlIHNjaG9vbCBwb2ludHMgYmFjayB0byB0aGUgV2luY2hlc3RlciBob3VzZSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBjb25jbHVzaW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgbXlzdGVyeSBkaWQgbm90IGZvbGxvdyBLZXZpbiBmcm9tCglob21lIHRvIHNjaG9vbC4gSXQgd2FzIGFscmVhZHkgd2FpdGluZyBhdCBib3RoIGxvY2F0aW9ucy4KJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tMZXQgS2V2aW4gY29ubmVjdCB0aGUgZXZpZGVuY2UtJmd0O0dyb3VwRGVkdWN0aW9uQm9hcmRdXQombHQ7L2RpdiZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNjgiIG5hbWU9IktldmluIE1lZXRzIHRoZSBUaHJlZSBJbnZlc3RpZ2F0b3JzIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMjYwMCw2NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJZGVudGlmeSB0aGUgc3R1ZGVudHMgZ2F0aGVyZWQgbmVhciB0aGUgc2VhbGVkIGRvb3J3YXkmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dobyBhcmUgeW91PyZxdW90OyBLZXZpbiBhc2tlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IHdpdGggdGhlIHJlcG9ydGVyJiMzOTtzIGNhc2UgYW5zd2VyZWQgZmlyc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtLaW1teSBXaGl0bW9yZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzdHVkZW50IGluIHRoZSBoZWxtZXQgcG9pbnRlZCB0b3dhcmQgaGltc2VsZi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1J5YW4gR3J1Ymxlci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB0YWxsIHN0dWRlbnQgbGlmdGVkIHRoZSBzcGlyYWwgbm90ZWJvb2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTY290dCBSZXlub2xkcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Njb290IFJleW5vbGRzLCZxdW90OyBSeWFuIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJZ25vcmUgaGltLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gbG9va2VkIGZyb20gb25lIHN0dWRlbnQgdG8gdGhlIG5leHQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaHkgYXJlIHlvdSBzdGFuZGluZyBiZXNpZGUgYSB3YWxsIHRoYXQgYWxtb3N0IGxvb2tzIGxpa2UgYSBkb29yPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQgd2FzIGEgZG9vciwmcXVvdDsgS2ltbXkgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RlY2huaWNhbGx5LCBpdCByZW1haW5zIGEgZG9vciwmcXVvdDsgUnlhbiBhZGRlZC4gJnF1b3Q7SXQgaXMgY3VycmVudGx5IGNob29zaW5nIG5vdAp0byBsb29rIGxpa2Ugb25lLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgbm9kZGVkIHRvd2FyZCBLZXZpbiYjMzk7cyB3cmlzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1doeSBpcyB5b3VyIGRlYWQgd2F0Y2ggYmVlcGluZz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGNvdmVyZWQgdGhlIHdhdGNoIHdpdGggb25lIGhhbmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGF0IHdhcyBhIGdvb2QgcXVlc3Rpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBoYWQgYWNjdW11bGF0ZWQgdG9vIG1hbnkgZ29vZCBxdWVzdGlvbnMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpXaGF0IGhlIG5lZWRlZCB3ZXJlIGJldHRlciBhbnN3ZXJzLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDb21wYXJlIHdoYXQgYnJvdWdodCBldmVyeW9uZSBoZXJlLSZndDtUaGUgRm91ciBJbnZlc3RpZ2F0b3JzIE1lZXRdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI2OSIgbmFtZT0iS2V2aW4gQnVpbGRzIHRoZSBHcm91cCBQYXR0ZXJuIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMjYwMCwxMTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5SZWNvZ25pemVkR3JvdXBQYXR0ZXJuID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtJZGVudGlmeSB0aGUgc2luZ2xlIGV4cGxhbmF0aW9uIGNvbm5lY3RpbmcgdGhlIGdyb3VwJiMzOTtzIGV2aWRlbmNlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLZXZpbiBhcnJhbmdlZCB0aGUgZXZpZGVuY2UgbWVudGFsbHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgYXMgZm91ciBzdG9yaWVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQXMgb25lIHNlcXVlbmNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBob3RvZ3JhcGggZGlzYXBwZWFyZWQgYXQgdGhlIFdpbmNoZXN0ZXIgaG91c2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbiBvbGQtZmFzaGlvbmVkIGNoaWxkIGFwcGVhcmVkIG9uIHRoZSByb3V0ZSB0byBzY2hvb2wuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21ldGhpbmcgZW50ZXJlZCBvciBlbWVyZ2VkIG5lYXIgdGhlIGJveXMmIzM5OyBiYXRocm9vbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBoaWRkZW4gcGFzc2FnZSBvcGVuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpMdWNpbGxlJiMzOTtzIG5hbWUgYXBwZWFyZWQgb24gYW4gYXR0ZW5kYW5jZSBzaGVldC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByZWZsZWN0aW9ucyBzaG93ZWQgZm91ciBzdHVkZW50cyBhbmQgYSBmaWZ0aCBmaWd1cmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpFdmVyeSBldmVudCBpbnZvbHZlZCBhIGJvdW5kYXJ5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKRXZlcnkgYm91bmRhcnkgY2FycmllZCBhIGRhbWFnZWQgaGV4YWZvaWwgb3IgYW4gb2xkIHJ1bGUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpFdmVyeSByb3V0ZSBldmVudHVhbGx5IHBvaW50ZWQgdG93YXJkIEtldmluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT3IgdG93YXJkIHRoZSBXaW5jaGVzdGVyIGhvdXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gd2FudGVkIHRvIHJlamVjdCB0aGUgY29uY2x1c2lvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJlamVjdGluZyBpdCB3b3VsZCBub3QgbWFrZSBpdCBsZXNzIGFjY3VyYXRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIGhvdXNlIGlzIHRoZSBjZW50ZXIsJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb2JvZHkgaW50ZXJydXB0ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgcGhvdG9ncmFwaCBkaXNhcHBlYXJlZCB0aGVyZSBmaXJzdC4gVGhlIG51bWJlcnMgYXJlIHRoZXJlLiBUaGUgc3ltYm9scwphcmUgdGhlcmUuIFRoZSB3YXRjaCByZWFjdHMgYmVjYXVzZSBJIGxpdmUgdGhlcmUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBsb29rZWQgYXQgS2V2aW4mIzM5O3MgZHJhd2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZW4gd2h5IGRpZCB0aGUgc2Nob29sIHBhc3NhZ2UgY2FsbCBmb3IgTHVjaWxsZT8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGNvbnNpZGVyZWQgdGhlIHF1ZXN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QmVjYXVzZSB0aGUgdGhyZWUgZ2lybHMgYXJlIGNvbm5lY3RlZCB3aXRoIHRoZSBob3VzZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IG9wZW5lZCB0aGUgbm90ZWJvb2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOZXcgd29yZHMgYXBwZWFyZWQ6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKVEhFIEhPVVNFIFJFTUVNQkVSUyBUSEVJUiBOQU1FUy4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7VGhlIGhvdXNlIHJlbWVtYmVycyB0aGVpciBuYW1lcy4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBDb25uZWN0aW9uKCZxdW90O1RoZSBXaW5jaGVzdGVyIGhvdXNlIHJlbWVtYmVycyB0aGUgdGhyZWUgZ2lybHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBwaG90b2dyYXBocyZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtrZXZpbi1wYXR0ZXJuJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtDb21wbGV0ZSB3b3JraW5nIHBhdHRlcm46Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBXaW5jaGVzdGVyIGhvdXNlIGlzIGNvbm5lY3RlZAoJdG8gdGhlIHRocmVlIGdpcmxzLCB3aGlsZSB0aGUgc2Nob29sJiMzOTtzIGRhbWFnZWQgYm91bmRhcmllcyBwcm92aWRlIHJvdXRlcwoJdGhyb3VnaCB3aGljaCBzb21ldGhpbmcgaXMgYXR0ZW1wdGluZyB0byByZXR1cm4uCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbG9va2VkIGF0IHRoZSBzZWFsZWQgZG9vcndheS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1JldHVybiBmcm9tIHdoZXJlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4mIzM5O3Mgd2F0Y2ggYW5zd2VyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2NyZWVuIGxpdC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0Owo5OjE0CiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZW4gdGhlIG51bWJlcnMgY2hhbmdlZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwoxNjc4CiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktpbW15IG9wZW5lZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXNuJiMzOTt0IGEgdGltZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGtlcHQgaGlzIGV5ZXMgb24gdGhlIHdhdGNoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZm91ciBkaWdpdHMgcmVtYWluZWQgdmlzaWJsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0JiMzOTtzIGEgeWVhci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbRm9sbG93IHRoZSBjaG9zZW4gZXZpZGVuY2UgdG8gaXRzIGNvbnNlcXVlbmNlLSZndDtSb3V0ZUNvbnNlcXVlbmNlUm91dGVyXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNzAiIG5hbWU9IktldmluIENvbXBhcmVzIHRoZSBQaG90b2dyYXBocyIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjI1NzUsMTUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGdyb3VwQ29tcGFyZWRQaG90b2dyYXBocyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoZXRoZXIgZXZlcnkgaW1hZ2Ugc2hvd3MgdGhlIHNhbWUgdGhyZWUgZmlndXJlcyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2V2aW4gZGVzY3JpYmVkIHRoZSBtaXNzaW5nIHBob3RvZ3JhcGggZnJvbSB0aGUgV2luY2hlc3RlciBzdGFpcmNhc2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBnaXJscy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9sZC1mYXNoaW9uZWQgY2xvdGhpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaW1hZ2UgaGFkIGh1bmcgaW5zaWRlIHRoZSBob3VzZSBiZWZvcmUgZGlzYXBwZWFyaW5nIGZyb20gYW4gdW5kYW1hZ2VkCmZyYW1lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZGVzY3JpYmVkIHRoZSAxOTM4IHNjaG9vbCBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgZmlndXJlcyBpbnNpZGUgYW4gdXBzdGFpcnMgd2luZG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlaXIgcG9zaXRpb25zIGNoYW5nZWQgd2hpbGUgc2hlIGV4YW1pbmVkIHRoZW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgbmFtZSBzaGlmdGVkIGJldHdlZW4gTHVjaWxsZSBhbmQgTHVjeS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHNob3dlZCBLZXZpbiB0aGUgbm90ZWJvb2sgbWVzc2FnZS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpUSEUgT05FUyBJTiBUSEUgUElDVFVSRS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2V2aW4gcmVtZW1iZXJlZCB0aGUgZmFjZSBpbiB0aGUgYnVzIHdpbmRvdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdCBiZWhpbmQgdGhlIGdsYXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSW5zaWRlIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGUgYWxzbyByZW1lbWJlcmVkIHRoZSBvbGQtZmFzaGlvbmVkIGNoaWxkIHdobyBoYWQgYXBwZWFyZWQgaW5zaWRlIHRoZQpzY2hvb2wuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQaWN0dXJlcyBhcmVuJiMzOTt0IGhvbGRpbmcgdGhlbSwmcXVvdDsgS2V2aW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBvdGhlcnMgbG9va2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZXkmIzM5O3JlIHVzaW5nIGFueXRoaW5nIHRoYXQgcmVmbGVjdHMgb3IgcmVjb3JkcyBhbiBpbWFnZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1Bob3RvZ3JhcGhzLCZxdW90OyBLaW1teSBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2luZG93cywmcXVvdDsgU2Nvb3QgYWRkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtQb3NzaWJseSBwb2xpc2hlZCBmbG9vcnMsJnF1b3Q7IFJ5YW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCBhdCBoaXMgZGVhZCB3YXRjaC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0FuZCBzY3JlZW5zLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cENvbm5lY3Rpb24oJnF1b3Q7VGhlIHRocmVlIGZpZ3VyZXMgY2FuIG1vdmUgdGhyb3VnaCBwaG90b2dyYXBocywgd2luZG93cywgcmVmbGVjdGlvbnMsIGFuZCBwb3NzaWJseSBzY3JlZW5zJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7VGhlIG1pc3NpbmcgaG91c2UgcGhvdG9ncmFwaCBhbmQgY2hhbmdpbmcgc2Nob29sIHBob3RvZ3JhcGggc2hvdyB0aGUgc2FtZSB0aHJlZSBmaWd1cmVzJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgZGVkdWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgdGhyZWUgZ2lybHMgYXJlIG5vdCBjb25maW5lZCB0byBvbmUKCXBob3RvZ3JhcGguIFRoZSB0aHJlZSBnaXJscyBjYW4gYXBwZWFyIHRocm91Z2ggc3VyZmFjZXMgdGhhdCBwcmVzZXJ2ZSBvcgoJcmVmbGVjdCBhbiBpbWFnZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2ltbXkgc3R1ZGllZCBLZXZpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1lvdSBmaWd1cmVkIHRoYXQgb3V0IHF1aWNrbHkuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBnbGFzcyBjb3ZlcmluZyB0aGUgYnVsbGV0aW4gYm9hcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJJiMzOTt2ZSBoYWQgcHJhY3RpY2UgdG9kYXkuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0xldCBLZXZpbiBjb25uZWN0IHRoZSByZW1haW5pbmcgZXZpZGVuY2UtJmd0O0dyb3VwRGVkdWN0aW9uQm9hcmRdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI3MSIgbmFtZT0iS2V2aW4gQ29tcGFyZXMgdGhlIEJvdW5kYXJpZXMiIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIyODI1LDE1MjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRncm91cENvbXBhcmVkQm91bmRhcmllcyA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoYXQgdGhlIHNjaG9vbCBhbmQgV2luY2hlc3RlciBob3VzZSBib3VuZGFyaWVzIGNvbnRhaW4mcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gZXhwbGFpbmVkIHRoZSBwcmluY2lwYWwmIzM5O3MgYnJhc3MgdGhyZXNob2xkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNlY3JldGFyeSB3b3VsZCBub3QgcmVhY2ggYWNyb3NzIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUGVybWlzc2lvbiBoYWQgYmVlbiByZXF1aXJlZCBiZWZvcmUgUnlhbiBlbnRlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9mZmljZSBjaGFuZ2VkIHdoZW4gUnlhbiBxdWVzdGlvbmVkIGl0cyBydWxlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGV4cGxhaW5lZCB0aGUgaGlkZGVuIHBhc3NhZ2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGV4YWZvaWwgd2FzIG5vdCBhbiBpbnZpdGF0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSXQgd2FzIGEgd2FybmluZyBpbnRlbmRlZCB0byBrZWVwIGEgY3Jvc3NpbmcgY2xvc2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3QgZXhwbGFpbmVkIGhvdyB0aGUgZmlmdGggcmVmbGVjdGlvbiBoYWQgYXR0ZW1wdGVkIHRvIGNyb3NzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gdGhvdWdodCBhYm91dCB0aGUgV2luY2hlc3RlciBoYWxsd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNsb3NldCBkb29yIG9wZW5pbmcgYWZ0ZXIgYmVpbmcgbGVmdCB1bmxhdGNoZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgY29sZCBhaXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGhvdG9ncmFwaCBkaXNhcHBlYXJpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZnJvbnQtZG9vciBoZXhhZm9pbCB3b3JuIG5lYXJseSBzbW9vdGguCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgcnVsZXMgYXJlbiYjMzk7dCBtZWFudCB0byBrZWVwIHVzIG91dCwmcXVvdDsgS2V2aW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gbG9va2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vdCBlbnRpcmVseS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZXkmIzM5O3JlIG1lYW50IHRvIGtlZXAgc29tZXRoaW5nIGVsc2UgaW4uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLaW1teSBjb25zaWRlcmVkIHRoZSBjb25jbHVzaW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7T3Iga2VlcCBzb21ldGhpbmcgZnJvbSBjcm9zc2luZyBiZXR3ZWVuIHBsYWNlcy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCB0b3dhcmQgdGhlIHNlYWxlZCBwYXNzYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGlzIGhvdXNlIGhhZCB0aGUgc2FtZSBwcm90ZWN0aW9ucy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9ubHkgb2xkZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNb3JlIGRhbWFnZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbG1vc3QgZ29uZS4KJmx0Oy9wJmd0OwoKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBDb25uZWN0aW9uKCZxdW90O1RoZSBzY2hvb2wgYW5kIFdpbmNoZXN0ZXIgaG91c2UgdXNlIHJlbGF0ZWQgcnVsZXMgdG8gY29udHJvbCBzdXBlcm5hdHVyYWwgY3Jvc3NpbmdzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7VGhlIHdvcm4gaGV4YWZvaWxzIHN1Z2dlc3QgbXVsdGlwbGUgcHJvdGVjdGl2ZSBib3VuZGFyaWVzIGFyZSBmYWlsaW5nJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgZGVkdWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgc2Nob29sIGFuZCBXaW5jaGVzdGVyIGhvdXNlIHdlcmUKCWJvdGggcHJvdGVjdGVkIGJ5IHJ1bGVzIGdvdmVybmluZyBlbnRyeSwgcGVybWlzc2lvbiwgYW5kIHN1cGVybmF0dXJhbAoJY3Jvc3NpbmdzLgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpTY29vdCBsb29rZWQgYXQgdGhlIHdvcm4gc3ltYm9sIGJlaGluZCB0aGUgYnVsbGV0aW4gYm9hcmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXaGF0IGhhcHBlbnMgd2hlbiBvbmUgZGlzYXBwZWFycyBjb21wbGV0ZWx5PyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm9ib2R5IGFuc3dlcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gc3VzcGVjdGVkIHRoZXkgYWxyZWFkeSBrbmV3LgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tMZXQgS2V2aW4gY29ubmVjdCB0aGUgY29tcGxldGUgcGF0dGVybi0mZ3Q7R3JvdXBEZWR1Y3Rpb25Cb2FyZF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjcyIiBuYW1lPSJLZXZpbiBTZWVzIHRoZSBPbGQgQnJlY2tlbnJpZGdlIFJlZmxlY3Rpb24iIHRhZ3M9ImJnLWJlZHJvb20iIHBvc2l0aW9uPSIyODc1LDEzNzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2h5IEtldmluJiMzOTtzIHdhdGNoIGRpc3BsYXllZCB0aGUgeWVhciAxNjc4JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpUaGUgd2F0Y2ggY29udGludWVkIGRpc3BsYXlpbmc6CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKMTY3OAombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLZXZpbiBwcmVzc2VkIG9uZSBvZiB0aGUgYnV0dG9ucy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5vdGhpbmcgY2hhbmdlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkhlIHByZXNzZWQgYW5vdGhlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzY3JlZW4gd2VudCBkYXJrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGdsYXNzIGNvdmVyaW5nIHRoZSBidWxsZXRpbi1ib2FyZCBwb3N0ZXIgY2hhbmdlZCB3aXRoIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJlZmxlY3RlZCBoYWxsd2F5IGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNjaG9vbCBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkluIHRoZWlyIHBsYWNlIHN0b29kIGEgbmFycm93IGRpcnQgcm9hZCBiZW5lYXRoIGEgZGFyayBza3kuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpXb29kZW4gaG91c2VzIGxpbmVkIGJvdGggc2lkZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb25lIGhhZCBlbGVjdHJpYyBsaWdodHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpMYW50ZXJucyBidXJuZWQgYmVoaW5kIHNldmVyYWwgd2luZG93cy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBmb3VyIHN0dWRlbnRzIHJlbWFpbmVkIHZpc2libGUgaW4gdGhlIGdsYXNzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhleSBzdG9vZCBpbiB0aGUgbW9kZXJuIGhhbGx3YXkgd2hpbGUgdGhlaXIgcmVmbGVjdGlvbnMgc3Rvb2Qgb24gdGhlIG9sZApyb2FkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBhZGp1c3RlZCBoaXMgaGVsbWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBpcyBub3QgdGhlIGhhbGx3YXkuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBsZWFuZWQgY2xvc2VyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBpcyBub3Qgbm93LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgb3BlbmVkIHRoZSByZXBvcnRlciYjMzk7cyBjYXNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4ga2VwdCBoaXMgYXR0ZW50aW9uIG9uIHRoZSByZWZsZWN0ZWQgdG93bi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBvbGQgcm9hZCBsb29rZWQgZmFtaWxpYXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgYmVjYXVzZSBLZXZpbiBoYWQgc2VlbiBpdCBiZWZvcmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCZWNhdXNlIHRoZSByb2FkIGZvbGxvd2VkIHRoZSBzYW1lIGN1cnZlIGFzIFdpbmNoZXN0ZXIgU3RyZWV0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGxhcmdlc3QgaG91c2Ugc3Rvb2QgYXQgdGhlIGVkZ2Ugb2YgYSBmaWVsZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFuIGVub3Jtb3VzIG9hayB0cmVlIHJvc2UgYmVzaWRlIGl0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gc3RvcHBlZCBicmVhdGhpbmcgZm9yIGEgbW9tZW50LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhhdCBpcyBteSBob3VzZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxvb2tlZCBmcm9tIHRoZSByZWZsZWN0aW9uIHRvIEtldmluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QXJlIHlvdSBzdXJlPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIHJvb2YgaXMgZGlmZmVyZW50LiBUaGUgcG9yY2ggaXNuJiMzOTt0IHRoZXJlLiBCdXQgdGhlIGZvdW5kYXRpb24gaXMgdGhlCnNhbWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBwb2ludGVkIHRvd2FyZCB0aGUgcmVmbGVjdGVkIGZpZWxkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7QW5kIHRoYXQgaXMgdGhlIG9hayB0cmVlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O1RoZSBoYWxsd2F5IHJlZmxlY3Rpb24gc2hvd2VkIEJyZWNrZW5yaWRnZSBhbmQgdGhlIFdpbmNoZXN0ZXIgcHJvcGVydHkgYXMgdGhleSBhcHBlYXJlZCBpbiAxNjc4JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwQ29ubmVjdGlvbigmcXVvdDtUaGUgV2luY2hlc3RlciBob3VzZSBhbmQgb2FrIHRyZWUgb2NjdXBpZWQgYW4gaW1wb3J0YW50IGxvY2F0aW9uIGluIEJyZWNrZW5yaWRnZSBieSAxNjc4JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFBhdHRlcm5FdmVudCgmcXVvdDtLZXZpbiYjMzk7cyB3YXRjaCByZXZlYWxlZCBhIHJlZmxlY3Rpb24gb2YgdGhlIFdpbmNoZXN0ZXIgcHJvcGVydHkgaW4gMTY3OCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0hpc3RvcmljYWwgdmlzaW9uOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiYjMzk7cyB3YXRjaCB0cmlnZ2VyZWQgYSByZWZsZWN0aW9uIG9mCglCcmVja2VucmlkZ2UgaW4gMTY3OCwgaW5jbHVkaW5nIGFuIGVhcmxpZXIgc3RydWN0dXJlIG9uIHRoZSBXaW5jaGVzdGVyCglwcm9wZXJ0eSBhbmQgdGhlIHNhbWUgb2FrIHRyZWUuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CkZpZ3VyZXMgbW92ZWQgYWxvbmcgdGhlIGRpcnQgcm9hZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck1vc3QgY2FycmllZCBsYW50ZXJucy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNldmVyYWwgd29yZSBsb25nIGRhcmsgY29hdHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgcGVyc29uIHN0b3BwZWQgb3V0c2lkZSB0aGUgcmVmbGVjdGVkIFdpbmNoZXN0ZXIgcHJvcGVydHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGVyc29uIGtuZWx0IGFuZCBjYXJ2ZWQgYSBoZXhhZm9pbCBpbnRvIGEgd29vZGVuIHBvc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBbm90aGVyIGZpZ3VyZSB3YXRjaGVkIGZyb20gYmVuZWF0aCB0aGUgb2FrIHRyZWUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2F0Y2hpbmcgZmlndXJlIHdvcmUgYSBob29kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gY291bGQgbm90IHNlZSBhIGZhY2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaG9vZGVkIGZpZ3VyZSByYWlzZWQgb25lIGhhbmQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpFdmVyeSBsYW50ZXJuIGluIHRoZSByZWZsZWN0ZWQgdG93biB3ZW50IGRhcmsuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLZXZpbiBleGFtaW5lPyZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCSZsdDsmbHQ7bGluayAmcXVvdDtTdHVkeSB0aGUgaGV4YWZvaWwgYmVpbmcgY2FydmVkIGludG8gdGhlIHBvc3QuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBTZWVzIHRoZSBPbGQgQnJlY2tlbnJpZGdlIFJlZmxlY3Rpb246MToxNGIzZjg3MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gU2VlcyB0aGUgT2xkIEJyZWNrZW5yaWRnZSBSZWZsZWN0aW9uOjE6MTRiM2Y4NzEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5wYXR0ZXJuICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gU3R1ZGllcyB0aGUgRmlyc3QgSGV4YWZvaWwmcXVvdDsmZ3Q7Jmd0OwoJJmx0OyZsdDsvbGluayZndDsmZ3Q7CgoJJmx0OyZsdDtsaW5rICZxdW90O1dhdGNoIHRoZSBob29kZWQgZmlndXJlIGJlbmVhdGggdGhlIG9hayB0cmVlLiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6S2V2aW4gU2VlcyB0aGUgT2xkIEJyZWNrZW5yaWRnZSBSZWZsZWN0aW9uOjI6MzEwM2UxNGYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OktldmluIFNlZXMgdGhlIE9sZCBCcmVja2VucmlkZ2UgUmVmbGVjdGlvbjoyOjMxMDNlMTRmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGtldmluQXBwcm9hY2gub2JzZXJ2ZSArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtnb3RvICZxdW90O0tldmluIFdhdGNoZXMgdGhlIE9hayBUcmVlIEZpZ3VyZSZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7QXNrIEtpbW15IHRvIHJlY29yZCB0aGUgb2xkIHRvd24gYmVmb3JlIGl0IGRpc2FwcGVhcnMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBTZWVzIHRoZSBPbGQgQnJlY2tlbnJpZGdlIFJlZmxlY3Rpb246MzpkNmFkZDZkMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gU2VlcyB0aGUgT2xkIEJyZWNrZW5yaWRnZSBSZWZsZWN0aW9uOjM6ZDZhZGQ2ZDMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5jb25uZWN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gUHJlc2VydmVzIHRoZSAxNjc4IFZpc2lvbiZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCgkmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2VhcmNoIHRoZSByZWZsZWN0aW9uIGZvciB0aGUgdGhyZWUgZ2lybHMuJnF1b3Q7Jmd0OyZndDsKCQkmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpLZXZpbiBTZWVzIHRoZSBPbGQgQnJlY2tlbnJpZGdlIFJlZmxlY3Rpb246NDowY2Q2NzQwZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6S2V2aW4gU2VlcyB0aGUgT2xkIEJyZWNrZW5yaWRnZSBSZWZsZWN0aW9uOjQ6MGNkNjc0MGQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAka2V2aW5BcHByb2FjaC5hY3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCSZsdDsmbHQ7Z290byAmcXVvdDtLZXZpbiBTZWFyY2hlcyBmb3IgdGhlIFRocmVlIEdpcmxzJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI3MyIgbmFtZT0iS2V2aW4gU3R1ZGllcyB0aGUgRmlyc3QgSGV4YWZvaWwiIHRhZ3M9ImJnLXBhc3NhZ2UiIHBvc2l0aW9uPSIyMzUwLDE2NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRncm91cENvbXBhcmVkSGV4YWZvaWxzID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2h5IHRoZSBXaW5jaGVzdGVyIHByb3BlcnR5IHdhcyBtYXJrZWQgaW4gMTY3OCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2V2aW4gZm9jdXNlZCBvbiB0aGUgcGVyc29uIGNhcnZpbmcgdGhlIHdvb2RlbiBwb3N0LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjaXJjbGUgZmlyc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIHNpeCBjdXJ2ZWQgbGluZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcmVmbGVjdGVkIGNhcnZpbmcgbWF0Y2hlZCB0aGUgd29ybiBtYXJrIG9uIHRoZSBXaW5jaGVzdGVyIGJhbmlzdGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBlcnNvbiBjb21wbGV0ZWQgZml2ZSBwZXRhbHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCZWZvcmUgdGhlIHNpeHRoIGNvdWxkIGJlIGZpbmlzaGVkLCB0aGUgaG9vZGVkIGZpZ3VyZSBiZW5lYXRoIHRoZSBvYWsgcmFpc2VkCm9uZSBoYW5kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGNhcnZpbmcgdG9vbCBicm9rZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwZXJzb24gYXQgdGhlIHBvc3QgZmVsbCBiYWNrd2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSB1bmZpbmlzaGVkIGhleGFmb2lsIGJlZ2FuIHR1cm5pbmcgYmxhY2sgYXQgaXRzIGVkZ2VzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gbG9va2VkIGF0IHRoZSBtb2Rlcm4gc2VhbSBiZWhpbmQgdGhlIGJ1bGxldGluIGJvYXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHNjaG9vbCBoZXhhZm9pbCBkYXJrZW5lZCBpbiB0aGUgc2FtZSBwbGFjZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBkYW1hZ2UgaXNuJiMzOTt0IGZyb20gYWdlLCZxdW90OyBLZXZpbiBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbG9va2VkIGF0IHRoZSByZWZsZWN0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U29tZXRoaW5nIGludGVycnVwdGVkIHRoZSBjYXJ2aW5nLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7Tm8sJnF1b3Q7IEtldmluIHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtTb21ldGhpbmcgcHJldmVudGVkIGl0IGZyb20gYmVpbmcgY29tcGxldGVkLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O1RoZSBXaW5jaGVzdGVyIHByb3BlcnR5JiMzOTtzIGhleGFmb2lsIHdhcyBkZWxpYmVyYXRlbHkgaW50ZXJydXB0ZWQgZHVyaW5nIGl0cyBjcmVhdGlvbiBpbiAxNjc4JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwQ29ubmVjdGlvbigmcXVvdDtEYW1hZ2UgdG8gdGhlIG1vZGVybiBoZXhhZm9pbHMgcmVwZWF0cyBkYW1hZ2UgdmlzaWJsZSBpbiB0aGUgMTY3OCByZWZsZWN0aW9uJnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgZGVkdWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBBdCBsZWFzdCBvbmUgcHJvdGVjdGl2ZSBoZXhhZm9pbCB3YXMKCWRlbGliZXJhdGVseSBkYW1hZ2VkIG9yIGxlZnQgaW5jb21wbGV0ZS4gVGhlIGZhaWxpbmcgcHJvdGVjdGlvbiBtYXkgbm90IGJlCgl0aGUgcmVzdWx0IG9mIG9yZGluYXJ5IGFnZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIGhvb2RlZCBmaWd1cmUgdHVybmVkIHRvd2FyZCB0aGUgcmVmbGVjdGl2ZSBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFsdGhvdWdoIHRoZSBmaWd1cmUgc3Rvb2QgaW5zaWRlIHRoZSBpbWFnZSwgS2V2aW4gZmVsdCBjZXJ0YWluIGl0IHdhcyBsb29raW5nCmRpcmVjdGx5IGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbV2F0Y2ggd2hhdCBoYXBwZW5zIHRvIHRoZSB0b3duLSZndDtLZXZpbiBXaXRuZXNzZXMgdGhlIFdpdGNoIFdhcm5pbmddXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI3NCIgbmFtZT0iS2V2aW4gV2l0bmVzc2VzIHRoZSBXaXRjaCBXYXJuaW5nIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMjM3NSwxODc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SW50ZXJwcmV0IHRoZSB3YXJuaW5nIGhpZGRlbiBpbnNpZGUgdGhlIDE2NzggcmVmbGVjdGlvbiZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKVGhlIHJlZmxlY3RlZCB0b3duIGNoYW5nZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTaGFkb3dzIHNwcmVhZCBmcm9tIGJlbmVhdGggdGhlIG9hayB0cmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhleSBjcm9zc2VkIHRoZSBkaXJ0IHJvYWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGV5IGNsaW1iZWQgdGhlIHNpZGVzIG9mIHRoZSB3b29kZW4gYnVpbGRpbmdzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIGxhbnRlcm4gcmVsaXQgaW5zaWRlIHRoZSBXaW5jaGVzdGVyIHN0cnVjdHVyZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgcGVyc29uIHN0b29kIGJlc2lkZSBpdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwZXJzb24gaGVsZCBhIGJvb2sgaW4gb25lIGhhbmQgYW5kIGEgY2FydmluZyB0b29sIGluIHRoZSBvdGhlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBob29kZWQgZmlndXJlIHN0ZXBwZWQgYXdheSBmcm9tIHRoZSBvYWsuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBmaWd1cmVzIGZvbGxvd2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHBlcnNvbiBpbnNpZGUgdGhlIGhvdXNlIHByZXNzZWQgb25lIGhhbmQgYWdhaW5zdCB0aGUgdW5maW5pc2hlZApoZXhhZm9pbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzeW1ib2wgYnJpZ2h0ZW5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzaGFkb3cgc3RvcHBlZCBhdCB0aGUgcHJvcGVydHkgbGluZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBob29kZWQgZmlndXJlIGRpZCBub3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJdCBjcm9zc2VkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJlZmxlY3Rpb24gc2hvb2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbW9kZXJuIGhhbGx3YXkgbGlnaHRzIGZsaWNrZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluJiMzOTtzIHdhdGNoIGJlZ2FuIGJlZXBpbmcgcmFwaWRseS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gY292ZXJlZCB0aGUgZnJvbnQgb2YgdGhlIGhlbG1ldCB3aXRoIGJvdGggaGFuZHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCYjMzk7cyBub3RlYm9vayBwYWdlcyB0dXJuZWQgYnkgdGhlbXNlbHZlcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15JiMzOTtzIHBlbmNpbCBtb3ZlZCBhY3Jvc3MgdGhlIHdyaXRpbmcgcGFkIHdpdGhvdXQgdG91Y2hpbmcgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiByZW1haW5lZCBmb2N1c2VkIG9uIHRoZSByZWZsZWN0ZWQgaG91c2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGVyc29uIGluc2lkZSB0aGUgaG91c2UgbG9va2VkIHRvd2FyZCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcGVyc29uJiMzOTtzIG1vdXRoIG1vdmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gc291bmQgZW1lcmdlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHdhdGNoZWQgdGhlIHdvcmRzIGZvcm0uCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKVEhFIFdJVENIRVMgQVJFIElOU0lERSBUSEUgVE9XTi4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3NldCAkZ3JvdXBEaXNjb3ZlcmVkV2l0Y2hFdmlkZW5jZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2V2aW5OYW1lZFdpdGNoVGhlb3J5ID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7QSBmaWd1cmUgaW4gdGhlIDE2NzggcmVmbGVjdGlvbiB3YXJuZWQgdGhhdCB3aXRjaGVzIHdlcmUgaW5zaWRlIEJyZWNrZW5yaWRnZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRQYXR0ZXJuRXZlbnQoJnF1b3Q7VGhlIDE2NzggcmVmbGVjdGlvbiBjb25uZWN0ZWQgdGhlIFdpbmNoZXN0ZXIgcHJvcGVydHkgd2l0aCB3aXRjaGVzIGluIEJyZWNrZW5yaWRnZSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O1dhcm5pbmcgZnJvbSAxNjc4OiZsdDsvc3Ryb25nJmd0OyBUaGUgcmVmbGVjdGVkIGZpZ3VyZSB3YXJuZWQgS2V2aW4gdGhhdAoJd2l0Y2hlcyB3ZXJlIGFscmVhZHkgaW5zaWRlIEJyZWNrZW5yaWRnZS4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIG1lc3NhZ2UgZGlzYXBwZWFyZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIG5ldyBvbmUgZm9ybWVkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRIRVkgTkVWRVIgTEVGVC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIHJlZmxlY3Rpb24gd2VudCBkYXJrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9yZGluYXJ5IGhhbGx3YXkgcmV0dXJuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpGb3Igc2V2ZXJhbCBzZWNvbmRzLCBub2JvZHkgc3Bva2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBsb29rZWQgYXQgdGhlIG90aGVyIHRocmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SXQgc2FpZCB3aXRjaGVzLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbiBsb3dlcmVkIGhpcyBoYW5kcyBmcm9tIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIHdhcyBob3Bpbmcgd2UgaGFkIGFsbCBhZ3JlZWQgbm90IHRvIHVzZSB0aGF0IHdvcmQuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXZSBkaWRuJiMzOTt0IGFncmVlIHRvIHRoYXQsJnF1b3Q7IEtpbW15IHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXZSBzaG91bGQgaGF2ZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHR1cm5lZCB0aGUgbm90ZWJvb2sgdG93YXJkIHRoZSBncm91cC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgbmV3IHNlbnRlbmNlIGhhZCBhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpPTkUgT0YgVEhFTSBLTk9XUyBZT1UgQVJFIFRPR0VUSEVSLgombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0RldGVybWluZSB3aG8gY2FuIGV4cGxhaW4gdGhlIHdhcm5pbmctJmd0O0tldmluIElkZW50aWZpZXMgTXIgQXNodG9uXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNzUiIG5hbWU9IktldmluIFdhdGNoZXMgdGhlIE9hayBUcmVlIEZpZ3VyZSIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjI2MDAsMTcwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aG8gaXMgd2F0Y2hpbmcgdGhlIFdpbmNoZXN0ZXIgcHJvcGVydHkmcXVvdDsmZ3Q7Jmd0OwoKJmx0O3AmZ3Q7CktldmluIHdhdGNoZWQgdGhlIGhvb2RlZCBmaWd1cmUgYmVuZWF0aCB0aGUgb2FrLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSBzdG9vZCBjb21wbGV0ZWx5IHN0aWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKV2luZCBtb3ZlZCB0aGUgYnJhbmNoZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgbG9uZyBjbG90aGluZyBkaWQgbm90IG1vdmUgd2l0aCB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgc21hbGxlciBmaWd1cmVzIHN0b29kIGZhcnRoZXIgYmFjayBhbW9uZyB0aGUgcm9vdHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBjb3VsZCBzZWUgb25seSB0aGVpciBvdXRsaW5lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck9uZSB0YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIHNsaWdodGx5IHNob3J0ZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgc21hbGwgZW5vdWdoIHRvIGJlIGEgY2hpbGQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaG9vZGVkIGZpZ3VyZSBleHRlbmRlZCBvbmUgaGFuZCB0b3dhcmQgdGhlIHRocmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZXMgc3RlcHBlZCBpbnRvIHRoZSBvYWsmIzM5O3Mgc2hhZG93LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhleSBkaWQgbm90IGVtZXJnZSBmcm9tIHRoZSBvdGhlciBzaWRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbGVhbmVkIHRvd2FyZCB0aGUgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaHJlZSBnaXJscy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIG5vZGRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBzYW1lIHRocmVlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKU2Nvb3Qgb3BlbmVkIHRoZSBub3RlYm9vay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck5ldyB3cml0aW5nIGFwcGVhcmVkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7ClRIRVkgV0VSRSBOT1QgVEhFIEZJUlNULgombHQ7L2RpdiZndDsKCiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290Tm90ZWJvb2tFbnRyeSgmcXVvdDtUaGV5IHdlcmUgbm90IHRoZSBmaXJzdC4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBFdmlkZW5jZSgmcXVvdDtUaHJlZSBmaWd1cmVzIGVudGVyZWQgdGhlIG9hayB0cmVlJiMzOTtzIHNoYWRvdyBpbiB0aGUgMTY3OCByZWZsZWN0aW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwQ29ubmVjdGlvbigmcXVvdDtUaGUgdGhyZWUgZ2lybHMgbWF5IGJlIHJlcGVhdGluZyBzb21ldGhpbmcgdGhhdCBiZWdhbiB3aXRoIGVhcmxpZXIgZmlndXJlcyBpbiAxNjc4JnF1b3Q7KSZndDsmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZGlzY292ZXJlZCZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RWFybGllciBjb25uZWN0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaHJlZSBmaWd1cmVzIGFwcGVhcmVkIGJlc2lkZSB0aGUgb2FrCglpbiAxNjc4LCBzdWdnZXN0aW5nIHRoYXQgdGhlIHRocmVlIGdpcmxzIGNvbm5lY3RlZCB3aXRoIHRoZSBtb2Rlcm4KCXBob3RvZ3JhcGhzIHdlcmUgbm90IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG15c3RlcnkuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktldmluIHN0YXJlZCBhdCB0aGUgd29yZHMgaW5zaWRlIFNjb290JiMzOTtzIG5vdGVib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSWYgdGhlIHRocmVlIGdpcmxzIHdlcmUgbm90IHRoZSBmaXJzdCwgdGhlbiBzb21ldGhpbmcgb2xkZXIgaGFkIHVzZWQgdGhlIHNhbWUKcGF0dGVybi4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKCVtbV2F0Y2ggd2hhdCBoYXBwZW5zIHRvIHRoZSB0b3duLSZndDtLZXZpbiBXaXRuZXNzZXMgdGhlIFdpdGNoIFdhcm5pbmddXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI3NiIgbmFtZT0iS2V2aW4gUHJlc2VydmVzIHRoZSAxNjc4IFZpc2lvbiIgdGFncz0iYmctYmVkcm9vbSIgcG9zaXRpb249IjI4MjUsMTc1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1ByZXNlcnZlIGV2aWRlbmNlIG9mIHRoZSByZWZsZWN0ZWQgdG93biBiZWZvcmUgaXQgY2hhbmdlcyZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V3JpdGUgZG93biBldmVyeXRoaW5nLCZxdW90OyBLZXZpbiBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgZGlkIG5vdCBhc2sgd2h5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJlcG9ydGVyJiMzOTtzIGNhc2Ugb3BlbmVkIGFjcm9zcyBvbmUgYXJtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgcmVjb3JkZWQgdGhlIGRpcnQgcm9hZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBlYXJseSBXaW5jaGVzdGVyIHN0cnVjdHVyZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBvYWsgdHJlZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwZXJzb24gY2FydmluZyB0aGUgaGV4YWZvaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaG9vZGVkIGZpZ3VyZSB3YXRjaGluZyBmcm9tIHRoZSBmaWVsZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gY291bnRlZCB0aGUgdmlzaWJsZSBidWlsZGluZ3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBza2V0Y2hlZCB0aGUgcG9zaXRpb25zIG9mIHRoZSBmaWd1cmVzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gd2F0Y2hlZCB0aGUgZW50aXJlIHJlZmxlY3Rpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGF0IGJlY2FtZSBLZXZpbiYjMzk7cyByb2xlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm90IHdyaXRpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgY291bnRpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3QgZHJhd2luZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNlZWluZyBob3cgZXZlcnkgcGllY2UgbW92ZWQgdG9nZXRoZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXYWl0LCZxdW90OyBLZXZpbiBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgc3RvcHBlZCB3cml0aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBsYW50ZXJucy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkV2ZXJ5IGJ1aWxkaW5nIGhhZCBnb25lIGRhcmsgZXhjZXB0IHRocmVlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHRocmVlIGlsbHVtaW5hdGVkIHdpbmRvd3MgZm9ybWVkIGEgdHJpYW5nbGUgYXJvdW5kIHRoZSBXaW5jaGVzdGVyCnByb3BlcnR5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBkaWZmZXJlbnQgZmlndXJlIHN0b29kIGluc2lkZSBlYWNoIHdpbmRvdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkVhY2ggZmlndXJlIHJhaXNlZCBvbmUgaGFuZCBhdCB0aGUgc2FtZSB0aW1lLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHVuZmluaXNoZWQgaGV4YWZvaWwgb24gdGhlIFdpbmNoZXN0ZXIgcG9zdCBjcmFja2VkLgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O1RocmVlIGZpZ3VyZXMgaW4gc2VwYXJhdGUgYnVpbGRpbmdzIGFjdGVkIHRvZ2V0aGVyIGFnYWluc3QgdGhlIFdpbmNoZXN0ZXIgcHJvcGVydHkmIzM5O3MgaGV4YWZvaWwmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBDb25uZWN0aW9uKCZxdW90O1RoZSBXaW5jaGVzdGVyIHByb3BlcnR5IHdhcyBzdXJyb3VuZGVkIGJ5IHRocmVlIGNvb3JkaW5hdGVkIGZpZ3VyZXMgaW4gMTY3OCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIG9ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaHJlZSBmaWd1cmVzIHBvc2l0aW9uZWQgYXJvdW5kIHRoZQoJV2luY2hlc3RlciBwcm9wZXJ0eSBhY3RlZCB0b2dldGhlciB3aGVuIGl0cyBwcm90ZWN0aXZlIHN5bWJvbCBmYWlsZWQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktldmluIGhhZCBhc2tlZCBLaW1teSB0byBwcmVzZXJ2ZSB0aGUgZGV0YWlscy4KJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIGxlZnQgdGlsdC1wMSBzdGFuZGFyZCB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtjZW1ldGVyeV8xNjc4JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfY2VtZXRlcnlfMTY3OC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OwoKJmx0O3AmZ3Q7ClRoYXQgZGVjaXNpb24gZ2F2ZSB0aGUgZ3JvdXAgYSByZWNvcmQgdGhlIHJlZmxlY3Rpb24gY291bGQgbm90IGVyYXNlLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tXYXRjaCB3aGF0IGhhcHBlbnMgdG8gdGhlIHRvd24tJmd0O0tldmluIFdpdG5lc3NlcyB0aGUgV2l0Y2ggV2FybmluZ11dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjc3IiBuYW1lPSJLZXZpbiBTZWFyY2hlcyBmb3IgdGhlIFRocmVlIEdpcmxzIiB0YWdzPSJiZy1iZWRyb29tIiBwb3NpdGlvbj0iMjcwMCwxOTI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGdpcmxzIGZyb20gdGhlIHBob3RvZ3JhcGhzIGV4aXN0ZWQgaW4gMTY3OCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDsKS2V2aW4gc2VhcmNoZWQgdGhlIHJlZmxlY3RlZCByb2FkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG9sZC1mYXNoaW9uZWQgZ2lybHMgd2VyZSBub3QgbmVhciB0aGUgaG91c2UuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGV5IHdlcmUgbm90IGJlc2lkZSB0aGUgd29vZGVuIHBvc3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGV5IHdlcmUgbm90IHN0YW5kaW5nIGJlbmVhdGggdGhlIG9hay4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZW4gS2V2aW4gc2F3IHRocmVlIGZhY2VzIGluIHNlcGFyYXRlIHdpbmRvd3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpPbmUgZmlndXJlIHdvcmUgYSBncmVlbiByaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQW5vdGhlciB3b3JlIGEgcHVycGxlIHJpbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgdGhpcmQgd29yZSBhIHJlZCByaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZhY2VzIGRpZCBub3QgbWF0Y2ggdGhlIGdpcmxzIGZyb20gdGhlIHNjaG9vbCBwaG90b2dyYXBoLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGFycmFuZ2VtZW50IGRpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRocmVlIGZpZ3VyZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSB3aW5kb3dzLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgcmluZ3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2FtZSBwYXR0ZXJuIHdpdGggZGlmZmVyZW50IHBlb3BsZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBnaXJscyB3ZXJlbiYjMzk7dCBhbGl2ZSBpbiAxNjc4LCZxdW90OyBLZXZpbiBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbG9va2VkIGF0IGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZW4gd2hvIGFyZSB0aG9zZSBwZW9wbGU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtJIGRvbiYjMzk7dCBrbm93LiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gd2F0Y2hlZCB0aGUgdGhyZWUgcmVmbGVjdGVkIGZpZ3VyZXMgcmFpc2UgdGhlaXIgaGFuZHMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtCdXQgd2hhdGV2ZXIgaGFwcGVuZWQgdG8gdGhlIGdpcmxzIGhhcHBlbmVkIGJlZm9yZSB0aGVtIHRvby4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0OyZsdDtzZXQgJGdyb3VwQ29ubmVjdGVkTHVjaWxsZSA9IHRydWUmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O1RocmVlIHJpbmctd2VhcmluZyBmaWd1cmVzIGFwcGVhcmVkIGFyb3VuZCB0aGUgV2luY2hlc3RlciBwcm9wZXJ0eSBpbiB0aGUgMTY3OCByZWZsZWN0aW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwQ29ubmVjdGlvbigmcXVvdDtUaGUgdGhyZWUgcGhvdG9ncmFwaGVkIGdpcmxzIGFwcGVhciB0byByZXBlYXQgYSBwYXR0ZXJuIGludm9sdmluZyB0aHJlZSBlYXJsaWVyIGZpZ3VyZXMmcXVvdDspJmd0OyZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OwoJJmx0O3N0cm9uZyZndDtLZXZpbiYjMzk7cyBkZWR1Y3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB0aHJlZSBnaXJscyBtYXkgYmUgY29ubmVjdGVkIHdpdGgKCXRocmVlIGVhcmxpZXIgcGVvcGxlIGludm9sdmVkIGluIHRoZSBldmVudHMgb2YgMTY3OC4KJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZ3VyZSB3ZWFyaW5nIHRoZSByZWQgcmluZyB0dXJuZWQgdG93YXJkIEtldmluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHJlZmxlY3RlZCBmYWNlIHJlbWFpbmVkIGluZGlzdGluY3QuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgcmVkIHN0b25lIGRpZCBub3QuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW1dhdGNoIHdoYXQgaGFwcGVucyB0byB0aGUgdG93bi0mZ3Q7S2V2aW4gV2l0bmVzc2VzIHRoZSBXaXRjaCBXYXJuaW5nXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNzgiIG5hbWU9IktldmluIElkZW50aWZpZXMgTXIgQXNodG9uIiB0YWdzPSJiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSIyMzc1LDIwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRncm91cE5lZWRzTXJBc2h0b24gPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0lkZW50aWZ5IHNvbWVvbmUgd2hvIHVuZGVyc3RhbmRzIEJyZWNrZW5yaWRnZSYjMzk7cyB3aXRjaCBoaXN0b3J5JnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpLZXZpbiByZWFkIHRoZSBub3RlYm9vayBtZXNzYWdlIGFnYWluLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25lIG9mIHRoZW0ga25ldyB0aGUgZ3JvdXAgd2FzIHRvZ2V0aGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhhdCBtZWFudCB0aGUgZ3JvdXAgaGFkIGJlZW4gb2JzZXJ2ZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpQb3NzaWJseSBndWlkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpQb3NzaWJseSBhc3NlbWJsZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBsb29rZWQgYXQgdGhlIGRhcmsgd2F0Y2guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtUaGUgd2F0Y2ggYnJvdWdodCBtZSBoZXJlLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGhlIHNoYWRvd3MgYnJvdWdodCB1cyBoZXJlLCZxdW90OyBTY29vdCBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TXkgcmVwb3J0ZXImIzM5O3MgY2FzZSB3cm90ZSBhbGwgZm91ciBuYW1lcywmcXVvdDsgS2ltbXkgYWRkZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGxvb2tlZCB0b3dhcmQgdGhlIHNlYWxlZCBwYXNzYWdlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7U29tZXRoaW5nIHdhbnRlZCB1cyBpbiB0aGUgc2FtZSBsb2NhdGlvbi4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIG5vZGRlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBxdWVzdGlvbiB3YXMgbm8gbG9uZ2VyIHdoZXRoZXIgdGhlIGZvdXIgZXZlbnRzIHdlcmUgY29ubmVjdGVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIHF1ZXN0aW9uIHdhcyB3aG8gaGFkIGNvbm5lY3RlZCB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2ltbXkgbG9va2VkIHRocm91Z2ggdGhlIGFyY2hpdmUgbm90ZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtXZSBuZWVkIHNvbWVvbmUgd2hvIGtub3dzIHdoYXQgaGFwcGVuZWQgaW4gMTY3OC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O09yIHNvbWVvbmUgd2hvIGtub3dzIHdoYXQgdGhlIGhleGFmb2lscyBtZWFuLCZxdW90OyBTY29vdCBzYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gcmVtZW1iZXJlZCBhIGNsYXNzcm9vbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgY2hhbGtib2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkEgdGVhY2hlciBkcmF3aW5nIGEgY2lyY2xlIHdpdGggc2l4IGN1cnZlZCBsaW5lcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ck1yLiBBc2h0b24gaGFkIG5vdCBkcmF3biB0aGUgc3ltYm9sIGxpa2Ugc29tZW9uZSBjb3B5aW5nIGl0IGZyb20gYSBib29rLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTXIuIEFzaHRvbiBoYWQgZHJhd24gaXQgZnJvbSBtZW1vcnkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNci4gQXNodG9uIGhhZCBhZGRlZCBhIHNtYWxsIG5vdGNoIGJlc2lkZSBvbmUgcGV0YWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgc2FtZSBraW5kIG9mIGRldGFpbCBLZXZpbiBoYWQgZm91bmQgb24gdGhlIFdpbmNoZXN0ZXIgYmFuaXN0ZXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpNci4gQXNodG9uIGhhZCBhbHNvIHdhdGNoZWQgS2V2aW4mIzM5O3MgcmVhY3Rpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpOb3Qgd2l0aCBjb25mdXNpb24uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpXaXRoIHJlY29nbml0aW9uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7TXIuIEFzaHRvbiwmcXVvdDsgS2V2aW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGxvb2tlZCB1cC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1dobz8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O015IGhpc3RvcnkgdGVhY2hlci4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHBvaW50ZWQgdG93YXJkIHRoZSBoZXhhZm9pbCBkcmF3aW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7SGUga25vd3MgdGhpcyBzeW1ib2wuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMb3RzIG9mIGhpc3RvcnkgdGVhY2hlcnMga25vdyBvbGQgc3ltYm9scywmcXVvdDsgU2Nvb3Qgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O05vdCBsaWtlIHRoaXMuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiByZW1lbWJlcmVkIHRoZSBleGFjdCB3YXkgTXIuIEFzaHRvbiBoYWQgdGFwcGVkIG9uZSBwZXRhbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzYW1lIHBldGFsIHRoYXQgY29udGFpbmVkIHRoZSBoaWRkZW4gbnVtZXJhbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0hlIGtub3dzIHdoZXJlIHRvIGxvb2suJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGNvbnNpZGVyZWQgdGhlIHN0YXRlbWVudC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0RvZXMgaGUga25vdyBhYm91dCB3aXRjaGVzPyZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gbG9va2VkIGF0IHRoZSByZWZsZWN0ZWQgZ2xhc3MuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgb2xkIHRvd24gaGFkIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQSBjbGFzc3Jvb20gYXBwZWFyZWQgaW4gaXRzIHBsYWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTXIuIEFzaHRvbiBzdG9vZCBhdCB0aGUgY2hhbGtib2FyZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByZWZsZWN0ZWQgdGVhY2hlciBkcmV3IGEgaGV4YWZvaWwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpCZW5lYXRoIGl0LCBNci4gQXNodG9uIHdyb3RlIG9uZSB3b3JkOgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7CldJVENIRVMKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlbiB0aGUgcmVmbGVjdGVkIE1yLiBBc2h0b24gdHVybmVkIHRvd2FyZCBLZXZpbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByZWZsZWN0aW9uIHJhaXNlZCBvbmUgaGFuZCBhbmQgcG9pbnRlZCB0b3dhcmQgdGhlIHNjaG9vbCBsaWJyYXJ5LgombHQ7L3AmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cENvbm5lY3Rpb24oJnF1b3Q7TXIuIEFzaHRvbiBrbm93cyB0aGUgaGV4YWZvaWwgYW5kIEJyZWNrZW5yaWRnZSYjMzk7cyBoaXN0b3J5IG9mIHdpdGNoZXMmcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBFdmlkZW5jZSgmcXVvdDtUaGUgcmVmbGVjdGlvbiBkaXJlY3RlZCB0aGUgZ3JvdXAgdG93YXJkIE1yLiBBc2h0b24gYW5kIHRoZSBzY2hvb2wgbGlicmFyeSZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CgkmbHQ7c3Ryb25nJmd0O05leHQgbGVhZDombHQ7L3N0cm9uZyZndDsgTXIuIEFzaHRvbiBhcHBlYXJzIHRvIHVuZGVyc3RhbmQgdGhlIGhleGFmb2lscywKCXRoZSBoaXN0b3J5IG9mIDE2NzgsIGFuZCBCcmVja2VucmlkZ2UmIzM5O3MgY29ubmVjdGlvbiB3aXRoIHdpdGNoZXMuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCBhdCBLaW1teSwgUnlhbiwgYW5kIFNjb290LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2UgbmVlZCB0byB0YWxrIHRvIE1yLiBBc2h0b24uJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CglbW0ZvbGxvdyB0aGUgZmluYWwgd2FybmluZy0mZ3Q7Q2hhcHRlciA2IENsaWZmaGFuZ2VyXV0KJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyNzkiIG5hbWU9IkNoYXB0ZXIgNiBDbGlmZmhhbmdlciIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249IjIzNzUsMjEyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXI2Q29tcGxldGUgPSB0cnVlJmd0OyZndDsKJmx0OyZsdDtzZXQgJGNoYXB0ZXI2Q2xpZmZoYW5nZXJTZWVuID0gdHJ1ZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBFYXN0IEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RmluZCBNci4gQXNodG9uIGFuZCBsZWFybiB0aGUgdHJ1dGggYWJvdXQgdGhlIHdpdGNoZXMgb2YgQnJlY2tlbnJpZGdlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpUaGUgcmVmbGVjdGlvbiBvZiBNci4gQXNodG9uIGRpc2FwcGVhcmVkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGdsYXNzIHJldHVybmVkIHRvIG5vcm1hbC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHNhdyBmb3VyIHN0dWRlbnRzIHN0YW5kaW5nIHRvZ2V0aGVyLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKSGltc2VsZi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKUnlhbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKTm8gZmlmdGggZmlndXJlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKS2V2aW4gY29udGludWVkIHdhdGNoaW5nLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZnRoIGZpZ3VyZSByZXR1cm5lZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHN0b29kIGRpcmVjdGx5IGJlaGluZCBoaW0uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiB0dXJuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGFsbHdheSB3YXMgZW1wdHkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpJbiB0aGUgZ2xhc3MsIHRoZSBmaWd1cmUgbGVhbmVkIGNsb3NlIHRvIEtldmluJiMzOTtzIHJlZmxlY3RlZCBlYXIuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIHZvaWNlIHdoaXNwZXJlZCBmcm9tIGluc2lkZSB0aGUgd2FsbDoKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O01yLiBBc2h0b24gcmVtZW1iZXJzIHRoZSBsYXN0IHRpbWUuJnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpLZXZpbiBmYWNlZCB0aGUgcGFpbnRlZCBzZWFtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBsYXN0IHRpbWU/JnF1b3Q7CiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTb21ldGhpbmcga25vY2tlZCBmcm9tIHRoZSBvdGhlciBzaWRlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKT25jZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClR3aWNlLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhyZWUgdGltZXMuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgd2F0Y2ggYWN0aXZhdGVkLgombHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Cjk6MTQKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKVGhlIGRpc3BsYXkgY2hhbmdlZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpUSEUgV0lUQ0hFUyBLTk9XIFlPVVIgSE9VU0UgSVMgT1BFTgombHQ7L2RpdiZndDsKCiZsdDtwJmd0OwpLZXZpbiBzdG9wcGVkIGJyZWF0aGluZy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBiYW5pc3RlciBoZXhhZm9pbCB3YXMgYWxtb3N0IGdvbmUuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZnJvbnQtZG9vciBtYXJrIGhhZCBiZWVuIHBhaW50ZWQgb3Zlci4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwaG90b2dyYXBoIGhhZCBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkFiYmllIHdvdWxkIHJldHVybiBob21lIHRoYXQgYWZ0ZXJub29uLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG15c3Rlcnkgd2FzIG5vIGxvbmdlciBvbmx5IGFib3V0IHdoYXQgaGFwcGVuZWQgaW4gMTY3OC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7Ckl0IHdhcyBhYm91dCB3aGF0IGNvdWxkIGVudGVyIHRoZSBXaW5jaGVzdGVyIGhvdXNlIG5vdy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktpbW15IGNsb3NlZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClJ5YW4gdGlnaHRlbmVkIHRoZSBoZWxtZXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpTY29vdCBoZWxkIHRoZSBub3RlYm9vayBhZ2FpbnN0IGhpcyBjaGVzdC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIHBpY2tlZCB1cCBoaXMgYmFja3BhY2suCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpIZSB3YXMgc3RpbGwgYWZyYWlkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZlYXIgaGFkIG5vdCBkaXNhcHBlYXJlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNvbWV0aGluZyBlbHNlIGhhZCBhcHBlYXJlZCBiZXNpZGUgaXQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaHJlZSBwZW9wbGUgd2hvIGhhZCBzZWVuIGVub3VnaCB0byBiZWxpZXZlIGhpbS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CktldmluIGxvb2tlZCB0b3dhcmQgdGhlIGxpYnJhcnkuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwomcXVvdDtMZXQmIzM5O3MgZmluZCBNci4gQXNodG9uLiZxdW90OwombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZvdXIgc3R1ZGVudHMgc3RhcnRlZCBkb3duIHRoZSBoYWxsd2F5LgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQmVoaW5kIHRoZW0sIHRoZSBzZWFsZWQgcGFzc2FnZSBvcGVuZWQgb25lIGluY2guCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpBIGhhbmQgd2VhcmluZyBhIGRhcmsgcmVkIHJpbmcgcmVhY2hlZCB0aHJvdWdoIHRoZSBnYXAuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgaGFsbHdheSBsaWdodHMgd2VudCBvdXQuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkJnF1b3Q7Jmd0OwoJJmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0VuZCBvZiB0aGUgVGVhc2VyJmx0Oy9kaXYmZ3Q7CgkmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7VGhlIFdpdGNoZXMgTmV2ZXIgTGVmdCZsdDsvaDEmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0OwoJCUtldmluIGFuZCB0aGUgb3RoZXJzIGhhdmUgZm91bmQgdGhlIGZpcnN0IGNvbm5lY3Rpb24gYmV0d2VlbiB0aGUKCQlXaW5jaGVzdGVyIGhvdXNlLCBCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbCwgYW5kIHRoZSB3aXRjaGVzIHdobwoJCWFycml2ZWQgY2VudHVyaWVzIGFnby4KCSZsdDsvZGl2Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1vYmplY3RpdmUmcXVvdDsmZ3Q7CgkJVGhlIG15c3RlcnkgY29udGludWVzIGluCgkJJmx0O3N0cm9uZyZndDtUaGUgUmV0dXJuIG9mIHRoZSBCbGFja3dvb2QgV2l0Y2gmbHQ7L3N0cm9uZyZndDsuCgkmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tTZWUgd2hhdCB5b3VyIGNob3NlbiByb3V0ZSBjaGFuZ2VkLSZndDtSb3V0ZUVuZGluZ0FmdGVyc2hvY2tdXQombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI4MCIgbmFtZT0iQ2hhcHRlciA2IFN1bW1hcnkiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyMzc1LDIyNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0VuZCBvZiBFcGlzb2RlIE9uZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDb250aW51ZSB0aGUgY29tcGxldGUgbXlzdGVyeSBpbiB0aGUgbm92ZWwmcXVvdDsmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7RXBpc29kZSBPbmUgQ29tcGxldGUmbHQ7L2RpdiZndDsKCSZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtGb3VyIFN0b3JpZXMsIE9uZSBXYXJuaW5nJmx0Oy9oMSZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDsKCQlXaGF0IHRoZSBpbnZlc3RpZ2F0b3JzIGRpc2NvdmVyZWQKCSZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkIGNoYXB0ZXItc3VtbWFyeS1jbHVlcyZxdW90OyZndDsKCSZsdDtzdHJvbmcmZ3Q7RXBpc29kZSBPbmUgZGlzY292ZXJpZXM6Jmx0Oy9zdHJvbmcmZ3Q7CgoJJmx0O3VsJmd0OwoJCSZsdDtsaSZndDtUaGUgV2luY2hlc3RlciBob3VzZSBvbmNlIGNvbnRhaW5lZCBhIHBob3RvZ3JhcGggb2YgdGhyZWUgZ2lybHMuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhlIHBob3RvZ3JhcGggZGlzYXBwZWFyZWQgd2l0aG91dCBsZWF2aW5nIGl0cyBmcmFtZSBkYW1hZ2VkLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O0hleGFmb2lscyBtYXJrIGJvdW5kYXJpZXMgYXQgdGhlIFdpbmNoZXN0ZXIgaG91c2UgYW5kIHNjaG9vbC4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtUaGUga25vd24gaGV4YWZvaWxzIGFyZSB3b3JuLCBkYW1hZ2VkLCBoaWRkZW4sIG9yIGluY29tcGxldGUuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7Um9tYW4gbnVtZXJhbHMgSUkgYW5kIFhJIGNvbm5lY3Qgc2V2ZXJhbCBtYXJrZWQgbG9jYXRpb25zLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O0tldmluJiMzOTtzIGRlYWQgd2F0Y2ggcmVhY3RzIHRvIHN1cGVybmF0dXJhbCBldmVudHMgYW5kIHJlcGVhdGVkbHkgZGlzcGxheXMgOToxNC4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtUaGUgc2Nob29sIGNvbnRhaW5zIGEgc2VhbGVkIHBhc3NhZ2Ugb21pdHRlZCBmcm9tIG1vZGVybiBmbG9vciBwbGFucy4mbHQ7L2xpJmd0OwoJCSZsdDtsaSZndDtMdWNpbGxlIFZhbGUgYW5zd2VyZWQgYXR0ZW5kYW5jZSB3aXRoIHRocmVlIGtub2NrcyBmcm9tIGluc2lkZSBhIHdhbGwuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhlIHRocmVlIGdpcmxzIGNhbiBhcHBlYXIgdGhyb3VnaCBwaG90b2dyYXBocyBhbmQgcmVmbGVjdGlvbnMuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7QSBmaWZ0aCBmaWd1cmUgYXR0ZW1wdGVkIHRvIGNyb3NzIHRocm91Z2ggdGhlIGhpZGRlbiBwYXNzYWdlLiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RoZSBXaW5jaGVzdGVyIHByb3BlcnR5IHdhcyBhbHJlYWR5IGltcG9ydGFudCBpbiAxNjc4LiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O1RocmVlIGVhcmxpZXIgZmlndXJlcyBhY3RlZCB0b2dldGhlciBhZ2FpbnN0IGl0cyBwcm90ZWN0aXZlIGJvdW5kYXJ5LiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O0Egd2FybmluZyBmcm9tIDE2Nzggc3RhdGVkIHRoYXQgd2l0Y2hlcyB3ZXJlIGluc2lkZSBCcmVja2VucmlkZ2UuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7VGhlIHdhcm5pbmcgYWxzbyBzdGF0ZWQgdGhhdCB0aGUgd2l0Y2hlcyBuZXZlciBsZWZ0LiZsdDsvbGkmZ3Q7CgkJJmx0O2xpJmd0O01yLiBBc2h0b24ga25vd3MgdGhlIGhleGFmb2lsIGFuZCBtYXkga25vdyB3aGF0IGhhcHBlbmVkIHByZXZpb3VzbHkuJmx0Oy9saSZndDsKCQkmbHQ7bGkmZ3Q7QSBmaWd1cmUgd2VhcmluZyBhIHJlZCByaW5nIGJlZ2FuIGNyb3NzaW5nIGFmdGVyIHRoZSBncm91cCBsZWZ0LiZsdDsvbGkmZ3Q7CgkJJmx0OyZsdDtpZiAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O2hvdXNlJnF1b3Q7Jmd0OyZndDsmbHQ7bGkmZ3Q7VGhlIFdpbmNoZXN0ZXIgc3RhaXJjYXNlIGZvcm1lZCBhIGNvdW50ZG93biBlbmRpbmcgYXQgSS4mbHQ7L2xpJmd0OyZsdDsmbHQ7ZWxzZWlmICRpbnZlc3RpZ2F0aW9uUm91dGUgaXMgJnF1b3Q7cGFzc2FnZSZxdW90OyZndDsmZ3Q7Jmx0O2xpJmd0O1RoZSBoaWRkZW4gcGFzc2FnZSBsZWFybmVkIHRvIGltaXRhdGUgZmFtaWxpYXIgdm9pY2VzIGFuZCBmYWxzZSBwZXJtaXNzaW9uLiZsdDsvbGkmZ3Q7Jmx0OyZsdDtlbHNlaWYgJGludmVzdGlnYXRpb25Sb3V0ZSBpcyAmcXVvdDtvYWsmcXVvdDsmZ3Q7Jmd0OyZsdDtsaSZndDtUaGUgb2FrIHRyZWUgd2FzIGlkZW50aWZpZWQgYXMgdGhlIGZpcnN0IGJvdW5kYXJ5IHN1cHBvcnRpbmcgdGhlIGxhdGVyIHByb3RlY3Rpb25zLiZsdDsvbGkmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0Oy91bCZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7cCZndDsKS2V2aW4gYmVnYW4gdGhlIG1vcm5pbmcgd2l0aCBhIHBsYW4uCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpHZXQgQWJiaWUgdG8gc2Nob29sLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKQXZvaWQgYmVpbmcgbGF0ZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkRvIG5vdCBhdHRyYWN0IGF0dGVudGlvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBwbGFuIGZhaWxlZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkluIGl0cyBwbGFjZSwgS2V2aW4gZm91bmQgdGhyZWUgcGVvcGxlIHdpbGxpbmcgdG8gZm9sbG93IHRoZSBteXN0ZXJ5IHdpdGgKaGltLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIG5leHQgYW5zd2VyIGJlbG9uZ3MgdG8gTXIuIEFzaHRvbi4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBuZXh0IGRhbmdlciBtYXkgYWxyZWFkeSBiZSB3YWl0aW5nIGluc2lkZSB0aGUgV2luY2hlc3RlciBob3VzZS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtib29rLXNpZGViYXItY29weSZxdW90OyZndDsKCUNvbnRpbnVlIHRoZSBteXN0ZXJ5IGluIHRoZSBjb21wbGV0ZSBub3ZlbC4KJmx0Oy9kaXYmZ3Q7CgombHQ7YSBjbGFzcz0mcXVvdDtib29rLXNpZGViYXItYnV0dG9uJnF1b3Q7CglocmVmPSZxdW90O2h0dHBzOi8vYW16bi50by80ZGc3RkZJJnF1b3Q7Cgl0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7CglyZWw9JnF1b3Q7bm9vcGVuZXIgbm9yZWZlcnJlciZxdW90OyZndDsKCUNvbnRpbnVlIG9uIEtpbmRsZQombHQ7L2EmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tDb250aW51ZSBpbnRvIEVwaXNvZGUgVHdvLSZndDtFcGlzb2RlVHdvT3BlbmluZ11dJmx0Oy9kaXYmZ3Q7CiZsdDshLS0gQjUuMSBjYWxsYmFjayAtLSZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0tldmluJiMzOTtzIHByZXNlcnZlZCBldmlkZW5jZTombHQ7L3N0cm9uZyZndDsKJmx0OyZsdDtzd2l0Y2ggJG1ham9yQ29uc2VxdWVuY2VzLm1vcm5pbmdSZWNvcmQmZ3Q7Jmd0OyZsdDsmbHQ7Y2FzZSAmcXVvdDtjb21wbGV0ZSZxdW90OyZndDsmZ3Q7SGlzIGNvbXBsZXRlIG5vdGVzIGxldCB0aGUgZ3JvdXAgY29tcGFyZSBldmVudHMgd2l0aG91dCByZWx5aW5nIG9uIG1lbW9yeSBhbG9uZS4mbHQ7Jmx0O2Nhc2UgJnF1b3Q7aGV4YWZvaWwmcXVvdDsmZ3Q7Jmd0O0hpcyBza2V0Y2ggY29ubmVjdGVkIHRoZSBob3VzZSBzeW1ib2wgdG8gdGhlIHNjaG9vbCBib3VuZGFyeS4mbHQ7Jmx0O2Nhc2UgJnF1b3Q7dGltZTkxNCZxdW90OyZndDsmZ3Q7VGhlIHdyaXR0ZW4gdGltZSwgOToxNCwgYmVjYW1lIGEgZHVyYWJsZSBwYXR0ZXJuIGluc3RlYWQgb2YgYSBndWVzcy4mbHQ7Jmx0O2Nhc2UgJnF1b3Q7YnV0dG9uJnF1b3Q7Jmd0OyZndDtUaGUgdHJhY2VkIGJ1dHRvbiBtYXJrIGdhdmUgS2ltbXkgYW4gb2JqZWN0IGRldGFpbCBzaGUgY291bGQgdmVyaWZ5LiZsdDsmbHQ7Y2FzZSAmcXVvdDtub25lJnF1b3Q7Jmd0OyZndDtXaXRoIG5vIHdyaXR0ZW4gcmVjb3JkLCBzZXZlcmFsIGVhcmx5IGRldGFpbHMgcmVtYWluZWQgZGlzcHV0ZWQuJmx0OyZsdDsvc3dpdGNoJmd0OyZndDsmbHQ7L2RpdiZndDsKJmx0OyEtLSBCNS4yIGNhbGxiYWNrIC0tJmd0OyZsdDsmbHQ7aWYgJG1ham9yQ29uc2VxdWVuY2VzLmNsb2NrVGhlb3J5IGlzICZxdW90O3Rlc3QmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7S2V2aW7igJlzIGNsb2NrIHRlc3QgdHVybmVkIDk6MTQgaW50byByZXBlYXRhYmxlIGV2aWRlbmNlLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZWlmICRtYWpvckNvbnNlcXVlbmNlcy5jbG9ja1RoZW9yeSBpcyAmcXVvdDtzaGFyZSZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtBYmJpZeKAmXMgdGVzdGltb255IG1hZGUgdGhlIHN0b3BwZWQgY2xvY2sgYSBzaGFyZWQgb2JzZXJ2YXRpb24uJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlaWYgJG1ham9yQ29uc2VxdWVuY2VzLmNsb2NrVGhlb3J5IGlzICZxdW90O3JlamVjdCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtLZXZpbuKAmXMgc2tlcHRpY2lzbSBwcmV2ZW50ZWQgYSBwcmVtYXR1cmUgY29uY2x1c2lvbiwgYnV0IGRlbGF5ZWQgdGhlIHRpbWUtcGF0dGVybiB0aGVvcnkuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7IS0tIEI1LjUgcmVhY3Rpb24gLS0mZ3Q7Jmx0OyZsdDtzd2l0Y2ggc2V0dXAuYXR0ZW50aW9uU3RhdGUoKSZndDsmZ3Q7Jmx0OyZsdDtjYXNlICZxdW90O1Vubm90aWNlZCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDthdHRlbnRpb24tcmVhY3Rpb24mcXVvdDsmZ3Q7VGhlIGhvdXNlIHJlbWFpbmVkIHF1aWV0IGFmdGVyIHRoZSBpbnZlc3RpZ2F0aW9uLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7Y2FzZSAmcXVvdDtPYnNlcnZlZCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDthdHRlbnRpb24tcmVhY3Rpb24mcXVvdDsmZ3Q7T25lIHBob3RvZ3JhcGggaGFkIHNoaWZ0ZWQgc2xpZ2h0bHkgaW5zaWRlIGl0cyBmcmFtZS4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Nhc2UgJnF1b3Q7Rm9sbG93ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YXR0ZW50aW9uLXJlYWN0aW9uJnF1b3Q7Jmd0O1RoZSBvYmplY3RpdmUgY2FyZCBicmllZmx5IGRpc3BsYXllZCBhIHNlbnRlbmNlIG5vIG9uZSBoYWQgd3JpdHRlbjogJmx0O2kmZ3Q7S0VFUCBMT09LSU5HLiZsdDsvaSZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0O2Nhc2UgJnF1b3Q7TWFya2VkJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2F0dGVudGlvbi1yZWFjdGlvbiZxdW90OyZndDtBIGdyZWVuIHRocmVhZCBoYWQgYmVlbiB0aWVkIGFyb3VuZCBLZXZpbuKAmXMgbm90ZXMuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtjYXNlICZxdW90O0h1bnRlZCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDthdHRlbnRpb24tcmVhY3Rpb24mcXVvdDsmZ3Q7RXZlcnkgY2xvY2sgaW4gdGhlIHN1bW1hcnkgcGhvdG9ncmFwaCBkaXNwbGF5ZWQgOToxNC4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9zd2l0Y2gmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjgxIiBuYW1lPSJNeXN0ZXJ5IEtpdCAtIENhc2UgRmlsZSIgdGFncz0iYmctc2Nob29saGFsbCIgcG9zaXRpb249Ijc1LDEyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2UgYm0tY2FzZS1maWxlLXBhZ2UmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZS1oZWFkaW5nJnF1b3Q7Jmd0OwoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWtpY2tlciZxdW90OyZndDtCcmVja2VucmlkZ2UgTXlzdGVyeSBLaXQmbHQ7L2RpdiZndDsKCQkmbHQ7aDEmZ3Q7Q2FzZSBGaWxlJmx0Oy9oMSZndDsKCQkmbHQ7cCZndDsKCQkJQSBxdWljayBsb29rIGF0IHRoZSBteXN0ZXJ5IGFzIGl0IGN1cnJlbnRseSBzdGFuZHMuCgkJJmx0Oy9wJmd0OwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1maWxlLWZvbGRlciZxdW90OyZndDsKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZvbGRlci10YWImcXVvdDsmZ3Q7Q2FzZSAwMSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtZmlsZS1ncmlkJnF1b3Q7Jmd0OwoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtY2FyZCZxdW90OyZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1sYWJlbCZxdW90OyZndDtDdXJyZW50IG15c3RlcnkmbHQ7L2RpdiZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS12YWx1ZSZxdW90OyZndDsKCQkJCQlUaGUgU3RyYW5nZSBGaXJzdCBEYXkKCQkJCSZsdDsvZGl2Jmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1jYXJkJnF1b3Q7Jmd0OwoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1maWxlLWxhYmVsJnF1b3Q7Jmd0O0NoYXB0ZXImbHQ7L2RpdiZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS12YWx1ZSZxdW90OyZndDsKCQkJCQkmbHQ7Jmx0O2lmICRjaGFwdGVyICZndDsgMCZndDsmZ3Q7CgkJCQkJCSRjaGFwdGVyCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJT3BlbmluZwoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1jYXJkJnF1b3Q7Jmd0OwoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1maWxlLWxhYmVsJnF1b3Q7Jmd0O1BsYXlpbmcgYXMmbHQ7L2RpdiZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS12YWx1ZSZxdW90OyZndDsKCQkJCQkmbHQ7Jmx0O2lmICRwb3YmZ3Q7Jmd0OwoJCQkJCQkkcG92CgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJVGhlIGludmVzdGlnYXRvcnMKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtY2FyZCZxdW90OyZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1sYWJlbCZxdW90OyZndDtDdXJyZW50IGxvY2F0aW9uJmx0Oy9kaXYmZ3Q7CgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtdmFsdWUmcXVvdDsmZ3Q7CgkJCQkJJmx0OyZsdDtpZiAkbG9jYXRpb24mZ3Q7Jmd0OwoJCQkJCQkkbG9jYXRpb24KCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQlCcmVja2VucmlkZ2UKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1vYmplY3RpdmUmcXVvdDsmZ3Q7CgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZmlsZS1sYWJlbCZxdW90OyZndDtXaGF0IHRvIGRvIG5leHQmbHQ7L2RpdiZndDsKCQkJJmx0O3AmZ3Q7CgkJCQkmbHQ7Jmx0O2lmICRvYmplY3RpdmUmZ3Q7Jmd0OwoJCQkJCSRvYmplY3RpdmUKCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJQ29udGludWUgaW52ZXN0aWdhdGluZyB0aGUgbXlzdGVyeS4KCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJJmx0Oy9wJmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtdG90YWxzJnF1b3Q7Jmd0OwoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtdG90YWwmcXVvdDsmZ3Q7CgkJCQkmbHQ7c3BhbiZndDsKCQkJCQkmbHQ7Jmx0O2lmIGRlZiAkcGxheWVyQ2x1ZXMmZ3Q7Jmd0OwoJCQkJCQkkcGxheWVyQ2x1ZXMubGVuZ3RoCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJMAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvc3BhbiZndDsKCQkJCUNsdWVzIGZvdW5kCgkJCSZsdDsvZGl2Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1maWxlLXRvdGFsJnF1b3Q7Jmd0OwoJCQkJJmx0O3NwYW4mZ3Q7CgkJCQkJJmx0OyZsdDtpZiBkZWYgJHNoYXJlZENsdWVzJmd0OyZndDsKCQkJCQkJJHNoYXJlZENsdWVzLmxlbmd0aAoJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCTAKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L3NwYW4mZ3Q7CgkJCQlDbHVlcyBzaGFyZWQKCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWZpbGUtdG90YWwmcXVvdDsmZ3Q7CgkJCQkmbHQ7c3BhbiZndDsKCQkJCQkmbHQ7Jmx0O2lmIGRlZiAkZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucyZndDsmZ3Q7CgkJCQkJCSRncm91cENvbmZpcm1lZENvbm5lY3Rpb25zLmxlbmd0aAoJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCTAKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L3NwYW4mZ3Q7CgkJCQlDb25uZWN0aW9ucyBtYWRlCgkJCSZsdDsvZGl2Jmd0OwoJCSZsdDsvZGl2Jmd0OwogICAgICAgIAogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1wcm9ncmVzcyZxdW90OyZndDsKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FzZS1wcm9ncmVzcy10aXRsZSZxdW90OyZndDsKCQlDYXNlIFByb2dyZXNzCgkmbHQ7L2RpdiZndDsKCgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtcHJvZ3Jlc3MtdHJhY2smcXVvdDsmZ3Q7CgkJJmx0OyZsdDtmb3IgX2Nhc2VDaGFwdGVyID0gMTsgX2Nhc2VDaGFwdGVyICZsdDs9IDY7IF9jYXNlQ2hhcHRlcisrJmd0OyZndDsKCQkJJmx0OyZsdDtpZiAkY2hhcHRlcjZDb21wbGV0ZSBvciBfY2FzZUNoYXB0ZXIgJmx0OyAkY2hhcHRlciZndDsmZ3Q7CgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtcHJvZ3Jlc3Mtc3RlcCBpcy1jb21wbGV0ZSZxdW90OyZndDsKCQkJCQlDaGFwdGVyICZsdDsmbHQ7PSBfY2FzZUNoYXB0ZXImZ3Q7Jmd0OwoJCQkJCSZsdDtzcGFuJmd0O0NvbXBsZXRlJmx0Oy9zcGFuJmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7Jmx0O2Vsc2VpZiBfY2FzZUNoYXB0ZXIgaXMgJGNoYXB0ZXImZ3Q7Jmd0OwoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLXByb2dyZXNzLXN0ZXAgaXMtY3VycmVudCZxdW90OyZndDsKCQkJCQlDaGFwdGVyICZsdDsmbHQ7PSBfY2FzZUNoYXB0ZXImZ3Q7Jmd0OwoJCQkJCSZsdDtzcGFuJmd0O0N1cnJlbnQmbHQ7L3NwYW4mZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCgkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhc2UtcHJvZ3Jlc3Mtc3RlcCBpcy1sb2NrZWQmcXVvdDsmZ3Q7CgkJCQkJQ2hhcHRlciAmbHQ7Jmx0Oz0gX2Nhc2VDaGFwdGVyJmd0OyZndDsKCQkJCQkmbHQ7c3BhbiZndDtXYWl0aW5nJmx0Oy9zcGFuJmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYXNlLXByb2dyZXNzLXN1bW1hcnkmcXVvdDsmZ3Q7CgkJJmx0OyZsdDtpZiAkY2hhcHRlcjZDb21wbGV0ZSZndDsmZ3Q7CgkJCUVwaXNvZGUgT25lIGludmVzdGlnYXRpb24gY29tcGxldGUuCgkJJmx0OyZsdDtlbHNlaWYgJGNoYXB0ZXIgJmd0OyAwJmd0OyZndDsKCQkJQ3VycmVudGx5IGludmVzdGlnYXRpbmcgQ2hhcHRlciAkY2hhcHRlciBvZiA2LgoJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCVRoZSBpbnZlc3RpZ2F0aW9uIGhhcyBub3QgYmVndW4uCgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXJldHVybiZxdW90OyZndDsKCQkmbHQ7Jmx0O2lmIGRlZiAkYm1SZXR1cm5QYXNzYWdlIGFuZCBTdG9yeS5oYXMoJGJtUmV0dXJuUGFzc2FnZSkmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHRvIHRoZSBTdG9yeSZxdW90OyZndDsmZ3Q7CgkJCQkmbHQ7Jmx0O2dvdG8gJGJtUmV0dXJuUGFzc2FnZSZndDsmZ3Q7CgkJCSZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCVtbUmV0dXJuIHRvIHRoZSBUaXRsZSBTY3JlZW4tJmd0O1N0YXJ0XV0KCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbT3BlbiBDYXNlIEZpbGUgMi4wLSZndDtDYXNlRmlsZTJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjgyIiBuYW1lPSJNeXN0ZXJ5IEtpdCAtIENsdWUgQm9hcmQiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyNzUsMTc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZSBibS1jbHVlLWJvYXJkLXBhZ2UmcXVvdDsmZ3Q7CiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZS1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWtpY2tlciZxdW90OyZndDtCcmVja2VucmlkZ2UgTXlzdGVyeSBLaXQmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7aDEmZ3Q7Q2x1ZSBCb2FyZCZsdDsvaDEmZ3Q7CiAgICAgICAgJmx0O3AmZ3Q7RXZlcnkgc3RyYW5nZSBkZXRhaWwgZGVzZXJ2ZXMgYSBwbGFjZSBvbiB0aGUgYm9hcmQuJmx0Oy9wJmd0OwogICAgJmx0Oy9kaXYmZ3Q7CgogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jbHVlLXN1bW1hcnkmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jbHVlLXN1bW1hcnktaXRlbSZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkcGxheWVyQ2x1ZXMmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICRwbGF5ZXJDbHVlcy5sZW5ndGgKICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgIENsdWVzIEZvdW5kCiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2x1ZS1zdW1tYXJ5LWl0ZW0mcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGdyb3VwU2hhcmVkRXZpZGVuY2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICRncm91cFNoYXJlZEV2aWRlbmNlLmxlbmd0aAogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgU2hhcmVkIENsdWVzCiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2x1ZS1zdW1tYXJ5LWl0ZW0mcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICRncm91cENvbmZpcm1lZENvbm5lY3Rpb25zLmxlbmd0aAogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgQ29ubmVjdGlvbnMKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDsmbHQ7aWYgZGVmICRwbGF5ZXJDbHVlcyBhbmQgJHBsYXllckNsdWVzLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwogICAgICAgICZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O2JtLWxhdGVzdC1jbHVlJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxhdGVzdC1jbHVlLWxhYmVsJnF1b3Q7Jmd0O0xhdGVzdCBEaXNjb3ZlcnkmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1sYXRlc3QtY2x1ZS10ZXh0JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDs9ICRwbGF5ZXJDbHVlc1skcGxheWVyQ2x1ZXMubGVuZ3RoIC0gMV0mZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7L3NlY3Rpb24mZ3Q7CiAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jbHVlLWJvYXJkJnF1b3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7aWYgZGVmICRwbGF5ZXJDbHVlcyBhbmQgJHBsYXllckNsdWVzLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNsdWUtYm9hcmQtY291bnQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICBDb2xsZWN0ZWQgRXZpZGVuY2UKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNsdWUtY2FyZC1ncmlkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtmb3IgX2NsdWVJbmRleCA9IDA7IF9jbHVlSW5kZXggJmx0OyAkcGxheWVyQ2x1ZXMubGVuZ3RoOyBfY2x1ZUluZGV4KysmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNsdWUtY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jbHVlLXBpbiZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNsdWUtbnVtYmVyJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2x1ZSAmbHQ7Jmx0Oz0gX2NsdWVJbmRleCArIDEmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jbHVlLXRleHQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oz0gJHBsYXllckNsdWVzW19jbHVlSW5kZXhdJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDsvZm9yJmd0OyZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLWVtcHR5JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLWVtcHR5LXN5bWJvbCZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtzdHJvbmcmZ3Q7Tm8gY2x1ZXMgaGF2ZSBiZWVuIGNvbGxlY3RlZCB5ZXQuJmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDsKICAgICAgICAgICAgICAgICAgICBJbnZlc3RpZ2F0ZSBjYXJlZnVsbHkuIFRoZSBmaXJzdCBjbHVlIG1heSBiZSBoaWRpbmcKICAgICAgICAgICAgICAgICAgICBpbiBhbiBvcmRpbmFyeSBwbGFjZS4KICAgICAgICAgICAgICAgICZsdDsvcCZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkZ3JvdXBTaGFyZWRFdmlkZW5jZSBhbmQgJGdyb3VwU2hhcmVkRXZpZGVuY2UubGVuZ3RoICZndDsgMCZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O2JtLXNoYXJlZC1ldmlkZW5jZS1zZWN0aW9uJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O1NoYXJlZCBFdmlkZW5jZSZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCBjbGFzcz0mcXVvdDtibS1ib2FyZC1zZWN0aW9uLW5vdGUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgVGhlc2UgY2x1ZXMgaGF2ZSBiZWVuIGJyb3VnaHQgdG8gdGhlIGdyb3VwLgogICAgICAgICAgICAgICAgJmx0Oy9wJmd0OwoKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc2hhcmVkLWV2aWRlbmNlLWxpc3QmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtmb3IgX3NoYXJlZEluZGV4ID0gMDsgX3NoYXJlZEluZGV4ICZsdDsgJGdyb3VwU2hhcmVkRXZpZGVuY2UubGVuZ3RoOyBfc2hhcmVkSW5kZXgrKyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tc2hhcmVkLWV2aWRlbmNlLWNhcmQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OysmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oz0gJGdyb3VwU2hhcmVkRXZpZGVuY2VbX3NoYXJlZEluZGV4XSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2ZvciZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9zZWN0aW9uJmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMgYW5kICRncm91cENvbmZpcm1lZENvbm5lY3Rpb25zLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDtibS1jb25uZWN0aW9ucy1zZWN0aW9uJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O0NvbmZpcm1lZCBDb25uZWN0aW9ucyZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCBjbGFzcz0mcXVvdDtibS1ib2FyZC1zZWN0aW9uLW5vdGUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgVGhlc2UgcGllY2VzIG9mIGV2aWRlbmNlIGFyZSBub3cga25vd24gdG8gYmUgbGlua2VkLgogICAgICAgICAgICAgICAgJmx0Oy9wJmd0OwoKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY29ubmVjdGlvbi1saXN0JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Zm9yIF9jb25uZWN0aW9uSW5kZXggPSAwOyBfY29ubmVjdGlvbkluZGV4ICZsdDsgJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMubGVuZ3RoOyBfY29ubmVjdGlvbkluZGV4KysmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNvbm5lY3Rpb24tY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7KiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7PSAkZ3JvdXBDb25maXJtZWRDb25uZWN0aW9uc1tfY29ubmVjdGlvbkluZGV4XSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2ZvciZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9zZWN0aW9uJmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1yZXR1cm4mcXVvdDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGJtUmV0dXJuUGFzc2FnZSBhbmQgU3RvcnkuaGFzKCRibVJldHVyblBhc3NhZ2UpJmd0OyZndDsKICAgICAgICAgICAgJmx0OyZsdDtsaW5rICZxdW90O1JldHVybiB0byB0aGUgU3RvcnkmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtnb3RvICRibVJldHVyblBhc3NhZ2UmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICBbW1JldHVybiB0byB0aGUgVGl0bGUgU2NyZWVuLSZndDtTdGFydF1dCiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9ub2JyJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyODMiIG5hbWU9Ik15c3RlcnkgS2l0IC0gTm90ZWJvb2siIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI4MDAsNjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O25vYnImZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZSBibS1ub3RlYm9vay1wYWdlJnF1b3Q7Jmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2UtaGVhZGluZyZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZS1raWNrZXImcXVvdDsmZ3Q7QnJlY2tlbnJpZGdlIE15c3RlcnkgS2l0Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0O2gxJmd0O0ludmVzdGlnYXRvciYjMzk7cyBOb3RlYm9vayZsdDsvaDEmZ3Q7CiAgICAgICAgJmx0O3AmZ3Q7Tm90ZXMsIG9ic2VydmF0aW9ucywgYW5kIGRldGFpbHMgd29ydGggcmVtZW1iZXJpbmcuJmx0Oy9wJmd0OwogICAgJmx0Oy9kaXYmZ3Q7CgogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1zdW1tYXJ5JnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbm90ZWJvb2stc3VtbWFyeS1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgZGVmICRwb3YgYW5kICRwb3YmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICRwb3YKICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgR3JvdXAKICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICBDdXJyZW50IEZpbGUKICAgICAgICAmbHQ7L2RpdiZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1zdW1tYXJ5LWNhcmQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtpZiBkZWYgJHBsYXllckNsdWVzJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAkcGxheWVyQ2x1ZXMubGVuZ3RoCiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAgICAgJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICBDbHVlcyBSZWNvcmRlZAogICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLW5vdGVib29rLXN1bW1hcnktY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkc2hhcmVkQ2x1ZXMmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICRzaGFyZWRDbHVlcy5sZW5ndGgKICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgIENsdWVzIFNoYXJlZAogICAgICAgICZsdDsvZGl2Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CgogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1zaGVldCZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLW5vdGVib29rLWhvbGVzJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0OyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0OyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0Oy9zcGFuJmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1zZWN0aW9uJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7aDImZ3Q7UGVyc29uYWwgTm90ZXMmbHQ7L2gyJmd0OwoKICAgICAgICAgICAgJmx0OyZsdDtpZiAkcG92IGlzICZxdW90O0tldmluJnF1b3Q7IGFuZCBkZWYgJGtub3dsZWRnZS5LZXZpbiBhbmQgJGtub3dsZWRnZS5LZXZpbi5sZW5ndGggJmd0OyAwJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDtvbCBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1saXN0JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Zm9yIF9ub3RlSW5kZXggPSAwOyBfbm90ZUluZGV4ICZsdDsgJGtub3dsZWRnZS5LZXZpbi5sZW5ndGg7IF9ub3RlSW5kZXgrKyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtsaSZndDsmbHQ7Jmx0Oz0gJGtub3dsZWRnZS5LZXZpbltfbm90ZUluZGV4XSZndDsmZ3Q7Jmx0Oy9saSZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0Oy9vbCZndDsKCiAgICAgICAgICAgICZsdDsmbHQ7ZWxzZWlmICRwb3YgaXMgJnF1b3Q7UnlhbiZxdW90OyBhbmQgZGVmICRrbm93bGVkZ2UuUnlhbiBhbmQgJGtub3dsZWRnZS5SeWFuLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O29sIGNsYXNzPSZxdW90O2JtLW5vdGVib29rLWxpc3QmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtmb3IgX25vdGVJbmRleCA9IDA7IF9ub3RlSW5kZXggJmx0OyAka25vd2xlZGdlLlJ5YW4ubGVuZ3RoOyBfbm90ZUluZGV4KysmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7bGkmZ3Q7Jmx0OyZsdDs9ICRrbm93bGVkZ2UuUnlhbltfbm90ZUluZGV4XSZndDsmZ3Q7Jmx0Oy9saSZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0Oy9vbCZndDsKCiAgICAgICAgICAgICZsdDsmbHQ7ZWxzZWlmICRwb3YgaXMgJnF1b3Q7S2ltbXkmcXVvdDsgYW5kIGRlZiAka25vd2xlZGdlLktpbW15IGFuZCAka25vd2xlZGdlLktpbW15Lmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O29sIGNsYXNzPSZxdW90O2JtLW5vdGVib29rLWxpc3QmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtmb3IgX25vdGVJbmRleCA9IDA7IF9ub3RlSW5kZXggJmx0OyAka25vd2xlZGdlLktpbW15Lmxlbmd0aDsgX25vdGVJbmRleCsrJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2xpJmd0OyZsdDsmbHQ7PSAka25vd2xlZGdlLktpbW15W19ub3RlSW5kZXhdJmd0OyZndDsmbHQ7L2xpJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2ZvciZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L29sJmd0OwoKICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJHBvdiBpcyAmcXVvdDtTY29vdCZxdW90OyBhbmQgZGVmICRzY29vdE5vdGVib29rRW50cmllcyBhbmQgJHNjb290Tm90ZWJvb2tFbnRyaWVzLmxlbmd0aCAmZ3Q7IDAmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O29sIGNsYXNzPSZxdW90O2JtLW5vdGVib29rLWxpc3QmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtmb3IgX25vdGVJbmRleCA9IDA7IF9ub3RlSW5kZXggJmx0OyAkc2Nvb3ROb3RlYm9va0VudHJpZXMubGVuZ3RoOyBfbm90ZUluZGV4KysmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7bGkmZ3Q7Jmx0OyZsdDs9ICRzY29vdE5vdGVib29rRW50cmllc1tfbm90ZUluZGV4XSZndDsmZ3Q7Jmx0Oy9saSZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0Oy9vbCZndDsKCiAgICAgICAgICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAkcGxheWVyQ2x1ZXMgYW5kICRwbGF5ZXJDbHVlcy5sZW5ndGggJmd0OyAwJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDtvbCBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1saXN0JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Zm9yIF9ub3RlSW5kZXggPSAwOyBfbm90ZUluZGV4ICZsdDsgJHBsYXllckNsdWVzLmxlbmd0aDsgX25vdGVJbmRleCsrJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2xpJmd0OyZsdDsmbHQ7PSAkcGxheWVyQ2x1ZXNbX25vdGVJbmRleF0mZ3Q7Jmd0OyZsdDsvbGkmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvZm9yJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsvb2wmZ3Q7CgogICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1lbXB0eSZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICBOb3RoaW5nIGhhcyBiZWVuIHdyaXR0ZW4gZG93biB5ZXQuCiAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICZsdDsvc2VjdGlvbiZndDsKCiAgICAgICAgJmx0OyZsdDtpZiBkZWYgJHNoYXJlZENsdWVzIGFuZCAkc2hhcmVkQ2x1ZXMubGVuZ3RoICZndDsgMCZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O2JtLW5vdGVib29rLXNlY3Rpb24gYm0tbm90ZWJvb2stc2hhcmVkLXNlY3Rpb24mcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDImZ3Q7U2hhcmVkIENsdWVzJmx0Oy9oMiZndDsKICAgICAgICAgICAgICAgICZsdDtwIGNsYXNzPSZxdW90O2JtLW5vdGVib29rLXNlY3Rpb24tbm90ZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICBJbmZvcm1hdGlvbiB0aGF0IGhhcyBiZWVuIHNoYXJlZCBiZXR3ZWVuIGludmVzdGlnYXRvcnMuCiAgICAgICAgICAgICAgICAmbHQ7L3AmZ3Q7CgogICAgICAgICAgICAgICAgJmx0O29sIGNsYXNzPSZxdW90O2JtLW5vdGVib29rLWxpc3QmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtmb3IgX3NoYXJlZEluZGV4ID0gMDsgX3NoYXJlZEluZGV4ICZsdDsgJHNoYXJlZENsdWVzLmxlbmd0aDsgX3NoYXJlZEluZGV4KysmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7bGkmZ3Q7Jmx0OyZsdDs9ICRzaGFyZWRDbHVlc1tfc2hhcmVkSW5kZXhdJmd0OyZndDsmbHQ7L2xpJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2ZvciZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L29sJmd0OwogICAgICAgICAgICAmbHQ7L3NlY3Rpb24mZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucyBhbmQgJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMubGVuZ3RoICZndDsgMCZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O2JtLW5vdGVib29rLXNlY3Rpb24gYm0tbm90ZWJvb2stY29ubmVjdGlvbnMtc2VjdGlvbiZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtDb25uZWN0aW9ucyZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCBjbGFzcz0mcXVvdDtibS1ub3RlYm9vay1zZWN0aW9uLW5vdGUmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgQ29uY2x1c2lvbnMgc3VwcG9ydGVkIGJ5IG1vcmUgdGhhbiBvbmUgcGllY2Ugb2YgZXZpZGVuY2UuCiAgICAgICAgICAgICAgICAmbHQ7L3AmZ3Q7CgogICAgICAgICAgICAgICAgJmx0O29sIGNsYXNzPSZxdW90O2JtLW5vdGVib29rLWxpc3QmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtmb3IgX2Nvbm5lY3Rpb25JbmRleCA9IDA7IF9jb25uZWN0aW9uSW5kZXggJmx0OyAkZ3JvdXBDb25maXJtZWRDb25uZWN0aW9ucy5sZW5ndGg7IF9jb25uZWN0aW9uSW5kZXgrKyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtsaSZndDsmbHQ7Jmx0Oz0gJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnNbX2Nvbm5lY3Rpb25JbmRleF0mZ3Q7Jmd0OyZsdDsvbGkmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDsvZm9yJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsvb2wmZ3Q7CiAgICAgICAgICAgICZsdDsvc2VjdGlvbiZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKCiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcmV0dXJuJnF1b3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7aWYgZGVmICRibVJldHVyblBhc3NhZ2UgYW5kIFN0b3J5LmhhcygkYm1SZXR1cm5QYXNzYWdlKSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gdG8gdGhlIFN0b3J5JnF1b3Q7Jmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7Z290byAkYm1SZXR1cm5QYXNzYWdlJmd0OyZndDsKICAgICAgICAgICAgJmx0OyZsdDsvbGluayZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgW1tSZXR1cm4gdG8gdGhlIFRpdGxlIFNjcmVlbi0mZ3Q7U3RhcnRdXQogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKJmx0OyZsdDsvbm9iciZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjg0IiBuYW1lPSJNeXN0ZXJ5IEtpdCAtIFRvd24gTWFwIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iOTUwLDQ3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2UgYm0tbWFwLXBhZ2UmcXVvdDsmZ3Q7CiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZS1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWtpY2tlciZxdW90OyZndDtCcmVja2VucmlkZ2UgTXlzdGVyeSBLaXQmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7aDEmZ3Q7VG93biBNYXAmbHQ7L2gxJmd0OwogICAgICAgICZsdDtwJmd0O0xvY2F0aW9ucyBhcHBlYXIgYXMgdGhlIGludmVzdGlnYXRpb24gcmVhY2hlcyB0aGVtLiZsdDsvcCZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbWFwLXN1bW1hcnkmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1tYXAtc3VtbWFyeS1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgJGNoYXB0ZXIgJmd0Oz0gNiZndDsmZ3Q7NQogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJGNoYXB0ZXIgJmd0Oz0gNSZndDsmZ3Q7NAogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJGNoYXB0ZXIgJmd0Oz0gNCZndDsmZ3Q7MwogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJGNoYXB0ZXIgJmd0Oz0gMiZndDsmZ3Q7MgogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlaWYgJGNoYXB0ZXIgJmd0Oz0gMSZndDsmZ3Q7MQogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDswCiAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsvc3BhbiZndDsKICAgICAgICAgICAgTG9jYXRpb25zIEZvdW5kCiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbWFwLXN1bW1hcnktY2FyZCBibS1tYXAtc3VtbWFyeS1jdXJyZW50JnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgJGxvY2F0aW9uJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAkbG9jYXRpb24KICAgICAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgTm90IHlldCBrbm93bgogICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgIEN1cnJlbnQgTG9jYXRpb24KICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LW1hcCZxdW90OyBhcmlhLWxhYmVsPSZxdW90O01hcCBvZiBkaXNjb3ZlcmVkIEJyZWNrZW5yaWRnZSBsb2NhdGlvbnMmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1tYXAtcGF0aCBibS1tYXAtcGF0aC1tYWluJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1tYXAtcGF0aCBibS1tYXAtcGF0aC1zY2hvb2wmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLW1hcC1wYXRoIGJtLW1hcC1wYXRoLXdvb2RzJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgJGNoYXB0ZXIgJmd0Oz0gMSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLWhvdXNlJmx0OyZsdDtpZiBTdHJpbmcoJGxvY2F0aW9uKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCYjMzk7d2luY2hlc3RlciBob3VzZSYjMzk7KSBvciBTdHJpbmcoJGxvY2F0aW9uKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCYjMzk7a2l0Y2hlbiYjMzk7KSBvciBTdHJpbmcoJGxvY2F0aW9uKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCYjMzk7c3RhaXJjYXNlJiMzOTspJmd0OyZndDsgaXMtY3VycmVudCZsdDsmbHQ7L2lmJmd0OyZndDsmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLW1hcmtlciZxdW90OyZndDsxJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLWNhcmQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3N0cm9uZyZndDtXaW5jaGVzdGVyIEhvdXNlJmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7VGhlIG15c3RlcnkgYmVnaW5zIGhlcmUuJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLWhvdXNlIGlzLWxvY2tlZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tbWFya2VyJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3Ryb25nJmd0O1Vua25vd24gTG9jYXRpb24mbHQ7L3N0cm9uZyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiZndDtOb3QgeWV0IGRpc2NvdmVyZWQuJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgJmx0OyZsdDtpZiAkY2hhcHRlciAmZ3Q7PSAyJmd0OyZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1kaXNjb3ZlcnktbG9jYXRpb24gYm0tbG9jYXRpb24tZWxlbWVudGFyeSZsdDsmbHQ7aWYgU3RyaW5nKCRsb2NhdGlvbikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygmIzM5O2VsZW1lbnRhcnkmIzM5OykmZ3Q7Jmd0OyBpcy1jdXJyZW50Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tbWFya2VyJnF1b3Q7Jmd0OzImbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3Ryb25nJmd0O0VsZW1lbnRhcnkgU2Nob29sJmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7QWJiaWUmIzM5O3MgZGVzdGluYXRpb24gdGhhdCBtb3JuaW5nLiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWRpc2NvdmVyeS1sb2NhdGlvbiBibS1sb2NhdGlvbi1lbGVtZW50YXJ5IGlzLWxvY2tlZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tbWFya2VyJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3Ryb25nJmd0O1VuZGlzY292ZXJlZCZsdDsvc3Ryb25nJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzcGFuJmd0O0NvbnRpbnVlIHRoZSBpbnZlc3RpZ2F0aW9uLiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgJGNoYXB0ZXIgJmd0Oz0gNCZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLW1pZGRsZSZsdDsmbHQ7aWYgU3RyaW5nKCRsb2NhdGlvbikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygmIzM5O21pZGRsZSBzY2hvb2wmIzM5Oykgb3IgU3RyaW5nKCRsb2NhdGlvbikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygmIzM5O21haW4gaGFsbHdheSYjMzk7KSZndDsmZ3Q7IGlzLWN1cnJlbnQmbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1sb2NhdGlvbi1tYXJrZXImcXVvdDsmZ3Q7MyZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1sb2NhdGlvbi1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzdHJvbmcmZ3Q7TWlkZGxlIFNjaG9vbCZsdDsvc3Ryb25nJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzcGFuJmd0O1NldmVyYWwgbXlzdGVyaWVzIGJlZ2luIHRvIG92ZXJsYXAuJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLW1pZGRsZSBpcy1sb2NrZWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLW1hcmtlciZxdW90OyZndDs/Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLWNhcmQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3N0cm9uZyZndDtVbmRpc2NvdmVyZWQmbHQ7L3N0cm9uZyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiZndDtDb250aW51ZSB0aGUgaW52ZXN0aWdhdGlvbi4mbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICAgICAmbHQ7Jmx0O2lmICRjaGFwdGVyICZndDs9IDUmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWRpc2NvdmVyeS1sb2NhdGlvbiBibS1sb2NhdGlvbi1wYXNzYWdlJmx0OyZsdDtpZiBTdHJpbmcoJGxvY2F0aW9uKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCYjMzk7ZWFzdCBoYWxsJiMzOTspIG9yIFN0cmluZygkbG9jYXRpb24pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJiMzOTtoaWRkZW4gcGFzc2FnZSYjMzk7KSBvciBTdHJpbmcoJGxvY2F0aW9uKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCYjMzk7c2VhbGVkIHBhc3NhZ2UmIzM5OykmZ3Q7Jmd0OyBpcy1jdXJyZW50Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tbWFya2VyJnF1b3Q7Jmd0OzQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3Ryb25nJmd0O1NlYWxlZCBFYXN0IEhhbGwmbHQ7L3N0cm9uZyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiZndDtBIHBsYWNlIG1pc3NpbmcgZnJvbSBtb2Rlcm4gcGxhbnMuJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLXBhc3NhZ2UgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1sb2NhdGlvbi1tYXJrZXImcXVvdDsmZ3Q7PyZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1sb2NhdGlvbi1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzdHJvbmcmZ3Q7VW5kaXNjb3ZlcmVkJmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Q29udGludWUgdGhlIGludmVzdGlnYXRpb24uJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgJmx0OyZsdDtpZiAkY2hhcHRlciAmZ3Q7PSA2Jmd0OyZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1kaXNjb3ZlcnktbG9jYXRpb24gYm0tbG9jYXRpb24tb2xkLXRvd24mbHQ7Jmx0O2lmIFN0cmluZygkbG9jYXRpb24pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJiMzOTsxNjc4JiMzOTspIG9yIFN0cmluZygkbG9jYXRpb24pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJiMzOTtvbGQgYnJlY2tlbnJpZGdlJiMzOTspJmd0OyZndDsgaXMtY3VycmVudCZsdDsmbHQ7L2lmJmd0OyZndDsmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLW1hcmtlciZxdW90OyZndDs1Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWxvY2F0aW9uLWNhcmQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3N0cm9uZyZndDtCcmVja2VucmlkZ2UsIDE2NzgmbHQ7L3N0cm9uZyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3BhbiZndDtBIHJlZmxlY3Rpb24gb2YgdGhlIHRvd24mIzM5O3MgaGlkZGVuIHBhc3QuJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tZGlzY292ZXJ5LWxvY2F0aW9uIGJtLWxvY2F0aW9uLW9sZC10b3duIGlzLWxvY2tlZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tbWFya2VyJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbG9jYXRpb24tY2FyZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7c3Ryb25nJmd0O1Vua25vd24gVGltZSZsdDsvc3Ryb25nJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtzcGFuJmd0O1RoZSBwYXN0IHJlbWFpbnMgaGlkZGVuLiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tbWFwLWxlZ2VuZCZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0O2kgY2xhc3M9JnF1b3Q7Ym0tbGVnZW5kLWZvdW5kJnF1b3Q7Jmd0OyZsdDsvaSZndDsgRGlzY292ZXJlZCZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0O2kgY2xhc3M9JnF1b3Q7Ym0tbGVnZW5kLWN1cnJlbnQmcXVvdDsmZ3Q7Jmx0Oy9pJmd0OyBDdXJyZW50Jmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7aSBjbGFzcz0mcXVvdDtibS1sZWdlbmQtbG9ja2VkJnF1b3Q7Jmd0OyZsdDsvaSZndDsgVW5rbm93biZsdDsvc3BhbiZndDsKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1yZXR1cm4mcXVvdDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtpZiBkZWYgJGJtUmV0dXJuUGFzc2FnZSBhbmQgU3RvcnkuaGFzKCRibVJldHVyblBhc3NhZ2UpJmd0OyZndDsKICAgICAgICAgICAgJmx0OyZsdDtsaW5rICZxdW90O1JldHVybiB0byB0aGUgU3RvcnkmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtnb3RvICRibVJldHVyblBhc3NhZ2UmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICBbW1JldHVybiB0byB0aGUgVGl0bGUgU2NyZWVuLSZndDtTdGFydF1dCiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9ub2JyJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyODUiIG5hbWU9Ik15c3RlcnkgS2l0IC0gUGVvcGxlIiB0YWdzPSJiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMTUwLDU3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtub2JyJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2UgYm0tcGVvcGxlLXBhZ2UmcXVvdDsmZ3Q7CgkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZS1oZWFkaW5nJnF1b3Q7Jmd0OwoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWtpY2tlciZxdW90OyZndDtCcmVja2VucmlkZ2UgTXlzdGVyeSBLaXQmbHQ7L2RpdiZndDsKCQkmbHQ7aDEmZ3Q7SW52ZXN0aWdhdG9yIEZpbGVzJmx0Oy9oMSZndDsKCQkmbHQ7cCZndDsKCQkJRWFjaCBpbnZlc3RpZ2F0b3IgaGFzIGRpc2NvdmVyZWQgYSBkaWZmZXJlbnQgcGllY2Ugb2YgdGhlIG15c3RlcnkuCgkJJmx0Oy9wJmd0OwoJJmx0Oy9kaXYmZ3Q7CgoJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZW9wbGUtZ3JpZCZxdW90OyZndDsKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi1jYXJkIGJtLXBlcnNvbi1rZXZpbiZxdW90OyZndDsKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24taW5pdGlhbCZxdW90OyZndDtLJmx0Oy9kaXYmZ3Q7CgoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi1pbmZvcm1hdGlvbiZxdW90OyZndDsKCQkJCSZsdDtoMiZndDtLZXZpbiBXaW5jaGVzdGVyJmx0Oy9oMiZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLXRvb2wmcXVvdDsmZ3Q7UGF0dGVybiBDYXJkcyZsdDsvZGl2Jmd0OwoKCQkJCSZsdDtwJmd0OwoJCQkJCUxvb2tzIGZvciBjb25uZWN0aW9ucyBiZXR3ZWVuIGV2ZW50cyB0aGF0IHNob3VsZCBub3QKCQkJCQltYWtlIHNlbnNlIHRvZ2V0aGVyLgoJCQkJJmx0Oy9wJmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLXN0YXR1cyZxdW90OyZndDsKCQkJCQkmbHQ7c3Ryb25nJmd0O1RoaW5ncyBLZXZpbiBrbm93czombHQ7L3N0cm9uZyZndDsKCQkJCQkmbHQ7Jmx0O2lmIGRlZiAka25vd2xlZGdlIGFuZCBkZWYgJGtub3dsZWRnZS5LZXZpbiZndDsmZ3Q7CgkJCQkJCSRrbm93bGVkZ2UuS2V2aW4ubGVuZ3RoCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJMAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLXN0YXR1cyZxdW90OyZndDsKCQkJCQkmbHQ7c3Ryb25nJmd0O1BhdHRlcm5zIG5vdGljZWQ6Jmx0Oy9zdHJvbmcmZ3Q7CgkJCQkJJmx0OyZsdDtpZiBkZWYgJHBhdHRlcm5Db3VudCZndDsmZ3Q7CgkJCQkJCSRwYXR0ZXJuQ291bnQKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgkJCSZsdDsvZGl2Jmd0OwoJCSZsdDsvZGl2Jmd0OwoKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi1jYXJkIGJtLXBlcnNvbi1yeWFuJnF1b3Q7Jmd0OwoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi1pbml0aWFsJnF1b3Q7Jmd0O1ImbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLWluZm9ybWF0aW9uJnF1b3Q7Jmd0OwoJCQkJJmx0O2gyJmd0O1J5YW4gR3J1YmxlciZsdDsvaDImZ3Q7CgkJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi10b29sJnF1b3Q7Jmd0O1NhZmV0eSBGaWxlJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O3AmZ3Q7CgkJCQkJUmVjb3JkcyB0aHJlYXRzLCBydWxlcywgYm91bmRhcmllcywgYW5kIGFueXRoaW5nCgkJCQkJdGhhdCBtYXkgcmVxdWlyZSBhIGJldHRlciBwbGFuLgoJCQkJJmx0Oy9wJmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLXN0YXR1cyZxdW90OyZndDsKCQkJCQkmbHQ7c3Ryb25nJmd0O1RoaW5ncyBSeWFuIGtub3dzOiZsdDsvc3Ryb25nJmd0OwoJCQkJCSZsdDsmbHQ7aWYgZGVmICRrbm93bGVkZ2UgYW5kIGRlZiAka25vd2xlZGdlLlJ5YW4mZ3Q7Jmd0OwoJCQkJCQkka25vd2xlZGdlLlJ5YW4ubGVuZ3RoCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJMAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLXN0YXR1cyZxdW90OyZndDsKCQkJCQkmbHQ7c3Ryb25nJmd0O1RocmVhdHMgaWRlbnRpZmllZDombHQ7L3N0cm9uZyZndDsKCQkJCQkmbHQ7Jmx0O2lmIGRlZiAkcnlhblRocmVhdHMmZ3Q7Jmd0OwoJCQkJCQkkcnlhblRocmVhdHMubGVuZ3RoCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJMAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLXN0YXR1cyZxdW90OyZndDsKCQkJCQkmbHQ7c3Ryb25nJmd0O1J1bGVzIGlkZW50aWZpZWQ6Jmx0Oy9zdHJvbmcmZ3Q7CgkJCQkJJmx0OyZsdDtpZiBkZWYgJHJ5YW5SdWxlcyZndDsmZ3Q7CgkJCQkJCSRyeWFuUnVsZXMubGVuZ3RoCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJMAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoJCQkmbHQ7L2RpdiZndDsKCQkmbHQ7L2RpdiZndDsKCgkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tY2FyZCBibS1wZXJzb24ta2ltbXkmcXVvdDsmZ3Q7CgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLWluaXRpYWwmcXVvdDsmZ3Q7SyZsdDsvZGl2Jmd0OwoKCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24taW5mb3JtYXRpb24mcXVvdDsmZ3Q7CgkJCQkmbHQ7aDImZ3Q7S2ltbXkgV2hpdG1vcmUmbHQ7L2gyJmd0OwoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tdG9vbCZxdW90OyZndDtJbnZlc3RpZ2F0aW9uIEZpbGUmbHQ7L2RpdiZndDsKCgkJCQkmbHQ7cCZndDsKCQkJCQlGb2xsb3dzIGxlYWRzLCBjaGVja3MgcmVjb3JkcywgYW5kIHNlcGFyYXRlcwoJCQkJCXN1c3BpY2lvbiBmcm9tIGNvbmZpcm1lZCBmYWN0LgoJCQkJJmx0Oy9wJmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLXN0YXR1cyZxdW90OyZndDsKCQkJCQkmbHQ7c3Ryb25nJmd0O1RoaW5ncyBLaW1teSBrbm93czombHQ7L3N0cm9uZyZndDsKCQkJCQkmbHQ7Jmx0O2lmIGRlZiAka25vd2xlZGdlIGFuZCBkZWYgJGtub3dsZWRnZS5LaW1teSZndDsmZ3Q7CgkJCQkJCSRrbm93bGVkZ2UuS2ltbXkubGVuZ3RoCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJMAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLXN0YXR1cyZxdW90OyZndDsKCQkJCQkmbHQ7c3Ryb25nJmd0O0xlYWRzIGZvbGxvd2VkOiZsdDsvc3Ryb25nJmd0OwoJCQkJCSZsdDsmbHQ7aWYgZGVmICRraW1teUxlYWRzJmd0OyZndDsKCQkJCQkJJGtpbW15TGVhZHMubGVuZ3RoCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJMAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLXN0YXR1cyZxdW90OyZndDsKCQkJCQkmbHQ7c3Ryb25nJmd0O0ZhY3RzIGNvbmZpcm1lZDombHQ7L3N0cm9uZyZndDsKCQkJCQkmbHQ7Jmx0O2lmIGRlZiAka2ltbXlGYWN0cyZndDsmZ3Q7CgkJCQkJCSRraW1teUZhY3RzLmxlbmd0aAoJCQkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkJCTAKCQkJCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJCQkmbHQ7L2RpdiZndDsKCQkJJmx0Oy9kaXYmZ3Q7CgkJJmx0Oy9kaXYmZ3Q7CgoJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLWNhcmQgYm0tcGVyc29uLXNjb290JnF1b3Q7Jmd0OwoJCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlcnNvbi1pbml0aWFsJnF1b3Q7Jmd0O1MmbHQ7L2RpdiZndDsKCgkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLWluZm9ybWF0aW9uJnF1b3Q7Jmd0OwoJCQkJJmx0O2gyJmd0O1Njb3R0ICZxdW90O1Njb290JnF1b3Q7IFJleW5vbGRzJmx0Oy9oMiZndDsKCQkJCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tcGVyc29uLXRvb2wmcXVvdDsmZ3Q7UG9ja2V0IE5vdGVib29rJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O3AmZ3Q7CgkJCQkJV3JpdGVzIGRvd24gZGV0YWlscyB0aGF0IG1heSBjaGFuZ2UsIGRpc2FwcGVhciwKCQkJCQlvciByZWZ1c2UgdG8gc3RheSBmb3Jnb3R0ZW4uCgkJCQkmbHQ7L3AmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tc3RhdHVzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7VGhpbmdzIFNjb290IGtub3dzOiZsdDsvc3Ryb25nJmd0OwoJCQkJCSZsdDsmbHQ7aWYgZGVmICRrbm93bGVkZ2UgYW5kIGRlZiAka25vd2xlZGdlLlNjb290Jmd0OyZndDsKCQkJCQkJJGtub3dsZWRnZS5TY29vdC5sZW5ndGgKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tc3RhdHVzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb25zIHJlY29yZGVkOiZsdDsvc3Ryb25nJmd0OwoJCQkJCSZsdDsmbHQ7aWYgZGVmICRzY29vdE9ic2VydmF0aW9ucyZndDsmZ3Q7CgkJCQkJCSRzY29vdE9ic2VydmF0aW9ucy5sZW5ndGgKCQkJCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQkJCQkwCgkJCQkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJCQkJJmx0Oy9kaXYmZ3Q7CgoJCQkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZXJzb24tc3RhdHVzJnF1b3Q7Jmd0OwoJCQkJCSZsdDtzdHJvbmcmZ3Q7Tm90ZWJvb2sgZW50cmllczombHQ7L3N0cm9uZyZndDsKCQkJCQkmbHQ7Jmx0O2lmIGRlZiAkc2Nvb3ROb3RlYm9va0VudHJpZXMmZ3Q7Jmd0OwoJCQkJCQkkc2Nvb3ROb3RlYm9va0VudHJpZXMubGVuZ3RoCgkJCQkJJmx0OyZsdDtlbHNlJmd0OyZndDsKCQkJCQkJMAoJCQkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkJCSZsdDsvZGl2Jmd0OwoJCQkmbHQ7L2RpdiZndDsKCQkmbHQ7L2RpdiZndDsKCSZsdDsvZGl2Jmd0OwoKCSZsdDsmbHQ7aWYgZGVmICRncm91cFVuaXRlZCBhbmQgJGdyb3VwVW5pdGVkJmd0OyZndDsKCQkmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXBlb3BsZS1ub3RlJnF1b3Q7Jmd0OwoJCQkmbHQ7c3Ryb25nJmd0O1RoZSBpbnZlc3RpZ2F0b3JzIGFyZSBub3cgd29ya2luZyB0b2dldGhlci4mbHQ7L3N0cm9uZyZndDsKCgkJCSZsdDticiZndDsKCgkJCVNoYXJlZCBjbHVlczoKCQkJJmx0OyZsdDtpZiBkZWYgJGdyb3VwU2hhcmVkRXZpZGVuY2UmZ3Q7Jmd0OwoJCQkJJGdyb3VwU2hhcmVkRXZpZGVuY2UubGVuZ3RoCgkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkwCgkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCgkJCSZsdDticiZndDsKCgkJCUNvbmZpcm1lZCBjb25uZWN0aW9uczoKCQkJJmx0OyZsdDtpZiBkZWYgJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMmZ3Q7Jmd0OwoJCQkJJGdyb3VwQ29uZmlybWVkQ29ubmVjdGlvbnMubGVuZ3RoCgkJCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJCQkwCgkJCSZsdDsmbHQ7L2lmJmd0OyZndDsKCQkmbHQ7L2RpdiZndDsKCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1wZW9wbGUtbm90ZSZxdW90OyZndDsKCQkJVGhlIGludmVzdGlnYXRvcnMgaGF2ZSBub3QgeWV0IGJyb3VnaHQgYWxsIHRoZWlyIHNlcGFyYXRlCgkJCWRpc2NvdmVyaWVzIHRvZ2V0aGVyLgoJCSZsdDsvZGl2Jmd0OwoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKCSZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1yZXR1cm4mcXVvdDsmZ3Q7CgkJJmx0OyZsdDtpZiBkZWYgJGJtUmV0dXJuUGFzc2FnZSBhbmQgU3RvcnkuaGFzKCRibVJldHVyblBhc3NhZ2UpJmd0OyZndDsKCQkJJmx0OyZsdDtsaW5rICZxdW90O1JldHVybiB0byB0aGUgU3RvcnkmcXVvdDsmZ3Q7Jmd0OwoJCQkJJmx0OyZsdDtnb3RvICRibVJldHVyblBhc3NhZ2UmZ3Q7Jmd0OwoJCQkmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKCQkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCQlbW1JldHVybiB0byB0aGUgVGl0bGUgU2NyZWVuLSZndDtTdGFydF1dCgkJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoJJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9ub2JyJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI4NiIgbmFtZT0iTXlzdGVyeSBLaXQgLSBCYWRnZXMiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI0MDAsMTcwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAuc3luY0VwaXNvZGVPbmVCYWRnZXMoKSZndDsmZ3Q7CiZsdDsmbHQ7bm9iciZndDsmZ3Q7CiZsdDsmbHQ7c2V0IF9iYWRnZUNvdW50ID0gMCZndDsmZ3Q7CiZsdDsmbHQ7aWYgJHBhdHRlcm5Db3VudCAmZ3Q7PSA1Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYmFkZ2VDb3VudCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2JhZGdlQ291bnQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRub3RpY2VkUm9tYW5YSSBvciAkbm90aWNlZFJvbWFuSUkmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9iYWRnZUNvdW50ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBkZWYgJHJ5YW5SdWxlcyBhbmQgJHJ5YW5SdWxlcy5sZW5ndGggJmd0Oz0gMyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2JhZGdlQ291bnQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIGRlZiAka2ltbXlGYWN0cyBhbmQgJGtpbW15RmFjdHMubGVuZ3RoICZndDs9IDMmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9iYWRnZUNvdW50ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBkZWYgJHNjb290Tm90ZWJvb2tFbnRyaWVzIGFuZCAkc2Nvb3ROb3RlYm9va0VudHJpZXMubGVuZ3RoICZndDs9IDMmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9iYWRnZUNvdW50ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkZ3JvdXBVbml0ZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9iYWRnZUNvdW50ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkY2hhcHRlcjZDb21wbGV0ZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2JhZGdlQ291bnQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2UgYm0tYmFkZ2VzLXBhZ2UmcXVvdDsmZ3Q7CiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZS1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tdG9vbC1wYWdlLWtpY2tlciZxdW90OyZndDtCcmVja2VucmlkZ2UgTXlzdGVyeSBLaXQmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7aDEmZ3Q7TXlzdGVyeSBCYWRnZXMmbHQ7L2gxJmd0OwogICAgICAgICZsdDtwJmd0O1NwZWNpYWwgZGlzY292ZXJpZXMgYXJlIHJlbWVtYmVyZWQgaGVyZS4mbHQ7L3AmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKCiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXByb2dyZXNzJnF1b3Q7IHJvbGU9JnF1b3Q7c3RhdHVzJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7TXlzdGVyeSBiYWRnZSBwcm9ncmVzcyZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXByb2dyZXNzLWNvdW50JnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3Ryb25nJmd0OyZsdDsmbHQ7PSBfYmFkZ2VDb3VudCZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0O29mIDggYmFkZ2VzIGRpc2NvdmVyZWQmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtcHJvZ3Jlc3MtdHJhY2smcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1wcm9ncmVzcy1maWxsJnF1b3Q7IHN0eWxlPSZxdW90O3dpZHRoOiAmbHQ7Jmx0Oz0gKF9iYWRnZUNvdW50IC8gOCkgKiAxMDAmZ3Q7Jmd0OyU7JnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CgogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1ncmlkJnF1b3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7aWYgJHBhdHRlcm5Db3VudCAmZ3Q7PSA1Jmd0OyZndDsKICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtY2FyZCBpcy1lYXJuZWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXNlYWwgYm0tYmFkZ2UtYmx1ZSZxdW90OyZndDs1Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDImZ3Q7UGF0dGVybiBTZWVrZXImbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7Tm90aWNlIGF0IGxlYXN0IGZpdmUgdW5leHBsYWluZWQgZXZlbnRzLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtQYXR0ZXJuIFNlZWtlciZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtOb3RpY2UgbW9yZSB1bmV4cGxhaW5lZCBldmVudHMuJmx0Oy9wJmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zdGF0dXMmcXVvdDsmZ3Q7U3RpbGwgSGlkZGVuJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtZWFybmVkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsIGJtLWJhZGdlLWdvbGQmcXVvdDsmZ3Q7NiZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O1NpeC1QZXRhbGVkIFNlY3JldCZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtEaXNjb3ZlciBhIGhleGFmb2lsIG1hcmtpbmcuJmx0Oy9wJmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zdGF0dXMmcXVvdDsmZ3Q7RGlzY292ZXJlZCZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtY2FyZCBpcy1sb2NrZWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXNlYWwmcXVvdDsmZ3Q7PyZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O1NpeC1QZXRhbGVkIFNlY3JldCZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtGaW5kIGEgc3ltYm9sIGhpZGRlbiBpbiBhbiBvbGQgcGxhY2UuJmx0Oy9wJmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zdGF0dXMmcXVvdDsmZ3Q7U3RpbGwgSGlkZGVuJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgJG5vdGljZWRSb21hblhJIG9yICRub3RpY2VkUm9tYW5JSSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtZWFybmVkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsIGJtLWJhZGdlLXB1cnBsZSZxdW90OyZndDtYSSZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O1RoZSBOdW1iZXIgUmV0dXJucyZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtSZWNvZ25pemUgb25lIG9mIHRoZSBteXN0ZXJ5JiMzOTtzIFJvbWFuIG51bWVyYWxzLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtUaGUgTnVtYmVyIFJldHVybnMmbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7V2F0Y2ggZm9yIG51bWJlcnMgd2hlcmUgbnVtYmVycyBzaG91bGQgbm90IGJlLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O1N0aWxsIEhpZGRlbiZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkcnlhblJ1bGVzIGFuZCAkcnlhblJ1bGVzLmxlbmd0aCAmZ3Q7PSAzJmd0OyZndDsKICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtY2FyZCBpcy1lYXJuZWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXNlYWwgYm0tYmFkZ2UtZ3JlZW4mcXVvdDsmZ3Q7UiZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O1J1bGVzIE1hdHRlciZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtIZWxwIFJ5YW4gaWRlbnRpZnkgYXQgbGVhc3QgdGhyZWUgaW1wb3J0YW50IHJ1bGVzLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtSdWxlcyBNYXR0ZXImbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7SGVscCBSeWFuIHN0dWR5IGJvdW5kYXJpZXMgYW5kIHdhcm5pbmdzLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O1N0aWxsIEhpZGRlbiZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAka2ltbXlGYWN0cyBhbmQgJGtpbW15RmFjdHMubGVuZ3RoICZndDs9IDMmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1iYWRnZS1jYXJkIGlzLWVhcm5lZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc2VhbCBibS1iYWRnZS1yb3NlJnF1b3Q7Jmd0O0smbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtDaGVjayB0aGUgRmFjdHMmbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7SGVscCBLaW1teSBjb25maXJtIGF0IGxlYXN0IHRocmVlIGZhY3RzLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtDaGVjayB0aGUgRmFjdHMmbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7SGVscCBLaW1teSB0dXJuIGxlYWRzIGludG8gZmFjdHMuJmx0Oy9wJmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zdGF0dXMmcXVvdDsmZ3Q7U3RpbGwgSGlkZGVuJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICZsdDsmbHQ7aWYgZGVmICRzY29vdE5vdGVib29rRW50cmllcyBhbmQgJHNjb290Tm90ZWJvb2tFbnRyaWVzLmxlbmd0aCAmZ3Q7PSAzJmd0OyZndDsKICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtY2FyZCBpcy1lYXJuZWQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXNlYWwgYm0tYmFkZ2Utb3JhbmdlJnF1b3Q7Jmd0O1MmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtXcml0ZSBJdCBEb3duJmx0Oy9oMiZndDsKICAgICAgICAgICAgICAgICZsdDtwJmd0O1JlY29yZCBhdCBsZWFzdCB0aHJlZSBlbnRyaWVzIGluIFNjb290JiMzOTtzIG5vdGVib29rLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtXcml0ZSBJdCBEb3duJmx0Oy9oMiZndDsKICAgICAgICAgICAgICAgICZsdDtwJmd0O1ByZXNlcnZlIGRldGFpbHMgYmVmb3JlIHRoZXkgY2hhbmdlIG9yIGRpc2FwcGVhci4mbHQ7L3AmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXN0YXR1cyZxdW90OyZndDtTdGlsbCBIaWRkZW4mbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgJmx0OyZsdDtpZiAkZ3JvdXBVbml0ZWQmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1iYWRnZS1jYXJkIGlzLWVhcm5lZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc2VhbCBibS1iYWRnZS1ncm91cCZxdW90OyZndDs0Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDImZ3Q7RXZlcnlvbmUgSGFzIGEgUGllY2UmbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7QnJpbmcgYWxsIGZvdXIgaW52ZXN0aWdhdG9ycyB0b2dldGhlci4mbHQ7L3AmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXN0YXR1cyZxdW90OyZndDtEaXNjb3ZlcmVkJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1iYWRnZS1jYXJkIGlzLWxvY2tlZCZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc2VhbCZxdW90OyZndDs/Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDImZ3Q7RXZlcnlvbmUgSGFzIGEgUGllY2UmbHQ7L2gyJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7U29tZSBteXN0ZXJpZXMgbmVlZCBtb3JlIHRoYW4gb25lIGludmVzdGlnYXRvci4mbHQ7L3AmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXN0YXR1cyZxdW90OyZndDtTdGlsbCBIaWRkZW4mbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgJmx0OyZsdDtpZiAkY2hhcHRlcjZDb21wbGV0ZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtZWFybmVkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsIGJtLWJhZGdlLWZpbmFsJnF1b3Q7Jmd0OzEmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtDYXNlIE9uZSZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtDb21wbGV0ZSB0aGUgY3VycmVudCBFcGlzb2RlIE9uZSBpbnZlc3RpZ2F0aW9uLiZsdDsvcCZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utc3RhdHVzJnF1b3Q7Jmd0O0Rpc2NvdmVyZWQmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWJhZGdlLWNhcmQgaXMtbG9ja2VkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS1zZWFsJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtDYXNlIE9uZSZsdDsvaDImZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtGb2xsb3cgdGhlIGN1cnJlbnQgaW52ZXN0aWdhdGlvbiB0byBpdHMgY29uY2x1c2lvbi4mbHQ7L3AmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXN0YXR1cyZxdW90OyZndDtTdGlsbCBIaWRkZW4mbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2Utbm90ZSZxdW90OyZndDsKICAgICAgICBCYWRnZXMgcmVjb2duaXplIGRpc2NvdmVyaWVzIGFuZCBpbnZlc3RpZ2F0aW9uIG1pbGVzdG9uZXMuIFRoZXkgZG8gbm90IGNoYW5nZSB0aGUgc3Rvcnkgb3IgY3JlYXRlIGEgc2NvcmUuCiAgICAmbHQ7L2RpdiZndDsKCiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcmV0dXJuJnF1b3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7aWYgZGVmICRibVJldHVyblBhc3NhZ2UgYW5kIFN0b3J5LmhhcygkYm1SZXR1cm5QYXNzYWdlKSZndDsmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gdG8gdGhlIFN0b3J5JnF1b3Q7Jmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7Z290byAkYm1SZXR1cm5QYXNzYWdlJmd0OyZndDsKICAgICAgICAgICAgJmx0OyZsdDsvbGluayZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgW1tSZXR1cm4gdG8gdGhlIFRpdGxlIFNjcmVlbi0mZ3Q7U3RhcnRdXQogICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKJmx0OyZsdDsvbm9iciZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjg3IiBuYW1lPSJNeXN0ZXJ5IEtpdCAtIEJhZGdlIENhYmluZXQiIHRhZ3M9ImJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI0MjUsMjkyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAuc3luY0VwaXNvZGVPbmVCYWRnZXMoKSZndDsmZ3Q7CiZsdDsmbHQ7bm9iciZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90IGRlZiAkZWFybmVkQmFkZ2VJZHMmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRlYXJuZWRCYWRnZUlkcyA9IFtdJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5iYWRnZVZpZXdlZElkcyA9IHNldHVwLmJhZGdlVmlld2VkSWRzIHx8IFtdJmd0OyZndDsKJmx0OyZsdDtpZiBzZXR1cC5hY3RpdmVCYWRnZU5vdGljZUlkJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIHNldHVwLmJhZGdlVmlld2VkSWRzLnB1c2hVbmlxdWUoc2V0dXAuYWN0aXZlQmFkZ2VOb3RpY2VJZCkmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gc2V0dXAuYWN0aXZlQmFkZ2VOb3RpY2VJZCA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7c2V0IF9zeW5jZWRCYWRnZUlkcyA9ICRlYXJuZWRCYWRnZUlkcy5zbGljZSgpJmd0OyZndDsKCiZsdDsmbHQ7aWYgZGVmICRwYXR0ZXJuQ291bnQgYW5kICRwYXR0ZXJuQ291bnQgJmd0Oz0gNSBhbmQgbm90IF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtwYXR0ZXJuLXNlZWtlciZxdW90OykmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gX3N5bmNlZEJhZGdlSWRzLnB1c2goJnF1b3Q7cGF0dGVybi1zZWVrZXImcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIGRlZiAkZm91bmRCYW5pc3RlckhleGFmb2lsIGFuZCAkZm91bmRCYW5pc3RlckhleGFmb2lsIGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3NpeC1wZXRhbGVkLXNlY3JldCZxdW90OykmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gX3N5bmNlZEJhZGdlSWRzLnB1c2goJnF1b3Q7c2l4LXBldGFsZWQtc2VjcmV0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAoKGRlZiAkbm90aWNlZFJvbWFuWEkgYW5kICRub3RpY2VkUm9tYW5YSSkgb3IgKGRlZiAkbm90aWNlZFJvbWFuSUkgYW5kICRub3RpY2VkUm9tYW5JSSkpIGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O251bWJlci1yZXR1cm5zJnF1b3Q7KSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3J1biBfc3luY2VkQmFkZ2VJZHMucHVzaCgmcXVvdDtudW1iZXItcmV0dXJucyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgZGVmICRyeWFuUnVsZXMgYW5kICRyeWFuUnVsZXMubGVuZ3RoICZndDs9IDMgYW5kIG5vdCBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7cnVsZXMtbWF0dGVyJnF1b3Q7KSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3J1biBfc3luY2VkQmFkZ2VJZHMucHVzaCgmcXVvdDtydWxlcy1tYXR0ZXImcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmIGRlZiAka2ltbXlGYWN0cyBhbmQgJGtpbW15RmFjdHMubGVuZ3RoICZndDs9IDMgYW5kIG5vdCBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7Y2hlY2stZmFjdHMmcXVvdDspJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIF9zeW5jZWRCYWRnZUlkcy5wdXNoKCZxdW90O2NoZWNrLWZhY3RzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBkZWYgJHNjb290Tm90ZWJvb2tFbnRyaWVzIGFuZCAkc2Nvb3ROb3RlYm9va0VudHJpZXMubGVuZ3RoICZndDs9IDMgYW5kIG5vdCBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7d3JpdGUtaXQtZG93biZxdW90OykmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gX3N5bmNlZEJhZGdlSWRzLnB1c2goJnF1b3Q7d3JpdGUtaXQtZG93biZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgZGVmICRncm91cFVuaXRlZCBhbmQgJGdyb3VwVW5pdGVkIGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O2V2ZXJ5b25lLXBpZWNlJnF1b3Q7KSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3J1biBfc3luY2VkQmFkZ2VJZHMucHVzaCgmcXVvdDtldmVyeW9uZS1waWVjZSZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgZGVmICRjaGFwdGVyNkNvbXBsZXRlIGFuZCAkY2hhcHRlcjZDb21wbGV0ZSBhbmQgbm90IF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtjYXNlLW9uZSZxdW90OykmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gX3N5bmNlZEJhZGdlSWRzLnB1c2goJnF1b3Q7Y2FzZS1vbmUmcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtpZiBkZWYgJHBsYXllckNsdWVzIGFuZCAkcGxheWVyQ2x1ZXMubGVuZ3RoICZndDs9IDggYW5kIG5vdCAkZ3JvdXBVbml0ZWQgYW5kIG5vdCBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7Y2FyZWZ1bC1pbnZlc3RpZ2F0b3ImcXVvdDspJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIF9zeW5jZWRCYWRnZUlkcy5wdXNoKCZxdW90O2NhcmVmdWwtaW52ZXN0aWdhdG9yJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBkZWYgJGdyb3VwU2hhcmVkRXZpZGVuY2UgYW5kICRncm91cFNoYXJlZEV2aWRlbmNlLmxlbmd0aCAmZ3Q7PSA4IGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O2NsdWUta2VlcGVyJnF1b3Q7KSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3J1biBfc3luY2VkQmFkZ2VJZHMucHVzaCgmcXVvdDtjbHVlLWtlZXBlciZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgZGVmICRwYXR0ZXJuQ291bnQgYW5kICRwYXR0ZXJuQ291bnQgJmd0Oz0gMTAgYW5kIG5vdCBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7cGF0dGVybi1tYXN0ZXImcXVvdDspJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIF9zeW5jZWRCYWRnZUlkcy5wdXNoKCZxdW90O3BhdHRlcm4tbWFzdGVyJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7aWYgZGVmICRncm91cENvbm5lY3RlZFdpbmNoZXN0ZXJIb3VzZSBhbmQgJGdyb3VwQ29ubmVjdGVkV2luY2hlc3RlckhvdXNlIGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O2hvdXNlLXJlbWVtYmVycyZxdW90OykmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gX3N5bmNlZEJhZGdlSWRzLnB1c2goJnF1b3Q7aG91c2UtcmVtZW1iZXJzJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBkZWYgJGdyb3VwQ29ubmVjdGVkTHVjaWxsZSBhbmQgJGdyb3VwQ29ubmVjdGVkTHVjaWxsZSBhbmQgbm90IF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDt0aHJlZS1rbm9ja3MmcXVvdDspJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIF9zeW5jZWRCYWRnZUlkcy5wdXNoKCZxdW90O3RocmVlLWtub2NrcyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgZGVmICRrZXZpblNhd1RyZWVGaWd1cmUgYW5kICRrZXZpblNhd1RyZWVGaWd1cmUgYW5kIG5vdCBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7d2F0Y2hlZC13b29kcyZxdW90OykmZ3Q7Jmd0OwogICAgJmx0OyZsdDtydW4gX3N5bmNlZEJhZGdlSWRzLnB1c2goJnF1b3Q7d2F0Y2hlZC13b29kcyZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgZGVmICRjaGFwdGVyNkNsaWZmaGFuZ2VyU2VlbiBhbmQgJGNoYXB0ZXI2Q2xpZmZoYW5nZXJTZWVuIGFuZCBub3QgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O25ldmVyLWxlZnQmcXVvdDspJmd0OyZndDsKICAgICZsdDsmbHQ7cnVuIF9zeW5jZWRCYWRnZUlkcy5wdXNoKCZxdW90O25ldmVyLWxlZnQmcXVvdDspJmd0OyZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyZsdDtzZXQgX2hhc0FsbFN0YW5kYXJkID0KICAgIF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtwYXR0ZXJuLXNlZWtlciZxdW90OykgYW5kCiAgICBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7c2l4LXBldGFsZWQtc2VjcmV0JnF1b3Q7KSBhbmQKICAgIF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtudW1iZXItcmV0dXJucyZxdW90OykgYW5kCiAgICBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7cnVsZXMtbWF0dGVyJnF1b3Q7KSBhbmQKICAgIF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtjaGVjay1mYWN0cyZxdW90OykgYW5kCiAgICBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7d3JpdGUtaXQtZG93biZxdW90OykgYW5kCiAgICBfc3luY2VkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7ZXZlcnlvbmUtcGllY2UmcXVvdDspIGFuZAogICAgX3N5bmNlZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O2Nhc2Utb25lJnF1b3Q7KQomZ3Q7Jmd0OwombHQ7Jmx0O2lmIF9oYXNBbGxTdGFuZGFyZCBhbmQgbm90IF9zeW5jZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtjb21wbGV0ZS1maWxlJnF1b3Q7KSZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3J1biBfc3luY2VkQmFkZ2VJZHMucHVzaCgmcXVvdDtjb21wbGV0ZS1maWxlJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7c2V0ICRlYXJuZWRCYWRnZUlkcyA9IF9zeW5jZWRCYWRnZUlkcy5zbGljZSgpJmd0OyZndDsKCiZsdDsmbHQ7c2V0IF9zdGFuZGFyZEVhcm5lZCA9IDAmZ3Q7Jmd0OwombHQ7Jmx0O3NldCBfcmFyZUVhcm5lZCA9IDAmZ3Q7Jmd0OwombHQ7Jmx0O3NldCBfc2VjcmV0RWFybmVkID0gMCZndDsmZ3Q7CgombHQ7Jmx0O2ZvciBfaWQgcmFuZ2UgWyZxdW90O3BhdHRlcm4tc2Vla2VyJnF1b3Q7LCAmcXVvdDtzaXgtcGV0YWxlZC1zZWNyZXQmcXVvdDssICZxdW90O251bWJlci1yZXR1cm5zJnF1b3Q7LCAmcXVvdDtydWxlcy1tYXR0ZXImcXVvdDssICZxdW90O2NoZWNrLWZhY3RzJnF1b3Q7LCAmcXVvdDt3cml0ZS1pdC1kb3duJnF1b3Q7LCAmcXVvdDtldmVyeW9uZS1waWVjZSZxdW90OywgJnF1b3Q7Y2FzZS1vbmUmcXVvdDtdJmd0OyZndDsKICAgICZsdDsmbHQ7aWYgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKF9pZCkmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9zdGFuZGFyZEVhcm5lZCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7L2ZvciZndDsmZ3Q7CgombHQ7Jmx0O2ZvciBfaWQgcmFuZ2UgWyZxdW90O2NhcmVmdWwtaW52ZXN0aWdhdG9yJnF1b3Q7LCAmcXVvdDtjbHVlLWtlZXBlciZxdW90OywgJnF1b3Q7cGF0dGVybi1tYXN0ZXImcXVvdDssICZxdW90O2NvbXBsZXRlLWZpbGUmcXVvdDtdJmd0OyZndDsKICAgICZsdDsmbHQ7aWYgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKF9pZCkmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9yYXJlRWFybmVkICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDsvZm9yJmd0OyZndDsKCiZsdDsmbHQ7Zm9yIF9pZCByYW5nZSBbJnF1b3Q7aG91c2UtcmVtZW1iZXJzJnF1b3Q7LCAmcXVvdDt0aHJlZS1rbm9ja3MmcXVvdDssICZxdW90O3dhdGNoZWQtd29vZHMmcXVvdDssICZxdW90O25ldmVyLWxlZnQmcXVvdDtdJmd0OyZndDsKICAgICZsdDsmbHQ7aWYgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKF9pZCkmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9zZWNyZXRFYXJuZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2UgYm0tY2FiaW5ldC1wYWdlJnF1b3Q7Jmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXBhZ2UtaGVhZGluZyZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLXRvb2wtcGFnZS1raWNrZXImcXVvdDsmZ3Q7QnJlY2tlbnJpZGdlIE15c3RlcnkgS2l0Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0O2gxJmd0O015c3RlcnkgQmFkZ2UgQ2FiaW5ldCZsdDsvaDEmZ3Q7CiAgICAgICAgJmx0O3AmZ3Q7RXZlcnkgYmFkZ2UgbWFya3Mgc29tZXRoaW5nIG5vdGljZWQsIHJlY29yZGVkLCBjb25uZWN0ZWQsIG9yIHVuY292ZXJlZC4mbHQ7L3AmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKCiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3VtbWFyeSZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3VtbWFyeS1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7Jmx0Oz0gJGVhcm5lZEJhZGdlSWRzLmxlbmd0aCZndDsmZ3Q7Jmx0Oy9zcGFuJmd0OwogICAgICAgICAgICBUb3RhbCBFYXJuZWQKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3VtbWFyeS1jYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7c3BhbiZndDsmbHQ7Jmx0Oz0gX3N0YW5kYXJkRWFybmVkJmd0OyZndDsgLyA4Jmx0Oy9zcGFuJmd0OwogICAgICAgICAgICBTdGFuZGFyZAogICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdW1tYXJ5LWNhcmQgaXMtcmFyZSZxdW90OyZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7Jmx0OyZsdDs9IF9yYXJlRWFybmVkJmd0OyZndDsgLyA0Jmx0Oy9zcGFuJmd0OwogICAgICAgICAgICBSYXJlCiAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN1bW1hcnktY2FyZCBpcy1zZWNyZXQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtzcGFuJmd0OyZsdDsmbHQ7PSBfc2VjcmV0RWFybmVkJmd0OyZndDsgLyA0Jmx0Oy9zcGFuJmd0OwogICAgICAgICAgICBTZWNyZXQKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvZGl2Jmd0OwoKICAgICZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O2JtLWNhYmluZXQgYm0tY2FiaW5ldC1zdGFuZGFyZCZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtaGVhZGluZyZxdW90OyZndDsKICAgICAgICAgICAgJmx0O2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtdGllciZxdW90OyZndDtTdGFuZGFyZCBDb2xsZWN0aW9uJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O0ludmVzdGlnYXRvciBCYWRnZXMmbHQ7L2gyJmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWNvdW50JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfc3RhbmRhcmRFYXJuZWQmZ3Q7Jmd0OyBvZiA4Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zaGVsZiZxdW90OyZndDsKICAgICAgICAgICAgJmx0OyZsdDtmb3IgX2JhZGdlIHJhbmdlIFsKICAgICAgICAgICAgICAgIFsmcXVvdDtwYXR0ZXJuLXNlZWtlciZxdW90OywgJnF1b3Q7UGF0dGVybiBTZWVrZXImcXVvdDssICZxdW90OzUmcXVvdDssICZxdW90O05vdGljZSBmaXZlIHVuZXhwbGFpbmVkIGV2ZW50cy4mcXVvdDssICZxdW90O2JsdWUmcXVvdDssICZxdW90O3BhdHRlcm4tc2Vla2VyLnBuZyZxdW90O10sCiAgICAgICAgICAgICAgICBbJnF1b3Q7c2l4LXBldGFsZWQtc2VjcmV0JnF1b3Q7LCAmcXVvdDtTaXgtUGV0YWxlZCBTZWNyZXQmcXVvdDssICZxdW90OzYmcXVvdDssICZxdW90O0Rpc2NvdmVyIGEgaGlkZGVuIGhleGFmb2lsLiZxdW90OywgJnF1b3Q7Z29sZCZxdW90OywgJnF1b3Q7c2l4LXBldGFsZWQtc2VjcmV0LnBuZyZxdW90O10sCiAgICAgICAgICAgICAgICBbJnF1b3Q7bnVtYmVyLXJldHVybnMmcXVvdDssICZxdW90O1RoZSBOdW1iZXIgUmV0dXJucyZxdW90OywgJnF1b3Q7WEkmcXVvdDssICZxdW90O1JlY29nbml6ZSBhIHJlY3VycmluZyBSb21hbiBudW1lcmFsLiZxdW90OywgJnF1b3Q7cHVycGxlJnF1b3Q7LCAmcXVvdDtudW1iZXItcmV0dXJucy5wbmcmcXVvdDtdLAogICAgICAgICAgICAgICAgWyZxdW90O3J1bGVzLW1hdHRlciZxdW90OywgJnF1b3Q7UnVsZXMgTWF0dGVyJnF1b3Q7LCAmcXVvdDtSJnF1b3Q7LCAmcXVvdDtIZWxwIFJ5YW4gaWRlbnRpZnkgdGhyZWUgcnVsZXMuJnF1b3Q7LCAmcXVvdDtncmVlbiZxdW90OywgJnF1b3Q7cnVsZXMtbWF0dGVyLnBuZyZxdW90O10sCiAgICAgICAgICAgICAgICBbJnF1b3Q7Y2hlY2stZmFjdHMmcXVvdDssICZxdW90O0NoZWNrIHRoZSBGYWN0cyZxdW90OywgJnF1b3Q7SyZxdW90OywgJnF1b3Q7SGVscCBLaW1teSBjb25maXJtIHRocmVlIGZhY3RzLiZxdW90OywgJnF1b3Q7cm9zZSZxdW90OywgJnF1b3Q7Y2hlY2stZmFjdHMucG5nJnF1b3Q7XSwKICAgICAgICAgICAgICAgIFsmcXVvdDt3cml0ZS1pdC1kb3duJnF1b3Q7LCAmcXVvdDtXcml0ZSBJdCBEb3duJnF1b3Q7LCAmcXVvdDtTJnF1b3Q7LCAmcXVvdDtSZWNvcmQgdGhyZWUgbm90ZWJvb2sgZW50cmllcy4mcXVvdDssICZxdW90O29yYW5nZSZxdW90OywgJnF1b3Q7d3JpdGUtaXQtZG93bi5wbmcmcXVvdDtdLAogICAgICAgICAgICAgICAgWyZxdW90O2V2ZXJ5b25lLXBpZWNlJnF1b3Q7LCAmcXVvdDtFdmVyeW9uZSBIYXMgYSBQaWVjZSZxdW90OywgJnF1b3Q7NCZxdW90OywgJnF1b3Q7QnJpbmcgdGhlIGludmVzdGlnYXRvcnMgdG9nZXRoZXIuJnF1b3Q7LCAmcXVvdDt0ZWFsJnF1b3Q7LCAmcXVvdDtldmVyeW9uZS1waWVjZS5wbmcmcXVvdDtdLAogICAgICAgICAgICAgICAgWyZxdW90O2Nhc2Utb25lJnF1b3Q7LCAmcXVvdDtDYXNlIE9uZSZxdW90OywgJnF1b3Q7MSZxdW90OywgJnF1b3Q7Q29tcGxldGUgRXBpc29kZSBPbmUuJnF1b3Q7LCAmcXVvdDtidXJndW5keSZxdW90OywgJnF1b3Q7Y2FzZS1vbmUucG5nJnF1b3Q7XQogICAgICAgICAgICBdJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDsmbHQ7c2V0IF9pZCA9IF9iYWRnZVswXSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX25hbWUgPSBfYmFkZ2VbMV0mZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9zeW1ib2wgPSBfYmFkZ2VbMl0mZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9kZXNjID0gX2JhZGdlWzNdJmd0OyZndDsmbHQ7Jmx0O3NldCBfY29sb3IgPSBfYmFkZ2VbNF0mZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9pbWFnZSA9IF9iYWRnZVs1XSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7Jmx0O2lmICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcyhfaWQpJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWVhcm5lZCB0aWVyLXN0YW5kYXJkIGNvbG9yLSZsdDsmbHQ7PV9jb2xvciZndDsmZ3Q7JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYXJ0JnF1b3Q7Jmd0OyZsdDtpbWcgQHNyYz0mcXVvdDsmIzM5O2ltYWdlcy9iYWRnZXMvJiMzOTsgKyBfaW1hZ2UmcXVvdDsgYWx0PSZxdW90OyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7aDMmZ3Q7Jmx0OyZsdDs9X25hbWUmZ3Q7Jmd0OyZsdDsvaDMmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtwJmd0OyZsdDsmbHQ7PV9kZXNjJmd0OyZndDsmbHQ7L3AmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdGF0dXMmcXVvdDsmZ3Q7RWFybmVkJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWxvY2tlZCB0aWVyLXN0YW5kYXJkJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYXJ0JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9iYWRnZXMvY2FyZWZ1bC1pbnZlc3RpZ2F0b3IucG5nJnF1b3Q7IGFsdD0mcXVvdDsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgJmx0O2gzJmd0OyZsdDsmbHQ7PV9uYW1lJmd0OyZndDsmbHQ7L2gzJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7cCZndDsmbHQ7Jmx0Oz1fZGVzYyZndDsmZ3Q7Jmx0Oy9wJmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O05vdCBZZXQgRWFybmVkJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwogICAgJmx0Oy9zZWN0aW9uJmd0OwoKICAgICZsdDtzZWN0aW9uIGNsYXNzPSZxdW90O2JtLWNhYmluZXQgYm0tY2FiaW5ldC1yYXJlJnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC10aWVyJnF1b3Q7Jmd0O1JhcmUgQ29sbGVjdGlvbiZsdDsvc3BhbiZndDsKICAgICAgICAgICAgICAgICZsdDtoMiZndDtBZHZhbmNlZCBJbnZlc3RpZ2F0b3IgQmFkZ2VzJmx0Oy9oMiZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1jb3VudCZxdW90OyZndDsmbHQ7Jmx0Oz0gX3JhcmVFYXJuZWQmZ3Q7Jmd0OyBvZiA0Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CgogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zaGVsZiZxdW90OyZndDsKICAgICAgICAgICAgJmx0OyZsdDtpZiAkZWFybmVkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7Y2FyZWZ1bC1pbnZlc3RpZ2F0b3ImcXVvdDspJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtZWFybmVkIHRpZXItcmFyZSBjb2xvci1zaWx2ZXImcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWFydCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvYmFkZ2VzL2NhcmVmdWwtaW52ZXN0aWdhdG9yLnBuZyZxdW90OyBhbHQ9JnF1b3Q7JnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gzJmd0O0NhcmVmdWwgSW52ZXN0aWdhdG9yJmx0Oy9oMyZndDsmbHQ7cCZndDtCdWlsZCBhIHN0cm9uZyBjb2xsZWN0aW9uIG9mIGNsdWVzIGJlZm9yZSB0aGUgZ3JvdXAgdW5pdGVzLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1JhcmUgQmFkZ2UmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWxvY2tlZCB0aWVyLXJhcmUmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWFydCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvYmFkZ2VzL2NhcmVmdWwtaW52ZXN0aWdhdG9yLnBuZyZxdW90OyBhbHQ9JnF1b3Q7JnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gzJmd0O0NhcmVmdWwgSW52ZXN0aWdhdG9yJmx0Oy9oMyZndDsmbHQ7cCZndDtDb2xsZWN0IG1hbnkgY2x1ZXMgYmVmb3JlIHRoZSB0ZWFtIGNvbWVzIHRvZ2V0aGVyLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1JhcmUmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgICAgICZsdDsmbHQ7aWYgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O2NsdWUta2VlcGVyJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWVhcm5lZCB0aWVyLXJhcmUgY29sb3Itc2lsdmVyJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1hcnQmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL2JhZGdlcy9jbHVlLWtlZXBlci5wbmcmcXVvdDsgYWx0PSZxdW90OyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtDbHVlIEtlZXBlciZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7QnVpbGQgYSBzdWJzdGFudGlhbCBzaGFyZWQgZXZpZGVuY2UgZmlsZS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtSYXJlIEJhZGdlJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1iYWRnZSBpcy1sb2NrZWQgdGllci1yYXJlJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1hcnQmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL2JhZGdlcy9jbHVlLWtlZXBlci5wbmcmcXVvdDsgYWx0PSZxdW90OyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtDbHVlIEtlZXBlciZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7QnJpbmcgbWFueSBkaXNjb3ZlcmllcyBpbnRvIHRoZSBncm91cCBmaWxlLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1JhcmUmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgICAgICZsdDsmbHQ7aWYgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3BhdHRlcm4tbWFzdGVyJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWVhcm5lZCB0aWVyLXJhcmUgY29sb3Itc2lsdmVyJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1hcnQmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL2JhZGdlcy9wYXR0ZXJuLW1hc3Rlci5wbmcmcXVvdDsgYWx0PSZxdW90OyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtQYXR0ZXJuIE1hc3RlciZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7Tm90aWNlIHRlbiB1bmV4cGxhaW5lZCBldmVudHMuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdGF0dXMmcXVvdDsmZ3Q7UmFyZSBCYWRnZSZsdDsvZGl2Jmd0OyZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtbG9ja2VkIHRpZXItcmFyZSZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYXJ0JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9iYWRnZXMvcGF0dGVybi1tYXN0ZXIucG5nJnF1b3Q7IGFsdD0mcXVvdDsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsmbHQ7aDMmZ3Q7UGF0dGVybiBNYXN0ZXImbHQ7L2gzJmd0OyZsdDtwJmd0O0tlZXAgZm9sbG93aW5nIEtldmluJiMzOTtzIHVuZXhwbGFpbmVkIHBhdHRlcm5zLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1JhcmUmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgICAgICZsdDsmbHQ7aWYgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O2NvbXBsZXRlLWZpbGUmcXVvdDspJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtZWFybmVkIHRpZXItcmFyZSBjb2xvci1zaWx2ZXImcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWFydCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvYmFkZ2VzL2NvbXBsZXRlLWZpbGUucG5nJnF1b3Q7IGFsdD0mcXVvdDsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7L2RpdiZndDsmbHQ7aDMmZ3Q7Q29tcGxldGUgQ2FzZSBGaWxlJmx0Oy9oMyZndDsmbHQ7cCZndDtFYXJuIGFsbCBlaWdodCBzdGFuZGFyZCBiYWRnZXMuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdGF0dXMmcXVvdDsmZ3Q7UmFyZSBCYWRnZSZsdDsvZGl2Jmd0OyZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtbG9ja2VkIHRpZXItcmFyZSZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYXJ0JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9iYWRnZXMvY29tcGxldGUtZmlsZS5wbmcmcXVvdDsgYWx0PSZxdW90OyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtDb21wbGV0ZSBDYXNlIEZpbGUmbHQ7L2gzJmd0OyZsdDtwJmd0O0NvbXBsZXRlIHRoZSBzdGFuZGFyZCBjb2xsZWN0aW9uLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1JhcmUmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvc2VjdGlvbiZndDsKCiAgICAmbHQ7c2VjdGlvbiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0IGJtLWNhYmluZXQtc2VjcmV0JnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1oZWFkaW5nJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC10aWVyJnF1b3Q7Jmd0O1NlY3JldCBDb2xsZWN0aW9uJmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgICAgJmx0O2gyJmd0O0hpZGRlbiBCYWRnZXMmbHQ7L2gyJmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWNvdW50JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfc2VjcmV0RWFybmVkJmd0OyZndDsgb2YgNCZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwoKICAgICAgICAmbHQ7cCBjbGFzcz0mcXVvdDtibS1zZWNyZXQtaW50cm8mcXVvdDsmZ3Q7U2VjcmV0IGJhZGdlIG5hbWVzIGFuZCByZXF1aXJlbWVudHMgcmVtYWluIGNvbmNlYWxlZCB1bnRpbCBkaXNjb3ZlcmVkLiZsdDsvcCZndDsKCiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXNoZWxmJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7Jmx0O2lmICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtob3VzZS1yZW1lbWJlcnMmcXVvdDspJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtZWFybmVkIHRpZXItc2VjcmV0IGNvbG9yLXNlY3JldCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYXJ0JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9iYWRnZXMvaG91c2UtcmVtZW1iZXJzLnBuZyZxdW90OyBhbHQ9JnF1b3Q7JnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gzJmd0O1RoZSBIb3VzZSBSZW1lbWJlcnMmbHQ7L2gzJmd0OyZsdDtwJmd0O0Nvbm5lY3QgdGhlIFdpbmNoZXN0ZXIgaG91c2UgdG8gdGhlIGxhcmdlciBteXN0ZXJ5LiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1NlY3JldCBGb3VuZCZsdDsvZGl2Jmd0OyZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAgICAgJmx0OyZsdDtlbHNlJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtaGlkZGVuIHRpZXItc2VjcmV0JnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zZWNyZXQtY292ZXImcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDsmbHQ7c3BhbiZndDs/Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtIaWRkZW4gQmFkZ2UmbHQ7L2gzJmd0OyZsdDtwJmd0O1JlcXVpcmVtZW50IHVua25vd24uJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdGF0dXMmcXVvdDsmZ3Q7VW5kaXNjb3ZlcmVkJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgICAgICAgICAmbHQ7Jmx0O2lmICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDt0aHJlZS1rbm9ja3MmcXVvdDspJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtZWFybmVkIHRpZXItc2VjcmV0IGNvbG9yLXNlY3JldCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYXJ0JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9iYWRnZXMvdGhyZWUta25vY2tzLnBuZyZxdW90OyBhbHQ9JnF1b3Q7JnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gzJmd0O1RocmVlIEtub2NrcyZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7UmVjb2duaXplIHRoZSByZXBlYXRlZCB0aHJlZS1rbm9jayBzaWduYWwuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdGF0dXMmcXVvdDsmZ3Q7U2VjcmV0IEZvdW5kJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1iYWRnZSBpcy1oaWRkZW4gdGllci1zZWNyZXQmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXNlY3JldC1jb3ZlciZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDtzcGFuJmd0Oz8mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gzJmd0O0hpZGRlbiBCYWRnZSZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7UmVxdWlyZW1lbnQgdW5rbm93bi4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtVbmRpc2NvdmVyZWQmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKCiAgICAgICAgICAgICZsdDsmbHQ7aWYgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3dhdGNoZWQtd29vZHMmcXVvdDspJmd0OyZndDsKICAgICAgICAgICAgICAgICZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYmFkZ2UgaXMtZWFybmVkIHRpZXItc2VjcmV0IGNvbG9yLXNlY3JldCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtYXJ0JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9iYWRnZXMvd2F0Y2hlZC13b29kcy5wbmcmcXVvdDsgYWx0PSZxdW90OyZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtoMyZndDtXYXRjaGVkIGZyb20gdGhlIFdvb2RzJmx0Oy9oMyZndDsmbHQ7cCZndDtOb3RpY2UgYSB3YXRjaGVyIGNvbm5lY3RlZCB0byB0aGUgdHJlZXMgb3Igcm9hZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtTZWNyZXQgRm91bmQmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7YXJ0aWNsZSBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LWJhZGdlIGlzLWhpZGRlbiB0aWVyLXNlY3JldCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc2VjcmV0LWNvdmVyJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7PyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7aDMmZ3Q7SGlkZGVuIEJhZGdlJmx0Oy9oMyZndDsmbHQ7cCZndDtSZXF1aXJlbWVudCB1bmtub3duLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNhYmluZXQtc3RhdHVzJnF1b3Q7Jmd0O1VuZGlzY292ZXJlZCZsdDsvZGl2Jmd0OyZsdDsvYXJ0aWNsZSZndDsKICAgICAgICAgICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICAgICAgICAgJmx0OyZsdDtpZiAkZWFybmVkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7bmV2ZXItbGVmdCZxdW90OykmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1iYWRnZSBpcy1lYXJuZWQgdGllci1zZWNyZXQgY29sb3Itc2VjcmV0JnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1hcnQmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL2JhZGdlcy9uZXZlci1sZWZ0LnBuZyZxdW90OyBhbHQ9JnF1b3Q7JnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gzJmd0O1RoZXkgTmV2ZXIgTGVmdCZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7VW5jb3ZlciB0aGUgd2FybmluZyBoaWRkZW4gaW4gQnJlY2tlbnJpZGdlJiMzOTtzIHBhc3QuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1zdGF0dXMmcXVvdDsmZ3Q7U2VjcmV0IEZvdW5kJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OwogICAgICAgICAgICAmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7Ym0tY2FiaW5ldC1iYWRnZSBpcy1oaWRkZW4gdGllci1zZWNyZXQmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXNlY3JldC1jb3ZlciZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyZsdDtzcGFuJmd0Oz8mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gzJmd0O0hpZGRlbiBCYWRnZSZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7UmVxdWlyZW1lbnQgdW5rbm93bi4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1jYWJpbmV0LXN0YXR1cyZxdW90OyZndDtVbmRpc2NvdmVyZWQmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvc2VjdGlvbiZndDsKCiAgICAmbHQ7Jmx0O2lmICRjaGFwdGVyNkNvbXBsZXRlJmd0OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWNlcnRpZmljYXRlLXByZXZpZXcmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtzdHJvbmcmZ3Q7Q2VydGlmaWNhdGUgQ2FiaW5ldCBDb21pbmcgTGF0ZXImbHQ7L3N0cm9uZyZndDsKICAgICAgICAgICAgJmx0O3NwYW4mZ3Q7WW91ciBlYXJuZWQgYmFkZ2UgSURzIGFyZSBub3cgc3RvcmVkIGFuZCBjYW4gYmUgcGxhY2VkIG9uIGEgcHJpbnRhYmxlIGNlcnRpZmljYXRlIGluIGEgZnV0dXJlIHVwZGF0ZS4mbHQ7L3NwYW4mZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS10b29sLXJldHVybiZxdW90OyZndDsKICAgICAgICAmbHQ7Jmx0O2lmIGRlZiAkYm1SZXR1cm5QYXNzYWdlIGFuZCBTdG9yeS5oYXMoJGJtUmV0dXJuUGFzc2FnZSkmZ3Q7Jmd0OwogICAgICAgICAgICAmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHRvIHRoZSBTdG9yeSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtnb3RvICRibVJldHVyblBhc3NhZ2UmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICAgICAgICAgIFtbUmV0dXJuIHRvIHRoZSBUaXRsZSBTY3JlZW4tJmd0O1N0YXJ0XV0KICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L25vYnImZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI4OCIgbmFtZT0iUGFzc2FnZUZvb3RlciIgdGFncz0iIiBwb3NpdGlvbj0iMTMwMCw0NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7bm9iciZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90IGRlZiAkZWFybmVkQmFkZ2VJZHMmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRlYXJuZWRCYWRnZUlkcyA9IFtdJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmJhZGdlVmlld2VkSWRzID0gc2V0dXAuYmFkZ2VWaWV3ZWRJZHMgfHwgW10mZ3Q7Jmd0OwombHQ7Jmx0O2lmIHNldHVwLmFjdGl2ZUJhZGdlTm90aWNlSWQgaXMgdW5kZWZpbmVkJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5hY3RpdmVCYWRnZU5vdGljZUlkID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90OyZxdW90OyZndDsmZ3Q7CgombHQ7Jmx0O2lmIG5vdCBzZXR1cC5hY3RpdmVCYWRnZU5vdGljZUlkJmd0OyZndDsKICAgICZsdDsmbHQ7aWYgZGVmICRwYXR0ZXJuQ291bnQgYW5kICRwYXR0ZXJuQ291bnQgJmd0Oz0gNSBhbmQgbm90IHNldHVwLmJhZGdlVmlld2VkSWRzLmluY2x1ZGVzKCZxdW90O3BhdHRlcm4tc2Vla2VyJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgX25ld0JhZGdlSWQgPSAmcXVvdDtwYXR0ZXJuLXNlZWtlciZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Vsc2VpZiBkZWYgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCBhbmQgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCBhbmQgbm90IHNldHVwLmJhZGdlVmlld2VkSWRzLmluY2x1ZGVzKCZxdW90O3NpeC1wZXRhbGVkLXNlY3JldCZxdW90OykmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0IF9uZXdCYWRnZUlkID0gJnF1b3Q7c2l4LXBldGFsZWQtc2VjcmV0JnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmICgoZGVmICRub3RpY2VkUm9tYW5YSSBhbmQgJG5vdGljZWRSb21hblhJKSBvciAoZGVmICRub3RpY2VkUm9tYW5JSSBhbmQgJG5vdGljZWRSb21hbklJKSkgYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDtudW1iZXItcmV0dXJucyZxdW90OykmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0IF9uZXdCYWRnZUlkID0gJnF1b3Q7bnVtYmVyLXJldHVybnMmcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtlbHNlaWYgZGVmICRyeWFuUnVsZXMgYW5kICRyeWFuUnVsZXMubGVuZ3RoICZndDs9IDMgYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDtydWxlcy1tYXR0ZXImcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O3J1bGVzLW1hdHRlciZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Vsc2VpZiBkZWYgJGtpbW15RmFjdHMgYW5kICRraW1teUZhY3RzLmxlbmd0aCAmZ3Q7PSAzIGFuZCBub3Qgc2V0dXAuYmFkZ2VWaWV3ZWRJZHMuaW5jbHVkZXMoJnF1b3Q7Y2hlY2stZmFjdHMmcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O2NoZWNrLWZhY3RzJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAkc2Nvb3ROb3RlYm9va0VudHJpZXMgYW5kICRzY29vdE5vdGVib29rRW50cmllcy5sZW5ndGggJmd0Oz0gMyBhbmQgbm90IHNldHVwLmJhZGdlVmlld2VkSWRzLmluY2x1ZGVzKCZxdW90O3dyaXRlLWl0LWRvd24mcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O3dyaXRlLWl0LWRvd24mcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtlbHNlaWYgZGVmICRncm91cFVuaXRlZCBhbmQgJGdyb3VwVW5pdGVkIGFuZCBub3Qgc2V0dXAuYmFkZ2VWaWV3ZWRJZHMuaW5jbHVkZXMoJnF1b3Q7ZXZlcnlvbmUtcGllY2UmcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O2V2ZXJ5b25lLXBpZWNlJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAkY2hhcHRlcjZDb21wbGV0ZSBhbmQgJGNoYXB0ZXI2Q29tcGxldGUgYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDtjYXNlLW9uZSZxdW90OykmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0IF9uZXdCYWRnZUlkID0gJnF1b3Q7Y2FzZS1vbmUmcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtlbHNlaWYgZGVmICRwbGF5ZXJDbHVlcyBhbmQgJHBsYXllckNsdWVzLmxlbmd0aCAmZ3Q7PSA4IGFuZCBub3QgJGdyb3VwVW5pdGVkIGFuZCBub3Qgc2V0dXAuYmFkZ2VWaWV3ZWRJZHMuaW5jbHVkZXMoJnF1b3Q7Y2FyZWZ1bC1pbnZlc3RpZ2F0b3ImcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O2NhcmVmdWwtaW52ZXN0aWdhdG9yJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAkZ3JvdXBTaGFyZWRFdmlkZW5jZSBhbmQgJGdyb3VwU2hhcmVkRXZpZGVuY2UubGVuZ3RoICZndDs9IDggYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDtjbHVlLWtlZXBlciZxdW90OykmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0IF9uZXdCYWRnZUlkID0gJnF1b3Q7Y2x1ZS1rZWVwZXImcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtlbHNlaWYgZGVmICRwYXR0ZXJuQ291bnQgYW5kICRwYXR0ZXJuQ291bnQgJmd0Oz0gMTAgYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDtwYXR0ZXJuLW1hc3RlciZxdW90OykmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0IF9uZXdCYWRnZUlkID0gJnF1b3Q7cGF0dGVybi1tYXN0ZXImcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtlbHNlaWYgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3BhdHRlcm4tc2Vla2VyJnF1b3Q7KSBhbmQgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKCZxdW90O3NpeC1wZXRhbGVkLXNlY3JldCZxdW90OykgYW5kICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtudW1iZXItcmV0dXJucyZxdW90OykgYW5kICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtydWxlcy1tYXR0ZXImcXVvdDspIGFuZCAkZWFybmVkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7Y2hlY2stZmFjdHMmcXVvdDspIGFuZCAkZWFybmVkQmFkZ2VJZHMuaW5jbHVkZXMoJnF1b3Q7d3JpdGUtaXQtZG93biZxdW90OykgYW5kICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtldmVyeW9uZS1waWVjZSZxdW90OykgYW5kICRlYXJuZWRCYWRnZUlkcy5pbmNsdWRlcygmcXVvdDtjYXNlLW9uZSZxdW90OykgYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDtjb21wbGV0ZS1maWxlJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgX25ld0JhZGdlSWQgPSAmcXVvdDtjb21wbGV0ZS1maWxlJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAkZ3JvdXBDb25uZWN0ZWRXaW5jaGVzdGVySG91c2UgYW5kICRncm91cENvbm5lY3RlZFdpbmNoZXN0ZXJIb3VzZSBhbmQgbm90IHNldHVwLmJhZGdlVmlld2VkSWRzLmluY2x1ZGVzKCZxdW90O2hvdXNlLXJlbWVtYmVycyZxdW90OykmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7c2V0IF9uZXdCYWRnZUlkID0gJnF1b3Q7aG91c2UtcmVtZW1iZXJzJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAkZ3JvdXBDb25uZWN0ZWRMdWNpbGxlIGFuZCAkZ3JvdXBDb25uZWN0ZWRMdWNpbGxlIGFuZCBub3Qgc2V0dXAuYmFkZ2VWaWV3ZWRJZHMuaW5jbHVkZXMoJnF1b3Q7dGhyZWUta25vY2tzJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgX25ld0JhZGdlSWQgPSAmcXVvdDt0aHJlZS1rbm9ja3MmcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtlbHNlaWYgZGVmICRrZXZpblNhd1RyZWVGaWd1cmUgYW5kICRrZXZpblNhd1RyZWVGaWd1cmUgYW5kIG5vdCBzZXR1cC5iYWRnZVZpZXdlZElkcy5pbmNsdWRlcygmcXVvdDt3YXRjaGVkLXdvb2RzJnF1b3Q7KSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgX25ld0JhZGdlSWQgPSAmcXVvdDt3YXRjaGVkLXdvb2RzJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7ZWxzZWlmIGRlZiAkY2hhcHRlcjZDbGlmZmhhbmdlclNlZW4gYW5kICRjaGFwdGVyNkNsaWZmaGFuZ2VyU2VlbiBhbmQgbm90IHNldHVwLmJhZGdlVmlld2VkSWRzLmluY2x1ZGVzKCZxdW90O25ldmVyLWxlZnQmcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7Jmx0O3NldCBfbmV3QmFkZ2VJZCA9ICZxdW90O25ldmVyLWxlZnQmcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKICAgICZsdDsmbHQ7aWYgX25ld0JhZGdlSWQmZ3Q7Jmd0OwogICAgICAgICZsdDsmbHQ7cnVuIHNldHVwLmFjdGl2ZUJhZGdlTm90aWNlSWQgPSBfbmV3QmFkZ2VJZCZndDsmZ3Q7CiAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUlkID0gc2V0dXAuYWN0aXZlQmFkZ2VOb3RpY2VJZCZndDsmZ3Q7CiZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZU5hbWUgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwombHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VIaW50ID0gJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlQ2xhc3MgPSAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwoKJmx0OyZsdDtzd2l0Y2ggX2FjdGl2ZUJhZGdlSWQmZ3Q7Jmd0OwogICAgJmx0OyZsdDtjYXNlICZxdW90O3BhdHRlcm4tc2Vla2VyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VOYW1lID0gJnF1b3Q7UGF0dGVybiBTZWVrZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUhpbnQgPSAmcXVvdDtGaXZlIHVuZXhwbGFpbmVkIGV2ZW50cyBoYXZlIGJlZW4gbm90aWNlZC4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3QtYmx1ZSZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7c2l4LXBldGFsZWQtc2VjcmV0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VOYW1lID0gJnF1b3Q7U2l4LVBldGFsZWQgU2VjcmV0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VIaW50ID0gJnF1b3Q7QSBoaWRkZW4gaGV4YWZvaWwgbWFya2luZyBoYXMgYmVlbiBkaXNjb3ZlcmVkLiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlQ2xhc3MgPSAmcXVvdDtibS10b2FzdC1nb2xkJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDtudW1iZXItcmV0dXJucyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O1RoZSBOdW1iZXIgUmV0dXJucyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O0EgUm9tYW4gbnVtZXJhbCBoYXMgYXBwZWFyZWQgaW5zaWRlIHRoZSBteXN0ZXJ5LiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlQ2xhc3MgPSAmcXVvdDtibS10b2FzdC1wdXJwbGUmcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtjYXNlICZxdW90O3J1bGVzLW1hdHRlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O1J1bGVzIE1hdHRlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O1J5YW4gaGFzIGlkZW50aWZpZWQgdGhyZWUgaW1wb3J0YW50IHJ1bGVzLiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlQ2xhc3MgPSAmcXVvdDtibS10b2FzdC1ncmVlbiZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7Y2hlY2stZmFjdHMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZU5hbWUgPSAmcXVvdDtDaGVjayB0aGUgRmFjdHMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUhpbnQgPSAmcXVvdDtLaW1teSBoYXMgY29uZmlybWVkIHRocmVlIGZhY3RzLiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlQ2xhc3MgPSAmcXVvdDtibS10b2FzdC1yb3NlJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDt3cml0ZS1pdC1kb3duJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VOYW1lID0gJnF1b3Q7V3JpdGUgSXQgRG93biZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O1Njb290IGhhcyBwcmVzZXJ2ZWQgdGhyZWUgbm90ZWJvb2sgZW50cmllcy4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3Qtb3JhbmdlJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDtldmVyeW9uZS1waWVjZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O0V2ZXJ5b25lIEhhcyBhIFBpZWNlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VIaW50ID0gJnF1b3Q7QWxsIGZvdXIgaW52ZXN0aWdhdG9ycyBhcmUgd29ya2luZyB0b2dldGhlci4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3QtdGVhbCZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7Y2FzZS1vbmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZU5hbWUgPSAmcXVvdDtDYXNlIE9uZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O1RoZSBFcGlzb2RlIE9uZSBpbnZlc3RpZ2F0aW9uIGlzIGNvbXBsZXRlLiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlQ2xhc3MgPSAmcXVvdDtibS10b2FzdC1idXJndW5keSZxdW90OyZndDsmZ3Q7CiAgICAmbHQ7Jmx0O2Nhc2UgJnF1b3Q7Y2FyZWZ1bC1pbnZlc3RpZ2F0b3ImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZU5hbWUgPSAmcXVvdDtDYXJlZnVsIEludmVzdGlnYXRvciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O0EgbGFyZ2UgY2x1ZSBjb2xsZWN0aW9uIHdhcyBidWlsdCBiZWZvcmUgdGhlIGdyb3VwIHVuaXRlZC4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3Qtc2lsdmVyJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDtjbHVlLWtlZXBlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O0NsdWUgS2VlcGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VIaW50ID0gJnF1b3Q7RWlnaHQgZGlzY292ZXJpZXMgaGF2ZSBlbnRlcmVkIHRoZSBzaGFyZWQgZXZpZGVuY2UgZmlsZS4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3Qtc2lsdmVyJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDtwYXR0ZXJuLW1hc3RlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O1BhdHRlcm4gTWFzdGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VIaW50ID0gJnF1b3Q7VGVuIHVuZXhwbGFpbmVkIGV2ZW50cyBoYXZlIGJlZW4gbm90aWNlZC4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3Qtc2lsdmVyJnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDtjb21wbGV0ZS1maWxlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VOYW1lID0gJnF1b3Q7Q29tcGxldGUgQ2FzZSBGaWxlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VIaW50ID0gJnF1b3Q7QWxsIGVpZ2h0IFN0YW5kYXJkIGJhZGdlcyBoYXZlIGJlZW4gZWFybmVkLiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlQ2xhc3MgPSAmcXVvdDtibS10b2FzdC1zaWx2ZXImcXVvdDsmZ3Q7Jmd0OwogICAgJmx0OyZsdDtjYXNlICZxdW90O2hvdXNlLXJlbWVtYmVycyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlTmFtZSA9ICZxdW90O1RoZSBIb3VzZSBSZW1lbWJlcnMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUhpbnQgPSAmcXVvdDtBIHNlY3JldCBjb25uZWN0aW9uIHRvIHRoZSBXaW5jaGVzdGVyIGhvdXNlIGhhcyBiZWVuIHVuY292ZXJlZC4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3Qtc2VjcmV0JnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDt0aHJlZS1rbm9ja3MmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZU5hbWUgPSAmcXVvdDtUaHJlZSBLbm9ja3MmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUhpbnQgPSAmcXVvdDtBIHJlcGVhdGVkIHNpZ25hbCBoYXMgYmVlbiBjb25uZWN0ZWQgdG8gTHVjaWxsZS4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3Qtc2VjcmV0JnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDt3YXRjaGVkLXdvb2RzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VOYW1lID0gJnF1b3Q7V2F0Y2hlZCBmcm9tIHRoZSBXb29kcyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2FjdGl2ZUJhZGdlSGludCA9ICZxdW90O0EgaGlkZGVuIHdhdGNoZXIgbmVhciB0aGUgdHJlZXMgaGFzIGJlZW4gbm90aWNlZC4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3Qtc2VjcmV0JnF1b3Q7Jmd0OyZndDsKICAgICZsdDsmbHQ7Y2FzZSAmcXVvdDtuZXZlci1sZWZ0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VOYW1lID0gJnF1b3Q7VGhleSBOZXZlciBMZWZ0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCBfYWN0aXZlQmFkZ2VIaW50ID0gJnF1b3Q7QSBzZWNyZXQgd2FybmluZyBmcm9tIEJyZWNrZW5yaWRnZSYjMzk7cyBwYXN0IGhhcyBiZWVuIHVuY292ZXJlZC4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9hY3RpdmVCYWRnZUNsYXNzID0gJnF1b3Q7Ym0tdG9hc3Qtc2VjcmV0JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDsvc3dpdGNoJmd0OyZndDsKCiZsdDsmbHQ7aWYgX2FjdGl2ZUJhZGdlSWQgYW5kIF9hY3RpdmVCYWRnZU5hbWUmZ3Q7Jmd0OwogICAgJmx0OyZsdDtpZiBub3QgJGVhcm5lZEJhZGdlSWRzLmluY2x1ZGVzKF9hY3RpdmVCYWRnZUlkKSZndDsmZ3Q7CiAgICAgICAgJmx0OyZsdDtzZXQgJGVhcm5lZEJhZGdlSWRzID0gJGVhcm5lZEJhZGdlSWRzLmNvbmNhdChbX2FjdGl2ZUJhZGdlSWRdKSZndDsmZ3Q7CiAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAmbHQ7Jmx0O3NldCAkbGF0ZXN0QmFkZ2VJZCA9IF9hY3RpdmVCYWRnZUlkJmd0OyZndDsKICAgICZsdDsmbHQ7c2V0ICRsYXRlc3RCYWRnZU5hbWUgPSBfYWN0aXZlQmFkZ2VOYW1lJmd0OyZndDsKCiAgICAmbHQ7Jmx0O2lmIG5vdCBTdGF0ZS5wYXNzYWdlLnN0YXJ0c1dpdGgoJnF1b3Q7TXlzdGVyeSBLaXQgLSAmcXVvdDspJmd0OyZndDsKICAgICAgICAmbHQ7YXNpZGUgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtdG9hc3QgJmx0OyZsdDs9X2FjdGl2ZUJhZGdlQ2xhc3MmZ3Q7Jmd0OyZxdW90OyByb2xlPSZxdW90O3N0YXR1cyZxdW90OyBhcmlhLWxpdmU9JnF1b3Q7cG9saXRlJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWJhZGdlLXRvYXN0LWFydCZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2ltZyBAc3JjPSZxdW90OyYjMzk7aW1hZ2VzL2JhZGdlcy8mIzM5OyArIF9hY3RpdmVCYWRnZUlkICsgJiMzOTsucG5nJiMzOTsmcXVvdDsgYWx0PSZxdW90OyZxdW90OyZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtdG9hc3QtY29weSZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym0tYmFkZ2UtdG9hc3Qta2lja2VyJnF1b3Q7Jmd0O0JhZGdlIEVhcm5lZCZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O3N0cm9uZyZndDsmbHQ7Jmx0Oz1fYWN0aXZlQmFkZ2VOYW1lJmd0OyZndDsmbHQ7L3N0cm9uZyZndDsKICAgICAgICAgICAgICAgICZsdDtzcGFuJmd0OyZsdDsmbHQ7PV9hY3RpdmVCYWRnZUhpbnQmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7aWYgU3RvcnkuaGFzKCZxdW90O015c3RlcnkgS2l0IC0gQmFkZ2UgQ2FiaW5ldCZxdW90OykmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibS1iYWRnZS10b2FzdC1hY3Rpb24mcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtsaW5rICZxdW90O09wZW4gQ2FiaW5ldCZxdW90OyZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7aWYgbm90IFN0YXRlLnBhc3NhZ2Uuc3RhcnRzV2l0aCgmcXVvdDtNeXN0ZXJ5IEtpdCAtICZxdW90OykmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0OyZsdDtzZXQgJGJtUmV0dXJuUGFzc2FnZSA9IFN0YXRlLnBhc3NhZ2UmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7Z290byAmcXVvdDtNeXN0ZXJ5IEtpdCAtIEJhZGdlIENhYmluZXQmcXVvdDsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsmbHQ7L2lmJmd0OyZndDsKICAgICAgICAmbHQ7L2FzaWRlJmd0OwogICAgJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7L25vYnImZ3Q7Jmd0OwoKJmx0OyZsdDtpZiAkZGV2VmlzaXRlZCBpcyB1bmRlZmluZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRkZXZWaXNpdGVkID0gW10mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2lmICRkZXZWaXNpdENvdW50cyBpcyB1bmRlZmluZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRkZXZWaXNpdENvdW50cyA9IHt9Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtydW4gJGRldlZpc2l0ZWQucHVzaFVuaXF1ZShTdGF0ZS5wYXNzYWdlKSZndDsmZ3Q7Jmx0OyZsdDtydW4gJGRldlZpc2l0Q291bnRzW1N0YXRlLnBhc3NhZ2VdID0gKCRkZXZWaXNpdENvdW50c1tTdGF0ZS5wYXNzYWdlXSB8fCAwKSArIDEmZ3Q7Jmd0OyZsdDsmbHQ7aWYgc2V0dXAuZGV2VW5sb2NrZWQgYW5kICRkZXZNb2RlIGFuZCBTdGF0ZS5wYXNzYWdlIGlzbm90ICZxdW90O0RldkRhc2hib2FyZCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtibS1kZXYtc2hvcnRjdXQmcXVvdDsmZ3Q7W1tTdGFmZiBDb25zb2xlLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyODkiIG5hbWU9IlNjb290IFVzZXMgdGhlIE5vdGVib29rIEhleGFmb2lsIiB0YWdzPSJiZy1wYXNzYWdlIiBwb3NpdGlvbj0iMTQ3NSw1NzUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtVc2UgdGhlIG5vdGVib29rJiMzOTtzIGhleGFmb2lsIHRvIGtlZXAgdGhlIGZpZnRoIGZpZ3VyZSBmcm9tIGNyb3NzaW5nJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0OwpTY29vdCBvcGVuZWQgdGhlIG5vdGVib29rIHRvIHRoZSBwYWdlIGNvbnRhaW5pbmcgdGhlIHNpeC1wZXRhbGVkIHN5bWJvbC4gVGhlIGRyYXdpbmcgaGFkIGNoYW5nZWQuIFRoZSBwZXRhbHMgd2VyZSBkYXJrZXIgdGhhbiB0aGUgcGVuY2lsIG1hcmtzIGFyb3VuZCB0aGVtLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVHdvIHRoaW4gbGluZXMgY3Jvc3NlZCB0aGUgbG93ZXIgcGV0YWwuCiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDsKSUkuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBzYW1lIG1hcmtpbmcgU2Nvb3QgaGFkIHNlZW4gbmVhciB0aGUgaGlkZGVuIGRvb3J3YXkuIFRoZSBzZWFtIGluIHRoZSB3YWxsIHdpZGVuZWQgYW5vdGhlciBpbmNoLiBDb2xkIGFpciBwdXNoZWQgdGhlIG5vdGVib29rIHBhZ2VzIGJhY2t3YXJkLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKVGhlIGZpZnRoIGZpZ3VyZSBtb3ZlZCBjbG9zZXIgaW4gdGhlIHBvc3RlciBnbGFzcy4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoZSBzeW1ib2wsJnF1b3Q7IFNjb290IHNhaWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpSeWFuIGtlcHQgYm90aCBoYW5kcyBhZ2FpbnN0IHRoZSB3YWxsLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7V2hhdCBhYm91dCBpdD8mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IGtlZXBzIHNob3dpbmcgdXAgbmVhciBkb29ycy4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O1RoYXQgaXMgbm90IGEgY29tcGxldGUgcnVsZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0l0IGlzIHRoZSBjb21wbGV0ZSBydWxlIEkgaGF2ZS4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClNjb290IHByZXNzZWQgdGhlIG9wZW4gbm90ZWJvb2sgYWdhaW5zdCB0aGUgcGFpbnRlZCBzZWFtLiBUaGUgcGFwZXIgcHVsbGVkIGZsYXQgYWdhaW5zdCB0aGUgd2FsbC4gRm9yIG9uZSBzZWNvbmQsIG5vdGhpbmcgaGFwcGVuZWQuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIHRoZSBoZXhhZm9pbCBkaXNhcHBlYXJlZCBmcm9tIHRoZSBwYWdlLiBBIGRhcmsgb3V0bGluZSBvZiB0aGUgc3ltYm9sIGFwcGVhcmVkIGJlbmVhdGggdGhlIHBhaW50IGluc3RlYWQuIFNpeCBjdXJ2ZWQgcGV0YWxzIHNwcmVhZCBhY3Jvc3MgdGhlIG9wZW5pbmcuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGUgZG9vcndheSBzdG9wcGVkIHdpZGVuaW5nLiBUaGUgZmlmdGggZmlndXJlIHN0b3BwZWQgd2l0aCBvbmUgZm9vdCBuZWFyIHRoZSByZWZsZWN0ZWQgdGhyZXNob2xkLiBTY29vdCBoZWxkIHRoZSBub3RlYm9vayBpbiBwbGFjZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBjb3ZlciB2aWJyYXRlZCBiZW5lYXRoIGhpcyBoYW5kcy4gQSBzZW50ZW5jZSBhcHBlYXJlZCBhY3Jvc3MgdGhlIGV4cG9zZWQgcGFnZS4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0OwpBIENPUFkgQ0FOIEhPTEQgSVQuJmx0O2JyJmd0OwpPTkxZIFRIRSBGSVJTVCBNQVJLIENBTiBDTE9TRSBJVC4KJmx0Oy9kaXYmZ3Q7CgombHQ7Jmx0O3J1biBzZXR1cC5hZGRTY29vdE5vdGVib29rRW50cnkoJnF1b3Q7QSBjb3B5IGNhbiBob2xkIGl0LiBPbmx5IHRoZSBmaXJzdCBtYXJrIGNhbiBjbG9zZSBpdC4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuYWRkU2Nvb3RPYnNlcnZhdGlvbigmcXVvdDtUaGUgbm90ZWJvb2smIzM5O3MgaGV4YWZvaWwgc3RvcHBlZCB0aGUgaGlkZGVuIGRvb3J3YXkgZnJvbSB3aWRlbmluZyBidXQgY291bGQgbm90IGNsb3NlIGl0JnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLmFkZFNjb290SW5zdGluY3QoMikmZ3Q7Jmd0OwombHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtTY29vdCYjMzk7cyBjb3BpZWQgaGV4YWZvaWwgY291bGQgaG9sZCB0aGUgaGlkZGVuIGRvb3J3YXkgb3BlbiBvciBjbG9zZWQsIGJ1dCBjb3VsZCBub3Qgc2VhbCBpdCZxdW90OykmZ3Q7Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7CiZsdDtzdHJvbmcmZ3Q7Qm91bmRhcnkgdGVzdDombHQ7L3N0cm9uZyZndDsgVGhlIG5vdGVib29rJiMzOTtzIGNvcGllZCBoZXhhZm9pbCBzdG9wcGVkIHRoZSBkb29yd2F5IGZyb20gb3BlbmluZyBmYXJ0aGVyLCBidXQgdGhlIG5vdGVib29rIHdhcm5lZCB0aGF0IG9ubHkgdGhlIGZpcnN0IG1hcmsgY291bGQgY2xvc2UgaXQuCiZsdDsvZGl2Jmd0OwoKJmx0O3AmZ3Q7ClRoZSBmaWZ0aCBmaWd1cmUgcHJlc3NlZCBvbmUgaGFuZCBhZ2FpbnN0IHRoZSBvdGhlciBzaWRlIG9mIHRoZSBzeW1ib2wuIFRoZSBwYXBlciBiZW50IGlud2FyZC4gT25lIHBldGFsIGZhZGVkIGZyb20gdGhlIHdhbGwuCiZsdDsvcCZndDsKCiZsdDtwJmd0OwpUaGVuIGEgc2Vjb25kLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7VGVtcG9yYXJ5IHJ1bGUsJnF1b3Q7IFJ5YW4gc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CiZxdW90O0kgbm90aWNlZC4mcXVvdDsKJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7CkZvb3RzdGVwcyBhcHByb2FjaGVkIGZyb20gdGhlIGZhciBlbmQgb2YgdGhlIGhhbGx3YXkuIFNvbWVvbmUgdHVybmVkIHRoZSBjb3JuZXIgY2FycnlpbmcgYSB3b3JuIGxlYXRoZXIgcmVwb3J0ZXImIzM5O3MgY2FzZS4gQSBmYWRlZCB5ZWxsb3cgcmliYm9uIHRyYWlsZWQgZnJvbSBiZW5lYXRoIGl0cyBjbGFzcC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSBzYW1lIHBlcnNvbiBhcHBlYXJlZCBpbiB0aGUgcG9zdGVyIGdsYXNzIGJlc2lkZSBTY29vdCBhbmQgUnlhbi4gVGhlIGZpZnRoIGZpZ3VyZSBwdWxsZWQgYmFjay4gVGhlIG5ld2NvbWVyIHN0b3BwZWQgaW4gZnJvbnQgb2YgdGhlIGV4cG9zZWQgc3ltYm9sLgombHQ7L3AmZ3Q7CgombHQ7cCZndDsKJnF1b3Q7RG9uJiMzOTt0IG1vdmUgdGhlIG5vdGVib29rLCZxdW90OyB0aGUgbmV3Y29tZXIgc2FpZC4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoZSByZXBvcnRlciYjMzk7cyBjYXNlIG9wZW5lZC4gQSBzaGVldCBvZiBhcmNoaXZlIHBhcGVyIHNsaWQgZnJlZS4gQSBzZWNvbmQgaGV4YWZvaWwgY292ZXJlZCB0aGUgcGFnZS4KJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7ClRoaXMgb25lIGxvb2tlZCBvbGRlci4gTm90IGNvcGllZC4gUmVtZW1iZXJlZC4KJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKW1tLZWVwIHRoZSBub3RlYm9vayBhZ2FpbnN0IHRoZSB3YWxsLSZndDtLaW1teSBSZWFjaGVzIFNjb290IGFuZCBSeWFuXV0KJmx0Oy9kaXYmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjkwIiBuYW1lPSJSb21hbk51bWVyYWxMb2NrIiB0YWdzPSJwdXp6bGUgYmctcGFzc2FnZSIgcG9zaXRpb249IjE4MjAsMTIwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogU3RhaXJjYXNlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RlY29kZSB0aGUgbWFyayBiZW5lYXRoIHRoZSBoZXhhZm9pbCZxdW90OyZndDsmZ3Q7CgombHQ7cCZndDtUaGUgc2NyYXRjaGVzIHNoYXJwZW5lZCB3aGVuZXZlciBLZXZpbiBzdG9wcGVkIGxvb2tpbmcgZGlyZWN0bHkgYXQgdGhlbS4mbHQ7L3AmZ3Q7CiZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7WEkuJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9wJmd0OwombHQ7cCZndDtOb3QgYSBuYW1lLiBOb3QgYSB3YXJuaW5nLiBBIG51bWJlciB3cml0dGVuIHRoZSBvbGQgd2F5LiZsdDsvcCZndDsKJmx0O3AmZ3Q7SW5zaWRlIHRoZSBzdGFpcmNhc2UsIHRoZSBzY3JhdGNoaW5nIG1vdmVkIGRvd24gb25lIHN0ZXAuJmx0Oy9wJmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtdmlzdWFsIHJvbWFuJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXNpZ2lsJnF1b3Q7Jmd0O1hJJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtwdXp6bGUta2lja2VyJnF1b3Q7Jmd0O0ludGVyYWN0aXZlIGNsdWUmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgTWFyayBpbiB0aGUgV29vZCZsdDsvc3Ryb25nJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1jbHVlLXN0cmlwJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3N0cmlwLWxhYmVsJnF1b3Q7Jmd0O0NsdWUgVHJhaWwmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Y2x1ZS1jaGlwIHNlZW4mcXVvdDsmZ3Q7Jmx0O2ImZ3Q7MSZsdDsvYiZndDtTaXgtcGV0YWwgbWFyayZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtjbHVlLWNoaXAgYWN0aXZlJnF1b3Q7Jmd0OyZsdDtiJmd0OzImbHQ7L2ImZ3Q7Um9tYW4gbnVtZXJhbCBYSSZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtjbHVlLWNoaXAgbG9ja2VkJnF1b3Q7Jmd0OyZsdDtiJmd0OzMmbHQ7L2ImZ3Q7RWxldmVudGggc3RhaXImbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7aWYgJHJvbWFuUHV6emxlU29sdmVkJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcmV2ZWFsIHN1Y2Nlc3MmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtYSSA9IDExJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7VGhlIFJvbWFuIG51bWVyYWwgaGFzIGFscmVhZHkgYmVlbiBkZWNvZGVkLiBUaGUgZWxldmVudGggc3RhaXIgcmVtYWlucyBtYXJrZWQuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OwpbW0NvbnRpbnVlLSZndDtSb21hbk51bWVyYWxDaG9pY2VzXV0KJmx0OyZsdDtlbHNlJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcGFuZWwmcXVvdDsmZ3Q7CiZsdDtoMyZndDtMb2NrZWQgQ2x1ZTogVGhlIE1hcmsgaW4gdGhlIFdvb2QmbHQ7L2gzJmd0OwombHQ7cCZndDtDb252ZXJ0IHRoZSBSb21hbiBudW1lcmFsICZsdDtzdHJvbmcmZ3Q7WEkmbHQ7L3N0cm9uZyZndDsgaW50byBhbiBvcmRpbmFyeSBudW1iZXIuJmx0Oy9wJmd0OwombHQ7Jmx0O3RleHRib3ggJnF1b3Q7JHJvbWFuQW5zd2VyJnF1b3Q7ICZxdW90OyZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7YnV0dG9uICZxdW90O1Rlc3QgdGhlIGFuc3dlciZxdW90OyZndDsmZ3Q7CgkmbHQ7Jmx0O3NldCBfYW5zd2VyID0gJHJvbWFuQW5zd2VyLnRyaW0oKS50b1VwcGVyQ2FzZSgpJmd0OyZndDsKCSZsdDsmbHQ7aWYgX2Fuc3dlciBpcyAmcXVvdDsxMSZxdW90OyBvciBfYW5zd2VyIGlzICZxdW90O0VMRVZFTiZxdW90OyZndDsmZ3Q7CgkJJmx0OyZsdDtpZiBub3QgJHJvbWFuUHV6emxlU29sdmVkJmd0OyZndDsKCQkJJmx0OyZsdDtzZXQgJHJvbWFuUHV6emxlU29sdmVkID0gdHJ1ZSZndDsmZ3Q7CgkJCSZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1hJIHBvaW50cyB0byB0aGUgZWxldmVudGggc3RhaXImcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgkJJmx0OyZsdDtyZXBsYWNlICZxdW90OyNyb21hbi1yZXN1bHQmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXJldmVhbCBzdWNjZXNzJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1pY29uJnF1b3Q7Jmd0O+KckyZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1sYWJlbCZxdW90OyZndDtDbHVlIGRlY29kZWQmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtYSSA9IDExJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7VGhlIGVsZXZlbnRoIHN0YWlyIGZsYXNoZXMgZ29sZCBvbiBLZXZpbuKAmXMgbWVudGFsIG1hcC4gVGhlIHNjcmF0Y2hpbmcgc3RvcHMgZGlyZWN0bHkgYmVuZWF0aCBpdC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWVhcm5lZCZxdW90OyZndDtBZGRlZCB0byBjbHVlczogRWxldmVudGggc3RhaXImbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q29udGludWUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtSb21hbk51bWVyYWxDaG9pY2VzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7Jmx0Oy9yZXBsYWNlJmd0OyZndDsKCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHB1enpsZU1pc3Rha2VzICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cmVwbGFjZSAmcXVvdDsjcm9tYW4tcmVzdWx0JnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgcmV0cnkmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cmV2ZWFsLWljb24mcXVvdDsmZ3Q7ISZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1sYWJlbCZxdW90OyZndDtUaGUgbWFyayByZWplY3RzIHRoYXQgYW5zd2VyJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7VGhlIHN0YWlyY2FzZSBrbm9ja3Mgb25jZSZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O0JyZWFrIHRoZSBudW1lcmFsIGludG8gcGllY2VzOiAmbHQ7YiZndDtYID0gMTAmbHQ7L2ImZ3Q7IGFuZCAmbHQ7YiZndDtJID0gMSZsdDsvYiZndDsuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L3JlcGxhY2UmZ3Q7Jmd0OwoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0Oy9idXR0b24mZ3Q7Jmd0OwombHQ7ZGl2IGlkPSZxdW90O3JvbWFuLXJlc3VsdCZxdW90OyZndDsmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI5MSIgbmFtZT0iUm9tYW5OdW1lcmFsQ2hvaWNlcyIgdGFncz0icHV6emxlIGJnLXBhc3NhZ2UiIHBvc2l0aW9uPSIxODQwLDEyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLWNsdWUtc3RyaXAmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7c3RyaXAtbGFiZWwmcXVvdDsmZ3Q7Q2x1ZSBUcmFpbCZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtjbHVlLWNoaXAgc2VlbiZxdW90OyZndDsmbHQ7YiZndDsxJmx0Oy9iJmd0O1NpeC1wZXRhbCBtYXJrJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2NsdWUtY2hpcCBzb2x2ZWQmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7MiZsdDsvYiZndDtYSSA9IDExJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2NsdWUtY2hpcCBhY3RpdmUmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7MyZsdDsvYiZndDtFbGV2ZW50aCBzdGFpciZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsKJmx0OyZsdDtpZiBub3QgJHJvbWFuUHV6emxlU29sdmVkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7Um9tYW5OdW1lcmFsTG9jayZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDtFbGV2ZW4uJmx0Oy9wJmd0OwombHQ7cCZndDtLZXZpbiBjb3VudGVkIGFnYWluLiBUaGUgc2NyYXRjaGluZyBzdG9wcGVkIGJlbmVhdGggdGhlIGRhcmtlbmVkIHN0ZXAsIGFzIGlmIHRoZSBob3VzZSBoYWQgYmVlbiB3YWl0aW5nIGZvciBoaW0gdG8gdW5kZXJzdGFuZC4mbHQ7L3AmZ3Q7CiZsdDtwJmd0O1RoZW4gc29tZXRoaW5nIHRhcHBlZCBmcm9tIHRoZSBvdGhlciBzaWRlIG9mIHRoZSB3b29kLiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doYXQgc2hvdWxkIEtldmluIGRvPyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwoJW1tDbGltYiB0byB0aGUgZWxldmVudGggc3RlcCBhbmQgaW5zcGVjdCBpdC0mZ3Q7S2V2aW4gSW5zcGVjdHMgdGhlIEVsZXZlbnRoIFN0ZXBdXQoJW1tDaGVjayB0aGUgaGFsbHdheSBjbG9zZXQgYmVmb3JlIHRoZSBzY3JhdGNoaW5nIHJlYWNoZXMgaXQtJmd0O0tldmluIENoZWNrcyB0aGUgSGFsbHdheSBDbG9zZXRdXQoJW1tSZW1haW4gc3RpbGwgYW5kIHRyYWNrIHRoZSBzb3VuZCB0aHJvdWdoIHRoZSB3YWxsLSZndDtLZXZpbiBMaXN0ZW5zIE5lYXIgdGhlIFN0YWlyY2FzZV1dCglbW0xlYXZlIHRoZSBzdGFpcmNhc2UgYWxvbmUgYW5kIGdldCBBYmJpZSBvdXQgb2YgdGhlIGhvdXNlLSZndDtLZXZpbiBMZWF2ZXMgdGhlIFN0YWlycyBBbG9uZV1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjkyIiBuYW1lPSJBcmNoaXZlQW5hZ3JhbUxvY2siIHRhZ3M9InB1enpsZSBiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMTg2MCwxMjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTGlicmFyeTogSGlzdG9yaWNhbCBBcmNoaXZlJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RlY29kZSB0aGUgbWVzc2FnZSBoaWRkZW4gaW4gdGhlIGRhbWFnZWQgcmVjb3JkJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0O1RoZSB3ZXQgbGluZSBjcm9zc2VkIGEgaGFuZHdyaXR0ZW4gbm90ZSBpbiB0aGUgbWFyZ2luLiBLaW1teSBibG90dGVkIHRoZSBwYWdlIGJlZm9yZSB0aGUgaW5rIGNvdWxkIHNwcmVhZC4gU2l4IHN1cnZpdmluZyBsZXR0ZXJzIHJlbWFpbmVkLCBidXQgbm90IGluIGFuIG9yZGVyIHRoYXQgZm9ybWVkIGEgd29yZDombHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2lwaGVyLXRleHQmcXVvdDsmZ3Q7RlNETElFJmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0O0tpbW15IGNvcGllZCB0aGVtIGludG8gaGVyIHJlcG9ydGVyJiMzOTtzIG5vdGVib29rLiBLaW1teSBjb3BpZWQgdGhlbSBleGFjdGx5IGFzIHRoZXkgYXBwZWFyZWQuIFRoZSBub3RlIGhhZCBiZWVuIGRpc3R1cmJlZCwgYnV0IGV2ZXJ5IGxldHRlciB3YXMgc3RpbGwgdXNhYmxlLiBJZiBzaGUgcmVzdG9yZWQgdGhlaXIgb3JkZXIsIHRoZSBhcmNoaXZlIG1pZ2h0IGZpbmFsbHkgaWRlbnRpZnkgdGhlIHBsYWNlIHRoZSB3YXJuaW5nIHByb3RlY3RlZC4mbHQ7L3AmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS12aXN1YWwgYXJjaGl2ZSZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1zaWdpbCZxdW90OyZndDtGU0RMSUUmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3B1enpsZS1raWNrZXImcXVvdDsmZ3Q7SW50ZXJhY3RpdmUgY2x1ZSZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O1RoZSBBcmNoaXZlIEFuYWdyYW0mbHQ7L3N0cm9uZyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtY2x1ZS1zdHJpcCZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtzdHJpcC1sYWJlbCZxdW90OyZndDtDbHVlIFRyYWlsJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2NsdWUtY2hpcCBzZWVuJnF1b3Q7Jmd0OyZsdDtiJmd0OzEmbHQ7L2ImZ3Q7Qm91bmRhcnkgd2FybmluZyZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtjbHVlLWNoaXAgYWN0aXZlJnF1b3Q7Jmd0OyZsdDtiJmd0OzImbHQ7L2ImZ3Q7RlNETElFJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2NsdWUtY2hpcCBsb2NrZWQmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7MyZsdDsvYiZndDtGaWVsZCBsb2NhdGlvbiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcGFuZWwmcXVvdDsmZ3Q7CiZsdDtoMyZndDtMb2NrZWQgQ2x1ZTogVGhlIEFyY2hpdmUgQW5hZ3JhbSZsdDsvaDMmZ3Q7CiZsdDtwJmd0O1Vuc2NyYW1ibGUgJmx0O3N0cm9uZyZndDtGU0RMSUUmbHQ7L3N0cm9uZyZndDsuIFRoZSBhbnN3ZXIgaXMgYSBwbGFjZSBjb25uZWN0ZWQgdG8gdGhlIFdpbmNoZXN0ZXIgaG91c2UgYW5kIHRoZSBvbGQgb2FrIHRyZWUuJmx0Oy9wJmd0OwombHQ7Jmx0O3RleHRib3ggJnF1b3Q7JGFyY2hpdmVBbnN3ZXImcXVvdDsgJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtidXR0b24gJnF1b3Q7RGVjb2RlIHRoZSB3b3JkJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7c2V0IF9hbnN3ZXIgPSAkYXJjaGl2ZUFuc3dlci50cmltKCkudG9VcHBlckNhc2UoKSZndDsmZ3Q7CgkmbHQ7Jmx0O2lmIF9hbnN3ZXIgaXMgJnF1b3Q7RklFTEQmcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRhcmNoaXZlUHV6emxlU29sdmVkID0gdHJ1ZSZndDsmZ3Q7CgkJJmx0OyZsdDtydW4gc2V0dXAuYWRkS2ltbXlGYWN0KCZxdW90O1RoZSBhcmNoaXZlIGFuYWdyYW0gaWRlbnRpZmllcyB0aGUgZmllbGQmcXVvdDspJmd0OyZndDsKCQkmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBcmNoaXZlIGFuYWdyYW06IEZJRUxEJnF1b3Q7KSZndDsmZ3Q7CgkJJmx0OyZsdDtyZXBsYWNlICZxdW90OyNhcmNoaXZlLXJlc3VsdCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcmV2ZWFsIHN1Y2Nlc3MmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cmV2ZWFsLWljb24mcXVvdDsmZ3Q74pyTJmx0Oy9zcGFuJmd0OyZsdDtkaXYmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cmV2ZWFsLWxhYmVsJnF1b3Q7Jmd0O1dvcmQgcmVzdG9yZWQmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtGU0RMSUUg4oaSIEZJRUxEJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7VGhlIGxldHRlcnMgc2V0dGxlIGludG8gcGxhY2UuIEEgc2tldGNoZWQgZmllbGQgYmVzaWRlIHRoZSBXaW5jaGVzdGVyIHByb3BlcnR5IGJyaWdodGVucyBvbiB0aGUgYXJjaGl2ZSBtYXAuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1lYXJuZWQmcXVvdDsmZ3Q7QWRkZWQgdG8gY2x1ZXM6IFdpbmNoZXN0ZXIgZmllbGQmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UHJvdGVjdCB0aGUgYXJjaGl2ZSByZWNvcmQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtLaW1teSBTYXZlcyB0aGUgSGlzdG9yaWNhbCBFdmlkZW5jZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDsvcmVwbGFjZSZndDsmZ3Q7CgkmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRwdXp6bGVNaXN0YWtlcyArPSAxJmd0OyZndDsKCQkmbHQ7Jmx0O3JlcGxhY2UgJnF1b3Q7I2FyY2hpdmUtcmVzdWx0JnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgcmV0cnkmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cmV2ZWFsLWljb24mcXVvdDsmZ3Q7ISZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1sYWJlbCZxdW90OyZndDtUaGUgbGV0dGVycyBkbyBub3Qgc2V0dGxlJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7VHJ5IGFub3RoZXIgYXJyYW5nZW1lbnQmbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtUaGUgYW5zd2VyIGJlZ2lucyB3aXRoICZsdDtiJmd0O0YmbHQ7L2ImZ3Q7IGFuZCBuYW1lcyBhbiBhcmVhIG9mIG9wZW4gbGFuZC4mbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvcmVwbGFjZSZndDsmZ3Q7CgkmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7L2J1dHRvbiZndDsmZ3Q7CiZsdDtkaXYgaWQ9JnF1b3Q7YXJjaGl2ZS1yZXN1bHQmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjkzIiBuYW1lPSJTdGFpclNlcXVlbmNlTG9jayIgdGFncz0icHV6emxlIGJnLXBhc3NhZ2UiIHBvc2l0aW9uPSIxODgwLDEyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBIaWRkZW4gUGFzc2FnZSZxdW90OyZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtVc2UgdGhlIFJvbWFuLW51bWVyYWwgc2VxdWVuY2UgdG8gb3BlbiB0aGUgc2VhbGVkIHJvdXRlJnF1b3Q7Jmd0OyZndDsKCiZsdDtwJmd0O0tpbW15IHNwcmVhZCBmaXZlIGNvcGllZCBtYXJrcyBhY3Jvc3MgdGhlIGZsb29yIGluIHRoZSBvcmRlciBzaGUgaGFkIGZvdW5kIHRoZW0uJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NpcGhlci10ZXh0JnF1b3Q7Jmd0O0lJSSAmYW1wO25ic3A7IFZJSUkgJmFtcDtuYnNwOyBWICZhbXA7bmJzcDsgSVYgJmFtcDtuYnNwOyBJSSZsdDsvZGl2Jmd0OwombHQ7cCZndDtSeWFuIGNyb3VjaGVkIGJlc2lkZSB0aGVtLiAmcXVvdDtUaGV5IGFyZW4mIzM5O3QgZGlyZWN0aW9ucywmcXVvdDsgaGUgc2FpZC4gJnF1b3Q7VGhleSYjMzk7cmUgc3RhaXIgbnVtYmVycy4mcXVvdDsmbHQ7L3AmZ3Q7CiZsdDtwJmd0O0Egcm93IG9mIGZpdmUgc3RvbmUgdGFicyBwdXNoZWQgb3V0IGZyb20gdGhlIHdhbGwuIEVhY2ggd2FpdGVkIGZvciBhIG51bWJlci4mbHQ7L3AmZ3Q7CiZsdDtwJmd0O0Zyb20gYmVoaW5kIHRoZSBzZWFsZWQgcGFzc2FnZSBjYW1lIHRocmVlIHNsb3cga25vY2tzLiZsdDsvcCZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXZpc3VhbCBzdGFpcnMmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtc2lnaWwmcXVvdDsmZ3Q7SUlJIMK3IFZJSUkgwrcgViDCtyBJViDCtyBJSSZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cHV6emxlLWtpY2tlciZxdW90OyZndDtJbnRlcmFjdGl2ZSBjbHVlJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7VGhlIFN0YWlyIFNlcXVlbmNlJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLWNsdWUtc3RyaXAmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7c3RyaXAtbGFiZWwmcXVvdDsmZ3Q7Q2x1ZSBUcmFpbCZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtjbHVlLWNoaXAgc2VlbiZxdW90OyZndDsmbHQ7YiZndDsxJmx0Oy9iJmd0O1JvbWFuIG1hcmtzJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2NsdWUtY2hpcCBhY3RpdmUmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7MiZsdDsvYiZndDtDb252ZXJ0IHNlcXVlbmNlJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2NsdWUtY2hpcCBsb2NrZWQmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7MyZsdDsvYiZndDtPcGVuIHBhc3NhZ2UmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXBhbmVsJnF1b3Q7Jmd0OwombHQ7aDMmZ3Q7TG9ja2VkIFBhc3NhZ2U6IFRoZSBTdGFpciBTZXF1ZW5jZSZsdDsvaDMmZ3Q7CiZsdDtwJmd0O0NvbnZlcnQgZWFjaCBSb21hbiBudW1lcmFsIHRvIGEgZGlnaXQgYW5kIGVudGVyIGFsbCBmaXZlIGRpZ2l0cyB3aXRoIG5vIHNwYWNlcy4mbHQ7L3AmZ3Q7CiZsdDsmbHQ7dGV4dGJveCAmcXVvdDskc3RhaXJBbnN3ZXImcXVvdDsgJnF1b3Q7JnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtidXR0b24gJnF1b3Q7RW50ZXIgdGhlIHNlcXVlbmNlJnF1b3Q7Jmd0OyZndDsKCSZsdDsmbHQ7c2V0IF9hbnN3ZXIgPSAkc3RhaXJBbnN3ZXIudHJpbSgpLnJlcGxhY2UoL1xccysvZywgJnF1b3Q7JnF1b3Q7KSZndDsmZ3Q7CgkmbHQ7Jmx0O2lmIF9hbnN3ZXIgaXMgJnF1b3Q7Mzg1NDImcXVvdDsmZ3Q7Jmd0OwoJCSZsdDsmbHQ7c2V0ICRzdGFpclB1enpsZVNvbHZlZCA9IHRydWUmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwQ29ubmVjdGlvbigmcXVvdDtUaGUgc3RhaXJjYXNlIHNlcXVlbmNlIGlzIDMtOC01LTQtMiZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0hpZGRlbiBzdGFpcmNhc2Ugc2VxdWVuY2U6IDMtOC01LTQtMiZxdW90OykmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cmVwbGFjZSAmcXVvdDsjc3RhaXItcmVzdWx0JnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgc3VjY2VzcyZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyZXZlYWwtaWNvbiZxdW90OyZndDvinJMmbHQ7L3NwYW4mZ3Q7Jmx0O2RpdiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyZXZlYWwtbGFiZWwmcXVvdDsmZ3Q7UGFzc2FnZSB1bmxvY2tlZCZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0OzMgwrcgOCDCtyA1IMK3IDQgwrcgMiZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O0VhY2ggc3RvbmUgdGFiIGdsb3dzIGFzIGl0IHNpbmtzLiBBIGxpbmUgb2YgZ29sZCByYWNlcyBhcm91bmQgdGhlIHNlYWxlZCBkb29yd2F5LCBhbmQgS2V2aW7igJlzIHdhdGNoIGNhdGNoZXMgYSByZWZsZWN0aW9uIGZyb20gMTY3OC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtzZXF1ZW5jZS12aXN1YWwmcXVvdDsmZ3Q7Jmx0O2kmZ3Q7MyZsdDsvaSZndDsmbHQ7aSZndDs4Jmx0Oy9pJmd0OyZsdDtpJmd0OzUmbHQ7L2kmZ3Q7Jmx0O2kmZ3Q7NCZsdDsvaSZndDsmbHQ7aSZndDsyJmx0Oy9pJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1lYXJuZWQmcXVvdDsmZ3Q7QWRkZWQgdG8gY2x1ZXM6IEhpZGRlbiBzdGFpcmNhc2Ugc2VxdWVuY2UmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7TG9vayB0aHJvdWdoIHRoZSBvcGVuaW5nJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW4gU2VlcyB0aGUgT2xkIEJyZWNrZW5yaWRnZSBSZWZsZWN0aW9uJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7Jmx0Oy9yZXBsYWNlJmd0OyZndDsKCSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CgkJJmx0OyZsdDtzZXQgJHB1enpsZU1pc3Rha2VzICs9IDEmZ3Q7Jmd0OwoJCSZsdDsmbHQ7cmVwbGFjZSAmcXVvdDsjc3RhaXItcmVzdWx0JnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgcmV0cnkmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cmV2ZWFsLWljb24mcXVvdDsmZ3Q7ISZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1sYWJlbCZxdW90OyZndDtTZXF1ZW5jZSByZXNldCZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O1RoZSB0YWJzIHNwcmluZyBiYWNrIG91dCZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O0NvbnZlcnQgZWFjaCBtYXJrIGluIG9yZGVyOiAmbHQ7YiZndDtJSUkmbHQ7L2ImZ3Q7LCAmbHQ7YiZndDtWSUlJJmx0Oy9iJmd0OywgJmx0O2ImZ3Q7ViZsdDsvYiZndDssICZsdDtiJmd0O0lWJmx0Oy9iJmd0OywgJmx0O2ImZ3Q7SUkmbHQ7L2ImZ3Q7LiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3NlcXVlbmNlLXZpc3VhbCBtdXRlZCZxdW90OyZndDsmbHQ7aSZndDtJSUkmbHQ7L2kmZ3Q7Jmx0O2kmZ3Q7VklJSSZsdDsvaSZndDsmbHQ7aSZndDtWJmx0Oy9pJmd0OyZsdDtpJmd0O0lWJmx0Oy9pJmd0OyZsdDtpJmd0O0lJJmx0Oy9pJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L3JlcGxhY2UmZ3Q7Jmd0OwoJJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0Oy9idXR0b24mZ3Q7Jmd0OwombHQ7ZGl2IGlkPSZxdW90O3N0YWlyLXJlc3VsdCZxdW90OyZndDsmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyOTQiIG5hbWU9Ikdyb3VwRGVkdWN0aW9uQm9hcmQiIHRhZ3M9ImdhbWVwbGF5IGRlZHVjdGlvbiBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMjEyMCwxNDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7QnVpbGQgYSB3b3JraW5nIHRoZW9yeSBmcm9tIHRoZSBldmlkZW5jZSZxdW90OyZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7ZGVkdWN0aW9uLWJvYXJkJnF1b3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2JvYXJkLWhlYWRlciZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2JvYXJkLWtpY2tlciZxdW90OyZndDtCcmVja2VucmlkZ2UgQ2FzZSBCb2FyZCZsdDsvc3BhbiZndDsmbHQ7aDImZ3Q7V2hlcmUgYXJlIHRoZSBib3VuZGFyaWVzPyZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7U2VsZWN0IHRoZSBjbHVlcyB0aGF0IHNoYXJlIGEgc3VwZXJuYXR1cmFsIGZ1bmN0aW9uLiZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JvYXJkLXNjb3JlJnF1b3Q7Jmd0O0Nvbm5lY3Rpb25zJmx0O2JyJmd0OyZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDtwcmludCAkZGVkdWN0aW9uU2NvcmUmZ3Q7Jmd0OyAvIDMmbHQ7L3N0cm9uZyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtib2FyZC1wcm9ncmVzcyZxdW90OyBhcmlhLWxhYmVsPSZxdW90O0RlZHVjdGlvbiBwcm9ncmVzcyZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDthY3RpdmUmcXVvdDsmZ3Q7MS4gQm91bmRhcmllcyZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmcXVvdDsmZ3Q7Mi4gVGhlIEdpcmxzJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90OyZxdW90OyZndDszLiBDZW50ZXImbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtbmFycmF0aW9uJnF1b3Q7Jmd0OyZsdDtwJmd0O0tpbW15IGFycmFuZ2VkIHBob3RvZ3JhcGhzLCBjb3BpZWQgc3ltYm9scywgbm90ZWJvb2sgbGluZXMsIGFuZCB3aXRuZXNzIG5vdGVzIGFjcm9zcyB0aGUgZmxvb3IuJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O05vIGd1ZXNzaW5nLCZxdW90OyBzaGUgc2FpZC4gJnF1b3Q7Q29ubmVjdGlvbnMgbmVlZCBldmlkZW5jZS4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXZpZGVuY2UtZ3JpZCZxdW90OyBhcmlhLWxhYmVsPSZxdW90O0F2YWlsYWJsZSBldmlkZW5jZSZxdW90OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtldmlkZW5jZS1jYXJkIHR5cGUtc3ltYm9sJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2V2aWRlbmNlLWljb24mcXVvdDsmZ3Q74pylJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7V29ybiBIZXhhZm9pbHMmbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7SG91c2UsIGFyY2hpdmUsIGFuZCBoaWRkZW4gd2FsbCZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXZpZGVuY2UtY2FyZCB0eXBlLWJvdW5kYXJ5JnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2V2aWRlbmNlLWljb24mcXVvdDsmZ3Q74palJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7RG9vciBTZWFtcyZsdDsvc3Ryb25nJmd0OyZsdDtzbWFsbCZndDtPZmZpY2UgdGhyZXNob2xkIGFuZCBzZWFsZWQgcGFzc2FnZSZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXZpZGVuY2UtY2FyZCB0eXBlLXRyYWNlJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2V2aWRlbmNlLWljb24mcXVvdDsmZ3Q74omIJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7V2V0IFRyYWlscyZsdDsvc3Ryb25nJmd0OyZsdDtzbWFsbCZndDtIb3VzZSBzdGFpcnMgYW5kIHNjaG9vbCBiYXRocm9vbSZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXZpZGVuY2UtY2FyZCB0eXBlLXJ1bGUmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7ZXZpZGVuY2UtaWNvbiZxdW90OyZndDvil4cmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtQZXJtaXNzaW9uIFJ1bGVzJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NtYWxsJmd0O0VudHJ5IGNoYW5nZXMgYWZ0ZXIgYWNrbm93bGVkZ21lbnQmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2V2aWRlbmNlLWNhcmQgdHlwZS10aW1lJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2V2aWRlbmNlLWljb24mcXVvdDsmZ3Q74pe3Jmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7U3RvcHBlZCBDbG9ja3MmbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7UmVwZWF0ZWQgdGltZTogOToxNCZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXZpZGVuY2UtY2FyZCB0eXBlLXBob3RvJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2V2aWRlbmNlLWljb24mcXVvdDsmZ3Q74panJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhbmdpbmcgUGhvdG9zJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NtYWxsJmd0O1RocmVlIGdpcmxzIGFuZCBleHRyYSBmaWd1cmVzJmx0Oy9zbWFsbCZndDsmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7aWYgJGtldmluQWJpbGl0eSBpcyAmcXVvdDtQYXR0ZXJuUmVjb2duaXRpb24mcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YWJpbGl0eS1oaW50JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7S2V2aW4sIFBhdHRlcm4gUmVjb2duaXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB3ZXQgdHJhaWxzLCBoaWRkZW4gZG9vcnMsIGFuZCBoZXhhZm9pbHMgYWxsIGFwcGVhciB3aGVyZSBvbmUgcGxhY2UgYm9yZGVycyBhbm90aGVyLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAka2ltbXlBYmlsaXR5IGlzICZxdW90O1ZlcmlmaWVkRXZpZGVuY2UmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YWJpbGl0eS1oaW50JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7S2ltbXksIFZlcmlmaWVkIEV2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBUaGUgcnVtb3IgYWJvdXQgdGVldGggaW4gdGhlIGJhdGhyb29tIHdhbGwgaXMgcmVtb3ZlZC4gTm8gd2l0bmVzcyBjb25maXJtZWQgaXQuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRrZXZpbk9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7b3B0aW9uYWwtcGF5b2ZmJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7S2V2aW4mIzM5O3MgcGhvdG9ncmFwaCBjbHVlOiZsdDsvc3Ryb25nJmd0OyBUaGUgd2V0IGZvb3RwcmludCBtYXRjaGVzIHRoZSBtaWRkbGUgZ2lybCYjMzk7cyBzaG9lcy4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJHJ5YW5PcHRpb25hbEZvdW5kJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O29wdGlvbmFsLXBheW9mZiZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O1J5YW4mIzM5O3MgdGhyZXNob2xkIHRlc3Q6Jmx0Oy9zdHJvbmcmZ3Q7IEFja25vd2xlZGdtZW50IGFsbG93ZWQgdGhlIHBlbmNpbCB0byBjcm9zcy4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJGtpbW15T3B0aW9uYWxGb3VuZCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtvcHRpb25hbC1wYXlvZmYmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtLaW1teSYjMzk7cyBoYW5kd3JpdGluZyBldmlkZW5jZTombHQ7L3N0cm9uZyZndDsgT25lIHdyaXRlciBhcHBlYXJzIGFjcm9zcyByZWNvcmRzIGRlY2FkZXMgYXBhcnQuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRzY29vdE9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7b3B0aW9uYWwtcGF5b2ZmJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7U2Nvb3QmIzM5O3Mgbm90ZWJvb2sgdGVzdDombHQ7L3N0cm9uZyZndDsgVGhlIG5vdGVib29rIHJlc3BvbmRzIHRvIHJoeXRobSBhbmQgc3RydWN0dXJlLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O2gzIGNsYXNzPSZxdW90O2JvYXJkLXF1ZXN0aW9uJnF1b3Q7Jmd0O1doaWNoIGV2aWRlbmNlIGZvcm1zIHRoZSBzdHJvbmdlc3QgYm91bmRhcnkgcGF0dGVybj8mbHQ7L2gzJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2RlZHVjdGlvbi1vcHRpb25zJnF1b3Q7Jmd0OwombHQ7Jmx0O2xpbmsgJnF1b3Q7Q2hvb3NlIENvbm5lY3Rpb24gQSZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtkZWR1Y3Rpb24tb3B0aW9uJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O29wdGlvbi10YWcmcXVvdDsmZ3Q7Q29ubmVjdGlvbiBBJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7SGV4YWZvaWxzICsgZG9vciBzZWFtcyArIHdldCB0cmFpbHMgKyBwZXJtaXNzaW9uIHJ1bGVzJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NtYWxsJmd0O0FsbCBmb3VyIGludm9sdmUgY3Jvc3NpbmcsIGVudHJ5LCBvciBzZXBhcmF0aW9uLiZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtpZiBub3QgJGRlZHVjdGlvblJld2FyZEdyb3VwRGVkdWN0aW9uQm9hcmQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRkZWR1Y3Rpb25SZXdhcmRHcm91cERlZHVjdGlvbkJvYXJkID0gdHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGRlZHVjdGlvblNjb3JlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGVkdWN0aW9uR2lybHMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7Jmx0O2xpbmsgJnF1b3Q7Q2hvb3NlIENvbm5lY3Rpb24gQiZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtkZWR1Y3Rpb24tb3B0aW9uJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O29wdGlvbi10YWcmcXVvdDsmZ3Q7Q29ubmVjdGlvbiBCJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7Q2xvY2tzICsgY2F0IGNvbGxhciArIHNjaG9vbCBidXMgKyBSeWFuJiMzOTtzIGhlbG1ldCZsdDsvc3Ryb25nJmd0OyZsdDtzbWFsbCZndDtUaGVzZSBvYmplY3RzIGFyZSB1bnVzdWFsLCBidXQgZG8gdGhleSBzaGFyZSBvbmUgZnVuY3Rpb24/Jmx0Oy9zbWFsbCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGVkdWN0aW9uQ29ycmVjdGlvbk9uZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsmbHQ7bGluayAmcXVvdDtDaG9vc2UgQ29ubmVjdGlvbiBDJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2RlZHVjdGlvbi1vcHRpb24mcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7b3B0aW9uLXRhZyZxdW90OyZndDtDb25uZWN0aW9uIEMmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtDaGFuZ2luZyBwaG90b2dyYXBocyBvbmx5Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NtYWxsJmd0O1RoZSBwaG90b2dyYXBocyBjaGFuZ2UsIGJ1dCB0aGlzIGxlYXZlcyBzZXZlcmFsIGNsdWVzIHVuZXhwbGFpbmVkLiZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RlZHVjdGlvbkNvcnJlY3Rpb25PbmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIyOTUiIG5hbWU9IkRlZHVjdGlvbkNvcnJlY3Rpb25PbmUiIHRhZ3M9ImdhbWVwbGF5IGRlZHVjdGlvbiBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMjE0MCwxNDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7ZGl2IGNsYXNzPSZxdW90O2RlZHVjdGlvbi1ib2FyZCZxdW90OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtib2FyZC1oZWFkZXImcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtib2FyZC1raWNrZXImcXVvdDsmZ3Q7QnJlY2tlbnJpZGdlIENhc2UgQm9hcmQmbHQ7L3NwYW4mZ3Q7Jmx0O2gyJmd0O1JlY2hlY2sgdGhlIGJvdW5kYXJ5IHBhdHRlcm4mbHQ7L2gyJmd0OyZsdDtwJmd0O1VzZSB0aGUgZmVlZGJhY2ssIHRoZW4gcmV2aXNlIHRoZSB0aGVvcnkuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtc2NvcmUmcXVvdDsmZ3Q7Q29ubmVjdGlvbnMmbHQ7YnImZ3Q7Jmx0O3N0cm9uZyZndDsmbHQ7Jmx0O3ByaW50ICRkZWR1Y3Rpb25TY29yZSZndDsmZ3Q7IC8gMyZsdDsvc3Ryb25nJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2JvYXJkLXByb2dyZXNzJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7RGVkdWN0aW9uIHByb2dyZXNzJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2FjdGl2ZSZxdW90OyZndDsxLiBCb3VuZGFyaWVzJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90OyZxdW90OyZndDsyLiBUaGUgR2lybHMmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7JnF1b3Q7Jmd0OzMuIENlbnRlciZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtib2FyZC1mZWVkYmFjayBpbmNvcnJlY3QmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7ZmVlZGJhY2stbWFyayZxdW90OyZndDvDlyZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q29ubmVjdGlvbiBub3Qgc3VwcG9ydGVkIHlldCZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O1NvbWUgc2VsZWN0ZWQgY2x1ZXMgYXJlIHN0cmFuZ2UsIGJ1dCBzdHJhbmdlIGlzIG5vdCB0aGUgc2FtZSBhcyBhIGJvdW5kYXJ5LiBMb29rIGZvciBjcm9zc2luZywgZW50cnksIHNlcGFyYXRpb24sIG9yIHBlcm1pc3Npb24uJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YWJpbGl0eS1oaW50JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcmFjdGVyIGluc2lnaHQ6Jmx0Oy9zdHJvbmcmZ3Q7IFJ5YW4gaWRlbnRpZmllcyB0aGUgYnJhc3Mgb2ZmaWNlIHRocmVzaG9sZCwgaGlkZGVuIHdhbGwsIGFuZCB3b3JuIGhleGFmb2lscy4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JvYXJkLXJldHVybiZxdW90OyZndDtbW1JldHVybiB0byBib3VuZGFyeSBldmlkZW5jZS0mZ3Q7R3JvdXBEZWR1Y3Rpb25Cb2FyZF1dJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjk2IiBuYW1lPSJEZWR1Y3Rpb25HaXJscyIgdGFncz0iZ2FtZXBsYXkgZGVkdWN0aW9uIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyMTYwLDE0MDAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7ZGVkdWN0aW9uLWJvYXJkJnF1b3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2JvYXJkLWhlYWRlciZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2JvYXJkLWtpY2tlciZxdW90OyZndDtCcmVja2VucmlkZ2UgQ2FzZSBCb2FyZCZsdDsvc3BhbiZndDsmbHQ7aDImZ3Q7V2hvIGFyZSB0aGUgcmVjdXJyaW5nIGdpcmxzPyZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7Q29ubmVjdCB0aGUgaGlzdG9yaWNhbCBldmlkZW5jZSB0byB0aGUgY2hhbmdpbmcgaW1hZ2VzLiZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JvYXJkLXNjb3JlJnF1b3Q7Jmd0O0Nvbm5lY3Rpb25zJmx0O2JyJmd0OyZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDtwcmludCAkZGVkdWN0aW9uU2NvcmUmZ3Q7Jmd0OyAvIDMmbHQ7L3N0cm9uZyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtib2FyZC1wcm9ncmVzcyZxdW90OyBhcmlhLWxhYmVsPSZxdW90O0RlZHVjdGlvbiBwcm9ncmVzcyZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDthY3RpdmUmcXVvdDsmZ3Q7MS4gQm91bmRhcmllcyZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDthY3RpdmUmcXVvdDsmZ3Q7Mi4gVGhlIEdpcmxzJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90OyZxdW90OyZndDszLiBDZW50ZXImbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtbmFycmF0aW9uJnF1b3Q7Jmd0OyZsdDtwJmd0O1Njb290IHBsYWNlZCB0aGUgY2hhbmdpbmcgcGhvdG9ncmFwaHMgYmVzaWRlIHRoZSBub3RlYm9vay4gVGhyZWUgZ2lybHMgYXBwZWFyZWQgaW4gdGhlIG9sZGVzdCBldmlkZW5jZSwgd2hpbGUgbGF0ZXIgcmVmbGVjdGlvbnMgc2hvd2VkIGEgZm91cnRoIG9yIGZpZnRoIGZpZ3VyZS4mbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXZpZGVuY2UtZ3JpZCBjb21wYWN0JnF1b3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2V2aWRlbmNlLWNhcmQgdHlwZS1waG90byZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtldmlkZW5jZS1pY29uJnF1b3Q7Jmd0O+KWpyZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O09sZCBQaG90b2dyYXBoJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NtYWxsJmd0O1RocmVlIGdpcmxzIGF0IHRoZSB3aW5kb3cmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2V2aWRlbmNlLWNhcmQgdHlwZS1uYW1lJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2V2aWRlbmNlLWljb24mcXVvdDsmZ3Q7QWEmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtEYW1hZ2VkIE5hbWVzJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NtYWxsJmd0O0xVQ+KApiBNQVLigKYgRUzigKYmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2V2aWRlbmNlLWNhcmQgdHlwZS1yZWZsZWN0aW9uJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2V2aWRlbmNlLWljb24mcXVvdDsmZ3Q74perJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7UmVmbGVjdGlvbnMmbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7Rm91cnRoIGFuZCBmaWZ0aCBmaWd1cmVzIGFwcGVhciZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXZpZGVuY2UtY2FyZCB0eXBlLW5vdGVib29rJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2V2aWRlbmNlLWljb24mcXVvdDsmZ3Q74omhJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7Tm90ZWJvb2smbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7VEhFIEhPVVNFIFJFTUVNQkVSUyBUSEVJUiBOQU1FUyZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7aDMgY2xhc3M9JnF1b3Q7Ym9hcmQtcXVlc3Rpb24mcXVvdDsmZ3Q7V2hhdCBjb25uZWN0cyB0aGUgZ2lybHMgdG8gdGhlIHByZXNlbnQgbXlzdGVyeT8mbHQ7L2gzJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2RlZHVjdGlvbi1vcHRpb25zJnF1b3Q7Jmd0OwombHQ7Jmx0O2xpbmsgJnF1b3Q7Q2hvb3NlIHRoZSBzdXBwb3J0ZWQgZXhwbGFuYXRpb24mcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZGVkdWN0aW9uLW9wdGlvbiZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtvcHRpb24tdGFnJnF1b3Q7Jmd0O1N1cHBvcnRlZCZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O1RoZWlyIGltYWdlcyBhbmQgbmFtZXMgcmVjdXIgd2hlcmV2ZXIgYSBwcm90ZWN0ZWQgY3Jvc3NpbmcgaXMgZmFpbGluZy4mbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7VGhpcyBhY2NvdW50cyBmb3IgdGhlIHBob3RvZ3JhcGhzLCByZWZsZWN0aW9ucywgbm90ZWJvb2ssIGFuZCBoaWRkZW4gcGFzc2FnZS4mbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7aWYgbm90ICRkZWR1Y3Rpb25SZXdhcmREZWR1Y3Rpb25HaXJscyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGRlZHVjdGlvblJld2FyZERlZHVjdGlvbkdpcmxzID0gdHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGRlZHVjdGlvblNjb3JlICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGVkdWN0aW9uQ2VudGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0OyZsdDtsaW5rICZxdW90O0Nob29zZSB0aGUgdW5wcm92ZW4gZXhwbGFuYXRpb24mcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZGVkdWN0aW9uLW9wdGlvbiZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtvcHRpb24tdGFnJnF1b3Q7Jmd0O1VucHJvdmVuJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7VGhleSBhdHRlbmRlZCB0aGUgc2Nob29sIGFuZCBjcmVhdGVkIGV2ZXJ5IHN5bWJvbC4mbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7VGhlIHJlY29yZHMgZG8gbm90IGVzdGFibGlzaCB3aG8gY2FydmVkIHRoZSBzeW1ib2xzLiZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RlZHVjdGlvbkNvcnJlY3Rpb25Ud28mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7Jmx0O2xpbmsgJnF1b3Q7Q2hvb3NlIHRoZSBpbmNvbXBsZXRlIGV4cGxhbmF0aW9uJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2RlZHVjdGlvbi1vcHRpb24mcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7b3B0aW9uLXRhZyZxdW90OyZndDtJbmNvbXBsZXRlJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7RXZlcnkgYXBwZWFyYW5jZSBwcm9iYWJseSBzaG93cyBkaWZmZXJlbnQgcGVvcGxlLiZsdDsvc3Ryb25nJmd0OyZsdDtzbWFsbCZndDtUaGlzIGRvZXMgbm90IGV4cGxhaW4gdGhlIHJlY3VycmluZyBuYW1lcyBvciBwb3Nlcy4mbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZWR1Y3Rpb25Db3JyZWN0aW9uVHdvJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMjk3IiBuYW1lPSJEZWR1Y3Rpb25Db3JyZWN0aW9uVHdvIiB0YWdzPSJnYW1lcGxheSBkZWR1Y3Rpb24gYmctc2Nob29saGFsbCIgcG9zaXRpb249IjIxODAsMTQwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtkZWR1Y3Rpb24tYm9hcmQmcXVvdDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtaGVhZGVyJnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym9hcmQta2lja2VyJnF1b3Q7Jmd0O0JyZWNrZW5yaWRnZSBDYXNlIEJvYXJkJmx0Oy9zcGFuJmd0OyZsdDtoMiZndDtSZWNoZWNrIHRoZSByZWN1cnJpbmcgZmlndXJlcyZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7VXNlIHRoZSBmZWVkYmFjaywgdGhlbiByZXZpc2UgdGhlIHRoZW9yeS4mbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtib2FyZC1zY29yZSZxdW90OyZndDtDb25uZWN0aW9ucyZsdDticiZndDsmbHQ7c3Ryb25nJmd0OyZsdDsmbHQ7cHJpbnQgJGRlZHVjdGlvblNjb3JlJmd0OyZndDsgLyAzJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtcHJvZ3Jlc3MmcXVvdDsgYXJpYS1sYWJlbD0mcXVvdDtEZWR1Y3Rpb24gcHJvZ3Jlc3MmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7YWN0aXZlJnF1b3Q7Jmd0OzEuIEJvdW5kYXJpZXMmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7YWN0aXZlJnF1b3Q7Jmd0OzIuIFRoZSBHaXJscyZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmcXVvdDsmZ3Q7My4gQ2VudGVyJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2JvYXJkLWZlZWRiYWNrIGluY29ycmVjdCZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtmZWVkYmFjay1tYXJrJnF1b3Q7Jmd0O8OXJmx0Oy9zcGFuJmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDb25uZWN0aW9uIG5vdCBzdXBwb3J0ZWQgeWV0Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7VGhlIGV2aWRlbmNlIGRvZXMgbm90IHByb3ZlIHdobyBtYWRlIHRoZSBzeW1ib2xzLiBJdCBkb2VzIHNob3cgdGhlIHNhbWUgZ2lybHMgcmVjdXJyaW5nIGFyb3VuZCBkYW1hZ2VkIGNyb3NzaW5ncy4mbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDthYmlsaXR5LWhpbnQmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFyYWN0ZXIgaW5zaWdodDombHQ7L3N0cm9uZyZndDsgU2Nvb3Qgbm90aWNlcyB0aGUgbm90ZWJvb2sgcmVzcG9uZGVkIG9ubHkgd2hlbiB0aGUgcGhvdG9ncmFwaHMgYW5kIGhvdXNlIGNsdWVzIHdlcmUgcGxhY2VkIHRvZ2V0aGVyLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtcmV0dXJuJnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSBnaXJsc+KAmSBldmlkZW5jZS0mZ3Q7RGVkdWN0aW9uR2lybHNdXSZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI5OCIgbmFtZT0iRGVkdWN0aW9uQ2VudGVyIiB0YWdzPSJnYW1lcGxheSBkZWR1Y3Rpb24gYmctc2Nob29saGFsbCIgcG9zaXRpb249IjIyMDAsMTQwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtkZWR1Y3Rpb24tYm9hcmQmcXVvdDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtaGVhZGVyJnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym9hcmQta2lja2VyJnF1b3Q7Jmd0O0JyZWNrZW5yaWRnZSBDYXNlIEJvYXJkJmx0Oy9zcGFuJmd0OyZsdDtoMiZndDtXaGVyZSBkb2VzIHRoZSBwYXR0ZXJuIGNvbnZlcmdlPyZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7SWRlbnRpZnkgdGhlIGxvY2F0aW9uIGNvbm5lY3RpbmcgdGhlIG9sZGVzdCBldmlkZW5jZS4mbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtib2FyZC1zY29yZSZxdW90OyZndDtDb25uZWN0aW9ucyZsdDticiZndDsmbHQ7c3Ryb25nJmd0OyZsdDsmbHQ7cHJpbnQgJGRlZHVjdGlvblNjb3JlJmd0OyZndDsgLyAzJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtcHJvZ3Jlc3MmcXVvdDsgYXJpYS1sYWJlbD0mcXVvdDtEZWR1Y3Rpb24gcHJvZ3Jlc3MmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7YWN0aXZlJnF1b3Q7Jmd0OzEuIEJvdW5kYXJpZXMmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7YWN0aXZlJnF1b3Q7Jmd0OzIuIFRoZSBHaXJscyZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDthY3RpdmUmcXVvdDsmZ3Q7My4gQ2VudGVyJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2JvYXJkLW5hcnJhdGlvbiZxdW90OyZndDsmbHQ7cCZndDtLZXZpbiBwbGFjZWQgdGhlIGxhc3QgY2x1ZXMgaW4gYSBjaXJjbGU6IHRoZSB2YW5pc2hlZCBob3VzZSBwaG90b2dyYXBoLCB0aGUgYmFuaXN0ZXIgbWFyaywgaGlzIHN0b3BwZWQgd2F0Y2gsIHRoZSBvYWsgdHJlZSwgYW5kIHRoZSB5ZWFyIDE2NzguJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nhc2UtbWFwJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7bWFwLW5vZGUgY2VudGVyJnF1b3Q7Jmd0Oz8mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O21hcC1ub2RlIG4xJnF1b3Q7Jmd0O0hvdXNlJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDttYXAtbm9kZSBuMiZxdW90OyZndDtPYWsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O21hcC1ub2RlIG4zJnF1b3Q7Jmd0OzE2NzgmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O21hcC1ub2RlIG40JnF1b3Q7Jmd0O1NjaG9vbCZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7bWFwLW5vZGUgbjUmcXVvdDsmZ3Q7UGhvdG9zJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtoMyBjbGFzcz0mcXVvdDtib2FyZC1xdWVzdGlvbiZxdW90OyZndDtXaGljaCBsb2NhdGlvbiBiZWxvbmdzIGF0IHRoZSBjZW50ZXI/Jmx0Oy9oMyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtkZWR1Y3Rpb24tb3B0aW9ucyZxdW90OyZndDsKJmx0OyZsdDtsaW5rICZxdW90O0Nob29zZSB0aGUgcHJpbWFyeSBzaXRlJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2RlZHVjdGlvbi1vcHRpb24mcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7b3B0aW9uLXRhZyZxdW90OyZndDtQcmltYXJ5IFNpdGUmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgV2luY2hlc3RlciBob3VzZSBhbmQgc3Vycm91bmRpbmcgbGFuZCZsdDsvc3Ryb25nJmd0OyZsdDtzbWFsbCZndDtUaGUgb2xkZXN0IGFuZCBtb3N0IHZhcmllZCBjbHVlcyBjb252ZXJnZSB0aGVyZS4mbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7aWYgbm90ICRkZWR1Y3Rpb25SZXdhcmREZWR1Y3Rpb25DZW50ZXImZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRkZWR1Y3Rpb25SZXdhcmREZWR1Y3Rpb25DZW50ZXIgPSB0cnVlJmd0OyZndDsmbHQ7Jmx0O3NldCAkZGVkdWN0aW9uU2NvcmUgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRkZWR1Y3Rpb25Db21wbGV0ZSA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRncm91cFRoZW9yeVN0cmVuZ3RoID0gTWF0aC5taW4oJGRlZHVjdGlvblNjb3JlLCAzKSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RlZHVjdGlvblJlc3VsdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsmbHQ7bGluayAmcXVvdDtDaG9vc2UgdGhlIHJlYWN0aXZlIHNpdGUmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZGVkdWN0aW9uLW9wdGlvbiZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtvcHRpb24tdGFnJnF1b3Q7Jmd0O1JlYWN0aXZlIFNpdGUmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgcHJpbmNpcGFsJiMzOTtzIG9mZmljZSZsdDsvc3Ryb25nJmd0OyZsdDtzbWFsbCZndDtUaGUgb2ZmaWNlIHJlYWN0ZWQsIGJ1dCBpdHMgZXZpZGVuY2UgaXMgbm90IHRoZSBvbGRlc3QuJmx0Oy9zbWFsbCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGVkdWN0aW9uQ29ycmVjdGlvblRocmVlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0OyZsdDtsaW5rICZxdW90O0Nob29zZSB0aGUgZXZpZGVuY2Ugc2l0ZSZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtkZWR1Y3Rpb24tb3B0aW9uJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O29wdGlvbi10YWcmcXVvdDsmZ3Q7RXZpZGVuY2UgU2l0ZSZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O1RoZSBsaWJyYXJ5IGFyY2hpdmUmbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7VGhlIHJlY29yZHMgd2VyZSBmb3VuZCB0aGVyZSwgYnV0IHRoZSBldmVudHMgYmVnYW4gZWxzZXdoZXJlLiZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RlZHVjdGlvbkNvcnJlY3Rpb25UaHJlZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjI5OSIgbmFtZT0iRGVkdWN0aW9uQ29ycmVjdGlvblRocmVlIiB0YWdzPSJnYW1lcGxheSBkZWR1Y3Rpb24gYmctc2Nob29saGFsbCIgcG9zaXRpb249IjIyMjAsMTQwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtkZWR1Y3Rpb24tYm9hcmQmcXVvdDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtaGVhZGVyJnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Ym9hcmQta2lja2VyJnF1b3Q7Jmd0O0JyZWNrZW5yaWRnZSBDYXNlIEJvYXJkJmx0Oy9zcGFuJmd0OyZsdDtoMiZndDtSZWNoZWNrIHRoZSBjZW50ZXImbHQ7L2gyJmd0OyZsdDtwJmd0O1VzZSB0aGUgZmVlZGJhY2ssIHRoZW4gcmV2aXNlIHRoZSB0aGVvcnkuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtc2NvcmUmcXVvdDsmZ3Q7Q29ubmVjdGlvbnMmbHQ7YnImZ3Q7Jmx0O3N0cm9uZyZndDsmbHQ7Jmx0O3ByaW50ICRkZWR1Y3Rpb25TY29yZSZndDsmZ3Q7IC8gMyZsdDsvc3Ryb25nJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2JvYXJkLXByb2dyZXNzJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7RGVkdWN0aW9uIHByb2dyZXNzJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2FjdGl2ZSZxdW90OyZndDsxLiBCb3VuZGFyaWVzJmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2FjdGl2ZSZxdW90OyZndDsyLiBUaGUgR2lybHMmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7YWN0aXZlJnF1b3Q7Jmd0OzMuIENlbnRlciZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtib2FyZC1mZWVkYmFjayBpbmNvcnJlY3QmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7ZmVlZGJhY2stbWFyayZxdW90OyZndDvDlyZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q29ubmVjdGlvbiBub3Qgc3VwcG9ydGVkIHlldCZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O1RoZSBvZmZpY2UgYW5kIGxpYnJhcnkgcmVhY3RlZCB0byB0aGUgbXlzdGVyeSwgYnV0IHRoZSBvbGRlc3QgY2x1ZXMgcG9pbnQgdG8gdGhlIHNhbWUgcHJvcGVydHksIHRyZWUsIGFuZCB5ZWFyLiZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FiaWxpdHktaGludCZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0NoYXJhY3RlciBpbnNpZ2h0OiZsdDsvc3Ryb25nJmd0OyBLZXZpbiB0cmFjZXMgdGhlIGhvdXNlLCBvYWsgdHJlZSwgcGhvdG9ncmFwaCwgYW5kIDE2NzggZXZpZGVuY2UgdG8gdGhlIHNhbWUgZ3JvdW5kLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtcmV0dXJuJnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSBsb2NhdGlvbiBldmlkZW5jZS0mZ3Q7RGVkdWN0aW9uQ2VudGVyXV0mbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMDAiIG5hbWU9IkRlZHVjdGlvblJlc3VsdCIgdGFncz0iZ2FtZXBsYXkgZGVkdWN0aW9uIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyMjQwLDE0MDAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7ZGVkdWN0aW9uLWJvYXJkIHNvbHZlZCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JvYXJkLWhlYWRlciZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2JvYXJkLWtpY2tlciZxdW90OyZndDtCcmVja2VucmlkZ2UgQ2FzZSBCb2FyZCZsdDsvc3BhbiZndDsmbHQ7aDImZ3Q7V29ya2luZyBUaGVvcnkgQ29tcGxldGUmbHQ7L2gyJmd0OyZsdDtwJmd0O1RoZSBldmlkZW5jZSBub3cgZm9ybXMgb25lIGNvbm5lY3RlZCBteXN0ZXJ5LiZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JvYXJkLXNjb3JlJnF1b3Q7Jmd0O0Nvbm5lY3Rpb25zJmx0O2JyJmd0OyZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDtwcmludCAkZ3JvdXBUaGVvcnlTdHJlbmd0aCZndDsmZ3Q7IC8gMyZsdDsvc3Ryb25nJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3RoZW9yeS1jaGFpbiZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7RGFtYWdlZCBib3VuZGFyaWVzJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NtYWxsJmd0O0hleGFmb2lscywgc2VhbXMsIHRyYWlscywgcGVybWlzc2lvbiZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O3NwYW4mZ3Q74oaSJmx0Oy9zcGFuJmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtSZWN1cnJpbmcgZ2lybHMmbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7SW1hZ2VzLCBuYW1lcywgcmVmbGVjdGlvbnMsIG5vdGVib29rJmx0Oy9zbWFsbCZndDsmbHQ7L2RpdiZndDsmbHQ7c3BhbiZndDvihpImbHQ7L3NwYW4mZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O1dpbmNoZXN0ZXIgcHJvcGVydHkmbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7SG91c2UsIG9hayB0cmVlLCAxNjc4Jmx0Oy9zbWFsbCZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtib2FyZC1mZWVkYmFjayBjb3JyZWN0JnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2ZlZWRiYWNrLW1hcmsmcXVvdDsmZ3Q74pyTJmx0Oy9zcGFuJmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtTdXBwb3J0ZWQgd29ya2luZyB0aGVvcnkmbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtEYW1hZ2VkIHByb3RlY3RpdmUgYm91bmRhcmllcyBjb25uZWN0IHRoZSBzY2hvb2wgdG8gdGhlIFdpbmNoZXN0ZXIgcHJvcGVydHkuIFRoZSByZWN1cnJpbmcgaW1hZ2VzIG9mIHRocmVlIGdpcmxzIHN1Z2dlc3QgdGhlIGhvdXNlIHJlbWVtYmVycyBwZW9wbGUgdGhlIHRvd24gaGFzIGZvcmdvdHRlbi4mbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7aWYgJGdyb3VwVGhlb3J5U3RyZW5ndGggJmd0Oz0gMyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt0aGVvcnktc3RhdHVzIHN1cHBvcnRlZCZxdW90OyZndDtLaW1teSBtYXJrcyB0aGUgdGhlb3J5OiAmbHQ7c3Ryb25nJmd0O1NVUFBPUlRFRCZsdDsvc3Ryb25nJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt0aGVvcnktc3RhdHVzIHBvc3NpYmxlJnF1b3Q7Jmd0O0tpbW15IG1hcmtzIHRoZSB0aGVvcnk6ICZsdDtzdHJvbmcmZ3Q7UE9TU0lCTEUmbHQ7L3N0cm9uZyZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9hcmQtcmV0dXJuJnF1b3Q7Jmd0O1tbU2VlIGhvdyB0aGUgZ3JvdXAgcmVzcG9uZHMtJmd0O0dyb3VwVHJ1c3RQYXlvZmZdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzAxIiBuYW1lPSJJbnZlc3RpZ2F0aW9uUm91dGVDaG9pY2UiIHRhZ3M9ImdhbWVwbGF5IGRlZHVjdGlvbiBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMjI2MCwxNDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtUaHJlZSBsb2NhdGlvbnMgY291bGQgdGVzdCB0aGUgdGhlb3J5LCBidXQgdGhlcmUgd2FzIHRpbWUgdG8gaW52ZXN0aWdhdGUgb25seSBvbmUgYmVmb3JlIHRoZSBuZXh0IGJlbGwuJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OwombHQ7Jmx0O2xpbmsgJnF1b3Q7Rm9sbG93IEtldmluJiMzOTtzIGhvdXNlIGV2aWRlbmNlLiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGludmVzdGlnYXRpb25Sb3V0ZSA9ICZxdW90O2hvdXNlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtpbnZlc3RpZ2F0aW9uUm91dGUmcXVvdDssICZxdW90O2hvdXNlJnF1b3Q7LCAmcXVvdDtIb3VzZSBldmlkZW5jZSBzaGFwZXMgbGF0ZXIgZGFuZ2VyIGFuZCByZXNjdWUgcHJlcGFyYXRpb24uJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1JvdXRlV2luY2hlc3RlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsmbHQ7bGluayAmcXVvdDtUZXN0IHRoZSBoaWRkZW4gc2Nob29sIHBhc3NhZ2UuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkaW52ZXN0aWdhdGlvblJvdXRlID0gJnF1b3Q7cGFzc2FnZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7aW52ZXN0aWdhdGlvblJvdXRlJnF1b3Q7LCAmcXVvdDtwYXNzYWdlJnF1b3Q7LCAmcXVvdDtUaGUgaGlkZGVuIHBhc3NhZ2Ugcm91dGUgaW1wcm92ZXMgc3RydWN0dXJhbCBldmlkZW5jZSBidXQgaW5jcmVhc2VzIHRocmVzaG9sZCBleHBvc3VyZS4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7Um91dGVIaWRkZW5QYXNzYWdlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0OyZsdDtsaW5rICZxdW90O0ZvbGxvdyB0aGUgZmllbGQgYW5kIG9hay10cmVlIGNsdWUuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkaW52ZXN0aWdhdGlvblJvdXRlID0gJnF1b3Q7b2FrJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtpbnZlc3RpZ2F0aW9uUm91dGUmcXVvdDssICZxdW90O29hayZxdW90OywgJnF1b3Q7VGhlIG9hayByb3V0ZSByZXZlYWxzIHRoZSBvbGRlc3QgYm91bmRhcnkgYW5kIGNoYW5nZXMgdGhlIHJlc2N1ZSBhcHByb2FjaC4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7Um91dGVPYWtUcmVlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMDIiIG5hbWU9IlJvdXRlV2luY2hlc3RlciIgdGFncz0iZ2FtZXBsYXkgZGVkdWN0aW9uIGJnLWhvdXNlIiBwb3NpdGlvbj0iMjI4MCwxNDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtLZXZpbiBzcHJlYWQgaGlzIHNrZXRjaCBvZiB0aGUgc3RhaXJjYXNlIGJlc2lkZSBLaW1teSYjMzk7cyBmbG9vciBwbGFuLiBUaGUgZWxldmVudGggc3RhaXIgYWxpZ25lZCB3aXRoIHRoZSBvbGRlc3Qgd2FsbCBvZiB0aGUgaG91c2UsIGRpcmVjdGx5IGJlbmVhdGggdGhlIG1pc3NpbmcgcGhvdG9ncmFwaC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7T24gdGhlIGJhY2sgb2YgS2V2aW4mIzM5O3Mgc2tldGNoLCBkYW1wIGxpbmVzIGZvcm1lZCBhbm90aGVyIG51bWVyYWw6ICZsdDtzdHJvbmcmZ3Q7SUlJJmx0Oy9zdHJvbmcmZ3Q7LiZsdDsvcCZndDsKJmx0OyZsdDtzZXQgJHJvdXRlQ2x1ZSA9ICZxdW90O1RoZSBXaW5jaGVzdGVyIHN0YWlyY2FzZSBwcm9kdWNlZCB0aGUgbnVtZXJhbCBJSUkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRvcHRpb25hbENsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7V2luY2hlc3RlciBudW1lcmFsIElJSSZxdW90OykmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7RXhjbHVzaXZlIHJvdXRlIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBob3VzZSBpcyBub3QgbWVyZWx5IGFmZmVjdGVkIGJ5IHRoZSBjcm9zc2luZ3MuIEl0cyBzdGFpcmNhc2UgYXBwZWFycyB0byBudW1iZXIgdGhlbS4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQWRkIHRoZSBob3VzZSBjbHVlIHRvIHRoZSB0aGVvcnktJmd0O0tldmluIEJ1aWxkcyB0aGUgR3JvdXAgUGF0dGVybl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMDMiIG5hbWU9IlJvdXRlSGlkZGVuUGFzc2FnZSIgdGFncz0iZ2FtZXBsYXkgZGVkdWN0aW9uIGJnLXBhc3NhZ2UiIHBvc2l0aW9uPSIyMzAwLDE0MDAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0O1J5YW4gYXBwcm9hY2hlZCB0aGUgc2VhbGVkIHdhbGwgd2l0aG91dCB0b3VjaGluZyBpdC4gVGhlIGNvbGQgc2VhbSB3aWRlbmVkIHdoZW4gaGUgc2FpZCwgJnF1b3Q7V2UgYXJlIGFza2luZyBwZXJtaXNzaW9uIHRvIGxpc3Rlbi4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QSB2b2ljZSBhbnN3ZXJlZCBmcm9tIGluc2lkZTogJnF1b3Q7THVjaWxsZSBtYXkgZW50ZXIuJnF1b3Q7Jmx0Oy9wJmd0OwombHQ7Jmx0O3NldCAkcm91dGVDbHVlID0gJnF1b3Q7VGhlIGhpZGRlbiBwYXNzYWdlIHJlY29nbml6ZXMgTHVjaWxsZSBhbmQgcmVzcG9uZHMgdG8gcGVybWlzc2lvbiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gJG9wdGlvbmFsQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtQYXNzYWdlIHBlcm1pc3Npb24gcnVsZSZxdW90OykmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1kaXNjb3ZlcmVkJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7RXhjbHVzaXZlIHJvdXRlIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBwYXNzYWdlIGZvbGxvd3MgYSBwZXJtaXNzaW9uIHJ1bGUgYW5kIHJlY29nbml6ZXMgb25lIG9mIHRoZSBtaXNzaW5nIGdpcmxzIGJ5IG5hbWUuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0FkZCB0aGUgcGVybWlzc2lvbiBjbHVlIHRvIHRoZSB0aGVvcnktJmd0O0tldmluIEJ1aWxkcyB0aGUgR3JvdXAgUGF0dGVybl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMDQiIG5hbWU9IlJvdXRlT2FrVHJlZSIgdGFncz0iZ2FtZXBsYXkgZGVkdWN0aW9uIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyMzIwLDE0MDAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0O0tpbW15IGNvbXBhcmVkIHRoZSBhcmNoaXZlIHBob3RvZ3JhcGggd2l0aCBLZXZpbiYjMzk7cyBkZXNjcmlwdGlvbiBvZiB0aGUgZmllbGQuIEEgbm90Y2ggaW4gdGhlIG9sZCBvYWsgbWF0Y2hlZCB0aGUgY3VydmUgb2Ygb25lIGRhbWFnZWQgaGV4YWZvaWwgcGV0YWwuJmx0Oy9wJmd0OyZsdDtwJmd0O0JlbmVhdGggdGhlIGNvcGllZCBpbWFnZSwgZmFkZWQgd29yZHMgYmVjYW1lIHJlYWRhYmxlOiAmbHQ7c3Ryb25nJmd0O0ZJUlNUIEJPVU5EQVJZLCAxNjc4LiZsdDsvc3Ryb25nJmd0OyZsdDsvcCZndDsKJmx0OyZsdDtzZXQgJHJvdXRlQ2x1ZSA9ICZxdW90O1RoZSBvYWsgdHJlZSBtYXJrcyB0aGUgZmlyc3QgYm91bmRhcnkgZnJvbSAxNjc4JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biAkb3B0aW9uYWxDbHVlcy5wdXNoVW5pcXVlKCZxdW90O09hayB0cmVlIGZpcnN0IGJvdW5kYXJ5JnF1b3Q7KSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjbHVlLWRpc2NvdmVyZWQmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtFeGNsdXNpdmUgcm91dGUgY2x1ZTombHQ7L3N0cm9uZyZndDsgVGhlIG9hayB0cmVlIHByZWRhdGVzIHRoZSBob3VzZSBhbmQgbWFya3MgdGhlIGVhcmxpZXN0IGtub3duIGNyb3NzaW5nIGJvdW5kYXJ5LiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBZGQgdGhlIG9hay10cmVlIGNsdWUgdG8gdGhlIHRoZW9yeS0mZ3Q7S2V2aW4gQnVpbGRzIHRoZSBHcm91cCBQYXR0ZXJuXV0mbHQ7L2RpdiZndDsKJmx0OyEtLSBCdWlsZCA1LjE0IGF0bW9zcGhlcmljIGhhdW50aW5nIC0tJmd0OwombHQ7Jmx0O3NldCBfaGF1bnRpbmdBdG1vc3BoZXJlID0gc2V0dXAucm9sbEF0bW9zcGhlcmljSGF1bnRpbmcoJnF1b3Q7b2FrJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfaGF1bnRpbmdBdG1vc3BoZXJlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLWF0bW9zcGhlcmUmcXVvdDsgcm9sZT0mcXVvdDtzdGF0dXMmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7aGF1bnRpbmctbWFyayZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDs9IF9oYXVudGluZ0F0bW9zcGhlcmUmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7IS0tIEJ1aWxkIDUuMTUgaW50ZXJhY3RpdmUgaGF1bnRpbmcgdHJpZ2dlciAtLSZndDsKJmx0OyZsdDtzZXQgX2ludGVyYWN0aXZlSGF1bnRpbmcgPSBzZXR1cC5yb2xsSW50ZXJhY3RpdmVIYXVudGluZygmcXVvdDtvYWsmcXVvdDssICZxdW90O1JvdXRlT2FrVHJlZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2ludGVyYWN0aXZlSGF1bnRpbmcmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctaW50ZXJydXB0aW9uJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2hhdW50aW5nLWludGVycnVwdGlvbi1pY29uJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7ISZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7U29tZXRoaW5nIGhhcyBlbnRlcmVkIHRoZSBpbnZlc3RpZ2F0aW9uLiZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O1RoZSBvcmRpbmFyeSBjaG9pY2VzIGNhbiB3YWl0LCBidXQgdGhlIG1hbmlmZXN0YXRpb24gbWF5IG5vdC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7RmFjZSB0aGUgZGlzdHVyYmFuY2UmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byBfaW50ZXJhY3RpdmVIYXVudGluZyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyEtLSBCdWlsZCA1LjIwIGFmdGVyZWZmZWN0IGVjaG8gLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9hZnRlcmVmZmVjdEVjaG89c2V0dXAucm9sbEFmdGVyZWZmZWN0RWNobygmcXVvdDtvYWsmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9hZnRlcmVmZmVjdEVjaG8mZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YWZ0ZXJlZmZlY3QtZWNobyZxdW90OyByb2xlPSZxdW90O3N0YXR1cyZxdW90OyZndDsmbHQ7c3BhbiBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0O+KGuyZsdDsvc3BhbiZndDsmbHQ7cCZndDsmbHQ7Jmx0Oz0gX2FmdGVyZWZmZWN0RWNobyZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDshLS0gQnVpbGQgNS4yNCByb290IGhvdXNlIHRyaWdnZXIgLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9yb290SG91c2U9c2V0dXAucm9sbFJvb3RIb3VzZSgmcXVvdDtSb3V0ZU9ha1RyZWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9yb290SG91c2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cm9vdC1ob3VzZS10cmlnZ2VyJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7VGhlIHJvb3RzIHNlcGFyYXRlIGFyb3VuZCBhIHN0YWlyd2F5IGRlc2NlbmRpbmcgYmVuZWF0aCB0aGUgb2FrLiZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O0ZhciBiZWxvdywgYSBwb3JjaCBsaWdodCBzd2l0Y2hlcyBvbiBpbnNpZGUgYSBidXJpZWQgaG91c2UuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tEZXNjZW5kIGludG8gdGhlIEhvdXNlIEJlbmVhdGggdGhlIE9hay0mZ3Q7Um9vdEhvdXNlQXJyaXZhbF1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMwNSIgbmFtZT0iS2V2aW5QaG90b0Zvb3RwcmludCIgdGFncz0ib3B0aW9uYWwgaW52ZXN0aWdhdGlvbiBiZy1iZWRyb29tIiBwb3NpdGlvbj0iMjUyNSwxNTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAka2V2aW5PcHRpb25hbEZvdW5kID0gdHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtydW4gJG9wdGlvbmFsQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtXZXQgc2hvZXMgaW4gbWlzc2luZyBwaG90b2dyYXBoJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7S2V2aW4gcmVtZW1iZXJlZCB0aGUgcGhvdG9ncmFwaCBiZWZvcmUgaXQgdmFuaXNoZWQuIFRoZSB0aHJlZSBnaXJscyBoYWQgc3Rvb2Qgb24gYSBkcnkgd29vZGVuIGZsb29yLCBidXQgdGhlIG1pZGRsZSBnaXJsJiMzOTtzIHNob2VzIHdlcmUgZGFyayBhcm91bmQgdGhlIHNvbGVzLiZsdDsvcCZndDsmbHQ7cCZndDtIZSBjcm91Y2hlZCBiZXNpZGUgdGhlIG5ldyBmb290cHJpbnQuIEl0cyBuYXJyb3cgaGVlbCBhbmQgcG9pbnRlZCB0b2VzIG1hdGNoZWQgdGhlIGZhaW50IHdldCBvdXRsaW5lIGJlbmVhdGggdGhlIGdpcmwgaW4gdGhlIHBpY3R1cmUuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7b3B0aW9uYWwtcmV3YXJkJnF1b3Q7Jmd0OyZsdDtzcGFuJmd0O0tldmluJiMzOTtzIG9wdGlvbmFsIGNsdWUmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgd2V0IGZvb3RwcmludCBtYXRjaGVzIHRoZSBtaWRkbGUgZ2lybCYjMzk7cyBzaG9lcy4mbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7VGhpcyBjbHVlIHdpbGwgc3RyZW5ndGhlbiB0aGUgcGhvdG9ncmFwaCBjb25uZWN0aW9uIGxhdGVyLiZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgaGFsbHdheSBpbnZlc3RpZ2F0aW9uLSZndDtIYWxsd2F5IEludmVzdGlnYXRpb25dXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzA2IiBuYW1lPSJSeWFuVGhyZXNob2xkVGVzdCIgdGFncz0ib3B0aW9uYWwgaW52ZXN0aWdhdGlvbiBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMjU1MCwxNTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcnlhbk9wdGlvbmFsRm91bmQgPSB0cnVlJmd0OyZndDsmbHQ7Jmx0O3J1biAkb3B0aW9uYWxDbHVlcy5wdXNoVW5pcXVlKCZxdW90O09mZmljZSB0aHJlc2hvbGQgYmxvY2tzIHVuYWNrbm93bGVkZ2VkIG9iamVjdHMmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtSeWFuIHBsYWNlZCBoaXMgcGVuY2lsIG9uIHRoZSB0aWxlIGFuZCBudWRnZWQgaXQgdG93YXJkIHRoZSBicmFzcyBzdHJpcC4gSXQgc3RvcHBlZCBhdCB0aGUgdGhyZXNob2xkIGFzIGlmIGl0IGhhZCBzdHJ1Y2sgZ2xhc3MuJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O01heSB0aGlzIGVudGVyPyZxdW90OyBoZSBhc2tlZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7RnJvbSBpbnNpZGUgdGhlIG9mZmljZSwgYSB2b2ljZSBzYWlkLCAmcXVvdDtZZXMuJnF1b3Q7IFRoZSBwZW5jaWwgcm9sbGVkIGFjcm9zcyBpbW1lZGlhdGVseS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtvcHRpb25hbC1yZXdhcmQmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7UnlhbiYjMzk7cyBvcHRpb25hbCBjbHVlJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7VGhlIHRocmVzaG9sZCByZXF1aXJlcyBhY2tub3dsZWRnbWVudCBiZWZvcmUgc29tZXRoaW5nIG1heSBjcm9zcy4mbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7VGhpcyBjbHVlIHdpbGwgcHJvdmlkZSBzdHJvbmdlciBwZXJtaXNzaW9uIGV2aWRlbmNlIGxhdGVyLiZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgd2FpdGluZyBhcmVhLSZndDtSeWFuIFdhaXRpbmcgQXJlYSBIdWJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzA3IiBuYW1lPSJLaW1teUhhbmR3cml0aW5nQ29tcGFyaXNvbiIgdGFncz0ib3B0aW9uYWwgaW52ZXN0aWdhdGlvbiBiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMjU3NSwxNTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDtoYW5kd3JpdGluZy12ZXJpZmllZCZxdW90OywxLCZxdW90O0tpbW15IHZlcmlmaWVkIHdyaXRpbmcgdGhhdCBzaG91bGQgbm90IHJlcGVhdCBhY3Jvc3MgZGVjYWRlcy4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAuZGlzY292ZXJDbHVlKCZxdW90O2hhbmR3cml0aW5nJnF1b3Q7LCZxdW90O1JlcGVhdGVkIEhhbmR3cml0aW5nJnF1b3Q7LCZxdW90O0tpbW15JnF1b3Q7KSZndDsmZ3Q7Ci8qIEI1LjIgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O2FyY2hpdmVGb2N1cyZxdW90OywgJnF1b3Q7aGFuZHdyaXRpbmcmcXVvdDssICZxdW90O0tpbW15IHZlcmlmaWVzIHJlcGVhdGVkIGhhbmR3cml0aW5nIGFjcm9zcyBkZWNhZGVzLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAka2ltbXlPcHRpb25hbEZvdW5kID0gdHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtydW4gJG9wdGlvbmFsQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtNYXRjaGluZyBhcmNoaXZlIGhhbmR3cml0aW5nJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgcGxhY2VkIHRocmVlIHJlY29yZHMgc2lkZSBieSBzaWRlOiBhIHllYXJib29rIGNvcnJlY3Rpb24sIGEgZmxvb3ItcGxhbiBub3RlLCBhbmQgYSB3YXJuaW5nIHdyaXR0ZW4gYmVzaWRlIHRoZSBzaXgtcGV0YWxlZCBtYXJrLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgZGF0ZXMgZGlmZmVyZWQgYnkgZGVjYWRlcywgYnV0IGVhY2ggd3JpdGVyIGZvcm1lZCB0aGUgbGV0dGVyIFIgd2l0aCB0aGUgc2FtZSBicm9rZW4gdXBwZXIgbG9vcC4gRXZlbiB0aGUgcHJlc3N1cmUgbWFya3MgbGVhbmVkIGluIHRoZSBzYW1lIGRpcmVjdGlvbi4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtvcHRpb25hbC1yZXdhcmQmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7S2ltbXkmIzM5O3Mgb3B0aW9uYWwgY2x1ZSZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O09uZSBoYW5kIG1heSBoYXZlIGNvcnJlY3RlZCBCcmVja2VucmlkZ2UmIzM5O3MgcmVjb3JkcyBhY3Jvc3MgaW1wb3NzaWJsZSBzcGFucyBvZiB0aW1lLiZsdDsvc3Ryb25nJmd0OyZsdDtzbWFsbCZndDtUaGlzIGNsdWUgd2lsbCBzdHJlbmd0aGVuIHRoZSBldmlkZW5jZS10YW1wZXJpbmcgdGhlb3J5IGxhdGVyLiZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgYXJjaGl2ZSBpbnZlc3RpZ2F0aW9uLSZndDtLaW1teSBDaG9vc2VzIHRoZSBBcmNoaXZlc11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMDgiIG5hbWU9IlNjb290UG9lbVBhdHRlcm4iIHRhZ3M9Im9wdGlvbmFsIGludmVzdGlnYXRpb24gYmctc2Nob29saGFsbCIgcG9zaXRpb249IjI2MDAsMTU1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHNjb290T3B0aW9uYWxGb3VuZCA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRvcHRpb25hbENsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7Tm90ZWJvb2sgcmVzcG9uZHMgdG8gcG9ldGljIHN0cnVjdHVyZSZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1Njb290IHJlYWQgdGhlIHVuZmluaXNoZWQgdmVyc2UgYW5kIGNob3NlIGEgZmluYWwgbGluZSB3aXRoIHRoZSBzYW1lIGJlYXQgYXMgdGhlIG90aGVyczombHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0O0EgZG9vciBtYXkgZm9yZ2V0LCBidXQgdGhlIHdhbGwga25vd3MgdGhlIHdheS4mbHQ7L2RpdiZndDsmbHQ7cCZndDtUaGUgaW5rIGRhcmtlbmVkIG9uIHRoZSBmaW5hbCB3b3JkLiBUaGUgbGluZXMgY3VydmVkIHRvd2FyZCBvbmUgYW5vdGhlciB1bnRpbCB0aGVpciBzcGFjZXMgZm9ybWVkIHRoZSBvdXRsaW5lIG9mIGEgZG9vcndheS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtvcHRpb25hbC1yZXdhcmQmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7U2Nvb3QmIzM5O3Mgb3B0aW9uYWwgY2x1ZSZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O1RoZSBub3RlYm9vayByZXNwb25kcyB0byByaHl0aG0gYW5kIHN0cnVjdHVyZSwgbm90IG9ubHkgbWVhbmluZy4mbHQ7L3N0cm9uZyZndDsmbHQ7c21hbGwmZ3Q7VGhpcyBjbHVlIHdpbGwgcmV2ZWFsIGFuIGV4dHJhIG5vdGVib29rIHJlc3BvbnNlIGxhdGVyLiZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgbm90ZWJvb2stJmd0O1Njb290IE9wZW5zIHRoZSBQb2V0cnkgTm90ZWJvb2tdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzA5IiBuYW1lPSJDbHVlUGF5b2ZmU3RhcnQiIHRhZ3M9Im9wdGlvbmFsIHBheW9mZiBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMjcyNCwxNjUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2x1ZVBheW9mZkNvdW50ID0gMCZndDsmZ3Q7Jmx0OyZsdDtpZiAka2V2aW5PcHRpb25hbEZvdW5kJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7S2V2aW5DbHVlUGF5b2ZmJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2VpZiAkcnlhbk9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtSeWFuQ2x1ZVBheW9mZiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlaWYgJGtpbW15T3B0aW9uYWxGb3VuZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0tpbW15Q2x1ZVBheW9mZiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlaWYgJHNjb290T3B0aW9uYWxGb3VuZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Njb290Q2x1ZVBheW9mZiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7Tm9PcHRpb25hbFBheW9mZnMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMxMCIgbmFtZT0iS2V2aW5DbHVlUGF5b2ZmIiB0YWdzPSJvcHRpb25hbCBwYXlvZmYgYmctYmVkcm9vbSIgcG9zaXRpb249IjI3NDgsMTY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtldmluUGF5b2ZmU2VlbiA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRjbHVlUGF5b2ZmQ291bnQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBFdmlkZW5jZSgmcXVvdDtUaGUgd2V0IGZvb3RwcmludCBtYXRjaGVzIHRoZSBtaWRkbGUgZ2lybCYjMzk7cyBzaG9lcyBpbiB0aGUgdmFuaXNoZWQgcGhvdG9ncmFwaCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3BheW9mZi1zY2VuZSBrZXZpbi1wYXlvZmYmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cGF5b2ZmLW93bmVyJnF1b3Q7Jmd0O0tldmluJiMzOTtzIGNsdWUgcGF5cyBvZmYmbHQ7L3NwYW4mZ3Q7Jmx0O2gyJmd0O1RoZSBQaG90b2dyYXBoIE1vdmVzIEFnYWluJmx0Oy9oMiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BheW9mZi1jbHVlJnF1b3Q7Jmd0OyZsdDtzcGFuJmd0O0VhcmxpZXIgY2x1ZSZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O1dldCBzaG9lcyBpbiB0aGUgbWlzc2luZyBwaG90b2dyYXBoJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0O0tldmluIGRlc2NyaWJlZCB0aGUgZGFyayBvdXRsaW5lIGJlbmVhdGggdGhlIG1pZGRsZSBnaXJsJiMzOTtzIHNob2VzLiBBcyBLaW1teSBjb3BpZWQgdGhlIGRldGFpbCwgdGhlIGxvb3NlIGFyY2hpdmUgcGhvdG9ncmFwaCBzaGl2ZXJlZCBhZ2FpbnN0IHRoZSBmbG9vci4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIG1pZGRsZSBnaXJsIHR1cm5lZCBhd2F5IGZyb20gdGhlIGNhbWVyYS4gT25lIHdldCBmb290cHJpbnQgYXBwZWFyZWQgYmVoaW5kIGhlciBpbnNpZGUgdGhlIHBob3RvZ3JhcGgsIHRoZW4gYW5vdGhlci4gVGhleSBsZWQgdG93YXJkIGEgZG9vcndheSB0aGF0IGhhZCBub3QgYmVlbiB2aXNpYmxlIGJlZm9yZS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7S2V2aW4gcGxhY2VkIGhpcyBvd24gZm9vdHByaW50IHNrZXRjaCBiZXNpZGUgdGhlIGltYWdlLiBUaGUgaGVlbCBhbmQgbmFycm93IHRvZXMgbWF0Y2hlZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwYXlvZmYtcmVzdWx0JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7TmV3IGNvbmNsdXNpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSB3ZXQgZmlndXJlIGluIHRoZSBXaW5jaGVzdGVyIGhvdXNlIGlzIGNvbm5lY3RlZCB0byB0aGUgbWlkZGxlIGdpcmwsIGFuZCB0aGUgcGhvdG9ncmFwaCBpcyBzaG93aW5nIHdoZXJlIHNoZSB3ZW50LiZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRm9sbG93IHRoZSBuZXh0IGNsdWUgcGF5b2ZmLSZndDtQYXlvZmZBZnRlcktldmluXV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMxMSIgbmFtZT0iUGF5b2ZmQWZ0ZXJLZXZpbiIgdGFncz0ib3B0aW9uYWwgcGF5b2ZmIGJnLWJlZHJvb20iIHBvc2l0aW9uPSIyNzcyLDE2NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgJHJ5YW5PcHRpb25hbEZvdW5kJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7UnlhbkNsdWVQYXlvZmYmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZWlmICRraW1teU9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtLaW1teUNsdWVQYXlvZmYmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZWlmICRzY29vdE9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtTY29vdENsdWVQYXlvZmYmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0NsdWVQYXlvZmZTdW1tYXJ5JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMTIiIG5hbWU9IlJ5YW5DbHVlUGF5b2ZmIiB0YWdzPSJvcHRpb25hbCBwYXlvZmYgYmctc2Nob29saGFsbCIgcG9zaXRpb249IjI3OTYsMTY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHJ5YW5QYXlvZmZTZWVuID0gdHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGNsdWVQYXlvZmZDb3VudCArPSAxJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O1RoZSBoaWRkZW4gcGFzc2FnZSBvYmV5cyB0aGUgc2FtZSBhY2tub3dsZWRnbWVudCBydWxlIGFzIHRoZSBwcmluY2lwYWwmIzM5O3MgdGhyZXNob2xkJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7cGF5b2ZmLXNjZW5lIHJ5YW4tcGF5b2ZmJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3BheW9mZi1vd25lciZxdW90OyZndDtSeWFuJiMzOTtzIGNsdWUgcGF5cyBvZmYmbHQ7L3NwYW4mZ3Q7Jmx0O2gyJmd0O1Blcm1pc3Npb24gdG8gTGlzdGVuJmx0Oy9oMiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BheW9mZi1jbHVlJnF1b3Q7Jmd0OyZsdDtzcGFuJmd0O0VhcmxpZXIgY2x1ZSZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O1RoZSBvZmZpY2UgdGhyZXNob2xkIHJlcXVpcmVkIGFja25vd2xlZGdtZW50Jmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0O1J5YW4gc3RvcHBlZCBLZXZpbiBiZWZvcmUgaGUgdG91Y2hlZCB0aGUgaGlkZGVuIHdhbGwuIEhlIHNldCBoaXMgcGVuY2lsIGJlc2lkZSB0aGUgc2VhbSBpbnN0ZWFkLiZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtNYXkgdGhpcyBjcm9zcz8mcXVvdDsgUnlhbiBhc2tlZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIHBlbmNpbCBkaWQgbm90IG1vdmUuIFRoZW4gYSB2b2ljZSBiZWhpbmQgdGhlIHdhbGwgd2hpc3BlcmVkLCAmcXVvdDtJdCBtYXkgbGlzdGVuLiZxdW90OyBUaGUgcGVuY2lsIHJvbGxlZCB0aHJvdWdoIHRoZSBzZWFsZWQgc2VhbSB3aXRob3V0IGxlYXZpbmcgYSBtYXJrLiZsdDsvcCZndDsmbHQ7cCZndDtDb2xkIGFpciBjYXJyaWVkIHRocmVlIHdvcmRzIGJhY2sgdGhyb3VnaCB0aGUgd29vZDombHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0O0xVQ0lMTEUgQ0FNRSBGSVJTVC4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BheW9mZi1yZXN1bHQmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtOZXcgY29uY2x1c2lvbjombHQ7L3N0cm9uZyZndDsgVGhlIHNjaG9vbCBwYXNzYWdlIGFuZCBwcmluY2lwYWwmIzM5O3Mgb2ZmaWNlIGZvbGxvdyB0aGUgc2FtZSBwZXJtaXNzaW9uIHJ1bGUsIGFuZCB0aGUgcGFzc2FnZSBpZGVudGlmaWVzIEx1Y2lsbGUgYXMgdGhlIGZpcnN0IGdpcmwgdG8gY3Jvc3MuJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tGb2xsb3cgdGhlIG5leHQgY2x1ZSBwYXlvZmYtJmd0O1BheW9mZkFmdGVyUnlhbl1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMTMiIG5hbWU9IlBheW9mZkFmdGVyUnlhbiIgdGFncz0ib3B0aW9uYWwgcGF5b2ZmIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyODIwLDE2NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgJGtpbW15T3B0aW9uYWxGb3VuZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0tpbW15Q2x1ZVBheW9mZiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlaWYgJHNjb290T3B0aW9uYWxGb3VuZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Njb290Q2x1ZVBheW9mZiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7Q2x1ZVBheW9mZlN1bW1hcnkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMxNCIgbmFtZT0iS2ltbXlDbHVlUGF5b2ZmIiB0YWdzPSJvcHRpb25hbCBwYXlvZmYgYmctbGlicmFyeSIgcG9zaXRpb249IjI4NDQsMTY1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGtpbW15UGF5b2ZmU2VlbiA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRjbHVlUGF5b2ZmQ291bnQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBFdmlkZW5jZSgmcXVvdDtUaGUgc2FtZSByZWNvcmQga2VlcGVyIGxlZnQgY29ycmVjdGlvbnMgYWNyb3NzIHNldmVyYWwgZGVjYWRlcyZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3BheW9mZi1zY2VuZSBraW1teS1wYXlvZmYmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cGF5b2ZmLW93bmVyJnF1b3Q7Jmd0O0tpbW15JiMzOTtzIGNsdWUgcGF5cyBvZmYmbHQ7L3NwYW4mZ3Q7Jmx0O2gyJmd0O1RoZSBXcml0ZXIgTGVhdmVzIGEgTWVzc2FnZSZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwYXlvZmYtY2x1ZSZxdW90OyZndDsmbHQ7c3BhbiZndDtFYXJsaWVyIGNsdWUmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtNYXRjaGluZyBoYW5kd3JpdGluZyBhY3Jvc3MgZGVjYWRlcyZsdDsvc3Ryb25nJmd0OyZsdDsvZGl2Jmd0OwombHQ7cCZndDtLaW1teSB0cmFjZWQgdGhlIGJyb2tlbiBsb29wIGluIGVhY2ggbGV0dGVyIFIuIFVuZGVyIHRoZSBsaWJyYXJ5IGxpZ2h0LCBzaGFsbG93IHByZXNzdXJlIG1hcmtzIGFwcGVhcmVkIGJlbmVhdGggdGhlIG5ld2VzdCBjb3JyZWN0aW9uLiZsdDsvcCZndDsmbHQ7cCZndDtTaGUgc2hhZGVkIHRoZSBwYWdlIHdpdGggdGhlIHNpZGUgb2YgaGVyIHBlbmNpbC4gQSBzZW50ZW5jZSBlbWVyZ2VkIGluIHRoZSBzYW1lIGltcG9zc2libGUgaGFuZDombHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0O0tFRVAgVEhFSVIgTkFNRVMgVE9HRVRIRVIgT1IgVEhFIERPT1IgV0lMTCBDSE9PU0UgRk9SIFlPVS4mbHQ7L2RpdiZndDsmbHQ7cCZndDtUaGUgbWVzc2FnZSBoYWQgYmVlbiB3cml0dGVuIGJlZm9yZSB0aGUgdmlzaWJsZSBub3RlLCB0aGVuIGNvdmVyZWQgaW5zdGVhZCBvZiBlcmFzZWQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cGF5b2ZmLXJlc3VsdCZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O05ldyBjb25jbHVzaW9uOiZsdDsvc3Ryb25nJmd0OyBBbiB1bmtub3duIHJlY29yZCBrZWVwZXIgaGFzIGJlZW4gcHJlc2VydmluZyB0aGUgZ2lybHMmIzM5OyBuYW1lcyBhbmQgd2FybmluZyBsYXRlciBpbnZlc3RpZ2F0b3JzIGFib3V0IHRoZSBjcm9zc2luZy4mbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0ZvbGxvdyB0aGUgbmV4dCBjbHVlIHBheW9mZi0mZ3Q7UGF5b2ZmQWZ0ZXJLaW1teV1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMTUiIG5hbWU9IlBheW9mZkFmdGVyS2ltbXkiIHRhZ3M9Im9wdGlvbmFsIHBheW9mZiBiZy1saWJyYXJ5IiBwb3NpdGlvbj0iMjg2OCwxNjUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmICRzY29vdE9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtTY29vdENsdWVQYXlvZmYmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0NsdWVQYXlvZmZTdW1tYXJ5JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMTYiIG5hbWU9IlNjb290Q2x1ZVBheW9mZiIgdGFncz0ib3B0aW9uYWwgcGF5b2ZmIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyODkyLDE2NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRzY29vdFBheW9mZlNlZW4gPSB0cnVlJmd0OyZndDsmbHQ7Jmx0O3NldCAkY2x1ZVBheW9mZkNvdW50ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7VGhlIG5vdGVib29rIHVzZXMgcG9ldGljIHJoeXRobSB0byByZXZlYWwgYW4gb3JkZXIgb2YgZXZlbnRzJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7cGF5b2ZmLXNjZW5lIHNjb290LXBheW9mZiZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtwYXlvZmYtb3duZXImcXVvdDsmZ3Q7U2Nvb3QmIzM5O3MgY2x1ZSBwYXlzIG9mZiZsdDsvc3BhbiZndDsmbHQ7aDImZ3Q7VGhlIE5vdGVib29rIEZpbmRzIHRoZSBCZWF0Jmx0Oy9oMiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BheW9mZi1jbHVlJnF1b3Q7Jmd0OyZsdDtzcGFuJmd0O0VhcmxpZXIgY2x1ZSZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O1RoZSBub3RlYm9vayByZXNwb25kcyB0byByaHl0aG0gYW5kIHN0cnVjdHVyZSZsdDsvc3Ryb25nJmd0OyZsdDsvZGl2Jmd0OwombHQ7cCZndDtTY29vdCB0YXBwZWQgdGhlIHJoeXRobSBvZiBoaXMgY29tcGxldGVkIGxpbmUgYWdhaW5zdCB0aGUgbm90ZWJvb2sgY292ZXIuIEZvdXIgc2xvdyBiZWF0cy4gQSBwYXVzZS4gVGhlbiB0aHJlZS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIG5vdGVib29rIGFuc3dlcmVkIGJ5IHR1cm5pbmcgaXRzIG93biBwYWdlcy4gRmlyc3QgY2FtZSBhIHNrZXRjaCBvZiB0aGUgV2luY2hlc3RlciBob3VzZS4gTmV4dCwgdGhlIG9hayB0cmVlLiBMYXN0LCB0aGUgc2Nob29sIHdhbGwuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDtIT1VTRS4gVFJFRS4gU0NIT09MLiZsdDticiZndDtUSEUgUEFUSCBSRU1FTUJFUlMgVEhFIE9SREVSLiZsdDsvZGl2Jmd0OyZsdDtwJmd0O1RoZSBmaW5hbCBsZXR0ZXJzIGFsaWduZWQgaW50byB0aHJlZSBSb21hbiBudW1lcmFsczogSUlJLCBWSUlJLCBWLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BheW9mZi1yZXN1bHQmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtOZXcgY29uY2x1c2lvbjombHQ7L3N0cm9uZyZndDsgVGhlIG5vdGVib29rIGlzIG5vdCBtZXJlbHkgZGVzY3JpYmluZyBwbGFjZXMuIEl0IGlzIGFycmFuZ2luZyB0aGVtIGludG8gYW4gb3JkZXIgdGhlIGdyb3VwIGNhbiB1c2UuJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXZpZXcgd2hhdCB0aGUgb3B0aW9uYWwgY2x1ZXMgY2hhbmdlZC0mZ3Q7Q2x1ZVBheW9mZlN1bW1hcnldXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzE3IiBuYW1lPSJOb09wdGlvbmFsUGF5b2ZmcyIgdGFncz0ib3B0aW9uYWwgcGF5b2ZmIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyOTE2LDE2NTAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7cGF5b2ZmLXN1bW1hcnkgZW1wdHkmcXVvdDsmZ3Q7Jmx0O2gyJmd0O1NvbWUgZXZpZGVuY2UgcmVtYWlucyB1bnRlc3RlZCZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7VGhlIGdyb3VwIGhhcyBlbm91Z2ggaW5mb3JtYXRpb24gdG8gY29udGludWUsIGJ1dCBzZXZlcmFsIHNtYWxsIGluY29uc2lzdGVuY2llcyByZW1haW4gdW5yZXNvbHZlZC4gQW5vdGhlciBwbGF5dGhyb3VnaCBtYXkgcmV2ZWFsIG9wdGlvbmFsIGludmVzdGlnYXRpb25zIGZvciBlYWNoIGNoYXJhY3Rlci4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0Nob29zZSB0aGUgbmV4dCBpbnZlc3RpZ2F0aW9uLSZndDtJbnZlc3RpZ2F0aW9uUm91dGVDaG9pY2VdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzE4IiBuYW1lPSJDbHVlUGF5b2ZmU3VtbWFyeSIgdGFncz0ib3B0aW9uYWwgcGF5b2ZmIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIyOTQwLDE2NTAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7cGF5b2ZmLXN1bW1hcnkmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cGF5b2ZmLW93bmVyJnF1b3Q7Jmd0O09wdGlvbmFsIGV2aWRlbmNlIHJlc29sdmVkJmx0Oy9zcGFuJmd0OyZsdDtoMiZndDsmbHQ7Jmx0O3ByaW50ICRjbHVlUGF5b2ZmQ291bnQmZ3Q7Jmd0OyBjbHVlIHBheW9mZiZsdDsmbHQ7aWYgJGNsdWVQYXlvZmZDb3VudCBpcyBub3QgMSZndDsmZ3Q7cyZsdDsmbHQ7L2lmJmd0OyZndDsgZGlzY292ZXJlZCZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwYXlvZmYtc3VtbWFyeS1ncmlkJnF1b3Q7Jmd0OwombHQ7Jmx0O2lmICRrZXZpblBheW9mZlNlZW4mZ3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7S2V2aW4mbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7UGhvdG9ncmFwaCBhbmQgZm9vdHByaW50IGNvbm5lY3RlZCZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJHJ5YW5QYXlvZmZTZWVuJmd0OyZndDsmbHQ7ZGl2Jmd0OyZsdDtiJmd0O1J5YW4mbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7UGVybWlzc2lvbiBydWxlIGNvbmZpcm1lZCZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJGtpbW15UGF5b2ZmU2VlbiZndDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7YiZndDtLaW1teSZsdDsvYiZndDsmbHQ7c3BhbiZndDtSZWNvcmQga2VlcGVyJiMzOTtzIHdhcm5pbmcgcmV2ZWFsZWQmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRzY29vdFBheW9mZlNlZW4mZ3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7U2Nvb3QmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7TG9jYXRpb24gb3JkZXIgdW5jb3ZlcmVkJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7VGhlc2UgZGlzY292ZXJpZXMgZG8gbm90IHJlcGxhY2UgdGhlIGdyb3VwJiMzOTtzIHdvcmtpbmcgdGhlb3J5LiBUaGV5IG1ha2UgaXQgc3Ryb25nZXIgYW5kIGNoYW5nZSB3aGF0IHRoZSBpbnZlc3RpZ2F0b3JzIGtub3cgYmVmb3JlIGNob29zaW5nIHdoZXJlIHRvIGdvIG5leHQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tDaG9vc2UgdGhlIG5leHQgaW52ZXN0aWdhdGlvbi0mZ3Q7SW52ZXN0aWdhdGlvblJvdXRlQ2hvaWNlXV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMxOSIgbmFtZT0iR3JvdXBUcnVzdFBheW9mZiIgdGFncz0icmVsYXRpb25zaGlwIHBheW9mZiBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzAyNSwxNzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcmVsYXRpb25zaGlwUGF5b2ZmU2VlbiA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9ib25kID0gJHJlbGF0aW9uc2hpcHMuS2V2aW5SeWFuICsgJHJlbGF0aW9uc2hpcHMuS2V2aW5TY29vdCArICRyZWxhdGlvbnNoaXBzLktldmluS2ltbXkgKyAkcmVsYXRpb25zaGlwcy5SeWFuU2Nvb3QgKyAkcmVsYXRpb25zaGlwcy5SeWFuS2ltbXkgKyAkcmVsYXRpb25zaGlwcy5Hcm91cFRydXN0Jmd0OyZndDsmbHQ7Jmx0O2lmIF9ib25kICZndDs9IDgmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRncm91cEJvbmRMZXZlbCA9ICZxdW90O3N0cm9uZyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlaWYgX2JvbmQgJmd0Oz0gMyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGdyb3VwQm9uZExldmVsID0gJnF1b3Q7Z3Jvd2luZyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7Jmx0O3NldCAkZ3JvdXBCb25kTGV2ZWwgPSAmcXVvdDtmb3JtaW5nJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVsYXRpb25zaGlwLXNjZW5lJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JlbGF0aW9uc2hpcC1raWNrZXImcXVvdDsmZ3Q7RWFybGllciBjaG9pY2VzIHJlbWVtYmVyZWQmbHQ7L3NwYW4mZ3Q7Jmx0O2gyJmd0O1RoZSBHcm91cCBEZWNpZGVzIFdobyB0byBUcnVzdCZsdDsvaDImZ3Q7CiZsdDsmbHQ7aWYgJHJlbGF0aW9uc2hpcHMuS2V2aW5LaW1teSAmZ3Q7PSAyJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3JlbGF0aW9uc2hpcC1iZWF0IHBvc2l0aXZlJnF1b3Q7Jmd0OyZsdDtiJmd0O0tpbW15IHN1cHBvcnRzIEtldmluJmx0Oy9iJmd0OyZsdDtwJmd0O0tpbW15IGNsb3NlZCBoZXIgY2FzZS4gJnF1b3Q7S2V2aW4mIzM5O3MgYWNjb3VudCBtYXRjaGVzIHRoZSBwaHlzaWNhbCBldmlkZW5jZS4gV2UgdHJlYXQgaXQgYXMgZXZpZGVuY2UsIG5vdCBydW1vci4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3JlbGF0aW9uc2hpcC1iZWF0IGNhdXRpb3VzJnF1b3Q7Jmd0OyZsdDtiJmd0O0tpbW15IGFza3MgZm9yIHByb29mJmx0Oy9iJmd0OyZsdDtwJmd0OyZxdW90O0kgYmVsaWV2ZSBzb21ldGhpbmcgaGFwcGVuZWQsJnF1b3Q7IEtpbW15IHNhaWQuICZxdW90O0J1dCB3ZSBzdGlsbCB2ZXJpZnkgZWFjaCBwYXJ0IGJlZm9yZSB3ZSBhY3Qgb24gaXQuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkcmVsYXRpb25zaGlwcy5LZXZpblJ5YW4gJmd0Oz0gMiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZWxhdGlvbnNoaXAtYmVhdCBwb3NpdGl2ZSZxdW90OyZndDsmbHQ7YiZndDtSeWFuIGJhY2tzIEtldmluJiMzOTtzIGJvdW5kYXJ5IHRoZW9yeSZsdDsvYiZndDsmbHQ7cCZndDtSeWFuIG1vdmVkIGJlc2lkZSBLZXZpbi4gJnF1b3Q7SGlzIGhvdXNlIGZvbGxvd3MgdGhlIHNhbWUgcnVsZXMgYXMgdGhlIG9mZmljZS4gVGhhdCBtYWtlcyB0d28gd2l0bmVzc2VzIGFuZCBvbmUgZXh0cmVtZWx5IHJlYXNvbmFibGUgaGVsbWV0LiZxdW90OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVsYXRpb25zaGlwLWJlYXQgY2F1dGlvdXMmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7UnlhbiBrZWVwcyBhIHNhZmV0eSBtYXJnaW4mbHQ7L2ImZ3Q7Jmx0O3AmZ3Q7UnlhbiB0b29rIG9uZSBzdGVwIGF3YXkgZnJvbSB0aGUgc2VhbGVkIHdhbGwuICZxdW90O0kgc3VwcG9ydCBLZXZpbiBmcm9tIG92ZXIgaGVyZSwgd2hlcmUgc3VwcG9ydCBoYXMgYmV0dGVyIHN1cnZpdmFsIG9kZHMuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkcmVsYXRpb25zaGlwcy5LZXZpblNjb290ICZndDs9IDIgb3IgJHJlbGF0aW9uc2hpcHMuUnlhblNjb290ICZndDs9IDMmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVsYXRpb25zaGlwLWJlYXQgcG9zaXRpdmUmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7U2Nvb3Qgc2hhcmVzIHRoZSBub3RlYm9vayBmcmVlbHkmbHQ7L2ImZ3Q7Jmx0O3AmZ3Q7U2Nvb3QgcGxhY2VkIHRoZSBub3RlYm9vayBpbiB0aGUgY2VudGVyIG9mIHRoZSBncm91cCBpbnN0ZWFkIG9mIGtlZXBpbmcgaXQgbmVhciBoaXMgY2hlc3QuIFRoZSBuZXh0IG1lc3NhZ2Ugd291bGQgYmVsb25nIHRvIGFsbCBvZiB0aGVtLiZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVsYXRpb25zaGlwLWJlYXQgY2F1dGlvdXMmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7U2Nvb3Qga2VlcHMgY29udHJvbCBvZiB0aGUgbm90ZWJvb2smbHQ7L2ImZ3Q7Jmx0O3AmZ3Q7U2Nvb3Qgb3BlbmVkIHRoZSBub3RlYm9vayBidXQga2VwdCBvbmUgaGFuZCBiZW5lYXRoIGl0LCByZWFkeSB0byBjbG9zZSB0aGUgY292ZXIgaWYgdGhlIHdvcmRzIGNoYW5nZWQgdG9vIHF1aWNrbHkuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtib25kLXN0YXR1cyAmbHQ7Jmx0Oz0kZ3JvdXBCb25kTGV2ZWwmZ3Q7Jmd0OyZxdW90OyZndDsmbHQ7c3BhbiZndDtHcm91cCBib25kJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDtwcmludCAkZ3JvdXBCb25kTGV2ZWwudG9VcHBlckNhc2UoKSZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7aWYgJGdyb3VwQm9uZExldmVsIGlzICZxdW90O3N0cm9uZyZxdW90OyZndDsmZ3Q7VGhlIGludmVzdGlnYXRvcnMgc2hhcmUgaW5mb3JtYXRpb24gaW1tZWRpYXRlbHkgYW5kIGFjdCBhcyBhIHRlYW0uJmx0OyZsdDtlbHNlaWYgJGdyb3VwQm9uZExldmVsIGlzICZxdW90O2dyb3dpbmcmcXVvdDsmZ3Q7Jmd0O1RoZSBpbnZlc3RpZ2F0b3JzIGNvb3BlcmF0ZSwgdGhvdWdoIHNvbWUgc3RpbGwgbmVlZCBwcm9vZi4mbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1RoZSBpbnZlc3RpZ2F0b3JzIGFncmVlIHRvIGNvbnRpbnVlLCBidXQgdHJ1c3QgaXMgc3RpbGwgYmVpbmcgYnVpbHQuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tUZXN0IHRoZSBvcHRpb25hbCBldmlkZW5jZS0mZ3Q7Q2x1ZVBheW9mZlN0YXJ0XV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMyMCIgbmFtZT0iRmluYWxUZWFtUmVzcG9uc2UiIHRhZ3M9InJlbGF0aW9uc2hpcCBwYXlvZmYgYmctc2Nob29saGFsbCIgcG9zaXRpb249IjMwNTAsMTcwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZWxhdGlvbnNoaXAtc2NlbmUgZmluYWwtdGVhbSZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyZWxhdGlvbnNoaXAta2lja2VyJnF1b3Q7Jmd0O0dyb3VwIGNvbnNlcXVlbmNlJmx0Oy9zcGFuJmd0OyZsdDtoMiZndDtUaGUgQ3Jvc3NpbmcgUHVzaGVzIEJhY2smbHQ7L2gyJmd0OyZsdDtwJmd0O1RoZSBoaWRkZW4gcGFzc2FnZSBvcGVuZWQgYW5vdGhlciBpbmNoLiBDb2xkIGFpciBydXNoZWQgaW50byB0aGUgaGFsbHdheSwgY2Fycnlpbmcgb3ZlcmxhcHBpbmcgd2hpc3BlcnMuJmx0Oy9wJmd0OwombHQ7Jmx0O2lmICRncm91cEJvbmRMZXZlbCBpcyAmcXVvdDtzdHJvbmcmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIGRpZCBub3QgaGF2ZSB0byB0ZWxsIGFueW9uZSB3aGF0IHRvIGRvLiBLaW1teSBwcm90ZWN0ZWQgdGhlIHJlY29yZHMsIFJ5YW4gbWFya2VkIHRoZSBzYWZlIHNpZGUgb2YgdGhlIHRocmVzaG9sZCwgYW5kIFNjb290IHJlYWQgdGhlIG5vdGVib29rJiMzOTtzIHdhcm5pbmcgYWxvdWQuIFRoZSBzZWFtIHN0b3BwZWQgd2lkZW5pbmcuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVsYXRpb25zaGlwLWJlYXQgcG9zaXRpdmUmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7U3Ryb25nLXRlYW0gcGF5b2ZmJmx0Oy9iJmd0OyZsdDtwJmd0O1RoZSBncm91cCBjb250YWlucyB0aGUgb3BlbmluZyBsb25nIGVub3VnaCB0byBwcmVzZXJ2ZSBldmVyeSBjbHVlLiZsdDsvcCZndDsmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlaWYgJGdyb3VwQm9uZExldmVsIGlzICZxdW90O2dyb3dpbmcmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIGNhbGxlZCBvdXQgdGhlIHBhdHRlcm4uIEtpbW15IGNoZWNrZWQgaXQsIFJ5YW4gdGVzdGVkIHRoZSBib3VuZGFyeSwgYW5kIFNjb290IGZvdW5kIHRoZSBtYXRjaGluZyBub3RlYm9vayBsaW5lLiBUaGUgc2VhbSB3aWRlbmVkIG9uY2UgbW9yZSBiZWZvcmUgdGhleSBmb3JjZWQgaXQgc3RpbGwuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVsYXRpb25zaGlwLWJlYXQgY2F1dGlvdXMmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7R3Jvd2luZy10ZWFtIHBheW9mZiZsdDsvYiZndDsmbHQ7cCZndDtUaGUgZ3JvdXAgY29udGFpbnMgdGhlIG9wZW5pbmcsIGJ1dCBvbmUgcmVmbGVjdGVkIGZpZ3VyZSBkaXNhcHBlYXJzIGJlZm9yZSBLaW1teSBjYW4gcmVjb3JkIGl0LiZsdDsvcCZndDsmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtFdmVyeW9uZSByZWFjdGVkIHNlcGFyYXRlbHkuIEtldmluIHJlYWNoZWQgZm9yIHRoZSBzZWFtIGFzIFJ5YW4gd2FybmVkIGhpbSBiYWNrLiBLaW1teSBnYXRoZXJlZCB0aGUgcGFwZXJzIHdoaWxlIFNjb290IHNlYXJjaGVkIHRoZSBub3RlYm9vay4gQnkgdGhlIHRpbWUgdGhleSBhZ3JlZWQgb24gYSBwbGFuLCB0aGUgcGFzc2FnZSBoYWQgb3BlbmVkIHdpZGUgZW5vdWdoIGZvciBhIGhhbmQgdG8gcHJlc3MgYWdhaW5zdCB0aGUgZ2FwLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3JlbGF0aW9uc2hpcC1iZWF0IHdhcm5pbmcmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7Rm9ybWluZy10ZWFtIGNvbnNlcXVlbmNlJmx0Oy9iJmd0OyZsdDtwJmd0O1RoZSBncm91cCBlc2NhcGVzLCBidXQgdGhlIGNyb3NzaW5nIGxlYXJucyB0aGF0IHRoZXkgYXJlIGRpdmlkZWQuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0NvbnRpbnVlIHRoZSBpbnZlc3RpZ2F0aW9uLSZndDtTdGFpclNlcXVlbmNlTG9ja11dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMjEiIG5hbWU9IlJvdXRlQ29uc2VxdWVuY2VSb3V0ZXIiIHRhZ3M9InJvdXRlIGNvbnNlcXVlbmNlIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIzMjI1LDE4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRyb3V0ZUNvbnNlcXVlbmNlU2VlbiA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O3JvdXRlQ29uc2VxdWVuY2UmcXVvdDssICRpbnZlc3RpZ2F0aW9uUm91dGUsICZxdW90O1RoZSBzZWxlY3RlZCBpbnZlc3RpZ2F0aW9uIHJvdXRlIGRldGVybWluZXMgdGhlIGZpbmFsIHdhcm5pbmcgYW5kIGV2aWRlbmNlIGNvc3QuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O2hvdXNlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7SG91c2VSb3V0ZUNvbnNlcXVlbmNlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2VpZiAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O3Bhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtQYXNzYWdlUm91dGVDb25zZXF1ZW5jZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlaWYgJGludmVzdGlnYXRpb25Sb3V0ZSBpcyAmcXVvdDtvYWsmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtPYWtSb3V0ZUNvbnNlcXVlbmNlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtGaW5hbFRlYW1SZXNwb25zZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzIyIiBuYW1lPSJIb3VzZVJvdXRlQ29uc2VxdWVuY2UiIHRhZ3M9InJvdXRlIGNvbnNlcXVlbmNlIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIzMjUwLDE4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRyb3V0ZVdhcm5pbmcgPSAmcXVvdDtUaGUgaG91c2UgaXMgY291bnRpbmcgZG93biZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuYWRkR3JvdXBFdmlkZW5jZSgmcXVvdDtUaGUgV2luY2hlc3RlciBzdGFpcmNhc2UgbnVtZXJhbHMgZm9ybSBhIGNvdW50ZG93biZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3JvdXRlLWNvbnNlcXVlbmNlIHJvdXRlLWhvdXNlJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JvdXRlLWxhYmVsJnF1b3Q7Jmd0O1dpbmNoZXN0ZXIgaG91c2Ugcm91dGUgY29uc2VxdWVuY2UmbHQ7L3NwYW4mZ3Q7Jmx0O2gyJmd0O1RoZSBTdGFpcmNhc2UgQ291bnRzIEJhY2smbHQ7L2gyJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cm91dGUtY2x1ZS1jYXJkJnF1b3Q7Jmd0OyZsdDtiJmd0O1JvdXRlIGNsdWUmbHQ7L2ImZ3Q7Jmx0O3N0cm9uZyZndDtJSUkgYXBwZWFyZWQgYmVuZWF0aCB0aGUgZWxldmVudGggc3RhaXImbHQ7L3N0cm9uZyZndDsmbHQ7L2RpdiZndDsKJmx0O3AmZ3Q7S2V2aW4gcGxhY2VkIHRoZSBjb3BpZWQgbnVtZXJhbCBiZXNpZGUgdGhlIG90aGVyIHN0YWlyY2FzZSBtYXJrcy4gWEkuIFYuIElJSS4gSUkuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBudW1iZXJzIHdlcmUgbm90IGxhYmVsaW5nIHNlcGFyYXRlIHBsYWNlcy4gVGhleSB3ZXJlIGRlY3JlYXNpbmcuJmx0Oy9wJmd0OyZsdDtwJmd0O0hpcyBkZWFkIHdhdGNoIGZsYXNoZWQgb25jZS4gQSBuZXcgbnVtYmVyIGFwcGVhcmVkOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7SSZsdDsvZGl2Jmd0OyZsdDtwJmd0O1NvbWV3aGVyZSBpbnNpZGUgdGhlIFdpbmNoZXN0ZXIgaG91c2UsIGEgc3RhaXIgY3JlYWtlZCB0aHJvdWdoIEtldmluJiMzOTtzIG1lbW9yeS4gVGhlbiBhbm90aGVyLiBTb21ldGhpbmcgd2FzIG1vdmluZyBkb3dud2FyZCBvbmUgbnVtYmVyZWQgc3RlcCBhdCBhIHRpbWUuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cm91dGUtd2FybmluZyZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O1JvdXRlIHdhcm5pbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBob3VzZSBpcyBjb3VudGluZyB0b3dhcmQgYW4gb3BlbmluZywgYW5kIG9ubHkgb25lIG1hcmtlZCBzdGFpciByZW1haW5zLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tCcmluZyB0aGUgd2FybmluZyB0byB0aGUgZ3JvdXAtJmd0O0ZpbmFsVGVhbVJlc3BvbnNlXV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMyMyIgbmFtZT0iUGFzc2FnZVJvdXRlQ29uc2VxdWVuY2UiIHRhZ3M9InJvdXRlIGNvbnNlcXVlbmNlIGJnLXBhc3NhZ2UiIHBvc2l0aW9uPSIzMjc1LDE4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRyb3V0ZVdhcm5pbmcgPSAmcXVvdDtUaGUgcGFzc2FnZSBjYW4gZ3JhbnQgcGVybWlzc2lvbiB3aXRob3V0IHRoZSBncm91cCYjMzk7cyBjb25zZW50JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5hZGRHcm91cEV2aWRlbmNlKCZxdW90O1RoZSBoaWRkZW4gcGFzc2FnZSBjYW4gaW1pdGF0ZSBwZXJtaXNzaW9uJnF1b3Q7KSZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7cm91dGUtY29uc2VxdWVuY2Ugcm91dGUtcGFzc2FnZSZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyb3V0ZS1sYWJlbCZxdW90OyZndDtIaWRkZW4gcGFzc2FnZSByb3V0ZSBjb25zZXF1ZW5jZSZsdDsvc3BhbiZndDsmbHQ7aDImZ3Q7VGhlIFdyb25nIFZvaWNlIEdpdmVzIFBlcm1pc3Npb24mbHQ7L2gyJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cm91dGUtY2x1ZS1jYXJkJnF1b3Q7Jmd0OyZsdDtiJmd0O1JvdXRlIGNsdWUmbHQ7L2ImZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgcGFzc2FnZSByZWNvZ25pemVzIEx1Y2lsbGUgYW5kIHJlc3BvbmRzIHRvIHBlcm1pc3Npb24mbHQ7L3N0cm9uZyZndDsmbHQ7L2RpdiZndDsKJmx0O3AmZ3Q7UnlhbiByZXBlYXRlZCB0aGUgd29yZHMgdGhhdCBoYWQgb3BlbmVkIHRoZSBzZWFtOiAmcXVvdDtXZSBhcmUgYXNraW5nIHBlcm1pc3Npb24gdG8gbGlzdGVuLiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDtUaGUgd2FsbCBhbnN3ZXJlZCBpbiBLZXZpbiYjMzk7cyB2b2ljZS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0O1lPVSBNQVkgRU5URVIuJmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7S2V2aW4gaGFkIG5vdCBzcG9rZW4uIFJ5YW4gYmFja2VkIGF3YXkgYmVmb3JlIHRoZSBsYXN0IHdvcmQgZmluaXNoZWQgZWNob2luZy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIHBhaW50ZWQgYmxvY2tzIHNoaWZ0ZWQgYXMgaWYgc29tZXRoaW5nIG9uIHRoZSBvdGhlciBzaWRlIGhhZCBhY2NlcHRlZCBwZXJtaXNzaW9uIGZyb20gaXRzZWxmLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3JvdXRlLXdhcm5pbmcmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtSb3V0ZSB3YXJuaW5nOiZsdDsvc3Ryb25nJmd0OyBUaGUgcGFzc2FnZSBjYW4gaW1pdGF0ZSBhIGZhbWlsaWFyIHZvaWNlIGFuZCBtYXkgY3JlYXRlIGZhbHNlIHBlcm1pc3Npb24uJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1dhcm4gdGhlIGdyb3VwIGJlZm9yZSB0aGUgc2VhbSBvcGVucy0mZ3Q7RmluYWxUZWFtUmVzcG9uc2VdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzI0IiBuYW1lPSJPYWtSb3V0ZUNvbnNlcXVlbmNlIiB0YWdzPSJyb3V0ZSBjb25zZXF1ZW5jZSBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzMwMCwxODAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcm91dGVXYXJuaW5nID0gJnF1b3Q7VGhlIGZpcnN0IGJvdW5kYXJ5IGlzIGZhaWxpbmcgYmVuZWF0aCB0aGUgb2FrIHRyZWUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLmFkZEdyb3VwRXZpZGVuY2UoJnF1b3Q7VGhlIG9hayB0cmVlJiMzOTtzIHJvb3RzIGNvbm5lY3QgdGhlIGZpcnN0IGJvdW5kYXJ5IHRvIHRoZSBzY2hvb2wgd2FsbCZxdW90OykmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3JvdXRlLWNvbnNlcXVlbmNlIHJvdXRlLW9hayZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyb3V0ZS1sYWJlbCZxdW90OyZndDtPYWstdHJlZSByb3V0ZSBjb25zZXF1ZW5jZSZsdDsvc3BhbiZndDsmbHQ7aDImZ3Q7VGhlIEZpcnN0IEJvdW5kYXJ5IEJyZWFrcyZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyb3V0ZS1jbHVlLWNhcmQmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7Um91dGUgY2x1ZSZsdDsvYiZndDsmbHQ7c3Ryb25nJmd0O1RoZSBvYWsgdHJlZSBtYXJrcyB0aGUgZmlyc3QgYm91bmRhcnkgZnJvbSAxNjc4Jmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0O0tpbW15IHR1cm5lZCB0aGUgY29waWVkIHBob3RvZ3JhcGggc2lkZXdheXMuIFRoZSBvYWsmIzM5O3MgbGFyZ2VzdCByb290IGZvcm1lZCB0aGUgc2FtZSBjdXJ2ZSBhcyB0aGUgbGluZSBiZW5lYXRoIHRoZSBzY2hvb2wgcGFzc2FnZS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QSBkYXJrIGNyYWNrIHNwcmVhZCBhY3Jvc3MgdGhlIGltYWdlIGZyb20gdGhlIHRyZWUgdG8gdGhlIHNjaG9vbCBmb3VuZGF0aW9uLiBEdXN0IGZlbGwgZnJvbSB0aGUgcmVhbCB3YWxsIGF0IHRoZSBzYW1lIG1vbWVudC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7U2Nvb3QmIzM5O3Mgbm90ZWJvb2sgd3JvdGUgYmVuZWF0aCBLaW1teSYjMzk7cyBoYW5kOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7V0hFTiBUSEUgRklSU1QgTUFSSyBCUkVBS1MsIFRIRSBPVEhFUlMgT1BFTi4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3JvdXRlLXdhcm5pbmcmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtSb3V0ZSB3YXJuaW5nOiZsdDsvc3Ryb25nJmd0OyBUaGUgb2FrLXRyZWUgYm91bmRhcnkgc3VwcG9ydHMgdGhlIGxhdGVyIHByb3RlY3Rpb25zLiBJZiBpdCBmYWlscywgdGhlIGhvdXNlIGFuZCBzY2hvb2wgbWF5IG9wZW4gdG9nZXRoZXIuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1Nob3cgdGhlIGdyb3VwIHdoYXQgdGhlIGZpcnN0IGJvdW5kYXJ5IGNvbnRyb2xzLSZndDtGaW5hbFRlYW1SZXNwb25zZV1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDshLS0gQnVpbGQgNS4yNCByb290IGhvdXNlIHRyaWdnZXIgLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9yb290SG91c2U9c2V0dXAucm9sbFJvb3RIb3VzZSgmcXVvdDtPYWtSb3V0ZUNvbnNlcXVlbmNlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfcm9vdEhvdXNlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jvb3QtaG91c2UtdHJpZ2dlciZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O1RoZSByb290cyBzZXBhcmF0ZSBhcm91bmQgYSBzdGFpcndheSBkZXNjZW5kaW5nIGJlbmVhdGggdGhlIG9hay4mbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtGYXIgYmVsb3csIGEgcG9yY2ggbGlnaHQgc3dpdGNoZXMgb24gaW5zaWRlIGEgYnVyaWVkIGhvdXNlLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRGVzY2VuZCBpbnRvIHRoZSBIb3VzZSBCZW5lYXRoIHRoZSBPYWstJmd0O1Jvb3RIb3VzZUFycml2YWxdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMjUiIG5hbWU9IlJvdXRlRW5kaW5nQWZ0ZXJzaG9jayIgdGFncz0icm91dGUgY29uc2VxdWVuY2UgYmctc2Nob29saGFsbCIgcG9zaXRpb249IjMzMjUsMTgwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtyb3V0ZS1hZnRlcnNob2NrJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JvdXRlLWxhYmVsJnF1b3Q7Jmd0O1lvdXIgcm91dGUgY2hhbmdlZCB0aGUgZmluYWwgd2FybmluZyZsdDsvc3BhbiZndDsKJmx0OyZsdDtpZiAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O2hvdXNlJnF1b3Q7Jmd0OyZndDsmbHQ7aDImZ3Q7T25lIFN0YWlyIFJlbWFpbnMmbHQ7L2gyJmd0OyZsdDtwJmd0O0FzIHRoZSBpbnZlc3RpZ2F0b3JzIGxlYXZlLCBLZXZpbiYjMzk7cyB3YXRjaCBkaXNwbGF5cyAmbHQ7c3Ryb25nJmd0O0kmbHQ7L3N0cm9uZyZndDsuIEF0IGhvbWUsIGFuIHVuc2VlbiBmb290IHNldHRsZXMgb250byB0aGUgZmluYWwgbWFya2VkIHN0YWlyLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FmdGVyc2hvY2stY29kZSZxdW90OyZndDtYSSDihpIgViDihpIgSUlJIOKGkiBJSSDihpIgSSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2VpZiAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O3Bhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OyZsdDtoMiZndDtTb21lb25lIEVsc2UgS25vd3MgVGhlaXIgVm9pY2VzJmx0Oy9oMiZndDsmbHQ7cCZndDtUaGUgc2VhbGVkIHBhc3NhZ2UgY2xvc2VzLCBidXQgS2V2aW4gaGVhcnMgS2ltbXkgY2FsbCBoaXMgbmFtZSBmcm9tIGJlaGluZCBpdC4gS2ltbXkgaXMgc3RhbmRpbmcgYmVzaWRlIGhpbSBhbmQgaGFzIG5vdCBzcG9rZW4uJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YWZ0ZXJzaG9jay1jb2RlJnF1b3Q7Jmd0O1lPVSBNQVkgRU5URVImbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlaWYgJGludmVzdGlnYXRpb25Sb3V0ZSBpcyAmcXVvdDtvYWsmcXVvdDsmZ3Q7Jmd0OyZsdDtoMiZndDtUaGUgVHJlZSBBbnN3ZXJzIFVuZGVyZ3JvdW5kJmx0Oy9oMiZndDsmbHQ7cCZndDtPdXRzaWRlLCB0aGUgb2xkIG9hayBkcm9wcyBvbmUgeWVsbG93IGxlYWYgb250byBiYXJlIHNvaWwuIEJlbmVhdGggdGhlIHNjaG9vbCwgcm9vdHMgcHJlc3MgYWdhaW5zdCB0aGUgaGlkZGVuIHdhbGwgZnJvbSB0aGUgb3RoZXIgc2lkZS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDthZnRlcnNob2NrLWNvZGUmcXVvdDsmZ3Q7RklSU1QgQk9VTkRBUlk6IE9QRU5JTkcmbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7aDImZ3Q7VGhlIFdhcm5pbmcgUmVtYWlucyZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7VGhlIGdyb3VwIGxlYXZlcyBrbm93aW5nIHRoYXQgb25lIGRhbWFnZWQgYm91bmRhcnkgaXMgc3RpbGwgYWN0aXZlLiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tPcGVuIHRoZSBjb21wbGV0ZWQgY2FzZSBmaWxlLSZndDtDYXNlUmVzdWx0c11dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMjYiIG5hbWU9IkNhc2VSZXN1bHRzIiB0YWdzPSJlbmRpbmcgcmVzdWx0cyIgcG9zaXRpb249IjM0MjUsMTkwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiAkcGhhc2U2Q29tcGxldGUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzdWx0cy1zZWN0aW9uJnF1b3Q7Jmd0OyZsdDtoMiZndDtQaGFzZSBTaXggQ29tcGxldGUmbHQ7L2gyJmd0OyZsdDtwJmd0O1RoZSBHcmVlbi1SaW5nIFNjaG9vbCBJbnZlc3RpZ2F0aW9uIGlzIHJlc29sdmVkLiBbW09wZW4gUGhhc2UgU2l4IFJlc3VsdHMtJmd0O1BoYXNlU2l4UmVzdWx0c11dJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2lmICRlbnZpcm9ubWVudEZpbmRzIGFuZCAkZW52aXJvbm1lbnRGaW5kcy5sZW5ndGgmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzdWx0cy1zZWN0aW9uJnF1b3Q7Jmd0OyZsdDtoMiZndDtQaGFzZSA1IEV2aWRlbmNlIEFuYWx5c2lzJmx0Oy9oMiZndDsmbHQ7cCZndDtbW09wZW4gdGhlIGNvbXBsZXRlIEV2aWRlbmNlIEFyY2hpdmUtJmd0O0V2aWRlbmNlQXJjaGl2ZV1dJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29udHJpYnV0aW9uLWdyaWQmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7YiZndDtFbnZpcm9ubWVudGFsIEV2aWRlbmNlJmx0Oy9iJmd0OyZsdDtzcGFuJmd0OyZsdDsmbHQ7cHJpbnQgJGVudmlyb25tZW50RmluZHMubGVuZ3RoJmd0OyZndDsgLyAyNyZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7T3B0aW9uYWwgZGlzY292ZXJpZXMgcHJlc2VydmVkIGluIHRoZSBjYXNlIGZpbGUuJmx0Oy9zbWFsbCZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDtiJmd0O0Zvcm1hbCBEZWR1Y3Rpb25zJmx0Oy9iJmd0OyZsdDtzcGFuJmd0OyZsdDsmbHQ7cHJpbnQgJHNvbHZlZERlZHVjdGlvbnMubGVuZ3RoJmd0OyZndDsgLyA0Jmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDtDb21wbGV0ZWQgdGhlb3JpZXMgZ3JhbnQgZnV0dXJlIGludmVzdGlnYXRpb24gYWR2YW50YWdlcy4mbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O3NldCAkY2FzZVJlc3VsdHNWaWV3ZWQgPSB0cnVlJmd0OyZndDsmbHQ7Jmx0O3NldCBfb3B0aW9uYWxDb3VudCA9IDAmZ3Q7Jmd0OyZsdDsmbHQ7aWYgJGtldmluT3B0aW9uYWxGb3VuZCZndDsmZ3Q7Jmx0OyZsdDtzZXQgX29wdGlvbmFsQ291bnQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7aWYgJHJ5YW5PcHRpb25hbEZvdW5kJmd0OyZndDsmbHQ7Jmx0O3NldCBfb3B0aW9uYWxDb3VudCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtpZiAka2ltbXlPcHRpb25hbEZvdW5kJmd0OyZndDsmbHQ7Jmx0O3NldCBfb3B0aW9uYWxDb3VudCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtpZiAkc2Nvb3RPcHRpb25hbEZvdW5kJmd0OyZndDsmbHQ7Jmx0O3NldCBfb3B0aW9uYWxDb3VudCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtzZXQgX3B1enpsZXNTb2x2ZWQgPSAwJmd0OyZndDsmbHQ7Jmx0O2lmICRyb21hblB1enpsZVNvbHZlZCZndDsmZ3Q7Jmx0OyZsdDtzZXQgX3B1enpsZXNTb2x2ZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7aWYgJGFyY2hpdmVQdXp6bGVTb2x2ZWQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9wdXp6bGVzU29sdmVkICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2lmICRzdGFpclB1enpsZVNvbHZlZCZndDsmZ3Q7Jmx0OyZsdDtzZXQgX3B1enpsZXNTb2x2ZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nhc2UtcmVzdWx0cyZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc3VsdHMtaGVhZGVyJnF1b3Q7Jmd0OyZsdDtzcGFuJmd0O0JyZWNrZW5yaWRnZSBDYXNlIEZpbGUgMDEmbHQ7L3NwYW4mZ3Q7Jmx0O2gxJmd0O0ludmVzdGlnYXRpb24gUmVzdWx0cyZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7WW91ciBjaG9pY2VzIHNoYXBlZCB3aGF0IHRoZSBncm91cCBkaXNjb3ZlcmVkIGFuZCB3aGF0IGZvbGxvd2VkIHRoZW0gb3V0LiZsdDsvcCZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtyZXN1bHRzLWdyaWQmcXVvdDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzdWx0LWNhcmQmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7SW52ZXN0aWdhdGlvbiByb3V0ZSZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0OyZsdDsmbHQ7aWYgJGludmVzdGlnYXRpb25Sb3V0ZSBpcyAmcXVvdDtob3VzZSZxdW90OyZndDsmZ3Q7V2luY2hlc3RlciBIb3VzZSZsdDsmbHQ7ZWxzZWlmICRpbnZlc3RpZ2F0aW9uUm91dGUgaXMgJnF1b3Q7cGFzc2FnZSZxdW90OyZndDsmZ3Q7SGlkZGVuIFBhc3NhZ2UmbHQ7Jmx0O2Vsc2VpZiAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O29hayZxdW90OyZndDsmZ3Q7T2FrIFRyZWUmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1VucmVjb3JkZWQmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7cHJpbnQgJHJvdXRlV2FybmluZyZndDsmZ3Q7Jmx0Oy9zbWFsbCZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtyZXN1bHQtY2FyZCZxdW90OyZndDsmbHQ7c3BhbiZndDtHcm91cCBib25kJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDtwcmludCAkZ3JvdXBCb25kTGV2ZWwudG9VcHBlckNhc2UoKSZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7aWYgJGdyb3VwQm9uZExldmVsIGlzICZxdW90O3N0cm9uZyZxdW90OyZndDsmZ3Q7VGhlIGludmVzdGlnYXRvcnMgYWN0ZWQgYXMgb25lIHRlYW0uJmx0OyZsdDtlbHNlaWYgJGdyb3VwQm9uZExldmVsIGlzICZxdW90O2dyb3dpbmcmcXVvdDsmZ3Q7Jmd0O1RoZSBpbnZlc3RpZ2F0b3JzIGNvb3BlcmF0ZWQgd2l0aCBzb21lIGhlc2l0YXRpb24uJmx0OyZsdDtlbHNlJmd0OyZndDtUaGUgaW52ZXN0aWdhdG9ycyBhcmUgc3RpbGwgbGVhcm5pbmcgdG8gdHJ1c3Qgb25lIGFub3RoZXIuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzdWx0LWNhcmQmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7UHV6emxlcyBzb2x2ZWQmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDsmbHQ7Jmx0O3ByaW50IF9wdXp6bGVzU29sdmVkJmd0OyZndDsgLyAzJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7aWYgJHB1enpsZU1pc3Rha2VzIGlzIDAmZ3Q7Jmd0O05vIGluY29ycmVjdCBwdXp6bGUgYXR0ZW1wdHMuJmx0OyZsdDtlbHNlaWYgJHB1enpsZU1pc3Rha2VzIGlzIDEmZ3Q7Jmd0O09uZSBpbmNvcnJlY3QgYXR0ZW1wdC4mbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDsmbHQ7cHJpbnQgJHB1enpsZU1pc3Rha2VzJmd0OyZndDsgaW5jb3JyZWN0IGF0dGVtcHRzLiZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc3VsdC1jYXJkJnF1b3Q7Jmd0OyZsdDtzcGFuJmd0O09wdGlvbmFsIGNsdWVzJmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDtwcmludCBfb3B0aW9uYWxDb3VudCZndDsmZ3Q7IC8gNCZsdDsvc3Ryb25nJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0O2lmIF9vcHRpb25hbENvdW50IGlzIDQmZ3Q7Jmd0O0V2ZXJ5IGNoYXJhY3RlciYjMzk7cyBoaWRkZW4gY2x1ZSB3YXMgZGlzY292ZXJlZC4mbHQ7Jmx0O2Vsc2VpZiBfb3B0aW9uYWxDb3VudCAmZ3Q7PSAyJmd0OyZndDtTZXZlcmFsIGhpZGRlbiBjbHVlcyB3ZXJlIGRpc2NvdmVyZWQuJmx0OyZsdDtlbHNlJmd0OyZndDtPdGhlciBjbHVlcyByZW1haW4gZm9yIGFub3RoZXIgcGxheXRocm91Z2guJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7Jmx0O2lmICRlcGlzb2RlVHdvU3RhcnRlZCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZXN1bHRzLXNlY3Rpb24mcXVvdDsmZ3Q7Jmx0O2gyJmd0O0VwaXNvZGUgVHdvIFB1enpsZXMmbHQ7L2gyJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29udHJpYnV0aW9uLWdyaWQmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7YiZndDtUaHJlZS1OYW1lIFJlY29uc3RydWN0aW9uJmx0Oy9iJmd0OyZsdDtzcGFuJmd0OyZsdDsmbHQ7aWYgJG5hbWVQdXp6bGVTb2x2ZWQmZ3Q7Jmd0O1NPTFZFRCZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Tk9UIFJFQUNIRUQmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0O3ByaW50ICRuYW1lUHV6emxlQXR0ZW1wdHMmZ3Q7Jmd0OyBpbmNvcnJlY3QgYXR0ZW1wdHMmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7U2l4LVBldGFsIFNlYWwgUGxhY2VtZW50Jmx0Oy9iJmd0OyZsdDtzcGFuJmd0OyZsdDsmbHQ7aWYgJGhleGFmb2lsUHV6emxlU29sdmVkJmd0OyZndDtTT0xWRUQmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O05PVCBSRUFDSEVEJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDtwcmludCAkaGV4YWZvaWxQdXp6bGVBdHRlbXB0cyZndDsmZ3Q7IGluY29ycmVjdCBhdHRlbXB0cyZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzdWx0cy1zZWN0aW9uJnF1b3Q7Jmd0OyZsdDtoMiZndDtDaGFyYWN0ZXIgQ29udHJpYnV0aW9ucyZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb250cmlidXRpb24tZ3JpZCZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtiJmd0O0tldmluJmx0Oy9iJmd0OyZsdDtzcGFuJmd0OyZsdDsmbHQ7aWYgJGtldmluQWJpbGl0eSBpcyAmcXVvdDtQYXR0ZXJuUmVjb2duaXRpb24mcXVvdDsmZ3Q7Jmd0O1BhdHRlcm4gUmVjb2duaXRpb24mbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1N0ZWFkeSBBY3Rpb24mbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0O2lmICRrZXZpbk9wdGlvbmFsRm91bmQmZ3Q7Jmd0O0Nvbm5lY3RlZCB0aGUgd2V0IGZvb3RwcmludCB0byB0aGUgcGhvdG9ncmFwaC4mbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O0EgcGhvdG9ncmFwaCBjbHVlIHJlbWFpbnMgaGlkZGVuLiZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7UnlhbiZsdDsvYiZndDsmbHQ7c3BhbiZndDtCb3VuZGFyeSBTZW5zZSZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDtpZiAkcnlhbk9wdGlvbmFsRm91bmQmZ3Q7Jmd0O1Byb3ZlZCB0aGF0IHRocmVzaG9sZHMgcmVxdWlyZSBhY2tub3dsZWRnbWVudC4mbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O0EgdGhyZXNob2xkIGV4cGVyaW1lbnQgcmVtYWlucyB1bnRyaWVkLiZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7S2ltbXkmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7VmVyaWZpZWQgRXZpZGVuY2UmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7aWYgJGtpbW15T3B0aW9uYWxGb3VuZCZndDsmZ3Q7Rm91bmQgbWF0Y2hpbmcgaGFuZHdyaXRpbmcgYWNyb3NzIGRlY2FkZXMuJmx0OyZsdDtlbHNlJmd0OyZndDtBbiBhcmNoaXZlIGNvbXBhcmlzb24gcmVtYWlucyB1bmZpbmlzaGVkLiZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7U2Nvb3QmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7Tm90ZWJvb2sgSW5zdGluY3QmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7aWYgJHNjb290T3B0aW9uYWxGb3VuZCZndDsmZ3Q7TGVhcm5lZCB0aGF0IHRoZSBub3RlYm9vayByZXNwb25kcyB0byBwb2V0aWMgc3RydWN0dXJlLiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7QW4gdW5maW5pc2hlZCBwb2VtIHJlbWFpbnMgaW4gdGhlIG5vdGVib29rLiZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OwombHQ7Jmx0O2lmICRlcGlzb2RlVGhyZWVMZWFkIGlzICZxdW90O2NlbWV0ZXJ5JnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc3VsdHMtc2VjdGlvbiZxdW90OyZndDsmbHQ7aDImZ3Q7UHVycGxlLVJpbmcgTGlicmFyeSBMZWFkJmx0Oy9oMiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnRyaWJ1dGlvbi1ncmlkJnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7Q29yYSBJZGVudGlmaWVkJmx0Oy9iJmd0OyZsdDtzcGFuJmd0O1B1cnBsZS1yaW5nIHJlY29yZCBrZWVwZXImbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0O0NvcmEgcHJlc2VydmVzIG1lbW9yaWVzIHRoYXQgQ2Fyb2xpbmUgYXR0ZW1wdHMgdG8gcmV3cml0ZS4mbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7TmV4dCBUYXJnZXQmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7QlJFQ0tFTlJJREdFIENFTUVURVJZJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0O3ByaW50ICRwdXJwbGVQdXp6bGVBdHRlbXB0cyZndDsmZ3Q7IGNhdGFsb2cgb3Igcm91dGUgbWlzdGFrZXMmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2lmICRtZW1vcnlHcmF2ZU9wZW5lZCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZXN1bHRzLXNlY3Rpb24mcXVvdDsmZ3Q7Jmx0O2gyJmd0O0NlbWV0ZXJ5IEludmVzdGlnYXRpb24mbHQ7L2gyJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29udHJpYnV0aW9uLWdyaWQmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7YiZndDtDaGFuZ2luZyBFcGl0YXBoJmx0Oy9iJmd0OyZsdDtzcGFuJmd0OyZsdDsmbHQ7aWYgJGNlbWV0ZXJ5UHV6emxlU29sdmVkJmd0OyZndDtSRVNUT1JFRCZsdDsmbHQ7ZWxzZSZndDsmZ3Q7VU5SRVNPTFZFRCZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7cHJpbnQgJGNlbWV0ZXJ5UHV6emxlQXR0ZW1wdHMmZ3Q7Jmd0OyBpbmNvcnJlY3QgYXR0ZW1wdHMmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7QnVyaWVkIFdhcm5pbmcmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7VEhFIEZPVVJUSCBOQU1FIElTIE5PVCBBIFNJU1RFUiZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7TmV4dCBsZWFkOiBhc2sgQ2FyYSB3aGF0IHRoZSBzY2hvb2wgaGlkZXMuJmx0Oy9zbWFsbCZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZXN1bHRzLXNlY3Rpb24gdW5yZXNvbHZlZCZxdW90OyZndDsmbHQ7aDImZ3Q7VW5yZXNvbHZlZCBNeXN0ZXJpZXMmbHQ7L2gyJmd0OyZsdDt1bCZndDsmbHQ7bGkmZ3Q7V2hvIGlzIHByZXNlcnZpbmcgdGhlIGdpcmxzJiMzOTsgbmFtZXM/Jmx0Oy9saSZndDsmbHQ7bGkmZ3Q7V2hhdCBoYXBwZW5lZCB0aGUgbGFzdCB0aW1lIE1yLiBBc2h0b24gc2F3IHRoZSBoZXhhZm9pbD8mbHQ7L2xpJmd0OyZsdDtsaSZndDtXaG8gd2VhcnMgdGhlIGRhcmsgcmVkIHJpbmc/Jmx0Oy9saSZndDsmbHQ7Jmx0O2lmICRpbnZlc3RpZ2F0aW9uUm91dGUgaXMgJnF1b3Q7aG91c2UmcXVvdDsmZ3Q7Jmd0OyZsdDtsaSZndDtXaGF0IGhhcHBlbnMgd2hlbiB0aGUgc3RhaXJjYXNlIGNvdW50ZG93biByZWFjaGVzIGl0cyBmaW5hbCBzdGVwPyZsdDsvbGkmZ3Q7Jmx0OyZsdDtlbHNlaWYgJGludmVzdGlnYXRpb25Sb3V0ZSBpcyAmcXVvdDtwYXNzYWdlJnF1b3Q7Jmd0OyZndDsmbHQ7bGkmZ3Q7V2hvc2Ugdm9pY2Ugd2lsbCB0aGUgcGFzc2FnZSBpbWl0YXRlIG5leHQ/Jmx0Oy9saSZndDsmbHQ7Jmx0O2Vsc2VpZiAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O29hayZxdW90OyZndDsmZ3Q7Jmx0O2xpJmd0O0NhbiB0aGUgZmlyc3QgYm91bmRhcnkgYmVuZWF0aCB0aGUgb2FrIGJlIHJlcGFpcmVkPyZsdDsvbGkmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvdWwmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS10d28tbGF1bmNoJnF1b3Q7Jmd0O1tbQ29udGludWUgaW50byBFcGlzb2RlIFR3by0mZ3Q7RXBpc29kZVR3b09wZW5pbmddXSZsdDtzcGFuJmd0O1RoZSBmaXJzdCBkYXkgaXMgbm90IG92ZXIuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7aWYgJGFiYmllU2FmZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLXRocmVlLWxhdW5jaCZxdW90OyZndDtbW0NvbnRpbnVlIGludG8gRXBpc29kZSBUaHJlZS0mZ3Q7RXBpc29kZVRocmVlT3BlbmluZ11dJmx0O3NwYW4mZ3Q7Rm9sbG93IHRoZSBuYW1lIGhpZGRlbiBpbnNpZGUgdGhlIGNhdCBib29rLiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZXN1bHRzLWFjdGlvbnMmcXVvdDsmZ3Q7Jmx0O2RpdiZndDtbW1JlYWQgdGhlIGNvbXBsZXRlIGVwaXNvZGUgc3VtbWFyeS0mZ3Q7Q2hhcHRlciA2IFN1bW1hcnldXSZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7W1tSZXR1cm4gdG8gdGhlIHRpdGxlIHNjcmVlbi0mZ3Q7U3RhcnRdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3JlcGxheS1ub3RlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7UmVwbGF5IHBhdGg6Jmx0Oy9zdHJvbmcmZ3Q7IENob29zZSBhIGRpZmZlcmVudCBpbnZlc3RpZ2F0aW9uIHJvdXRlIGFuZCBsb29rIGZvciBvcHRpb25hbCBjaGFyYWN0ZXIgaW52ZXN0aWdhdGlvbnMgdG8gcmV2ZWFsIGFub3RoZXIgZW5kaW5nIHdhcm5pbmcuJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CgombHQ7IS0tIEI1LjEgY29uc2VxdWVuY2Ugc3VtbWFyeSAtLSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc3VsdHMtc2VjdGlvbiZxdW90OyZndDsmbHQ7aDImZ3Q7Q2hvaWNlcyBUaGF0IENhcnJpZWQgRm9yd2FyZCZsdDsvaDImZ3Q7Jmx0OyZsdDtpZiAkY29uc2VxdWVuY2VMb2cubGVuZ3RoJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLXJlc3VsdHMmcXVvdDsmZ3Q7Jmx0OyZsdDtmb3IgX2l0ZW0gcmFuZ2UgJGNvbnNlcXVlbmNlTG9nJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLWNhcmQmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDsmbHQ7Jmx0O3ByaW50IF9pdGVtLmNob2ljZSZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7Jmx0OyZsdDtwcmludCBfaXRlbS5lZmZlY3QmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3AmZ3Q7Tm8gbWFqb3IgY29uc2VxdWVuY2UgcmVjb3JkcyBhcmUgYXZhaWxhYmxlIGZvciB0aGlzIHBsYXl0aHJvdWdoLiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QgZW5kaW5nLWxpbmsmcXVvdDsmZ3Q7W1tWaWV3IHRoZSBmaW5hbCBUcnV0aCwgUmVzY3VlLCBhbmQgQ29zdCBvdXRjb21lLSZndDtFbmRpbmdNYXRyaXhSZXN1bHRzXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMyNyIgbmFtZT0iRXBpc29kZVR3b09wZW5pbmciIHRhZ3M9ImVwaXNvZGUyIGFzaHRvbiBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzc0MCwxOTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZXBpc29kZVR3b1N0YXJ0ZWQgPSB0cnVlJmd0OyZndDsmbHQ7Jmx0O3NldCAkZXBpc29kZSA9IDImZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gNyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHBvdiA9ICZxdW90O01yLiBBc2h0b24mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBIaXN0b3J5IENsYXNzcm9vbSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1dhdGNoIEtldmluIHdpdGhvdXQgcmV2ZWFsaW5nIHdoYXQgTXIuIEFzaHRvbiBrbm93cyZxdW90OyZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtFcGlzb2RlIFR3byZsdDsvZGl2Jmd0OyZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtUaGUgV29yZCBOb2JvZHkgV2FzIFJlYWR5IEZvciZsdDsvaDEmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0O01yLiBBc2h0b24gbm90aWNlcyB0aGUgc3R1ZGVudCB3aG8gcmVjb2duaXplcyB0b28gbXVjaCZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OwombHQ7cCZndDtNci4gQXNodG9uIGNvdWxkIHVzdWFsbHkgcmVhZCBhIGNsYXNzcm9vbSBiZWZvcmUgdGhlIGZpcnN0IGJlbGwuIE1vc3Qgc3R1ZGVudHMgcGVyZm9ybWVkIGJvcmVkb20gYmVjYXVzZSBhZG1pdHRpbmcgbmVydm91c25lc3Mgd2FzIHdvcnNlLiZsdDsvcCZndDsmbHQ7cCZndDtLZXZpbiBXaW5jaGVzdGVyIGRpZCBub3QgcGVyZm9ybSBhbnl0aGluZy4gS2V2aW4gc2F0IHRvbyBzdGlsbCwgb25lIGhhbmQgY292ZXJpbmcgYSBkZWFkIHdyaXN0d2F0Y2ggYXMgaWYgc2lsZW5jZSByZXF1aXJlZCBwaHlzaWNhbCBlZmZvcnQuJmx0Oy9wJmd0OyZsdDtwJmd0O09uIE1yLiBBc2h0b24mIzM5O3MgZGVzaywgYSBjb2ZmZWUgbXVnIHJlc3RlZCBiZXNpZGUgYW4gb2xkIHRhbiBicmllZmNhc2UuIEluc2lkZSB0aGUgYnJpZWZjYXNlIHdhaXRlZCBhIGNvcGllZCBqb3VybmFsIHBhZ2UgTXIuIEFzaHRvbiBoYWQgcHJvbWlzZWQgaGltc2VsZiBoZSB3b3VsZCBub3QgdXNlIG9uIHRoZSBmaXJzdCBkYXkuJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hhdCBzaG91bGQgTXIuIEFzaHRvbiBub3RpY2UgZmlyc3Q/Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0tldmluJiMzOTtzIHdhdGNoIGFuZCBndWFyZGVkIHBvc3R1cmUtJmd0O0FzaHRvbldhdGNoZXNLZXZpbl1dW1tUaGUgY2xhc3Nyb29tIGNsb2NrIGFuZCBpdHMgbWlzc2luZyBtaW51dGUtJmd0O0FzaHRvbkNoZWNrc0Nsb2NrXV1bW1RoZSBjb3BpZWQgam91cm5hbCBwYWdlIGluIHRoZSBicmllZmNhc2UtJmd0O0FzaHRvbkNoZWNrc0pvdXJuYWxdXSZsdDsvZGl2Jmd0OwoKLyogVjQuMyBib3VuZGFyeSBjaGVja3BvaW50IGNoYXB0ZXIgNyAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDNDYXB0dXJlQm91bmRhcnkoNywgJnF1b3Q7RXBpc29kZVR3b09wZW5pbmcmcXVvdDssIDIpJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAudjQ0Q2FwdHVyZUNoYXB0ZXIoNywgJnF1b3Q7RXBpc29kZVR3b09wZW5pbmcmcXVvdDssIDIpJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMjgiIG5hbWU9IkFzaHRvbldhdGNoZXNLZXZpbiIgdGFncz0iZXBpc29kZTIgYXNodG9uIGJnLWNsYXNzcm9vbSIgcG9zaXRpb249IjM4ODAsMTkwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QXNodG9uV2F0Y2hlc0tldmluOjE6ZmY5Nzc0ZjEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFzaHRvbldhdGNoZXNLZXZpbjoxOmZmOTc3NGYxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGFzaHRvblRydXN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O3J1biAkYXNodG9uRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiBleHBlY3RzIHRoZSB3YXRjaCB0byByZWFjdCZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIGNoZWNrZWQgdGhlIHdhdGNoIHdpdGhvdXQgbG9va2luZyBkb3duLiBUaGF0IHdhcyBub3QgY3VyaW9zaXR5LiBJdCB3YXMgYW50aWNpcGF0aW9uLiZsdDsvcCZndDsmbHQ7cCZndDtNci4gQXNodG9uIGhhZCBzZWVuIHRoZSBzYW1lIGNhcmVmdWwgc3RpbGxuZXNzIGluIHBlb3BsZSB3YWl0aW5nIGZvciBhIHNvdW5kIG5vIG9uZSBlbHNlIGNvdWxkIGhlYXIuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7dGVhY2hlci1ub3RlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7T2JzZXJ2YXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IEtldmluIGlzIG5vdCBzdXJwcmlzZWQgYnkgdGhlIHdhdGNoLiBLZXZpbiBpcyB0cnlpbmcgdG8gcHJldmVudCBvdGhlcnMgZnJvbSBub3RpY2luZyBpdC4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQmVnaW4gdGhlIGhpc3RvcnkgbGVzc29uLSZndDtBc2h0b25CZWdpbnNMZXNzb25dXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzI5IiBuYW1lPSJBc2h0b25DaGVja3NDbG9jayIgdGFncz0iZXBpc29kZTIgYXNodG9uIGJnLWNsYXNzcm9vbSIgcG9zaXRpb249IjQwMjAsMTkwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gJGFzaHRvbkV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7VGhlIGNsYXNzcm9vbSBjbG9jayBsb3NlcyB0aGUgc2FtZSBtaW51dGUmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgY2xhc3Nyb29tIGNsb2NrIHRpY2tlZCBwYXN0IDk6MTMsIHBhdXNlZCwgYW5kIGp1bXBlZCB0byA5OjE1LiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCByaWdodCB0aWx0LW4yIHN0YW5kYXJkIGJhdGNoMiB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtjbGFzc3Jvb21fY2xvY2smcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9jbGFzc3Jvb21fY2xvY2sucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7cCZndDtObyBvbmUgcmVhY3RlZCBleGNlcHQgS2V2aW4sIHdob3NlIHNsZWV2ZSBtb3ZlZCBxdWlja2x5IG92ZXIgaGlzIHdyaXN0LiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3RlYWNoZXItbm90ZSZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O09ic2VydmF0aW9uOiZsdDsvc3Ryb25nJmd0OyBUaGUgY2xhc3Nyb29tIGFuZCBLZXZpbiYjMzk7cyB3YXRjaCBhcmUgbG9zaW5nIHRoZSBzYW1lIG1pbnV0ZS4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQmVnaW4gdGhlIGhpc3RvcnkgbGVzc29uLSZndDtBc2h0b25CZWdpbnNMZXNzb25dXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzMwIiBuYW1lPSJBc2h0b25DaGVja3NKb3VybmFsIiB0YWdzPSJlcGlzb2RlMiBhc2h0b24gYmctY2xhc3Nyb29tIiBwb3NpdGlvbj0iNDE2MCwxOTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biAkYXNodG9uRXZpZGVuY2UucHVzaFVuaXF1ZSgmcXVvdDtUaGUgb2xkIGpvdXJuYWwgcmVhY3RzIG5lYXIgS2V2aW4mcXVvdDspJmd0OyZndDsmbHQ7cCZndDtNci4gQXNodG9uIG9wZW5lZCB0aGUgYnJpZWZjYXNlIG9uZSBpbmNoLiBUaGUgY29waWVkIGpvdXJuYWwgcGFnZSBoYWQgY3VybGVkIHRpZ2h0bHkgYXJvdW5kIGl0c2VsZi4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7V2hlbiBLZXZpbiBzaGlmdGVkIGluIGhpcyBzZWF0LCB0aGUgcGFwZXIgcmVsYXhlZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt0ZWFjaGVyLW5vdGUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtPYnNlcnZhdGlvbjombHQ7L3N0cm9uZyZndDsgVGhlIHJlY29yZCBiZWhhdmVzIGFzIHRob3VnaCBpdCByZWNvZ25pemVzIHNvbWVvbmUgaW4gdGhlIHJvb20uJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0JlZ2luIHRoZSBoaXN0b3J5IGxlc3Nvbi0mZ3Q7QXNodG9uQmVnaW5zTGVzc29uXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMzMSIgbmFtZT0iQXNodG9uQmVnaW5zTGVzc29uIiB0YWdzPSJlcGlzb2RlMiBhc2h0b24gYmctY2xhc3Nyb29tIiBwb3NpdGlvbj0iMzYwMCwyMDMwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7SW50cm9kdWNlIEJyZWNrZW5yaWRnZSBoaXN0b3J5IHdpdGhvdXQgYWxhcm1pbmcgS2V2aW4mcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O01yLiBBc2h0b24gd2VsY29tZWQgdGhlIGNsYXNzLCBpbnRyb2R1Y2VkIHRoZSBjb3Vyc2UsIGFuZCB3cm90ZSB0aHJlZSBkYXRlcyBvbiB0aGUgYm9hcmQ6Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGlzdG9yeS1ib2FyZCZxdW90OyZndDsmbHQ7c3BhbiZndDsxNjc4Jmx0Oy9zcGFuJmd0OyZsdDtzcGFuJmd0OzE3NzYmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4mZ3Q7MTk3OCZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDsmcXVvdDtIaXN0b3J5IGlzIG5vdCBhIGxpc3Qgb2YgdGhpbmdzIHNhZmVseSBmaW5pc2hlZCwmcXVvdDsgaGUgc2FpZC4gJnF1b3Q7U29tZXRpbWVzIHRoZSBwYXN0IGxlYXZlcyBpbnN0cnVjdGlvbnMuIFNvbWV0aW1lcyB3ZSBpZ25vcmUgdGhlbS4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7S2V2aW4mIzM5O3Mgd2F0Y2ggYmVlcGVkIGJlbmVhdGggaGlzIHNsZWV2ZS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doaWNoIHN1YmplY3Qgc2hvdWxkIE1yLiBBc2h0b24gaW50cm9kdWNlPyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tUaGUgcHJvdGVjdGl2ZSBzeW1ib2wgZm91bmQgb24gb2xkIGRvb3JmcmFtZXMtJmd0O0FzaHRvbkRyYXdzSGV4YWZvaWxdXVtbVGhlIG1pc3NpbmcgbmFtZXMgaW4gQnJlY2tlbnJpZGdlIHJlY29yZHMtJmd0O0FzaHRvbkRpc2N1c3Nlc01pc3NpbmdOYW1lc11dW1tUaGUgc3RyYW5nZSBqb3VybmFsIGZyb20gMTY3OC0mZ3Q7QXNodG9uUmVhZHNKb3VybmFsXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMzMiIgbmFtZT0iQXNodG9uRHJhd3NIZXhhZm9pbCIgdGFncz0iZXBpc29kZTIgYXNodG9uIGJnLXBhc3NhZ2UiIHBvc2l0aW9uPSIzNzQwLDIwMzAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFzaHRvbkRyYXdzSGV4YWZvaWw6MTo5ZGI5M2Q1ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6QXNodG9uRHJhd3NIZXhhZm9pbDoxOjlkYjkzZDVmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGhpc3RvcnlDbHVlc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRhc2h0b25FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O0tldmluIHJlY29nbml6ZXMgdGhlIGhleGFmb2lsJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7TXIuIEFzaHRvbiBkcmV3IGEgY2lyY2xlIGFuZCBhZGRlZCBzaXggY3VydmVkIHBldGFscy4gQ2hhbGsgc25hcHBlZCBvbiB0aGUgZmluYWwgbGluZS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7S2V2aW4mIzM5O3MgY2hhaXIgc2NyYXBlZCBiYWNrd2FyZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7TXIuIFdpbmNoZXN0ZXI/JnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O1N0YXRpYywmcXVvdDsgS2V2aW4gc2FpZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7UnlhbiBsb29rZWQgYXQgdGhlIHdvb2RlbiBjaGFpci4gJnF1b3Q7RGFuZ2Vyb3VzIGFtb3VudCBvZiBzdGF0aWMuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2xhc3Nyb29tLXJlYWN0aW9uJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2UgY29uZmlybWVkOiZsdDsvc3Ryb25nJmd0OyBLZXZpbiByZWNvZ25pemVzIHRoZSBoZXhhZm9pbCBiZWZvcmUgTXIuIEFzaHRvbiBleHBsYWlucyBpdC4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQXNrIEtldmluIGEgY2FyZWZ1bCBxdWVzdGlvbi0mZ3Q7QXNodG9uUXVlc3Rpb25zS2V2aW5dXVtbQ29udGludWUgd2l0aG91dCBkcmF3aW5nIGF0dGVudGlvbiB0byBoaW0tJmd0O0FzaHRvbkNvbnRpbnVlc0xlc3Nvbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMzMiIG5hbWU9IkFzaHRvbkRpc2N1c3Nlc01pc3NpbmdOYW1lcyIgdGFncz0iZXBpc29kZTIgYXNodG9uIGJnLWNsYXNzcm9vbSIgcG9zaXRpb249IjM4ODAsMjAzMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QXNodG9uRGlzY3Vzc2VzTWlzc2luZ05hbWVzOjE6OWRiOTNkNWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFzaHRvbkRpc2N1c3Nlc01pc3NpbmdOYW1lczoxOjlkYjkzZDVmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGhpc3RvcnlDbHVlc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRhc2h0b25FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RocmVlIGdpcmxzIHdlcmUgcmVtb3ZlZCBmcm9tIG11bHRpcGxlIHJlY29yZHMmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtNci4gQXNodG9uIGV4cGxhaW5lZCB0aGF0IHNldmVyYWwgZWFybHkgc2Nob29sIGFuZCB0b3duIHJlY29yZHMgY29udGFpbmVkIHNwYWNlcyB3aGVyZSBuYW1lcyBoYWQgYmVlbiBzY3JhcGVkIGF3YXkuJmx0Oy9wJmd0OyZsdDtwJmd0O0tpbW15IHN0b3BwZWQgd3JpdGluZy4gU2Nvb3QgZGlkIG5vdC4gSGlzIHBlbmNpbCBtb3ZlZCBmYXN0ZXIuJmx0Oy9wJmd0OyZsdDtwJmd0O0Zyb20gdGhlIGJhY2sgb2YgdGhlIHJvb20gY2FtZSB0aHJlZSBxdWlldCBrbm9ja3MuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2xhc3Nyb29tLXJlYWN0aW9uJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2UgY29uZmlybWVkOiZsdDsvc3Ryb25nJmd0OyBTb21lb25lIHJlbW92ZWQgdGhlIHNhbWUgdGhyZWUgbmFtZXMgZnJvbSBtb3JlIHRoYW4gb25lIGhpc3RvcmljYWwgcmVjb3JkLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBc2sgd2hvIGhlYXJkIHRoZSBrbm9ja2luZy0mZ3Q7QXNodG9uQXNrc0Fib3V0S25vY2tzXV1bW0NvbnRpbnVlIHRvIHRoZSBqb3VybmFsIGFjY291bnQtJmd0O0FzaHRvblJlYWRzSm91cm5hbF1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMzQiIG5hbWU9IkFzaHRvblJlYWRzSm91cm5hbCIgdGFncz0iZXBpc29kZTIgYXNodG9uIGJnLWNsYXNzcm9vbSIgcG9zaXRpb249IjQwMjAsMjAzMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QXNodG9uUmVhZHNKb3VybmFsOjE6OWRiOTNkNWYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFzaHRvblJlYWRzSm91cm5hbDoxOjlkYjkzZDVmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGhpc3RvcnlDbHVlc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRhc2h0b25FdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1RoZSAxNjc4IGFjY291bnQgZGVzY3JpYmVzIHRoZSBzYW1lIHNvdW5kcyBhbmQgdmlzaW9ucyZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O01yLiBBc2h0b24gdW5mb2xkZWQgdGhlIGNvcGllZCBqb3VybmFsIHBhZ2UgYW5kIHN1bW1hcml6ZWQgaXRzIGFjY291bnQgb2YgbWlkbmlnaHQgZm9vdHN0ZXBzLCB3aGlzcGVycyBpbnNpZGUgdGhlIHdhbGxzLCBhbmQgZmlndXJlcyBhcHBlYXJpbmcgd2hlcmUgcmVmbGVjdGlvbnMgc2hvdWxkIGhhdmUgYmVlbi4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7S2V2aW4mIzM5O3Mgd2F0Y2ggYmVnYW4gYmVlcGluZy4gTm90IG9uY2UuIEluIGEgc3RlYWR5IHJoeXRobS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt3YXRjaC1kaXNwbGF5JnF1b3Q7Jmd0Ozk6MTQmbHQ7YnImZ3Q7Jmx0O3NtYWxsJmd0O09QRU4gRE9PUiZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7TXIuIEFzaHRvbiBzdG9wcGVkIHJlYWRpbmcuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2xhc3Nyb29tLXJlYWN0aW9uJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7RXZpZGVuY2UgY29uZmlybWVkOiZsdDsvc3Ryb25nJmd0OyBUaGUgd2F0Y2ggcmVzcG9uZHMgZGlyZWN0bHkgdG8gdGhlIDE2NzggYWNjb3VudC4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbVGVsbCBLZXZpbiB0byByZW1vdmUgdGhlIHdhdGNoLSZndDtBc2h0b25DaGFsbGVuZ2VzV2F0Y2hdXVtbUXVpZXRseSBjb3ZlciB0aGUgam91cm5hbCBwYWdlLSZndDtBc2h0b25Qcm90ZWN0c0tldmluXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjMzNSIgbmFtZT0iQXNodG9uUXVlc3Rpb25zS2V2aW4iIHRhZ3M9ImVwaXNvZGUyIGFzaHRvbiBiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSI0MTYwLDIwMzAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OyZxdW90O0hhdmUgeW91IHNlZW4gdGhhdCBkZXNpZ24gYmVmb3JlPyZxdW90OyBNci4gQXNodG9uIGFza2VkLiZsdDsvcCZndDsmbHQ7Jmx0O2lmICRrZXZpbk9wdGlvbmFsRm91bmQgb3IgJGZvdW5kQmFuaXN0ZXJIZXhhZm9pbCZndDsmZ3Q7Jmx0O3AmZ3Q7S2V2aW4gbG9va2VkIGF0IHRoZSBjaGFsa2JvYXJkLCB0aGVuIGF0IHRoZSBjbGFzc3Jvb20gZG9vci4gJnF1b3Q7QXQgaG9tZS4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6QXNodG9uUXVlc3Rpb25zS2V2aW46MTo4ZjcyYTE1NyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6QXNodG9uUXVlc3Rpb25zS2V2aW46MTo4ZjcyYTE1NyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRhc2h0b25UcnVzdCArPSAyJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGFzaHRvblRoZW9yeSA9ICZxdW90O0tldmluJiMzOTtzIGhvdXNlIGNvbnRhaW5zIGEgZGFtYWdlZCBwcm90ZWN0aW9uJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIHNob29rIGhpcyBoZWFkIHRvbyBxdWlja2x5LiAmcXVvdDtOby4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGFzaHRvblRoZW9yeSA9ICZxdW90O0tldmluIGlzIGNvbmNlYWxpbmcgYSBzdXBlcm5hdHVyYWwgY29ubmVjdGlvbiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtwJmd0O01yLiBBc2h0b24gc2V0IGRvd24gdGhlIGNoYWxrLiBUaGUgV2luY2hlc3RlciBuYW1lIGhhZCByZXR1cm5lZCB0byBoaXMgY2xhc3Nyb29tLCBhbmQgdGhlIG9sZCBzeW1ib2wgaGFkIHJldHVybmVkIHdpdGggaXQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tDb250aW51ZSB0aGUgbGVzc29uIGNhdXRpb3VzbHktJmd0O0FzaHRvbkNvbnRpbnVlc0xlc3Nvbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMzYiIG5hbWU9IkFzaHRvbkNvbnRpbnVlc0xlc3NvbiIgdGFncz0iZXBpc29kZTIgYXNodG9uIGJnLWNsYXNzcm9vbSIgcG9zaXRpb249IjM2MDAsMjE2MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7TXIuIEFzaHRvbiBlcmFzZWQgb25seSB0aGUgY2VudGVyIG9mIHRoZSBoZXhhZm9pbC4gVGhlIGVtcHR5IHNwYWNlIGxvb2tlZCB3b3JzZSB0aGFuIHRoZSBjb21wbGV0ZSBkZXNpZ24uJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O0EgcHJvdGVjdGl2ZSBtYXJrIHdvcmtzIG9ubHkgd2hpbGUgdGhlIHBhdHRlcm4gcmVtYWlucyB3aG9sZSwmcXVvdDsgaGUgc2FpZC4mbHQ7L3AmZ3Q7Jmx0OyZsdDtpZiAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O29hayZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgcmFpc2VkIGEgaGFuZC4gJnF1b3Q7V2hhdCBpZiB0aGUgZmlyc3QgbWFyayBicmVha3MgYmVmb3JlIHRoZSBvdGhlcnM/JnF1b3Q7IE1yLiBBc2h0b24gc3RhcmVkIGF0IEtpbW15IGxvbmcgZW5vdWdoIGZvciB0aGUgY2xhc3MgdG8gbm90aWNlLiZsdDsvcCZndDsmbHQ7Jmx0O2Vsc2VpZiAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O3Bhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1J5YW4gcmFpc2VkIGEgaGFuZC4gJnF1b3Q7Q2FuIGEgZG9vcndheSBnaXZlIGl0c2VsZiBwZXJtaXNzaW9uPyZxdW90OyBNci4gQXNodG9uIHN0b3BwZWQgaGFsZndheSB0byBoaXMgY29mZmVlLiZsdDsvcCZndDsmbHQ7Jmx0O2Vsc2VpZiAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O2hvdXNlJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtLZXZpbiBhc2tlZCwgJnF1b3Q7Q2FuIHRoZSBtYXJrcyBiZSBudW1iZXJlZD8mcXVvdDsgTXIuIEFzaHRvbiBncmlwcGVkIHRoZSBjaGFsayB1bnRpbCBpdCBjcmFja2VkIGFnYWluLiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW01vdmUgdG8gdGhlIG9sZCBqb3VybmFsLSZndDtBc2h0b25SZWFkc0pvdXJuYWxdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzM3IiBuYW1lPSJBc2h0b25Bc2tzQWJvdXRLbm9ja3MiIHRhZ3M9ImVwaXNvZGUyIGFzaHRvbiBiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSIzNzQwLDIxNjAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OyZxdW90O1dobyBkaWQgdGhhdD8mcXVvdDsgTXIuIEFzaHRvbiBhc2tlZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Tm8gb25lIGFuc3dlcmVkLiBUaHJlZSBtb3JlIGtub2NrcyBjYW1lIGZyb20gaW5zaWRlIHRoZSB3YWxsIGJlaGluZCBLZXZpbi4mbHQ7L3AmZ3Q7Jmx0OyZsdDtpZiAkcnlhbk9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDtwJmd0O1J5YW4gd2hpc3BlcmVkLCAmcXVvdDtEbyBub3QgYW5zd2VyIGl0LiBUaGF0JiMzOTtzIGhvdyBwZXJtaXNzaW9uIHdvcmtzLiZxdW90OyZsdDsvcCZndDsmbHQ7Jmx0O2lmIG5vdCAkc3RhYmlsaXphdGlvbkF3YXJkcy5pbmNsdWRlcygmcXVvdDt2NDpBc2h0b25Bc2tzQWJvdXRLbm9ja3M6MTpmZjk3NzRmMSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6QXNodG9uQXNrc0Fib3V0S25vY2tzOjE6ZmY5Nzc0ZjEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkYXNodG9uVHJ1c3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3AmZ3Q7U2V2ZXJhbCBzdHVkZW50cyBsYXVnaGVkIHVudGlsIHRoZSB3YWxsIGtub2NrZWQgYSBmb3VydGggdGltZS4mbHQ7L3AmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtwJmd0O01yLiBBc2h0b24gd3JvdGUgb25lIHdvcmQgb24gaGlzIHByaXZhdGUgbm90ZXM6ICZsdDtzdHJvbmcmZ3Q7TFVDSUxMRSZsdDsvc3Ryb25nJmd0Oy4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgbGVzc29uLSZndDtBc2h0b25SZWFkc0pvdXJuYWxdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzM4IiBuYW1lPSJBc2h0b25DaGFsbGVuZ2VzV2F0Y2giIHRhZ3M9ImVwaXNvZGUyIGFzaHRvbiBiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSIzODgwLDIxNjAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0OyZxdW90O01yLiBXaW5jaGVzdGVyLCBwbGVhc2UgcmVtb3ZlIHRoZSB3YXRjaC4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7S2V2aW4gZGlkLiBUaGUgZGlzcGxheSB3ZW50IGRhcmsgdGhlIG1vbWVudCBpdCB0b3VjaGVkIHRoZSBkZXNrLiZsdDsvcCZndDsmbHQ7cCZndDtGcm9tIGluc2lkZSBNci4gQXNodG9uJiMzOTtzIGJyaWVmY2FzZSwgc29tZXRoaW5nIGtub2NrZWQgdGhyZWUgdGltZXMuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tPcGVuIHRoZSBicmllZmNhc2UgaW4gZnJvbnQgb2YgdGhlIGNsYXNzLSZndDtBc2h0b25PcGVuc1BhbGFkaW5dXVtbRW5kIHRoZSBsZXNzb24gZWFybHktJmd0O0FzaHRvbkVuZHNDbGFzc11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzMzkiIG5hbWU9IkFzaHRvblByb3RlY3RzS2V2aW4iIHRhZ3M9ImVwaXNvZGUyIGFzaHRvbiBiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSI0MDIwLDIxNjAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFzaHRvblByb3RlY3RzS2V2aW46MTpmZjk3NzRmMSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6QXNodG9uUHJvdGVjdHNLZXZpbjoxOmZmOTc3NGYxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGFzaHRvblRydXN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7cCZndDtNci4gQXNodG9uIGZvbGRlZCB0aGUgam91cm5hbCBwYWdlIGJlZm9yZSBhbnlvbmUgZWxzZSBjb3VsZCByZWFkIHRoZSBmaW5hbCBsaW5lLiZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtPbGQgcmVjb3JkcyBleGFnZ2VyYXRlLCZxdW90OyBoZSBzYWlkLiBJdCB3YXMgYSBwb29yIGxpZSwgYnV0IGl0IHJlZGlyZWN0ZWQgdGhlIHJvb20uJmx0Oy9wJmd0OyZsdDtwJmd0O0tldmluIGxvb2tlZCBhdCBoaW0gZm9yIHRoZSBmaXJzdCB0aW1lLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRW5kIHRoZSBsZXNzb24gYW5kIGFzayBLZXZpbiB0byByZW1haW4tJmd0O0FzaHRvbkVuZHNDbGFzc11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNDAiIG5hbWU9IkFzaHRvbk9wZW5zUGFsYWRpbiIgdGFncz0iZXBpc29kZTIgYXNodG9uIGJnLWNsYXNzcm9vbSIgcG9zaXRpb249IjQxNjAsMjE2MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7TXIuIEFzaHRvbiBvcGVuZWQgdGhlIHRhbiBicmllZmNhc2UuIFRoZSBjb3BpZWQgam91cm5hbCBwYWdlIGxheSBmbGF0IGFnYWluLiZsdDsvcCZndDsmbHQ7cCZndDtPbiB0b3Agb2YgaXQgcmVzdGVkIGEgZnJlc2ggb2JqZWN0OiBhIHNtYWxsIHdvb2RlbiBkaXNrIGNhcnZlZCB3aXRoIGEgaGV4YWZvaWwuIERhcmsgcmVkIHdheCBmaWxsZWQgb25lIGRhbWFnZWQgcGV0YWwuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjIgc3RhbmRhcmQgYmF0Y2gzIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O3JlZF93YXgmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9yZWRfd2F4LnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O3AmZ3Q7VGhlIG9iamVjdCBoYWQgbm90IGJlZW4gaW5zaWRlIHRoZSBicmllZmNhc2UgdGhhdCBtb3JuaW5nLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O25ldy1ldmlkZW5jZSZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O05ldyBldmlkZW5jZTombHQ7L3N0cm9uZyZndDsgU29tZW9uZSBoYXMgcGxhY2VkIGEgZGFtYWdlZCBib3VuZGFyeSBtYXJrZXIgaW5zaWRlIE1yLiBBc2h0b24mIzM5O3MgbG9ja2VkIGJyaWVmY2FzZS4mbHQ7L2RpdiZndDsmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtSZWQtd2F4IGhleGFmb2lsIGZvdW5kIGluIE1yLiBBc2h0b24mIzM5O3MgYnJpZWZjYXNlJnF1b3Q7KSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0Rpc21pc3MgdGhlIGNsYXNzIGJlZm9yZSB0aGUgb2JqZWN0IGNoYW5nZXMtJmd0O0FzaHRvbkVuZHNDbGFzc11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNDEiIG5hbWU9IkFzaHRvbkVuZHNDbGFzcyIgdGFncz0iZXBpc29kZTIgYXNodG9uIGJnLWNsYXNzcm9vbSIgcG9zaXRpb249IjM2MDAsMjI5MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RlY2lkZSBob3cgbXVjaCB0cnV0aCBNci4gQXNodG9uIGNhbiByZXZlYWwmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBiZWxsIHJhbmcgZWFybHksIHRob3VnaCB0aGUgY2xhc3Nyb29tIGNsb2NrIHN0aWxsIHNob3dlZCB0aHJlZSBtaW51dGVzIHJlbWFpbmluZy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Q2hhaXJzIHNjcmFwZWQuIFZvaWNlcyBmaWxsZWQgdGhlIHJvb20uIE1yLiBBc2h0b24gYW5zd2VyZWQgcXVlc3Rpb25zIHdpdGhvdXQgaGVhcmluZyB0aGVtLiZsdDsvcCZndDsmbHQ7cCZndDtLZXZpbiByZW1haW5lZCBuZWFyIHRoZSBkZXNrLiBLaW1teSwgUnlhbiwgYW5kIFNjb290IHJlbWFpbmVkIHRvby4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7WW91IGZvdXIgd2VyZSBzdXBwb3NlZCB0byBsZWF2ZSwmcXVvdDsgTXIuIEFzaHRvbiBzYWlkLiZsdDsvcCZndDsmbHQ7cCZndDtLaW1teSBwbGFjZWQgaGVyIG5vdGVzIGJlc2lkZSB0aGUgcmVkLXdheCBtYXJrZXIuICZxdW90O1NvIHdlcmUgdGhlIHRocmVlIGdpcmxzIGluIHRoZSBwaG90b2dyYXBoLiZxdW90OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbU2hvdyBNci4gQXNodG9uIHRoZSBjb21wbGV0ZSBjYXNlIGV2aWRlbmNlLSZndDtBc2h0b25FdmlkZW5jZUNob2ljZV1dW1tBc2sgTXIuIEFzaHRvbiB3aGF0IHRoZSBoZXhhZm9pbCBwcm90ZWN0cy0mZ3Q7QXNodG9uTmFtZXNQcm90ZWN0aW9uXV1bW0FzayB3aHkgdGhlIG5hbWUgV2luY2hlc3RlciBtYXR0ZXJzLSZndDtBc2h0b25XaW5jaGVzdGVyUXVlc3Rpb25dXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzQyIiBuYW1lPSJBc2h0b25FdmlkZW5jZUNob2ljZSIgdGFncz0iZXBpc29kZTIgYXNodG9uIGJnLWNsYXNzcm9vbSIgcG9zaXRpb249IjM3NDAsMjI5MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7VGhlIGZvdXIgaW52ZXN0aWdhdG9ycyBhcnJhbmdlZCB0aGVpciBldmlkZW5jZSBhY3Jvc3MgTXIuIEFzaHRvbiYjMzk7cyBkZXNrLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2V2aWRlbmNlLXN1bW1hcnkmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7Jmx0O2ImZ3Q7Um91dGU6Jmx0Oy9iJmd0OyAmbHQ7Jmx0O3ByaW50ICRpbnZlc3RpZ2F0aW9uUm91dGUmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7c3BhbiZndDsmbHQ7YiZndDtPcHRpb25hbCBjbHVlczombHQ7L2ImZ3Q7ICZsdDsmbHQ7cHJpbnQgJG9wdGlvbmFsQ2x1ZXMubGVuZ3RoJmd0OyZndDsmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4mZ3Q7Jmx0O2ImZ3Q7R3JvdXAgYm9uZDombHQ7L2ImZ3Q7ICZsdDsmbHQ7cHJpbnQgJGdyb3VwQm9uZExldmVsJmd0OyZndDsmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtpZiAka2ltbXlPcHRpb25hbEZvdW5kJmd0OyZndDsmbHQ7cCZndDtLaW1teSBzaG93ZWQgaGltIHRoZSBtYXRjaGluZyBoYW5kd3JpdGluZy4gTXIuIEFzaHRvbiByZWNvZ25pemVkIHRoZSBicm9rZW4gUiBpbW1lZGlhdGVseS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7VGhhdCBoYW5kIGJlbG9uZ3MgdG8gc29tZW9uZSB3aG8gc2hvdWxkIGhhdmUgYmVlbiBkZWFkIGJlZm9yZSB0aGlzIHNjaG9vbCB3YXMgYnVpbHQsJnF1b3Q7IGhlIHNhaWQuJmx0Oy9wJmd0OyZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OkFzaHRvbkV2aWRlbmNlQ2hvaWNlOjE6OGY3MmExNTcmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OkFzaHRvbkV2aWRlbmNlQ2hvaWNlOjE6OGY3MmExNTcmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkYXNodG9uVHJ1c3QgKz0gMiZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3AmZ3Q7TXIuIEFzaHRvbiBleGFtaW5lZCBlYWNoIGNsdWUgYnV0IGtlcHQgcmV0dXJuaW5nIHRvIHRoZSBuYW1lcyB0aGF0IGhhZCBiZWVuIHJlbW92ZWQuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRGVtYW5kIHRoZSB0cnV0aCBhYm91dCB0aGUgc3ltYm9sLSZndDtBc2h0b25OYW1lc1Byb3RlY3Rpb25dXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzQzIiBuYW1lPSJBc2h0b25OYW1lc1Byb3RlY3Rpb24iIHRhZ3M9ImVwaXNvZGUyIGFzaHRvbiBiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSIzODgwLDIyOTAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0O01yLiBBc2h0b24gbG9va2VkIGF0IHRoZSBpbmNvbXBsZXRlIGhleGFmb2lsIG9uIHRoZSBib2FyZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7SXQgZG9lcyBub3QgcHJvdGVjdCBhIHBsYWNlLCZxdW90OyBoZSBzYWlkLiAmcXVvdDtJdCBwcm90ZWN0cyBvbmUgcGxhY2UgZnJvbSBhbm90aGVyLiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDtSeWFuJiMzOTtzIGhlbG1ldCBzaGlmdGVkIGFzIGhlIGxlYW5lZCBmb3J3YXJkLiAmcXVvdDtUaGF0IGlzIGEgbXVjaCB3b3JzZSBhbnN3ZXIuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O1llcywmcXVvdDsgTXIuIEFzaHRvbiBzYWlkLiAmcXVvdDtJdCBpcy4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZXZlbGF0aW9uLWNhcmQmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtNci4gQXNodG9uJiMzOTtzIHJldmVsYXRpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBoZXhhZm9pbHMgYXJlIHNlYWxzIGJldHdlZW4gb3ZlcmxhcHBpbmcgdmVyc2lvbnMgb2YgQnJlY2tlbnJpZGdlLiBBIGRhbWFnZWQgc2VhbCBhbGxvd3MgbWVtb3JpZXMsIHZvaWNlcywgYW5kIGV2ZW50dWFsbHkgcGVvcGxlIHRvIGNyb3NzLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBc2sgd2hhdCBoYXBwZW5zIHdoZW4gZXZlcnkgc2VhbCBmYWlscy0mZ3Q7QXNodG9uRmluYWxXYXJuaW5nXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM0NCIgbmFtZT0iQXNodG9uV2luY2hlc3RlclF1ZXN0aW9uIiB0YWdzPSJlcGlzb2RlMiBhc2h0b24gYmctaG91c2UiIHBvc2l0aW9uPSI0MDIwLDIyOTAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0O01yLiBBc2h0b24gc3R1ZGllZCBLZXZpbiBhcyBpZiBjb21wYXJpbmcgaGltIHdpdGggc29tZW9uZSByZW1lbWJlcmVkIGJhZGx5LiZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtUaGUgV2luY2hlc3RlciBwcm9wZXJ0eSB3YXMgYnVpbHQgb3ZlciB0aGUgb2xkZXN0IG1hcmtlZCBjcm9zc2luZyBpbiB0b3duLCZxdW90OyBoZSBzYWlkLiAmcXVvdDtZb3VyIGZhbWlseSBkaWQgbm90IGNyZWF0ZSBpdC4gWW91ciBmYW1pbHkgaW5oZXJpdGVkIHRoZSByZXNwb25zaWJpbGl0eSBmb3Iga2VlcGluZyBpdCBjbG9zZWQuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDsmbHQ7aWYgJGludmVzdGlnYXRpb25Sb3V0ZSBpcyAmcXVvdDtob3VzZSZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7S2V2aW4mIzM5O3Mgd2F0Y2ggZGlzcGxheWVkIHRoZSBudW1lcmFsIEkgYWdhaW4uJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQXNrIHdoYXQgaGFwcGVucyB3aGVuIHRoZSByZXNwb25zaWJpbGl0eSBmYWlscy0mZ3Q7QXNodG9uRmluYWxXYXJuaW5nXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM0NSIgbmFtZT0iQXNodG9uRmluYWxXYXJuaW5nIiB0YWdzPSJlcGlzb2RlMiBhc2h0b24gYmctY2xhc3Nyb29tIiBwb3NpdGlvbj0iNDE2MCwyMjkwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2hhcHRlciA9IDgmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZWFjaCB0aGUgV2luY2hlc3RlciBob3VzZSBiZWZvcmUgdGhlIGZpbmFsIGJvdW5kYXJ5IG9wZW5zJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtNci4gQXNodG9uIHBsYWNlZCBib3RoIGhhbmRzIG9uIHRoZSBkZXNrLiZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtJZiBldmVyeSBzZWFsIGZhaWxzLCB0aGUgdG93biB3aWxsIG5vdCBiZSBpbnZhZGVkLCZxdW90OyBoZSBzYWlkLiAmcXVvdDtJdCB3aWxsIGJlIHJlcGxhY2VkLCBvbmUgcmVtZW1iZXJlZCBwaWVjZSBhdCBhIHRpbWUuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBjbGFzc3Jvb20gbGlnaHRzIHdlbnQgb3V0LiZsdDsvcCZndDsmbHQ7cCZndDtLZXZpbiYjMzk7cyB3YXRjaCBsaXQgdGhlIGRhcmtuZXNzOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3dhdGNoLWRpc3BsYXkmcXVvdDsmZ3Q7MzoxNCZsdDticiZndDsmbHQ7c21hbGwmZ3Q7QUJCSUUgT1BFTkVEIFRIRSBET09SJmx0Oy9zbWFsbCZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDtLZXZpbiB3YXMgYWxyZWFkeSBtb3ZpbmcgYmVmb3JlIHRoZSBsaWdodHMgcmV0dXJuZWQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtFcGlzb2RlIFR3byBDbGlmZmhhbmdlciZsdDsvZGl2Jmd0OyZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtUaGUgSG91c2UgSXMgTm8gTG9uZ2VyIEVtcHR5Jmx0Oy9oMSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7VGhlIGludmVzdGlnYXRvcnMgbXVzdCByZWFjaCBBYmJpZSBiZWZvcmUgdGhlIGZpbmFsIG1hcmtlZCBzdGFpciBpcyB1c2VkLiZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSdW4gZm9yIHRoZSBXaW5jaGVzdGVyIGhvdXNlLSZndDtSYWNlVG9XaW5jaGVzdGVySG91c2VdXSZsdDsvZGl2Jmd0OwoKLyogVjQuMyBib3VuZGFyeSBjaGVja3BvaW50IGNoYXB0ZXIgOCAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDNDYXB0dXJlQm91bmRhcnkoOCwgJnF1b3Q7QXNodG9uRmluYWxXYXJuaW5nJnF1b3Q7LCAyKSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLnY0NENhcHR1cmVDaGFwdGVyKDgsICZxdW90O0FzaHRvbkZpbmFsV2FybmluZyZxdW90OywgMikmZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM0NiIgbmFtZT0iUmFjZVRvV2luY2hlc3RlckhvdXNlIiB0YWdzPSJlcGlzb2RlMiByZXNjdWUgYmctaG91c2UiIHBvc2l0aW9uPSI0NDM1LDE5NTAiIHNpemU9IjEwMCwxMDAiPiZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjEgc3RhbmRhcmQgYmF0Y2gzIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O3dpbmNoZXN0ZXJfZXh0ZXJpb3ImcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF93aW5jaGVzdGVyX2V4dGVyaW9yLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0OyZsdDtzZXQgJHBvdiA9ICZxdW90O0tldmluJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkY2hhcHRlciA9IDkmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1JvYWQgdG8gdGhlIFdpbmNoZXN0ZXIgSG91c2UmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZWFjaCBBYmJpZSBiZWZvcmUgdGhlIGhvdXNlIGNvbXBsZXRlcyB0aGUgY3Jvc3NpbmcmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIHJhbiBoYXJkIGVub3VnaCB0aGF0IHRoZSBzY2hvb2wgZGlzYXBwZWFyZWQgYmVoaW5kIGhpbSBiZWZvcmUgaGUgcmVtZW1iZXJlZCB0aGUgb3RoZXJzIHdlcmUgZm9sbG93aW5nLiZsdDsvcCZndDsmbHQ7cCZndDtNci4gQXNodG9uIGtlcHQgcGFjZSB3aXRoIHN1cnByaXNpbmcgZWFzZS4gS2ltbXkgY2FycmllZCB0aGUgcmVjb3JkcyBpbnNpZGUgaGVyIGNhc2UuIFNjb290IGhlbGQgdGhlIG5vdGVib29rIG9wZW4gd2hpbGUgcnVubmluZywgd2hpY2ggUnlhbiBkZWNsYXJlZCBhIHZpb2xhdGlvbiBvZiBzZXZlcmFsIGltcG9ydGFudCBzdXJ2aXZhbCBydWxlcy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7S2V2aW4mIzM5O3Mgd2F0Y2ggY291bnRlZCBiYWNrd2FyZDombHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt3YXRjaC1kaXNwbGF5JnF1b3Q7Jmd0OzM6MTImbHQ7YnImZ3Q7Jmx0O3NtYWxsJmd0O0RPT1IgT1BFTiZsdDsvc21hbGwmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgdGhlIGdyb3VwIGFwcHJvYWNoIHRoZSBob3VzZT8mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRW50ZXIgdGhyb3VnaCB0aGUgZnJvbnQgZG9vciBiZWZvcmUgaXQgY2xvc2VzLSZndDtGcm9udERvb3JSZXNjdWVdXVtbVXNlIHRoZSBjZWxsYXIgZW50cmFuY2Ugc2hvd24gb24gS2ltbXkmIzM5O3MgZmxvb3IgcGxhbi0mZ3Q7Q2VsbGFyUmVzY3VlXV1bW0NpcmNsZSB0aHJvdWdoIHRoZSBvYWstdHJlZSBib3VuZGFyeS0mZ3Q7T2FrQm91bmRhcnlSZXNjdWVdXSZsdDsvZGl2Jmd0OwoKLyogVjQuMyBib3VuZGFyeSBjaGVja3BvaW50IGNoYXB0ZXIgOSAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDNDYXB0dXJlQm91bmRhcnkoOSwgJnF1b3Q7UmFjZVRvV2luY2hlc3RlckhvdXNlJnF1b3Q7LCAyKSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLnY0NENhcHR1cmVDaGFwdGVyKDksICZxdW90O1JhY2VUb1dpbmNoZXN0ZXJIb3VzZSZxdW90OywgMikmZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM0NyIgbmFtZT0iRnJvbnREb29yUmVzY3VlIiB0YWdzPSJlcGlzb2RlMiByZXNjdWUgYmctaG91c2UiIHBvc2l0aW9uPSI0NTcwLDE5NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRhYmJpZVJlc2N1ZVJvdXRlID0gJnF1b3Q7ZnJvbnQmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBmcm9udCBkb29yIHN0b29kIG9wZW4gZXhhY3RseSBzaXggaW5jaGVzLiBObyB3aW5kIG1vdmVkIGl0LiZsdDsvcCZndDsmbHQ7Jmx0O2lmICRyeWFuT3B0aW9uYWxGb3VuZCBvciAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O3Bhc3NhZ2UmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1J5YW4gY2F1Z2h0IEtldmluJiMzOTtzIHNob3VsZGVyLiAmcXVvdDtBc2sgZmlyc3QuIEV2ZW4geW91ciBvd24gaG91c2UgY2FuIGJlIHRoZSB3cm9uZyBkb29yd2F5LiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDtLZXZpbiBzYWlkLCAmcXVvdDtBYmJpZSwgbWF5IHdlIGNvbWUgaW4/JnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O0Egc21hbGwgdm9pY2UgYW5zd2VyZWQgZnJvbSB1cHN0YWlycywgJnF1b3Q7Tm8uJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1RoZW4gQWJiaWUgc2hvdXRlZCBmcm9tIHRoZSBraXRjaGVuLCAmcXVvdDtLZXZpbj8mcXVvdDsmbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZXNjdWUtd2FybmluZyZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O1dhcm5pbmcgcmVjb2duaXplZDombHQ7L3N0cm9uZyZndDsgU29tZXRoaW5nIHVwc3RhaXJzIGlzIGltaXRhdGluZyBBYmJpZS4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIHB1c2hlZCB0aHJvdWdoLiBVcHN0YWlycywgQWJiaWUgY2FsbGVkIGhpcyBuYW1lLiBGcm9tIHRoZSBraXRjaGVuLCBBYmJpZSBjYWxsZWQgaXQgYWdhaW4uJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICRmYWxzZUFiYmllU2VlbiA9IHRydWUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLXdhcm5pbmcmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtUd28gdm9pY2VzOiZsdDsvc3Ryb25nJmd0OyBPbmx5IG9uZSBiZWxvbmdzIHRvIEFiYmllLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRm9sbG93IHRoZSBraXRjaGVuIHZvaWNlLSZndDtLaXRjaGVuQWJiaWVdXVtbRm9sbG93IHRoZSB1cHN0YWlycyB2b2ljZS0mZ3Q7VXBzdGFpcnNGYWxzZUFiYmllXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM0OCIgbmFtZT0iQ2VsbGFyUmVzY3VlIiB0YWdzPSJlcGlzb2RlMiByZXNjdWUgYmctaG91c2UiIHBvc2l0aW9uPSI0NzA1LDE5NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRhYmJpZVJlc2N1ZVJvdXRlID0gJnF1b3Q7Y2VsbGFyJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtLaW1teSBmb3VuZCB0aGUgY2VsbGFyIGRvb3JzIGJlbmVhdGggZGVhZCBpdnkuIFRoZSBpcm9uIGxhdGNoIGNhcnJpZWQgYSBjb21wbGV0ZSBoZXhhZm9pbCwgdGhlIGZpcnN0IHVuZGFtYWdlZCBtYXJrIHRoZXkgaGFkIHNlZW4uJmx0Oy9wJmd0OyZsdDtwJmd0O01yLiBBc2h0b24gcGxhY2VkIHRoZSByZWQtd2F4IGRpc2sgYmVzaWRlIGl0LiBPbmUgcGV0YWwgb24gdGhlIGNlbGxhciBtYXJrIGRhcmtlbmVkLiZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtUaGUgaG91c2UgaXMgbW92aW5nIHRoZSBkYW1hZ2UsJnF1b3Q7IEtpbW15IHNhaWQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLWNsdWUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtOZXcgcnVsZTombHQ7L3N0cm9uZyZndDsgUmVwYWlyaW5nIG9uZSBzZWFsIG1heSB3ZWFrZW4gYW5vdGhlciB1bmxlc3MgdGhlIHBhdHRlcm4gaXMgcmVzdG9yZWQgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0VudGVyIGJlbmVhdGggdGhlIHN0YWlyY2FzZS0mZ3Q7VW5kZXJTdGFpclBhc3NhZ2VdXVtbUmV0dXJuIHRvIHRoZSBmcm9udCBkb29yIHdpdGggdGhlIG5ldyBydWxlLSZndDtGcm9udERvb3JSZXNjdWVdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzQ5IiBuYW1lPSJPYWtCb3VuZGFyeVJlc2N1ZSIgdGFncz0iZXBpc29kZTIgcmVzY3VlIGJnLWhvdXNlIiBwb3NpdGlvbj0iNDg0MCwxOTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkYWJiaWVSZXNjdWVSb3V0ZSA9ICZxdW90O29hayZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIG9hayYjMzk7cyByb290cyBoYWQgbGlmdGVkIGZyb20gdGhlIHNvaWwgbGlrZSBkYXJrIGZpbmdlcnMuIEJldHdlZW4gdGhlbSwgYSBuYXJyb3cgcGF0aCBkZXNjZW5kZWQgdG93YXJkIHRoZSBob3VzZSBmb3VuZGF0aW9uLiZsdDsvcCZndDsmbHQ7Jmx0O2lmICRpbnZlc3RpZ2F0aW9uUm91dGUgaXMgJnF1b3Q7b2FrJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtLaW1teSByZWNvZ25pemVkIHRoZSBjdXJ2ZSBmcm9tIHRoZSBhcmNoaXZlIHBob3RvZ3JhcGguICZxdW90O1RoaXMgaXMgdGhlIGZpcnN0IGJvdW5kYXJ5LiBUaGUgaG91c2Ugd2FzIGJ1aWx0IGFyb3VuZCBpdC4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtTY29vdCYjMzk7cyBub3RlYm9vayBkcmV3IHRoZSByb290IHBhdGggYmVmb3JlIHRoZXkgY2hvc2Ugd2hlcmUgdG8gc3RlcC4mbHQ7L3AmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtwJmd0O0EgcmVkIGdsaW50IG1vdmVkIGJlbmVhdGggdGhlIHRyZWUuIFNvbWVvbmUgd2VhcmluZyBhIGRhcmsgcmluZyB3aXRoZHJldyBhIGhhbmQgaW50byB0aGUgZWFydGguJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICRyZWRSaW5nQ2x1ZSA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSByZWQtcmluZyBmaWd1cmUgY2FuIG1vdmUgdGhyb3VnaCB0aGUgb2FrIHJvb3RzJnF1b3Q7KSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZXNjdWUtY2x1ZSZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O1JlZC1yaW5nIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBmaWd1cmUgaXMgdXNpbmcgdGhlIG9sZGVzdCBib3VuZGFyeSBhcyBhIHJvdXRlIGludG8gdGhlIGhvdXNlLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tGb2xsb3cgdGhlIHJvb3QgcGFzc2FnZS0mZ3Q7VW5kZXJTdGFpclBhc3NhZ2VdXVtbV2FybiBLZXZpbiBhbmQgZW50ZXIgdGhyb3VnaCB0aGUga2l0Y2hlbi0mZ3Q7S2l0Y2hlbkFiYmllXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM1MCIgbmFtZT0iVW5kZXJTdGFpclBhc3NhZ2UiIHRhZ3M9ImVwaXNvZGUyIHJlc2N1ZSBiZy1ob3VzZSIgcG9zaXRpb249IjQ5NzUsMTk1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAucmFpc2VBdHRlbnRpb24oJnF1b3Q7cm9vdC1wYXNzYWdlJnF1b3Q7LDIsJnF1b3Q7VGhlIGdyb3VwIGVudGVyZWQgYmVuZWF0aCB0aGUgb2xkZXN0IGJvdW5kYXJ5LiZxdW90OykmZ3Q7Jmd0OwovKiBCNS4xIGNvbnNlcXVlbmNlIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtvYWtSZXNjdWVDaG9pY2UmcXVvdDssICZxdW90O3Jvb3RzJnF1b3Q7LCAmcXVvdDtUaGUgZ3JvdXAgdGFrZXMgdGhlIGRhbmdlcm91cyByb290IHBhc3NhZ2UgYW5kIGdhaW5zIGhpZGRlbiBib3VuZGFyeSBldmlkZW5jZS4mcXVvdDspJmd0OyZndDsKJmx0O3AmZ3Q7VGhlIG5hcnJvdyBwYXNzYWdlIGVuZGVkIGJlbmVhdGggdGhlIFdpbmNoZXN0ZXIgc3RhaXJjYXNlLiBFYWNoIHN0ZXAgZ2xvd2VkIHdpdGggYSBmYWludCBudW1lcmFsLiZsdDsvcCZndDsmbHQ7cCZndDtYSS4gVi4gSUlJLiBJSS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGJvdHRvbSBzdGVwIHJlbWFpbmVkIGJsYW5rLiZsdDsvcCZndDsmbHQ7cCZndDtBYm92ZSB0aGVtLCBzb21ldGhpbmcgcGxhY2VkIG9uZSBmb290IG9udG8gaXQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCBLZXZpbiBkbz8mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUHJlc3MgdGhlIHJlZC13YXggZGlzayBhZ2FpbnN0IHRoZSBibGFuayBzdGVwLSZndDtTZWFsQmxhbmtTdGVwXV1bW0NhbGwgdG8gQWJiaWUgd2l0aG91dCBjcm9zc2luZyB0aGUgc3RhaXIgbGluZS0mZ3Q7Q2FsbEFjcm9zc0JvdW5kYXJ5XV1bW0NsaW1iIHRocm91Z2ggYmVmb3JlIHRoZSBudW1lcmFsIGFwcGVhcnMtJmd0O1J1c2hUaGVTdGFpcnNdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzUxIiBuYW1lPSJLaXRjaGVuQWJiaWUiIHRhZ3M9ImVwaXNvZGUyIHJlc2N1ZSBiZy1ob3VzZSIgcG9zaXRpb249IjQzMDAsMjA3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAubG93ZXJBdHRlbnRpb24oJnF1b3Q7ZGlyZWN0LXJlc2N1ZSZxdW90OywxLCZxdW90O1RoZSBncm91cCBjaG9zZSByZXNjdWUgb3ZlciBwdXJzdWluZyB0aGUgaW1pdGF0aW9uLiZxdW90OykmZ3Q7Jmd0OwovKiBCNS4yIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtmcm9udERvb3JSZXNjdWUmcXVvdDssICZxdW90O2tpdGNoZW4mcXVvdDssICZxdW90O1RoZSByZXNjdWUgcHJpb3JpdGl6ZXMgdGhlIGtpdGNoZW4gYW5kIHRoZSByZWFsIEFiYmllLiZxdW90OykmZ3Q7Jmd0OwovKiBCNS4xIGNvbnNlcXVlbmNlIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtvYWtSZXNjdWVDaG9pY2UmcXVvdDssICZxdW90O2tpdGNoZW4mcXVvdDssICZxdW90O1RoZSBncm91cCBjaG9vc2VzIHRoZSBzYWZlciBraXRjaGVuIGFwcHJvYWNoIGFuZCBwcmlvcml0aXplcyB3YXJuaW5nIEFiYmllLiZxdW90OykmZ3Q7Jmd0OwombHQ7cCZndDtBYmJpZSBzdG9vZCBvbiBhIGNoYWlyIGJlc2lkZSB0aGUga2l0Y2hlbiBjb3VudGVyLiBBIGxpYnJhcnkgYm9vayBhYm91dCBjYXRzIGxheSBvcGVuIGluIGZyb250IG9mIGhlci4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7QSBsaWJyYXJpYW4gZ2F2ZSBtZSB0aGlzLCZxdW90OyBBYmJpZSBzYWlkLiAmcXVvdDtUaGUgb25lIHdpdGggdGhlIHN0cmF3YmVycnkgcmluZy4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGlsbHVzdHJhdGlvbiBzaG93ZWQgYSBjYXQgc2l0dGluZyBiZWZvcmUgdGhlIFdpbmNoZXN0ZXIgc3RhaXJjYXNlLiBJdHMgcGFpbnRlZCBleWVzIHR1cm5lZCB0b3dhcmQgS2V2aW4uJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O0kgZGlkIG5vdCBvcGVuIHRoZSBmcm9udCBkb29yLCZxdW90OyBBYmJpZSBzYWlkLiAmcXVvdDtUaGUgYm9vayBkaWQuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLWNsdWUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtBYmJpZSBmb3VuZDombHQ7L3N0cm9uZyZndDsgQWJiaWUgaXMgc2FmZSBmb3IgdGhlIG1vbWVudCwgYnV0IHRoZSByZWQtcmluZyBmaWd1cmUgdXNlZCB0aGUgbGlicmFyeSBib29rIHRvIGFjdGl2YXRlIHRoZSBob3VzZS4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbVGFrZSB0aGUgYm9vayBhd2F5IGZyb20gQWJiaWUtJmd0O1Rha2VDYXRCb29rXV1bW0FzayBBYmJpZSB3aGF0IHRoZSBib29rIHRvbGQgaGVyIHRvIGRvLSZndDtRdWVzdGlvbkFiYmllXV1bW0Nsb3NlIHRoZSBraXRjaGVuIGRvb3J3YXkgdXNpbmcgUnlhbiYjMzk7cyBydWxlLSZndDtQcm90ZWN0S2l0Y2hlbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNTIiIG5hbWU9IlVwc3RhaXJzRmFsc2VBYmJpZSIgdGFncz0iZXBpc29kZTIgcmVzY3VlIGJnLXVwc3RhaXJzIiBwb3NpdGlvbj0iNDQzNSwyMDc1IiBzaXplPSIxMDAsMTAwIj4vKiBCNS4yIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtmcm9udERvb3JSZXNjdWUmcXVvdDssICZxdW90O3Vwc3RhaXJzJnF1b3Q7LCAmcXVvdDtUaGUgcmVzY3VlIHB1cnN1ZXMgdGhlIHVwc3RhaXJzIGltaXRhdGlvbi4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtzZXQgJGZhbHNlQWJiaWVTZWVuID0gdHJ1ZSZndDsmZ3Q7Jmx0O3AmZ3Q7S2V2aW4gY2xpbWJlZCB0d28gc3RlcHMuIEEgc21hbGwgc2lsaG91ZXR0ZSB3YWl0ZWQgYXQgdGhlIGxhbmRpbmcuJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O1lvdSB0b29rIHRvbyBsb25nLCZxdW90OyB0aGUgZmlndXJlIHNhaWQgaW4gQWJiaWUmIzM5O3Mgdm9pY2UuJmx0Oy9wJmd0OyZsdDtwJmd0O0tldmluJiMzOTtzIHdhdGNoIGRpc3BsYXllZCBhIHNpbmdsZSB3b3JkOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3dhdGNoLWRpc3BsYXkmcXVvdDsmZ3Q7Tk9UIEhFUiZsdDsvZGl2Jmd0OyZsdDtwJmd0O1RoZSBmaWd1cmUgc21pbGVkIHdpdGhvdXQgbW92aW5nIGNsb3Nlci4gV2F0ZXIgc3ByZWFkIGZyb20gYmVuZWF0aCBpdHMgc2hvZXMuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tVc2UgdGhlIGZvb3RwcmludCBjbHVlIHRvIGNoYWxsZW5nZSB0aGUgZmlndXJlLSZndDtDaGFsbGVuZ2VGYWxzZUFiYmllXV1bW0hvbGQgcG9zaXRpb24gYW5kIGludmVzdGlnYXRlIHRoZSBsYW5kaW5nLSZndDtVcHN0YWlyc0xhbmRpbmdIdWJdXVtbQXNrIHRoZSBmaWd1cmUgZm9yIHBlcm1pc3Npb24gdG8gbGVhdmUtJmd0O1Blcm1pc3Npb25UcmFwXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM1MyIgbmFtZT0iQ2hhbGxlbmdlRmFsc2VBYmJpZSIgdGFncz0iZXBpc29kZTIgcmVzY3VlIGJnLWhvdXNlIiBwb3NpdGlvbj0iNDU3MCwyMDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmICRrZXZpbk9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIGxvb2tlZCBhdCB0aGUgbmFycm93IHdldCBzaG9lcy4gJnF1b3Q7WW91JiMzOTtyZSB0aGUgZ2lybCBmcm9tIHRoZSBwaG90b2dyYXBoLiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDtUaGUgZmlndXJlJiMzOTtzIHNoYXBlIGZsaWNrZXJlZC4gRm9yIG9uZSBzZWNvbmQsIGFuIG9sZGVyIGRyZXNzIHJlcGxhY2VkIEFiYmllJiMzOTtzIGNsb3RoZXMuJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O1NoZSBvcGVuZWQgaXQgZm9yIHVzLCZxdW90OyB0aGUgZ2lybCB3aGlzcGVyZWQuICZxdW90O0J1dCBzaGUgZGlkIG5vdCBpbnZpdGUgdGhlIG9uZSB3aXRoIHRoZSByaW5nLiZxdW90OyZsdDsvcCZndDsmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgbWlkZGxlIGdpcmwgaXMgbm90IGFsbGllZCB3aXRoIHRoZSByZWQtcmluZyBmaWd1cmUmcXVvdDspJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc2N1ZS1jbHVlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7RGlzdGluY3Rpb24gZGlzY292ZXJlZDombHQ7L3N0cm9uZyZndDsgVGhlIGdpcmxzIGluIHRoZSBwaG90b2dyYXBoIGFuZCB0aGUgcmVkLXJpbmcgZmlndXJlIG1heSBub3QgYmUgd29ya2luZyB0b2dldGhlci4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIGNhbGxlZCB0aGUgZmlndXJlIGEgbGlhci4gVGhlIHdhdGVyIHJvc2Ugb3ZlciB0aGUgc3RlcCwgZXJhc2luZyB0aGUgbnVtZXJhbCBiZW5lYXRoIGl0LiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgcmVhbCBBYmJpZS0mZ3Q7S2l0Y2hlbkFiYmllXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM1NCIgbmFtZT0iUGVybWlzc2lvblRyYXAiIHRhZ3M9ImVwaXNvZGUyIHJlc2N1ZSBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNDcwNSwyMDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDsmcXVvdDtNYXkgSSBsZWF2ZT8mcXVvdDsgS2V2aW4gYXNrZWQuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBmYWxzZSBBYmJpZSB0aWx0ZWQgaGVyIGhlYWQuICZxdW90O1lvdSBtYXkgY29tZSBjbG9zZXIuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBhbnN3ZXIgdHJpZWQgdG8gcHVsbCBoaXMgZm9vdCBhY3Jvc3MgdGhlIG5leHQgc3RlcC4mbHQ7L3AmZ3Q7Jmx0OyZsdDtpZiAkcnlhbkFiaWxpdHkgaXMgJnF1b3Q7Qm91bmRhcnlTZW5zZSZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7UnlhbiBncmFiYmVkIEtldmluJiMzOTtzIGJhY2twYWNrLiAmcXVvdDtUaGF0IHdhcyBub3QgdGhlIHBlcm1pc3Npb24geW91IGFza2VkIGZvci4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UGVybWlzc2lvblRyYXA6MTo0NTkyNzM1YiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UGVybWlzc2lvblRyYXA6MTo0NTkyNzM1YiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyZWxhdGlvbnNoaXBzLktldmluUnlhbiArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtLZXZpbiBjYXVnaHQgdGhlIGJhbmlzdGVyIGJlZm9yZSBoaXMgc2Vjb25kIGZvb3QgY3Jvc3NlZC4mbHQ7L3AmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXRyZWF0IHRvIHRoZSBraXRjaGVuLSZndDtLaXRjaGVuQWJiaWVdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzU1IiBuYW1lPSJUYWtlQ2F0Qm9vayIgdGFncz0iZXBpc29kZTIgcmVzY3VlIGJnLWhvdXNlIiBwb3NpdGlvbj0iNDg0MCwyMDc1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtLZXZpbiBsaWZ0ZWQgdGhlIGJvb2suIFRoZSBwYWdlcyBiZWNhbWUgY29sZCBhbmQgcmlnaWQuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjIgc3RhbmRhcmQgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7Y2F0X2Jvb2smcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9jYXRfYm9vay5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtwJmd0O1RoZSBwcmludGVkIGNhdCBvcGVuZWQgaXRzIG1vdXRoLiBBIGZvbGRlZCBzY3JhcCBvZiBwYXBlciBzbGlkIGZyb20gYmV0d2VlbiB0aGUgcGFnZXMuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDtSRVRVUk4gVEhFIFRIUkVFIE5BTUVTIEJFRk9SRSBNSUROSUdIVC4mbHQ7L2RpdiZndDsmbHQ7cCZndDtPbiB0aGUgcmV2ZXJzZSwgc29tZW9uZSBoYWQgZHJhd24gdGhlIGJyb2tlbiBSIEtpbW15IGZvdW5kIGluIHRoZSByZWNvcmRzLiZsdDsvcCZndDsmbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtDYXQgYm9vayB3YXJuaW5nOiBSZXR1cm4gdGhlIHRocmVlIG5hbWVzIGJlZm9yZSBtaWRuaWdodCZxdW90OykmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tCcmluZyB0aGUgd2FybmluZyB0byBNci4gQXNodG9uLSZndDtIb3VzZVNlYWxEZWNpc2lvbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNTYiIG5hbWU9IlF1ZXN0aW9uQWJiaWUiIHRhZ3M9ImVwaXNvZGUyIHJlc2N1ZSBiZy1ob3VzZSIgcG9zaXRpb249IjQ5NzUsMjA3NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7JnF1b3Q7SXQgc2FpZCB0aGUga2l0dHkgd2FzIGxvc3QsJnF1b3Q7IEFiYmllIGV4cGxhaW5lZC4gJnF1b3Q7SXQgc2FpZCBJIGhhZCB0byBvcGVuIHRoZSBkb29yIHNvIHRoZSBraXR0eSBjb3VsZCBnbyBob21lLiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtXaGljaCBkb29yPyZxdW90OyBLaW1teSBhc2tlZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QWJiaWUgcG9pbnRlZCBhdCB0aGUgc3RhaXJjYXNlLiZsdDsvcCZndDsmbHQ7cCZndDtBIHRoaW4gb3V0bGluZSBoYWQgYXBwZWFyZWQgYmVuZWF0aCB0aGUgYm90dG9tIHN0ZXAuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tNb3ZlIEFiYmllIGJlaGluZCB0aGUga2l0Y2hlbiB0aHJlc2hvbGQtJmd0O1Byb3RlY3RLaXRjaGVuXV1bW0V4YW1pbmUgdGhlIG91dGxpbmUgd2l0aCBNci4gQXNodG9uLSZndDtIb3VzZVNlYWxEZWNpc2lvbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNTciIG5hbWU9IlByb3RlY3RLaXRjaGVuIiB0YWdzPSJlcGlzb2RlMiByZXNjdWUgYmctaG91c2UiIHBvc2l0aW9uPSI0MzAwLDIyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRhYmJpZVNhZmUgPSB0cnVlJmd0OyZndDsmbHQ7cCZndDtSeWFuIHBsYWNlZCB0aGUgcmVkLXdheCBkaXNrIG9uIHRoZSBraXRjaGVuIHRocmVzaG9sZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7QWJiaWUgbWF5IHN0YXksJnF1b3Q7IGhlIHNhaWQuICZxdW90O05vdGhpbmcgZWxzZSBtYXkgZW50ZXIuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBkb29yd2F5IHNodWRkZXJlZC4gVGhlIHJ1bGUgaGVsZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QWJiaWUgbG9va2VkIGRvd24gYXQgdGhlIGRpc2suICZxdW90O1RoYXQgZmxvd2VyIGlzIG1pc3NpbmcgYSBwaWVjZS4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZXNjdWUtc3VjY2VzcyZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0FiYmllIHByb3RlY3RlZDombHQ7L3N0cm9uZyZndDsgVGhlIGtpdGNoZW4gYmVjb21lcyBhIHRlbXBvcmFyeSBzYWZlIHJvb20uJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0RlY2lkZSBob3cgdG8gcmVwYWlyIHRoZSBob3VzZSBzZWFsLSZndDtIb3VzZVNlYWxEZWNpc2lvbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNTgiIG5hbWU9IkNhbGxBY3Jvc3NCb3VuZGFyeSIgdGFncz0iZXBpc29kZTIgcmVzY3VlIGJnLWhvdXNlIiBwb3NpdGlvbj0iNDQzNSwyMjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtLZXZpbiBjYWxsZWQgQWJiaWUmIzM5O3MgbmFtZSB3aXRob3V0IHN0ZXBwaW5nIG92ZXIgdGhlIGdsb3dpbmcgbGluZS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGhvdXNlIGFuc3dlcmVkIGZpcnN0LiBUaGVuIEFiYmllIGFuc3dlcmVkIGZyb20gdGhlIGtpdGNoZW4uJmx0Oy9wJmd0OyZsdDtwJmd0O1Njb290IHRhcHBlZCB0aGUgbm90ZWJvb2smIzM5O3Mgcmh5dGhtIGFnYWluc3QgdGhlIGZsb29yLiBUaGUgZmFsc2Ugdm9pY2UgZmVsbCBvdXQgb2YgdGltZSBvbiB0aGUgZm91cnRoIGJlYXQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLWNsdWUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtOb3RlYm9vayBwYXlvZmY6Jmx0Oy9zdHJvbmcmZ3Q7IEEgY29waWVkIHZvaWNlIGNhbiBpbWl0YXRlIHdvcmRzLCBidXQgbm90IHRoZSBub3RlYm9vayYjMzk7cyBsaXZpbmcgcmh5dGhtLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tGb2xsb3cgdGhlIHJlYWwgdm9pY2UtJmd0O0tpdGNoZW5BYmJpZV1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNTkiIG5hbWU9IlJ1c2hUaGVTdGFpcnMiIHRhZ3M9ImVwaXNvZGUyIHJlc2N1ZSBiZy1ob3VzZSIgcG9zaXRpb249IjQ1NzAsMjIwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7S2V2aW4gY2xpbWJlZCBiZWZvcmUgYW55b25lIGNvdWxkIHN0b3AgaGltLiBUaGUgYmxhbmsgc3RhaXIgZmxhc2hlZCBiZW5lYXRoIGhpcyBzaG9lLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3dhdGNoLWRpc3BsYXkmcXVvdDsmZ3Q7SSZsdDsvZGl2Jmd0OyZsdDtwJmd0O1RoZSBzdGFpcmNhc2UgZHJvcHBlZCBzaXggaW5jaGVzIGFzIGlmIHRoZSBob3VzZSBoYWQgaW5oYWxlZC4mbHQ7L3AmZ3Q7Jmx0OyZsdDtpZiAka2V2aW5BYmlsaXR5IGlzICZxdW90O1N0ZWFkeUFjdGlvbiZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7S2V2aW4ga2VwdCBoaXMgYmFsYW5jZSBhbmQganVtcGVkIGJhY2sgYWNyb3NzIHRoZSBsaW5lLiZsdDsvcCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtwJmd0O01yLiBBc2h0b24gY2F1Z2h0IEtldmluIGJ5IHRoZSBhcm0gYmVmb3JlIHRoZSBzdGFpciBjb3VsZCBjYXJyeSBoaW0gbG93ZXIuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbVXNlIHdoYXQgdGhlIGdyb3VwIGxlYXJuZWQgaW5zdGVhZC0mZ3Q7SG91c2VTZWFsRGVjaXNpb25dXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzYwIiBuYW1lPSJTZWFsQmxhbmtTdGVwIiB0YWdzPSJlcGlzb2RlMiByZXNjdWUgYmctaG91c2UiIHBvc2l0aW9uPSI0NzA1LDIyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0O0tldmluIHByZXNzZWQgdGhlIHJlZC13YXggbWFya2VyIGFnYWluc3QgdGhlIGJsYW5rIHdvb2QuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBudW1lcmFsIEkgYXBwZWFyZWQgYXJvdW5kIHRoZSBkaXNrLCBidXQgdGhlIHdheCBiZWdhbiBmbG93aW5nIGF3YXkgZnJvbSB0aGUgZGFtYWdlZCBwZXRhbC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7SXQgbmVlZHMgdGhlIG1pc3NpbmcgbmFtZXMsJnF1b3Q7IEtpbW15IHNhaWQuICZxdW90O1RoZSB3YXJuaW5nIHRvbGQgdXMgdG8ga2VlcCB0aGVtIHRvZ2V0aGVyLiZxdW90OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmVjb25zdHJ1Y3QgdGhlIHRocmVlIG5hbWVzLSZndDtIb3VzZVNlYWxEZWNpc2lvbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNjEiIG5hbWU9IkhvdXNlU2VhbERlY2lzaW9uIiB0YWdzPSJlcGlzb2RlMiByZXNjdWUgYmctaG91c2UiIHBvc2l0aW9uPSI0ODQwLDIyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZXN0b3JlIHRoZSBzaXgtcGV0YWwgV2luY2hlc3RlciBzZWFsJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtUaGUgZ3JvdXAgZ2F0aGVyZWQgYmVuZWF0aCB0aGUgc3RhaXJjYXNlIHdoaWxlIEFiYmllIHdhaXRlZCBpbnNpZGUgdGhlIHByb3RlY3RlZCBraXRjaGVuLiZsdDsvcCZndDsmbHQ7cCZndDtNci4gQXNodG9uIHBsYWNlZCB0aGUgZGFtYWdlZCBoZXhhZm9pbCBkaXNrIG9uIHRoZSBib3R0b20gc3RlcC4gVGhyZWUgb3V0ZXIgcGV0YWxzIGFuZCB0aHJlZSBpbm5lciBwZXRhbHMgd2FpdGVkIGZvciBldmlkZW5jZS4mbHQ7L3AmZ3Q7Jmx0OyZsdDtpZiAkdXBzdGFpcnNJbnZlc3RpZ2F0aW9uQ29tcGxldGUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLWNsdWUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtVcHN0YWlycyBhZHZhbnRhZ2U6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBtZW1vcnkgZG9vcndheSBwcm92ZWQgdGhhdCBuYW1lcyBjb250cm9sIHdobyBtYXkgY3Jvc3MuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBcnJhbmdlIHRoZSBzaXggcGllY2VzIG9mIHRoZSBzZWFsLSZndDtIZXhhZm9pbFB1enpsZUludHJvXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM2MiIgbmFtZT0iUmVzdG9yZU5hbWVzU2VhbCIgdGFncz0iZXBpc29kZTIgcmVzY3VlIGJnLWhvdXNlIiBwb3NpdGlvbj0iNDk3NSwyMjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtLaW1teSByZWFkIHRoZSB0aHJlZSBkYW1hZ2VkIHJlY29yZCBlbnRyaWVzIHdoaWxlIFNjb290IHN1cHBsaWVkIHRoZSBtaXNzaW5nIHNvdW5kcyBmcm9tIHRoZSBub3RlYm9vay4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7THVjaWxsZS4gTWFyeS4gRWxsZW4uJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSB0aHJlZSBlbXB0eSBwZXRhbHMgZmlsbGVkIHdpdGggcGFsZSBnb2xkLiZsdDsvcCZndDsmbHQ7Jmx0O2lmICRraW1teU9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBoaWRkZW4gcmVjb3JkIGtlZXBlciYjMzk7cyBoYW5kd3JpdGluZyBhcHBlYXJlZCBiZW5lYXRoIHRoZSBkaXNrOiAmbHQ7c3Ryb25nJmd0O05BTUVTIFJFTUVNQkVSIFdIQVQgRE9PUlMgRk9SR0VULiZsdDsvc3Ryb25nJmd0OyZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGFiYmllU2FmZSA9IHRydWUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLXN1Y2Nlc3MmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtTZWFsIHN0YWJpbGl6ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IE5hbWluZyB0aGUgZm9yZ290dGVuIGdpcmxzIGNsb3NlcyB0aGUgY3Jvc3Npbmcgd2l0aG91dCB0cmFwcGluZyB0aGVtIGluc2lkZSBpdC4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbU2VlIHdoYXQgcmVtYWlucyBvbiB0aGUgc3RhaXJjYXNlLSZndDtSZXNjdWVBZnRlcm1hdGhdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzYzIiBuYW1lPSJSZXN0b3JlTnVtYmVyU2VhbCIgdGFncz0iZXBpc29kZTIgcmVzY3VlIGJnLWhvdXNlIiBwb3NpdGlvbj0iNDMwMCwyMzI1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtLZXZpbiBjYWxsZWQgdGhlIHN0YWlyY2FzZSBzZXF1ZW5jZS4gVGhlIG51bWVyYWxzIGJyaWdodGVuZWQgaW4gb3JkZXIuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBvcGVuaW5nIG5hcnJvd2VkLCBidXQgdGhlIHJlZCB3YXggc3ByZWFkIGFjcm9zcyBhIHNlY29uZCBwZXRhbC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7V2UgbG9ja2VkIHRoZSByb3V0ZSwmcXVvdDsgTXIuIEFzaHRvbiBzYWlkLiAmcXVvdDtXZSBkaWQgbm90IHJlcGFpciBpdC4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGFiYmllU2FmZSA9IHRydWUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLXN1Y2Nlc3MgcGFydGlhbCZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0Nyb3NzaW5nIGNvbnRhaW5lZDombHQ7L3N0cm9uZyZndDsgVGhlIGhvdXNlIGlzIHNhZmUgdG9uaWdodCwgYnV0IHRoZSBkYW1hZ2VkIHNlYWwgcmVtYWlucyBhY3RpdmUuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1NlZSB3aGF0IHJlbWFpbnMgb24gdGhlIHN0YWlyY2FzZS0mZ3Q7UmVzY3VlQWZ0ZXJtYXRoXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM2NCIgbmFtZT0iUmVzdG9yZVJoeXRobVNlYWwiIHRhZ3M9ImVwaXNvZGUyIHJlc2N1ZSBiZy1ob3VzZSIgcG9zaXRpb249IjQ0MzUsMjMyNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7U2Nvb3QgdGFwcGVkIGZvdXIgYmVhdHMsIHBhdXNlZCwgdGhlbiB0YXBwZWQgdGhyZWUuIEhPVVNFLiBUUkVFLiBTQ0hPT0wuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBvYWsgcm9vdHMgYmVuZWF0aCB0aGUgZmxvb3IgYW5zd2VyZWQuIFRoZSBzdGFpcnMgcm9zZSBiYWNrIGludG8gcGxhY2UuJmx0Oy9wJmd0OyZsdDtwJmd0O0EgZ2lybCYjMzk7cyB2b2ljZSB3aGlzcGVyZWQsICZxdW90O1dyb25nIG9yZGVyIG5leHQgdGltZS4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGFiYmllU2FmZSA9IHRydWUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLXN1Y2Nlc3MgcGFydGlhbCZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0JvdW5kYXJ5IHJlZGlyZWN0ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBpbW1lZGlhdGUgb3BlbmluZyBjbG9zZXMsIGJ1dCB0aGUgbm90ZWJvb2sgd2FybnMgdGhhdCB0aGUgbGFyZ2VyIHBhdGggaXMgc3RpbGwgY2hhbmdpbmcuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1NlZSB3aGF0IHJlbWFpbnMgb24gdGhlIHN0YWlyY2FzZS0mZ3Q7UmVzY3VlQWZ0ZXJtYXRoXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM2NSIgbmFtZT0iUmVzY3VlQWZ0ZXJtYXRoIiB0YWdzPSJlcGlzb2RlMiByZXNjdWUgYmctaG91c2UiIHBvc2l0aW9uPSI0NTcwLDIzMjUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gMTAmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBraXRjaGVuIGRvb3Igb3BlbmVkLiBBYmJpZSB3YWxrZWQgb3V0IGNhcnJ5aW5nIHRoZSBjYXQgYm9vayBhdCBhcm0mIzM5O3MgbGVuZ3RoLiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtcDEgc3RhbmRhcmQgYmF0Y2gzIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2NhdF9ib29rX2JpbmRpbmcmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9jYXRfYm9va19iaW5kaW5nLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7SXQgc2NyYXRjaGVkIG1lLCZxdW90OyBzaGUgc2FpZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlcmUgd2FzIG5vIHNjcmF0Y2ggb24gQWJiaWUmIzM5O3MgaGFuZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlcmUgd2FzIG9uZSBhY3Jvc3MgdGhlIGJvb2smIzM5O3MgY292ZXIsIGN1dHRpbmcgdGhyb3VnaCB0aGUgcGFpbnRlZCBjYXQgYW5kIGV4cG9zaW5nIGEgc3RyaXAgb2YgZGFyayByZWQgbWF0ZXJpYWwgYmVuZWF0aC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7TXIuIEFzaHRvbiBwZWVsZWQgaXQgYmFjay4gQSBuYW1lIGhhZCBiZWVuIHN0YW1wZWQgaW50byB0aGUgaGlkZGVuIGJpbmRpbmc6Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YWZ0ZXJzaG9jay1jb2RlJnF1b3Q7Jmd0O0NBUk9MSU5FIEFTQ0hFUkRPV04mbHQ7L2RpdiZndDsmbHQ7cCZndDtBYm92ZSB0aGVtLCB0aGUgc3RhaXJjYXNlIGNyZWFrZWQgb25jZS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Tm90IGRvd253YXJkLiZsdDsvcCZndDsmbHQ7cCZndDtVcHdhcmQsIGFzIGlmIHNvbWVvbmUgaGFkIHJlYWNoZWQgdGhlIHRvcC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0VwaXNvZGUgVHdvIEV4cGFuZGVkIEVuZGluZyZsdDsvZGl2Jmd0OyZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtUaGUgTmFtZSBJbnNpZGUgdGhlIEJvb2smbHQ7L2gxJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtBYmJpZSBpcyBzYWZlLCBidXQgdGhlIHJlZC1yaW5nIHRyYWlsIG5vdyBwb2ludHMgdG8gQ2Fyb2xpbmUgQXNjaGVyZG93bi4mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQmVnaW4gRXBpc29kZSBUaHJlZS0mZ3Q7RXBpc29kZVRocmVlT3BlbmluZ11dJmx0Oy9kaXYmZ3Q7CgovKiBWNC4zIGJvdW5kYXJ5IGNoZWNrcG9pbnQgY2hhcHRlciAxMCAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDNDYXB0dXJlQm91bmRhcnkoMTAsICZxdW90O1Jlc2N1ZUFmdGVybWF0aCZxdW90OywgMikmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC52NDRDYXB0dXJlQ2hhcHRlcigxMCwgJnF1b3Q7UmVzY3VlQWZ0ZXJtYXRoJnF1b3Q7LCAyKSZndDsmZ3Q7CgombHQ7IS0tIEI1LjEgY2FsbGJhY2sgLS0mZ3Q7CiZsdDsmbHQ7aWYgJG1ham9yQ29uc2VxdWVuY2VzLmFiYmllRGlzY2xvc3VyZSBpcyAmcXVvdDtmdWxsJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLWNhbGxiYWNrJnF1b3Q7Jmd0O0FiYmllIGFkbWl0dGVkIHNoZSBoYWQgYmVsaWV2ZWQgS2V2aW4mIzM5O3MgZmlyc3Qgd2FybmluZy4gV2hlbiB0aGUgaG91c2UgY2hhbmdlZCwgc2hlIHJlY29nbml6ZWQgdGhlIGRhbmdlciBiZWZvcmUgaXQgY291bGQgaW1pdGF0ZSBzb21ldGhpbmcgb3JkaW5hcnkuJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRtYWpvckNvbnNlcXVlbmNlcy5hYmJpZURpc2Nsb3N1cmUgaXMgJnF1b3Q7bGFtcCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtBYmJpZSBoYWQgd2F0Y2hlZCB0aGUgbGlnaHRzIGJlY2F1c2UgS2V2aW4gYXNrZWQgYWJvdXQgdGhlIGxhbXAuIFRoZWlyIGZsaWNrZXIgZ2F2ZSBoZXIgYSBmZXcgc2Vjb25kcyBvZiB3YXJuaW5nLiZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2VpZiAkbWFqb3JDb25zZXF1ZW5jZXMuYWJiaWVEaXNjbG9zdXJlIGlzICZxdW90O2NvbGQmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7VGhlIGNvbGQgYWlyIGhhZCBiZWNvbWUgQWJiaWUmIzM5O3Mgd2FybmluZyBzaWduLiBTaGUgbW92ZWQgYXdheSBmcm9tIHRoZSBkb29yd2F5IGJlZm9yZSBhbnlvbmUgY2FsbGVkIGhlciBuYW1lLiZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2VpZiAkbWFqb3JDb25zZXF1ZW5jZXMuYWJiaWVEaXNjbG9zdXJlIGlzICZxdW90O2hpZGRlbiZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtBYmJpZSBoYWQgbmV2ZXIgcmVjZWl2ZWQgS2V2aW4mIzM5O3Mgd2FybmluZy4gRHVyaW5nIHRoZSByZXNjdWUsIHRoZSBvcmRpbmFyeSBzaGFwZSBvZiB0aGUgZGFuZ2VyIGZvb2xlZCBoZXIgbG9uZ2VyIHRoYW4gaXQgc2hvdWxkIGhhdmUuJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtLZXZpbiYjMzk7cyBwYXJ0aWFsIHdhcm5pbmcgaGVscGVkIEFiYmllIGhlc2l0YXRlLCBidXQgc2hlIGhhZCBub3Qga25vd24gd2hhdCBkZXRhaWxzIG1hdHRlcmVkLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkbWFqb3JDb25zZXF1ZW5jZXMub2FrUmVzY3VlQ2hvaWNlIGlzICZxdW90O3Jvb3RzJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtUaGUgcm9vdCBwYXNzYWdlIGxlZnQgdGhlIGdyb3VwIHdpdGggb2xkZXIgYm91bmRhcnkgZXZpZGVuY2UsIGJ1dCB0aGUgcm91dGUgY29zdCB0aW1lIGFuZCBleHBvc2VkIHRoZW0gdG8gdGhlIHRoaW5nIGJlbmVhdGggdGhlIGZvdW5kYXRpb24uJmx0Oy9wJmd0OyZsdDsmbHQ7ZWxzZWlmICRtYWpvckNvbnNlcXVlbmNlcy5vYWtSZXNjdWVDaG9pY2UgaXMgJnF1b3Q7a2l0Y2hlbiZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGtpdGNoZW4gYXBwcm9hY2ggcmVhY2hlZCBBYmJpZSBzb29uZXIsIHRob3VnaCB0aGUgb2xkZXN0IHBhcnQgb2YgdGhlIGJvdW5kYXJ5IHJlbWFpbmVkIHVuZXhwbG9yZWQuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyEtLSBCNS4yIGNhbGxiYWNrIC0tJmd0OyZsdDsmbHQ7aWYgJG1ham9yQ29uc2VxdWVuY2VzLmZyb250RG9vclJlc2N1ZSBpcyAmcXVvdDt1cHN0YWlycyZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtGb2xsb3dpbmcgdGhlIHVwc3RhaXJzIGltaXRhdGlvbiBleHBvc2VkIGhvdyB0aGUgaG91c2UgY29waWVkIHZvaWNlcywgYnV0IGRlbGF5ZWQgcmVhY2hpbmcgQWJiaWUuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlaWYgJG1ham9yQ29uc2VxdWVuY2VzLmZyb250RG9vclJlc2N1ZSBpcyAmcXVvdDtraXRjaGVuJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLWNhbGxiYWNrJnF1b3Q7Jmd0O0Nob29zaW5nIHRoZSBraXRjaGVuIHJlYWNoZWQgQWJiaWUgc29vbmVyLCB0aG91Z2ggdGhlIHVwc3RhaXJzIGltaXRhdGlvbiByZW1haW5lZCBwb29ybHkgdW5kZXJzdG9vZC4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNjYiIG5hbWU9IlVwc3RhaXJzTGFuZGluZ0h1YiIgdGFncz0idXBzdGFpcnMgaW52ZXN0aWdhdGlvbiBiZy11cHN0YWlycyIgcG9zaXRpb249IjUxNDAsMjA1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7V2luY2hlc3RlciBIb3VzZTogVXBzdGFpcnMgTGFuZGluZyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ludmVzdGlnYXRlIHRoZSBhbHRlcmVkIHVwc3RhaXJzIHdpdGhvdXQgY3Jvc3NpbmcgdGhlIHdyb25nIGJvdW5kYXJ5JnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtUaGUgZmFsc2UgQWJiaWUgc3RlcHBlZCBiYWNrd2FyZCBhbmQgdmFuaXNoZWQgaW50byB0aGUgdXBzdGFpcnMgaGFsbHdheS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGxhbmRpbmcgd2FzIGxvbmdlciB0aGFuIEtldmluIHJlbWVtYmVyZWQuIEZvdXIgZG9vcnMgbm93IHN0b29kIHdoZXJlIHRoZXJlIHNob3VsZCBoYXZlIGJlZW4gdGhyZWUuIFdhdGVyIG1hcmtlZCBhIG5hcnJvdyB0cmFpbCBhY3Jvc3MgdGhlIGZsb29yYm9hcmRzLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Vwc3RhaXJzLW1hcCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jvb20gY2hlY2tlZCZxdW90OyZndDtTdGFpcnMmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jvb20mcXVvdDsmZ3Q7S2V2aW4mIzM5O3MgUm9vbSZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cm9vbSZxdW90OyZndDtBYmJpZSYjMzk7cyBSb29tJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyb29tIHN0cmFuZ2UmcXVvdDsmZ3Q7VW5rbm93biBEb29yJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doZXJlIHNob3VsZCBLZXZpbiBpbnZlc3RpZ2F0ZT8mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7aWYgbm90ICR1cHN0YWlyc0NsdWVzLmluY2x1ZGVzKCZxdW90O0tldmluIHJvb20gcmVmbGVjdGlvbiZxdW90OykmZ3Q7Jmd0O1tbQ2hlY2sgS2V2aW4mIzM5O3MgYmVkcm9vbSBtaXJyb3ItJmd0O1Vwc3RhaXJzS2V2aW5Sb29tXV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtpZiBub3QgJHVwc3RhaXJzQ2x1ZXMuaW5jbHVkZXMoJnF1b3Q7QWJiaWUgZHJhd2luZ3MmcXVvdDspJmd0OyZndDtbW1NlYXJjaCBBYmJpZSYjMzk7cyBiZWRyb29tLSZndDtVcHN0YWlyc0FiYmllUm9vbV1dJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7aWYgbm90ICR1cHN0YWlyc0NsdWVzLmluY2x1ZGVzKCZxdW90O0hhbGx3YXkgcGhvdG9ncmFwaCBkb29yd2F5JnF1b3Q7KSZndDsmZ3Q7W1tGb2xsb3cgdGhlIHdldCB0cmFpbCB0byB0aGUgb2xkIHBob3RvZ3JhcGggd2FsbC0mZ3Q7VXBzdGFpcnNQaG90b1dhbGxdXSZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2lmICR1cHN0YWlyc1Jvb21zQ2hlY2tlZCAmZ3Q7PSAyIGFuZCBub3QgJHVwc3RhaXJzRG9vck9wZW5lZCZndDsmZ3Q7W1tFeGFtaW5lIHRoZSBmb3VydGggZG9vci0mZ3Q7VXBzdGFpcnNVbmtub3duRG9vcl1dJmx0OyZsdDsvaWYmZ3Q7Jmd0O1tbUmV0dXJuIGRvd25zdGFpcnMgdG8gdGhlIHJlYWwgQWJiaWUtJmd0O0tpdGNoZW5BYmJpZV1dJmx0Oy9kaXYmZ3Q7CiZsdDshLS0gQnVpbGQgNS4xNCBhdG1vc3BoZXJpYyBoYXVudGluZyAtLSZndDsKJmx0OyZsdDtzZXQgX2hhdW50aW5nQXRtb3NwaGVyZSA9IHNldHVwLnJvbGxBdG1vc3BoZXJpY0hhdW50aW5nKCZxdW90O3Vwc3RhaXJzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfaGF1bnRpbmdBdG1vc3BoZXJlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLWF0bW9zcGhlcmUmcXVvdDsgcm9sZT0mcXVvdDtzdGF0dXMmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7aGF1bnRpbmctbWFyayZxdW90OyBhcmlhLWhpZGRlbj0mcXVvdDt0cnVlJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDs9IF9oYXVudGluZ0F0bW9zcGhlcmUmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7IS0tIEJ1aWxkIDUuMTUgaW50ZXJhY3RpdmUgaGF1bnRpbmcgdHJpZ2dlciAtLSZndDsKJmx0OyZsdDtzZXQgX2ludGVyYWN0aXZlSGF1bnRpbmcgPSBzZXR1cC5yb2xsSW50ZXJhY3RpdmVIYXVudGluZygmcXVvdDt1cHN0YWlycyZxdW90OywgJnF1b3Q7VXBzdGFpcnNMYW5kaW5nSHViJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfaW50ZXJhY3RpdmVIYXVudGluZyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy1pbnRlcnJ1cHRpb24mcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7aGF1bnRpbmctaW50ZXJydXB0aW9uLWljb24mcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDshJmx0Oy9zcGFuJmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtTb21ldGhpbmcgaGFzIGVudGVyZWQgdGhlIGludmVzdGlnYXRpb24uJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7VGhlIG9yZGluYXJ5IGNob2ljZXMgY2FuIHdhaXQsIGJ1dCB0aGUgbWFuaWZlc3RhdGlvbiBtYXkgbm90LiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtGYWNlIHRoZSBkaXN0dXJiYW5jZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtnb3RvIF9pbnRlcmFjdGl2ZUhhdW50aW5nJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7IS0tIEJ1aWxkIDUuMjAgYWZ0ZXJlZmZlY3QgZWNobyAtLSZndDsKJmx0OyZsdDtzZXQgX2FmdGVyZWZmZWN0RWNobz1zZXR1cC5yb2xsQWZ0ZXJlZmZlY3RFY2hvKCZxdW90O3Vwc3RhaXJzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfYWZ0ZXJlZmZlY3RFY2hvJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FmdGVyZWZmZWN0LWVjaG8mcXVvdDsgcm9sZT0mcXVvdDtzdGF0dXMmcXVvdDsmZ3Q7Jmx0O3NwYW4gYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDvihrsmbHQ7L3NwYW4mZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDs9IF9hZnRlcmVmZmVjdEVjaG8mZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7IS0tIEJ1aWxkIDUuMjIgYm9ycm93ZWQgdm9pY2Ugcm9vbSB0cmlnZ2VyIC0tJmd0OwombHQ7Jmx0O3NldCBfdm9pY2VSb29tPXNldHVwLnJvbGxCb3Jyb3dlZFZvaWNlUm9vbSgmcXVvdDtVcHN0YWlyc0xhbmRpbmdIdWImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF92b2ljZVJvb20mZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7dm9pY2Utcm9vbS10cmlnZ2VyJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7QSBmYW1pbGlhciB2b2ljZSBzcGVha3MgZnJvbSBpbnNpZGUgdGhlIG5lYXJlc3Qgd2FsbC4mbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtJdCBzYXlzIHRoZSBpbnZlc3RpZ2F0b3ImIzM5O3MgbmFtZSBjb3JyZWN0bHksIHRoZW4gYWRkczog4oCcWW91IGxlZnQgcGFydCBvZiB0aGUgcXVlc3Rpb24gaW4gaGVyZS7igJ0mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0Fuc3dlciB0aGUgdm9pY2UgYW5kIGVudGVyLSZndDtWb2ljZVJvb21BcnJpdmFsXV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzY3IiBuYW1lPSJVcHN0YWlyc0tldmluUm9vbSIgdGFncz0idXBzdGFpcnMgaW52ZXN0aWdhdGlvbiBiZy11cHN0YWlycyIgcG9zaXRpb249IjUyODAsMjA1MCIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMiBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7dXBzdGFpcnNQcmlvcml0eSZxdW90OywgJnF1b3Q7a2V2aW5Sb29tJnF1b3Q7LCAmcXVvdDtUaGUgbWlycm9yIGJlY29tZXMgdGhlIGZpcnN0IHVwc3RhaXJzIGV2aWRlbmNlLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkdXBzdGFpcnNSb29tc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHVwc3RhaXJzQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtLZXZpbiByb29tIHJlZmxlY3Rpb24mcXVvdDspJmd0OyZndDsmbHQ7cCZndDtLZXZpbiYjMzk7cyBiZWRyb29tIGxvb2tlZCB1bnRvdWNoZWQgZXhjZXB0IGZvciB0aGUgbWlycm9yLiBJdCByZWZsZWN0ZWQgdGhlIHJvb20gYXMgaXQgaGFkIGFwcGVhcmVkIGJlZm9yZSB0aGUgV2luY2hlc3RlciBmYW1pbHkgbW92ZWQgaW4uJmx0Oy9wJmd0OyZsdDtwJmd0O0EgY2hpbGQgc3Rvb2QgYmVzaWRlIHRoZSBvbGQgYmVkLCB3cml0aW5nIG51bWJlcnMgb24gdGhlIHdhbGw6Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YWZ0ZXJzaG9jay1jb2RlJnF1b3Q7Jmd0O1hJIMK3IFYgwrcgSUlJIMK3IElJIMK3IEkmbHQ7L2RpdiZndDsmbHQ7cCZndDtUaGUgcmVmbGVjdGVkIGNoaWxkIHR1cm5lZC4gQSBkYXJrIHJlZCByaW5nIGh1bmcgZnJvbSBhIGNvcmQgYXJvdW5kIHRoZSBjaGlsZCYjMzk7cyBuZWNrLiZsdDsvcCZndDsmbHQ7cCZndDtLZXZpbiBzcHVuIHRvd2FyZCB0aGUgcmVhbCB3YWxsLiBGcmVzaCBwZW5jaWwgbWFya3MgaGFkIGFwcGVhcmVkIHRoZXJlOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7VEhFIENPVU5URE9XTiBPUEVOUyBGUk9NIEFCT1ZFLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7c2V0ICRyZWRSaW5nQ2x1ZSA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBzdGFpcmNhc2UgY291bnRkb3duIG9wZW5zIGZyb20gdGhlIHVwc3RhaXJzIGxhbmRpbmcmcXVvdDspJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc2N1ZS1jbHVlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7VXBzdGFpcnMgY2x1ZTombHQ7L3N0cm9uZyZndDsgVGhlIGNvdW50ZG93biBpcyBjb250cm9sbGVkIGZyb20gYWJvdmUgdGhlIHN0YWlyY2FzZSwgbm90IGJlbG93IGl0LiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gdGhlIHVwc3RhaXJzIGxhbmRpbmctJmd0O1Vwc3RhaXJzTGFuZGluZ0h1Yl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNjgiIG5hbWU9IlVwc3RhaXJzQWJiaWVSb29tIiB0YWdzPSJ1cHN0YWlycyBpbnZlc3RpZ2F0aW9uIGJnLXVwc3RhaXJzIiBwb3NpdGlvbj0iNTQyMCwyMDUwIiBzaXplPSIxMDAsMTAwIj4vKiBCNS4yIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDt1cHN0YWlyc1ByaW9yaXR5JnF1b3Q7LCAmcXVvdDthYmJpZVJvb20mcXVvdDssICZxdW90O0FiYmll4oCZcyBkcmF3aW5ncyBiZWNvbWUgdGhlIGZpcnN0IHVwc3RhaXJzIGV2aWRlbmNlLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkdXBzdGFpcnNSb29tc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHVwc3RhaXJzQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBYmJpZSBkcmF3aW5ncyZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O0FiYmllJiMzOTtzIHJvb20gY29udGFpbmVkIGRvemVucyBvZiBjcmF5b24gZHJhd2luZ3MgS2V2aW4gaGFkIG5ldmVyIHNlZW4uJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjIgc3RhbmRhcmQgYmF0Y2gzIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2FiYmllX2JlZHJvb20mcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9hYmJpZV9iZWRyb29tLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O3AmZ3Q7RWFjaCBzaG93ZWQgdGhlIHNhbWUgaG91c2UgZnJvbSBhIGRpZmZlcmVudCBhbmdsZS4gSW4gZXZlcnkgZHJhd2luZywgdGhyZWUgZ2lybHMgc3Rvb2Qgb3V0c2lkZSB3aGlsZSBhIGZvdXJ0aCBmaWd1cmUgd2F0Y2hlZCBmcm9tIGFuIHVwc3RhaXJzIHdpbmRvdy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7T24gdGhlIG5ld2VzdCBwYWdlLCBBYmJpZSBoYWQgZHJhd24gdGhlIGNhdCBib29rIG9wZW4gb24gdGhlIGZsb29yLiBCZW5lYXRoIGl0IHNoZSBoYWQgd3JpdHRlbjombHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0O1RIRSBMQURZIFNBSUQgSEVSIE5BTUUgV0FTIENBUk9MSU5FLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0FiYmllIGhlYXJkIHRoZSBuYW1lIENhcm9saW5lIGZyb20gdGhlIHJlZC1yaW5nIGZpZ3VyZSZxdW90OykmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLWNsdWUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtVcHN0YWlycyBjbHVlOiZsdDsvc3Ryb25nJmd0OyBUaGUgcmVkLXJpbmcgZmlndXJlIGludHJvZHVjZWQgaGVyc2VsZiB0byBBYmJpZSBhcyBDYXJvbGluZSBiZWZvcmUgYWN0aXZhdGluZyB0aGUgYm9vay4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSB1cHN0YWlycyBsYW5kaW5nLSZndDtVcHN0YWlyc0xhbmRpbmdIdWJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzY5IiBuYW1lPSJVcHN0YWlyc1Bob3RvV2FsbCIgdGFncz0idXBzdGFpcnMgaW52ZXN0aWdhdGlvbiBiZy11cHN0YWlycyIgcG9zaXRpb249IjU1NjAsMjA1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAuZGlzY292ZXJDbHVlKCZxdW90O3Bob3RvLWRvb3ImcXVvdDssJnF1b3Q7VGhlIFBob3RvZ3JhcGggRG9vcndheSZxdW90OywmcXVvdDtLZXZpbiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC5hZGRDYXNlRmlsZTIoJnF1b3Q7cGhvdG8tZG9vciZxdW90OywmcXVvdDtUaGUgUGhvdG9ncmFwaCBEb29yd2F5JnF1b3Q7LCZxdW90O0dyb3VwJnF1b3Q7LCZxdW90O1ZlcmlmaWVkIGFub21hbHkmcXVvdDssJnF1b3Q7VGhlIGRvb3J3YXkgYXBwZWFycyBpbiB0aGUgcGhvdG9ncmFwaCBidXQgbm90IHRoZSBoYWxsd2F5LiZxdW90OywmcXVvdDtJcyB0aGUgaW1hZ2UgcmVjb3JkaW5nIGFub3RoZXIgdmVyc2lvbiBvZiB0aGUgaG91c2U/JnF1b3Q7KSZndDsmZ3Q7Ci8qIEI1LjIgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O3Vwc3RhaXJzUHJpb3JpdHkmcXVvdDssICZxdW90O3Bob3RvV2FsbCZxdW90OywgJnF1b3Q7VGhlIGFsdGVyZWQgcGhvdG9ncmFwaCB3YWxsIGJlY29tZXMgdGhlIGZpcnN0IHVwc3RhaXJzIGV2aWRlbmNlLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkdXBzdGFpcnNSb29tc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHVwc3RhaXJzQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtIYWxsd2F5IHBob3RvZ3JhcGggZG9vcndheSZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSB3ZXQgZm9vdHByaW50cyBlbmRlZCBhdCB0aGUgZW1wdHkgd2FsbCB3aGVyZSB0aGUgbWlzc2luZyBwaG90b2dyYXBoIGhhZCBvbmNlIGh1bmcuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIGxlZnQgdGlsdC1wMSBzdGFuZGFyZCBiYXRjaDMgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7d2FsbHBhcGVyX2hleGFmb2lsJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfd2FsbHBhcGVyX2hleGFmb2lsLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O3AmZ3Q7SXRzIHJlY3Rhbmd1bGFyIHNoYWRvdyByZW1haW5lZCwgZGFya2VyIHRoYW4gdGhlIHN1cnJvdW5kaW5nIHdhbGxwYXBlci4gSW5zaWRlIHRoZSBzaGFkb3csIGEgZG9vcndheSBzbG93bHkgYXBwZWFyZWQuJmx0Oy9wJmd0OyZsdDsmbHQ7aWYgJGtldmluT3B0aW9uYWxGb3VuZCZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIG1pZGRsZSBnaXJsIHN0b29kIGJleW9uZCBpdC4gSGVyIHNob2VzIHdlcmUgd2V0LCBidXQgc2hlIGhlbGQgYm90aCBoYW5kcyB3aGVyZSBLZXZpbiBjb3VsZCBzZWUgdGhlbS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7VGhlIHJpbmcgb3BlbmVkIHRoZSB3cm9uZyBzaWRlLCZxdW90OyBzaGUgc2FpZC4gJnF1b3Q7V2Ugd2VyZSB0cnlpbmcgdG8gd2FybiB5b3UuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3AmZ3Q7QSBnaXJsIHN0b29kIGJleW9uZCBpdCwgaGVyIGZlYXR1cmVzIGJsdXJyZWQgYnkgbW92aW5nIHdhdGVyLiBTaGUgcG9pbnRlZCB0b3dhcmQgdGhlIHVua25vd24gZm91cnRoIGRvb3IuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc2N1ZS1jbHVlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7VXBzdGFpcnMgY2x1ZTombHQ7L3N0cm9uZyZndDsgVGhlIHRocmVlIHBob3RvZ3JhcGhlZCBnaXJscyBkaWQgbm90IG9wZW4gdGhlIGNyb3NzaW5nIGZvciB0aGUgcmVkLXJpbmcgZmlndXJlLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBwaG90b2dyYXBoZWQgZ2lybHMgYXJlIHdhcm5pbmcgdGhlIGludmVzdGlnYXRvcnMgYWJvdXQgQ2Fyb2xpbmUmcXVvdDspJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSB1cHN0YWlycyBsYW5kaW5nLSZndDtVcHN0YWlyc0xhbmRpbmdIdWJdXSZsdDsvZGl2Jmd0OwombHQ7IS0tIEJ1aWxkIDUuMTQgYXRtb3NwaGVyaWMgaGF1bnRpbmcgLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9oYXVudGluZ0F0bW9zcGhlcmUgPSBzZXR1cC5yb2xsQXRtb3NwaGVyaWNIYXVudGluZygmcXVvdDt1cHN0YWlycyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2hhdW50aW5nQXRtb3NwaGVyZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy1hdG1vc3BoZXJlJnF1b3Q7IHJvbGU9JnF1b3Q7c3RhdHVzJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2hhdW50aW5nLW1hcmsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDshJmx0Oy9zcGFuJmd0OyZsdDtwJmd0OyZsdDsmbHQ7PSBfaGF1bnRpbmdBdG1vc3BoZXJlJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyEtLSBCdWlsZCA1LjE2IExvc3QgTWludXRlIHRyaWdnZXIgLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9sb3N0TWludXRlUm9sbGVkID0gc2V0dXAucm9sbExvc3RNaW51dGUoJnF1b3Q7VXBzdGFpcnNQaG90b1dhbGwmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9sb3N0TWludXRlUm9sbGVkJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2xvc3QtbWludXRlLXRyaWdnZXImcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7bG9zdC1taW51dGUtdGltZSZxdW90OyZndDs5OjE0Jmx0Oy9zcGFuJmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtFdmVyeSBzb3VuZCBpbiB0aGUgcm9vbSBzdG9wcy4mbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtUaGUgc2Vjb25kIGhhbmQgZnJlZXplcy4gQmV5b25kIHRoZSBuZWFyZXN0IGRvb3J3YXksIHRoZSB0b3duIGlzIGVtcHR5IGFuZCBjb2xvcmxlc3MuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTdGVwIGludG8gdGhlIHNpbGVudCBtaW51dGUtJmd0O0xvc3RNaW51dGVBcnJpdmFsXV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzcwIiBuYW1lPSJVcHN0YWlyc1Vua25vd25Eb29yIiB0YWdzPSJ1cHN0YWlycyBpbnZlc3RpZ2F0aW9uIGJnLXVwc3RhaXJzIiBwb3NpdGlvbj0iNTAwMCwyMTgwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDt1bmtub3duLWRvb3ImcXVvdDssMiwmcXVvdDtUaGUgZ3JvdXAgYXBwcm9hY2hlZCBhbiBpbXBvc3NpYmxlIGRvb3J3YXkuJnF1b3Q7KSZndDsmZ3Q7Ci8qIEI1LjIgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O3Vwc3RhaXJzUHJpb3JpdHkmcXVvdDssICZxdW90O3Vua25vd25Eb29yJnF1b3Q7LCAmcXVvdDtUaGUgaW1wb3NzaWJsZSBkb29yIGJlY29tZXMgdGhlIGZpcnN0IHVwc3RhaXJzIGV2aWRlbmNlLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkdXBzdGFpcnNEb29yT3BlbmVkID0gdHJ1ZSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGZvdXJ0aCBkb29yIGhhZCBubyBrbm9iLiBBIHNoYWxsb3cgaGV4YWZvaWwgaGFkIGJlZW4gY2FydmVkIHdoZXJlIGEga25vYiBzaG91bGQgaGF2ZSBiZWVuLCB3aXRoIHRocmVlIHBldGFscyBtaXNzaW5nLiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCByaWdodCB0aWx0LW4xIHN0YW5kYXJkIGJhdGNoMyB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtmb3VydGhfZG9vciZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2ZvdXJ0aF9kb29yLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O3AmZ3Q7U2Nvb3QmIzM5O3Mgbm90ZWJvb2sgYmVnYW4gd3JpdGluZyBkb3duc3RhaXJzLiBLZXZpbiBoZWFyZCB0aGUgcGVuY2lsIHNjcmF0Y2hpbmcgdGhyb3VnaCB0aGUgZmxvb3I6Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDtOQU1FUyBPUEVOIElULiZsdDticiZndDtOQU1FUyBDTE9TRSBJVC4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCBLZXZpbiB0ZXN0IHRoZSBkb29yPyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZWNvbnN0cnVjdCB0aGUgdGhyZWUgZGFtYWdlZCBuYW1lcy0mZ3Q7TmFtZVB1enpsZUludHJvXV1bW1VzZSB0aGUgUm9tYW4gbnVtZXJhbCBJLSZndDtVc2VPbmVEb29yXV1bW0NhbGwgZm9yIE1yLiBBc2h0b24gYmVmb3JlIHRvdWNoaW5nIGl0LSZndDtDYWxsQXNodG9uVXBzdGFpcnNdXSZsdDsvZGl2Jmd0OwombHQ7IS0tIEJ1aWxkIDUuMTQgYXRtb3NwaGVyaWMgaGF1bnRpbmcgLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9oYXVudGluZ0F0bW9zcGhlcmUgPSBzZXR1cC5yb2xsQXRtb3NwaGVyaWNIYXVudGluZygmcXVvdDt1cHN0YWlycyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2hhdW50aW5nQXRtb3NwaGVyZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy1hdG1vc3BoZXJlJnF1b3Q7IHJvbGU9JnF1b3Q7c3RhdHVzJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2hhdW50aW5nLW1hcmsmcXVvdDsgYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDshJmx0Oy9zcGFuJmd0OyZsdDtwJmd0OyZsdDsmbHQ7PSBfaGF1bnRpbmdBdG1vc3BoZXJlJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM3MSIgbmFtZT0iU3BlYWtMdWNpbGxlRG9vciIgdGFncz0idXBzdGFpcnMgaW52ZXN0aWdhdGlvbiBiZy11cHN0YWlycyIgcG9zaXRpb249IjUxNDAsMjE4MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7JnF1b3Q7THVjaWxsZSwmcXVvdDsgS2V2aW4gc2FpZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7T25lIG1pc3NpbmcgcGV0YWwgZmlsbGVkIHdpdGggcGFsZSBsaWdodC4gRnJvbSBiZWhpbmQgdGhlIGRvb3IgY2FtZSB0aHJlZSBrbm9ja3MuJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O01hcnksJnF1b3Q7IEtpbW15IGNhbGxlZCBmcm9tIGJlbG93LiZsdDsvcCZndDsmbHQ7cCZndDtBIHNlY29uZCBwZXRhbCBhcHBlYXJlZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7U2Nvb3Qgc3VwcGxpZWQgdGhlIHRoaXJkIG5hbWU6ICZxdW90O0VsbGVuLiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDtUaGUgZmluYWwgcGV0YWwgY29tcGxldGVkIGl0c2VsZiwgYW5kIHRoZSBkb29yIG9wZW5lZCBvbmUgaW5jaC4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJHVwc3RhaXJzSW52ZXN0aWdhdGlvbkNvbXBsZXRlID0gdHJ1ZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0xvb2sgdGhyb3VnaCB0aGUgY29tcGxldGVkIGRvb3J3YXktJmd0O1Vwc3RhaXJzTWVtb3J5Um9vbV1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNzIiIG5hbWU9IlVzZU9uZURvb3IiIHRhZ3M9InVwc3RhaXJzIGludmVzdGlnYXRpb24gYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI1MjgwLDIxODAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0O0tldmluIHByZXNzZWQgdGhlIHdhdGNoIGFnYWluc3QgdGhlIGNhcnZlZCBmbG93ZXIgd2hpbGUgdGhlIGRpc3BsYXkgc2hvd2VkIEkuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBkb29yIG9wZW5lZCBpbW1lZGlhdGVseSwgYnV0IGV2ZXJ5IGhleGFmb2lsIGluIHRoZSBoYWxsd2F5IHdlbnQgZGFyay4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7TXIuIEFzaHRvbiBzaG91dGVkIGZyb20gZG93bnN0YWlycywgJnF1b3Q7Q2xvc2UgaXQhIFRoZSBudW1iZXIgdW5sb2NrcyB0aGUgcm91dGUuIEl0IGRvZXMgbm90IGlkZW50aWZ5IHdobyBtYXkgdXNlIGl0LiZxdW90OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc2N1ZS13YXJuaW5nJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7VW5zYWZlIHJlc3VsdDombHQ7L3N0cm9uZyZndDsgVGhlIG51bWVyYWwgb3BlbnMgdGhlIGNyb3NzaW5nIHdpdGhvdXQgcmVzdG9yaW5nIGl0cyBwcm90ZWN0aW9uLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tVc2UgdGhlIHJlY29yZHMgdG8gcmVjb25zdHJ1Y3QgdGhlIG5hbWVzLSZndDtOYW1lUHV6emxlSW50cm9dXVtbUmV0cmVhdCBkb3duc3RhaXJzLSZndDtLaXRjaGVuQWJiaWVdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzczIiBuYW1lPSJDYWxsQXNodG9uVXBzdGFpcnMiIHRhZ3M9InVwc3RhaXJzIGludmVzdGlnYXRpb24gYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI1NDIwLDIxODAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgJGFzaHRvblRydXN0ICZndDs9IDImZ3Q7Jmd0OyZsdDtwJmd0O01yLiBBc2h0b24gY2xpbWJlZCB0aGUgc3RhaXJzIGFuZCBzdG9wcGVkIHdoZW4gaGUgc2F3IHRoZSBmb3VydGggZG9vci4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7SSBzYXcgdGhpcyBkb29yd2F5IG9uY2Ugd2hlbiBJIHdhcyBhIGNoaWxkLCZxdW90OyBoZSBzYWlkLiAmcXVvdDtNeSBtb3RoZXIgdG9sZCBtZSBuZXZlciB0byBhbnN3ZXIgaXQgd2l0aCBteSBvd24gbmFtZS4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7SGUgc3R1ZGllZCB0aGUgbWlzc2luZyBwZXRhbHMuICZxdW90O1VzZSB0aGUgbmFtZXMgdGhhdCB3ZXJlIHJlbW92ZWQgZnJvbSB0aGUgcmVjb3Jkcy4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtNci4gQXNodG9uIHJlYWNoZWQgdGhlIGxhbmRpbmcgYnV0IHJlZnVzZWQgdG8gdG91Y2ggdGhlIGNhcnZpbmcuJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O1RoZSBkb29yIHdhbnRzIGEgbmFtZSwmcXVvdDsgaGUgc2FpZC4gJnF1b3Q7RG8gbm90IGdpdmUgaXQgeW91cnMuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmVjb25zdHJ1Y3QgdGhlIHRocmVlIG5hbWVzIGZyb20gdGhlIHJlY29yZHMtJmd0O05hbWVQdXp6bGVJbnRyb11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzNzQiIG5hbWU9IlVwc3RhaXJzTWVtb3J5Um9vbSIgdGFncz0idXBzdGFpcnMgaW52ZXN0aWdhdGlvbiBiZy1tZW1vcnlyb29tIiBwb3NpdGlvbj0iNTU2MCwyMTgwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtCZXlvbmQgdGhlIGZvdXJ0aCBkb29yIHdhcyBhIHNtYWxsZXIgdmVyc2lvbiBvZiB0aGUgV2luY2hlc3RlciB1cHN0YWlycywgbGl0IGJ5IGdyYXkgbW9ybmluZyBsaWdodC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhyZWUgZ2lybHMgc3Rvb2QgYXJvdW5kIGEgdGFibGUuIEEgZm91cnRoIGNoYWlyIHJlbWFpbmVkIGVtcHR5LiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCByaWdodCB0aWx0LW4yIHN0YW5kYXJkIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O21lbW9yeV93YXJuaW5nJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfbWVtb3J5X3dhcm5pbmcucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7cCZndDtPbiB0aGUgdGFibGUgc2F0IHRoZSBvcmlnaW5hbCBwaG90b2dyYXBoLCB0aGUgY2F0IGJvb2ssIGFuZCBhIHJlZ2lzdHJ5IHBhZ2UgYmVhcmluZyBmb3VyIG5hbWVzOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O21lbW9yeS1uYW1lcyZxdW90OyZndDsmbHQ7c3BhbiZndDtMdWNpbGxlIFZhbGUmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4mZ3Q7TWFyeSZsdDsvc3BhbiZndDsmbHQ7c3BhbiZndDtFbGxlbiZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtkYW5nZXImcXVvdDsmZ3Q7Q2Fyb2xpbmUgQXNjaGVyZG93biZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDtUaGUgZW50cnkgYmVzaWRlIENhcm9saW5lJiMzOTtzIG5hbWUgaGFkIGJlZW4gY2hhbmdlZCBpbiByZWQgaW5rOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7UkVNT1ZFRCBGUk9NIFRIRSBDT1ZFTi4mbHQ7YnImZ3Q7Tk9UIFJFTU9WRUQgRlJPTSBCUkVDS0VOUklER0UuJmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7QSBoYW5kIHdlYXJpbmcgdGhlIGRhcmsgcmVkIHJpbmcgcmVhY2hlZCBkb3duIGZyb20gdGhlIGNlaWxpbmcgb2YgdGhlIG1lbW9yeSByb29tLiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtcDIgc3RhbmRhcmQgYmF0Y2gzIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O21lbW9yeV9yb29tJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfbWVtb3J5X3Jvb20ucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbVGFrZSB0aGUgcmVnaXN0cnkgcGFnZS0mZ3Q7VGFrZVVwc3RhaXJzUmVnaXN0cnldXVtbVGFrZSB0aGUgb3JpZ2luYWwgcGhvdG9ncmFwaC0mZ3Q7VGFrZU9yaWdpbmFsUGhvdG9dXVtbQ2xvc2UgdGhlIGRvb3IgYmVmb3JlIHRoZSBoYW5kIHJlYWNoZXMgdGhlIHRhYmxlLSZndDtDbG9zZU1lbW9yeURvb3JdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzc1IiBuYW1lPSJUYWtlVXBzdGFpcnNSZWdpc3RyeSIgdGFncz0idXBzdGFpcnMgaW52ZXN0aWdhdGlvbiBiZy1tZW1vcnlyb29tIiBwb3NpdGlvbj0iNTAwMCwyMzEwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biAkcGxheWVyQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtSZWdpc3RyeTogQ2Fyb2xpbmUgd2FzIHJlbW92ZWQgZnJvbSB0aGUgY292ZW4gYnV0IHJlbWFpbmVkIGluIEJyZWNrZW5yaWRnZSZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIHB1bGxlZCB0aGUgcmVnaXN0cnkgcGFnZSB0aHJvdWdoIHRoZSBnYXAuIFRoZSByZWQtcmluZyBoYW5kIHN0cnVjayB0aGUgdGFibGUgd2hlcmUgaGlzIGZpbmdlcnMgaGFkIGJlZW4uJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBmb3VydGggZG9vciBiZWdhbiBjbG9zaW5nLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc2N1ZS1jbHVlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7TWFqb3IgZXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IENhcm9saW5lIEFzY2hlcmRvd24gd2FzIHNlcGFyYXRlZCBmcm9tIHRoZSBvdGhlciB0aHJlZSwgYnV0IG5ldmVyIGxlZnQgQnJlY2tlbnJpZGdlLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTZWFsIHRoZSBmb3VydGggZG9vci0mZ3Q7Q2xvc2VNZW1vcnlEb29yXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM3NiIgbmFtZT0iVGFrZU9yaWdpbmFsUGhvdG8iIHRhZ3M9InVwc3RhaXJzIGludmVzdGlnYXRpb24gYmctbWVtb3J5cm9vbSIgcG9zaXRpb249IjUxNDAsMjMxMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7T3JpZ2luYWwgcGhvdG9ncmFwaCByZWNvdmVyZWQgZnJvbSB0aGUgdXBzdGFpcnMgbWVtb3J5IHJvb20mcXVvdDspJmd0OyZndDsmbHQ7cCZndDtLZXZpbiBzZWl6ZWQgdGhlIG9yaWdpbmFsIHBob3RvZ3JhcGguIFRoaXMgdmVyc2lvbiBzaG93ZWQgZm91ciBnaXJscyBjbGVhcmx5LiZsdDsvcCZndDsmbHQ7cCZndDtDYXJvbGluZSBzdG9vZCBhcGFydCBmcm9tIEx1Y2lsbGUsIE1hcnksIGFuZCBFbGxlbi4gVGhlIGRhcmsgcmVkIHJpbmcgd2FzIGFscmVhZHkgb24gaGVyIGhhbmQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLWNsdWUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtNYWpvciBldmlkZW5jZTombHQ7L3N0cm9uZyZndDsgVGhlIHJlZCByaW5nIGJlbG9uZ2VkIHRvIENhcm9saW5lIGJlZm9yZSB0aGUgZ2lybHMgZGlzYXBwZWFyZWQuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1NlYWwgdGhlIGZvdXJ0aCBkb29yLSZndDtDbG9zZU1lbW9yeURvb3JdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzc3IiBuYW1lPSJDbG9zZU1lbW9yeURvb3IiIHRhZ3M9InVwc3RhaXJzIGludmVzdGlnYXRpb24gYmctbWVtb3J5cm9vbSIgcG9zaXRpb249IjUyODAsMjMxMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7S2V2aW4gc3Bva2UgdGhlIHRocmVlIG5hbWVzIGFnYWluIGluIHJldmVyc2Ugb3JkZXIuJmx0Oy9wJmd0OyZsdDtwJmd0O0VsbGVuLiBNYXJ5LiBMdWNpbGxlLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgZm91cnRoIGRvb3IgZm9sZGVkIGludG8gdGhlIHdhbGxwYXBlciwgbGVhdmluZyB0aGUgY29tcGxldGUgaGV4YWZvaWwgYmVoaW5kLiZsdDsvcCZndDsmbHQ7Jmx0O3NldCAkdXBzdGFpcnNJbnZlc3RpZ2F0aW9uQ29tcGxldGUgPSB0cnVlJmd0OyZndDsmbHQ7cCZndDtUaGUgaGFsbHdheSByZXR1cm5lZCB0byBpdHMgcHJvcGVyIGxlbmd0aC4gT25seSB0aHJlZSBiZWRyb29tIGRvb3JzIHJlbWFpbmVkLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc2N1ZS1zdWNjZXNzJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7VXBzdGFpcnMgYm91bmRhcnkgc3RhYmlsaXplZDombHQ7L3N0cm9uZyZndDsgVGhlIGhpZGRlbiBtZW1vcnkgcm9vbSBpcyBjbG9zZWQsIGFuZCBDYXJvbGluZSBjYW4gbm8gbG9uZ2VyIHVzZSB0aGUgbGFuZGluZyBhcyB0aGUgdG9wIG9mIHRoZSBjb3VudGRvd24uJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0JyaW5nIHRoZSB1cHN0YWlycyBldmlkZW5jZSB0byBBYmJpZSBhbmQgdGhlIGdyb3VwLSZndDtLaXRjaGVuQWJiaWVdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzc4IiBuYW1lPSJOYW1lUHV6emxlSW50cm8iIHRhZ3M9ImVwaXNvZGUyIGZvcm1hbCBwdXp6bGUgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI1ODQ1LDIxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSZWNvbnN0cnVjdCB0aGUgdGhyZWUgbmFtZXMgZXJhc2VkIGZyb20gQnJlY2tlbnJpZGdlIHJlY29yZHMmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Zm9ybWFsLXB1enpsZSBuYW1lLXJlY29uc3RydWN0aW9uJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Zm9ybWFsLXB1enpsZS1oZWFkJnF1b3Q7Jmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgVHdvIFB1enpsZSAxJmx0Oy9zcGFuJmd0OyZsdDtoMiZndDtUaGUgVGhyZWUgRXJhc2VkIE5hbWVzJmx0Oy9oMiZndDsmbHQ7cCZndDtVc2UgdGhlIHN1cnZpdmluZyBmcmFnbWVudHMgYW5kIGNoYXJhY3RlciBldmlkZW5jZSB0byByZXN0b3JlIGFsbCB0aHJlZSBuYW1lcyBpbiB0aGUgY29ycmVjdCBvcmRlci4mbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZWNvcmQtZnJhZ21lbnRzJnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7U2Nob29sIHJlZ2lzdHJ5Jmx0Oy9iJmd0OyZsdDtzcGFuJmd0O0xVQ+KApiBW4oCmJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7QXJjaGl2ZSBtYXJnaW4mbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q74oCmQVJZJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7Tm90ZWJvb2sgaW1wcmVzc2lvbiZsdDsvYiZndDsmbHQ7c3BhbiZndDtFTOKApk4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcnVsZSZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0Rvb3IgcnVsZTombHQ7L3N0cm9uZyZndDsgVGhlIGZpcnN0IG5hbWUgYW5zd2VycyB3aXRoIHRocmVlIGtub2Nrcy4gVGhlIHNlY29uZCBpcyBoaWRkZW4gaW4gdGhlIGFyY2hpdmUuIFRoZSB0aGlyZCBjb21wbGV0ZXMgdGhlIG5vdGVib29rIHdhcm5pbmcuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtpZiAkcnlhbk9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZWFybmVkLWhpbnQmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7UnlhbiYjMzk7cyBjbHVlOiZsdDsvYiZndDsgVGhlIHZvaWNlIGJlaGluZCB0aGUgcGVybWlzc2lvbiBib3VuZGFyeSByZWNvZ25pemVkIEx1Y2lsbGUuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7aWYgJGtpbW15T3B0aW9uYWxGb3VuZCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlYXJuZWQtaGludCZxdW90OyZndDsmbHQ7YiZndDtLaW1teSYjMzk7cyBjbHVlOiZsdDsvYiZndDsgVGhlIGRhbWFnZWQgYXJjaGl2ZSBlbnRyeSBwcmVzZXJ2ZXMgdGhlIGZpbmFsIGxldHRlcnMgb2YgTWFyeS4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtpZiAkc2Nvb3RPcHRpb25hbEZvdW5kJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Vhcm5lZC1oaW50JnF1b3Q7Jmd0OyZsdDtiJmd0O1Njb290JiMzOTtzIGNsdWU6Jmx0Oy9iJmd0OyBUaGUgbm90ZWJvb2sgcmh5dGhtIGVuZHMgb24gdGhlIHR3by1zeWxsYWJsZSBuYW1lIEVsbGVuLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQmVnaW4gd2l0aCB0aGUgbmFtZSBjb25uZWN0ZWQgdG8gdGhyZWUga25vY2tzLSZndDtOYW1lUHV6emxlRmlyc3RdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzc5IiBuYW1lPSJOYW1lUHV6emxlRmlyc3QiIHRhZ3M9ImVwaXNvZGUyIGZvcm1hbCBwdXp6bGUgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI1OTkwLDIxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7Zm9ybWFsLXB1enpsZSZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1zdGVwYmFyJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2N1cnJlbnQmcXVvdDsmZ3Q7MSZsdDsvc3BhbiZndDsmbHQ7c3BhbiZndDsyJmx0Oy9zcGFuJmd0OyZsdDtzcGFuJmd0OzMmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gyJmd0O0ZpcnN0IFBldGFsJmx0Oy9oMiZndDsmbHQ7cCZndDtXaGljaCBlcmFzZWQgbmFtZSBpcyBjb25uZWN0ZWQgdG8gdGhlIHZvaWNlIGFuZCB0aHJlZSBrbm9ja3MgaW5zaWRlIHRoZSB3YWxsPyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1hbnN3ZXItZ3JpZCZxdW90OyZndDtbW0x1Y2lsbGUgVmFsZS0mZ3Q7TmFtZVB1enpsZVNlY29uZF1dW1tNYXJ5IFZhbGUtJmd0O05hbWVQdXp6bGVXcm9uZ0ZpcnN0XV1bW0VsbGVuIEFzY2hlcmRvd24tJmd0O05hbWVQdXp6bGVXcm9uZ0ZpcnN0XV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM4MCIgbmFtZT0iTmFtZVB1enpsZVdyb25nRmlyc3QiIHRhZ3M9ImVwaXNvZGUyIGZvcm1hbCBwdXp6bGUgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI2MTM1LDIxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRuYW1lUHV6emxlQXR0ZW1wdHMgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHB1enpsZU1pc3Rha2VzICs9IDEmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXJldmVhbCByZXRyeSZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyZXZlYWwtaWNvbiZxdW90OyZndDshJmx0Oy9zcGFuJmd0OyZsdDtkaXYmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cmV2ZWFsLWxhYmVsJnF1b3Q7Jmd0O1RoZSBmaXJzdCBwZXRhbCByZW1haW5zIGRhcmsmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtUaGF0IG5hbWUgaXMgbm90IHRpZWQgdG8gdGhlIHRocmVlIGtub2NrcyZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O1JldmlldyB0aGUgaGlkZGVuIHBhc3NhZ2UgZXZpZGVuY2UuIE9uZSBnaXJsIHdhcyBkaXJlY3RseSByZWNvZ25pemVkIGJ5IHRoZSBib3VuZGFyeS4mbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1RyeSB0aGUgZmlyc3QgbmFtZSBhZ2Fpbi0mZ3Q7TmFtZVB1enpsZUZpcnN0XV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM4MSIgbmFtZT0iTmFtZVB1enpsZVNlY29uZCIgdGFncz0iZXBpc29kZTIgZm9ybWFsIHB1enpsZSBiZy11cHN0YWlycyIgcG9zaXRpb249IjYyODAsMjE1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtmb3JtYWwtcHV6emxlJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXN0ZXBiYXImcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7c29sdmVkJnF1b3Q7Jmd0O+KckyZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtjdXJyZW50JnF1b3Q7Jmd0OzImbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4mZ3Q7MyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7aDImZ3Q7U2Vjb25kIFBldGFsJmx0Oy9oMiZndDsmbHQ7cCZndDtUaGUgYXJjaGl2ZSBmcmFnbWVudCBwcmVzZXJ2ZXMgJmx0O3N0cm9uZyZndDvigKZBUlkmbHQ7L3N0cm9uZyZndDsuIFdoaWNoIG5hbWUgcmVzdG9yZXMgaXQgd2l0aG91dCBhZGRpbmcgdW5zdXBwb3J0ZWQgbGV0dGVycz8mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtYW5zd2VyLWdyaWQmcXVvdDsmZ3Q7W1tNYXJ5LSZndDtOYW1lUHV6emxlVGhpcmRdXVtbTWFyam9yaWUtJmd0O05hbWVQdXp6bGVXcm9uZ1NlY29uZF1dW1tDYXJvbGluZS0mZ3Q7TmFtZVB1enpsZVdyb25nU2Vjb25kXV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM4MiIgbmFtZT0iTmFtZVB1enpsZVdyb25nU2Vjb25kIiB0YWdzPSJlcGlzb2RlMiBmb3JtYWwgcHV6emxlIGJnLXVwc3RhaXJzIiBwb3NpdGlvbj0iNTcwMCwyMjg1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbmFtZVB1enpsZUF0dGVtcHRzICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRwdXp6bGVNaXN0YWtlcyArPSAxJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgcmV0cnkmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cmV2ZWFsLWljb24mcXVvdDsmZ3Q7ISZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1sYWJlbCZxdW90OyZndDtUaGUgYXJjaGl2ZSBpbmsgcnVucyBhcGFydCZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O1RoZSBzdXJ2aXZpbmcgZW5kaW5nIG11c3QgcmVtYWluIHVuY2hhbmdlZCZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O1RoZSByZXN0b3JlZCBuYW1lIG11c3QgZW5kIGV4YWN0bHkgd2l0aCAmbHQ7YiZndDtBUlkmbHQ7L2ImZ3Q7LiZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbVHJ5IHRoZSBhcmNoaXZlIG5hbWUgYWdhaW4tJmd0O05hbWVQdXp6bGVTZWNvbmRdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzgzIiBuYW1lPSJOYW1lUHV6emxlVGhpcmQiIHRhZ3M9ImVwaXNvZGUyIGZvcm1hbCBwdXp6bGUgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI1ODQ1LDIyODUiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7Zm9ybWFsLXB1enpsZSZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1zdGVwYmFyJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3NvbHZlZCZxdW90OyZndDvinJMmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7c29sdmVkJnF1b3Q7Jmd0O+KckyZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtjdXJyZW50JnF1b3Q7Jmd0OzMmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gyJmd0O1RoaXJkIFBldGFsJmx0Oy9oMiZndDsmbHQ7cCZndDtXaGljaCBuYW1lIGNvbXBsZXRlcyB0aGUgbm90ZWJvb2sgZnJhZ21lbnQgJmx0O3N0cm9uZyZndDtFTOKApk4mbHQ7L3N0cm9uZyZndDsgYW5kIG1hdGNoZXMgaXRzIGZpbmFsIHR3by1iZWF0IHJoeXRobT8mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtYW5zd2VyLWdyaWQmcXVvdDsmZ3Q7W1tFbGxlbi0mZ3Q7TmFtZVB1enpsZVNvbHZlZF1dW1tFbG93ZW4tJmd0O05hbWVQdXp6bGVXcm9uZ1RoaXJkXV1bW0VsYWluZS0mZ3Q7TmFtZVB1enpsZVdyb25nVGhpcmRdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzg0IiBuYW1lPSJOYW1lUHV6emxlV3JvbmdUaGlyZCIgdGFncz0iZXBpc29kZTIgZm9ybWFsIHB1enpsZSBiZy11cHN0YWlycyIgcG9zaXRpb249IjU5OTAsMjI4NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG5hbWVQdXp6bGVBdHRlbXB0cyArPSAxJmd0OyZndDsmbHQ7Jmx0O3NldCAkcHV6emxlTWlzdGFrZXMgKz0gMSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcmV2ZWFsIHJldHJ5JnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1pY29uJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O2RpdiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyZXZlYWwtbGFiZWwmcXVvdDsmZ3Q7VGhlIG5vdGVib29rIHJlamVjdHMgdGhlIHJoeXRobSZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O1RoZSBmaW5hbCBuYW1lIGhhcyB0d28gYmVhdHMmbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtLZWVwIHRoZSB2aXNpYmxlIGJlZ2lubmluZyAmbHQ7YiZndDtFTCZsdDsvYiZndDsgYW5kIGZpbmFsIGxldHRlciAmbHQ7YiZndDtOJmx0Oy9iJmd0Oy4mbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1RyeSB0aGUgbm90ZWJvb2sgbmFtZSBhZ2Fpbi0mZ3Q7TmFtZVB1enpsZVRoaXJkXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM4NSIgbmFtZT0iTmFtZVB1enpsZVNvbHZlZCIgdGFncz0iZXBpc29kZTIgZm9ybWFsIHB1enpsZSBiZy11cHN0YWlycyIgcG9zaXRpb249IjYxMzUsMjI4NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJG5hbWVQdXp6bGVTb2x2ZWQgPSB0cnVlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Zvcm1hbC1wdXp6bGUgc29sdmVkLWZvcm1hbCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgc3VjY2VzcyZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyZXZlYWwtaWNvbiZxdW90OyZndDvinJMmbHQ7L3NwYW4mZ3Q7Jmx0O2RpdiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyZXZlYWwtbGFiZWwmcXVvdDsmZ3Q7VGhyZWUgbmFtZXMgcmVzdG9yZWQmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtMdWNpbGxlIFZhbGUgwrcgTWFyeSDCtyBFbGxlbiZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O0VhY2ggc3Bva2VuIG5hbWUgZmlsbHMgb25lIG1pc3NpbmcgcGV0YWwuIFRoZSBmb3VydGggZG9vciBvcGVucyB3aXRob3V0IGV4dGluZ3Vpc2hpbmcgdGhlIGhhbGx3YXkgc2VhbHMuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2x1ZS1lYXJuZWQmcXVvdDsmZ3Q7Rm9ybWFsIHB1enpsZSBzb2x2ZWQmbHQ7Jmx0O2lmICRuYW1lUHV6emxlQXR0ZW1wdHMgaXMgMCZndDsmZ3Q7IHdpdGggbm8gZXJyb3JzJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7bmFtZS1zZWFsLXJvdyZxdW90OyZndDsmbHQ7c3BhbiZndDtMdWNpbGxlJmx0Oy9zcGFuJmd0OyZsdDtzcGFuJmd0O01hcnkmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4mZ3Q7RWxsZW4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0xvb2sgdGhyb3VnaCB0aGUgY29tcGxldGVkIGRvb3J3YXktJmd0O1Vwc3RhaXJzTWVtb3J5Um9vbV1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzODYiIG5hbWU9IkhleGFmb2lsUHV6emxlSW50cm8iIHRhZ3M9ImVwaXNvZGUyIGZvcm1hbCBwdXp6bGUgYmctcGFzc2FnZSIgcG9zaXRpb249IjYyODAsMjI4NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtmb3JtYWwtcHV6emxlIGhleGFmb2lsLXBsYWNlbWVudCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Zvcm1hbC1wdXp6bGUtaGVhZCZxdW90OyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIFR3byBQdXp6bGUgMiZsdDsvc3BhbiZndDsmbHQ7aDImZ3Q7UmVzdG9yZSB0aGUgU2l4LVBldGFsIFNlYWwmbHQ7L2gyJmd0OyZsdDtwJmd0O1RoZSBzZWFsIG5lZWRzIHRocmVlIGxvY2F0aW9ucyBvbiB0aGUgb3V0ZXIgYm91bmRhcnkgYW5kIHRocmVlIG5hbWVzIGF0IGl0cyBwcm90ZWN0ZWQgY2VudGVyLiZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hleGFmb2lsLWJvYXJkJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cGV0YWwgcDEmcXVvdDsmZ3Q7PyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cGV0YWwgcDImcXVvdDsmZ3Q7PyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cGV0YWwgcDMmcXVvdDsmZ3Q7PyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7c2VhbC1jZW50ZXImcXVvdDsmZ3Q74pylJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwZXRhbCBwNCZxdW90OyZndDs/Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwZXRhbCBwNSZxdW90OyZndDs/Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwZXRhbCBwNiZxdW90OyZndDs/Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwaWVjZS1iYW5rJnF1b3Q7Jmd0OyZsdDtzcGFuJmd0O0hPVVNFJmx0Oy9zcGFuJmd0OyZsdDtzcGFuJmd0O1RSRUUmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4mZ3Q7U0NIT09MJmx0Oy9zcGFuJmd0OyZsdDtzcGFuJmd0O0xVQ0lMTEUmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4mZ3Q7TUFSWSZsdDsvc3BhbiZndDsmbHQ7c3BhbiZndDtFTExFTiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1ydWxlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7UGxhY2VtZW50IHJ1bGU6Jmx0Oy9zdHJvbmcmZ3Q7IFBsYWNlcyBmb3JtIHRoZSBib3VuZGFyeS4gTmFtZXMgZGV0ZXJtaW5lIHdobyB0aGUgYm91bmRhcnkgcHJvdGVjdHMuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtpZiAkaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O2hvdXNlJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Vhcm5lZC1oaW50JnF1b3Q7Jmd0OyZsdDtiJmd0O1JvdXRlIHBsYWNlbWVudDombHQ7L2ImZ3Q7IEhPVVNFIGJlbG9uZ3Mgb24gdGhlIG91dGVyIHJpbmcuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlaWYgJGludmVzdGlnYXRpb25Sb3V0ZSBpcyAmcXVvdDtvYWsmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZWFybmVkLWhpbnQmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7Um91dGUgcGxhY2VtZW50OiZsdDsvYiZndDsgVFJFRSBiZWxvbmdzIG9uIHRoZSBvdXRlciByaW5nLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZWlmICRpbnZlc3RpZ2F0aW9uUm91dGUgaXMgJnF1b3Q7cGFzc2FnZSZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlYXJuZWQtaGludCZxdW90OyZndDsmbHQ7YiZndDtSb3V0ZSBwbGFjZW1lbnQ6Jmx0Oy9iJmd0OyBTQ0hPT0wgYmVsb25ncyBvbiB0aGUgb3V0ZXIgcmluZy4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1BsYWNlIHRoZSBvdXRlciBib3VuZGFyeSBwaWVjZXMtJmd0O0hleGFmb2lsT3V0ZXJDaG9pY2VdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzg3IiBuYW1lPSJIZXhhZm9pbE91dGVyQ2hvaWNlIiB0YWdzPSJlcGlzb2RlMiBmb3JtYWwgcHV6emxlIGJnLXBhc3NhZ2UiIHBvc2l0aW9uPSI1NzAwLDI0MjAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7Zm9ybWFsLXB1enpsZSZxdW90OyZndDsmbHQ7aDImZ3Q7T3V0ZXIgUmluZyZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7V2hpY2ggdGhyZWUgcGllY2VzIGZvcm0gdGhlIGNvbm5lY3RlZCBwaHlzaWNhbCBib3VuZGFyeT8mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtYW5zd2VyLWdyaWQmcXVvdDsmZ3Q7W1tIT1VTRSDCtyBUUkVFIMK3IFNDSE9PTC0mZ3Q7SGV4YWZvaWxJbm5lckNob2ljZV1dW1tIT1VTRSDCtyBMVUNJTExFIMK3IFNDSE9PTC0mZ3Q7SGV4YWZvaWxXcm9uZ091dGVyXV1bW1RSRUUgwrcgTUFSWSDCtyBFTExFTi0mZ3Q7SGV4YWZvaWxXcm9uZ091dGVyXV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM4OCIgbmFtZT0iSGV4YWZvaWxXcm9uZ091dGVyIiB0YWdzPSJlcGlzb2RlMiBmb3JtYWwgcHV6emxlIGJnLXBhc3NhZ2UiIHBvc2l0aW9uPSI1ODQ1LDI0MjAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRoZXhhZm9pbFB1enpsZUF0dGVtcHRzICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRwdXp6bGVNaXN0YWtlcyArPSAxJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgcmV0cnkmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cmV2ZWFsLWljb24mcXVvdDsmZ3Q7ISZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1sYWJlbCZxdW90OyZndDtUaGUgb3V0ZXIgcGV0YWxzIHNwbGl0IGFwYXJ0Jmx0Oy9zcGFuJmd0OyZsdDtzdHJvbmcmZ3Q7VGhlIGJvdW5kYXJ5IG11c3QgYmUgbWFkZSBlbnRpcmVseSBvZiBwbGFjZXMmbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtDaG9vc2UgdGhlIHRocmVlIGxvY2F0aW9ucyBsaW5rZWQgYnkgdGhlIHN1cGVybmF0dXJhbCBjcm9zc2luZ3MuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXBsYWNlIHRoZSBvdXRlciBwaWVjZXMtJmd0O0hleGFmb2lsT3V0ZXJDaG9pY2VdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzg5IiBuYW1lPSJIZXhhZm9pbElubmVyQ2hvaWNlIiB0YWdzPSJlcGlzb2RlMiBmb3JtYWwgcHV6emxlIGJnLXBhc3NhZ2UiIHBvc2l0aW9uPSI1OTkwLDI0MjAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7Zm9ybWFsLXB1enpsZSZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hleGFmb2lsLW1pbmkmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7SE9VU0UmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4mZ3Q7VFJFRSZsdDsvc3BhbiZndDsmbHQ7c3BhbiZndDtTQ0hPT0wmbHQ7L3NwYW4mZ3Q7Jmx0O2ImZ3Q7PyZsdDsvYiZndDsmbHQ7L2RpdiZndDsmbHQ7aDImZ3Q7UHJvdGVjdGVkIENlbnRlciZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7V2hpY2ggdGhyZWUgcGllY2VzIGlkZW50aWZ5IHdobyB0aGUgcmVzdG9yZWQgc2VhbCByZW1lbWJlcnMgYW5kIHByb3RlY3RzPyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1hbnN3ZXItZ3JpZCZxdW90OyZndDtbW0xVQ0lMTEUgwrcgTUFSWSDCtyBFTExFTi0mZ3Q7SGV4YWZvaWxPcmRlckNob2ljZV1dW1tLRVZJTiDCtyBBQkJJRSDCtyBBU0hUT04tJmd0O0hleGFmb2lsV3JvbmdJbm5lcl1dW1tMVUNJTExFIMK3IENBUk9MSU5FIMK3IEVMTEVOLSZndDtIZXhhZm9pbFdyb25nSW5uZXJdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzkwIiBuYW1lPSJIZXhhZm9pbFdyb25nSW5uZXIiIHRhZ3M9ImVwaXNvZGUyIGZvcm1hbCBwdXp6bGUgYmctcGFzc2FnZSIgcG9zaXRpb249IjYxMzUsMjQyMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGhleGFmb2lsUHV6emxlQXR0ZW1wdHMgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHB1enpsZU1pc3Rha2VzICs9IDEmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXJldmVhbCByZXRyeSZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyZXZlYWwtaWNvbiZxdW90OyZndDshJmx0Oy9zcGFuJmd0OyZsdDtkaXYmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cmV2ZWFsLWxhYmVsJnF1b3Q7Jmd0O1JlZCB3YXggZmlsbHMgdGhlIGNlbnRlciZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O09uZSBjaG9zZW4gbmFtZSBkb2VzIG5vdCBiZWxvbmcgaW4gdGhlIHJlcGFpcmVkIGdyb3VwJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7VGhlIHNlYWwgcmVxdWlyZXMgdGhlIHRocmVlIG5hbWVzIGVyYXNlZCB0b2dldGhlciBmcm9tIHRoZSByZWNvcmRzLiBDYXJvbGluZSB3YXMgcmVjb3JkZWQgc2VwYXJhdGVseS4mbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JlcGxhY2UgdGhlIHByb3RlY3RlZCBuYW1lcy0mZ3Q7SGV4YWZvaWxJbm5lckNob2ljZV1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzOTEiIG5hbWU9IkhleGFmb2lsT3JkZXJDaG9pY2UiIHRhZ3M9ImVwaXNvZGUyIGZvcm1hbCBwdXp6bGUgYmctcGFzc2FnZSIgcG9zaXRpb249IjYyODAsMjQyMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtmb3JtYWwtcHV6emxlJnF1b3Q7Jmd0OyZsdDtoMiZndDtTZWFsIERpcmVjdGlvbiZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7VGhlIG91dGVyIGJvdW5kYXJ5IG11c3QgZm9sbG93IHRoZSByb3V0ZSByZXZlYWxlZCBieSB0aGUgbm90ZWJvb2suIFdoaWNoIGNsb2Nrd2lzZSBvcmRlciBjb21wbGV0ZXMgdGhlIHNlYWw/Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLWFuc3dlci1ncmlkJnF1b3Q7Jmd0O1tbSE9VU0Ug4oaSIFRSRUUg4oaSIFNDSE9PTC0mZ3Q7SGV4YWZvaWxTb2x2ZWRdXVtbVFJFRSDihpIgU0NIT09MIOKGkiBIT1VTRS0mZ3Q7SGV4YWZvaWxXcm9uZ09yZGVyXV1bW1NDSE9PTCDihpIgSE9VU0Ug4oaSIFRSRUUtJmd0O0hleGFmb2lsV3JvbmdPcmRlcl1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzOTIiIG5hbWU9IkhleGFmb2lsV3JvbmdPcmRlciIgdGFncz0iZXBpc29kZTIgZm9ybWFsIHB1enpsZSBiZy1wYXNzYWdlIiBwb3NpdGlvbj0iNTcwMCwyNTU1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkaGV4YWZvaWxQdXp6bGVBdHRlbXB0cyArPSAxJmd0OyZndDsmbHQ7Jmx0O3NldCAkcHV6emxlTWlzdGFrZXMgKz0gMSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcmV2ZWFsIHJldHJ5JnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1pY29uJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O2RpdiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyZXZlYWwtbGFiZWwmcXVvdDsmZ3Q7VGhlIHBldGFscyByb3RhdGUgYmFja3dhcmQmbHQ7L3NwYW4mZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgbG9jYXRpb25zIGFyZSBjb3JyZWN0IGJ1dCB0aGUgcGF0aCBpcyBub3QmbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtTY29vdCYjMzk7cyByaHl0aG1pYyBjbHVlIGVzdGFibGlzaGVkIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgcGF0aCByZW1lbWJlcnMgdGhlIGxvY2F0aW9ucy4mbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1RyeSB0aGUgYm91bmRhcnkgb3JkZXIgYWdhaW4tJmd0O0hleGFmb2lsT3JkZXJDaG9pY2VdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzkzIiBuYW1lPSJIZXhhZm9pbFNvbHZlZCIgdGFncz0iZXBpc29kZTIgZm9ybWFsIHB1enpsZSBiZy1wYXNzYWdlIiBwb3NpdGlvbj0iNTg0NSwyNTU1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkaGV4YWZvaWxQdXp6bGVTb2x2ZWQgPSB0cnVlJmd0OyZndDsmbHQ7Jmx0O3NldCAkaG91c2VTZWFsQ2hvaWNlID0gJnF1b3Q7bmFtZXMmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Zm9ybWFsLXB1enpsZSBzb2x2ZWQtZm9ybWFsJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXJldmVhbCBzdWNjZXNzJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1pY29uJnF1b3Q7Jmd0O+KckyZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1sYWJlbCZxdW90OyZndDtTaXgtcGV0YWwgc2VhbCByZXN0b3JlZCZsdDsvc3BhbiZndDsmbHQ7c3Ryb25nJmd0O091dGVyOiBIT1VTRSDihpIgVFJFRSDihpIgU0NIT09MJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7SW5uZXI6IExVQ0lMTEUgwrcgTUFSWSDCtyBFTExFTiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NsdWUtZWFybmVkJnF1b3Q7Jmd0O0Zvcm1hbCBwdXp6bGUgc29sdmVkJmx0OyZsdDtpZiAkaGV4YWZvaWxQdXp6bGVBdHRlbXB0cyBpcyAwJmd0OyZndDsgd2l0aCBubyBlcnJvcnMmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb21wbGV0ZWQtc2VhbCZxdW90OyZndDsmbHQ7ZGl2Jmd0O0hPVVNFJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtUUkVFJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtTQ0hPT0wmbHQ7L2RpdiZndDsmbHQ7c3Ryb25nJmd0O+KcpSZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0xVQ0lMTEUmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4mZ3Q7TUFSWSZsdDsvc3BhbiZndDsmbHQ7c3BhbiZndDtFTExFTiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQWN0aXZhdGUgdGhlIHJlc3RvcmVkIHNlYWwtJmd0O1Jlc3RvcmVOYW1lc1NlYWxdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzk0IiBuYW1lPSJFcGlzb2RlVGhyZWVPcGVuaW5nIiB0YWdzPSJlcGlzb2RlMyBvcGVuaW5nIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI2NjQ1LDIyNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRlcGlzb2RlVGhyZWVTdGFydGVkID0gdHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGVwaXNvZGUgPSAzJmd0OyZndDsmbHQ7Jmx0O3NldCAkY2hhcHRlciA9IDExJmd0OyZndDsmbHQ7Jmx0O3NldCAkcG92ID0gJnF1b3Q7S2ltbXkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1dpbmNoZXN0ZXIgSG91c2U6IEtpdGNoZW4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXRlcm1pbmUgd2h5IENhcm9saW5lIEFzY2hlcmRvd24mIzM5O3MgbmFtZSB3YXMgaGlkZGVuIGluc2lkZSBBYmJpZSYjMzk7cyBib29rJnF1b3Q7Jmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQgZXBpc29kZS10aHJlZS1jYXJkJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtFcGlzb2RlIFRocmVlJmx0Oy9kaXYmZ3Q7Jmx0O2gxIGNsYXNzPSZxdW90O3Bvdi1uYW1lJnF1b3Q7Jmd0O1RocmVlIFNpc3RlcnMsIFRocmVlIFJpbmdzJmx0Oy9oMSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7T25lIG5hbWUgY2hhbmdlcyB0aGUgZW50aXJlIGNhc2UmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsKJmx0O3AmZ3Q7VGhlIGhvdXNlIGhhZCBzdG9wcGVkIG1vdmluZywgYnV0IEtpbW15IGRpZCBub3QgdHJ1c3Qgc3RpbGxuZXNzIGFueW1vcmUuIFN0aWxsbmVzcyBjb3VsZCBtZWFuIHNhZmUuIEl0IGNvdWxkIGFsc28gbWVhbiBzb21ldGhpbmcgd2FzIHdhaXRpbmcgZm9yIGV2ZXJ5b25lIGVsc2UgdG8gcmVsYXggZmlyc3QuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBjYXQgYm9vayBsYXkgYmVuZWF0aCB0aGUga2l0Y2hlbiBsaWdodC4gVGhlIHRvcm4gY292ZXIgZXhwb3NlZCB0aGUgc3RhbXBlZCBuYW1lICZsdDtzdHJvbmcmZ3Q7Q0FST0xJTkUgQVNDSEVSRE9XTiZsdDsvc3Ryb25nJmd0Oy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7TXIuIEFzaHRvbiBzdG9vZCBhY3Jvc3MgdGhlIHRhYmxlLiBIaXMgY29mZmVlIGhhZCBnb25lIHVudG91Y2hlZC4mbHQ7L3AmZ3Q7Jmx0OyZsdDtpZiAkdXBzdGFpcnNJbnZlc3RpZ2F0aW9uQ29tcGxldGUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29udGludWl0eS1wYXlvZmYmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtVcHN0YWlycyBldmlkZW5jZSByZXRhaW5lZDombHQ7L3N0cm9uZyZndDsgQ2Fyb2xpbmUgd2FzIHJlbW92ZWQgZnJvbSB0aGUgY292ZW4gYnV0IG5ldmVyIHJlbW92ZWQgZnJvbSBCcmVja2VucmlkZ2UuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7aWYgJGhleGFmb2lsUHV6emxlU29sdmVkJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnRpbnVpdHktcGF5b2ZmJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7U2VhbCBldmlkZW5jZSByZXRhaW5lZDombHQ7L3N0cm9uZyZndDsgQ2Fyb2xpbmUmIzM5O3MgbmFtZSBkaWQgbm90IGJlbG9uZyBpbiB0aGUgcHJvdGVjdGVkIGNlbnRlci4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGljaCBldmlkZW5jZSBzaG91bGQgS2ltbXkgcGxhY2UgYmVmb3JlIE1yLiBBc2h0b24gZmlyc3Q/Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1RoZSBuYW1lIGhpZGRlbiBpbnNpZGUgdGhlIGNhdCBib29rLSZndDtFcGlzb2RlVGhyZWVDYXRCb29rXV1bW1RoZSByZWQgcmluZyBhbmQgQ2Fyb2xpbmUmIzM5O3MgaW1hZ2UtJmd0O0VwaXNvZGVUaHJlZVJpbmdFdmlkZW5jZV1dW1tUaGUgcmVnaXN0cnkgc3RhdGVtZW50IGFib3V0IHRoZSBjb3Zlbi0mZ3Q7RXBpc29kZVRocmVlUmVnaXN0cnlFdmlkZW5jZV1dJmx0Oy9kaXYmZ3Q7CgovKiBWNC4zIGJvdW5kYXJ5IGNoZWNrcG9pbnQgY2hhcHRlciAxMSAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDNDYXB0dXJlQm91bmRhcnkoMTEsICZxdW90O0VwaXNvZGVUaHJlZU9wZW5pbmcmcXVvdDssIDMpJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAudjQ0Q2FwdHVyZUNoYXB0ZXIoMTEsICZxdW90O0VwaXNvZGVUaHJlZU9wZW5pbmcmcXVvdDssIDMpJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzOTUiIG5hbWU9IkVwaXNvZGVUaHJlZUNhdEJvb2siIHRhZ3M9ImVwaXNvZGUzIG9wZW5pbmcgYmctc2Nob29saGFsbCIgcG9zaXRpb249IjY3OTAsMjI1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNhdEJvb2tPcGVuZWQgPSB0cnVlJmd0OyZndDsmbHQ7Jmx0O3J1biAkY2Fyb2xpbmVFdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O0Nhcm9saW5lJiMzOTtzIG5hbWUgaGlkZGVuIGluc2lkZSBBYmJpZSYjMzk7cyBjYXQgYm9vayZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O0tpbW15IG9wZW5lZCB0aGUgYm9vayB3aXRoIGEgcnVsZXIgaW5zdGVhZCBvZiBoZXIgZmluZ2Vycy4gVGhlIHBhZ2VzIHR1cm5lZCBieSB0aGVtc2VsdmVzIHVudGlsIHRoZSBwYWludGVkIGNhdCByZWFwcGVhcmVkIGJlZm9yZSB0aGUgV2luY2hlc3RlciBzdGFpcmNhc2UuJmx0Oy9wJmd0OyZsdDtwJmd0O05vdyB0aGUgY2F0IHdvcmUgYSBkYXJrIHJlZCBjb2xsYXIuIFRocmVlIHRpbnkgc2hhcGVzIGh1bmcgZnJvbSBpdDogYSBwdXJwbGUgc3RvbmUsIGEgZ3JlZW4gc3RvbmUsIGFuZCBhbiBlbXB0eSBzaWx2ZXIgc2V0dGluZy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QWJiaWUgbGVhbmVkIGNsb3Nlci4gJnF1b3Q7VGhlIHN0cmF3YmVycnkgbGFkeSBzYWlkIHRoZSBvdGhlciBjb2xvcnMgd2VyZSBjb21pbmcuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS10aHJlZS1ldmlkZW5jZSZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O05ldyBldmlkZW5jZTombHQ7L3N0cm9uZyZndDsgQ2Fyb2xpbmUmIzM5O3MgcmVkIHJpbmcgbWF5IGJlbG9uZyB0byBhIHNldCBjb25uZWN0ZWQgdG8gdHdvIG90aGVyIGNvbG9yZWQgcmluZ3MuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0FzayBNci4gQXNodG9uIGFib3V0IHRoZSBjb2xvcnMtJmd0O0VwaXNvZGVUaHJlZUFza0FzaHRvbl1dW1tDb21wYXJlIHRoZSBpbWFnZSB3aXRoIHRoZSByZWNvdmVyZWQgcGhvdG9ncmFwaC0mZ3Q7RXBpc29kZVRocmVlQ29tcGFyZVBob3RvXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjM5NiIgbmFtZT0iRXBpc29kZVRocmVlUmluZ0V2aWRlbmNlIiB0YWdzPSJlcGlzb2RlMyBvcGVuaW5nIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI2OTM1LDIyNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuICRjYXJvbGluZUV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7Q2Fyb2xpbmUgd29yZSB0aGUgcmVkIHJpbmcgYmVmb3JlIHRoZSBkaXNhcHBlYXJhbmNlcyZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O0tpbW15IHBsYWNlZCB0aGUgcmVjb3ZlcmVkIHBob3RvZ3JhcGggYmVzaWRlIHRoZSBkYW1hZ2VkIGJvb2suJmx0Oy9wJmd0OyZsdDsmbHQ7aWYgJHBsYXllckNsdWVzLmluY2x1ZGVzKCZxdW90O09yaWdpbmFsIHBob3RvZ3JhcGggcmVjb3ZlcmVkIGZyb20gdGhlIHVwc3RhaXJzIG1lbW9yeSByb29tJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIG9yaWdpbmFsIGltYWdlIHNob3dlZCBDYXJvbGluZSBjbGVhcmx5LiBUaGUgcmVkIHJpbmcgd2FzIGFscmVhZHkgb24gb25lIGhhbmQgd2hpbGUgdGhlIG90aGVyIHRocmVlIGdpcmxzIHN0b29kIHRvZ2V0aGVyLiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtcDIgc3RhbmRhcmQgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7dGhyZWVfcmluZ3MmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF90aHJlZV9yaW5ncy5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGFsdGVyZWQgaW1hZ2UgZGlkIG5vdCBzaG93IENhcm9saW5lJiMzOTtzIGZhY2UgY2xlYXJseSwgYnV0IHRoZSByZWQgZ2xpbnQgYXBwZWFyZWQgaW4gdGhlIHNhbWUgcG9zaXRpb24gYXMgdGhlIGhpZGRlbiBmaWd1cmUgaW4gQWJiaWUmIzM5O3MgZHJhd2luZ3MuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7cCZndDtNci4gQXNodG9uJiMzOTtzIGhhbmQgc3RvcHBlZCBoYWxmd2F5IHRvd2FyZCB0aGUgcGhvdG9ncmFwaC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0FzayB3aGV0aGVyIE1yLiBBc2h0b24gcmVjb2duaXplcyB0aGUgcmluZy0mZ3Q7RXBpc29kZVRocmVlQXNrQXNodG9uXV1bW1N0dWR5IHdoYXQgQ2Fyb2xpbmUgaXMgaG9sZGluZyBpbiB0aGUgcGhvdG9ncmFwaC0mZ3Q7RXBpc29kZVRocmVlUGhvdG9PYmplY3RdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzk3IiBuYW1lPSJFcGlzb2RlVGhyZWVSZWdpc3RyeUV2aWRlbmNlIiB0YWdzPSJlcGlzb2RlMyBvcGVuaW5nIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI3MDgwLDIyNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuICRjYXJvbGluZUV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7Q2Fyb2xpbmUgd2FzIHJlbW92ZWQgZnJvbSBhIGNvdmVuIGJ1dCByZW1haW5lZCBpbiBCcmVja2VucmlkZ2UmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtLaW1teSByZWFkIHRoZSByZWdpc3RyeSBzdGF0ZW1lbnQgYWxvdWQ6Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDtSRU1PVkVEIEZST00gVEhFIENPVkVOLiZsdDticiZndDtOT1QgUkVNT1ZFRCBGUk9NIEJSRUNLRU5SSURHRS4mbHQ7L2RpdiZndDsmbHQ7cCZndDtNci4gQXNodG9uIGNsb3NlZCBoaXMgZXllcyBicmllZmx5LiZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtDb3ZlbiBpcyBub3QgdGhlIHdvcmQgcGVvcGxlIGluIHRvd24gdXNlZCwmcXVvdDsgaGUgc2FpZC4gJnF1b3Q7VGhleSBjYWxsZWQgdGhlbSB0aGUgQXNjaGVyZG93biBzaXN0ZXJzLiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDtSeWFuIGFkanVzdGVkIGhpcyBoZWxtZXQuICZxdW90O1RoYXQgc291bmRzIGxlc3MgYWxhcm1pbmcgYW5kIGlzIHRoZXJlZm9yZSBwcm9iYWJseSBtb3JlIGFsYXJtaW5nLiZxdW90OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQXNrIGhvdyBtYW55IHNpc3RlcnMgdGhlcmUgd2VyZS0mZ3Q7RXBpc29kZVRocmVlQXNrQXNodG9uXV1bW0FzayB3aG8gYWx0ZXJlZCB0aGUgcmVnaXN0cnktJmd0O0VwaXNvZGVUaHJlZVJlY29yZEtlZXBlcl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSIzOTgiIG5hbWU9IkVwaXNvZGVUaHJlZUNvbXBhcmVQaG90byIgdGFncz0iZXBpc29kZTMgb3BlbmluZyBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNjUwMCwyMzg1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtLZXZpbiBhbGlnbmVkIHRoZSBib29rIGlsbHVzdHJhdGlvbiB3aXRoIHRoZSB1cHN0YWlycyBwaG90b2dyYXBoLiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtcDEgc3RhbmRhcmQgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7dGhyZWVfc2lzdGVyc19waG90byZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX3RocmVlX3Npc3RlcnNfcGhvdG8ucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7cCZndDtUaGUgY2F0JiMzOTtzIHRocmVlIGhhbmdpbmcgc3RvbmVzIG1hdGNoZWQgdGhyZWUgcG9zaXRpb25zIGluIHRoZSBpbWFnZTogb25lIG5lYXIgQ2Fyb2xpbmUsIG9uZSBuZWFyIGEgZ2lybCBhdCB0aGUgd2luZG93LCBhbmQgb25lIGJlc2lkZSBhIGZpZ3VyZSByZWZsZWN0ZWQgaW4gdGhlIGdsYXNzLiZsdDsvcCZndDsmbHQ7cCZndDtTY29vdCYjMzk7cyBub3RlYm9vayB3cm90ZSBhIHNpbmdsZSBsaW5lOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7VEhSRUUgU0lTVEVSUy4gVEhSRUUgUklOR1MuIE9ORSBSRVRVUk5FRCBGSVJTVC4mbHQ7L2RpdiZndDsmbHQ7Jmx0O3NldCAkcmluZ1RoZW9yeSA9ICZxdW90O1RoZSB0aHJlZSByaW5ncyBpZGVudGlmeSB0aHJlZSBBc2NoZXJkb3duIHNpc3RlcnMmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBc2sgTXIuIEFzaHRvbiB0byBuYW1lIHRoZSBzaXN0ZXJzLSZndDtFcGlzb2RlVGhyZWVBc2tBc2h0b25dXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iMzk5IiBuYW1lPSJFcGlzb2RlVGhyZWVQaG90b09iamVjdCIgdGFncz0iZXBpc29kZTMgb3BlbmluZyBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNjY0NSwyMzg1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtDYXJvbGluZSBoZWxkIHNvbWV0aGluZyBzbWFsbCBpbiBoZXIgZnJlZSBoYW5kLiBLZXZpbiBmaXJzdCBtaXN0b29rIGl0IGZvciBhIGtleS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgdXNlZCB0aGUgbWFnbmlmeWluZyBnbGFzcyBmcm9tIGhlciByZXBvcnRlciYjMzk7cyBjYXNlLiBUaGUgb2JqZWN0IGhhZCBhIHNxdWFyZSBiYXNlLCBhIG5hcnJvdyBib2R5LCBhbmQgb25lIHJhaXNlZCBhcm0uJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O0EgdG95IHNvbGRpZXIsJnF1b3Q7IE1yLiBBc2h0b24gc2FpZCBiZWZvcmUgS2ltbXkgY291bGQuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjEgc3RhbmRhcmQgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7dGluX3NvbGRpZXImcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF90aW5fc29sZGllci5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtwJmd0O1RoZSBhbnN3ZXIgY2FtZSB0b28gcXVpY2tseS4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGFzaHRvblBhc3RSZXZlYWxlZCA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRjYXJvbGluZUV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7TXIuIEFzaHRvbiByZWNvZ25pemVkIENhcm9saW5lJiMzOTtzIHRpbiBzb2xkaWVyJnF1b3Q7KSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLXRocmVlLWV2aWRlbmNlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7UGVyc29uYWwgY29ubmVjdGlvbjombHQ7L3N0cm9uZyZndDsgTXIuIEFzaHRvbiByZWNvZ25pemVzIGFuIG9iamVjdCBDYXJvbGluZSBjYXJyaWVkIGJlZm9yZSB0aGUgZGlzYXBwZWFyYW5jZXMuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0FzayB3aHkgdGhlIHNvbGRpZXIgbWF0dGVycy0mZ3Q7RXBpc29kZVRocmVlQXNodG9uTWVtb3J5XV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQwMCIgbmFtZT0iRXBpc29kZVRocmVlUmVjb3JkS2VlcGVyIiB0YWdzPSJlcGlzb2RlMyBvcGVuaW5nIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI2NzkwLDIzODUiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0O0tpbW15IGNvbXBhcmVkIHRoZSByZWQgcmVnaXN0cnkgY29ycmVjdGlvbiB3aXRoIHRoZSBicm9rZW4gUiBmb3VuZCBhY3Jvc3MgdGhlIGFyY2hpdmVzLiZsdDsvcCZndDsmbHQ7Jmx0O2lmICRraW1teU9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBwcmVzc3VyZSBhbmQgYW5nbGUgbWF0Y2hlZCwgYnV0IHRoZSByZWQgY29ycmVjdGlvbiBoYWQgYmVlbiBhZGRlZCBsYXRlciBhbmQgYnkgYSBkaWZmZXJlbnQgaGFuZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7U29tZW9uZSBwcmVzZXJ2ZWQgdGhlaXIgbmFtZXMsJnF1b3Q7IEtpbW15IHNhaWQuICZxdW90O1NvbWVvbmUgZWxzZSBzZXBhcmF0ZWQgQ2Fyb2xpbmUgZnJvbSB0aGVtLiZxdW90OyZsdDsvcCZndDsmbHQ7Jmx0O3J1biAkY2Fyb2xpbmVFdmlkZW5jZS5wdXNoVW5pcXVlKCZxdW90O1R3byBkaWZmZXJlbnQgcmVjb3JkIGtlZXBlcnMgYWx0ZXJlZCB0aGUgQXNjaGVyZG93biBoaXN0b3J5JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtUaGUgaGFuZHdyaXRpbmcgd2FzIHRvbyBkYW1hZ2VkIHRvIGlkZW50aWZ5LCBidXQgdHdvIHNoYWRlcyBvZiBpbmsgc2hvd2VkIHRoYXQgdGhlIHNlbnRlbmNlIGhhZCBiZWVuIGNoYW5nZWQgdHdpY2UuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQXNrIE1yLiBBc2h0b24gd2hvIHdvdWxkIHNlcGFyYXRlIENhcm9saW5lLSZndDtFcGlzb2RlVGhyZWVBc2tBc2h0b25dXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDAxIiBuYW1lPSJFcGlzb2RlVGhyZWVBc2tBc2h0b24iIHRhZ3M9ImVwaXNvZGUzIG9wZW5pbmcgYmctY2xhc3Nyb29tIiBwb3NpdGlvbj0iNjkzNSwyMzg1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcG92ID0gJnF1b3Q7TXIuIEFzaHRvbiZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7TXIuIEFzaHRvbiBzYXQgZG93biBzbG93bHkuJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O1RoZXJlIHdlcmUgdGhyZWUgQXNjaGVyZG93biBzaXN0ZXJzLCZxdW90OyBoZSBzYWlkLiAmcXVvdDtDb3JhLCBDYXJhLCBhbmQgQ2Fyb2xpbmUuIEVhY2ggd29yZSBhIHJpbmcuIFB1cnBsZS4gR3JlZW4uIFJlZC4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGtpdGNoZW4gc2VlbWVkIHRvIGNvbnRyYWN0IGFyb3VuZCB0aGUgbmFtZXMuJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O1RoZXkgZGlzYXBwZWFyZWQgd2hlbiBJIHdhcyB2ZXJ5IHlvdW5nLCZxdW90OyBoZSBjb250aW51ZWQuICZxdW90O0JyZWNrZW5yaWRnZSBkZWNpZGVkIHRoZXkgaGFkIGxlZnQuIEJyZWNrZW5yaWRnZSBpcyB2ZXJ5IGdvb2QgYXQgZGVjaWRpbmcgdGhhdCBtaXNzaW5nIHBlb3BsZSBsZWZ0IG9uIHB1cnBvc2UuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDsmbHQ7aWYgJGFzaHRvblRydXN0ICZndDs9IDIgb3IgJGFzaHRvblBhc3RSZXZlYWxlZCZndDsmZ3Q7Jmx0O3AmZ3Q7SGUgbG9va2VkIGRpcmVjdGx5IGF0IHRoZSB0b3kgc29sZGllciBpbiB0aGUgcGhvdG9ncmFwaC4gJnF1b3Q7Q2Fyb2xpbmUgZGlkIG5vdCBsZWF2ZSBldmVyeXRoaW5nIGJlaGluZC4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGFzaHRvblBhc3RSZXZlYWxlZCA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FzY2hlcmRvd24tcmluZ3MmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXJwbGUmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7Q29yYSZsdDsvYiZndDsmbHQ7c3BhbiZndDtQdXJwbGUgcmluZyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2dyZWVuJnF1b3Q7Jmd0OyZsdDtiJmd0O0NhcmEmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7R3JlZW4gcmluZyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3JlZCZxdW90OyZndDsmbHQ7YiZndDtDYXJvbGluZSZsdDsvYiZndDsmbHQ7c3BhbiZndDtSZWQgcmluZyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hhdCBzaG91bGQgdGhlIGdyb3VwIGFzayBuZXh0PyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tXaHkgZG8gdGhlIHNpc3RlcnMgYXBwZWFyIGF0IHRoZSBzY2hvb2wgYW5kIGxpYnJhcnk/LSZndDtFcGlzb2RlVGhyZWVMb2NhdGlvbnNdXVtbV2hhdCBkaWQgQ2Fyb2xpbmUgbGVhdmUgYmVoaW5kPy0mZ3Q7RXBpc29kZVRocmVlQXNodG9uTWVtb3J5XV1bW1doaWNoIHNpc3RlciBpcyB0cnlpbmcgdG8gcmV0dXJuPy0mZ3Q7RXBpc29kZVRocmVlUmV0dXJuVGhlb3J5XV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQwMiIgbmFtZT0iRXBpc29kZVRocmVlQXNodG9uTWVtb3J5IiB0YWdzPSJlcGlzb2RlMyBvcGVuaW5nIGJnLWNsYXNzcm9vbSIgcG9zaXRpb249IjcwODAsMjM4NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGFzaHRvblBhc3RSZXZlYWxlZCA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRjYXJvbGluZUV2aWRlbmNlLnB1c2hVbmlxdWUoJnF1b3Q7Q2Fyb2xpbmUgbGVmdCBNci4gQXNodG9uIGEgdGluIHNvbGRpZXImcXVvdDspJmd0OyZndDsmbHQ7cCZndDtNci4gQXNodG9uIHJlYWNoZWQgaW50byB0aGUgaW5uZXIgcG9ja2V0IG9mIGhpcyBjb2F0IGFuZCByZW1vdmVkIGEgc21hbGwgdGluIHNvbGRpZXIuJmx0Oy9wJmd0OyZsdDtwJmd0O09uZSBhcm0gaGFkIGJlZW4gYmVudCB1cHdhcmQuIEl0cyBwYWludCB3YXMgbmVhcmx5IGdvbmUuJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O1RoaXMgYXBwZWFyZWQgb24gbXkgZG9vcnN0ZXAgdGhlIG1vcm5pbmcgQ2Fyb2xpbmUgdmFuaXNoZWQsJnF1b3Q7IGhlIHNhaWQuICZxdW90O0kgd2FzIHRvbGQgbmV2ZXIgdG8gc3BlYWsgaGVyIG5hbWUgYWdhaW4uJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O0tldmluIGxvb2tlZCBmcm9tIHRoZSBzb2xkaWVyIHRvIENhcm9saW5lJiMzOTtzIGltYWdlLiZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtCdXQgeW91IGtlcHQgaXQuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O1NvbWUgd2FybmluZ3MgYXJlIGFsc28gcHJvbWlzZXMsJnF1b3Q7IE1yLiBBc2h0b24gc2FpZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLXRocmVlLWV2aWRlbmNlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7TXIuIEFzaHRvbiYjMzk7cyBzZWNyZXQ6Jmx0Oy9zdHJvbmcmZ3Q7IENhcm9saW5lIGtuZXcgTXIuIEFzaHRvbiBhcyBhIGNoaWxkIGFuZCBkZWxpYmVyYXRlbHkgbGVmdCB0aGUgc29sZGllciBmb3IgaGltLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tEZXRlcm1pbmUgd2hlcmUgdGhlIHJpbmdzIGhhdmUgYXBwZWFyZWQtJmd0O0VwaXNvZGVUaHJlZUxvY2F0aW9uc11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MDMiIG5hbWU9IkVwaXNvZGVUaHJlZUxvY2F0aW9ucyIgdGFncz0iZXBpc29kZTMgb3BlbmluZyBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNjUwMCwyNTIwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcG92ID0gJnF1b3Q7S2ltbXkmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O0tpbW15IGRpdmlkZWQgYSBwYWdlIGludG8gdGhyZWUgY29sdW1ucy4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyaW5nLWxvY2F0aW9uLWJvYXJkJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHVycGxlJnF1b3Q7Jmd0OyZsdDtiJmd0O1B1cnBsZSZsdDsvYiZndDsmbHQ7c3BhbiZndDtPbGQgbGlicmFyaWFuJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDtUb3duIGxpYnJhcnkmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Z3JlZW4mcXVvdDsmZ3Q7Jmx0O2ImZ3Q7R3JlZW4mbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7U2Nob29sIHNlY3JldGFyeSZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7TWlkZGxlIHNjaG9vbCBvZmZpY2UmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVkJnF1b3Q7Jmd0OyZsdDtiJmd0O1JlZCZsdDsvYiZndDsmbHQ7c3BhbiZndDtDYXJvbGluZSZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7V2luY2hlc3RlciBob3VzZSBhbmQgb2FrIGJvdW5kYXJ5Jmx0Oy9zbWFsbCZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDsmcXVvdDtUaHJlZSByaW5ncywgdGhyZWUgbG9jYXRpb25zLCZxdW90OyBLaW1teSBzYWlkLiAmcXVvdDtMaWJyYXJ5LiBTY2hvb2wuIEhvdXNlLiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDtTY29vdCBvcGVuZWQgdGhlIG5vdGVib29rLiBUaGUgZWFybGllciByb3V0ZSByZXR1cm5lZCBiZW5lYXRoIHRoZSBuZXcgbGlzdDombHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0O0hPVVNFLiBUUkVFLiBTQ0hPT0wuJmx0O2JyJmd0O1RIRSBMSUJSQVJZIEtFRVBTIFdIQVQgVEhFIFRSRUUgRk9SR0VUUy4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQ2hvb3NlIHRoZSBuZXh0IGxlYWQtJmd0O0VwaXNvZGVUaHJlZUxlYWRDaG9pY2VdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDA0IiBuYW1lPSJFcGlzb2RlVGhyZWVSZXR1cm5UaGVvcnkiIHRhZ3M9ImVwaXNvZGUzIG9wZW5pbmcgYmctc2Nob29saGFsbCIgcG9zaXRpb249IjY2NDUsMjUyMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7JnF1b3Q7Q2Fyb2xpbmUgcmV0dXJuZWQgZmlyc3QsJnF1b3Q7IFNjb290IHNhaWQuICZxdW90O1RoZSBub3RlYm9vayBhbHJlYWR5IHRvbGQgdXMgdGhhdCBtdWNoLiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDtNci4gQXNodG9uIHN0dWRpZWQgdGhlIGdyZWVuIGFuZCBwdXJwbGUgbWFya3MgaW4gdGhlIGNhdCBib29rLiZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtUaGVuIHRoZSBzY2hvb2wgc2VjcmV0YXJ5IGFuZCBsaWJyYXJpYW4gbWF5IG5vdCBiZSBkaXNndWlzZXMsJnF1b3Q7IGhlIHNhaWQuICZxdW90O1RoZXkgbWF5IGJlIGRvb3JzIHdlYXJpbmcgcGVvcGxlLiZxdW90OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtdGhyZWUtZXZpZGVuY2UmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtXb3JraW5nIHRoZW9yeTombHQ7L3N0cm9uZyZndDsgQ2Fyb2xpbmUgaXMgYWN0aXZlIHRocm91Z2ggdGhlIHJlZCByaW5nLCB3aGlsZSBDb3JhIGFuZCBDYXJhIG1heSBiZSBhbmNob3JlZCBhdCB0aGUgc2Nob29sIGFuZCBsaWJyYXJ5LiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tNYXAgYWxsIHRocmVlIHJpbmcgbG9jYXRpb25zLSZndDtFcGlzb2RlVGhyZWVMb2NhdGlvbnNdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDA1IiBuYW1lPSJFcGlzb2RlVGhyZWVMZWFkQ2hvaWNlIiB0YWdzPSJlcGlzb2RlMyBvcGVuaW5nIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSI2NzkwLDI1MjAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDaG9vc2Ugd2hpY2ggQXNjaGVyZG93biByaW5nIHRvIGludmVzdGlnYXRlIGZpcnN0JnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtdGhyZWUtaHViJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aHViLWhlYWRlciZxdW90OyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIFRocmVlIEludmVzdGlnYXRpb24gSHViJmx0Oy9zcGFuJmd0OyZsdDtoMiZndDtGb2xsb3cgT25lIFJpbmcmbHQ7L2gyJmd0OyZsdDtwJmd0O0VhY2ggbGVhZCBtYXkgcmV2ZWFsIGEgZGlmZmVyZW50IHNpc3RlciBhbmQgY2hhbmdlIHdoaWNoIHdhcm5pbmcgcmVhY2hlcyB0aGUgZ3JvdXAgZmlyc3QuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7bGVhZC1jYXJkcyZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2xlYWQgcHVycGxlJnF1b3Q7Jmd0OyZsdDtoMyZndDtQdXJwbGUgUmluZyZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7UmV0dXJuIHRvIHRoZSB0b3duIGxpYnJhcnkgYW5kIHF1ZXN0aW9uIHRoZSBvbGQgbGlicmFyaWFuLiZsdDsvcCZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q2hvb3NlIHRoZSBsaWJyYXJ5IGxlYWQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRlcGlzb2RlVGhyZWVMZWFkID0gJnF1b3Q7bGlicmFyeSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0VwaXNvZGVUaHJlZUxpYnJhcnlMZWFkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2xlYWQgZ3JlZW4mcXVvdDsmZ3Q7Jmx0O2gzJmd0O0dyZWVuIFJpbmcmbHQ7L2gzJmd0OyZsdDtwJmd0O0ludmVzdGlnYXRlIHRoZSBzY2hvb2wgc2VjcmV0YXJ5IHdobyBzZW50IFJ5YW4gdG8gdGhlIHByaW5jaXBhbCYjMzk7cyBvZmZpY2UuJmx0Oy9wJmd0OyZsdDsmbHQ7bGluayAmcXVvdDtDaG9vc2UgdGhlIHNjaG9vbCBsZWFkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkZXBpc29kZVRocmVlTGVhZCA9ICZxdW90O3NjaG9vbCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0VwaXNvZGVUaHJlZVNjaG9vbExlYWQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7bGVhZCByZWQmcXVvdDsmZ3Q7Jmx0O2gzJmd0O1JlZCBSaW5nJmx0Oy9oMyZndDsmbHQ7cCZndDtUcmFjZSBDYXJvbGluZSB0aHJvdWdoIHRoZSBjYXQgYm9vayBhbmQgb2FrLXRyZWUgYm91bmRhcnkuJmx0Oy9wJmd0OyZsdDsmbHQ7bGluayAmcXVvdDtDaG9vc2UgQ2Fyb2xpbmUmIzM5O3MgdHJhaWwmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRlcGlzb2RlVGhyZWVMZWFkID0gJnF1b3Q7Y2Fyb2xpbmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtFcGlzb2RlVGhyZWVDYXJvbGluZUxlYWQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDA2IiBuYW1lPSJFcGlzb2RlVGhyZWVMaWJyYXJ5TGVhZCIgdGFncz0iZXBpc29kZTMgb3BlbmluZyBiZy1saWJyYXJ5IiBwb3NpdGlvbj0iNjkzNSwyNTIwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZXBpc29kZVRocmVlTGVhZCA9ICZxdW90O2xpYnJhcnkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gMTImZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRwb3YgPSAmcXVvdDtLZXZpbiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIFRvd24gTGlicmFyeSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0ZpbmQgdGhlIHB1cnBsZS1yaW5nIGxpYnJhcmlhbiBhbmQgbGVhcm4gd2hhdCBDb3JhIHJlbWVtYmVycyZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQgcHVycGxlLWNoYXB0ZXImcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0VwaXNvZGUgVGhyZWU6IFB1cnBsZSBSaW5nJmx0Oy9kaXYmZ3Q7Jmx0O2gxIGNsYXNzPSZxdW90O3Bvdi1uYW1lJnF1b3Q7Jmd0O1RoZSBMaWJyYXJpYW4gV2hvIFJlbWVtYmVycyBUb21vcnJvdyZsdDsvaDEmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0O0EgY2hlY2tvdXQgY2FyZCBwcmVkaWN0cyBLZXZpbiYjMzk7cyByZXR1cm4mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDtUaGUgY2hlY2tvdXQgY2FyZCBmcm9tIHRoZSBjYXQgYm9vayBjYXJyaWVkIHRvbW9ycm93JiMzOTtzIGRhdGUsIEtldmluJiMzOTtzIG5hbWUsIGFuZCBhIHRpdGxlIHRoYXQgZGlkIG5vdCBleGlzdCBpbiB0aGUgbGlicmFyeSBjYXRhbG9nOiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCByaWdodCB0aWx0LW4xIHN0YW5kYXJkIGJhdGNoMiB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtmaXJzdF9saWJyYXJ5X3JlY29yZCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2ZpcnN0X2xpYnJhcnlfcmVjb3JkLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggcmlnaHQgdGlsdC1uMSBzdGFuZGFyZCB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtsaWJyYXJ5X2NoZWNrb3V0JnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfbGlicmFyeV9jaGVja291dC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7bGlicmFyeS1jYXJkLWNsdWUmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7Qm9ycm93ZXImbHQ7L3NwYW4mZ3Q7Jmx0O2ImZ3Q7S0VWSU4gV0lOQ0hFU1RFUiZsdDsvYiZndDsmbHQ7c3BhbiZndDtUaXRsZSZsdDsvc3BhbiZndDsmbHQ7YiZndDtUSEUgQk9PSyBPRiBST09NUyBUSEFUIEZPUkdPVCBUSEVJUiBET09SUyZsdDsvYiZndDsmbHQ7c3BhbiZndDtEdWUmbHQ7L3NwYW4mZ3Q7Jmx0O2ImZ3Q7VE9EQVksIDk6MTQgUC5NLiZsdDsvYiZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDtNci4gQXNodG9uIHN0b3BwZWQgb3V0c2lkZSB0aGUgbGlicmFyeS4gJnF1b3Q7SWYgdGhlIHB1cnBsZSByaW5nIGJlbG9uZ3MgdG8gQ29yYSwgZG8gbm90IGFzc3VtZSB0aGUgbGlicmFyaWFuIGlzIG9ubHkgcHJldGVuZGluZyB0byBiZSBvbGQuIFRpbWUgbWF5IGJlIG1vdmluZyBhcm91bmQgaGVyIGRpZmZlcmVudGx5LiZxdW90OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRW50ZXIgdGhyb3VnaCB0aGUgbWFpbiByZWFkaW5nIHJvb20tJmd0O1B1cnBsZVJlYWRpbmdSb29tXV1bW1VzZSB0aGUgYXJjaGl2ZSBlbnRyYW5jZSBLaW1teSBkaXNjb3ZlcmVkIGVhcmxpZXItJmd0O1B1cnBsZUFyY2hpdmVFbnRyYW5jZV1dW1tBc2sgS2V2aW4mIzM5O3Mgd2F0Y2ggdG8gaWRlbnRpZnkgdGhlIHNhZmVzdCBkb29yd2F5LSZndDtQdXJwbGVXYXRjaERvb3JdXSZsdDsvZGl2Jmd0OwoKLyogVjQuMyBib3VuZGFyeSBjaGVja3BvaW50IGNoYXB0ZXIgMTIgKi8KJmx0OyZsdDtydW4gc2V0dXAudjQzQ2FwdHVyZUJvdW5kYXJ5KDEyLCAmcXVvdDtFcGlzb2RlVGhyZWVMaWJyYXJ5TGVhZCZxdW90OywgMykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC52NDRDYXB0dXJlQ2hhcHRlcigxMiwgJnF1b3Q7RXBpc29kZVRocmVlTGlicmFyeUxlYWQmcXVvdDssIDMpJmd0OyZndDsKCiZsdDshLS0gQnVpbGQgNS4xNCBhdG1vc3BoZXJpYyBoYXVudGluZyAtLSZndDsKJmx0OyZsdDtzZXQgX2hhdW50aW5nQXRtb3NwaGVyZSA9IHNldHVwLnJvbGxBdG1vc3BoZXJpY0hhdW50aW5nKCZxdW90O2xpYnJhcnkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9oYXVudGluZ0F0bW9zcGhlcmUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctYXRtb3NwaGVyZSZxdW90OyByb2xlPSZxdW90O3N0YXR1cyZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtoYXVudGluZy1tYXJrJnF1b3Q7IGFyaWEtaGlkZGVuPSZxdW90O3RydWUmcXVvdDsmZ3Q7ISZsdDsvc3BhbiZndDsmbHQ7cCZndDsmbHQ7Jmx0Oz0gX2hhdW50aW5nQXRtb3NwaGVyZSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKCiZsdDshLS0gQnVpbGQgNS4xNiBMb3N0IE1pbnV0ZSB0cmlnZ2VyIC0tJmd0OwombHQ7Jmx0O3NldCBfbG9zdE1pbnV0ZVJvbGxlZCA9IHNldHVwLnJvbGxMb3N0TWludXRlKCZxdW90O0VwaXNvZGVUaHJlZUxpYnJhcnlMZWFkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfbG9zdE1pbnV0ZVJvbGxlZCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtsb3N0LW1pbnV0ZS10cmlnZ2VyJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2xvc3QtbWludXRlLXRpbWUmcXVvdDsmZ3Q7OToxNCZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7RXZlcnkgc291bmQgaW4gdGhlIHJvb20gc3RvcHMuJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7VGhlIHNlY29uZCBoYW5kIGZyZWV6ZXMuIEJleW9uZCB0aGUgbmVhcmVzdCBkb29yd2F5LCB0aGUgdG93biBpcyBlbXB0eSBhbmQgY29sb3JsZXNzLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbU3RlcCBpbnRvIHRoZSBzaWxlbnQgbWludXRlLSZndDtMb3N0TWludXRlQXJyaXZhbF1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwoKJmx0OyEtLSBCdWlsZCA1LjIwIGFmdGVyZWZmZWN0IGVjaG8gLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9hZnRlcmVmZmVjdEVjaG89c2V0dXAucm9sbEFmdGVyZWZmZWN0RWNobygmcXVvdDtsaWJyYXJ5JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfYWZ0ZXJlZmZlY3RFY2hvJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FmdGVyZWZmZWN0LWVjaG8mcXVvdDsgcm9sZT0mcXVvdDtzdGF0dXMmcXVvdDsmZ3Q7Jmx0O3NwYW4gYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDvihrsmbHQ7L3NwYW4mZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDs9IF9hZnRlcmVmZmVjdEVjaG8mZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7IS0tIEJ1aWxkIDUuMjMgbWlzc2luZyBhcmNoaXZlIHRyaWdnZXIgLS0mZ3Q7CiZsdDsmbHQ7c2V0IF9taXNzaW5nQXJjaGl2ZT1zZXR1cC5yb2xsTWlzc2luZ0FyY2hpdmUoJnF1b3Q7RXBpc29kZVRocmVlTGlicmFyeUxlYWQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9taXNzaW5nQXJjaGl2ZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDttaXNzaW5nLWFyY2hpdmUtdHJpZ2dlciZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0Egc3RyYW5kIG9mIGdyZWVuIHRocmVhZCBkaXNhcHBlYXJzIGJldHdlZW4gdHdvIGFyY2hpdmUgc2hlbHZlcy4mbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtUaGUgc2hlbGYgbGFiZWxzIHNraXAgYSBudW1iZXIuIEJlaGluZCB0aGUgZ2FwIGlzIGEgcm9vbSBhYnNlbnQgZnJvbSBldmVyeSBsaWJyYXJ5IHBsYW4uJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tGb2xsb3cgdGhlIHRocmVhZCBpbnRvIHRoZSBtaXNzaW5nIGFyY2hpdmUtJmd0O01pc3NpbmdBcmNoaXZlQXJyaXZhbF1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQwNyIgbmFtZT0iRXBpc29kZVRocmVlU2Nob29sTGVhZCIgdGFncz0iZXBpc29kZTMgb3BlbmluZyBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNzA4MCwyNTIwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtSeWFuIGRlc2NyaWJlZCB0aGUgc2VjcmV0YXJ5JiMzOTtzIGdyZWVuIHJpbmcuIFRoZSBjbGFzc3Jvb20gd2FsbCBhbnN3ZXJlZCB3aXRoIHRocmVlIGtub2NrcywgdGhlbiBvbmUuJmx0Oy9wJmd0OyZsdDtwJmd0O01yLiBBc2h0b24gdHJhbnNsYXRlZCB0aGUgcGF0dGVybjogJnF1b3Q7VGhpcmQgZmxvb3IuIEZpcnN0IGRvb3IuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtFcGlzb2RlIFRocmVlIExlYWQgU2VsZWN0ZWQmbHQ7L2RpdiZndDsmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7VGhlIE9mZmljZSBUaGF0IFdhc24mIzM5O3QgVGhlcmUgWWVzdGVyZGF5Jmx0Oy9oMSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7VGhlIGdyZWVuIHJpbmcgcG9pbnRzIHRvIGEgcm9vbSBtaXNzaW5nIGZyb20gdGhlIHNjaG9vbCBtYXAuJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW09wZW4gdGhlIGN1cnJlbnQgY2FzZSBmaWxlLSZndDtDYXNlUmVzdWx0c11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MDgiIG5hbWU9IkVwaXNvZGVUaHJlZUNhcm9saW5lTGVhZCIgdGFncz0iZXBpc29kZTMgb3BlbmluZyBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iNjUwMCwyNjU1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtBYmJpZSYjMzk7cyBjYXQgYm9vayBzbmFwcGVkIHNodXQuIFJlZCBsaWdodCBsZWFrZWQgZnJvbSB0aGUgcGFnZSBlZGdlcy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7T24gdGhlIGNvdmVyLCB0aGUgcGFpbnRlZCBjYXQgbm93IGZhY2VkIHRoZSBvbGQgb2FrIHRyZWUuIEJlbmVhdGggaXRzIHBhd3MgYXBwZWFyZWQgb25lIHNlbnRlbmNlOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7Q0FST0xJTkUgTEVGVCBTT01FVEhJTkcgVU5ERVIgVEhFIEZJUlNUIFJPT1QuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0VwaXNvZGUgVGhyZWUgTGVhZCBTZWxlY3RlZCZsdDsvZGl2Jmd0OyZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtXaGF0IENhcm9saW5lIEJ1cmllZCZsdDsvaDEmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0O1RoZSByZWQtcmluZyB0cmFpbCByZXR1cm5zIHRvIHRoZSBmaXJzdCBib3VuZGFyeS4mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbT3BlbiB0aGUgY3VycmVudCBjYXNlIGZpbGUtJmd0O0Nhc2VSZXN1bHRzXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQwOSIgbmFtZT0iUHVycGxlUmVhZGluZ1Jvb20iIHRhZ3M9ImVwaXNvZGUzIHB1cnBsZSByaW5nIGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI3NDQwLDIzNTAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0O1RoZSBtYWluIHJlYWRpbmcgcm9vbSB3YXMgb3BlbiwgYnV0IGV2ZXJ5IGNoYWlyIGZhY2VkIHRoZSBjaXJjdWxhdGlvbiBkZXNrLiBObyBvbmUgb2NjdXBpZWQgdGhlbS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGFuY2llbnQgdHlwZXdyaXRlciBiZWdhbiBzdHJpa2luZyBrZXlzIGJ5IGl0c2VsZi4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt0eXBld3JpdGVyLW1lc3NhZ2UmcXVvdDsmZ3Q7SyBFIFYgSSBOICZhbXA7bmJzcDsgSSBTICZhbXA7bmJzcDsgTCBBIFQgRSZsdDsvZGl2Jmd0OyZsdDtwJmd0O0JlaGluZCB0aGUgZGVzaywgYSBzaWx2ZXIgcmluZyB3aXRoIGEgcHVycGxlIHN0b25lIHJlc3RlZCBvbiBhbiBvcGVuIGxpYnJhcnkgY2FyZCBkcmF3ZXIuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tJbnNwZWN0IHRoZSBzZWxmLXR5cGluZyBjYXJkLSZndDtQdXJwbGVUeXBpbmdDYXJkXV1bW1NlYXJjaCBiZWhpbmQgdGhlIGNpcmN1bGF0aW9uIGRlc2stJmd0O1B1cnBsZURlc2tTZWFyY2hdXVtbRm9sbG93IG1vdmVtZW50IGJldHdlZW4gdGhlIHNoZWx2ZXMtJmd0O1B1cnBsZU1vdmluZ1NoZWx2ZXNdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDEwIiBuYW1lPSJQdXJwbGVBcmNoaXZlRW50cmFuY2UiIHRhZ3M9ImVwaXNvZGUzIHB1cnBsZSByaW5nIGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI3NTgwLDIzNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRwdXJwbGVSb29tc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHB1cnBsZUNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QXJjaGl2ZSBlbnRyYW5jZSBvcGVucyB3aXRoIHZlcmlmaWVkIGV2aWRlbmNlJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgbGVkIHRoZSBncm91cCB0byBhIG5hcnJvdyBwZXJzb25uZWwgZG9vciBiZXNpZGUgdGhlIGFyY2hpdmVzLiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtcDEgc3RhbmRhcmQgYmF0Y2gyIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O3ByZXNzZWRfZmxvd2VyJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfcHJlc3NlZF9mbG93ZXIucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7cCZndDtUaGUgbG9jayBoYWQgbm8ga2V5aG9sZS4gSW5zdGVhZCwgdGhyZWUgc3RhdGVtZW50cyBhcHBlYXJlZCBvbiBpdHMgYnJhc3MgcGxhdGU6Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7dHJ1dGgtbG9jayZxdW90OyZndDsmbHQ7c3BhbiZndDtUaGUgbGlicmFyaWFuIGtuZXcgS2V2aW4mIzM5O3MgbmFtZS4mbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4mZ3Q7VGhlIHB1cnBsZSByaW5nIGJlbG9uZ3MgdG8gQ2Fyb2xpbmUuJmx0Oy9zcGFuJmd0OyZsdDtzcGFuJmd0O1RoZSBjaGVja291dCBjYXJkIGlzIGRhdGVkIHRvbW9ycm93LiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDsmcXVvdDtPbmUgc3RhdGVtZW50IGlzIGZhbHNlLCZxdW90OyBLaW1teSBzYWlkLiAmcXVvdDtXZSByZW1vdmUgaXQuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZWplY3QgdGhlIGNsYWltIHRoYXQgdGhlIHB1cnBsZSByaW5nIGJlbG9uZ3MgdG8gQ2Fyb2xpbmUtJmd0O1B1cnBsZUFyY2hpdmVDb3JyZWN0XV1bW1JlamVjdCB0aGUgY2xhaW0gdGhhdCB0aGUgbGlicmFyaWFuIGtuZXcgS2V2aW4mIzM5O3MgbmFtZS0mZ3Q7UHVycGxlQXJjaGl2ZVdyb25nXV1bW1JlamVjdCB0aGUgY2hlY2tvdXQtY2FyZCBkYXRlLSZndDtQdXJwbGVBcmNoaXZlV3JvbmddXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDExIiBuYW1lPSJQdXJwbGVBcmNoaXZlQ29ycmVjdCIgdGFncz0iZXBpc29kZTMgcHVycGxlIHJpbmcgYmctbGlicmFyeSIgcG9zaXRpb249Ijc3MjAsMjM1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UHVycGxlQXJjaGl2ZUNvcnJlY3Q6MTphZjM1NGM2ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UHVycGxlQXJjaGl2ZUNvcnJlY3Q6MTphZjM1NGM2ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRjb3JhVHJ1c3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtwJmd0O0tpbW15IHRvdWNoZWQgdGhlIGZhbHNlIHN0YXRlbWVudC4gSXQgZGFya2VuZWQgYW5kIHZhbmlzaGVkLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgcGVyc29ubmVsIGRvb3IgdW5sb2NrZWQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXJldmVhbCBzdWNjZXNzJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1pY29uJnF1b3Q7Jmd0O+KckyZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7VmVyaWZpZWQgZW50cnkmbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtUaGUgcHVycGxlIHJpbmcgYmVsb25ncyB0byBDb3JhLCBub3QgQ2Fyb2xpbmUuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tFbnRlciB0aGUgcmVzdHJpY3RlZCBzdGFja3MtJmd0O1B1cnBsZVJlc3RyaWN0ZWRTdGFja3NdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDEyIiBuYW1lPSJQdXJwbGVBcmNoaXZlV3JvbmciIHRhZ3M9ImVwaXNvZGUzIHB1cnBsZSByaW5nIGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI3ODYwLDIzNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRwdXJwbGVQdXp6bGVBdHRlbXB0cyArPSAxJmd0OyZndDsmbHQ7Jmx0O3NldCAkcHV6emxlTWlzdGFrZXMgKz0gMSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcmV2ZWFsIHJldHJ5JnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1pY29uJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O1RoZSBicmFzcyBwbGF0ZSByZWplY3RzIHRoZSBjb25jbHVzaW9uJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7VXNlIE1yLiBBc2h0b24mIzM5O3MgcmluZyBpZGVudGlmaWNhdGlvbjogcHVycGxlIGlzIGNvbm5lY3RlZCB0byBDb3JhLiZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmVjaGVjayB0aGUgdGhyZWUgc3RhdGVtZW50cy0mZ3Q7UHVycGxlQXJjaGl2ZUVudHJhbmNlXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQxMyIgbmFtZT0iUHVycGxlV2F0Y2hEb29yIiB0YWdzPSJlcGlzb2RlMyBwdXJwbGUgcmluZyBiZy1saWJyYXJ5IiBwb3NpdGlvbj0iODAwMCwyMzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcHVycGxlUm9vbXNDaGVja2VkICs9IDEmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIHJhaXNlZCBoaXMgd2F0Y2ggdG93YXJkIHRoZSBsaWJyYXJ5IGVudHJhbmNlLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgZGlzcGxheSBjeWNsZWQgdGhyb3VnaCB0aHJlZSB0aW1lczombHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt3YXRjaC1kaXNwbGF5JnF1b3Q7Jmd0Ozk6MTQmbHQ7YnImZ3Q7OToxNSZsdDticiZndDs5OjEzJmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7VGhlbiB0aGUgc2Vjb25kIGhhbmQgcG9pbnRlZCB0b3dhcmQgYSBuYXJyb3cgYWlzbGUgbWFya2VkICZsdDtzdHJvbmcmZ3Q7TE9DQUwgSElTVE9SWSZsdDsvc3Ryb25nJmd0Oy4mbHQ7L3AmZ3Q7Jmx0OyZsdDtpZiAka2V2aW5BYmlsaXR5IGlzICZxdW90O1BhdHRlcm5SZWNvZ25pdGlvbiZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7S2V2aW4gbm90aWNlZCB0aGUgc2VxdWVuY2Ugd2FzIG5vdCByYW5kb20uIFRoZSB3YXRjaCBzaG93ZWQgdGhlIG1pc3NpbmcgbWludXRlLCBvbmUgbWludXRlIGFmdGVyLCB0aGVuIG9uZSBtaW51dGUgYmVmb3JlLiBUaGUgc2FmZSBkb29yd2F5IHN0b29kIGJldHdlZW4gcmVtZW1iZXJlZCB0aW1lIGFuZCBhY3R1YWwgdGltZS4mbHQ7L3AmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tGb2xsb3cgdGhlIHdhdGNoIGludG8gTG9jYWwgSGlzdG9yeS0mZ3Q7UHVycGxlUmVzdHJpY3RlZFN0YWNrc11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MTQiIG5hbWU9IlB1cnBsZVR5cGluZ0NhcmQiIHRhZ3M9ImVwaXNvZGUzIHB1cnBsZSByaW5nIGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI3MzAwLDI0ODAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRwdXJwbGVSb29tc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHB1cnBsZUNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VHlwZXdyaXRlciBwcmVkaWN0cyBLZXZpbiYjMzk7cyBib3Jyb3dpbmcgcmVjb3JkJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIHR5cGV3cml0ZXIgY29tcGxldGVkIGEgbGlicmFyeSBjYXJkIGZvciBLZXZpbiBldmVuIHRob3VnaCBubyBib29rIHNhdCBiZXNpZGUgaXQuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjEgc3RhbmRhcmQgYmF0Y2gzIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O3R5cGV3cml0ZXJfY29kZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX3R5cGV3cml0ZXJfY29kZS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtwJmd0O1VuZGVyIHRoZSB0aXRsZSwgdGhlIG1hY2hpbmUgdHlwZWQgYSBzaGVsZiBjb2RlOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FmdGVyc2hvY2stY29kZSZxdW90OyZndDtCLTkgwrcgUi0xIMK3IEUtMTQmbHQ7L2RpdiZndDsmbHQ7cCZndDtTY29vdCByZWFkIHRoZSBsZXR0ZXJzIGluc3RlYWQgb2YgdGhlIG51bWJlcnMuICZxdW90O0ItUi1FLiBJdCB3YW50cyB0aGUgcmVzdCBvZiBhIHdvcmQuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLWNsdWUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtDYXRhbG9nIGNsdWU6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBudW1iZXJzIG1heSBpbmRpY2F0ZSBsZXR0ZXIgcG9zaXRpb25zIG5lZWRlZCB0byBmaW5pc2ggYSBoaWRkZW4gbG9jYXRpb24uJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1NlYXJjaCB0aGUgY2F0YWxvZyBkcmF3ZXJzIGZvciB0aGUgY29kZS0mZ3Q7UHVycGxlQ2F0YWxvZ1B1enpsZV1dW1tGb2xsb3cgdGhlIHNsaWRpbmcgZHJhd2VyIHRoYXQgb3BlbmVkIGJ5IGl0c2VsZi0mZ3Q7UHVycGxlRGVza1NlYXJjaF1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MTUiIG5hbWU9IlB1cnBsZURlc2tTZWFyY2giIHRhZ3M9ImVwaXNvZGUzIHB1cnBsZSByaW5nIGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI3NDQwLDI0ODAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRwdXJwbGVSb29tc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHB1cnBsZUNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7QmxhbmsgY2FyZHMgY29udGFpbiBmdXR1cmUgY2hlY2tvdXQgZGF0ZXMmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgY2lyY3VsYXRpb24gZGVzayBoZWxkIGh1bmRyZWRzIG9mIGJsYW5rIGNhcmRzLiBVbmRlciBwdXJwbGUgbGlnaHQsIG5hbWVzIGFuZCBkYXRlcyBhcHBlYXJlZCBhY3Jvc3MgdGhlbS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7S2V2aW4gZm91bmQgY2FyZHMgZm9yIEtpbW15LCBSeWFuLCBTY29vdCwgYW5kIEFiYmllLiBFYWNoIGxpc3RlZCBhIGRpZmZlcmVudCBib29rLCBidXQgZXZlcnkgZHVlIHRpbWUgd2FzIDk6MTQuJmx0Oy9wJmd0OyZsdDtwJmd0O09uZSBmaW5hbCBjYXJkIGJlbG9uZ2VkIHRvIE1yLiBBc2h0b24uIEl0cyB0aXRsZSByZWFkOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7VEhFIENISUxEIENBUk9MSU5FIExFRlQgQkVISU5EJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1Nob3cgTXIuIEFzaHRvbiB0aGUgY2FyZC0mZ3Q7UHVycGxlQXNodG9uQ2FyZF1dW1tLZWVwIHRoZSBjYXJkIGhpZGRlbiB1bnRpbCBDb3JhIGlzIGZvdW5kLSZndDtQdXJwbGVNb3ZpbmdTaGVsdmVzXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQxNiIgbmFtZT0iUHVycGxlQXNodG9uQ2FyZCIgdGFncz0iZXBpc29kZTMgcHVycGxlIHJpbmcgYmctbGlicmFyeSIgcG9zaXRpb249Ijc1ODAsMjQ4MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UHVycGxlQXNodG9uQ2FyZDoxOmFmMzU0YzZmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpQdXJwbGVBc2h0b25DYXJkOjE6YWYzNTRjNmYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkY29yYVRydXN0ICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O3NldCAkYXNodG9uUGFzdFJldmVhbGVkID0gdHJ1ZSZndDsmZ3Q7Jmx0O3AmZ3Q7TXIuIEFzaHRvbiByZWFkIHRoZSBjYXJkIHR3aWNlLiZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtUaGlzIGhhbmR3cml0aW5nIGlzIENvcmEmIzM5O3MsJnF1b3Q7IGhlIHNhaWQuICZxdW90O1NoZSBhbHdheXMgY2F0YWxvZ2VkIHdoYXQgZXZlcnlvbmUgZWxzZSB3YW50ZWQgZm9yZ290dGVuLiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDtIZSB0dXJuZWQgdGhlIGNhcmQgb3Zlci4gQSBoYW5kd3JpdHRlbiB3YXJuaW5nIGZpbGxlZCB0aGUgYmFjazombHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0O0NBUk9MSU5FIElTIFVTSU5HIE1ZIEJPT0tTLiZsdDticiZndDtETyBOT1QgTEVUIEhFUiBSRUFEIFRIRSBMQVNUIFBBR0UuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtydW4gJHB1cnBsZUNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7Q29yYSB3YXJucyB0aGF0IENhcm9saW5lIGlzIHVzaW5nIHRoZSBsaWJyYXJ5IGJvb2tzJnF1b3Q7KSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0ZpbmQgdGhlIGJvb2sgYmVmb3JlIENhcm9saW5lIHJlYWNoZXMgaXRzIGxhc3QgcGFnZS0mZ3Q7UHVycGxlUmVzdHJpY3RlZFN0YWNrc11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MTciIG5hbWU9IlB1cnBsZU1vdmluZ1NoZWx2ZXMiIHRhZ3M9ImVwaXNvZGUzIHB1cnBsZSByaW5nIGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI3NzIwLDI0ODAiIHNpemU9IjEwMCwxMDAiPiZsdDtwJmd0O0EgbmFycm93IHNoYXBlIG1vdmVkIGJlaGluZCB0aGUgZmFyIHNoZWxmLiBXaGVuIEtldmluIGZvbGxvd2VkLCB0aGUgc2hlbHZlcyBzaGlmdGVkIHRvZ2V0aGVyIGFuZCBlcmFzZWQgdGhlIGFpc2xlIGJlaGluZCBoaW0uJmx0Oy9wJmd0OyZsdDtwJmd0O0Jvb2tzIHJlYXJyYW5nZWQgdGhlbXNlbHZlcyBieSBjb2xvciBpbnN0ZWFkIG9mIHRpdGxlOiBwdXJwbGUgc3BpbmVzIHRvIHRoZSBsZWZ0LCBncmVlbiBhaGVhZCwgcmVkIHRvIHRoZSByaWdodC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O1doaWNoIGNvbG9yIHBhdGggc2hvdWxkIEtldmluIGZvbGxvdyBpbnNpZGUgQ29yYSYjMzk7cyBsaWJyYXJ5PyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tQdXJwbGUsIG1hdGNoaW5nIHRoZSBzZWxlY3RlZCByaW5nIGxlYWQtJmd0O1B1cnBsZVJlc3RyaWN0ZWRTdGFja3NdXVtbR3JlZW4sIGZvbGxvd2luZyBDYXJhJiMzOTtzIGNvbG9yLSZndDtQdXJwbGVXcm9uZ0NvbG9yXV1bW1JlZCwgZm9sbG93aW5nIENhcm9saW5lJiMzOTtzIHRyYWlsLSZndDtQdXJwbGVXcm9uZ0NvbG9yXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQxOCIgbmFtZT0iUHVycGxlV3JvbmdDb2xvciIgdGFncz0iZXBpc29kZTMgcHVycGxlIHJpbmcgYmctbGlicmFyeSIgcG9zaXRpb249Ijc4NjAsMjQ4MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHB1cnBsZVB1enpsZUF0dGVtcHRzICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRwdXp6bGVNaXN0YWtlcyArPSAxJmd0OyZndDsmbHQ7cCZndDtUaGUgY2hvc2VuIGFpc2xlIGZvbGRlZCBiYWNrIG9uIGl0c2VsZi4gS2V2aW4gcmV0dXJuZWQgdG8gdGhlIHNhbWUgc2hlbGYsIGJ1dCBvbmUgbWludXRlIGhhZCB2YW5pc2hlZCBmcm9tIGhpcyB3YXRjaC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcmV2ZWFsIHJldHJ5JnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1pY29uJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O1dyb25nIHJpbmcgcGF0aCZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O1RoaXMgaW52ZXN0aWdhdGlvbiBmb2xsb3dzIENvcmEmIzM5O3MgcHVycGxlIHJpbmcuIE90aGVyIGNvbG9ycyBsZWFkIHRvIGRpZmZlcmVudCBhbmNob3JlZCBsb2NhdGlvbnMuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tDaG9vc2UgdGhlIHJpbmcgcGF0aCBhZ2Fpbi0mZ3Q7UHVycGxlTW92aW5nU2hlbHZlc11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MTkiIG5hbWU9IlB1cnBsZUNhdGFsb2dQdXp6bGUiIHRhZ3M9ImVwaXNvZGUzIHB1cnBsZSByaW5nIGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI4MDAwLDI0ODAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7Zm9ybWFsLXB1enpsZSBwdXJwbGUtY2F0YWxvZyZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Zvcm1hbC1wdXp6bGUtaGVhZCZxdW90OyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIFRocmVlIFB1enpsZSZsdDsvc3BhbiZndDsmbHQ7aDImZ3Q7VGhlIEltcG9zc2libGUgU2hlbGYgQ29kZSZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7Q29tcGxldGUgdGhlIGhpZGRlbiBsb2NhdGlvbiB1c2luZyB0aGUgdHlwZXdyaXRlciBjb2RlIGFuZCB0aGUgbGlicmFyeSYjMzk7cyBudW1iZXJlZCBjYXRhbG9nIHRhYnMuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2F0YWxvZy1jb2RlJnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7Qi05Jmx0Oy9iJmd0OyZsdDtzcGFuJmd0O1RhYiA5ID0gQSZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDtiJmd0O1ItMSZsdDsvYiZndDsmbHQ7c3BhbiZndDtUYWIgMSA9IFImbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7YiZndDtFLTE0Jmx0Oy9iJmd0OyZsdDtzcGFuJmd0O1RhYiAxNCA9IFkmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7VGhlIGNvZGUgYmVnaW5zIHdpdGggJmx0O3N0cm9uZyZndDtCUkUmbHQ7L3N0cm9uZyZndDsuIFRoZSByZWNvdmVyZWQgbGV0dGVycyBhcmUgJmx0O3N0cm9uZyZndDtBIMK3IFIgwrcgWSZsdDsvc3Ryb25nJmd0Oy4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtYW5zd2VyLWdyaWQmcXVvdDsmZ3Q7W1tCUkVBRCBST09NLSZndDtQdXJwbGVDYXRhbG9nV3JvbmddXVtbQlJFVklBUlktJmd0O1B1cnBsZUNhdGFsb2dXcm9uZ11dW1tCUkVBUlkgLyB0aGUgaGlkZGVuIGxpYnJhcnkgYmV0d2VlbiBzdGFja3MtJmd0O1B1cnBsZUNhdGFsb2dTb2x2ZWRdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDIwIiBuYW1lPSJQdXJwbGVDYXRhbG9nV3JvbmciIHRhZ3M9ImVwaXNvZGUzIHB1cnBsZSByaW5nIGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI3MzAwLDI2MTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRwdXJwbGVQdXp6bGVBdHRlbXB0cyArPSAxJmd0OyZndDsmbHQ7Jmx0O3NldCAkcHV6emxlTWlzdGFrZXMgKz0gMSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcmV2ZWFsIHJldHJ5JnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1pY29uJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O1RoZSBjYXRhbG9nIGRyYXdlciBzbGFtcyBzaHV0Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7S2VlcCB0aGUgcHJpbnRlZCBiZWdpbm5pbmcgJmx0O2ImZ3Q7QlJFJmx0Oy9iJmd0OyBhbmQgYXBwZW5kIHRoZSByZWNvdmVyZWQgbGV0dGVycyBpbiB0aGVpciBkaXNwbGF5ZWQgb3JkZXIuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTb2x2ZSB0aGUgc2hlbGYgY29kZSBhZ2Fpbi0mZ3Q7UHVycGxlQ2F0YWxvZ1B1enpsZV1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MjEiIG5hbWU9IlB1cnBsZUNhdGFsb2dTb2x2ZWQiIHRhZ3M9ImVwaXNvZGUzIHB1cnBsZSByaW5nIGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI3NDQwLDI2MTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRwdXJwbGVQdXp6bGVTb2x2ZWQgPSB0cnVlJmd0OyZndDsmbHQ7Jmx0O3J1biAkcHVycGxlQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtCUkVBUlk6IHRoZSBoaWRkZW4gbGlicmFyeSBiZXR3ZWVuIHN0YWNrcyZxdW90OykmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXJldmVhbCBzdWNjZXNzJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3JldmVhbC1pY29uJnF1b3Q7Jmd0O+KckyZsdDsvc3BhbiZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7SGlkZGVuIGNhdGFsb2cgbG9jYXRpb24gZm91bmQmbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtCUkUgKyBBICsgUiArIFkgZm9ybXMgQlJFQVJZLCBhbiBvYnNvbGV0ZSBuYW1lIHN0YW1wZWQgb24gdGhlIGxpYnJhcnkmIzM5O3Mgb2xkZXN0IGZsb29yIHBsYW4gZm9yIGEgcm9vbSBiZXR3ZWVuIHRoZSBwdWJsaWMgbGlicmFyeSBhbmQgaXRzIHJlbWVtYmVyZWQgdmVyc2lvbi4mbHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LXAyIHN0YW5kYXJkIGJhdGNoMyB3aWRlIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2JyZWFyeSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2JyZWFyeS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tFbnRlciB0aGUgQnJlYXJ5LSZndDtQdXJwbGVSZXN0cmljdGVkU3RhY2tzXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQyMiIgbmFtZT0iUHVycGxlUmVzdHJpY3RlZFN0YWNrcyIgdGFncz0iZXBpc29kZTMgcHVycGxlIHJpbmcgYmctYnJlYXJ5IiBwb3NpdGlvbj0iNzU4MCwyNjEwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTGlicmFyeTogVGhlIEJyZWFyeSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0xvY2F0ZSBDb3JhIGJlZm9yZSBDYXJvbGluZSByZWFjaGVzIHRoZSBsYXN0IHBhZ2UmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSByZXN0cmljdGVkIHN0YWNrcyBvcGVuZWQgaW50byBhIGNpcmN1bGFyIHJvb20gdGhhdCBzaG91bGQgbm90IGZpdCBpbnNpZGUgdGhlIGJ1aWxkaW5nLiZsdDsvcCZndDsmbHQ7cCZndDtCb29rcyByb3NlIHRocmVlIHN0b3JpZXMgYmVuZWF0aCBhIHBhaW50ZWQgbmlnaHQgc2t5LiBQdXJwbGUgbGlnaHQgbW92ZWQgdGhyb3VnaCB0aGUgc2hlbHZlcyBsaWtlIHNsb3cgbGlnaHRuaW5nLiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCByaWdodCB0aWx0LW4yIHN0YW5kYXJkIGJhdGNoMyB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtsaWJyYXJ5X2hpZGRlbl9haXNsZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2xpYnJhcnlfaGlkZGVuX2Fpc2xlLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O3AmZ3Q7QXQgdGhlIGNlbnRlciBzYXQgdGhlIG9sZCBsaWJyYXJpYW4uIFRoZSBwdXJwbGUgcmluZyBvbiBvbmUgaGFuZCBjb250YWluZWQgYSBzbWFsbCBzaGFkb3cgdGhhdCBtb3ZlZCBhZ2FpbnN0IHRoZSBsaWdodC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7S2V2aW4gV2luY2hlc3RlciwmcXVvdDsgdGhlIGxpYnJhcmlhbiBzYWlkLiAmcXVvdDtZb3UgZmluYWxseSByZXR1cm5lZCB0aGUgYm9vayB5b3UgaGF2ZSBub3QgYm9ycm93ZWQgeWV0LiZxdW90OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQWRkcmVzcyB0aGUgbGlicmFyaWFuIGFzIENvcmEtJmd0O1B1cnBsZU5hbWVDb3JhXV1bW0FzayB3aGVyZSBDYXJvbGluZSBpcy0mZ3Q7UHVycGxlQXNrQ2Fyb2xpbmVdXVtbUGxhY2UgdGhlIGZ1dHVyZSBjaGVja291dCBjYXJkIG9uIHRoZSB0YWJsZS0mZ3Q7UHVycGxlRnV0dXJlQ2FyZF1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MjMiIG5hbWU9IlB1cnBsZU5hbWVDb3JhIiB0YWdzPSJlcGlzb2RlMyBwdXJwbGUgcmluZyBiZy1icmVhcnkiIHBvc2l0aW9uPSI3NzIwLDI2MTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlB1cnBsZU5hbWVDb3JhOjE6NDY2MTVlYWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlB1cnBsZU5hbWVDb3JhOjE6NDY2MTVlYWUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkY29yYVRydXN0ICs9IDImZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7cCZndDsmcXVvdDtDb3JhIEFzY2hlcmRvd24sJnF1b3Q7IEtldmluIHNhaWQuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBwdXJwbGUgbGlnaHQgc3RvcHBlZCBtb3ZpbmcuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBsaWJyYXJpYW4mIzM5O3Mgb3V0bGluZSBzaGFycGVuZWQuICZxdW90O1NwZW5jZXIgdG9sZCB5b3UuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O01yLiBBc2h0b24gc3RlcHBlZCBmb3J3YXJkLiAmcXVvdDtZb3UgbGVmdCBtZSB0byByZW1lbWJlciBhbGwgdGhyZWUgb2YgeW91IGFsb25lLiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtObywmcXVvdDsgQ29yYSBzYWlkLiAmcXVvdDtJIHN0YXllZCBiZWNhdXNlIHNvbWVvbmUgaGFkIHRvIHJlbWVtYmVyIHdoYXQgQ2Fyb2xpbmUga2VwdCByZXdyaXRpbmcuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS10aHJlZS1ldmlkZW5jZSZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0NvcmEmIzM5O3Mgcm9sZTombHQ7L3N0cm9uZyZndDsgQ29yYSBoYXMgYmVlbiBwcmVzZXJ2aW5nIHJlY29yZHMgaW4gdGhlIGxpYnJhcnkgd2hpbGUgQ2Fyb2xpbmUgYWx0ZXJzIHRoZW0gdGhyb3VnaCBlbmNoYW50ZWQgYm9va3MuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0FzayBDb3JhIHdoYXQgdGhlIGZpbmFsIHBhZ2UgY29udGFpbnMtJmd0O1B1cnBsZUxhc3RQYWdlXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQyNCIgbmFtZT0iUHVycGxlQXNrQ2Fyb2xpbmUiIHRhZ3M9ImVwaXNvZGUzIHB1cnBsZSByaW5nIGJnLWJyZWFyeSIgcG9zaXRpb249Ijc4NjAsMjYxMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7JnF1b3Q7V2hlcmUgaXMgQ2Fyb2xpbmU/JnF1b3Q7IEtpbW15IGFza2VkLiZsdDsvcCZndDsmbHQ7cCZndDtDb3JhIHRvdWNoZWQgdGhlIHB1cnBsZSBzdG9uZS4gRXZlcnkgcmVkLXNwaW5lZCBib29rIGluIHRoZSBCcmVhcnkgb3BlbmVkIGF0IG9uY2UuJmx0Oy9wJmd0OyZsdDtwJmd0O0VhY2ggZGlzcGxheWVkIGEgZGlmZmVyZW50IHJvb20gaW5zaWRlIHRoZSBXaW5jaGVzdGVyIGhvdXNlLiZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtFdmVyeXdoZXJlIGEgc3RvcnkgaGFzIHJlcGxhY2VkIGEgbWVtb3J5LCZxdW90OyBDb3JhIHNhaWQuICZxdW90O0FuZCBzb29uLCB3aGVyZXZlciBzb21lb25lIGZpbmlzaGVzIHJlYWRpbmcuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBc2sgaG93IHRvIHN0b3AgdGhlIGJvb2tzLSZndDtQdXJwbGVMYXN0UGFnZV1dW1tJbnNwZWN0IHdoaWNoIHJlZCBib29rIHNob3dzIEFiYmllJiMzOTtzIGJlZHJvb20tJmd0O1B1cnBsZVJlZEJvb2tdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDI1IiBuYW1lPSJQdXJwbGVGdXR1cmVDYXJkIiB0YWdzPSJlcGlzb2RlMyBwdXJwbGUgcmluZyBiZy1icmVhcnkiIHBvc2l0aW9uPSI4MDAwLDI2MTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlB1cnBsZUZ1dHVyZUNhcmQ6MTphZjM1NGM2ZiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UHVycGxlRnV0dXJlQ2FyZDoxOmFmMzU0YzZmJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGNvcmFUcnVzdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O3AmZ3Q7Q29yYSBleGFtaW5lZCB0b21vcnJvdyYjMzk7cyBjaGVja291dCBjYXJkLiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtcDEgc3RhbmRhcmQgYmF0Y2gzIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2Z1dHVyZV9jaGVja291dCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2Z1dHVyZV9jaGVja291dC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtwJmd0OyZxdW90O0kgd3JvdGUgdGhpcyB5ZXN0ZXJkYXksJnF1b3Q7IENvcmEgc2FpZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7UnlhbiBsb29rZWQgYXQgdGhlIGRhdGUuICZxdW90O1RoYXQgc2VudGVuY2UgYXR0YWNrZWQgdGhlIGNhbGVuZGFyLiZxdW90OyZsdDsvcCZndDsmbHQ7cCZndDtDb3JhIHNsaWQgb3BlbiBhIGRyYXdlciBjb250YWluaW5nIGNhcmRzIGZvciBldmVudHMgdGhhdCBoYWQgbm90IGhhcHBlbmVkLiBPbmUgY2FyZCB3YXMgbWlzc2luZy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7Q2Fyb2xpbmUgc3RvbGUgS2V2aW4mIzM5O3MgZW5kaW5nLCZxdW90OyBDb3JhIHNhaWQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBc2sgd2hhdCBlbmRpbmcgQ2Fyb2xpbmUgc3RvbGUtJmd0O1B1cnBsZUxhc3RQYWdlXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQyNiIgbmFtZT0iUHVycGxlUmVkQm9vayIgdGFncz0iZXBpc29kZTMgcHVycGxlIHJpbmcgYmctYnJlYXJ5IiBwb3NpdGlvbj0iNzMwMCwyNzQwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biAkcHVycGxlQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtBIHJlZCBib29rIGNvbnRhaW5zIGEgbGl2ZSB2aWV3IG9mIEFiYmllJiMzOTtzIGJlZHJvb20mcXVvdDspJmd0OyZndDsmbHQ7cCZndDtLZXZpbiBwdWxsZWQgdGhlIHJlZCBib29rIGZyb20gdGhlIHNoZWxmLiBJdHMgcGFnZXMgc2hvd2VkIEFiYmllIGFzbGVlcCBiZXNpZGUgdGhlIGNhdCBib29rLCB0aG91Z2ggQWJiaWUgd2FzIGF3YWtlIGF0IGhvbWUgd2hlbiB0aGUgZ3JvdXAgbGVmdC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7SW4gdGhlIGlsbHVzdHJhdGlvbiwgYSByZWQtcmluZyBoYW5kIHJlYWNoZWQgZnJvbSBiZW5lYXRoIHRoZSBiZWQuJmx0Oy9wJmd0OyZsdDtwJmd0O0tldmluIHNsYW1tZWQgdGhlIGJvb2sgc2h1dC4gVGhlIHJvb20gc2hvb2suJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzY3VlLXdhcm5pbmcmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtMaXZlLWJvb2sgZGFuZ2VyOiZsdDsvc3Ryb25nJmd0OyBDYXJvbGluZSYjMzk7cyBib29rcyBkbyBub3QgcHJlZGljdCByb29tcy4gVGhleSBjcmVhdGUgdmVyc2lvbnMgb2Ygcm9vbXMgc2hlIGNhbiBlbnRlci4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRGVtYW5kIGEgd2F5IHRvIGNsb3NlIGV2ZXJ5IGxpdmUgYm9vay0mZ3Q7UHVycGxlTGFzdFBhZ2VdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDI3IiBuYW1lPSJQdXJwbGVMYXN0UGFnZSIgdGFncz0iZXBpc29kZTMgcHVycGxlIHJpbmcgYmctYnJlYXJ5IiBwb3NpdGlvbj0iNzQ0MCwyNzQwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtDb3JhIHJlbW92ZWQgYSB0aGluIHB1cnBsZSBib29rIGZyb20gaW5zaWRlIHRoZSByaW5nJiMzOTtzIGxpZ2h0LiZsdDsvcCZndDsmbHQ7cCZndDtJdHMgdGl0bGUgd2FzIHRoZSBvbmUgZnJvbSBLZXZpbiYjMzk7cyBjaGVja291dCBjYXJkOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2xpYnJhcnktYm9vay10aXRsZSZxdW90OyZndDtUSEUgQk9PSyBPRiBST09NUyBUSEFUIEZPUkdPVCBUSEVJUiBET09SUyZsdDsvZGl2Jmd0OyZsdDtwJmd0OyZxdW90O1RoZSBmaW5hbCBwYWdlIG5hbWVzIHRoZSByb29tIENhcm9saW5lIHdpbGwgcmVwbGFjZSBuZXh0LCZxdW90OyBDb3JhIHNhaWQuICZxdW90O0lmIHNoZSByZWFkcyBpdCBmaXJzdCwgdGhlIHJvb20gYmVjb21lcyBoZXJzLiBJZiB5b3UgcmVhZCBpdCBmaXJzdCwgc2hlIGxlYXJucyB3aGVyZSB5b3UgYXJlLiZxdW90OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7SG93IHNob3VsZCB0aGUgZ3JvdXAgaGFuZGxlIHRoZSBmaW5hbCBwYWdlPyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tMZXQgS2ltbXkgdmVyaWZ5IHRoZSBwYWdlIHdpdGhvdXQgcmVhZGluZyBpdCBhbG91ZC0mZ3Q7UHVycGxlS2ltbXlQYWdlXV1bW0xldCBTY29vdCB1c2UgdGhlIG5vdGVib29rIHJoeXRobSB0byByZXZlYWwgb25seSB0aGUgbG9jYXRpb24tJmd0O1B1cnBsZVNjb290UGFnZV1dW1tBc2sgQ29yYSB0byBkZXN0cm95IHRoZSBwYWdlIGluc2lkZSB0aGUgcHVycGxlIHJpbmctJmd0O1B1cnBsZURlc3Ryb3lQYWdlXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQyOCIgbmFtZT0iUHVycGxlS2ltbXlQYWdlIiB0YWdzPSJlcGlzb2RlMyBwdXJwbGUgcmluZyBiZy1icmVhcnkiIHBvc2l0aW9uPSI3NTgwLDI3NDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgJGtpbW15QWJpbGl0eSBpcyAmcXVvdDtWZXJpZmllZEV2aWRlbmNlJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtLaW1teSBjb3ZlcmVkIGV2ZXJ5IGxpbmUgZXhjZXB0IHRoZSBmaXJzdCBsZXR0ZXIgb2YgZWFjaCBzZW50ZW5jZS4gVGhlIHZpc2libGUgaW5pdGlhbHMgZm9ybWVkIGEgbG9jYXRpb24gd2l0aG91dCBleHBvc2luZyB0aGUgZnVsbCB0ZXh0OiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FmdGVyc2hvY2stY29kZSZxdW90OyZndDtDIEUgTSBFIFQgRSBSIFkmbHQ7L2RpdiZndDsmbHQ7Jmx0O3NldCAkZXBpc29kZVRocmVlTGVhZCA9ICZxdW90O2NlbWV0ZXJ5JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biAkcHVycGxlQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtDYXJvbGluZSYjMzk7cyBuZXh0IHJlcGxhY2VtZW50IHRhcmdldCBpcyB0aGUgY2VtZXRlcnkmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtDb3JhIG5vZGRlZC4gJnF1b3Q7VmVyaWZpZWQgd2l0aG91dCBpbnZpdGF0aW9uLiBHb29kLiZxdW90OyZsdDsvcCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtwJmd0O0tpbW15IHVuY292ZXJlZCB0b28gbXVjaC4gUmVkIGluayBzcHJlYWQgdG93YXJkIGhlciBmaW5nZXJzIGJlZm9yZSBDb3JhIHNlYWxlZCB0aGUgcGFnZS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIHN1cnZpdmluZyBsZXR0ZXJzIHN0aWxsIGZvcm1lZCAmbHQ7c3Ryb25nJmd0O0NFTUVURVJZJmx0Oy9zdHJvbmcmZ3Q7LiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0FjY2VwdCBDb3JhJiMzOTtzIHdhcm5pbmctJmd0O1B1cnBsZUxlYWRFbmRpbmddXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDI5IiBuYW1lPSJQdXJwbGVTY29vdFBhZ2UiIHRhZ3M9ImVwaXNvZGUzIHB1cnBsZSByaW5nIGJnLWJyZWFyeSIgcG9zaXRpb249Ijc3MjAsMjc0MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiAkc2Nvb3RPcHRpb25hbEZvdW5kJmd0OyZndDsmbHQ7cCZndDtTY29vdCB0YXBwZWQgdGhlIG5vdGVib29rJiMzOTtzIGZvdXItdGhyZWUgcmh5dGhtLiBUaGUgcHVycGxlIGJvb2sgYW5zd2VyZWQgYnkgbGlmdGluZyBvbmx5IG5pbmUgbGV0dGVycyBmcm9tIHRoZSBwYWdlOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FmdGVyc2hvY2stY29kZSZxdW90OyZndDtDIEUgTSBFIFQgRSBSIFkmbHQ7L2RpdiZndDsmbHQ7Jmx0O3NldCAkZXBpc29kZVRocmVlTGVhZCA9ICZxdW90O2NlbWV0ZXJ5JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biAkcHVycGxlQ2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtOb3RlYm9vayByaHl0aG0gZXh0cmFjdGVkIGNlbWV0ZXJ5IGZyb20gQ2Fyb2xpbmUmIzM5O3MgZmluYWwgcGFnZSZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSByZW1haW5pbmcgd29yZHMgc3RheWVkIGhpZGRlbiBmcm9tIENhcm9saW5lLiZsdDsvcCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBub3RlYm9vayByZXZlYWxlZCB0aGUgbG9jYXRpb24sIGJ1dCBhbHNvIGNvcGllZCBvbmUgcmVkIHNlbnRlbmNlIGJlZm9yZSBTY29vdCBjb3VsZCBjbG9zZSBpdC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDthZnRlcnNob2NrLWNvZGUmcXVvdDsmZ3Q7Q0VNRVRFUlkmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0FjY2VwdCBDb3JhJiMzOTtzIHdhcm5pbmctJmd0O1B1cnBsZUxlYWRFbmRpbmddXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDMwIiBuYW1lPSJQdXJwbGVEZXN0cm95UGFnZSIgdGFncz0iZXBpc29kZTMgcHVycGxlIHJpbmcgYmctYnJlYXJ5IiBwb3NpdGlvbj0iNzg2MCwyNzQwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtDb3JhIHByZXNzZWQgdGhlIHBhZ2UgaW50byB0aGUgcHVycGxlIHN0b25lLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgcGFwZXIgYnVybmVkIHdpdGhvdXQgaGVhdCwgYnV0IGl0cyBhc2ggYXJyYW5nZWQgaXRzZWxmIGFjcm9zcyB0aGUgdGFibGU6Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YWZ0ZXJzaG9jay1jb2RlJnF1b3Q7Jmd0O0NFTUVURVJZJmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7RGVzdHJveWVkIHN0b3JpZXMgbGVhdmUgbWVtb3JpZXMsJnF1b3Q7IENvcmEgc2FpZC4gJnF1b3Q7TWVtb3JpZXMgYXJlIGhhcmRlciBmb3IgQ2Fyb2xpbmUgdG8gY29udHJvbC4mcXVvdDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGVwaXNvZGVUaHJlZUxlYWQgPSAmcXVvdDtjZW1ldGVyeSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gJHB1cnBsZUNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7Q2Fyb2xpbmUmIzM5O3MgbmV4dCB0YXJnZXQgcmVtYWluZWQgaW4gdGhlIHBhZ2UgYXNoOiBjZW1ldGVyeSZxdW90OykmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBY2NlcHQgQ29yYSYjMzk7cyB3YXJuaW5nLSZndDtQdXJwbGVMZWFkRW5kaW5nXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQzMSIgbmFtZT0iUHVycGxlTGVhZEVuZGluZyIgdGFncz0iZXBpc29kZTMgcHVycGxlIHJpbmcgYmctbGlicmFyeSIgcG9zaXRpb249IjgwMDAsMjc0MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXIgPSAxMyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1JlYWNoIEJyZWNrZW5yaWRnZSBDZW1ldGVyeSBiZWZvcmUgQ2Fyb2xpbmUgcmVwbGFjZXMgaXQmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O0NvcmEgY2xvc2VkIHRoZSBCcmVhcnkgYXJvdW5kIHRoZW0gb25lIHNoZWxmIGF0IGEgdGltZS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QmVmb3JlIHRoZSBsYXN0IGFpc2xlIGRpc2FwcGVhcmVkLCBDb3JhIHJlbW92ZWQgdGhlIHB1cnBsZSByaW5nIGFuZCBoZWxkIGl0IHRvd2FyZCBNci4gQXNodG9uLiZsdDsvcCZndDsmbHQ7cCZndDsmcXVvdDtUZWxsIENhcmEgdG8gc3RvcCBoaWRpbmcgYmVoaW5kIHRoZSBzY2hvb2wsJnF1b3Q7IENvcmEgc2FpZC4gJnF1b3Q7Q2Fyb2xpbmUgaXMgbm90IHRyeWluZyB0byByZXR1cm4gYWxvbmUuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBncm91cCBsYW5kZWQgaW4gdGhlIG9yZGluYXJ5IHJlYWRpbmcgcm9vbS4gRXZlcnkgY2hhaXIgaGFkIHJldHVybmVkIHRvIGl0cyBwcm9wZXIgZGlyZWN0aW9uLiZsdDsvcCZndDsmbHQ7cCZndDtLZXZpbiYjMzk7cyBuZXcgbGlicmFyeSBjYXJkIHdhaXRlZCBvbiB0aGUgY2lyY3VsYXRpb24gZGVzay4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VW5kZXIgJmx0O3N0cm9uZyZndDtCb29rcyBCb3Jyb3dlZCZsdDsvc3Ryb25nJmd0Oywgb25lIHRpdGxlIGhhZCBiZWVuIHN0YW1wZWQgaW4gcmVkOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7QlJFQ0tFTlJJREdFIENFTUVURVJZJmx0O2JyJmd0O0RVRTogQkVGT1JFIFNVTlJJU0UmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCBwdXJwbGUtY2hhcHRlciZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7UHVycGxlLVJpbmcgTGVhZCBDb21wbGV0ZSZsdDsvZGl2Jmd0OyZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtUaGUgUGxhY2UgQ2Fyb2xpbmUgV2lsbCBSZXBsYWNlIE5leHQmbHQ7L2gxJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtDb3JhJiMzOTtzIHdhcm5pbmcgc2VuZHMgdGhlIGdyb3VwIHRvIHRoZSBjZW1ldGVyeS4mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmFjZSB0byBCcmVja2VucmlkZ2UgQ2VtZXRlcnktJmd0O0NlbWV0ZXJ5T3BlbmluZ11dJmx0Oy9kaXYmZ3Q7CgovKiBWNC4zIGJvdW5kYXJ5IGNoZWNrcG9pbnQgY2hhcHRlciAxMyAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDNDYXB0dXJlQm91bmRhcnkoMTMsICZxdW90O1B1cnBsZUxlYWRFbmRpbmcmcXVvdDssIDMpJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAudjQ0Q2FwdHVyZUNoYXB0ZXIoMTMsICZxdW90O1B1cnBsZUxlYWRFbmRpbmcmcXVvdDssIDMpJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MzIiIG5hbWU9IkNlbWV0ZXJ5T3BlbmluZyIgdGFncz0iZXBpc29kZTMgY2VtZXRlcnkgYmctY2VtZXRlcnkiIHBvc2l0aW9uPSI4MzQ1LDI0NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gMTQmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRwb3YgPSAmcXVvdDtLaW1teSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIENlbWV0ZXJ5JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UmVhY2ggQ2Fyb2xpbmUmIzM5O3MgdGFyZ2V0IGJlZm9yZSBzdW5yaXNlJnF1b3Q7Jmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQgY2VtZXRlcnktY2hhcHRlciZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7RXBpc29kZSBUaHJlZTogQ2VtZXRlcnkmbHQ7L2RpdiZndDsmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7VGhlIEdyYXZlcyBUaGF0IENoYW5nZWQgVGhlaXIgTmFtZXMmbHQ7L2gxJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtDb3JhJiMzOTtzIHdhcm5pbmcgYXJyaXZlcyBiZWZvcmUgdGhlIGNlbWV0ZXJ5IGZvcmdldHMgaXRzZWxmJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0O1RoZSBjZW1ldGVyeSBnYXRlcyBzdG9vZCBvcGVuIHdoZW4gdGhleSBhcnJpdmVkLiBUaGUgaXJvbiBzaWduIGFib3ZlIHRoZW0gbm8gbG9uZ2VyIHJlYWQgJmx0O3N0cm9uZyZndDtCUkVDS0VOUklER0UgQ0VNRVRFUlkmbHQ7L3N0cm9uZyZndDsuJmx0Oy9wJmd0OyZsdDtwJmd0O0l0IHJlYWQ6Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2VtZXRlcnktc2lnbiZxdW90OyZndDtBU0NIRVJET1dOIEZBTUlMWSBHUk9VTkRTJmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7Um93cyBvZiBoZWFkc3RvbmVzIHN0cmV0Y2hlZCBmYXJ0aGVyIHRoYW4gdGhlIGhpbGwgc2hvdWxkIGFsbG93LiBTb21lIGNhcnJpZWQgbmFtZXMgS2ltbXkgcmVjb2duaXplZCBmcm9tIHRvd24gcmVjb3Jkcy4gT3RoZXJzIGNhcnJpZWQgbmFtZXMgc2hlIGhhZCBzZWVuIGVyYXNlZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7S2V2aW4mIzM5O3Mgd2F0Y2ggZGlzcGxheWVkICZsdDtzdHJvbmcmZ3Q7NTo0MSBBLk0uJmx0Oy9zdHJvbmcmZ3Q7LiBTdW5yaXNlIHdhcyBjbG9zZS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtcHJvbXB0JnF1b3Q7Jmd0O0hvdyBzaG91bGQgdGhlIGdyb3VwIGVudGVyPyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tVc2UgdGhlIG1haW4gZ2F0ZSBhbmQgZG9jdW1lbnQgZXZlcnkgY2hhbmdlZCBuYW1lLSZndDtDZW1ldGVyeU1haW5HYXRlXV1bW0ZvbGxvdyB0aGUgcHVycGxlIGFzaCBDb3JhIGxlZnQgb24gS2V2aW4mIzM5O3MgbGlicmFyeSBjYXJkLSZndDtDZW1ldGVyeVB1cnBsZVRyYWlsXV1bW1VzZSB0aGUgb2FrLXJvb3QgcGF0aCBiZW5lYXRoIHRoZSBzdG9uZSB3YWxsLSZndDtDZW1ldGVyeVJvb3RFbnRyeV1dJmx0Oy9kaXYmZ3Q7CgovKiBWNC4zIGJvdW5kYXJ5IGNoZWNrcG9pbnQgY2hhcHRlciAxNCAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDNDYXB0dXJlQm91bmRhcnkoMTQsICZxdW90O0NlbWV0ZXJ5T3BlbmluZyZxdW90OywgMykmZ3Q7Jmd0OwombHQ7Jmx0O3J1biBzZXR1cC52NDRDYXB0dXJlQ2hhcHRlcigxNCwgJnF1b3Q7Q2VtZXRlcnlPcGVuaW5nJnF1b3Q7LCAzKSZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDMzIiBuYW1lPSJDZW1ldGVyeU1haW5HYXRlIiB0YWdzPSJlcGlzb2RlMyBjZW1ldGVyeSBiZy1jZW1ldGVyeSIgcG9zaXRpb249Ijg0OTAsMjQ1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNlbWV0ZXJ5RW50cnkgPSAmcXVvdDtnYXRlJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtLaW1teSBwaG90b2dyYXBoZWQgdGhlIHNpZ24gYmVmb3JlIGNyb3NzaW5nLiBUaGUgaW5zdGFudCB0aGUgZmxhc2ggZmlyZWQsIHRoZSB3b3JkcyBjaGFuZ2VkIGJhY2sgdG8gQlJFQ0tFTlJJREdFIENFTUVURVJZLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgcGhvdG9ncmFwaCBzdGlsbCBzaG93ZWQgQVNDSEVSRE9XTiBGQU1JTFkgR1JPVU5EUy4mbHQ7L3AmZ3Q7Jmx0OyZsdDtydW4gJGNlbWV0ZXJ5Q2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtQaG90b2dyYXBoIHByZXNlcnZlcyB0aGUgY2VtZXRlcnkmIzM5O3MgYWx0ZXJlZCBuYW1lJnF1b3Q7KSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjZW1ldGVyeS1ldmlkZW5jZSZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O1ZlcmlmaWVkIGV2aWRlbmNlOiZsdDsvc3Ryb25nJmd0OyBDYW1lcmFzIHByZXNlcnZlIGNoYW5nZXMgdGhhdCB0aGUgY2VtZXRlcnkgaW1tZWRpYXRlbHkgaGlkZXMuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0VudGVyIHRoZSBjZW50cmFsIHBhdGgtJmd0O0NlbWV0ZXJ5SHViXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQzNCIgbmFtZT0iQ2VtZXRlcnlQdXJwbGVUcmFpbCIgdGFncz0iZXBpc29kZTMgY2VtZXRlcnkgYmctY2VtZXRlcnkiIHBvc2l0aW9uPSI4NjM1LDI0NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjZW1ldGVyeUVudHJ5ID0gJnF1b3Q7cHVycGxlJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtQdXJwbGUgYXNoIHNsaWQgZnJvbSBLZXZpbiYjMzk7cyBsaWJyYXJ5IGNhcmQgYW5kIGZvcm1lZCBhIG5hcnJvdyBwYXRoIGJldHdlZW4gdGhlIGdyYXZlcy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7RXZlcnkgc3RvbmUgYmVzaWRlIHRoZSB0cmFpbCBjYXJyaWVkIHRvbW9ycm93JiMzOTtzIGRhdGUuJmx0Oy9wJmd0OyZsdDtwJmd0O0F0IHRoZSBlbmQgb2YgdGhlIHBhdGgsIG9uZSBibGFuayBzdG9uZSB3YWl0ZWQgd2l0aCBLZXZpbiYjMzk7cyBsaWJyYXJ5LWNhcmQgbnVtYmVyIGNhcnZlZCBpbnRvIGl0cyBiYXNlLiZsdDsvcCZndDsmbHQ7Jmx0O3J1biAkY2VtZXRlcnlDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0NvcmEgbWFya2VkIGEgc2FmZSBwYXRoIHRocm91Z2ggZnV0dXJlIGdyYXZlcyZxdW90OykmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2VtZXRlcnktZXZpZGVuY2UmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtDb3JhJiMzOTtzIHByb3RlY3Rpb246Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBwdXJwbGUgdHJhaWwgYXZvaWRzIGdyYXZlcyBDYXJvbGluZSBoYXMgYWxyZWFkeSByZXdyaXR0ZW4uJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0ZvbGxvdyB0aGUgc2FmZSBwYXRoIGlud2FyZC0mZ3Q7Q2VtZXRlcnlIdWJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDM1IiBuYW1lPSJDZW1ldGVyeVJvb3RFbnRyeSIgdGFncz0iZXBpc29kZTMgY2VtZXRlcnkgYmctY2VtZXRlcnkiIHBvc2l0aW9uPSI4NzgwLDI0NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjZW1ldGVyeUVudHJ5ID0gJnF1b3Q7cm9vdHMmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBvYWsgcm9vdHMgcGFzc2VkIGJlbmVhdGggdGhlIGNlbWV0ZXJ5IHdhbGwgYW5kIHN1cmZhY2VkIGJldHdlZW4gdHdvIHdlYXRoZXJlZCBzdG9uZXMuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjIgc3RhbmRhcmQgYmF0Y2gzIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2NlbWV0ZXJ5X2VudHJhbmNlJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfY2VtZXRlcnlfZW50cmFuY2UucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7Jmx0O2lmICRyZWRSaW5nQ2x1ZSZndDsmZ3Q7Jmx0O3AmZ3Q7S2V2aW4gcmVjb2duaXplZCB0aGUgc2FtZSBuYXJyb3cgcm91dGUgdXNlZCBieSB0aGUgcmVkLXJpbmcgZmlndXJlIGF0IHRoZSBXaW5jaGVzdGVyIGhvdXNlLiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O3AmZ3Q7QSByZWQgdGhyZWFkIGNsdW5nIHRvIG9uZSByb290LiBJdCBsZWQgdG93YXJkIGFuIHVubWFya2VkIHNlY3Rpb24gb2YgdGhlIGhpbGwuJmx0Oy9wJmd0OyZsdDsmbHQ7cnVuICRjZW1ldGVyeUNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7Q2Fyb2xpbmUgZW50ZXJlZCB0aGUgY2VtZXRlcnkgdGhyb3VnaCB0aGUgb2FrLXJvb3QgYm91bmRhcnkmcXVvdDspJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NlbWV0ZXJ5LWV2aWRlbmNlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Qm91bmRhcnkgZXZpZGVuY2U6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBob3VzZSwgb2FrLCBzY2hvb2wsIGxpYnJhcnksIGFuZCBjZW1ldGVyeSBhcmUgY29ubmVjdGVkIGJlbG93IGdyb3VuZC4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQ2xpbWIgaW50byB0aGUgYWx0ZXJlZCBjZW1ldGVyeS0mZ3Q7Q2VtZXRlcnlIdWJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDM2IiBuYW1lPSJDZW1ldGVyeUh1YiIgdGFncz0iZXBpc29kZTMgY2VtZXRlcnkgYmctY2VtZXRlcnkiIHBvc2l0aW9uPSI4MjAwLDI1ODUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBDZW1ldGVyeTogQWx0ZXJlZCBHcm91bmRzJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtUaGUgY2VtZXRlcnkgZGl2aWRlZCBpbnRvIHRocmVlIGltcG9zc2libGUgc2VjdGlvbnMuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2VtZXRlcnktbWFwJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7b2xkJnF1b3Q7Jmd0OyZsdDtiJmd0O0ZvdW5kZXJzJiMzOTsgUm93Jmx0Oy9iJmd0OyZsdDtzcGFuJmd0O0RhdGVzIGJlZm9yZSAxNzAwJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hpbGQmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7Q2hpbGRyZW4mIzM5O3MgSGlsbCZsdDsvYiZndDsmbHQ7c3BhbiZndDtTdG9uZXMgd2l0aG91dCBzdXJuYW1lcyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VtcHR5JnF1b3Q7Jmd0OyZsdDtiJmd0O1VubWFya2VkIENpcmNsZSZsdDsvYiZndDsmbHQ7c3BhbiZndDtPbmUgb3BlbiBzcGFjZSZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hlcmUgc2hvdWxkIHRoZSBncm91cCBpbnZlc3RpZ2F0ZT8mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7aWYgbm90ICRjZW1ldGVyeUNsdWVzLmluY2x1ZGVzKCZxdW90O0ZvdW5kZXJzJiMzOTsgc3RvbmVzIHJlcGVhdCAxNjc4JnF1b3Q7KSZndDsmZ3Q7W1tJbnNwZWN0IEZvdW5kZXJzJiMzOTsgUm93LSZndDtDZW1ldGVyeUZvdW5kZXJzUm93XV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtpZiBub3QgJGNlbWV0ZXJ5Q2x1ZXMuaW5jbHVkZXMoJnF1b3Q7Q2hpbGRyZW4mIzM5O3Mgc3RvbmVzIGNhcnJ5IGJvcnJvd2VkIG5hbWVzJnF1b3Q7KSZndDsmZ3Q7W1tTZWFyY2ggQ2hpbGRyZW4mIzM5O3MgSGlsbC0mZ3Q7Q2VtZXRlcnlDaGlsZHJlbnNIaWxsXV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtpZiBub3QgJGNlbWV0ZXJ5Q2x1ZXMuaW5jbHVkZXMoJnF1b3Q7VGhlIHVubWFya2VkIGNpcmNsZSBpcyBhIG1lbW9yeSBncmF2ZSZxdW90OykmZ3Q7Jmd0O1tbRXhhbWluZSB0aGUgVW5tYXJrZWQgQ2lyY2xlLSZndDtDZW1ldGVyeVVubWFya2VkQ2lyY2xlXV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtpZiAkY2VtZXRlcnlTZWN0aW9uc0NoZWNrZWQgJmd0Oz0gMiZndDsmZ3Q7W1tDb21wYXJlIHRoZSBjaGFuZ2luZyBlcGl0YXBocy0mZ3Q7Q2VtZXRlcnlFcGl0YXBoUHV6emxlXV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MzciIG5hbWU9IkNlbWV0ZXJ5Rm91bmRlcnNSb3ciIHRhZ3M9ImVwaXNvZGUzIGNlbWV0ZXJ5IGJnLWNlbWV0ZXJ5IiBwb3NpdGlvbj0iODM0NSwyNTg1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2VtZXRlcnlTZWN0aW9uc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtydW4gJGNlbWV0ZXJ5Q2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtGb3VuZGVycyYjMzk7IHN0b25lcyByZXBlYXQgMTY3OCZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O0V2ZXJ5IGdyYXZlIGluIEZvdW5kZXJzJiMzOTsgUm93IGNsYWltZWQgYSBkaWZmZXJlbnQgYmlydGggeWVhciwgYnV0IGVhY2ggZGVhdGggeWVhciBoYWQgYmVjb21lICZsdDtzdHJvbmcmZ3Q7MTY3OCZsdDsvc3Ryb25nJmd0Oy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7TXIuIEFzaHRvbiBicnVzaGVkIG1vc3MgZnJvbSB0aGUgb2xkZXN0IHN0b25lLiBCZW5lYXRoIGl0IHdhaXRlZCBhIHNpeC1wZXRhbCBtYXJrIHdpdGggb25lIHBldGFsIHBvaW50aW5nIHRvd2FyZCB0aGUgV2luY2hlc3RlciBwcm9wZXJ0eS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGluc2NyaXB0aW9uIGNoYW5nZWQgd2hpbGUgS2ltbXkgY29waWVkIGl0OiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXRhcGgtY2FyZCZxdW90OyZndDtUSEUgVE9XTiBCVVJJRUQgVEhFIERPT1ImbHQ7YnImZ3Q7QU5EIENBTExFRCBJVCBBIENFTUVURVJZLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gdGhlIGNlbWV0ZXJ5IG1hcC0mZ3Q7Q2VtZXRlcnlIdWJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDM4IiBuYW1lPSJDZW1ldGVyeUNoaWxkcmVuc0hpbGwiIHRhZ3M9ImVwaXNvZGUzIGNlbWV0ZXJ5IGJnLWNlbWV0ZXJ5IiBwb3NpdGlvbj0iODQ5MCwyNTg1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2VtZXRlcnlTZWN0aW9uc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtydW4gJGNlbWV0ZXJ5Q2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtDaGlsZHJlbiYjMzk7cyBzdG9uZXMgY2FycnkgYm9ycm93ZWQgbmFtZXMmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgc21hbGwgc3RvbmVzIG9uIENoaWxkcmVuJiMzOTtzIEhpbGwgaGFkIGZpcnN0IG5hbWVzIGJ1dCBubyBzdXJuYW1lcy4mbHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LXAxIHN0YW5kYXJkIGJhdGNoMyB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtjaGlsZHJlbnNfaGlsbCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2NoaWxkcmVuc19oaWxsLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O3AmZ3Q7THVjaWxsZS4gTWFyeS4gRWxsZW4uJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZW4gdGhlIG5hbWVzIHNoaWZ0ZWQuJmx0Oy9wJmd0OyZsdDtwJmd0O0tldmluLiBLaW1teS4gUnlhbi4gU2Nvb3QuIEFiYmllLiZsdDsvcCZndDsmbHQ7cCZndDtSeWFuIHN0ZXBwZWQgYmVoaW5kIGhpcyBoZWxtZXQuICZxdW90O0kgc3Ryb25nbHkgb2JqZWN0IHRvIHBlcnNvbmFsaXplZCBjZW1ldGVyeSBzZXJ2aWNlLiZxdW90OyZsdDsvcCZndDsmbHQ7Jmx0O2lmICRuYW1lUHV6emxlU29sdmVkJmd0OyZndDsmbHQ7cCZndDtLaW1teSBzcG9rZSB0aGUgcmVzdG9yZWQgbmFtZXMgaW4gb3JkZXIuIFRoZSBpbnZlc3RpZ2F0b3JzJiMzOTsgbmFtZXMgZmFkZWQsIGxlYXZpbmcgdGhlIG9yaWdpbmFsIHRocmVlIGJlaGluZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjZW1ldGVyeS1ldmlkZW5jZSZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O05hbWUtcHV6emxlIHBheW9mZjombHQ7L3N0cm9uZyZndDsgUmVzdG9yZWQgbmFtZXMgcHJldmVudCBDYXJvbGluZSBmcm9tIGFzc2lnbmluZyB0aGUgZ3JhdmVzIHRvIG5ldyBjaGlsZHJlbi4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgY2VtZXRlcnkgbWFwLSZndDtDZW1ldGVyeUh1Yl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0MzkiIG5hbWU9IkNlbWV0ZXJ5VW5tYXJrZWRDaXJjbGUiIHRhZ3M9ImVwaXNvZGUzIGNlbWV0ZXJ5IGJnLWNlbWV0ZXJ5IiBwb3NpdGlvbj0iODYzNSwyNTg1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2VtZXRlcnlTZWN0aW9uc0NoZWNrZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDtydW4gJGNlbWV0ZXJ5Q2x1ZXMucHVzaFVuaXF1ZSgmcXVvdDtUaGUgdW5tYXJrZWQgY2lyY2xlIGlzIGEgbWVtb3J5IGdyYXZlJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VHdlbHZlIGJsYW5rIHN0b25lcyBmb3JtZWQgYSBjaXJjbGUgYXJvdW5kIGFuIGVtcHR5IHBhdGNoIG9mIGVhcnRoLiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCByaWdodCB0aWx0LW4xIHN0YW5kYXJkIGJhdGNoMyB3aWRlIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O3VubWFya2VkX2NpcmNsZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX3VubWFya2VkX2NpcmNsZS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtwJmd0O05vIGJvZHkgaGFkIGJlZW4gYnVyaWVkIHRoZXJlLiBUaGUgc29pbCBoZWxkIG9iamVjdHMgaW5zdGVhZDogYSBsaWJyYXJ5IGNhcmQsIGEgc2Nob29sIGtleSwgYSBzdHJpcCBvZiB3YWxscGFwZXIsIGFuZCBhIGRlYWQgd2F0Y2guJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O05vdCBhIGdyYXZlIGZvciBhIHBlcnNvbiwmcXVvdDsgU2Nvb3Qgc2FpZC4gJnF1b3Q7QSBncmF2ZSBmb3IgbWVtb3JpZXMuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O0hpcyBub3RlYm9vayB3cm90ZSBiZW5lYXRoIGhpcyBoYW5kOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7V0hBVCBUSEUgVE9XTiBGT1JHRVRTJmx0O2JyJmd0O0NBUk9MSU5FIENBTiBOQU1FLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gdGhlIGNlbWV0ZXJ5IG1hcC0mZ3Q7Q2VtZXRlcnlIdWJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDQwIiBuYW1lPSJDZW1ldGVyeUVwaXRhcGhQdXp6bGUiIHRhZ3M9ImVwaXNvZGUzIGNlbWV0ZXJ5IGJnLWNlbWV0ZXJ5IiBwb3NpdGlvbj0iODc4MCwyNTg1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7UmVzdG9yZSB0aGUgb3JpZ2luYWwgY2VtZXRlcnkgZXBpdGFwaCBiZWZvcmUgc3VucmlzZSZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtmb3JtYWwtcHV6emxlIGNlbWV0ZXJ5LXB1enpsZSBjZW1ldGVyeS1wdXp6bGUtZW50ZXImcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtmb3JtYWwtcHV6emxlLWhlYWQmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSBUaHJlZSBQdXp6bGUmbHQ7L3NwYW4mZ3Q7Jmx0O2gyJmd0O1RoZSBDaGFuZ2luZyBFcGl0YXBoJmx0Oy9oMiZndDsmbHQ7cCZndDtUaHJlZSBpbnNjcmlwdGlvbnMga2VlcCBjaGFuZ2luZy4gVXNlIHRoZSBnYXRoZXJlZCBldmlkZW5jZSB0byBjaG9vc2UgdGhlIG9yaWdpbmFsIGxpbmUuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpdGFwaC1vcHRpb25zIGVwaXRhcGgtY2x1ZS1yZXZlYWwmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7YiZndDtGb3VuZGVycyYjMzk7IFJvdyZsdDsvYiZndDsmbHQ7c3BhbiZndDtUSEUgVE9XTiBCVVJJRUQgVEhFIERPT1IuLi4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7YiZndDtDaGlsZHJlbiYjMzk7cyBIaWxsJmx0Oy9iJmd0OyZsdDtzcGFuJmd0O05BTUVTIFJFTUVNQkVSLi4uJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7VW5tYXJrZWQgQ2lyY2xlJmx0Oy9iJmd0OyZsdDtzcGFuJmd0O1dIQVQgVEhFIFRPV04gRk9SR0VUUy4uLiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDtUaGUgY29ycmVjdCBlcGl0YXBoIG11c3QgZXhwbGFpbiBhbGwgdGhyZWUgc2VjdGlvbnMgd2l0aG91dCBncmFudGluZyBDYXJvbGluZSBvd25lcnNoaXAgb2YgdGhlIGZvcmdvdHRlbi4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtYW5zd2VyLWdyaWQmcXVvdDsmZ3Q7W1tXSEFUIFRIRSBUT1dOIEZPUkdFVFMgQkVMT05HUyBUTyBDQVJPTElORS0mZ3Q7Q2VtZXRlcnlFcGl0YXBoV3JvbmddXVtbVEhFIERPT1IgUkVNRU1CRVJTIEVWRVJZIE5BTUUgVEhFIFRPV04gRk9SR09ULSZndDtDZW1ldGVyeUVwaXRhcGhTb2x2ZWRdXVtbVEhFIERFQUQgTVVTVCBPUEVOIFdIQVQgVEhFIExJVklORyBTRUFMRUQtJmd0O0NlbWV0ZXJ5RXBpdGFwaFdyb25nXV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ0MSIgbmFtZT0iQ2VtZXRlcnlFcGl0YXBoV3JvbmciIHRhZ3M9ImVwaXNvZGUzIGNlbWV0ZXJ5IGJnLWNlbWV0ZXJ5IiBwb3NpdGlvbj0iODIwMCwyNzIwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkY2VtZXRlcnlQdXp6bGVBdHRlbXB0cyArPSAxJmd0OyZndDsmbHQ7Jmx0O3NldCAkcHV6emxlTWlzdGFrZXMgKz0gMSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcmV2ZWFsIHJldHJ5IGNlbWV0ZXJ5LXJlamVjdCZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyZXZlYWwtaWNvbiZxdW90OyZndDshJmx0Oy9zcGFuJmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgY2VtZXRlcnkgYWNjZXB0cyB0aGUgd29yZHMgdG9vIGVhc2lseSZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O1RoZSBzZWxlY3RlZCBsaW5lIGdpdmVzIENhcm9saW5lIGNvbnRyb2wgb3IgY29tbWFuZHMgdGhlIGRlYWQgdG8gb3BlbiB0aGUgYm91bmRhcnkuIENob29zZSB0aGUgbGluZSB0aGF0IHByZXNlcnZlcyBuYW1lcyB3aXRob3V0IHN1cnJlbmRlcmluZyB0aGVtLiZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2dyYXZlLWR1c3QmcXVvdDsmZ3Q7Jmx0O2kmZ3Q7Jmx0Oy9pJmd0OyZsdDtpJmd0OyZsdDsvaSZndDsmbHQ7aSZndDsmbHQ7L2kmZ3Q7Jmx0O2kmZ3Q7Jmx0Oy9pJmd0OyZsdDtpJmd0OyZsdDsvaSZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmVjb25zdHJ1Y3QgdGhlIGVwaXRhcGggYWdhaW4tJmd0O0NlbWV0ZXJ5RXBpdGFwaFB1enpsZV1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NDIiIG5hbWU9IkNlbWV0ZXJ5RXBpdGFwaFNvbHZlZCIgdGFncz0iZXBpc29kZTMgY2VtZXRlcnkgYmctY2VtZXRlcnkiIHBvc2l0aW9uPSI4MzQ1LDI3MjAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjZW1ldGVyeVB1enpsZVNvbHZlZCA9IHRydWUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXJldmVhbCBzdWNjZXNzIGNlbWV0ZXJ5LXNvbHZlZC1mbGFzaCZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtyZXZlYWwtaWNvbiZxdW90OyZndDvinJMmbHQ7L3NwYW4mZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O09yaWdpbmFsIGVwaXRhcGggcmVzdG9yZWQmbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtUSEUgRE9PUiBSRU1FTUJFUlMgRVZFUlkgTkFNRSBUSEUgVE9XTiBGT1JHT1QuJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVzdG9yZWQtZXBpdGFwaCZxdW90OyZndDtUSEUgRE9PUiBSRU1FTUJFUlMgRVZFUlkgTkFNRSBUSEUgVE9XTiBGT1JHT1QuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt0d2VsdmUtc3RvbmVzJnF1b3Q7Jmd0OyZsdDtpJmd0OyZsdDsvaSZndDsmbHQ7aSZndDsmbHQ7L2kmZ3Q7Jmx0O2kmZ3Q7Jmx0Oy9pJmd0OyZsdDtpJmd0OyZsdDsvaSZndDsmbHQ7aSZndDsmbHQ7L2kmZ3Q7Jmx0O2kmZ3Q7Jmx0Oy9pJmd0OyZsdDtpJmd0OyZsdDsvaSZndDsmbHQ7aSZndDsmbHQ7L2kmZ3Q7Jmx0O2kmZ3Q7Jmx0Oy9pJmd0OyZsdDtpJmd0OyZsdDsvaSZndDsmbHQ7aSZndDsmbHQ7L2kmZ3Q7Jmx0O2kmZ3Q7Jmx0Oy9pJmd0OyZsdDsvZGl2Jmd0OyZsdDtwJmd0O1RoZSB3b3JkcyBzcHJlYWQgYWNyb3NzIGFsbCB0d2VsdmUgYmxhbmsgc3RvbmVzLiBUaGUgY2VtZXRlcnkgc3RvcHBlZCBjaGFuZ2luZy4mbHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LXAyIHN0YW5kYXJkIGJhdGNoMyB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtjaGFuZ2luZ19lcGl0YXBoJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfY2hhbmdpbmdfZXBpdGFwaC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7bWVtb3J5LWdyYXZlLW9wZW5pbmcmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7Jmx0Oy9zcGFuJmd0OyZsdDtiJmd0O01FTU9SWSBHUkFWRSZsdDsvYiZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDtBdCB0aGUgY2VudGVyIG9mIHRoZSBjaXJjbGUsIHNvaWwgZm9sZGVkIGRvd253YXJkIGxpa2UgYSBwYWdlIGJlaW5nIHR1cm5lZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW09wZW4gdGhlIG1lbW9yeSBncmF2ZS0mZ3Q7Q2VtZXRlcnlNZW1vcnlHcmF2ZV1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NDMiIG5hbWU9IkNlbWV0ZXJ5TWVtb3J5R3JhdmUiIHRhZ3M9ImVwaXNvZGUzIGNlbWV0ZXJ5IGJnLW1lbW9yeWdyYXZlIiBwb3NpdGlvbj0iODQ5MCwyNzIwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbWVtb3J5R3JhdmVPcGVuZWQgPSB0cnVlJmd0OyZndDsmbHQ7cCZndDtCZW5lYXRoIHRoZSBzb2lsIHdhcyBhIHN0b25lIGNoYW1iZXIgbm8gbGFyZ2VyIHRoYW4gYSBjbG9zZXQuJmx0Oy9wJmd0OyZsdDtwJmd0O1RocmVlIHJpbmctc2hhcGVkIHNwYWNlcyBoYWQgYmVlbiBjYXJ2ZWQgaW50byBpdHMgYmFjayB3YWxsLiBQdXJwbGUgYW5kIGdyZWVuIGxpZ2h0IGZpbGxlZCB0d28gb2YgdGhlbS4gVGhlIHRoaXJkIHJlbWFpbmVkIGRhcmsgcmVkLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2dyYXZlLXJpbmctc2xvdHMmcXVvdDsmZ3Q7Jmx0O2kgY2xhc3M9JnF1b3Q7cHVycGxlLXNsb3QmcXVvdDsmZ3Q7Jmx0Oy9pJmd0OyZsdDtpIGNsYXNzPSZxdW90O2dyZWVuLXNsb3QmcXVvdDsmZ3Q7Jmx0Oy9pJmd0OyZsdDtpIGNsYXNzPSZxdW90O3JlZC1zbG90JnF1b3Q7Jmd0OyZsdDsvaSZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDtJbiBmcm9udCBvZiB0aGUgcmVkIHNwYWNlIHJlc3RlZCBhIHNlYWxlZCBlbnZlbG9wZSBhZGRyZXNzZWQgaW4gZmFkZWQgaW5rOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FmdGVyc2hvY2stY29kZSZxdW90OyZndDtGT1IgU1BFTkNFUiZsdDticiZndDtXSEVOIENBUk9MSU5FIFJFVFVSTlMmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1wcm9tcHQmcXVvdDsmZ3Q7V2hvIHNob3VsZCBvcGVuIENhcm9saW5lJiMzOTtzIGVudmVsb3BlPyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tMZXQgTXIuIEFzaHRvbiBvcGVuIGl0LSZndDtDZW1ldGVyeUFzaHRvbkxldHRlcl1dW1tMZXQgS2ltbXkgZG9jdW1lbnQgaXQgYmVmb3JlIG9wZW5pbmctJmd0O0NlbWV0ZXJ5S2ltbXlMZXR0ZXJdXVtbVXNlIHRoZSBwdXJwbGUgcmluZyYjMzk7cyBsaWdodCB0byByZXZlYWwgdGhlIGNvbnRlbnRzIHdpdGhvdXQgYnJlYWtpbmcgdGhlIHNlYWwtJmd0O0NlbWV0ZXJ5UHVycGxlTGV0dGVyXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ0NCIgbmFtZT0iQ2VtZXRlcnlBc2h0b25MZXR0ZXIiIHRhZ3M9ImVwaXNvZGUzIGNlbWV0ZXJ5IGJnLW1lbW9yeWdyYXZlIiBwb3NpdGlvbj0iODYzNSwyNzIwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkYXNodG9uUGFzdFJldmVhbGVkID0gdHJ1ZSZndDsmZ3Q7Jmx0O3AmZ3Q7TXIuIEFzaHRvbiYjMzk7cyBoYW5kcyByZW1haW5lZCBzdGVhZHkgdW50aWwgaGUgdW5mb2xkZWQgdGhlIHBhZ2UuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBsZXR0ZXIgY29udGFpbmVkIG9ubHkgdHdvIGxpbmVzOiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCByaWdodCB0aWx0LW4xIHN0YW5kYXJkIGJhdGNoMyB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtjYXJvbGluZV9sZXR0ZXImcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9jYXJvbGluZV9sZXR0ZXIucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7SSBESUQgTk9UIExFQVZFIFlPVS4mbHQ7YnImZ3Q7SSBMRUZUIFRPIEtFRVAgSEVSIEFTTEVFUC4mbHQ7L2RpdiZndDsmbHQ7cCZndDtJbnNpZGUgdGhlIGZvbGQgd2FzIGEgZHJhd2luZyBvZiB0aGUgdGluIHNvbGRpZXIgc3RhbmRpbmcgb3ZlciBhIGJsYWNrIGNpcmNsZSBiZW5lYXRoIHRoZSBjZW1ldGVyeS4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGNhcm9saW5lQ2VtZXRlcnlNZXNzYWdlID0gJnF1b3Q7Q2Fyb2xpbmUgY2xhaW1zIHNoZSBsZWZ0IHRvIGtlZXAgc29tZXRoaW5nIGJlbmVhdGggdGhlIGNlbWV0ZXJ5IGFzbGVlcCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0V4YW1pbmUgdGhlIGJsYWNrIGNpcmNsZSBiZW5lYXRoIHRoZSBtZXNzYWdlLSZndDtDZW1ldGVyeUJlbG93V2FybmluZ11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NDUiIG5hbWU9IkNlbWV0ZXJ5S2ltbXlMZXR0ZXIiIHRhZ3M9ImVwaXNvZGUzIGNlbWV0ZXJ5IGJnLW1lbW9yeWdyYXZlIiBwb3NpdGlvbj0iODc4MCwyNzIwIiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtLaW1teSBwaG90b2dyYXBoZWQgdGhlIHNlYWwsIHBhcGVyIGZpYmVycywgaGFuZHdyaXRpbmcsIGFuZCBwbGFjZW1lbnQgYmVmb3JlIE1yLiBBc2h0b24gb3BlbmVkIGl0LiZsdDsvcCZndDsmbHQ7Jmx0O2lmICRraW1teU9wdGlvbmFsRm91bmQmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBmaXJzdCBsaW5lIG1hdGNoZWQgQ2Fyb2xpbmUmIzM5O3MgcmVkIGNvcnJlY3Rpb25zLiBUaGUgc2Vjb25kIGxpbmUgaGFkIGJlZW4gYWRkZWQgYnkgdGhlIG9sZGVyIHJlY29yZCBrZWVwZXIgd2hvIHByZXNlcnZlZCB0aGUgdGhyZWUgZ2lybHMmIzM5OyBuYW1lcy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7JnF1b3Q7VHdvIHBlb3BsZSB3cm90ZSB0aGlzIHdhcm5pbmcsJnF1b3Q7IEtpbW15IHNhaWQuICZxdW90O0Nhcm9saW5lIG1hZGUgdGhlIGNsYWltLiBTb21lb25lIGVsc2UgY29uZmlybWVkIGl0LiZxdW90OyZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0O0kgRElEIE5PVCBMRUFWRSBZT1UuJmx0O2JyJmd0O0kgTEVGVCBUTyBLRUVQIEhFUiBBU0xFRVAuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtzZXQgJGNhcm9saW5lQ2VtZXRlcnlNZXNzYWdlID0gJnF1b3Q7QSBzZWNvbmQgcmVjb3JkIGtlZXBlciBjb25maXJtZWQgQ2Fyb2xpbmUmIzM5O3Mgd2FybmluZyZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0RldGVybWluZSB3aG8gQ2Fyb2xpbmUgbWVhbnQgYnkgaGVyLSZndDtDZW1ldGVyeUJlbG93V2FybmluZ11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NDYiIG5hbWU9IkNlbWV0ZXJ5UHVycGxlTGV0dGVyIiB0YWdzPSJlcGlzb2RlMyBjZW1ldGVyeSBiZy1tZW1vcnlncmF2ZSIgcG9zaXRpb249IjgyMDAsMjg1NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7UHVycGxlIGxpZ2h0IHBhc3NlZCB0aHJvdWdoIHRoZSBlbnZlbG9wZS4gVGhlIHBhcGVyIGJlY2FtZSB0cmFuc3BhcmVudCB3aXRob3V0IG9wZW5pbmcuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjIgc3RhbmRhcmQgYmF0Y2gzIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O21lbW9yeV9ncmF2ZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX21lbW9yeV9ncmF2ZS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtwJmd0O09uZSBtZXNzYWdlIGFwcGVhcmVkIGluIGluay4gQW5vdGhlciBhcHBlYXJlZCBiZW5lYXRoIGl0IGFzIGEgbWVtb3J5OiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2xldHRlci1sYXllcnMmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7Q0FST0xJTkU6IEkgTEVGVCBUTyBLRUVQIEhFUiBBU0xFRVAuJmx0Oy9zcGFuJmd0OyZsdDtzcGFuJmd0O0NPUkE6IFlPVSBXT0tFIEhFUiBXSEVOIFlPVSBUUklFRCBUTyBSRVRVUk4uJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7c2V0ICRjYXJvbGluZUNlbWV0ZXJ5TWVzc2FnZSA9ICZxdW90O0NvcmEgc2F5cyBDYXJvbGluZSB3b2tlIHRoZSBzbGVlcGVyIGJ5IHRyeWluZyB0byByZXR1cm4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRjZW1ldGVyeUNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7Q29yYSYjMzk7cyBoaWRkZW4gY29ycmVjdGlvbiBjb250cmFkaWN0cyBDYXJvbGluZSYjMzk7cyBsZXR0ZXImcXVvdDspJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbTG9vayBiZW5lYXRoIHRoZSBtZW1vcnkgZ3JhdmUtJmd0O0NlbWV0ZXJ5QmVsb3dXYXJuaW5nXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ0NyIgbmFtZT0iQ2VtZXRlcnlCZWxvd1dhcm5pbmciIHRhZ3M9ImVwaXNvZGUzIGNlbWV0ZXJ5IGJnLW1lbW9yeWdyYXZlIiBwb3NpdGlvbj0iODM0NSwyODU1IiBzaXplPSIxMDAsMTAwIj4mbHQ7cCZndDtUaGUgYmxhY2sgY2lyY2xlIGluIHRoZSBsZXR0ZXIgYWxpZ25lZCB3aXRoIGEgcm91bmQgc3RvbmUgYmVuZWF0aCB0aGUgZW52ZWxvcGUuJmx0Oy9wJmd0OyZsdDtwJmd0O0tldmluJiMzOTtzIHdhdGNoIGJlZ2FuIGNvdW50aW5nIHVwd2FyZCBpbnN0ZWFkIG9mIGRvd246Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7d2F0Y2gtZGlzcGxheSZxdW90OyZndDswOjAxJmx0O2JyJmd0OzA6MDImbHQ7YnImZ3Q7MDowMyZsdDsvZGl2Jmd0OyZsdDtwJmd0O0Zyb20gZmFyIGJlbG93IGNhbWUgYSBzb3VuZCBsaWtlIGEgcGVyc29uIHR1cm5pbmcgb3ZlciBpbiBzbGVlcC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7RXZlcnkgZ3JhdmUgaW4gdGhlIGNlbWV0ZXJ5IHRpbHRlZCBvbmUgaW5jaCB0b3dhcmQgdGhlIGNoYW1iZXIuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2VtZXRlcnktZXZpZGVuY2UmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtOZXcgZGFuZ2VyOiZsdDsvc3Ryb25nJmd0OyBDYXJvbGluZSBpcyBub3QgdGhlIG9sZGVzdCBmb3JjZSBiZW5lYXRoIEJyZWNrZW5yaWRnZS4gSGVyIGF0dGVtcHRlZCByZXR1cm4gaXMgd2FraW5nIHNvbWV0aGluZyBidXJpZWQgYmVsb3cgdGhlIGNlbWV0ZXJ5LiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tDbG9zZSB0aGUgbWVtb3J5IGdyYXZlIGJlZm9yZSBzdW5yaXNlLSZndDtDZW1ldGVyeVNlYWxHcmF2ZV1dW1tMaXN0ZW4gZm9yIG9uZSBtb3JlIGNsdWUtJmd0O0NlbWV0ZXJ5TGlzdGVuQmVsb3ddXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDQ4IiBuYW1lPSJDZW1ldGVyeUxpc3RlbkJlbG93IiB0YWdzPSJlcGlzb2RlMyBjZW1ldGVyeSBiZy1tZW1vcnlncmF2ZSIgcG9zaXRpb249Ijg0OTAsMjg1NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q7U2Nvb3QgcHJlc3NlZCB0aGUgbm90ZWJvb2sgYWdhaW5zdCB0aGUgcm91bmQgc3RvbmUuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBwYWdlcyBmaWxsZWQgd2l0aCBvbmUgcmVwZWF0ZWQgc2VudGVuY2U6Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDtUSEUgRk9VUlRIIE5BTUUgSVMgTk9UIEEgU0lTVEVSLiZsdDsvZGl2Jmd0OyZsdDtwJmd0O1RoZW4gYSBmaW5hbCBsaW5lIGFwcGVhcmVkIGluIHNtYWxsZXIgd3JpdGluZzombHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtpbnRlcm5hbC10aG91Z2h0JnF1b3Q7Jmd0O0FTSyBDQVJBIFdIQVQgVEhFIFNDSE9PTCBXQVMgQlVJTFQgVE8gSElERS4mbHQ7L2RpdiZndDsmbHQ7Jmx0O3J1biAkY2VtZXRlcnlDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBmb3VydGggbmFtZSBpcyBub3QgYW4gQXNjaGVyZG93biBzaXN0ZXImcXVvdDspJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbU2VhbCB0aGUgZ3JhdmUgYW5kIHByZXNlcnZlIHRoZSB3YXJuaW5nLSZndDtDZW1ldGVyeVNlYWxHcmF2ZV1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NDkiIG5hbWU9IkNlbWV0ZXJ5U2VhbEdyYXZlIiB0YWdzPSJlcGlzb2RlMyBjZW1ldGVyeSBiZy1jZW1ldGVyeSIgcG9zaXRpb249Ijg2MzUsMjg1NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtncmF2ZS1zZWFsLWFuaW1hdGlvbiZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3NlYWwtc3RvbmUmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtzZWFsLW1hcmsmcXVvdDsmZ3Q74pylJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7VGhlIGdyb3VwIHJlcGxhY2VkIHRoZSBlbnZlbG9wZSBhbmQgY2xvc2VkIHRoZSBzdG9uZSBjaGFtYmVyLiZsdDsvcCZndDsmbHQ7Jmx0O2lmICRoZXhhZm9pbFB1enpsZVNvbHZlZCZndDsmZ3Q7Jmx0O3AmZ3Q7VGhleSBhcnJhbmdlZCBzaXggbG9vc2UgbWFya2VycyBpbiB0aGUgc2FtZSBvdXRlciBhbmQgaW5uZXIgcGF0dGVybiB1c2VkIGF0IHRoZSBXaW5jaGVzdGVyIGhvdXNlLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgc2VhbCBoZWxkIGJlZm9yZSB0aGUgZmlyc3Qgc3VubGlnaHQgY3Jvc3NlZCB0aGUgaGlsbC4mbHQ7L3AmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtNci4gQXNodG9uIHRyYWNlZCB0aGUgc2l4LXBldGFsIHBhdHRlcm4gZnJvbSBtZW1vcnkuIFRoZSBsaW5lcyBoZWxkLCB0aG91Z2ggb25lIHBldGFsIHJlbWFpbmVkIGZhaW50LiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGNlbWV0ZXJ5IHNpZ24gcmV0dXJuZWQgdG8gbm9ybWFsLiBNb3N0IGdyYXZlc3RvbmVzIHJlY292ZXJlZCB0aGVpciBuYW1lcy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7T25lIGRpZCBub3QuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Z3JhdmUtY2xpZmZoYW5nZXIgZ3JhdmUtbmFtZS1yZXZlYWwmcXVvdDsmZ3Q7Jmx0O3NwYW4mZ3Q7VU5LTk9XTiZsdDsvc3BhbiZndDsmbHQ7YiZndDtUSEUgRk9VUlRIIE5BTUUmbHQ7L2ImZ3Q7Jmx0O3NtYWxsJmd0O1dBSVRJTkcgQkVMT1cmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkIGNlbWV0ZXJ5LWNoYXB0ZXImcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O0NlbWV0ZXJ5IEludmVzdGlnYXRpb24gQ29tcGxldGUmbHQ7L2RpdiZndDsmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7VGhlIE5hbWUgVGhhdCBXYXNuJiMzOTt0IGEgU2lzdGVyJmx0Oy9oMSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7VGhlIG5leHQgYW5zd2VyIHdhaXRzIGluc2lkZSB0aGUgc2Nob29sIENhcmEgaXMgZ3VhcmRpbmcuJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtzZXQgJGVwaXNvZGVUaHJlZUxlYWQgPSAmcXVvdDtzY2hvb2wtbmV4dCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldmlldyB3aGF0IHRoZSBldmlkZW5jZSBub3cgcHJvdmVzLSZndDtQaGFzZUZpdmVDb25jbHVzaW9uXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ1MCIgbmFtZT0iTW9yZUNvbWluZ1Nvb24iIHRhZ3M9ImVuZGluZyBjb21pbmctc29vbiIgcG9zaXRpb249IjkwNTAsMjgwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlOiBDYXNlIFBhdXNlZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0F3YWl0IHRoZSBuZXh0IGNoYXB0ZXImcXVvdDsmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NvbWluZy1zb29uLXBhZ2UmcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb21pbmctc29vbi1zeW1ib2wmcXVvdDsmZ3Q74pylJmx0Oy9kaXYmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Y29taW5nLXNvb24ta2lja2VyJnF1b3Q7Jmd0O1RoZSBCcmVja2VucmlkZ2UgTXlzdGVyaWVzIHdpbGwgY29udGludWUmbHQ7L3NwYW4mZ3Q7Jmx0O2gxJmd0O01vcmUgSXMgQ29taW5nIFNvb24mbHQ7L2gxJmd0OyZsdDtwIGNsYXNzPSZxdW90O2NvbWluZy1zb29uLWxlYWQmcXVvdDsmZ3Q7VGhlIGludmVzdGlnYXRpb24gaXMgb25seSBiZWdpbm5pbmcuJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NvbWluZy1zb29uLXJlY2FwJnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7QWJiaWUgaXMgc2FmZSZsdDsvYiZndDsmbHQ7c3BhbiZndDtUaGUgV2luY2hlc3RlciBjcm9zc2luZyBoYXMgYmVlbiBzZWFsZWQgZm9yIG5vdy4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7YiZndDtDb3JhIGhhcyBiZWVuIGZvdW5kJmx0Oy9iJmd0OyZsdDtzcGFuJmd0O1RoZSBwdXJwbGUtcmluZyBsaWJyYXJpYW4gaXMgcHJlc2VydmluZyBtZW1vcmllcyBDYXJvbGluZSB0cmllZCB0byByZXdyaXRlLiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDtiJmd0O1RoZSBjZW1ldGVyeSB3YXJuaW5nIHJlbWFpbnMmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7VGhlIGZvdXJ0aCBuYW1lIGlzIG5vdCBhbiBBc2NoZXJkb3duIHNpc3Rlci4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7YiZndDtUaGUgbmV4dCBhbnN3ZXIgaXMgYXQgdGhlIHNjaG9vbCZsdDsvYiZndDsmbHQ7c3BhbiZndDtDYXJhIGtub3dzIHdoYXQgQnJlY2tlbnJpZGdlIE1pZGRsZSB3YXMgYnVpbHQgdG8gaGlkZS4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0O1BoYXNlIDYgaXMgY29tcGxldGUuIFRoZSBjdXJyZW50IGJ1aWxkIGVuZHMgYXQgYSBmdWxsIHN0b3J5IG1pbGVzdG9uZSBhZnRlciB0aGUgZ3JlZW4tcmluZyBzY2hvb2wgaW52ZXN0aWdhdGlvbi4mbHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29taW5nLXNvb24tbWVzc2FnZSZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O1RoYW5rIHlvdSBmb3IgcGxheWluZy4mbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtZb3VyIGF1dG9zYXZlIGFuZCBjYXNlIHByb2dyZXNzIHdpbGwgcmVtYWluIGF2YWlsYWJsZSBpbiB0aGlzIGJyb3dzZXIuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NvbWluZy1zb29uLWFjdGlvbnMmcXVvdDsmZ3Q7Jmx0O2RpdiZndDtbW0JlZ2luIFBoYXNlIDY6IFRoZSBHcmVlbi1SaW5nIFNjaG9vbCBJbnZlc3RpZ2F0aW9uLSZndDtQaGFzZVNpeE9wZW5pbmddXSZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7W1tSZXZpZXcgdGhlIGN1cnJlbnQgY2FzZSBmaWxlLSZndDtDYXNlUmVzdWx0c11dJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtbW1JldHVybiB0byB0aGUgdGl0bGUgc2NyZWVuLSZndDtTdGFydF1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtzbWFsbCBjbGFzcz0mcXVvdDtjb21pbmctc29vbi12ZXJzaW9uJnF1b3Q7Jmd0O0N1cnJlbnQgc3RvcnkgYnVpbGQ6IEVwaXNvZGUgVGhyZWUsIENlbWV0ZXJ5IEludmVzdGlnYXRpb24mbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDUxIiBuYW1lPSJQaGFzZUZpdmVDb25jbHVzaW9uIiB0YWdzPSJwaGFzZTUgYmctY2xhc3Nyb29tIiBwb3NpdGlvbj0iOTc0MCwzMDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcGhhc2U1QnJpZGdlU2VlbiA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gMTUmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZTogRXZpZGVuY2UgQ29uZmVyZW5jZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0RldGVybWluZSB3aGF0IENhcmEgaXMgZ3VhcmRpbmcgYmVuZWF0aCB0aGUgc2Nob29sJnF1b3Q7Jmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQgZ3JlZW4tY2hhcHRlciZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7UGhhc2UgRml2ZTogRXZpZGVuY2UgQ29ubmVjdGVkJmx0Oy9kaXYmZ3Q7Jmx0O2gxIGNsYXNzPSZxdW90O3Bvdi1uYW1lJnF1b3Q7Jmd0O1RocmVlIEVudHJhbmNlcywgT25lIEJ1cmllZCBTdHJ1Y3R1cmUmbHQ7L2gxJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtUaGUgY2FzZSBubyBsb25nZXIgY29uc2lzdHMgb2Ygc2VwYXJhdGUgbXlzdGVyaWVzJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0O0tpbW15IHNwcmVhZCB0aGUgcGhvdG9ncmFwaHMsIGxpYnJhcnkgY2FyZHMsIGNlbWV0ZXJ5IHJ1YmJpbmdzLCBhbmQgY29waWVkIHJlZ2lzdHJ5IHBhZ2VzIGFjcm9zcyBNci4gQXNodG9u4oCZcyBkZXNrLiZsdDsvcCZndDsKJmx0OyZsdDtpZiAkZGVkdWN0aW9uQWR2YW50YWdlcy5ib3VuZGFyeSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwaGFzZTUtcGF5b2ZmJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7VGhlIEJ1cmllZCBCb3VuZGFyeSZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O1RoZSB0b3duIGxpYnJhcnksIGNlbWV0ZXJ5LCBhbmQgc2Nob29sIHN0YW5kIG92ZXIgc2VwYXJhdGUgZW50cmFuY2VzIHRvIHRoZSBzYW1lIHVuZGVyZ3JvdW5kIHN0cnVjdHVyZS4gVGhlIHNhZmVzdCByb3V0ZSBiZWdpbnMgYmVuZWF0aCB0aGUgaGlzdG9yeSBjbGFzc3Jvb20uJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIGxlZnQgdGlsdC1wMSBzdGFuZGFyZCBiYXRjaDMgd2lkZSB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtidXJpZWRfbmV0d29yayZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2J1cmllZF9uZXR3b3JrLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtUaGUgZXZpZGVuY2Ugc3VnZ2VzdGVkIHRoYXQgdGhlIHNjaG9vbCwgbGlicmFyeSwgYW5kIGNlbWV0ZXJ5IHdlcmUgY29ubmVjdGVkLCBidXQgdGhlIGV4YWN0IHVuZGVyZ3JvdW5kIHJvdXRlIHJlbWFpbmVkIHVuY2VydGFpbi4mbHQ7L3AmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRkZWR1Y3Rpb25BZHZhbnRhZ2VzLmZvdXJ0aCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwaGFzZTUtcGF5b2ZmJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7VGhlIEZvdXJ0aCBOYW1lJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgY3Jvc3NlZCBvdXQgdGhlIHdvcmQgJmx0O2VtJmd0O3Npc3RlciZsdDsvZW0mZ3Q7LiDigJxUaGUgZm91cnRoIG5hbWUgaXMgYSBmdW5jdGlvbizigJ0gc2hlIHNhaWQuIOKAnEEgZ2F0ZWtlZXBlciwgYSBwcmlzb25lciwgb3IgYSBrZXku4oCdJmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGZvdXJ0aCBuYW1lIHJlbWFpbmVkIHVuaWRlbnRpZmllZCwgYnV0IG5vIG9uZSBiZWxpZXZlZCBpdCBiZWxvbmdlZCB0byBhbm90aGVyIEFzY2hlcmRvd24gc2lzdGVyLiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJGRlZHVjdGlvbkFkdmFudGFnZXMuc3BlbmNlciZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwaGFzZTUtcGF5b2ZmJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2Fyb2xpbmUgYW5kIFNwZW5jZXImbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtNci4gQXNodG9uIHN0b3BwZWQgd2l0aGhvbGRpbmcgdGhlIHJlc3QuIOKAnENhcm9saW5lIGNhbGxlZCBtZSBTcGVuY2VyIGJlZm9yZSB0aGUgdG93biB0YXVnaHQgZXZlcnlvbmUgdG8gZm9yZ2V0IGhlci4gQ2FyYSBrbmV3IHdoYXQgdGhlIHNjaG9vbCB3YXMgYnVpbHQgb3Zlci4gQ29yYSBrZXB0IHRoZSByZWNvcmRzLiBDYXJvbGluZSB0cmllZCB0byBvcGVuIGl0LuKAnSZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtwJmd0O01yLiBBc2h0b24gYWRtaXR0ZWQgdGhhdCBDYXJvbGluZSBoYWQga25vd24gaGltIGFzIGEgY2hpbGQsIHRob3VnaCBoZSBzdGlsbCBhdm9pZGVkIGV4cGxhaW5pbmcgd2hhdCBDYXJhIGd1YXJkZWQuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkZGVkdWN0aW9uQWR2YW50YWdlcy5zZWFsJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BoYXNlNS1wYXlvZmYmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgU2VhbOKAmXMgVHJ1ZSBEaXJlY3Rpb24mbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtSeWFuIHJvdGF0ZWQgdGhlIGNvcGllZCBoZXhhZm9pbCBzbyBpdHMgbG9ja2luZyBwb2ludCBmYWNlZCBkb3dud2FyZC4gVGhlIHNlYWwgd2FzIG5vdCBrZWVwaW5nIGFuIGludHJ1ZGVyIG91dC4gSXQgd2FzIGhvbGRpbmcgc29tZXRoaW5nIGJlbmVhdGggQnJlY2tlbnJpZGdlLiZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtwJmd0O1Njb290IHdhcm5lZCBldmVyeW9uZSBub3QgdG8gcmVkcmF3IHRoZSB1bmRlcmdyb3VuZCBzZWFsIHVudGlsIGl0cyBjb3JyZWN0IGRpcmVjdGlvbiBjb3VsZCBiZSB2ZXJpZmllZC4mbHQ7L3AmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7cCZndDtUaGUgZ3JlZW4gdGhyZWFkIGZyb20gQWJiaWXigJlzIGNhdCBib29rIGxheSBhY3Jvc3MgdGhlIHNjaG9vbCBtYXAuIE9uZSBlbmQgdG91Y2hlZCBDYXJh4oCZcyByZWNvcmRlZCBuYW1lLiBUaGUgb3RoZXIgZW5kZWQgYmVuZWF0aCB0aGUgaGlzdG9yeSBjbGFzc3Jvb20uJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7TkVYVCBPQkpFQ1RJVkUmbHQ7YnImZ3Q7RU5URVIgVEhFIEhJRERFTiBMRVZFTCBCRU5FQVRIIE1SLiBBU0hUT07igJlTIENMQVNTUk9PTSZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV2aWV3IHRoZSBjb21wbGV0ZWQgZXZpZGVuY2UgZmlsZS0mZ3Q7Q2FzZVJlc3VsdHNdXVtbQmVnaW4gdGhlIGdyZWVuLXJpbmcgc2Nob29sIGludmVzdGlnYXRpb24tJmd0O1BoYXNlU2l4T3BlbmluZ11dW1tQYXVzZSB0aGUgaW52ZXN0aWdhdGlvbiBoZXJlLSZndDtNb3JlQ29taW5nU29vbl1dJmx0Oy9kaXYmZ3Q7CgovKiBWNC4zIGJvdW5kYXJ5IGNoZWNrcG9pbnQgY2hhcHRlciAxNSAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDNDYXB0dXJlQm91bmRhcnkoMTUsICZxdW90O1BoYXNlRml2ZUNvbmNsdXNpb24mcXVvdDssIDQpJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAudjQ0Q2FwdHVyZUNoYXB0ZXIoMTUsICZxdW90O1BoYXNlRml2ZUNvbmNsdXNpb24mcXVvdDssIDQpJmd0OyZndDsKCiZsdDshLS0gQjUuMSBjYWxsYmFjayAtLSZndDsKJmx0OyZsdDtpZiAkbWFqb3JDb25zZXF1ZW5jZXMuaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O2hvdXNlJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLWNhbGxiYWNrJnF1b3Q7Jmd0O1RoZSBob3VzZSByb3V0ZSBoYWQgdGF1Z2h0IHRoZSBncm91cCBob3cgdGhlIGRhbmdlciB1c2VkIGZhbWlseSBzcGFjZXMuIFRoZXkgZW50ZXJlZCB0aGUgbGF0ZXIgcGhhc2UgYmV0dGVyIHByZXBhcmVkIGZvciBpbWl0YXRpb24sIGJ1dCB3aXRoIGZld2VyIHVuZGVyZ3JvdW5kIG1lYXN1cmVtZW50cy4mbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlaWYgJG1ham9yQ29uc2VxdWVuY2VzLmludmVzdGlnYXRpb25Sb3V0ZSBpcyAmcXVvdDtwYXNzYWdlJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLWNhbGxiYWNrJnF1b3Q7Jmd0O1RoZSBoaWRkZW4tcGFzc2FnZSByb3V0ZSBnYXZlIEtpbW15IGFuZCBSeWFuIGEgY2xlYXJlciBtb2RlbCBvZiB0aGUgc2VhbGVkIGxldmVscy4gVGhlIHNhbWUgZXZpZGVuY2UgYWxzbyBzaG93ZWQgaG93IG9mdGVuIHRoZXkgaGFkIGNyb3NzZWQgd2F0Y2hlZCB0aHJlc2hvbGRzLiZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2VpZiAkbWFqb3JDb25zZXF1ZW5jZXMuaW52ZXN0aWdhdGlvblJvdXRlIGlzICZxdW90O29hayZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtUaGUgb2FrIHJvdXRlIHJldmVhbGVkIHRoYXQgdGhlIG9sZGVzdCBib3VuZGFyeSBwcmVkYXRlZCB0aGUgaG91c2UgYW5kIHNjaG9vbC4gVGhhdCB0cnV0aCB3aWRlbmVkIHRoZSBteXN0ZXJ5IGFuZCBtYWRlIHRoZSBsYXRlciBzZWFsaW5nIHBsYW4gbW9yZSBkYW5nZXJvdXMuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7IS0tIEI1LjIgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiAkbWFqb3JDb25zZXF1ZW5jZXMuYXJjaGl2ZUZvY3VzIGlzICZxdW90O3BsYW5zJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLWNhbGxiYWNrJnF1b3Q7Jmd0O0tpbW154oCZcyBmbG9vci1wbGFuIHdvcmsgbWFkZSB0aGUgc2VhbGVkIGxldmVscyBlYXNpZXIgdG8gbW9kZWwuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlaWYgJG1ham9yQ29uc2VxdWVuY2VzLmFyY2hpdmVGb2N1cyBpcyAmcXVvdDt5ZWFyYm9va3MmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7VGhlIHllYXJib29rcyBzdHJlbmd0aGVuZWQgdGhlIGlkZW50aXR5IGNoYWluIGFjcm9zcyBnZW5lcmF0aW9ucy4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2VpZiAkbWFqb3JDb25zZXF1ZW5jZXMuYXJjaGl2ZUZvY3VzIGlzICZxdW90O25ld3NwYXBlcnMmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7VGhlIG5ld3NwYXBlciB0cmFpbCBzdXBwbGllZCBpbmRlcGVuZGVudCB3aXRuZXNzZXMsIHRob3VnaCB0aGUgYnVpbGRpbmcgbGF5b3V0IHJlbWFpbmVkIHVuY2VydGFpbi4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7XG4mbHQ7IS0tIEI1LjQgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiAkYWJpbGl0eUFkdmFudGFnZXMuaW5jbHVkZXMoJnF1b3Q7a2V2aW4tdGltZS1sb2NhdGlvbiZxdW90OykmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7S2V2aW7igJlzIHRpbWUtbG9jYXRpb24gcGF0dGVybiByZW1vdmVkIG9uZSBmYWxzZSBpbnRlcnByZXRhdGlvbiBmcm9tIHRoZSBncm91cOKAmXMgZmluYWwgdGhlb3J5LiZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2lmICRyeWFuQWN0aXZlUnVsZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtSeWFu4oCZcyBhY3RpdmUgcnVsZSBrZXB0IHRoZSBncm91cCBmcm9tIGFja25vd2xlZGdpbmcgdGhlIG5leHQgdGhyZXNob2xkIHRvbyBlYXJseS4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDshLS0gQjUuNSBhdHRlbnRpb24gcGF5b2ZmIC0tJmd0OyZsdDsmbHQ7aWYgc2V0dXAuYXR0ZW50aW9uU3RhdGUoKSBpcyAmcXVvdDtNYXJrZWQmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YXR0ZW50aW9uLXJlYWN0aW9uJnF1b3Q7Jmd0O1RoZSBncm91cCBoYWQgYmVjb21lIG1hcmtlZC4gRmFtaWxpYXIgZG9vcndheXMgbm93IG9wZW5lZCBhIGZyYWN0aW9uIHRvbyBzbG93bHksIGFzIGlmIGRlY2lkaW5nIHdoZXRoZXIgdG8gYWRtaXQgdGhlbS4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2VpZiBzZXR1cC5hdHRlbnRpb25TdGF0ZSgpIGlzICZxdW90O0h1bnRlZCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDthdHRlbnRpb24tcmVhY3Rpb24mcXVvdDsmZ3Q7VGhlIGRhbmdlciBubyBsb25nZXIgd2FpdGVkIGluc2lkZSBoYXVudGVkIHBsYWNlcy4gSXQgZm9sbG93ZWQgdGhlIGludmVzdGlnYXRvcnMgaW50byBvcmRpbmFyeSByb29tcy4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NTIiIG5hbWU9IkV2aWRlbmNlQXJjaGl2ZSIgdGFncz0icGhhc2U1IGJnLWNsYXNzcm9vbSIgcG9zaXRpb249Ijk4ODAsMzA1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7Q2FzZSBGaWxlOiBFdmlkZW5jZSBBcmNoaXZlJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7UGhhc2UgRml2ZSZsdDsvZGl2Jmd0OyZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtFbnZpcm9ubWVudGFsIEV2aWRlbmNlIEFyY2hpdmUmbHQ7L2gxJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtPYnNlcnZlZCwgcmVjb3JkZWQsIHJlcG9ydGVkLCBhbmQgc3VwZXJuYXR1cmFsIGZpbmRpbmdzJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgaWQ9JnF1b3Q7Ym0tZXZpZGVuY2UtYXJjaGl2ZS1ob3N0JnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSBjYXNlIHJlc3VsdHMtJmd0O0Nhc2VSZXN1bHRzXV0mbHQ7L2RpdiZndDsKJmx0OyZsdDtzY3JpcHQmZ3Q7Jmd0O3NldFRpbWVvdXQoZnVuY3Rpb24oKXtpZih3aW5kb3cuQnJlY2tFdmlkZW5jZUFyY2hpdmUpe3dpbmRvdy5CcmVja0V2aWRlbmNlQXJjaGl2ZS5yZW5kZXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJiMzOTtibS1ldmlkZW5jZS1hcmNoaXZlLWhvc3QmIzM5OykpO319LDApOyZsdDsmbHQ7L3NjcmlwdCZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NTMiIG5hbWU9IlBoYXNlU2l4T3BlbmluZyIgdGFncz0icGhhc2U2IGJnLWNsYXNzcm9vbSIgcG9zaXRpb249IjEwMTUwLDMyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRjaGFwdGVyID0gMTYmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBBZnRlciBIb3VycyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O09wZW4gdGhlIHNlYWxlZCBsZXZlbCBiZW5lYXRoIE1yLiBBc2h0b27igJlzIGNsYXNzcm9vbSZxdW90OyZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkIGdyZWVuLWNoYXB0ZXImcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O1BoYXNlIFNpeDogVGhlIEdyZWVuIFJpbmcmbHQ7L2RpdiZndDsmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7UmV0dXJuIHRvIHRoZSBTY2hvb2wmbHQ7L2gxJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDs5OjE0IFBNJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0O1RoZSBzY2hvb2wgc2hvdWxkIGhhdmUgYmVlbiBlbXB0eS4gSW5zdGVhZCwgYSBncmVlbiBsaW5lIHNob25lIGJlbmVhdGggTXIuIEFzaHRvbuKAmXMgY2xhc3Nyb29tIGRvb3IuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtcDEgc3RhbmRhcmQgZmluYWwyMCB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtncmVlbl9saWdodF9kb29yJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfZ3JlZW5fbGlnaHRfZG9vci5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtwJmd0O0luc2lkZSwgdGhlIHdhbGwgY2xvY2sgaGFkIHN0b3BwZWQgYXQgOToxNC4gVGhlIGN1dCBncmVlbiB0aHJlYWQgZnJvbSBBYmJpZeKAmXMgY2F0IGJvb2sgbGlmdGVkIGZyb20gS2ltbXnigJlzIGV2aWRlbmNlIGVudmVsb3BlIGFuZCBzdHJldGNoZWQgdG93YXJkIHRoZSBtYXAgY2FiaW5ldC4mbHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LW4yIHN0YW5kYXJkIGZpbmFsMjAgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7Z3JlZW5fdGhyZWFkX3JlYWN0cyZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2dyZWVuX3RocmVhZF9yZWFjdHMucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsKJmx0OyZsdDtpZiAkZGVkdWN0aW9uQWR2YW50YWdlcy5zcGVuY2VyJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BoYXNlNi1hZHZhbnRhZ2UmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtDYXJvbGluZSBhbmQgU3BlbmNlciZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O01yLiBBc2h0b24gaGFzIGFncmVlZCB0byB0ZWxsIHRoZSB0cnV0aCBhYm91dCBDYXJhIGFuZCB0aGUgY2xhc3Nyb29tIHNlYWwuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkZGVkdWN0aW9uQWR2YW50YWdlcy5ib3VuZGFyeSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwaGFzZTYtYWR2YW50YWdlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7VGhlIEJ1cmllZCBCb3VuZGFyeSZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O1RoZSBzYWZlIGVudHJ5IHBvaW50IGhhcyBhbHJlYWR5IGJlZW4gaWRlbnRpZmllZCBiZW5lYXRoIHRoZSBjbGFzc3Jvb20uJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0O3AmZ3Q7VGhyZWUgYXBwcm9hY2hlcyBjb3VsZCByZXZlYWwgdGhlIGhpZGRlbiBzdGFpcndlbGwuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtcDIgc3RhbmRhcmQgZmluYWwyMCB3aWRlIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O3RocmVlX2VudHJ5X2FwcHJvYWNoZXMmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF90aHJlZV9lbnRyeV9hcHByb2FjaGVzLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKJmx0OyZsdDtpZiAkZGVkdWN0aW9uQWR2YW50YWdlcy5ib3VuZGFyeSZndDsmZ3Q7W1tGb2xsb3cgdGhlIHZlcmlmaWVkIGJvdW5kYXJ5IHJvdXRlLSZndDtQaGFzZVNpeEJvdW5kYXJ5Um91dGVdXSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7W1tUcmFjZSB0aGUgYm91bmRhcnkgdXNpbmcgdGhlIHNjaG9vbCBtYXAtJmd0O1BoYXNlU2l4Qm91bmRhcnlTZWFyY2hdXSZsdDsmbHQ7L2lmJmd0OyZndDsKW1tTdHVkeSB0aGUgc3RvcHBlZCBjbG9jayBhbmQgZ3JlZW4gdGhyZWFkLSZndDtQaGFzZVNpeENsb2NrUm91dGVdXQombHQ7Jmx0O2lmICRkZWR1Y3Rpb25BZHZhbnRhZ2VzLnNwZW5jZXImZ3Q7Jmd0O1tbQXNrIE1yLiBBc2h0b24gZm9yIHRoZSB0cnV0aC0mZ3Q7UGhhc2VTaXhBc2h0b25UcnV0aF1dJmx0OyZsdDtlbHNlJmd0OyZndDtbW1ByZXNzIE1yLiBBc2h0b24gZm9yIHdoYXQgaGUga25vd3MtJmd0O1BoYXNlU2l4QXNodG9uR3VhcmRlZF1dJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OwoKLyogVjQuMyBib3VuZGFyeSBjaGVja3BvaW50IGNoYXB0ZXIgMTYgKi8KJmx0OyZsdDtydW4gc2V0dXAudjQzQ2FwdHVyZUJvdW5kYXJ5KDE2LCAmcXVvdDtQaGFzZVNpeE9wZW5pbmcmcXVvdDssIDQpJmd0OyZndDsKJmx0OyZsdDtydW4gc2V0dXAudjQ0Q2FwdHVyZUNoYXB0ZXIoMTYsICZxdW90O1BoYXNlU2l4T3BlbmluZyZxdW90OywgNCkmZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ1NCIgbmFtZT0iUGhhc2VTaXhCb3VuZGFyeVJvdXRlIiB0YWdzPSJwaGFzZTYgYmctY2xhc3Nyb29tIiBwb3NpdGlvbj0iMTAzMDAsMzIwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHBoYXNlNkVudHJ5ID0gJnF1b3Q7Ym91bmRhcnkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0hpc3RvcnkgQ2xhc3Nyb29tOiBNYXAgQ2FiaW5ldCZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgcGxhY2VkIHRoZSBjZW1ldGVyeSBydWJiaW5nIG92ZXIgdGhlIG9sZGVzdCB0b3duIG1hcC4gVGhlIGxpYnJhcnkgYWlzbGUsIHRoZSBibGFuayBncmF2ZXMsIGFuZCB0aGUgY2xhc3Nyb29tIGFsaWduZWQgaW1tZWRpYXRlbHkuJmx0Oy9wJmd0OyZsdDtwJmd0O1J5YW4gcHJlc3NlZCBvbmUgZmxvb3Jib2FyZCBhdCB0aGUgbWVldGluZyBwb2ludC4gQSBtZXRhbCBjYXRjaCByZWxlYXNlZCBiZW5lYXRoIHRoZSBtYXAgY2FiaW5ldC4mbHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggcmlnaHQgdGlsdC1wMSBzdGFuZGFyZCBmaW5hbDIwIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O21hcF9jYWJpbmV0X2NhdGNoJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfbWFwX2NhYmluZXRfY2F0Y2gucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BoYXNlNi1zdWNjZXNzJnF1b3Q7Jmd0O1NhZmUgcm91dGUgY29uZmlybWVkLiBUaGUgYnVyaWVkLWJvdW5kYXJ5IGRlZHVjdGlvbiBieXBhc3NlZCB0aGUgZmFsc2UgZmxvb3IgcGFuZWxzLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tFeGFtaW5lIHRoZSA5OjE0IGxvY2sgYmVsb3cgdGhlIGNhYmluZXQtJmd0O1BoYXNlU2l4TG9ja11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NTUiIG5hbWU9IlBoYXNlU2l4Qm91bmRhcnlTZWFyY2giIHRhZ3M9InBoYXNlNiBiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSIxMDQ1MCwzMjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcGhhc2U2RW50cnkgPSAmcXVvdDttYXAmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0hpc3RvcnkgQ2xhc3Nyb29tOiBMYXllcmVkIE1hcHMmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBtYXBzIGRpZCBub3QgYWdyZWUuIE9uZSBwbGFjZWQgdGhlIGNlbWV0ZXJ5IGVhc3Qgb2YgdGhlIHNjaG9vbC4gQW5vdGhlciBkcmV3IHRoZSBsaWJyYXJ5IGRpcmVjdGx5IGJlbmVhdGggaXQuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIGxlZnQgdGlsdC1uMSBzdGFuZGFyZCBmaW5hbDIwIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2xheWVyZWRfdG93bl9tYXBzJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfbGF5ZXJlZF90b3duX21hcHMucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtcDEgd2lkZSB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtzY2hvb2xfYm91bmRhcnkmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9zY2hvb2xfYm91bmRhcnkucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7cCZndDtSeWFuIG5vdGljZWQgdGhhdCBvbmx5IHRoZSBvYWstcm9vdCBsaW5lcyByZW1haW5lZCBjb25zaXN0ZW50LiBLaW1teSByb3RhdGVkIHRoZSBvbGRlc3QgbWFwIHVudGlsIGFsbCB0aHJlZSByb290IG1hcmtzIG1ldCB1bmRlciB0aGUgaGlzdG9yeSBjbGFzc3Jvb20uJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tQcmVzcyB0aGUgZmxvb3IgYXQgdGhlIHRocmVlLWxpbmUgaW50ZXJzZWN0aW9uLSZndDtQaGFzZVNpeExvY2tdXVtbUHJlc3MgdGhlIG5ld2VzdCBzY2hvb2wtbWFwIG1hcmtlci0mZ3Q7UGhhc2VTaXhGYWxzZVBhbmVsXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ1NiIgbmFtZT0iUGhhc2VTaXhGYWxzZVBhbmVsIiB0YWdzPSJwaGFzZTYgYmctY2xhc3Nyb29tIiBwb3NpdGlvbj0iMTA2MDAsMzIwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcmV2ZWFsIHJldHJ5JnF1b3Q7Jmd0OyZsdDtiJmd0O1RoZSBmbG9vciBnaXZlcyBhIHdhcm5pbmcga25vY2smbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7VGhlIG5ld2VzdCBtYXAgcmVjb3JkcyB0aGUgYnVpbGRpbmcgYWJvdmUgZ3JvdW5kLCBub3QgdGhlIGJvdW5kYXJ5IGJlbmVhdGggaXQuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tVc2UgdGhlIG9hay1yb290IGludGVyc2VjdGlvbiBpbnN0ZWFkLSZndDtQaGFzZVNpeExvY2tdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDU3IiBuYW1lPSJQaGFzZVNpeENsb2NrUm91dGUiIHRhZ3M9InBoYXNlNiBiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSIxMDAwMCwzMzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcGhhc2U2RW50cnkgPSAmcXVvdDtjbG9jayZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7SGlzdG9yeSBDbGFzc3Jvb206IDk6MTQmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIGhlbGQgdGhlIHBvY2tldCB3YXRjaCBiZW5lYXRoIHRoZSBjbGFzc3Jvb20gY2xvY2suIEJvdGggc2Vjb25kIGhhbmRzIG1vdmVkIG9uY2UsIHRoZW4gc3RvcHBlZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGdyZWVuIHRocmVhZCB0b3VjaGVkIHRoZSA5LCBjcm9zc2VkIHRoZSBjbG9jayBmYWNlLCBhbmQgY2F1Z2h0IGJlbmVhdGggdGhlIDE0LW1pbnV0ZSBtYXJrLiZsdDsvcCZndDsmbHQ7Jmx0O2lmICRsb2NhdGlvbkJvbnVzZXMuYmVkcm9vbSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwaGFzZTYtaGludCZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0tldmluIFBhdHRlcm4gQm9udXMmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtUaGUgd2F0Y2jigJlzIGRvdWJsZSBzaGFkb3cgY29uZmlybXMgdGhhdCA5IGlzIGEgcG9zaXRpb24gYW5kIDE0IGlzIGEgbW92ZW1lbnQuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbVHVybiB0aGUgaG91ciBoYW5kIHRvIDksIHRoZW4gYWR2YW5jZSB0aGUgbWludXRlIGhhbmQgMTQgbWFya3MtJmd0O1BoYXNlU2l4TG9ja11dW1tTZXQgYm90aCBoYW5kcyBhdCAxNC0mZ3Q7UGhhc2VTaXhDbG9ja1dyb25nXV1bW1R1cm4gdGhlIGNsb2NrIHVwc2lkZSBkb3duLSZndDtQaGFzZVNpeENsb2NrV3JvbmddXSZsdDsvZGl2Jmd0OwombHQ7IS0tIEJ1aWxkIDUuMTYgTG9zdCBNaW51dGUgdHJpZ2dlciAtLSZndDsKJmx0OyZsdDtzZXQgX2xvc3RNaW51dGVSb2xsZWQgPSBzZXR1cC5yb2xsTG9zdE1pbnV0ZSgmcXVvdDtQaGFzZVNpeENsb2NrUm91dGUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9sb3N0TWludXRlUm9sbGVkJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2xvc3QtbWludXRlLXRyaWdnZXImcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7bG9zdC1taW51dGUtdGltZSZxdW90OyZndDs5OjE0Jmx0Oy9zcGFuJmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtFdmVyeSBzb3VuZCBpbiB0aGUgcm9vbSBzdG9wcy4mbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtUaGUgc2Vjb25kIGhhbmQgZnJlZXplcy4gQmV5b25kIHRoZSBuZWFyZXN0IGRvb3J3YXksIHRoZSB0b3duIGlzIGVtcHR5IGFuZCBjb2xvcmxlc3MuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTdGVwIGludG8gdGhlIHNpbGVudCBtaW51dGUtJmd0O0xvc3RNaW51dGVBcnJpdmFsXV0mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CgombHQ7IS0tIEJ1aWxkIDUuMjAgYWZ0ZXJlZmZlY3QgZWNobyAtLSZndDsKJmx0OyZsdDtzZXQgX2FmdGVyZWZmZWN0RWNobz1zZXR1cC5yb2xsQWZ0ZXJlZmZlY3RFY2hvKCZxdW90O2hvdXNlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfYWZ0ZXJlZmZlY3RFY2hvJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FmdGVyZWZmZWN0LWVjaG8mcXVvdDsgcm9sZT0mcXVvdDtzdGF0dXMmcXVvdDsmZ3Q7Jmx0O3NwYW4gYXJpYS1oaWRkZW49JnF1b3Q7dHJ1ZSZxdW90OyZndDvihrsmbHQ7L3NwYW4mZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDs9IF9hZnRlcmVmZmVjdEVjaG8mZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CjwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDU4IiBuYW1lPSJQaGFzZVNpeENsb2NrV3JvbmciIHRhZ3M9InBoYXNlNiBiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSIxMDE1MCwzMzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgcmV0cnkmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7VGhlIGNsb2NrIHNuYXBzIGJhY2sgdG8gOToxNCZsdDsvYiZndDsmbHQ7c3BhbiZndDtOaW5lIGlkZW50aWZpZXMgdGhlIGhvdXIgcG9zaXRpb24uIEZvdXJ0ZWVuIGRlc2NyaWJlcyB0aGUgbWludXRlIG1vdmVtZW50LiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSBjbG9jayBwYXR0ZXJuLSZndDtQaGFzZVNpeENsb2NrUm91dGVdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDU5IiBuYW1lPSJQaGFzZVNpeEFzaHRvblRydXRoIiB0YWdzPSJwaGFzZTYgYmctY2xhc3Nyb29tIiBwb3NpdGlvbj0iMTAzMDAsMzM1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHBoYXNlNkVudHJ5ID0gJnF1b3Q7YXNodG9uJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtIaXN0b3J5IENsYXNzcm9vbTogTXIuIEFzaHRvbuKAmXMgRGVzayZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7TXIuIEFzaHRvbiBsb29rZWQgYXQgdGhlIHJlc3RvcmVkIGxhYmVsIGJlbmVhdGggQ2Fyb2xpbmXigJlzIHBob3RvZ3JhcGggYW5kIHN0b3BwZWQgcHJldGVuZGluZy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q74oCcQ2FyYSBkZXNpZ25lZCB0aGUgc2Nob29sIGxvY2suIENhcm9saW5lIHRyaWVkIHRvIHVzZSBpdC4gQ29yYSByZWNvcmRlZCB3aGF0IGhhcHBlbmVkIGFmdGVyLiBUaGUgY2xvY2sgb3BlbnMgdGhlIHN0YWlyd2VsbCwgYnV0IG9ubHkgaWYgdGhlIHNlYWwgcG9pbnRzIGRvd24u4oCdJmx0Oy9wJmd0OyZsdDtwJmd0O0hlIG1vdmVkIHRoZSBjbGFzc3Jvb20gY2xvY2sgdG8gOToxNCBhbmQgcHJlc3NlZCB0aGUgZ3JlZW4gdGhyZWFkIGludG8gYSBncm9vdmUgYmVoaW5kIHRoZSBtYXAgY2FiaW5ldC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwaGFzZTYtc3VjY2VzcyZxdW90OyZndDtUcnV0aGZ1bCByb3V0ZSB1bmxvY2tlZCB3aXRob3V0IGEgdHJ1c3QgcGVuYWx0eS4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbSGVscCBNci4gQXNodG9uIGNvbXBsZXRlIHRoZSBsb2NrLSZndDtQaGFzZVNpeExvY2tdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDYwIiBuYW1lPSJQaGFzZVNpeEFzaHRvbkd1YXJkZWQiIHRhZ3M9InBoYXNlNiBiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSIxMDQ1MCwzMzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkcGhhc2U2RW50cnkgPSAmcXVvdDthc2h0b24tZ3VhcmRlZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7SGlzdG9yeSBDbGFzc3Jvb206IE1yLiBBc2h0b27igJlzIERlc2smcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O01yLiBBc2h0b24gYWRtaXR0ZWQgdGhhdCBDYXJhIGhhZCB1c2VkIHRoZSBjbGFzc3Jvb20gYWZ0ZXIgdGhlIHNjaG9vbCBjbG9zZWQsIGJ1dCBldmVyeSBhbnN3ZXIgc3RvcHBlZCBzaG9ydCBvZiB0aGUgaGlkZGVuIGxldmVsLiZsdDsvcCZndDsmbHQ7cCZndDvigJxUaGUgY2xvY2sgbWF0dGVycyzigJ0gaGUgc2FpZC4g4oCcQW5kIHdoYXRldmVyIHlvdSBkcmF3LCBkbyBub3QgdHVybiB0aGUgZmxvd2VyIHVwd2FyZC7igJ0mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1VzZSB0aGUgd2FybmluZyB0byBpbnNwZWN0IHRoZSBjbG9jayBhbmQgc2VhbC0mZ3Q7UGhhc2VTaXhMb2NrXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ2MSIgbmFtZT0iUGhhc2VTaXhMb2NrIiB0YWdzPSJwaGFzZTYgYmctc2Nob29sbGV2ZWwiIHBvc2l0aW9uPSIxMDYwMCwzMzUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtIaXN0b3J5IENsYXNzcm9vbTogU2VhbGVkIFN0YWlyd2VsbCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1NvbHZlIHRoZSA5OjE0IGxvY2sgd2l0aG91dCByZXZlcnNpbmcgdGhlIHNlYWwmcXVvdDsmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Zvcm1hbC1wdXp6bGUgZ3JlZW4tbG9jayZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtwdXp6bGUta2lja2VyJnF1b3Q7Jmd0O0dyZWVuLVJpbmcgQm91bmRhcnkgTG9jayZsdDsvc3BhbiZndDsmbHQ7aDImZ3Q7VGhlIDk6MTQgTG9jayZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7VGhlIGNhYmluZXQgc2xpZGVzIGFzaWRlLiBCZWhpbmQgaXQgc2l0IHRocmVlIGNvbnRyb2xzOiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCByaWdodCB0aWx0LXAyIHN0YW5kYXJkIGZpbmFsMjAgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7c2VhbF9kb3dud2FyZCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX3NlYWxfZG93bndhcmQucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtbjIgc3RhbmRhcmQgZmluYWwyMCB3aWRlIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2xvY2tfY29tcG9uZW50cyZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2xvY2tfY29tcG9uZW50cy5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7bG9jay1jb250cm9scyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtiJmd0O0Nsb2NrJmx0Oy9iJmd0OyZsdDtzcGFuJmd0O1N0b3BwZWQgYXQgOToxNCZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDtiJmd0O0dyZWVuIFRocmVhZCZsdDsvYiZndDsmbHQ7c3BhbiZndDtCcm9rZW4gYXQgdGhlIGxvd2VyIGJvdW5kYXJ5Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7SGV4YWZvaWwmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7SXRzIGxvY2tpbmcgcG9pbnQgY2FuIGZhY2UgdXAgb3IgZG93biZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsKJmx0OyZsdDtpZiAkZGVkdWN0aW9uQWR2YW50YWdlcy5zZWFsJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BoYXNlNi1oaW50JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7U2VhbOKAmXMgVHJ1ZSBEaXJlY3Rpb24mbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtUaGUgdXB3YXJkIG9yaWVudGF0aW9uIGlzIGlkZW50aWZpZWQgYXMgZGFuZ2Vyb3VzIGFuZCBoYXMgYmVlbiByZW1vdmVkLiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbU2V0IDk6MTQsIGpvaW4gdGhlIGdyZWVuIHRocmVhZCwgYW5kIHBvaW50IHRoZSBzZWFsIGRvd253YXJkLSZndDtQaGFzZVNpeExvY2tTb2x2ZWRdXVtbU2V0IDk6MTQgYnV0IGxlYXZlIHRoZSB0aHJlYWQgYnJva2VuLSZndDtQaGFzZVNpeExvY2tQYXJ0aWFsXV0mbHQ7L2RpdiZndDsKJmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbU2V0IDk6MTQsIGpvaW4gdGhlIGdyZWVuIHRocmVhZCwgYW5kIHBvaW50IHRoZSBzZWFsIGRvd253YXJkLSZndDtQaGFzZVNpeExvY2tTb2x2ZWRdXVtbU2V0IDk6MTQsIGpvaW4gdGhlIHRocmVhZCwgYW5kIHBvaW50IHRoZSBzZWFsIHVwd2FyZC0mZ3Q7UGhhc2VTaXhTZWFsV3JvbmddXVtbU2V0IDk6MTQgYnV0IGxlYXZlIHRoZSB0aHJlYWQgYnJva2VuLSZndDtQaGFzZVNpeExvY2tQYXJ0aWFsXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NjIiIG5hbWU9IlBoYXNlU2l4U2VhbFdyb25nIiB0YWdzPSJwaGFzZTYgYmctc2Nob29sbGV2ZWwiIHBvc2l0aW9uPSIxMDAwMCwzNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgcmV0cnkmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7VGhlIHJvb20gaW5oYWxlcyZsdDsvYiZndDsmbHQ7c3BhbiZndDtUaGUgdXB3YXJkIHNlYWwgcHVsbHMgYXQgZXZlcnkgbG9vc2UgcGFnZS4gU2Nvb3Qgc2xhcHMgdGhlIG5vdGVib29rIHNodXQgYmVmb3JlIHRoZSBib3VuZGFyeSBjYW4gcmV2ZXJzZS4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1R1cm4gdGhlIGxvY2tpbmcgcG9pbnQgZG93bndhcmQtJmd0O1BoYXNlU2l4TG9ja1NvbHZlZF1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NjMiIG5hbWU9IlBoYXNlU2l4TG9ja1BhcnRpYWwiIHRhZ3M9InBoYXNlNiBiZy1zY2hvb2xsZXZlbCIgcG9zaXRpb249IjEwMTUwLDM1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXJldmVhbCByZXRyeSZxdW90OyZndDsmbHQ7YiZndDtUaGUgc3RhaXJ3ZWxsIG9wZW5zIG9uZSBpbmNoJmx0Oy9iJmd0OyZsdDtzcGFuJmd0O1RoZSB0aW1lIGlzIGNvcnJlY3QsIGJ1dCB0aGUgYnJva2VuIGdyZWVuIGJvdW5kYXJ5IGNhbm5vdCBjYXJyeSB0aGUgc2lnbmFsIHRvIHRoZSBidXJpZWQgZG9vci4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0NvbXBsZXRlIHRoZSBncmVlbiB0aHJlYWQgYW5kIHRyeSBhZ2Fpbi0mZ3Q7UGhhc2VTaXhMb2NrU29sdmVkXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ2NCIgbmFtZT0iUGhhc2VTaXhMb2NrU29sdmVkIiB0YWdzPSJwaGFzZTYgYmctc2Nob29sbGV2ZWwiIHBvc2l0aW9uPSIxMDMwMCwzNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkc2Nob29sTG9ja1NvbHZlZCA9IHRydWUmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0hpZGRlbiBTY2hvb2wgTGV2ZWw6IFNlYWxlZCBTdGFpcndlbGwmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtEZXNjZW5kIHRvIHRoZSBvcmlnaW5hbCBzY2hvb2wgZm91bmRhdGlvbiZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcmV2ZWFsIHN1Y2Nlc3MmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7Qm91bmRhcnkgcmVzdG9yZWQmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7VGhlIGNsb2NrIHN0cmlrZXMgb25jZS4gVGhlIGdyZWVuIHRocmVhZCBzaW5rcyBpbnRvIHRoZSBmbG9vci4gVGhlIGhleGFmb2lsIHR1cm5zIGRvd253YXJkIGFuZCBsb2Nrcy4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7VGhlIG1hcCBjYWJpbmV0IGZvbGRzIGludG8gdGhlIHdhbGwuIFN0b25lIHN0ZXBzIGRlc2NlbmQgYmVuZWF0aCB0aGUgY2xhc3Nyb29tLCBvbGRlciB0aGFuIHRoZSBzY2hvb2wgYnVpbHQgYWJvdmUgdGhlbS4mbHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LW4xIHN0YW5kYXJkIGZpbmFsMjAgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7c2VhbGVkX3N0YWlyd2VsbCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX3NlYWxlZF9zdGFpcndlbGwucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRGVzY2VuZCBiZW5lYXRoIEJyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sLSZndDtQaGFzZVNpeERlc2NlbnRdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDY1IiBuYW1lPSJQaGFzZVNpeERlc2NlbnQiIHRhZ3M9InBoYXNlNiBiZy1zY2hvb2xsZXZlbCIgcG9zaXRpb249IjEwNDUwLDM1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0hpZGRlbiBTY2hvb2wgTGV2ZWwmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBzdGFpcndlbGwgZW5kZWQgaW4gYSBjb3JyaWRvciBsaW5lZCB3aXRoIHNjaG9vbCBsb2NrZXJzIHRoYXQgaGFkIG5vIG51bWJlcnMuIFBpcGVzIGNyb3NzZWQgc3RvbmUgYXJjaGVzLiBUaGluIGdyZWVuIGxpZ2h0IHRyYXZlbGVkIHRocm91Z2ggZ3Jvb3ZlcyBpbiB0aGUgZmxvb3IuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtcDEgc3RhbmRhcmQgZmluYWwyMCB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtudW1iZXJsZXNzX2xvY2tlcnMmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9udW1iZXJsZXNzX2xvY2tlcnMucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7cCZndDtBdCB0aGUgZmlyc3QganVuY3Rpb24sIHRocmVlIHJvdXRlcyBzcGxpdCBhcGFydC4mbHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LW4yIHN0YW5kYXJkIGZpbmFsMjAgd2lkZSB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtyb3V0ZV9qdW5jdGlvbiZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX3JvdXRlX2p1bmN0aW9uLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0OyZsdDtpZiAkZGVkdWN0aW9uQWR2YW50YWdlcy5ib3VuZGFyeSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwaGFzZTYtYWR2YW50YWdlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7U2FmZSBSb3V0ZSBBdmFpbGFibGUmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtUaGUgYnVyaWVkLWJvdW5kYXJ5IGRlZHVjdGlvbiBpZGVudGlmaWVzIHRoZSBjZW50ZXIgY29ycmlkb3IgYXMgdGhlIG9ubHkgcm91dGUgdGhhdCBkb2VzIG5vdCBjcm9zcyB0aGUgY29udGFpbm1lbnQgbGluZS4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0ZvbGxvdyB0aGUgdmVyaWZpZWQgY2VudGVyIGNvcnJpZG9yLSZndDtQaGFzZVNpeEdyZWVuQXJjaGl2ZV1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRm9sbG93IHRoZSBjb3JyaWRvciBtYXJrZWQgYnkgb2FrIHJvb3RzLSZndDtQaGFzZVNpeEdyZWVuQXJjaGl2ZV1dW1tGb2xsb3cgdGhlIG5ld2VzdCBzY2hvb2wgcGlwZXMtJmd0O1BoYXNlU2l4Um91dGVXcm9uZ11dW1tGb2xsb3cgdGhlIHB1cnBsZSByZWZsZWN0aW9uIGluIHRoZSBmbG9vci0mZ3Q7UGhhc2VTaXhSb3V0ZVdyb25nXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NjYiIG5hbWU9IlBoYXNlU2l4Um91dGVXcm9uZyIgdGFncz0icGhhc2U2IGJnLXNjaG9vbGxldmVsIiBwb3NpdGlvbj0iMTA2MDAsMzUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2RpdiBjbGFzcz0mcXVvdDtwdXp6bGUtcmV2ZWFsIHJldHJ5JnF1b3Q7Jmd0OyZsdDtiJmd0O1RoZSBjb3JyaWRvciByZXR1cm5zIHRvIHRoZSBzYW1lIGp1bmN0aW9uJmx0Oy9iJmd0OyZsdDtzcGFuJmd0O1RoZSByb3V0ZSBiZWxvbmdzIHRvIHRoZSBzY2hvb2wgYWJvdmUsIG5vdCB0aGUgZm91bmRhdGlvbiBiZWxvdy4gT25seSB0aGUgb2xkIGJvdW5kYXJ5IG1hcmtzIGEgdHJ1ZSBwYXRoLiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRm9sbG93IHRoZSBvYWstcm9vdCBib3VuZGFyeS0mZ3Q7UGhhc2VTaXhHcmVlbkFyY2hpdmVdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDY3IiBuYW1lPSJQaGFzZVNpeEdyZWVuQXJjaGl2ZSIgdGFncz0icGhhc2U2IGJnLWdyZWVuYXJjaGl2ZSIgcG9zaXRpb249IjEwMDAwLDM2NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRncmVlbkFyY2hpdmVSZWFjaGVkID0gdHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7SGlkZGVuIFNjaG9vbCBMZXZlbDogR3JlZW4tUmluZyBBcmNoaXZlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoYXQgQ2FyYSBzdG9yZWQgYmVoaW5kIHRoZSBrZXlob2xlIGRvb3ImcXVvdDsmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCBncmVlbi1jaGFwdGVyJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtQaGFzZSBTaXggQSBDb21wbGV0ZSZsdDsvZGl2Jmd0OyZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtUaGUgR3JlZW4tUmluZyBBcmNoaXZlJmx0Oy9oMSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7QmVuZWF0aCBNci4gQXNodG9u4oCZcyBjbGFzc3Jvb20mbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDtUaGUgY29ycmlkb3Igb3BlbmVkIGludG8gYSBzdG9uZSBhcmNoaXZlIGZpbGxlZCB3aXRoIG1hcHMsIGRyYXdlcnMsIGFuZCByZWNvcmRzIGZyb20gdmVyc2lvbnMgb2YgdGhlIHNjaG9vbCB0aGF0IGhhZCBuZXZlciBleGlzdGVkIGFib3ZlIGdyb3VuZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QSBncmVlbiByaW5nIGdsb3dlZCBvdmVyIGEgbmFycm93IGtleWhvbGUgZG9vci4gVGhlIGN1dCB0aHJlYWQgcGFzc2VkIHRocm91Z2ggdGhlIGxvY2sgYW5kIGRpc2FwcGVhcmVkIGludG8gZGFya25lc3MuJmx0Oy9wJmd0OyZsdDsmbHQ7aWYgJGRlZHVjdGlvbkFkdmFudGFnZXMuZm91cnRoJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BoYXNlNi1hZHZhbnRhZ2UmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgRm91cnRoIE5hbWUmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtUaGUgZG9vciBkb2VzIG5vdCBhc2sgZm9yIGFub3RoZXIgc2lzdGVy4oCZcyBuYW1lLiBJdCBhc2tzIGZvciB0aGUgdGl0bGUgb2YgdGhlIHBlcnNvbiBhdXRob3JpemVkIHRvIG9wZW4gaXQuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7cCZndDtGcm9tIHRoZSBvdGhlciBzaWRlIGNhbWUgYSB2b2ljZSBLZXZpbiBoYWQgbmV2ZXIgaGVhcmQsIGJ1dCB0aGUgbm90ZWJvb2sgcmVjb2duaXplZCBpbW1lZGlhdGVseS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtkaWFsb2d1ZS1saW5lJnF1b3Q7Jmd0OyZsdDtiJmd0O0NhcmE6Jmx0Oy9iJmd0OyDigJxJZiBDYXJvbGluZSBzZW50IHlvdSwgeW91IGFyZSBhbHJlYWR5IHRvbyBsYXRlLuKAnSZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aW50ZXJuYWwtdGhvdWdodCZxdW90OyZndDtORVhUOiBTRUFSQ0ggVEhFIEFSQ0hJVkUgQU5EIEZPTExPVyBUSEUgR1JFRU4gVEhSRUFEJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1NlYXJjaCB0aGUgR3JlZW4tUmluZyBBcmNoaXZlLSZndDtQaGFzZVNpeEFyY2hpdmVIdWJdXVtbUmV2aWV3IHRoZSBjYXNlIGJlZm9yZSBjb250aW51aW5nLSZndDtDYXNlUmVzdWx0c11dW1tQYXVzZSBhdCB0aGUgZ3JlZW4tcmluZyBhcmNoaXZlLSZndDtNb3JlQ29taW5nU29vbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NjgiIG5hbWU9IlBoYXNlU2l4QXJjaGl2ZUh1YiIgdGFncz0icGhhc2U2IHBoYXNlNmIgYmctZ3JlZW5hcmNoaXZlIiBwb3NpdGlvbj0iMTEwNDUsMzYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXIgPSAxNyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7R3JlZW4tUmluZyBBcmNoaXZlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Q29sbGVjdCBlbm91Z2ggZXZpZGVuY2UgdG8gYXBwcm9hY2ggQ2FyYSBzYWZlbHkmcXVvdDsmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCBncmVlbi1jaGFwdGVyJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtQaGFzZSBTaXggQiZsdDsvZGl2Jmd0OyZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtUaGUgS2VlcGVy4oCZcyBSZWNvcmRzJmx0Oy9oMSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7VGhyZWUgcGllY2VzIG9mIHRoZSBhcmNoaXZlIHN0aWxsIGFuc3dlciB0byBDYXJhJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtwJmd0O1RoZSBncmVlbiB0aHJlYWQgZGl2aWRlZCBhY3Jvc3MgdGhlIGFyY2hpdmUgZmxvb3IuIE9uZSBzdHJhbmQgcmVhY2hlZCBhIG1hcCBjYWJpbmV0LiBPbmUgY2xpbWJlZCBhIHdhbGwgb2YgYXR0ZW5kYW5jZSBkcmF3ZXJzLiBPbmUgZGlzYXBwZWFyZWQgYmVuZWF0aCB0aHJlZSBlbXB0eSBjaGFpcnMuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtcDIgc3RhbmRhcmQgZmluYWwyMCB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDthcmNoaXZlX2RyYXdlcnMmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9hcmNoaXZlX2RyYXdlcnMucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FyY2hpdmUtcHJvZ3Jlc3MmcXVvdDsmZ3Q7QXJjaGl2ZSBldmlkZW5jZTogJmx0OyZsdDtwcmludCAkcGhhc2U2QXJjaGl2ZUZpbmRzLmxlbmd0aCZndDsmZ3Q7IC8gMyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CiZsdDsmbHQ7aWYgJHBoYXNlNkFyY2hpdmVGaW5kcy5pbmRleE9mKCZxdW90O3JvdXRlLW1hcCZxdW90OykgbHQgMCZndDsmZ3Q7W1tJbnNwZWN0IHRoZSB0aHJlZS1lbnRyYW5jZSBmb3VuZGF0aW9uIG1hcC0mZ3Q7UGhhc2VTaXhJbnNwZWN0TWFwXV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJHBoYXNlNkFyY2hpdmVGaW5kcy5pbmRleE9mKCZxdW90O2NhcmEtcmVjb3JkJnF1b3Q7KSBsdCAwJmd0OyZndDtbW09wZW4gdGhlIGRyYXdlciBmaWxlZCB1bmRlciBDYXJh4oCZcyBlcmFzZWQgeWVhci0mZ3Q7UGhhc2VTaXhJbnNwZWN0RHJhd2VyXV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgJHBoYXNlNkFyY2hpdmVGaW5kcy5pbmRleE9mKCZxdW90O2tlZXBlci1jaGFpciZxdW90OykgbHQgMCZndDsmZ3Q7W1tFeGFtaW5lIHRoZSB0aHJlZSBjaGFpcnMgYW5kIHRoZSBlbXB0eSB3YXRjaCBwb3N0LSZndDtQaGFzZVNpeEluc3BlY3RDaGFpcnNdXSZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiAkcGhhc2U2QXJjaGl2ZUZpbmRzLmxlbmd0aCBndGUgMiZndDsmZ3Q7W1tVc2UgdGhlIGV2aWRlbmNlIHRvIGZvbGxvdyB0aGUgZ3JlZW4gdGhyZWFkLSZndDtQaGFzZVNpeFRocmVhZEp1bmN0aW9uXV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7CltbU3RlcCBiYWNrIGZyb20gdGhlIGFyY2hpdmUtJmd0O1BoYXNlU2l4R3JlZW5BcmNoaXZlXV0mbHQ7L2RpdiZndDsKCi8qIFY0LjMgYm91bmRhcnkgY2hlY2twb2ludCBjaGFwdGVyIDE3ICovCiZsdDsmbHQ7cnVuIHNldHVwLnY0M0NhcHR1cmVCb3VuZGFyeSgxNywgJnF1b3Q7UGhhc2VTaXhBcmNoaXZlSHViJnF1b3Q7LCA0KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLnY0NENhcHR1cmVDaGFwdGVyKDE3LCAmcXVvdDtQaGFzZVNpeEFyY2hpdmVIdWImcXVvdDssIDQpJmd0OyZndDsKPC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NjkiIG5hbWU9IlBoYXNlU2l4SW5zcGVjdE1hcCIgdGFncz0icGhhc2U2IHBoYXNlNmIgYmctZ3JlZW5hcmNoaXZlIiBwb3NpdGlvbj0iMTExOTAsMzYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiAkcGhhc2U2QXJjaGl2ZUZpbmRzLmluZGV4T2YoJnF1b3Q7cm91dGUtbWFwJnF1b3Q7KSBsdCAwJmd0OyZndDsmbHQ7Jmx0O3J1biAkcGhhc2U2QXJjaGl2ZUZpbmRzLnB1c2goJnF1b3Q7cm91dGUtbWFwJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHBsYXllckNsdWVzLnB1c2hVbmlxdWUoJnF1b3Q7VGhyZWUgZW50cmFuY2VzIGZlZWQgb25lIGdyZWVuIGJvdW5kYXJ5JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXZpZGVuY2UtZmluZCZxdW90OyZndDsmbHQ7YiZndDtGb3VuZGF0aW9uIE1hcCZsdDsvYiZndDsmbHQ7c3BhbiZndDtUaGUgc2Nob29sLCBsaWJyYXJ5LCBhbmQgY2VtZXRlcnkgcm91dGVzIGRvIG5vdCBtZWV0IGF0IGEgcm9vbS4gVGhleSBtZWV0IGF0IGEgcGVyc29uLXNoYXBlZCBzcGFjZSBtYXJrZWQgS0VFUEVSLiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDtLaW1teSBjb3BpZWQgdGhlIGxpbmVzIHdpdGhvdXQgdG91Y2hpbmcgdGhlIGdyZWVuIGluay4mbHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LW4xIHN0YW5kYXJkIGZpbmFsMjAgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7a2VlcGVyX2NvbnZlcmdlbmNlJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfa2VlcGVyX2NvbnZlcmdlbmNlLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgYXJjaGl2ZSBzZWFyY2gtJmd0O1BoYXNlU2l4QXJjaGl2ZUh1Yl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NzAiIG5hbWU9IlBoYXNlU2l4SW5zcGVjdERyYXdlciIgdGFncz0icGhhc2U2IHBoYXNlNmIgYmctZ3JlZW5hcmNoaXZlIiBwb3NpdGlvbj0iMTEzMzUsMzYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggcmlnaHQgdGlsdC1wMSBzdGFuZGFyZCBmaW5hbDIwIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2NhcmFfZXJhc2VkX3JlY29yZCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2NhcmFfZXJhc2VkX3JlY29yZC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtbjIgc3RhbmRhcmQgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7Y2FyYV9hdHRlbmRhbmNlJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfY2FyYV9hdHRlbmRhbmNlLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0OyZsdDtpZiAkcGhhc2U2QXJjaGl2ZUZpbmRzLmluZGV4T2YoJnF1b3Q7Y2FyYS1yZWNvcmQmcXVvdDspIGx0IDAmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRwaGFzZTZBcmNoaXZlRmluZHMucHVzaCgmcXVvdDtjYXJhLXJlY29yZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O0NhcmEgd2FzIGFzc2lnbmVkIEtlZXBlciBiZWZvcmUgdGhlIHNjaG9vbCBleGlzdGVkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXZpZGVuY2UtZmluZCZxdW90OyZndDsmbHQ7YiZndDtFcmFzZWQgQXR0ZW5kYW5jZSBEcmF3ZXImbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7Q2FyYeKAmXMgcmVjb3JkIHByZWRhdGVzIEJyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sLiBUaGUgdGl0bGUgS0VFUEVSIHdhcyBhZGRlZCBiZWZvcmUgYSBiaXJ0aCBkYXRlLCBncmFkZSwgb3IgZmFtaWx5IG5hbWUuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7aWYgJGRlZHVjdGlvbkFkdmFudGFnZXMuZm91cnRoJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BoYXNlNi1hZHZhbnRhZ2UmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgRm91cnRoIE5hbWUmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtUaGUgcmVjb3JkIGNvbmZpcm1zIHRoYXQgdGhlIGZvdXJ0aCBuYW1lIGlzIGFuIG9mZmljZSBwYXNzZWQgdGhyb3VnaCB0aGUgYm91bmRhcnksIG5vdCBhbm90aGVyIHNpc3Rlci4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gdGhlIGFyY2hpdmUgc2VhcmNoLSZndDtQaGFzZVNpeEFyY2hpdmVIdWJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDcxIiBuYW1lPSJQaGFzZVNpeEluc3BlY3RDaGFpcnMiIHRhZ3M9InBoYXNlNiBwaGFzZTZiIGJnLWdyZWVuYXJjaGl2ZSIgcG9zaXRpb249IjExNDgwLDM2MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgJHBoYXNlNkFyY2hpdmVGaW5kcy5pbmRleE9mKCZxdW90O2tlZXBlci1jaGFpciZxdW90OykgbHQgMCZndDsmZ3Q7Jmx0OyZsdDtydW4gJHBoYXNlNkFyY2hpdmVGaW5kcy5wdXNoKCZxdW90O2tlZXBlci1jaGFpciZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRwbGF5ZXJDbHVlcy5wdXNoVW5pcXVlKCZxdW90O1RoZSBLZWVwZXIgbXVzdCByZW1haW4gc3RhbmRpbmcgd2hpbGUgdGhlIGxvY2sgaXMgYWN0aXZlJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXZpZGVuY2UtZmluZCZxdW90OyZndDsmbHQ7YiZndDtUaHJlZSBDaGFpcnMgYW5kIE9uZSBXYXRjaCBQb3N0Jmx0Oy9iJmd0OyZsdDtzcGFuJmd0O0NvcmEsIENhcmEsIGFuZCBDYXJvbGluZSBlYWNoIGhhZCBhIGNoYWlyLiBUaGUgZm91cnRoIHBvc2l0aW9uIHdhcyBuZXZlciBhIGNoYWlyLiBJdCB3YXMgYSBzdGFuZGluZyB3YXRjaCBwb3N0IGZhY2luZyB0aGUga2V5aG9sZSBkb29yLiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDtSeWFuIGZvdW5kIGdyZWVuIHRocmVhZCB3b3JuIGludG8gdGhlIHN0b25lIHdoZXJlIGdlbmVyYXRpb25zIG9mIGtlZXBlcnMgaGFkIHN0b29kLiZsdDsvcCZndDsmbHQ7ZmlndXJlIGNsYXNzPSZxdW90O2V2aWRlbmNlLXNrZXRjaCBsZWZ0IHRpbHQtbjIgc3RhbmRhcmQgZmluYWwyMCB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtzdGFuZGluZ193YXRjaCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX3N0YW5kaW5nX3dhdGNoLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LXAyIHN0YW5kYXJkIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O3dhdGNoX3Bvc2l0aW9uJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfd2F0Y2hfcG9zaXRpb24ucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSBhcmNoaXZlIHNlYXJjaC0mZ3Q7UGhhc2VTaXhBcmNoaXZlSHViXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ3MiIgbmFtZT0iUGhhc2VTaXhUaHJlYWRKdW5jdGlvbiIgdGFncz0icGhhc2U2IHBoYXNlNmIgYmctdGhyZWFkY2hhbWJlciIgcG9zaXRpb249IjEwOTAwLDM3NDUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0dyZWVuLVRocmVhZCBSb3V0aW5nIENoYW1iZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtSb3V0ZSB0aGUgc2Nob29sIGJvdW5kYXJ5IHRvIENhcmEgd2l0aG91dCBjcm9zc2luZyBhbm90aGVyIHJpbmcmcXVvdDsmZ3Q7Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Zvcm1hbC1wdXp6bGUgZ3JlZW4tbG9jayZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtwdXp6bGUta2lja2VyJnF1b3Q7Jmd0O0JvdW5kYXJ5IFJvdXRpbmcmbHQ7L3NwYW4mZ3Q7Jmx0O2gyJmd0O0ZvbGxvdyB0aGUgR3JlZW4gVGhyZWFkJmx0Oy9oMiZndDsmbHQ7cCZndDtUaHJlZSBhcmNod2F5cyBsZWF2ZSB0aGUgYXJjaGl2ZTombHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggcmlnaHQgdGlsdC1wMiBzdGFuZGFyZCBmaW5hbDIwIHdpZGUgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7dGhyZWVfcm91dGVzJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfdGhyZWVfcm91dGVzLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggcmlnaHQgdGlsdC1uMSB3aWRlIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2dyZWVuX3RocmVhZCZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2dyZWVuX3RocmVhZC5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cm91dGUtZ3JpZCZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtiJmd0O0xlZnQmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7UHVycGxlIHJlZmxlY3Rpb25zIGFuZCBsaWJyYXJ5IHNoZWx2aW5nJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7Q2VudGVyJmx0Oy9iJmd0OyZsdDtzcGFuJmd0O0dyZWVuIHRocmVhZCwgb2xkIGZvdW5kYXRpb24gbWFya3MsIG5vIHJvb20gbnVtYmVyJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2ImZ3Q7UmlnaHQmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7Q2VtZXRlcnkgYWlyIGFuZCByZWQgd2F4Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OwombHQ7Jmx0O2lmICRkZWR1Y3Rpb25BZHZhbnRhZ2VzLmJvdW5kYXJ5Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BoYXNlNi1oaW50JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7QnVyaWVkIEJvdW5kYXJ5Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7VGhlIGNlbnRlciByb3V0ZSByZW1haW5zIGluc2lkZSB0aGUgc2Nob29s4oCZcyBncmVlbiBib3VuZGFyeS4gVGhlIG91dGVyIHJvdXRlcyBjcm9zcyBDb3Jh4oCZcyBhbmQgQ2Fyb2xpbmXigJlzIGRvbWFpbnMuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQ2FycnkgdGhlIGdyZWVuIHRocmVhZCB0aHJvdWdoIHRoZSBjZW50ZXIgYXJjaC0mZ3Q7UGhhc2VTaXhUaHJlYWRTb2x2ZWRdXVtbRm9sbG93IHRoZSBwdXJwbGUgcmVmbGVjdGlvbi0mZ3Q7UGhhc2VTaXhUaHJlYWRXcm9uZ1B1cnBsZV1dW1tGb2xsb3cgdGhlIGNlbWV0ZXJ5IGFpci0mZ3Q7UGhhc2VTaXhUaHJlYWRXcm9uZ1JlZF1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NzMiIG5hbWU9IlBoYXNlU2l4VGhyZWFkV3JvbmdQdXJwbGUiIHRhZ3M9InBoYXNlNiBwaGFzZTZiIGJnLXRocmVhZGNoYW1iZXIiIHBvc2l0aW9uPSIxMTA0NSwzNzQ1IiBzaXplPSIxMDAsMTAwIj4mbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgcmV0cnkmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7VGhlIHRocmVhZCB0dXJucyBwdXJwbGUmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7VGhlIHJvdXRlIGVudGVycyBDb3Jh4oCZcyBwcmVzZXJ2ZWQgcmVjb3Jkcy4gVGhlIGdyZWVuIHRocmVhZCBiZWdpbnMgcmV3cml0aW5nIGl0c2VsZiBhcyBhIGNoZWNrb3V0IGxpbmUuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gdGhlIHJvdXRpbmcgY2hhbWJlci0mZ3Q7UGhhc2VTaXhUaHJlYWRKdW5jdGlvbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NzQiIG5hbWU9IlBoYXNlU2l4VGhyZWFkV3JvbmdSZWQiIHRhZ3M9InBoYXNlNiBwaGFzZTZiIGJnLXRocmVhZGNoYW1iZXIiIHBvc2l0aW9uPSIxMTE5MCwzNzQ1IiBzaXplPSIxMDAsMTAwIj4mbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgcmV0cnkmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7UmVkIHdheCBzZWFscyB0aGUgYXJjaCZsdDsvYiZndDsmbHQ7c3BhbiZndDtUaGUgY2VtZXRlcnkgcm91dGUgYmVsb25ncyB0byBDYXJvbGluZeKAmXMgbWVtb3J5IGxvY2ssIG5vdCBDYXJh4oCZcyBzY2hvb2wgYm91bmRhcnkuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gdGhlIHJvdXRpbmcgY2hhbWJlci0mZ3Q7UGhhc2VTaXhUaHJlYWRKdW5jdGlvbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NzUiIG5hbWU9IlBoYXNlU2l4VGhyZWFkU29sdmVkIiB0YWdzPSJwaGFzZTYgcGhhc2U2YiBiZy1jYXJhY2hhbWJlciIgcG9zaXRpb249IjExMzM1LDM3NDUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRncmVlblJvdXRlU29sdmVkID0gdHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7Q2FyYeKAmXMgR3VhcmRlZCBDaGFtYmVyJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgc3VjY2VzcyZxdW90OyZndDsmbHQ7YiZndDtHcmVlbiByb3V0ZSBwcmVzZXJ2ZWQmbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q7VGhlIHRocmVhZCBwYXNzZXMgdGhyb3VnaCB0aGUgY2VudGVyIGFyY2ggd2l0aG91dCBjaGFuZ2luZyBjb2xvci4gVGhlIGtleWhvbGUgZG9vciB1bmxvY2tzIGZyb20gdGhlIG90aGVyIHNpZGUuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtwJmd0O1RoZSBkb29yIG9wZW5lZCBvbnRvIGEgY2lyY3VsYXIgY2hhbWJlci4gQ2FyYSBzdG9vZCBiZXlvbmQgdGhlIGJvdW5kYXJ5IGxpbmUsIG9uZSBoYW5kIHJlc3RpbmcgYWdhaW5zdCB0aGUgZ3JlZW4gcmluZy4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0VudGVyIHdpdGhvdXQgY3Jvc3NpbmcgdGhlIGxpbmUtJmd0O1BoYXNlU2l4Q2FyYUVuY291bnRlcl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NzYiIG5hbWU9IlBoYXNlU2l4Q2FyYUVuY291bnRlciIgdGFncz0icGhhc2U2IHBoYXNlNmIgYmctY2FyYWNoYW1iZXIiIHBvc2l0aW9uPSIxMTQ4MCwzNzQ1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtDYXJh4oCZcyBHdWFyZGVkIENoYW1iZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtDb252aW5jZSBDYXJhIHRoYXQgdGhlIGdyb3VwIHdpbGwgbm90IHJlcGVhdCBDYXJvbGluZeKAmXMgbWlzdGFrZSZxdW90OyZndDsmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkIGdyZWVuLWNoYXB0ZXImcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O1RoZSBHcmVlbiBSaW5nJmx0Oy9kaXYmZ3Q7Jmx0O2gxIGNsYXNzPSZxdW90O3Bvdi1uYW1lJnF1b3Q7Jmd0O0NhcmEsIEtlZXBlciBvZiB0aGUgU2Nob29sIEJvdW5kYXJ5Jmx0Oy9oMSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItdGl0bGUmcXVvdDsmZ3Q7VGhlIGZpcnN0IHJ1bGUgaXMgbm90IHRvIGNyb3NzIHRoZSBsaW5lJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7Q2FyYSBkaWQgbm90IHJhaXNlIHRoZSBncmVlbiByaW5nIG9yIHRocmVhdGVuIHRoZSBncm91cC4gQ2FyYSBzaW1wbHkgd2F0Y2hlZCB0aGUgdGhyZWFkIGluIEtldmlu4oCZcyBoYW5kLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2RpYWxvZ3VlLWxpbmUmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7Q2FyYTombHQ7L2ImZ3Q7IOKAnENhcm9saW5lIHdhbnRlZCBiYWNrIHdoYXQgQnJlY2tlbnJpZGdlIGVyYXNlZC4gV2FudGluZyBpdCB3YXMgbm90IHRoZSBtaXN0YWtlLiBPcGVuaW5nIHRoZSBsb2NrIGFsb25lIHdhcy7igJ0mbHQ7L2RpdiZndDsmbHQ7cCZndDtUaGUgbmFycm93IGlubmVyIGRvb3IgYmVoaW5kIENhcmEgY2FycmllZCB0aGUgc2FtZSBrZXlob2xlIGltcHJlc3Npb24gZm91bmQgaW4gdGhlIG1lbW9yeSBncmF2ZS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKJmx0OyZsdDtpZiAkZGVkdWN0aW9uQWR2YW50YWdlcy5zcGVuY2VyJmd0OyZndDtbW1RlbGwgQ2FyYSB0aGF0IFNwZW5jZXIgZmluYWxseSByZW1lbWJlcmVkIENhcm9saW5lLSZndDtQaGFzZVNpeENhcmFTcGVuY2VyXV0mbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1tbQXNrIHdoeSBNci4gQXNodG9uIHdhcyB0YXVnaHQgdG8gZm9yZ2V0LSZndDtQaGFzZVNpeENhcmFRdWVzdGlvbl1dJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7Jmx0O2lmICRkZWR1Y3Rpb25BZHZhbnRhZ2VzLmZvdXJ0aCZndDsmZ3Q7W1tFeHBsYWluIHdoYXQgdGhlIEZvdXJ0aCBOYW1lIHRydWx5IG1lYW5zLSZndDtQaGFzZVNpeENhcmFLZWVwZXJdXSZsdDsmbHQ7ZWxzZSZndDsmZ3Q7W1tTdWdnZXN0IHRoZSBGb3VydGggTmFtZSBiZWxvbmdzIHRvIGFub3RoZXIgc2lzdGVyLSZndDtQaGFzZVNpeENhcmFXcm9uZ11dJmx0OyZsdDsvaWYmZ3Q7Jmd0OwpbW1Nob3cgQ2FyYSB0aGUgY3V0IGdyZWVuIHRocmVhZCBmcm9tIEFiYmll4oCZcyBib29rLSZndDtQaGFzZVNpeENhcmFUaHJlYWRdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDc3IiBuYW1lPSJQaGFzZVNpeENhcmFTcGVuY2VyIiB0YWdzPSJwaGFzZTYgcGhhc2U2YiBiZy1jYXJhY2hhbWJlciIgcG9zaXRpb249IjEwOTAwLDM4OTAiIHNpemU9IjEwMCwxMDAiPi8qIEI1LjEgY29uc2VxdWVuY2UgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O2NhcmFBcHByb2FjaCZxdW90OywgJnF1b3Q7c3BlbmNlciZxdW90OywgJnF1b3Q7Q2FyYSByZXNwb25kcyB0byByZW1lbWJlcmVkIGZhbWlseSBldmlkZW5jZS4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UGhhc2VTaXhDYXJhU3BlbmNlcjoxOmJjZDgzZWIxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJHN0YWJpbGl6YXRpb25Bd2FyZHMucHVzaCgmcXVvdDt2NDpQaGFzZVNpeENhcmFTcGVuY2VyOjE6YmNkODNlYjEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkY2FyYVRydXN0ICs9IDImZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7cCZndDvigJxTcGVuY2VyIHJlbWVtYmVycyB0aGUgbmFtZSBDYXJvbGluZSB1c2VkIGZvciBoaW0s4oCdIEtpbW15IHNhaWQuIOKAnEhlIHNlbnQgdXMgd2l0aCB0aGUgdHJ1dGgsIG5vdCBhbiBleGN1c2Uu4oCdJmx0Oy9wJmd0OyZsdDtwJmd0O0NhcmHigJlzIGhhbmQgbGVmdCB0aGUgcmluZy4g4oCcVGhlbiBvbmUgcmVjb3JkIHN1cnZpdmVkIG91dHNpZGUgQ29yYeKAmXMga2VlcGluZy7igJ0mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjYXJhLXRydXN0JnF1b3Q7Jmd0O0NhcmEgdHJ1c3QgaW5jcmVhc2VkIHNpZ25pZmljYW50bHkuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0FzayB3aGF0IHdhaXRzIGJlaGluZCB0aGUgaW5uZXIgZG9vci0mZ3Q7UGhhc2VTaXhDYXJhRGVjaXNpb25dXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDc4IiBuYW1lPSJQaGFzZVNpeENhcmFRdWVzdGlvbiIgdGFncz0icGhhc2U2IHBoYXNlNmIgYmctY2FyYWNoYW1iZXIiIHBvc2l0aW9uPSIxMTA0NSwzODkwIiBzaXplPSIxMDAsMTAwIj4vKiBCNS4xIGNvbnNlcXVlbmNlIG1hcmtlciAqLwombHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRDb25zZXF1ZW5jZSgmcXVvdDtjYXJhQXBwcm9hY2gmcXVvdDssICZxdW90O2FzaHRvbiZxdW90OywgJnF1b3Q7Q2FyYSBpcyBjaGFsbGVuZ2VkIHRocm91Z2ggQXNodG9u4oCZcyBpbmhlcml0ZWQgZm9yZ2V0dGluZy4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UGhhc2VTaXhDYXJhUXVlc3Rpb246MTpjOTFlYzE2ZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuICRzdGFiaWxpemF0aW9uQXdhcmRzLnB1c2goJnF1b3Q7djQ6UGhhc2VTaXhDYXJhUXVlc3Rpb246MTpjOTFlYzE2ZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRjYXJhVHJ1c3QgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtwJmd0O+KAnFdoeSB3YXMgTXIuIEFzaHRvbiB0YXVnaHQgdG8gZm9yZ2V0P+KAnSBLZXZpbiBhc2tlZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q74oCcQmVjYXVzZSByZW1lbWJlcmluZyBhIGtlZXBlciBzaG93cyB0aGUgYm91bmRhcnkgd2hlcmUgdG8gZmluZCB0aGUgd2l0bmVzcyzigJ0gQ2FyYSBzYWlkLiDigJxGb3JnZXR0aW5nIHByb3RlY3RlZCBoaW0uIEl0IGFsc28gbWFkZSBoaW0gZWFzeSB0byB1c2Uu4oCdJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2FyYS10cnVzdCZxdW90OyZndDtDYXJhIGFjY2VwdHMgdGhlIHF1ZXN0aW9uIGFzIGNhcmVmdWwsIG5vdCBhY2N1c2luZy4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQXNrIHdoYXQgd2FpdHMgYmVoaW5kIHRoZSBpbm5lciBkb29yLSZndDtQaGFzZVNpeENhcmFEZWNpc2lvbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0NzkiIG5hbWU9IlBoYXNlU2l4Q2FyYUtlZXBlciIgdGFncz0icGhhc2U2IHBoYXNlNmIgYmctY2FyYWNoYW1iZXIiIHBvc2l0aW9uPSIxMTE5MCwzODkwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDt0cnVlLWZvdXJ0aC1uYW1lJnF1b3Q7LDEsJnF1b3Q7VGhlIGdyb3VwIGNvcnJlY3RseSBkZXNjcmliZWQgdGhlIEZvdXJ0aCBOYW1lIGR1dHkuJnF1b3Q7KSZndDsmZ3Q7Ci8qIEI1LjEgY29uc2VxdWVuY2UgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O2NhcmFBcHByb2FjaCZxdW90OywgJnF1b3Q7a2VlcGVyJnF1b3Q7LCAmcXVvdDtDYXJhIGhlYXJzIHRoZSBtb3N0IGFjY3VyYXRlIGludGVycHJldGF0aW9uIG9mIHRoZSBGb3VydGggTmFtZS4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UGhhc2VTaXhDYXJhS2VlcGVyOjE6YmNkODNlYjEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlBoYXNlU2l4Q2FyYUtlZXBlcjoxOmJjZDgzZWIxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGNhcmFUcnVzdCArPSAyJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgcGxhY2VkIHRoZSBlcmFzZWQgcmVjb3JkIGJlc2lkZSB0aGUga2V5aG9sZSBydWJiaW5nLiDigJxUaGUgRm91cnRoIE5hbWUgaXMgbm90IGEgc2lzdGVyLiBJdCBpcyB0aGUgdGl0bGUgb2Ygd2hvZXZlciBjYW4gYXV0aG9yaXplIHRoZSBidXJpZWQgZG9vci7igJ0mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q74oCcQWxtb3N0LOKAnSBDYXJhIHNhaWQuIOKAnFRoZSBLZWVwZXIgZ3VhcmRzIHRoZSBrZXkuIFRoZSBGb3VydGggTmFtZSBpcyB3aGF0IHRoZSBrZXkgbXVzdCByZW1lbWJlci7igJ0mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjYXJhLXRydXN0JnF1b3Q7Jmd0O0EgZmFsc2UgaWRlbnRpdHkgcGF0aCBoYXMgYmVlbiBlbGltaW5hdGVkLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBc2sgd2hhdCB0aGUga2V5IG11c3QgcmVtZW1iZXItJmd0O1BoYXNlU2l4Q2FyYURlY2lzaW9uXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ4MCIgbmFtZT0iUGhhc2VTaXhDYXJhV3JvbmciIHRhZ3M9InBoYXNlNiBwaGFzZTZiIGJnLWNhcmFjaGFtYmVyIiBwb3NpdGlvbj0iMTEzMzUsMzg5MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAucmFpc2VBdHRlbnRpb24oJnF1b3Q7d3JvbmctZm91cnRoLW5hbWUmcXVvdDssMiwmcXVvdDtUaGUgZ3JvdXAgc3Bva2UgYW4gaW5jb3JyZWN0IEZvdXJ0aCBOYW1lIHRoZW9yeSBpbiBDYXJh4oCZcyBwcmVzZW5jZS4mcXVvdDspJmd0OyZndDsKLyogQjUuMSBjb25zZXF1ZW5jZSBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7Y2FyYUFwcHJvYWNoJnF1b3Q7LCAmcXVvdDt3cm9uZ1Npc3RlciZxdW90OywgJnF1b3Q7VGhlIGluY29ycmVjdCB0aGVvcnkgaW5jcmVhc2VzIHJlc2lzdGFuY2Ugd2l0aG91dCBlbmRpbmcgdGhlIGludmVzdGlnYXRpb24uJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7aWYgbm90ICRzdGFiaWxpemF0aW9uQXdhcmRzLmluY2x1ZGVzKCZxdW90O3Y0OlBoYXNlU2l4Q2FyYVdyb25nOjE6MzliZTk2NGMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlBoYXNlU2l4Q2FyYVdyb25nOjE6MzliZTk2NGMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkY2FyYVRydXN0IC09IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgcmV0cnkmcXVvdDsmZ3Q7Jmx0O2ImZ3Q7Q2FyYSBjbG9zZXMgdGhlIGlubmVyIGxvY2smbHQ7L2ImZ3Q7Jmx0O3NwYW4mZ3Q74oCcVGhlcmUgd2VyZSB0aHJlZSBzaXN0ZXJzLOKAnSBDYXJhIHNheXMuIOKAnERvIG5vdCBpbnZlbnQgYSBmb3VydGggcGVyc29uIGJlY2F1c2UgeW91IGZvdW5kIGEgZm91cnRoIHBvc2l0aW9uLuKAnSZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbVXNlIHRoZSBhcmNoaXZlIGV2aWRlbmNlIGluc3RlYWQtJmd0O1BoYXNlU2l4Q2FyYUtlZXBlcl1dW1tTaG93IHRoZSBjdXQgZ3JlZW4gdGhyZWFkLSZndDtQaGFzZVNpeENhcmFUaHJlYWRdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDgxIiBuYW1lPSJQaGFzZVNpeENhcmFUaHJlYWQiIHRhZ3M9InBoYXNlNiBwaGFzZTZiIGJnLWNhcmFjaGFtYmVyIiBwb3NpdGlvbj0iMTE0ODAsMzg5MCIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMSBjb25zZXF1ZW5jZSBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7Y2FyYUFwcHJvYWNoJnF1b3Q7LCAmcXVvdDtncmVlblRocmVhZCZxdW90OywgJnF1b3Q7UGh5c2ljYWwgZXZpZGVuY2UgZ2l2ZXMgQ2FyYSBhIHJlYXNvbiB0byBoZXNpdGF0ZS4mcXVvdDspJmd0OyZndDsKJmx0OyZsdDtpZiBub3QgJHN0YWJpbGl6YXRpb25Bd2FyZHMuaW5jbHVkZXMoJnF1b3Q7djQ6UGhhc2VTaXhDYXJhVGhyZWFkOjE6YzkxZWMxNmQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biAkc3RhYmlsaXphdGlvbkF3YXJkcy5wdXNoKCZxdW90O3Y0OlBoYXNlU2l4Q2FyYVRocmVhZDoxOmM5MWVjMTZkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGNhcmFUcnVzdCArPSAxJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGN1dCB0aHJlYWQgdGlnaHRlbmVkIGJldHdlZW4gQ2FyYSBhbmQgQWJiaWXigJlzIGNhdCBib29rLiZsdDsvcCZndDsmbHQ7cCZndDvigJxDYXJvbGluZSBjdXQgQ2FyYSBvdXQgb2YgdGhlIGJvb2ss4oCdIEtldmluIHNhaWQuIOKAnEJ1dCB0aGUgdGhyZWFkIHN0aWxsIGtub3dzIHdoZXJlIENhcmEgYmVsb25ncy7igJ0mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q74oCcQ2Fyb2xpbmUgY3V0IHRoZSBsaW5rIHNvIEkgY291bGQgZ3VhcmQgdGhlIHNjaG9vbCB3aXRob3V0IHRoZSBib29rIHNwZWFraW5nIHRocm91Z2ggbWUs4oCdIENhcmEgc2FpZC4g4oCcVGhhdCB3YXMgbm90IGJldHJheWFsLiBUaGF0IHdhcyBwZXJtaXNzaW9uLuKAnSZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NhcmEtdHJ1c3QmcXVvdDsmZ3Q7Q2FyYSByZWNvZ25pemVzIHRoYXQgdGhlIGdyb3VwIHVuZGVyc3RhbmRzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gb3duZXJzaGlwIGFuZCBjb25zZW50LiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBc2sgd2hhdCB3YWl0cyBiZWhpbmQgdGhlIGlubmVyIGRvb3ItJmd0O1BoYXNlU2l4Q2FyYURlY2lzaW9uXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ4MiIgbmFtZT0iUGhhc2VTaXhDYXJhRGVjaXNpb24iIHRhZ3M9InBoYXNlNiBwaGFzZTZiIGJnLWNhcmFjaGFtYmVyIiBwb3NpdGlvbj0iMTA5MDAsNDAzNSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNhcmFNZWV0aW5nQ29tcGxldGUgPSB0cnVlJmd0OyZndDsmbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtDYXJh4oCZcyBDaGFtYmVyOiBJbm5lciBLZXlob2xlIERvb3ImcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O0NhcmEgcGxhY2VkIGEgZ3JlZW4tdGhyZWFkIGtleSBpbnRvIHRoZSBpbm5lciBsb2NrIGJ1dCBkaWQgbm90IHR1cm4gaXQuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIGxlZnQgdGlsdC1uMSBzdGFuZGFyZCBmaW5hbDIwIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2NhcmFfdGhyZWFkX2tleSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX2NhcmFfdGhyZWFkX2tleS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIGxlZnQgdGlsdC1wMSBzdGFuZGFyZCB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDtmb3VydGhfbmFtZV9rZXlob2xlJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfZm91cnRoX25hbWVfa2V5aG9sZS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZGlhbG9ndWUtbGluZSZxdW90OyZndDsmbHQ7YiZndDtDYXJhOiZsdDsvYiZndDsg4oCcQmVoaW5kIHRoaXMgZG9vciBpcyB0aGUgY2hhbWJlciB3aGVyZSB0aGUgRm91cnRoIE5hbWUgd2FzIHJlbW92ZWQgZnJvbSBCcmVja2VucmlkZ2UuIENhcm9saW5lIHRyaWVkIHRvIHJlc3RvcmUgaXQuIENvcmEgcHJlc2VydmVkIHRoZSByZWNvcmQuIEkga2VwdCB0aGUgbG9jayBmcm9tIGNob29zaW5nIGEgcmVwbGFjZW1lbnQu4oCdJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtpZiAkY2FyYVRydXN0IGd0ZSAyJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BoYXNlNi1zdWNjZXNzJnF1b3Q7Jmd0O0NhcmEgd2lsbCBhbGxvdyB0aGUgZ3JvdXAgdG8gZW50ZXIgdW5kZXIgdGhlIEtlZXBlcuKAmXMgcnVsZXMuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BoYXNlNi1oaW50JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7TGltaXRlZCBDb29wZXJhdGlvbiZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0NhcmEgd2lsbCBvcGVuIHRoZSByb3V0ZSwgYnV0IENhcmEgd2lsbCBrZWVwIGNvbnRyb2wgb2YgdGhlIGdyZWVuLXRocmVhZCBrZXkuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7cCZndDtUaGUgZ3JlZW4gcmluZyBicmlnaHRlbmVkIG9uY2UuIEtldmlu4oCZcyB3YXRjaCBhZHZhbmNlZCBmcm9tIDk6MTQgdG8gOToxNSwgdGhlbiBzdG9wcGVkLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7TkVYVDogRU5URVIgVEhFIEZPVVJUSC1OQU1FIENIQU1CRVImbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbT3BlbiB0aGUgaW5uZXIgZG9vciB3aXRoIENhcmEtJmd0O1BoYXNlU2l4Rm91cnRoTmFtZUVudHJ5XV1bW1JldmlldyB0aGUgaW52ZXN0aWdhdGlvbiBiZWZvcmUgUGhhc2UgNkMtJmd0O0Nhc2VSZXN1bHRzXV1bW1BhdXNlIGJlZm9yZSBvcGVuaW5nIHRoZSBpbm5lciBkb29yLSZndDtNb3JlQ29taW5nU29vbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0ODMiIG5hbWU9IlBoYXNlU2l4Rm91cnRoTmFtZUVudHJ5IiB0YWdzPSJwaGFzZTYgcGhhc2U2YyBiZy1mb3VydGhjaGFtYmVyIiBwb3NpdGlvbj0iMTE5NDUsNDA1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGNoYXB0ZXIgPSAxOCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7Rm91cnRoLU5hbWUgQ2hhbWJlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0xlYXJuIHdoYXQgdGhlIGxvY2sgbXVzdCByZW1lbWJlciZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLWNhcmQgZ3JlZW4tY2hhcHRlciZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7UGhhc2UgU2l4IEMmbHQ7L2RpdiZndDsmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7VGhlIEZvdXJ0aC1OYW1lIENoYW1iZXImbHQ7L2gxJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtBIG5hbWUgcmVtb3ZlZCBpcyBub3QgdGhlIHNhbWUgYXMgYSBwZXJzb24gZXJhc2VkJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7Q2FyYSB0dXJuZWQgdGhlIGdyZWVuLXRocmVhZCBrZXkuIFRoZSBpbm5lciBkb29yIG9wZW5lZCBvbnRvIGZvdXIgZmxvb3IgcmluZ3Mgc3Vycm91bmRpbmcgYSBkb3dud2FyZC1mYWNpbmcgaGV4YWZvaWwuIFRocmVlIHJpbmdzIGhlbGQgcHJlc2VydmVkIGltcHJlc3Npb25zLiBUaGUgZm91cnRoIGhhZCBiZWVuIHNjcmFwZWQgYmxhbmsuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtcDEgc3RhbmRhcmQgZmluYWwyMCB3aWRlIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2ZvdXJfZmxvb3JfcmluZ3MmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9mb3VyX2Zsb29yX3JpbmdzLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O3AmZ3Q7S2V2aW7igJlzIHdhdGNoIHJlYWQgOToxNS4gRm9yIHRoZSBmaXJzdCB0aW1lLCB0aGUgbWludXRlIGhhbmQgZGlkIG5vdCBzbmFwIGJhY2t3YXJkLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRXhhbWluZSB0aGUgcHJlc2VydmVkIHJpbmdzLSZndDtQaGFzZVNpeFJlYWRSaW5nc11dW1tTdHVkeSB0aGUgYmxhbmsgcmluZyB3aXRoIEtpbW15LSZndDtQaGFzZVNpeEJsYW5rUmluZ11dW1tBc2sgQ2FyYSB3aGF0IENhcm9saW5lIHRyaWVkIHRvIHJlc3RvcmUtJmd0O1BoYXNlU2l4Q2Fyb2xpbmVUcnV0aF1dJmx0Oy9kaXYmZ3Q7CgovKiBWNC4zIGJvdW5kYXJ5IGNoZWNrcG9pbnQgY2hhcHRlciAxOCAqLwombHQ7Jmx0O3J1biBzZXR1cC52NDNDYXB0dXJlQm91bmRhcnkoMTgsICZxdW90O1BoYXNlU2l4Rm91cnRoTmFtZUVudHJ5JnF1b3Q7LCA0KSZndDsmZ3Q7CiZsdDsmbHQ7cnVuIHNldHVwLnY0NENhcHR1cmVDaGFwdGVyKDE4LCAmcXVvdDtQaGFzZVNpeEZvdXJ0aE5hbWVFbnRyeSZxdW90OywgNCkmZ3Q7Jmd0Owo8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ4NCIgbmFtZT0iUGhhc2VTaXhSZWFkUmluZ3MiIHRhZ3M9InBoYXNlNiBwaGFzZTZjIGJnLWZvdXJ0aGNoYW1iZXIiIHBvc2l0aW9uPSIxMjA5MCw0MDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtGb3VydGgtTmFtZSBDaGFtYmVyOiBOYW1lIFJpbmdzJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtUaGUgcHVycGxlIHJpbmcgcHJlc2VydmVkIHdoYXQgd2FzIHJlY29yZGVkLiBUaGUgZ3JlZW4gcmluZyBndWFyZGVkIHdobyBjb3VsZCBhcHByb2FjaC4gVGhlIHJlZCByaW5nIGhlbGQgd2hhdCB0aGUgdG93biB0cmllZCB0byBmb3JnZXQuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBibGFuayByaW5nIGRpZCBub25lIG9mIHRob3NlIHRoaW5ncy4gSXQgd2FpdGVkLiZsdDsvcCZndDsmbHQ7Jmx0O2lmICRkZWR1Y3Rpb25BZHZhbnRhZ2VzLnNlYWwmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cGhhc2U2LWhpbnQmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtTZWFs4oCZcyBUcnVlIERpcmVjdGlvbiZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0FsbCBmb3VyIHJpbmdzIGZlZWQgdGhlIGhleGFmb2lsIGRvd253YXJkLiBUaGUgY2hhbWJlciBpcyBzdGlsbCBjb250YWluaW5nIHNvbWV0aGluZyBiZW5lYXRoIHRoZW0uJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbSW5zcGVjdCB0aGUgZXJhc2VkIGZvdXJ0aCByaW5nLSZndDtQaGFzZVNpeEJsYW5rUmluZ11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0ODUiIG5hbWU9IlBoYXNlU2l4QmxhbmtSaW5nIiB0YWdzPSJwaGFzZTYgcGhhc2U2YyBiZy1mb3VydGhjaGFtYmVyIiBwb3NpdGlvbj0iMTIyMzUsNDA1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7Rm91cnRoLU5hbWUgQ2hhbWJlcjogQmxhbmsgUmluZyZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgZHVzdGVkIHRoZSBibGFuayBzdG9uZSB3aXRoIGdyYXBoaXRlLiBBIHNlbnRlbmNlIGVtZXJnZWQgZnJvbSBwcmVzc3VyZSBtYXJrczombHQ7L3AmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggbGVmdCB0aWx0LW4yIHN0YW5kYXJkIGZpbmFsMjAgdHJhbnNwYXJlbnQtcGFwZXImcXVvdDsgZGF0YS1za2V0Y2g9JnF1b3Q7Ymxhbmtfd2l0bmVzc19yaW5nJnF1b3Q7Jmd0OyZsdDtpbWcgc3JjPSZxdW90O2ltYWdlcy9za2V0Y2hlcy9za2V0Y2hfYmxhbmtfd2l0bmVzc19yaW5nLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O2ZpZ3VyZSBjbGFzcz0mcXVvdDtldmlkZW5jZS1za2V0Y2ggcmlnaHQgdGlsdC1uMSB3aWRlIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O3dpdG5lc3NfcnVsZSZxdW90OyZndDsmbHQ7aW1nIHNyYz0mcXVvdDtpbWFnZXMvc2tldGNoZXMvc2tldGNoX3dpdG5lc3NfcnVsZS5wbmcmcXVvdDsgYWx0PSZxdW90O1BlbmNpbCBldmlkZW5jZSBza2V0Y2gmcXVvdDsgbG9hZGluZz0mcXVvdDtsYXp5JnF1b3Q7Jmd0OyZsdDsvZmlndXJlJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmVjb3JkLWZyYWdtZW50JnF1b3Q7Jmd0O0EgRE9PUiBNQVkgTk9UIENIT09TRSBJVFMgT1dOIFdJVE5FU1MuJmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7VGhlIGZvdXJ0aCBuYW1lIHdhcyBub3QgdGhlIG5hbWUgb2YgdGhlIGZvcmNlIGJlbmVhdGggQnJlY2tlbnJpZGdlLiBJdCB3YXMgdGhlIG5hbWUgdGhlIHRvd24gYXNzaWduZWQgdG8gdGhlIHdpdG5lc3MgYXV0aG9yaXplZCB0byBzYXkgd2hldGhlciB0aGUgZG9vciByZW1haW5lZCBjbG9zZWQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBc2sgd2hvIHRoZSBsYXN0IHdpdG5lc3Mgd2FzLSZndDtQaGFzZVNpeExhc3RXaXRuZXNzXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ4NiIgbmFtZT0iUGhhc2VTaXhDYXJvbGluZVRydXRoIiB0YWdzPSJwaGFzZTYgcGhhc2U2YyBiZy1mb3VydGhjaGFtYmVyIiBwb3NpdGlvbj0iMTIzODAsNDA1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O3AmZ3Q74oCcQ2Fyb2xpbmUgZGlkIG5vdCB0cnkgdG8gZnJlZSB3aGF0IGlzIHVuZGVybmVhdGgs4oCdIENhcmEgc2FpZC4g4oCcQ2Fyb2xpbmUgdHJpZWQgdG8gcmVzdG9yZSB0aGUgd2l0bmVzcyB0aGUgdG93biByZW1vdmVkLiBXaXRob3V0IGEgcmVtZW1iZXJlZCB3aXRuZXNzLCB0aGUgbG9jayBiZWdhbiBjaG9vc2luZyByZXBsYWNlbWVudHMu4oCdJmx0Oy9wJmd0OyZsdDtwJmd0O0FiYmllLiBLZXZpbi4gRXZlcnkgY2hpbGQgcHVsbGVkIHRvd2FyZCBhIGJsYW5rIHJlY29yZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0FzayB3aG8gdGhlIGxhc3Qgd2l0bmVzcyB3YXMtJmd0O1BoYXNlU2l4TGFzdFdpdG5lc3NdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDg3IiBuYW1lPSJQaGFzZVNpeExhc3RXaXRuZXNzIiB0YWdzPSJwaGFzZTYgcGhhc2U2YyBiZy1mb3VydGhjaGFtYmVyIiBwb3NpdGlvbj0iMTE4MDAsNDE5NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7Rm91cnRoLU5hbWUgQ2hhbWJlcjogV2l0bmVzcyBSZWNvcmQmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O0NhcmEgcGxhY2VkIENvcmHigJlzIHByZXNlcnZlZCBjYXJkLCBDYXJvbGluZeKAmXMgcmVkLXdheCBsZXR0ZXIsIGFuZCB0aGUgZ3JlZW4tdGhyZWFkIGtleSBhcm91bmQgdGhlIGJsYW5rIHJpbmcuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIHJpZ2h0IHRpbHQtcDIgc3RhbmRhcmQgZmluYWwyMCB3aWRlIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O2xhc3Rfd2l0bmVzc19yZWNvcmQmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9sYXN0X3dpdG5lc3NfcmVjb3JkLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtkaWFsb2d1ZS1saW5lJnF1b3Q7Jmd0OyZsdDtiJmd0O0NhcmE6Jmx0Oy9iJmd0OyDigJxUaGUgbGFzdCBGb3VydGggTmFtZSB3YXMgcmVtb3ZlZCBzbyBjb21wbGV0ZWx5IHRoYXQgZXZlbiB0aGUgdGl0bGUgZm9yZ290IHdobyBoZWxkIGl0LiBDYXJvbGluZSByZWNvdmVyZWQgb25lIHRydXRoOiB0aGUgd2l0bmVzcyBjaG9zZSB0byBiZSBlcmFzZWQgcmF0aGVyIHRoYW4gbGV0IHRoZSB0b3duIHVzZSBhbm90aGVyIGNoaWxkLuKAnSZsdDsvZGl2Jmd0OyZsdDtwJmd0O1RoZSBhY3R1YWwgaWRlbnRpdHkgcmVtYWluZWQgaGlkZGVuLCBidXQgdGhlIHJ1bGUgd2FzIGNsZWFyLiBUaGUgY2hhbWJlciBuZWVkZWQgY29uc2VudCwgZXZpZGVuY2UsIGFuZCBhIGxpdmluZyB3aXRuZXNzLiBJdCBjb3VsZCBub3Qgc2ltcGx5IHNlaXplIGEgcmVwbGFjZW1lbnQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tQcmVwYXJlIHRvIHJlaW5mb3JjZSB0aGUgd2l0bmVzcyBydWxlLSZndDtQaGFzZVNpeEZpbmFsTG9ja11dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0ODgiIG5hbWU9IlBoYXNlU2l4RmluYWxMb2NrIiB0YWdzPSJwaGFzZTYgcGhhc2U2YyBiZy1mb3VydGhjaGFtYmVyIiBwb3NpdGlvbj0iMTE5NDUsNDE5NSIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7Rm91cnRoLU5hbWUgQ2hhbWJlcjogRmluYWwgTG9jayZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O0Nob29zZSBob3cgdG8gc3RhYmlsaXplIHRoZSBGb3VydGggTmFtZSZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtmb3JtYWwtcHV6emxlIGdyZWVuLWxvY2smcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7cHV6emxlLWtpY2tlciZxdW90OyZndDtGaW5hbCBQaGFzZSBTaXggRGVjaXNpb24mbHQ7L3NwYW4mZ3Q7Jmx0O2gyJmd0O1doYXQgU2hvdWxkIHRoZSBMb2NrIFJlbWVtYmVyPyZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7Q2FyYSBjYW4gcmVpbmZvcmNlIHRoZSBib3VuZGFyeSwgS2ltbXkgY2FuIHByZXNlcnZlIHRoZSByZWNvdmVyZWQgcnVsZSwgb3IgS2V2aW4gY2FuIGxldCB0aGUgd2F0Y2ggdGVzdCB0aGUgYmxhbmsgcmluZy4mbHQ7L3AmZ3Q7Jmx0OyZsdDtpZiAkY2FyYVRydXN0IGd0ZSAyJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BoYXNlNi1zdWNjZXNzJnF1b3Q7Jmd0O0NhcmEgdHJ1c3RzIHRoZSBncm91cCBlbm91Z2ggdG8gc2hhcmUgY29udHJvbCBvZiB0aGUgZ3JlZW4tdGhyZWFkIGtleS4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cGhhc2U2LWhpbnQmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtLZWVwZXIgQ29udHJvbCZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0NhcmEgd2lsbCBzdXBlcnZpc2UgZXZlcnkgY2hhbmdlIHRvIHRoZSBsb2NrLiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JlaW5mb3JjZSBDYXJh4oCZcyBib3VuZGFyeSBhbmQgcHJlc2VydmUgdGhlIHdpdG5lc3MgcnVsZS0mZ3Q7UGhhc2VTaXhSZWluZm9yY2VdXVtbUmVjb3JkIHRoZSBydWxlIHdpdGhvdXQgYWN0aXZhdGluZyB0aGUgYmxhbmsgcmluZy0mZ3Q7UGhhc2VTaXhSZWNvcmRdXVtbVXNlIEtldmlu4oCZcyB3YXRjaCB0byB0ZXN0IHdoZXRoZXIgdGhlIGNoYW1iZXIgc3RpbGwgc2Vla3MgYSByZXBsYWNlbWVudC0mZ3Q7UGhhc2VTaXhUZXN0V2F0Y2hdXSZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNDg5IiBuYW1lPSJQaGFzZVNpeFJlaW5mb3JjZSIgdGFncz0icGhhc2U2IHBoYXNlNmMgYmctZm91cnRoY2hhbWJlciIgcG9zaXRpb249IjEyMDkwLDQxOTUiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRmb3VydGhOYW1lQ2hvaWNlID0gJnF1b3Q7cmVpbmZvcmNlJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtDYXJhIGNvbXBsZXRlZCB0aGUgZ3JlZW4gY2lyY2xlIHdoaWxlIEtpbW15IHJlYWQgdGhlIHJlY292ZXJlZCBydWxlIGFsb3VkLiBUaGUgYmxhbmsgcmluZyBhY2NlcHRlZCB0aGUgcnVsZSBidXQgbm8gbmV3IG5hbWUuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cHV6emxlLXJldmVhbCBzdWNjZXNzJnF1b3Q7Jmd0OyZsdDtiJmd0O1RoZSBib3VuZGFyeSBob2xkcyZsdDsvYiZndDsmbHQ7c3BhbiZndDtUaGUgY2hhbWJlciByZWNvZ25pemVzIHRoYXQgYSB3aXRuZXNzIG11c3QgY2hvb3NlIHRoZSByb2xlLiBObyByZXBsYWNlbWVudCBpcyBzZWxlY3RlZC4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0ZpbmlzaCB0aGUgbG9jayBzZXF1ZW5jZS0mZ3Q7UGhhc2VTaXhSZXNvbHV0aW9uXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ5MCIgbmFtZT0iUGhhc2VTaXhSZWNvcmQiIHRhZ3M9InBoYXNlNiBwaGFzZTZjIGJnLWZvdXJ0aGNoYW1iZXIiIHBvc2l0aW9uPSIxMjIzNSw0MTk1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZm91cnRoTmFtZUNob2ljZSA9ICZxdW90O3JlY29yZCZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgY29waWVkIHRoZSBwcmVzc3VyZSBtYXJrcyBvbnRvIGEgYmxhbmsgYXJjaGl2ZSBjYXJkLiBDb3Jh4oCZcyBwdXJwbGUgbGlnaHQgc2VhbGVkIHRoZSByZWNvcmQgd2hpbGUgQ2FyYSBrZXB0IHRoZSByaW5nIGluYWN0aXZlLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgc3VjY2VzcyZxdW90OyZndDsmbHQ7YiZndDtUaGUgcnVsZSBzdXJ2aXZlcyBvdXRzaWRlIHRoZSBjaGFtYmVyJmx0Oy9iJmd0OyZsdDtzcGFuJmd0O1RoZSBsb2NrIHJlbWFpbnMgY2xvc2VkLCBhbmQgdGhlIHJlY292ZXJlZCBsYXcgY2FuIG5vIGxvbmdlciBiZSBlcmFzZWQgZnJvbSBldmVyeSByZWNvcmQgYXQgb25jZS4mbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0ZpbmlzaCB0aGUgbG9jayBzZXF1ZW5jZS0mZ3Q7UGhhc2VTaXhSZXNvbHV0aW9uXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ5MSIgbmFtZT0iUGhhc2VTaXhUZXN0V2F0Y2giIHRhZ3M9InBoYXNlNiBwaGFzZTZjIGJnLWZvdXJ0aGNoYW1iZXIiIHBvc2l0aW9uPSIxMjM4MCw0MTk1IiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkZm91cnRoTmFtZUNob2ljZSA9ICZxdW90O3dhdGNoJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtLZXZpbiBwbGFjZWQgdGhlIHdhdGNoIGJlc2lkZSB0aGUgYmxhbmsgcmluZy4gVGhlIG1pbnV0ZSBoYW5kIG1vdmVkIHRvIDk6MTYuIExldHRlcnMgYmVnYW4gZm9ybWluZywgdGhlbiBzdG9wcGVkIGJlZm9yZSBiZWNvbWluZyBhIG5hbWUuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIGxlZnQgdGlsdC1wMiBzdGFuZGFyZCB0cmFuc3BhcmVudC1wYXBlciZxdW90OyBkYXRhLXNrZXRjaD0mcXVvdDt3YXRjaF85MTYmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF93YXRjaF85MTYucG5nJnF1b3Q7IGFsdD0mcXVvdDtQZW5jaWwgZXZpZGVuY2Ugc2tldGNoJnF1b3Q7IGxvYWRpbmc9JnF1b3Q7bGF6eSZxdW90OyZndDsmbHQ7L2ZpZ3VyZSZndDsmbHQ7Jmx0O2lmICRkZWR1Y3Rpb25BZHZhbnRhZ2VzLmZvdXJ0aCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtwaGFzZTYtc3VjY2VzcyZxdW90OyZndDtUaGUgRm91cnRoIE5hbWUgZGVkdWN0aW9uIHByZXZlbnRzIHRoZSBncm91cCBmcm9tIG1pc3Rha2luZyB0aGUgZm9ybWluZyB0aXRsZSBmb3IgYSBwZXJzb27igJlzIGlkZW50aXR5LiZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3B1enpsZS1yZXZlYWwgc3VjY2VzcyZxdW90OyZndDsmbHQ7YiZndDtUaGUgY2hhbWJlciBpcyBubyBsb25nZXIgY2hvb3NpbmcgYmxpbmRseSZsdDsvYiZndDsmbHQ7c3BhbiZndDtUaGUgcmVzdG9yZWQgd2l0bmVzcyBydWxlIGludGVycnVwdHMgdGhlIHJlcGxhY2VtZW50IHByb2Nlc3MuJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tGaW5pc2ggdGhlIGxvY2sgc2VxdWVuY2UtJmd0O1BoYXNlU2l4UmVzb2x1dGlvbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0OTIiIG5hbWU9IlBoYXNlU2l4UmVzb2x1dGlvbiIgdGFncz0icGhhc2U2IHBoYXNlNmMgYmctcmVzdG9yZWRhcmNoaXZlIiBwb3NpdGlvbj0iMTE4MDAsNDM0MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJHBoYXNlNkNvbXBsZXRlID0gdHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHdhdGNoVGltZSA9ICRmb3VydGhOYW1lQ2hvaWNlIGlzICZxdW90O3dhdGNoJnF1b3Q7ID8gJnF1b3Q7OToxNiZxdW90OyA6ICZxdW90Ozk6MTUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O1Jlc3RvcmVkIFdpdG5lc3MgQXJjaGl2ZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1JldHVybiBhYm92ZSBncm91bmQgd2l0aCB0aGUgcmVjb3ZlcmVkIHJ1bGUmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci1jYXJkIGdyZWVuLWNoYXB0ZXImcXVvdDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlcGlzb2RlLWxhYmVsJnF1b3Q7Jmd0O1BoYXNlIFNpeCBDb21wbGV0ZSZsdDsvZGl2Jmd0OyZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtUaGUgTG9jayBSZW1lbWJlcnMgdGhlIFJ1bGUmbHQ7L2gxJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtOb3QgYSBuZXcgbmFtZS4gQSBjaG9pY2UuJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7VGhlIHRocmVlIGNvbG9yZWQgcmluZ3MgZGltbWVkLCBsZWF2aW5nIHRoZSBmb3VydGggcmluZyBibGFuayBieSBjb25zZW50IHJhdGhlciB0aGFuIGVyYXN1cmUuJmx0Oy9wJmd0OyZsdDsmbHQ7aWYgJGZvdXJ0aE5hbWVDaG9pY2UgaXMgJnF1b3Q7cmVpbmZvcmNlJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtDYXJhIHJlbWFpbmVkIHRoZSBLZWVwZXIsIGJ1dCB0aGUgc2Nob29sIGJvdW5kYXJ5IG5vIGxvbmdlciBkZW1hbmRlZCBhIHJlcGxhY2VtZW50IHdpdG5lc3MuJmx0Oy9wJmd0OyZsdDsmbHQ7ZWxzZWlmICRmb3VydGhOYW1lQ2hvaWNlIGlzICZxdW90O3JlY29yZCZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgY2FycmllZCB0aGUgd2l0bmVzcyBydWxlIGludG8gdGhlIGFyY2hpdmUsIHdoZXJlIGl0IGNvdWxkIHN1cnZpdmUgZXZlbiBpZiB0aGUgY2hhbWJlciB3YXMgYWx0ZXJlZCBhZ2Fpbi4mbHQ7L3AmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtLZXZpbuKAmXMgd2F0Y2ggcHJvdmVkIHRoYXQgdGhlIGNoYW1iZXIgY291bGQgYWR2YW5jZSB3aXRob3V0IHRha2luZyBhIG5hbWUuIEl0IG5vdyByZWFkIDk6MTYuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7cCZndDtDYXJhIG9wZW5lZCB0aGUgc3RhaXJ3ZWxsIGJhY2sgdG8gTXIuIEFzaHRvbuKAmXMgY2xhc3Nyb29tLiDigJxDYXJvbGluZSB3YXMgcmlnaHQgYWJvdXQgb25lIHRoaW5nLOKAnSBDYXJhIHNhaWQuIOKAnFdoYXQgQnJlY2tlbnJpZGdlIGVyYXNlcyBjYW4gYmUgcmVzdG9yZWQuIEJ1dCByZXN0b3JhdGlvbiBpcyBub3Qgb3duZXJzaGlwLuKAnSZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSBzdXJmYWNlLSZndDtQaGFzZVNpeEVwaWxvZ3VlXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ5MyIgbmFtZT0iUGhhc2VTaXhFcGlsb2d1ZSIgdGFncz0icGhhc2U2IHBoYXNlNmMgYmctY2xhc3Nyb29tIiBwb3NpdGlvbj0iMTE5NDUsNDM0MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7TXIuIEFzaHRvbuKAmXMgQ2xhc3Nyb29tOiA5OjE3IFBNJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtUaGUgY2xhc3Nyb29tIGNsb2NrIGFkdmFuY2VkIHRvIDk6MTcuIE1yLiBBc2h0b24gd3JvdGUgQ0FST0xJTkUgb24gdGhlIGJvYXJkIGFuZCBkaWQgbm90IGZvcmdldCB0aGUgbmFtZSB3aGVuIGhlIHR1cm5lZCBhcm91bmQuJmx0Oy9wJmd0OyZsdDtwJmd0O0Fjcm9zcyB0b3duLCBvbmUgYmxhbmsgY2VtZXRlcnkgc3RvbmUgZ2FpbmVkIGEgc2luZ2xlIGNhcnZlZCB3b3JkOiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3JlY29yZC1mcmFnbWVudCZxdW90OyZndDtXSVRORVNTJmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7Tm8gcGVyc29u4oCZcyBuYW1lIGFwcGVhcmVkIGJlbmVhdGggaXQuJmx0Oy9wJmd0OyZsdDtmaWd1cmUgY2xhc3M9JnF1b3Q7ZXZpZGVuY2Utc2tldGNoIGxlZnQgdGlsdC1uMSBzdGFuZGFyZCBmaW5hbDIwIHRyYW5zcGFyZW50LXBhcGVyJnF1b3Q7IGRhdGEtc2tldGNoPSZxdW90O3Jlc3RvcmVkX3dpdG5lc3Nfc3RvbmUmcXVvdDsmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7aW1hZ2VzL3NrZXRjaGVzL3NrZXRjaF9yZXN0b3JlZF93aXRuZXNzX3N0b25lLnBuZyZxdW90OyBhbHQ9JnF1b3Q7UGVuY2lsIGV2aWRlbmNlIHNrZXRjaCZxdW90OyBsb2FkaW5nPSZxdW90O2xhenkmcXVvdDsmZ3Q7Jmx0Oy9maWd1cmUmZ3Q7Jmx0O3AmZ3Q7Q2FyYSBrZXB0IHRoZSBncmVlbiByaW5nLiBDb3Jh4oCZcyByZWNvcmRzIHJlbWFpbmVkIHByZXNlcnZlZC4gQ2Fyb2xpbmXigJlzIHVuZmluaXNoZWQgd29yayBoYWQgYmVjb21lIGEgY2hvaWNlIGluc3RlYWQgb2YgYSBjb21tYW5kLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVybmFsLXRob3VnaHQmcXVvdDsmZ3Q7UEhBU0UgU0lYIENPTVBMRVRFJmx0O2JyJmd0O1RIRSBHUkVFTi1SSU5HIFNDSE9PTCBJTlZFU1RJR0FUSU9OIElTIENMT1NFRCZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tWaWV3IHRoZSBQaGFzZSBTaXggQ2FzZSBSZXN1bHRzLSZndDtQaGFzZVNpeFJlc3VsdHNdXVtbUmV0dXJuIHRvIHRoZSBtYWluIENhc2UgUmVzdWx0cy0mZ3Q7Q2FzZVJlc3VsdHNdXVtbUGF1c2UgdGhlIGludmVzdGlnYXRpb24tJmd0O01vcmVDb21pbmdTb29uXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ5NCIgbmFtZT0iUGhhc2VTaXhSZXN1bHRzIiB0YWdzPSJwaGFzZTYgcGhhc2U2YyBiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSIxMjA5MCw0MzQwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtDYXNlIEZpbGU6IFBoYXNlIFNpeCBSZXN1bHRzJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCZxdW90OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VwaXNvZGUtbGFiZWwmcXVvdDsmZ3Q7Q29tcGxldGVkIEludmVzdGlnYXRpb24mbHQ7L2RpdiZndDsmbHQ7aDEgY2xhc3M9JnF1b3Q7cG92LW5hbWUmcXVvdDsmZ3Q7UGhhc2UgU2l4IENhc2UgUmVzdWx0cyZsdDsvaDEmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaGFwdGVyLXRpdGxlJnF1b3Q7Jmd0O1RoZSBHcmVlbi1SaW5nIFNjaG9vbCBJbnZlc3RpZ2F0aW9uJmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZXN1bHRzLXNlY3Rpb24mcXVvdDsmZ3Q7Jmx0O2gyJmd0O1Jlc29sdmVkJmx0Oy9oMiZndDsmbHQ7dWwmZ3Q7Jmx0O2xpJmd0O1RoZSBoaWRkZW4gc2Nob29sIGxldmVsIHdhcyBvcGVuZWQgd2l0aG91dCByZXZlcnNpbmcgdGhlIGNvbnRhaW5tZW50IHNlYWwuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7VGhlIGdyZWVuIHJvdXRlIHJlYWNoZWQgQ2FyYSB3aXRob3V0IGNyb3NzaW5nIHRoZSBwdXJwbGUgb3IgcmVkIGJvdW5kYXJpZXMuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7VGhlIEZvdXJ0aCBOYW1lIHdhcyBpZGVudGlmaWVkIGFzIHRoZSByZW1lbWJlcmVkIGF1dGhvcml0eSBvZiBhIGNvbnNlbnRpbmcgd2l0bmVzcywgbm90IGEgZm91cnRoIHNpc3Rlci4mbHQ7L2xpJmd0OyZsdDtsaSZndDtUaGUgY2hhbWJlcuKAmXMgcmVwbGFjZW1lbnQgcHJvY2VzcyB3YXMgaW50ZXJydXB0ZWQuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7S2V2aW7igJlzIHdhdGNoIGFkdmFuY2VkIGJleW9uZCA5OjE0LiZsdDsvbGkmZ3Q7Jmx0Oy91bCZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc3VsdHMtc2VjdGlvbiZxdW90OyZndDsmbHQ7aDImZ3Q7WW91ciBPdXRjb21lJmx0Oy9oMiZndDsmbHQ7cCZndDsmbHQ7YiZndDtBcmNoaXZlIGV2aWRlbmNlOiZsdDsvYiZndDsgJmx0OyZsdDtwcmludCAkcGhhc2U2QXJjaGl2ZUZpbmRzLmxlbmd0aCZndDsmZ3Q7IC8gMyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7YiZndDtDYXJhIHRydXN0OiZsdDsvYiZndDsgJmx0OyZsdDtwcmludCAkY2FyYVRydXN0Jmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O2ImZ3Q7RmluYWwgYXBwcm9hY2g6Jmx0Oy9iJmd0OyAmbHQ7Jmx0O3ByaW50ICRmb3VydGhOYW1lQ2hvaWNlLmNhcGl0YWxpemUoKSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtiJmd0O1dhdGNoIHRpbWU6Jmx0Oy9iJmd0OyAmbHQ7Jmx0O3ByaW50ICR3YXRjaFRpbWUmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV2aWV3IGFsbCBldmlkZW5jZS0mZ3Q7RXZpZGVuY2VBcmNoaXZlXV1bW1JldHVybiB0byB0aGUgY29tcGxldGVkIG1pbGVzdG9uZS0mZ3Q7UGhhc2VTaXhNaWxlc3RvbmVdXSZsdDsvZGl2Jmd0OwombHQ7IS0tIEI1LjEgY2FsbGJhY2sgLS0mZ3Q7CiZsdDsmbHQ7aWYgJG1ham9yQ29uc2VxdWVuY2VzLmNhcmFBcHByb2FjaCBpcyAmcXVvdDtrZWVwZXImcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7Q2FyYSByZXNwb25kZWQgdG8gdGhlIGNvcnJlY3QgbWVhbmluZyBvZiB0aGUgRm91cnRoIE5hbWUuIEhlciByZXNpc3RhbmNlIHdlYWtlbmVkIGJlY2F1c2UgdGhlIGdyb3VwIHVuZGVyc3Rvb2QgdGhlIGR1dHksIG5vdCBtZXJlbHkgdGhlIGlkZW50aXR5LiZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2VpZiAkbWFqb3JDb25zZXF1ZW5jZXMuY2FyYUFwcHJvYWNoIGlzICZxdW90O2dyZWVuVGhyZWFkJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLWNhbGxiYWNrJnF1b3Q7Jmd0O1RoZSBjdXQgZ3JlZW4gdGhyZWFkIGdhdmUgQ2FyYSBwaHlzaWNhbCBwcm9vZiB0aGF0IHRoZSBkYW5nZXIgaGFkIHJlYWNoZWQgQWJiaWUmIzM5O3MgYm9vay4gU2hlIGNvb3BlcmF0ZWQgd2l0aG91dCBmdWxseSB0cnVzdGluZyB0aGUgZ3JvdXAuJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRtYWpvckNvbnNlcXVlbmNlcy5jYXJhQXBwcm9hY2ggaXMgJnF1b3Q7c3BlbmNlciZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtTcGVuY2VyJiMzOTtzIHJlY292ZXJlZCBtZW1vcnkgcmVhY2hlZCBDYXJhIHRocm91Z2ggdGhlIG9uZSBwYXJ0IG9mIHRoZSBmYW1pbHkgcmVjb3JkIHNoZSBzdGlsbCBob25vcmVkLiZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2VpZiAkbWFqb3JDb25zZXF1ZW5jZXMuY2FyYUFwcHJvYWNoIGlzICZxdW90O2FzaHRvbiZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtUaGUgcXVlc3Rpb24gYWJvdXQgQXNodG9uJiMzOTtzIGZvcmdldHRpbmcgZXhwb3NlZCB0aGUgY29zdCBvZiBDYXJhJiMzOTtzIHNpbGVuY2UsIGJ1dCBpdCBkaWQgbm90IHJlc29sdmUgaGVyIGZlYXIuJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7ZWxzZWlmICRtYWpvckNvbnNlcXVlbmNlcy5jYXJhQXBwcm9hY2ggaXMgJnF1b3Q7d3JvbmdTaXN0ZXImcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7VGhlIGluY29ycmVjdCBzaXN0ZXIgdGhlb3J5IGRpZCBub3QgZW5kIHRoZSBpbnZlc3RpZ2F0aW9uLCBidXQgQ2FyYSB3aXRoaGVsZCBoZWxwIGFuZCB0aGUgZ3JvdXAgcGFpZCBmb3IgdGhlIG1pc3Rha2UgaW4gdGltZS4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7XG4mbHQ7IS0tIEI1LjQgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiAkYWJpbGl0eUFkdmFudGFnZXMuaW5jbHVkZXMoJnF1b3Q7c2Nvb3QtZm91cnRoLW5hbWUmcXVvdDspJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLWNhbGxiYWNrJnF1b3Q7Jmd0O1Njb2904oCZcyBub3RlYm9vayBxdWVzdGlvbiBoYWQgY29ycmVjdGx5IHJlZnJhbWVkIHRoZSBGb3VydGggTmFtZSBhcyBhIHJlc3BvbnNpYmlsaXR5LiZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2lmICRzdXBlcm5hdHVyYWxFeHBvc3VyZSAmZ3Q7PSAyJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLWNhbGxiYWNrJnF1b3Q7Jmd0O1RoZSBub3RlYm9vayBhbnN3ZXJlZCwgYnV0IHRoZSBncm91cOKAmXMgcmVwZWF0ZWQgcXVlc3Rpb25zIGxlZnQgYSBzdHJvbmdlciBzdXBlcm5hdHVyYWwgdHJhY2UuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7IS0tIEI1LjUgYXR0ZW50aW9uIHBheW9mZiAtLSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Jlc3VsdHMtc2VjdGlvbiZxdW90OyZndDsmbHQ7aDImZ3Q7VGhlIENvc3Qgb2YgQmVpbmcgU2VlbiZsdDsvaDImZ3Q7Jmx0OyZsdDtzd2l0Y2ggc2V0dXAuYXR0ZW50aW9uU3RhdGUoKSZndDsmZ3Q7Jmx0OyZsdDtjYXNlICZxdW90O1Vubm90aWNlZCZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGludmVzdGlnYXRpb24gZW5kZWQgd2l0aG91dCBkcmF3aW5nIGZvY3VzZWQgYXR0ZW50aW9uLiZsdDsvcCZndDsmbHQ7Jmx0O2Nhc2UgJnF1b3Q7T2JzZXJ2ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1NvbWV0aGluZyBoYWQgbm90aWNlZCB0aGUgZ3JvdXAsIGJ1dCBoYWQgbm90IHlldCBjaG9zZW4gb25lIG9mIHRoZW0uJmx0Oy9wJmd0OyZsdDsmbHQ7Y2FzZSAmcXVvdDtGb2xsb3dlZCZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIHByZXNlbmNlIGNvbnRpbnVlZCB0byBmb2xsb3cgdGhlaXIgZXZpZGVuY2UgdHJhaWwuJmx0Oy9wJmd0OyZsdDsmbHQ7Y2FzZSAmcXVvdDtNYXJrZWQmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBncm91cCBjYXJyaWVkIGEgc3VwZXJuYXR1cmFsIG1hcmsgYmV5b25kIHRoZSBjYXNlLiZsdDsvcCZndDsmbHQ7Jmx0O2Nhc2UgJnF1b3Q7SHVudGVkJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtUaGUgY2FzZSB3YXMgb3ZlciwgYnV0IHRoZSBodW50IGhhZCBhbHJlYWR5IGJlZ3VuLiZsdDsvcCZndDsmbHQ7Jmx0Oy9zd2l0Y2gmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0IGVuZGluZy1saW5rJnF1b3Q7Jmd0O1tbVmlldyB0aGUgZmluYWwgVHJ1dGgsIFJlc2N1ZSwgYW5kIENvc3Qgb3V0Y29tZS0mZ3Q7RW5kaW5nTWF0cml4UmVzdWx0c11dJmx0Oy9kaXYmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMTYgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiAkbG9zdE1pbnV0ZUNvbXBsZXRlZCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O1RoZSBMb3N0IE1pbnV0ZTombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDtpZiAkbG9zdE1pbnV0ZUZyYWdtZW50Jmd0OyZndDtUaGUgdG9ybiBhdHRlbmRhbmNlIGZyYWdtZW50IHByb3ZlZCB0aGF0IHNvbWVvbmUgaGFkIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSByZWNvcmQuJmx0OyZsdDtlbHNlaWYgJGxvc3RNaW51dGVNYXJrZWQmZ3Q7Jmd0O1RoZSBtYXJrIGFyb3VuZCB0aGUgaW52ZXN0aWdhdG9yJiMzOTtzIHdyaXN0IHJlbWFpbmVkIGFmdGVyIGV2ZXJ5IG90aGVyIHNpZ24gZmFkZWQuJmx0OyZsdDtlbHNlaWYgJGxvc3RNaW51dGVUaW1lTG9zcyZndDsmZ3Q7VGhlIGNsb2NrcyBhZ3JlZWQgdGhhdCBvbmx5IG9uZSBtaW51dGUgaGFkIHBhc3NlZCwgdGhvdWdoIHRoZSBpbnZlc3RpZ2F0b3IgcmVtZW1iZXJlZCBuaW5ldGVlbi4mbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1RoZSBncm91cCBlc2NhcGVkIDk6MTQgd2l0aCBrbm93bGVkZ2UgdGhhdCB0aGUgZnJvemVuIHRvd24gZXhpc3RlZCBiZXNpZGUgdGhlaXIgb3duLiZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMTkgYWZ0ZXJlZmZlY3QgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiBzZXR1cC51bnJlc29sdmVkQWZ0ZXJlZmZlY3RDb3N0KCkgJmd0OyAwJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLWNhbGxiYWNrJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7SGF1bnRpbmcgYWZ0ZXJlZmZlY3RzOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gc2V0dXAudW5yZXNvbHZlZEhhdW50aW5nQWZ0ZXJlZmZlY3RzKCkubGVuZ3RoJmd0OyZndDsgdW5yZXNvbHZlZCBlZmZlY3QocykgcmVtYWluLCBhZGRpbmcgJmx0OyZsdDs9IHNldHVwLnVucmVzb2x2ZWRBZnRlcmVmZmVjdENvc3QoKSZndDsmZ3Q7IHRvIHRoZSBzdXBlcm5hdHVyYWwgY29zdC4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMjEgY29udGFpbm1lbnQgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiBzZXR1cC5yZXNvbHV0aW9uQ291bnQoKSAmZ3Q7IDAmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtWZXJpZmllZCBjb250YWlubWVudDombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLnJlc29sdXRpb25Db3VudCgpJmd0OyZndDsgcmVzb2x2ZWQgZWZmZWN0KHMpIGFkZCArJmx0OyZsdDs9IHNldHVwLnJlc29sdXRpb25UcnV0aEJvbnVzKCkmZ3Q7Jmd0OyB0byBUcnV0aCBhbmQgcmVkdWNlIHN1cGVybmF0dXJhbCBDb3N0IGJ5ICZsdDsmbHQ7PSBzZXR1cC5yZXNvbHV0aW9uQ29zdFJlZHVjdGlvbigpJmd0OyZndDsuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0O1xuJmx0OyEtLSBCdWlsZCA1LjIyIHZvaWNlIHJvb20gY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiAkYm9ycm93ZWRWb2ljZVJvb21Db21wbGV0ZWQmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgUm9vbSBCZWhpbmQgdGhlIFZvaWNlOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0O2lmICR2b2ljZVJvb21GaXJzdENvcHkmZ3Q7Jmd0O1RoZSBGSVJTVCBDT1BZIGxhYmVsIHN1Z2dlc3RzIHRoZSBpbWl0YXRpb25zIGJlZ2FuIGJlZm9yZSB0aGUgY3VycmVudCBpbnZlc3RpZ2F0aW9uLiZsdDsmbHQ7ZWxzZWlmICR2b2ljZVJvb21Gb2xsb3dpbmdWb2ljZSZndDsmZ3Q7T25lIGVzY2FwZWQgaW1pdGF0aW9uIHN0aWxsIGZvbGxvd3MgdGhlIGludmVzdGlnYXRvciYjMzk7cyBzcGVlY2guJmx0OyZsdDtlbHNlJmd0OyZndDtUaGUgZ3JvdXAgcHJvdmVkIHRoYXQgdGhlIGJvcnJvd2VkIHZvaWNlcyByZXF1aXJlIGFja25vd2xlZGdtZW50IGFuZCB3aXRuZXNzZXMuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDtcbiZsdDshLS0gQnVpbGQgNS4yMyBtaXNzaW5nIGFyY2hpdmUgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiAkbWlzc2luZ0FyY2hpdmVDb21wbGV0ZWQmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgTWlzc2luZyBBcmNoaXZlOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0O2lmICRtaXNzaW5nQXJjaGl2ZUFncmVlbWVudFJlY29yZCZndDsmZ3Q7VGhlIHJldmVyc2VkIHRvd24gc2VhbCBwcm92ZXMgdGhhdCBzdXBlcm5hdHVyYWwgcmVtb3ZhbCByZXF1aXJlcyBodW1hbiBhZ3JlZW1lbnQuJmx0OyZsdDtlbHNlaWYgJG1pc3NpbmdBcmNoaXZlQ2F0YWxvZ2VkJmd0OyZndDtUaGUgcHVibGljIGNhdGFsb2cgc3RpbGwgbGlzdHMgYW4gaW52ZXN0aWdhdG9yIGFzIGEgcmVzdHJpY3RlZCByZWZlcmVuY2Ugd29yay4mbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1RoZSBoaWRkZW4gYXJjaGl2ZSBjb25maXJtcyB0aGF0IGZvcmdvdHRlbiBwZW9wbGUgd2VyZSBkZWxpYmVyYXRlbHkgb3JnYW5pemVkIGFuZCBjb25jZWFsZWQuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDtcbiZsdDshLS0gQnVpbGQgNS4yNCByb290IGhvdXNlIGNhbGxiYWNrIC0tJmd0OyZsdDsmbHQ7aWYgJHJvb3RIb3VzZUNvbXBsZXRlZCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O1RoZSBIb3VzZSBCZW5lYXRoIHRoZSBPYWs6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7aWYgJHJvb3RIb3VzZUxlZGdlclJlY292ZXJlZCZndDsmZ3Q7VGhlIHJlY292ZXJlZCBsZWRnZXIgaW5kaWNhdGVzIHRoZSBidXJpZWQgYm91bmRhcnkgd2FzIG9wZW5lZCBmcm9tIGJlbG93LiZsdDsmbHQ7ZWxzZWlmICRyb290SG91c2VTZWNvbmRMaWdodCZndDsmZ3Q7QSBzZWNvbmQgbGlnaHQgbm93IGJ1cm5zIGJlbmVhdGggdGhlIGJ1cmllZCBob3VzZS4mbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1RoZSBpbnZlc3RpZ2F0b3JzIGNvbmZpcm1lZCB0aGF0IHRoZSBob3VzZSBpcyBhIGxpZCBvdmVyIHNvbWV0aGluZyBvbGRlciB0aGFuIHRoZSB0b3duLiZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMjUgY29udmVyZ2VuY2UgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiBzZXR1cC5oaWRkZW5QbGFjZXNGb3VuZCgpICZndDsgMCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0hpZGRlbi1wbGFjZSBjb252ZXJnZW5jZTombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLmhpZGRlblBsYWNlc0ZvdW5kKCkmZ3Q7Jmd0OyBsb2NhdGlvbihzKSBkaXNjb3ZlcmVkOyBhc3Nlc3NtZW50OiAmbHQ7Jmx0Oz0gc2V0dXAuY29udmVyZ2VuY2VMZXZlbCgpJmd0OyZndDsuJmx0OyZsdDtpZiBzZXR1cC5oaWRkZW5QbGFjZXNGb3VuZCgpIGlzIDQmZ3Q7Jmd0OyBBbGwgZm91ciBwb2ludCB0b3dhcmQgb25lIG9yaWdpbmFsIGRvb3J3YXkgYmVuZWF0aCBCcmVja2VucmlkZ2UuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDtcbiZsdDshLS0gQnVpbGQgNS4yNiBwaGFzZS1zaXggaW50ZWdyYXRpb24gLS0mZ3Q7Jmx0OyZsdDtzZXQgX3N1cGVyUGhhc2U9c2V0dXAuc3VwZXJuYXR1cmFsRW5kaW5nTW9kaWZpZXJzKCkmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtTdXBlcm5hdHVyYWwgbW9kaWZpZXJzIGVudGVyaW5nIHRoZSBlbmRpbmc6Jmx0Oy9zdHJvbmcmZ3Q7IFRydXRoICsmbHQ7Jmx0Oz1fc3VwZXJQaGFzZS50cnV0aCZndDsmZ3Q7LCBSZXNjdWUgKyZsdDsmbHQ7PV9zdXBlclBoYXNlLnJlc2N1ZSZndDsmZ3Q7LCBDb3N0ICZsdDsmbHQ7PSBfc3VwZXJQaGFzZS5jb3N0Jmd0OyZndDsuJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0OTUiIG5hbWU9IlBoYXNlU2l4TWlsZXN0b25lIiB0YWdzPSJwaGFzZTYgcGhhc2U2YyBiZy1jbGFzc3Jvb20iIHBvc2l0aW9uPSIxMjIzNSw0MzQwIiBzaXplPSIxMDAsMTAwIj4mbHQ7ZGl2IGNsYXNzPSZxdW90O2NoYXB0ZXItY2FyZCBncmVlbi1jaGFwdGVyJnF1b3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZXBpc29kZS1sYWJlbCZxdW90OyZndDtQcm9qZWN0IE1pbGVzdG9uZSZsdDsvZGl2Jmd0OyZsdDtoMSBjbGFzcz0mcXVvdDtwb3YtbmFtZSZxdW90OyZndDtQaGFzZSBTaXggQ29tcGxldGUmbHQ7L2gxJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hhcHRlci10aXRsZSZxdW90OyZndDtBIHN0cm9uZyBzdG9wcGluZyBwb2ludCZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtwJmd0O1RoZSBHcmVlbi1SaW5nIFNjaG9vbCBJbnZlc3RpZ2F0aW9uIG5vdyBoYXMgYSBjb21wbGV0ZSBvcGVuaW5nLCBtaWRkbGUsIGFuZCBlbmRpbmcuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBuZXh0IG1ham9yIHN0b3J5IGV4cGFuc2lvbiBjYW4gYmVnaW4gbGF0ZXIgd2l0aCB0aGUgY29uc2VxdWVuY2VzIG9mIHJlc3RvcmluZyB0aGUgd2l0bmVzcyBydWxlIGFuZCB0aGUgYmxhbmsgY2VtZXRlcnkgc3RvbmUuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gU3RhcnQtJmd0O1N0YXJ0XV1bW1JldmlldyBQaGFzZSBTaXggUmVzdWx0cy0mZ3Q7UGhhc2VTaXhSZXN1bHRzXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjQ5NiIgbmFtZT0iRGVidWdTdGF0ZSIgdGFncz0iZGVidWciIHBvc2l0aW9uPSIwLDAiIHNpemU9IjEwMCwxMDAiPiZsdDtoMiZndDtEZXZlbG9wZXIgRGlhZ25vc3RpY3MmbHQ7L2gyJmd0OwpFcGlzb2RlOiAmbHQ7Jmx0Oz0gJGVwaXNvZGUmZ3Q7Jmd0OyZsdDticiZndDtDaGFwdGVyOiAmbHQ7Jmx0Oz0gJGNoYXB0ZXImZ3Q7Jmd0OyZsdDticiZndDtQT1Y6ICZsdDsmbHQ7PSAkcG92Jmd0OyZndDsmbHQ7YnImZ3Q7TG9jYXRpb246ICZsdDsmbHQ7PSAkbG9jYXRpb24mZ3Q7Jmd0OyZsdDticiZndDtPYmplY3RpdmU6ICZsdDsmbHQ7PSAkb2JqZWN0aXZlJmd0OyZndDsmbHQ7YnImZ3Q7Um9tYW4gc29sdmVkOiAmbHQ7Jmx0Oz0gJHJvbWFuUHV6emxlU29sdmVkJmd0OyZndDsmbHQ7YnImZ3Q7RGVkdWN0aW9uIHNjb3JlOiAmbHQ7Jmx0Oz0gJGRlZHVjdGlvblNjb3JlJmd0OyZndDsgLyAzJmx0O2JyJmd0O0RlZHVjdGlvbiBjb21wbGV0ZTogJmx0OyZsdDs9ICRkZWR1Y3Rpb25Db21wbGV0ZSZndDsmZ3Q7Jmx0O2JyJmd0O1B1enpsZSBtaXN0YWtlczogJmx0OyZsdDs9ICRwdXp6bGVNaXN0YWtlcyZndDsmZ3Q7Jmx0O2gzJmd0O0FwcHJvYWNoZXMmbHQ7L2gzJmd0OyZsdDtwcmUmZ3Q7Jmx0OyZsdDtwcmludCBKU09OLnN0cmluZ2lmeSh7IEtldmluOiAka2V2aW5BcHByb2FjaCwgS2ltbXk6ICRraW1teUFwcHJvYWNoLCBSeWFuOiAkcnlhbkFwcHJvYWNoIH0sIG51bGwsIDIpJmd0OyZndDsmbHQ7L3ByZSZndDsmbHQ7aDMmZ3Q7UmVsYXRpb25zaGlwcyZsdDsvaDMmZ3Q7Jmx0O3ByZSZndDsmbHQ7Jmx0O3ByaW50IEpTT04uc3RyaW5naWZ5KCRyZWxhdGlvbnNoaXBzLCBudWxsLCAyKSZndDsmZ3Q7Jmx0Oy9wcmUmZ3Q7Jmx0OyZsdDtiYWNrICZxdW90O1JldHVybiZxdW90OyZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0OTciIG5hbWU9IktpbW15IEludGVydmlld3MgdGhlIFN0dWRlbnQiIHRhZ3M9ImJnLXNjaG9vbGhhbGwgaW52ZXN0aWdhdGlvbiByZW1lZGlhdGlvbiIgcG9zaXRpb249IjE1MDAsMTUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uID0gJnF1b3Q7QnJlY2tlbnJpZGdlIE1pZGRsZSBTY2hvb2w6IExpYnJhcnkgSGFsbHdheSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1NlcGFyYXRlIGZpcnN0aGFuZCBkZXRhaWxzIGZyb20gaGFsbHdheSBydW1vcnMmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O0tpbW15IHJlc3RlZCB0aGUgcmVwb3J0ZXImIzM5O3MgY2FzZSBvbiBoZXIga25lZXMgYW5kIHR1cm5lZCB0byBhIGNsZWFuIHBhZ2UuJmx0Oy9wJmd0OyZsdDtwJmd0OyZxdW90O0kgb25seSB3YW50IHdoYXQgeW91IHNhdyBvciBoZWFyZCB5b3Vyc2VsZiwmcXVvdDsgc2hlIHNhaWQuICZxdW90O05vdCB3aGF0IHNvbWVvbmUgZWxzZSB0b2xkIHlvdSBhZnRlcndhcmQuJnF1b3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBzdHVkZW50IHN0dWRpZWQgaGVyIGZvciBhIG1vbWVudCwgdGhlbiBub2RkZWQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZWNvcmQgdGhlIHdpdG5lc3MmIzM5O3MgZnVsbCBhY2NvdW50LSZndDtLaW1teSBSZXF1ZXN0cyB0aGUgRnVsbCBTdG9yeV1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0OTgiIG5hbWU9IktpbW15IEZpbmRzIHRoZSBIaWRkZW4gUGFzc2FnZSIgdGFncz0iYmctc2Nob29saGFsbCBpbnZlc3RpZ2F0aW9uIHJlbWVkaWF0aW9uIiBwb3NpdGlvbj0iMTUwMCwxNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogRWFzdCBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7Q29uZmlybSB3aGV0aGVyIHRoZSBzZWFsZWQgY29ycmlkb3Igc3RpbGwgZXhpc3RzJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtLaW1teSBncmlwcGVkIHRoZSBib3R0b20gZWRnZSBvZiB0aGUgYnVsbGV0aW4gYm9hcmQgYW5kIHB1bGxlZC4gT25lIGNvcm5lciByZXNpc3RlZCBiZWZvcmUgcmVsZWFzaW5nIHdpdGggYSBkcnkgc2NyYXBlLiZsdDsvcCZndDsmbHQ7cCZndDtCZWhpbmQgaXQsIGEgbmFycm93IHZlcnRpY2FsIHNlYW0gaW50ZXJydXB0ZWQgdGhlIHBhaW50ZWQgYmxvY2tzLiBUaGUgYXJjaGl2ZWQgZmxvb3IgcGxhbiBoYWQgbm90IGJlZW4gd3JvbmcuIFNvbWVvbmUgaGFkIGhpZGRlbiB0aGUgZW50cmFuY2UgaW5zdGVhZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0RvY3VtZW50IHRoZSBzZWFsZWQgZW50cmFuY2UtJmd0O0tpbW15IENvbmZpcm1zIHRoZSBIaWRkZW4gUGFzc2FnZV1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI0OTkiIG5hbWU9IktpbW15IFNlYXJjaGVzIHRoZSBTY2hvb2wgQXJjaGl2ZSIgdGFncz0iYmctbGlicmFyeSBpbnZlc3RpZ2F0aW9uIHJlbWVkaWF0aW9uIiBwb3NpdGlvbj0iMTUwMCwxNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogTGlicmFyeSBBcmNoaXZlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7VmVyaWZ5IHRoZSBoYWxsd2F5IGRpc2NvdmVyeSBhZ2FpbnN0IHRoZSBzY2hvb2wgcmVjb3JkcyZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgcmV0dXJuZWQgdG8gdGhlIGFyY2hpdmUgcmF0aGVyIHRoYW4gbW92aW5nIHRoZSBib2FyZCBpbW1lZGlhdGVseS4gSWYgdGhlIG9sZCBwbGFuIGhhZCBiZWVuIHJldmlzZWQsIHRoZSBjaGFuZ2Ugc2hvdWxkIGhhdmUgbGVmdCBhIHJlY29yZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0NvbnRpbnVlIHRoZSBhcmNoaXZlIGludmVzdGlnYXRpb24tJmd0O0tpbW15IENob29zZXMgdGhlIEFyY2hpdmVzXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUwMCIgbmFtZT0iS2V2aW4gRXhhbWluZXMgdGhlIFdhdGNoIiB0YWdzPSJiZy1zY2hvb2xoYWxsIGludmVzdGlnYXRpb24gcmVtZWRpYXRpb24iIHBvc2l0aW9uPSIxNTAwLDE1MDAiIHNpemU9IjEwMCwxMDAiPi8qIEI1LjEgY29uc2VxdWVuY2UgbWFya2VyICovCiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZENvbnNlcXVlbmNlKCZxdW90O3dhdGNoUmVzcG9uc2UmcXVvdDssICZxdW90O2luc3BlY3QmcXVvdDssICZxdW90O0tldmluIHN0dWRpZXMgdGhlIHdhdGNoIGFzIGFuIG9iamVjdCBhbmQgcHJlc2VydmVzIGl0cyBwYXR0ZXJuLiZxdW90OykmZ3Q7Jmd0OwombHQ7Jmx0O3NldCAkbG9jYXRpb24gPSAmcXVvdDtCcmVja2VucmlkZ2UgTWlkZGxlIFNjaG9vbDogRWFzdCBIYWxsd2F5JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlID0gJnF1b3Q7RGV0ZXJtaW5lIHdoYXQgdGhlIHdhdGNoIHNpZ25hbCB3YXMgaWRlbnRpZnlpbmcmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O0tldmluIHJhaXNlZCB0aGUgd2F0Y2ggY2xvc2VyIHRvIGhpcyBmYWNlLiBUaGUgc2NyZWVuIGhhZCBnb25lIGRhcmsgYWdhaW4sIGJ1dCB0aGUgY2FzaW5nIGZlbHQgd2FybWVyIHRoYW4gaXQgaGFkIGEgbW9tZW50IGJlZm9yZS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIHNpZ25hbCBoYWQgc3RvcHBlZCBvbmx5IGFmdGVyIHRoZSBmb3VyIHN0dWRlbnRzIHJlYWNoZWQgdGhlIHNhbWUgaGFsbHdheS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0FzayB3aGV0aGVyIHRoZSBvdGhlcnMgaGVhcmQgdGhlIHNpZ25hbC0mZ3Q7S2V2aW4gQXNrcyBBYm91dCB0aGUgU2lnbmFsXV0gW1tBc2sgaG93IEtpbW15IGtuZXcgS2V2aW4mIzM5O3MgbmFtZS0mZ3Q7S2V2aW4gUXVlc3Rpb25zIEtpbW15XV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUwMSIgbmFtZT0iS2V2aW4gU2VhcmNoZXMgVXBzdGFpcnMiIHRhZ3M9ImJnLXNjaG9vbGhhbGwgaW52ZXN0aWdhdGlvbiByZW1lZGlhdGlvbiIgcG9zaXRpb249IjE1MDAsMTUwMCIgc2l6ZT0iMTAwLDEwMCI+LyogQjUuMSBjb25zZXF1ZW5jZSBtYXJrZXIgKi8KJmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQ29uc2VxdWVuY2UoJnF1b3Q7d2F0Y2hSZXNwb25zZSZxdW90OywgJnF1b3Q7dXBzdGFpcnMmcXVvdDssICZxdW90O0tldmluIHRlc3RzIHRoZSBzaWduYWwgZGlyZWN0aW9uIGFuZCBsZWFybnMgd2hlcmUgaXQgc3RvcHMuJnF1b3Q7KSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0JyZWNrZW5yaWRnZSBNaWRkbGUgU2Nob29sOiBFYXN0IEhhbGx3YXkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRvYmplY3RpdmUgPSAmcXVvdDtGb2xsb3cgdGhlIGRpcmVjdGlvbiBpbmRpY2F0ZWQgYnkgdGhlIHdhdGNoJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtLZXZpbiBsb29rZWQgdG93YXJkIHRoZSBzdGFpcndlbGwsIGJ1dCB0aGUgd2F0Y2ggZGlkIG5vdCBiZWVwIGFnYWluLiBJdHMgYmxhbmsgZmFjZSByZWZsZWN0ZWQgdGhlIGxhbmRpbmcgYWJvdmUgYW5kIHRoZSB0aHJlZSBzdHVkZW50cyB3YWl0aW5nIGJlaGluZCBoaW0uJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBwdWxsIG9mIHRoZSBzaWduYWwgaGFkIG5vdCBjb250aW51ZWQgdXBzdGFpcnMuIEl0IGhhZCBlbmRlZCBoZXJlLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQ29tcGFyZSB3aGF0IGJyb3VnaHQgZXZlcnlvbmUgdG9nZXRoZXItJmd0O1RoZSBGb3VyIEludmVzdGlnYXRvcnMgTWVldF1dIFtbQXNrIGFib3V0IHRoZSBzaWduYWwgZmlyc3QtJmd0O0tldmluIEFza3MgQWJvdXQgdGhlIFNpZ25hbF1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MDIiIG5hbWU9IkRldkxhdW5jaGVyIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIxNTAwLDE1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDtoMSZndDtTdGFmZiBUb29scyZsdDsvaDEmZ3Q7CiZsdDtwJmd0O1RoaXMgYXJlYSBpcyByZXN0cmljdGVkIGR1cmluZyBkZW1vbnN0cmF0aW9ucy4mbHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CiZsdDsmbHQ7bGluayAmcXVvdDtFbnRlciBzdGFmZiBwYXNzd29yZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmVxdWVzdERldkFjY2VzcygpJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKW1tSZXR1cm4gdG8gdGl0bGUgc2NyZWVuLSZndDtTdGFydF1dCiZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTAzIiBuYW1lPSJEZXZEYXNoYm9hcmQiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjE1MDAsMTUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OwombHQ7aDEmZ3Q7UmVzdHJpY3RlZCBBcmVhJmx0Oy9oMSZndDsmbHQ7cCZndDtTdGFmZiBhY2Nlc3MgaXMgbG9ja2VkLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtFbnRlciBzdGFmZiBwYXNzd29yZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmVxdWVzdERldkFjY2VzcygpJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgW1tSZXR1cm4gdG8gdGl0bGUgc2NyZWVuLSZndDtTdGFydF1dJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0ICRkZXZNb2RlID0gdHJ1ZSZndDsmZ3Q7CiZsdDtoMSZndDtTdGFmZiBDb25zb2xlJmx0Oy9oMSZndDsKJmx0O3AgY2xhc3M9JnF1b3Q7c3RhZmYtYnVpbGQmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtCdWlsZDombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLmJ1aWxkVmVyc2lvbiZndDsmZ3Q7ICZhbXA7bmJzcDsgJmx0O3N0cm9uZyZndDtDaGFubmVsOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gc2V0dXAucmVsZWFzZUNoYW5uZWwmZ3Q7Jmd0OyAmYW1wO25ic3A7ICZsdDtzdHJvbmcmZ3Q7RGF0ZTombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLmJ1aWxkRGF0ZSZndDsmZ3Q7Jmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3N0YWZmLWNvbnNvbGUtZ3JpZCZxdW90OyZndDsKJmx0O3NlY3Rpb24mZ3Q7Jmx0O2gyJmd0O1Rlc3QgUHJvZ3Jlc3MmbHQ7L2gyJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSdW50aW1lIHRlc3QgY2hlY2tsaXN0LSZndDtWNFJ1bnRpbWVDaGVja2xpc3RdXSBbW1Bhc3NhZ2UgdmlzaXQgbG9nLSZndDtEZXZWaXNpdExvZ11dIFtbQnVpbGQgNS4xIGNvbnNlcXVlbmNlIGxvZy0mZ3Q7QnVpbGQ1MUNvbnNlcXVlbmNlTG9nXV0gW1tDYXNlIEZpbGUgMi4wLSZndDtDYXNlRmlsZTJdXSBbW0tub3dsZWRnZSBvd25lcnNoaXAgcmVwb3J0LSZndDtCdWlsZDUzS25vd2xlZGdlUmVwb3J0XV0gW1tBYmlsaXR5IHJlcG9ydC0mZ3Q7QnVpbGQ1NEFiaWxpdHlSZXBvcnRdXSBbW1dpdGNoIEF0dGVudGlvbiByZXBvcnQtJmd0O0J1aWxkNTVBdHRlbnRpb25SZXBvcnRdXSBbW0VuZGluZyBtYXRyaXggcmVwb3J0LSZndDtCdWlsZDU2RW5kaW5nUmVwb3J0XV0gW1tCdWlsZCA1LjcgaW50ZWdyYXRpb24gcmVwb3J0LSZndDtCdWlsZDU3SW50ZWdyYXRpb25SZXBvcnRdXSBbW0J1aWxkIDUuOCBydW50aW1lIHJlcGFpci0mZ3Q7QnVpbGQ1OFJ1bnRpbWVSZXBvcnRdXSBbW0J1aWxkIDUuOSBkZWR1Y3Rpb24gYXVkaXQtJmd0O0J1aWxkNTlEZWR1Y3Rpb25SZXBvcnRdXSBbW0J1aWxkIDUuMTEgcHJvZHVjdGlvbiB2YWxpZGF0aW9uLSZndDtCdWlsZDUxMFJlbGVhc2VSZXBvcnRdXSBbW1Bhc3NhZ2UganVtcCBsaXN0LSZndDtEZXZQYXNzYWdlSnVtcF1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9zZWN0aW9uJmd0OwombHQ7c2VjdGlvbiZndDsmbHQ7aDImZ3Q7U3RhdGUgVmFsaWRhdGlvbiZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0xpdmUgc3RhdGUgZGlhZ25vc3RpY3MtJmd0O1Y0U3RhdGVEaWFnbm9zdGljc11dIFtbQ2FwdHVyZSBzdGF0ZSBzbmFwc2hvdC0mZ3Q7VjQxU25hcHNob3RDYXB0dXJlXV0gW1tDb21wYXJlIHN0YXRlIHNuYXBzaG90LSZndDtWNDFTbmFwc2hvdENvbXBhcmVdXSBbW0V4cG9ydCBzdGF0ZSBzdW1tYXJ5LSZndDtEZXZTdGF0ZUV4cG9ydF1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9zZWN0aW9uJmd0OwombHQ7c2VjdGlvbiZndDsmbHQ7aDImZ3Q7Q2hlY2twb2ludHMmbHQ7L2gyJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tDaGFwdGVyIGJvdW5kYXJ5IG1hcC0mZ3Q7VjQzQm91bmRhcnlNYXBdXSBbW1ZhbGlkYXRlZCBjaGFwdGVyIGNoZWNrcG9pbnRzLSZndDtWNDRDaGVja3BvaW50TWFuYWdlcl1dIFtbVmFsaWRhdGVkIGVwaXNvZGUgY2hlY2twb2ludHMtJmd0O1Y0NUVwaXNvZGVDaGVja3BvaW50TWFuYWdlcl1dIFtbQ2hlY2twb2ludCBpbnRlZ3JpdHkgcmVwb3J0LSZndDtWNDVDaGVja3BvaW50SW50ZWdyaXR5XV0mbHQ7L2RpdiZndDsmbHQ7L3NlY3Rpb24mZ3Q7CiZsdDtzZWN0aW9uJmd0OyZsdDtoMiZndDtSZXNldCBhbmQgUmVjb3ZlcnkmbHQ7L2gyJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tDb250cm9sbGVkIHJlc2V0IG1hbmFnZXItJmd0O1Y0MlJlc2V0TWFuYWdlcl1dIFtbUHJvZmlsZSBiYWNrdXAtJmd0O1Y0MlByb2ZpbGVCYWNrdXBdXSZsdDsvZGl2Jmd0OyZsdDsvc2VjdGlvbiZndDsKJmx0O3NlY3Rpb24mZ3Q7Jmx0O2gyJmd0O1JlbGVhc2UgUmV2aWV3Jmx0Oy9oMiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmVsZWFzZSByZWFkaW5lc3MgZGFzaGJvYXJkLSZndDtSQ1JlbGVhc2VSZWFkaW5lc3NdXSBbW0J1aWxkIGluZm9ybWF0aW9uLSZndDtSQ0J1aWxkSW5mb11dIFtbU3RhZmYgdmlzaWJpbGl0eSBhdWRpdC0mZ3Q7UkNWaXNpYmlsaXR5QXVkaXRdXSZsdDsvZGl2Jmd0OyZsdDsvc2VjdGlvbiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3Qgc3RhZmYtY29uc29sZS1mb290ZXImcXVvdDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0NsZWFyIHZpc2l0IGxvZyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGRldlZpc2l0ZWQgPSBbXSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGRldlZpc2l0Q291bnRzID0ge30mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZEYXNoYm9hcmQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7TG9jayBTdGFmZiBUb29scyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAubG9ja0RldkFjY2VzcygpJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgW1tSZXR1cm4gdG8gdGl0bGUgc2NyZWVuLSZndDtTdGFydF1dJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDsKW1tCdWlsZCA1LjE0IEhhdW50aW5nIERpcmVjdG9yLSZndDtCdWlsZDUxNEhhdW50aW5nUmVwb3J0XV0KW1tCdWlsZCA1LjE1IEludGVyYWN0aXZlIE1hbmlmZXN0YXRpb25zLSZndDtCdWlsZDUxNUludGVyYWN0aXZlUmVwb3J0XV0KW1tCdWlsZCA1LjE2IFRoZSBMb3N0IE1pbnV0ZS0mZ3Q7QnVpbGQ1MTZMb3N0TWludXRlUmVwb3J0XV0KW1tCdWlsZCA1LjE3IEhhdW50aW5nIFByb2ZpbGUtJmd0O0J1aWxkNTE3SGF1bnRpbmdQcm9maWxlUmVwb3J0XV0KW1tCdWlsZCA1LjE4IFByb2ZpbGUtRHJpdmVuIEhhdW50aW5nLSZndDtCdWlsZDUxOFByb2ZpbGVEcml2ZW5SZXBvcnRdXQpbW0J1aWxkIDUuMTkgSGF1bnRpbmcgQWZ0ZXJlZmZlY3RzLSZndDtCdWlsZDUxOUFmdGVyZWZmZWN0c1JlcG9ydF1dCltbQnVpbGQgNS4yMCBBZnRlcmVmZmVjdCBFY2hvZXMtJmd0O0J1aWxkNTIwQWZ0ZXJlZmZlY3RFY2hvUmVwb3J0XV0KW1tCdWlsZCA1LjIxIENvbnRhaW5tZW50IENvbnNlcXVlbmNlcy0mZ3Q7QnVpbGQ1MjFDb250YWlubWVudFJlcG9ydF1dCltbQnVpbGQgNS4yMiBSb29tIEJlaGluZCB0aGUgVm9pY2UtJmd0O0J1aWxkNTIyVm9pY2VSb29tUmVwb3J0XV0KW1tCdWlsZCA1LjIzIE1pc3NpbmcgQXJjaGl2ZS0mZ3Q7QnVpbGQ1MjNNaXNzaW5nQXJjaGl2ZVJlcG9ydF1dCltbQnVpbGQgNS4yNCBIb3VzZSBCZW5lYXRoIHRoZSBPYWstJmd0O0J1aWxkNTI0Um9vdEhvdXNlUmVwb3J0XV0KW1tCdWlsZCA1LjI1IEhhdW50aW5nIENvbnZlcmdlbmNlLSZndDtCdWlsZDUyNUNvbnZlcmdlbmNlUmVwb3J0XV0KW1tCdWlsZCA1LjI2IEVuZGluZyBJbnRlZ3JhdGlvbi0mZ3Q7QnVpbGQ1MjZFbmRpbmdJbnRlZ3JhdGlvblJlcG9ydF1dCltbQnVpbGQgNS4yNyBQYWNpbmcgQmFsYW5jZS0mZ3Q7QnVpbGQ1MjdCYWxhbmNlUmVwb3J0XV0KW1tCdWlsZCA1LjI4IFJlZ3Jlc3Npb24gUmVwb3J0LSZndDtCdWlsZDUyOFJlZ3Jlc3Npb25SZXBvcnRdXQpbW0J1aWxkIDUuMjkgR3VpZGVkIFRlc3RpbmcgRGFzaGJvYXJkLSZndDtHdWlkZWRUZXN0aW5nRGFzaGJvYXJkXV0KW1tCdWlsZCA1LjMwIFJlbGVhc2UgQ2FuZGlkYXRlIFJlcG9ydC0mZ3Q7QnVpbGQ1MzBSZWxlYXNlQ2FuZGlkYXRlUmVwb3J0XV0KW1tFcGlzb2RlIE9uZSBEZWZpbml0aXZlIEJhZGdlIEF1ZGl0LSZndDtCdWlsZDUzMTFCYWRnZUF1ZGl0XV08L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUwNCIgbmFtZT0iRGV2UGFzc2FnZUp1bXAiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjE1MDAsMTUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsKJmx0O2gxJmd0O1Bhc3NhZ2UgSnVtcCBMaXN0Jmx0Oy9oMSZndDsmbHQ7cCZndDs1MDEgc3RvcnkgYW5kIHN5c3RlbSBwYXNzYWdlcy4gVXNlIEN0cmwrRiB0byBsb2NhdGUgYSBwYXNzYWdlIG5hbWUuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gZGFzaGJvYXJkLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDtociZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2JtLWRldi1wYXNzYWdlLWxpc3QmcXVvdDsmZ3Q7W1tBYmJpZSBBcHByb2FjaGVzIHRoZSBPcmFuZ2UgQ2F0LSZndDtBYmJpZSBBcHByb2FjaGVzIHRoZSBPcmFuZ2UgQ2F0XV0mbHQ7YnImZ3Q7CltbQWJiaWUgRGVsaXZlcnMgdGhlIE5vdGUtJmd0O0FiYmllIERlbGl2ZXJzIHRoZSBOb3RlXV0mbHQ7YnImZ3Q7CltbQWJiaWUgRW50ZXJzIHRoZSBLaXRjaGVuLSZndDtBYmJpZSBFbnRlcnMgdGhlIEtpdGNoZW5dXSZsdDticiZndDsKW1tBYmJpZSBFeGFtaW5lcyB0aGUgQ2xvY2stJmd0O0FiYmllIEV4YW1pbmVzIHRoZSBDbG9ja11dJmx0O2JyJmd0OwpbW0FiYmllIEdldHMgSGVyIE93biBDZXJlYWwtJmd0O0FiYmllIEdldHMgSGVyIE93biBDZXJlYWxdXSZsdDticiZndDsKW1tBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsLSZndDtBYmJpZSBSZWFjaGVzIGZvciB0aGUgQ2VyZWFsXV0mbHQ7YnImZ3Q7CltbQWJiaWUgU2F5cyBHb29kYnllLSZndDtBYmJpZSBTYXlzIEdvb2RieWVdXSZsdDticiZndDsKW1tBYm91dC0mZ3Q7QWJvdXRdXSZsdDticiZndDsKW1tBcHByb2FjaGluZyBBYmJpZSYjMzk7cyBTY2hvb2wtJmd0O0FwcHJvYWNoaW5nIEFiYmllJiMzOTtzIFNjaG9vbF1dJmx0O2JyJmd0OwpbW0FyY2hpdmVBbmFncmFtTG9jay0mZ3Q7QXJjaGl2ZUFuYWdyYW1Mb2NrXV0mbHQ7YnImZ3Q7CltbQXNodG9uQXNrc0Fib3V0S25vY2tzLSZndDtBc2h0b25Bc2tzQWJvdXRLbm9ja3NdXSZsdDticiZndDsKW1tBc2h0b25CZWdpbnNMZXNzb24tJmd0O0FzaHRvbkJlZ2luc0xlc3Nvbl1dJmx0O2JyJmd0OwpbW0FzaHRvbkNoYWxsZW5nZXNXYXRjaC0mZ3Q7QXNodG9uQ2hhbGxlbmdlc1dhdGNoXV0mbHQ7YnImZ3Q7CltbQXNodG9uQ2hlY2tzQ2xvY2stJmd0O0FzaHRvbkNoZWNrc0Nsb2NrXV0mbHQ7YnImZ3Q7CltbQXNodG9uQ2hlY2tzSm91cm5hbC0mZ3Q7QXNodG9uQ2hlY2tzSm91cm5hbF1dJmx0O2JyJmd0OwpbW0FzaHRvbkNvbnRpbnVlc0xlc3Nvbi0mZ3Q7QXNodG9uQ29udGludWVzTGVzc29uXV0mbHQ7YnImZ3Q7CltbQXNodG9uRGlzY3Vzc2VzTWlzc2luZ05hbWVzLSZndDtBc2h0b25EaXNjdXNzZXNNaXNzaW5nTmFtZXNdXSZsdDticiZndDsKW1tBc2h0b25EcmF3c0hleGFmb2lsLSZndDtBc2h0b25EcmF3c0hleGFmb2lsXV0mbHQ7YnImZ3Q7CltbQXNodG9uRW5kc0NsYXNzLSZndDtBc2h0b25FbmRzQ2xhc3NdXSZsdDticiZndDsKW1tBc2h0b25FdmlkZW5jZUNob2ljZS0mZ3Q7QXNodG9uRXZpZGVuY2VDaG9pY2VdXSZsdDticiZndDsKW1tBc2h0b25GaW5hbFdhcm5pbmctJmd0O0FzaHRvbkZpbmFsV2FybmluZ11dJmx0O2JyJmd0OwpbW0FzaHRvbk5hbWVzUHJvdGVjdGlvbi0mZ3Q7QXNodG9uTmFtZXNQcm90ZWN0aW9uXV0mbHQ7YnImZ3Q7CltbQXNodG9uT3BlbnNQYWxhZGluLSZndDtBc2h0b25PcGVuc1BhbGFkaW5dXSZsdDticiZndDsKW1tBc2h0b25Qcm90ZWN0c0tldmluLSZndDtBc2h0b25Qcm90ZWN0c0tldmluXV0mbHQ7YnImZ3Q7CltbQXNodG9uUXVlc3Rpb25zS2V2aW4tJmd0O0FzaHRvblF1ZXN0aW9uc0tldmluXV0mbHQ7YnImZ3Q7CltbQXNodG9uUmVhZHNKb3VybmFsLSZndDtBc2h0b25SZWFkc0pvdXJuYWxdXSZsdDticiZndDsKW1tBc2h0b25XYXRjaGVzS2V2aW4tJmd0O0FzaHRvbldhdGNoZXNLZXZpbl1dJmx0O2JyJmd0OwpbW0FzaHRvbldpbmNoZXN0ZXJRdWVzdGlvbi0mZ3Q7QXNodG9uV2luY2hlc3RlclF1ZXN0aW9uXV0mbHQ7YnImZ3Q7CltbQ2FsbCBBYmJpZSB0byB0aGUgQnJva2VuIEZyYW1lLSZndDtDYWxsIEFiYmllIHRvIHRoZSBCcm9rZW4gRnJhbWVdXSZsdDticiZndDsKW1tDYWxsQWNyb3NzQm91bmRhcnktJmd0O0NhbGxBY3Jvc3NCb3VuZGFyeV1dJmx0O2JyJmd0OwpbW0NhbGxBc2h0b25VcHN0YWlycy0mZ3Q7Q2FsbEFzaHRvblVwc3RhaXJzXV0mbHQ7YnImZ3Q7CltbQ2FzZVJlc3VsdHMtJmd0O0Nhc2VSZXN1bHRzXV0mbHQ7YnImZ3Q7CltbQ2VsbGFyUmVzY3VlLSZndDtDZWxsYXJSZXNjdWVdXSZsdDticiZndDsKW1tDZW1ldGVyeUFzaHRvbkxldHRlci0mZ3Q7Q2VtZXRlcnlBc2h0b25MZXR0ZXJdXSZsdDticiZndDsKW1tDZW1ldGVyeUJlbG93V2FybmluZy0mZ3Q7Q2VtZXRlcnlCZWxvd1dhcm5pbmddXSZsdDticiZndDsKW1tDZW1ldGVyeUNoaWxkcmVuc0hpbGwtJmd0O0NlbWV0ZXJ5Q2hpbGRyZW5zSGlsbF1dJmx0O2JyJmd0OwpbW0NlbWV0ZXJ5RXBpdGFwaFB1enpsZS0mZ3Q7Q2VtZXRlcnlFcGl0YXBoUHV6emxlXV0mbHQ7YnImZ3Q7CltbQ2VtZXRlcnlFcGl0YXBoU29sdmVkLSZndDtDZW1ldGVyeUVwaXRhcGhTb2x2ZWRdXSZsdDticiZndDsKW1tDZW1ldGVyeUVwaXRhcGhXcm9uZy0mZ3Q7Q2VtZXRlcnlFcGl0YXBoV3JvbmddXSZsdDticiZndDsKW1tDZW1ldGVyeUZvdW5kZXJzUm93LSZndDtDZW1ldGVyeUZvdW5kZXJzUm93XV0mbHQ7YnImZ3Q7CltbQ2VtZXRlcnlIdWItJmd0O0NlbWV0ZXJ5SHViXV0mbHQ7YnImZ3Q7CltbQ2VtZXRlcnlLaW1teUxldHRlci0mZ3Q7Q2VtZXRlcnlLaW1teUxldHRlcl1dJmx0O2JyJmd0OwpbW0NlbWV0ZXJ5TGlzdGVuQmVsb3ctJmd0O0NlbWV0ZXJ5TGlzdGVuQmVsb3ddXSZsdDticiZndDsKW1tDZW1ldGVyeU1haW5HYXRlLSZndDtDZW1ldGVyeU1haW5HYXRlXV0mbHQ7YnImZ3Q7CltbQ2VtZXRlcnlNZW1vcnlHcmF2ZS0mZ3Q7Q2VtZXRlcnlNZW1vcnlHcmF2ZV1dJmx0O2JyJmd0OwpbW0NlbWV0ZXJ5T3BlbmluZy0mZ3Q7Q2VtZXRlcnlPcGVuaW5nXV0mbHQ7YnImZ3Q7CltbQ2VtZXRlcnlQdXJwbGVMZXR0ZXItJmd0O0NlbWV0ZXJ5UHVycGxlTGV0dGVyXV0mbHQ7YnImZ3Q7CltbQ2VtZXRlcnlQdXJwbGVUcmFpbC0mZ3Q7Q2VtZXRlcnlQdXJwbGVUcmFpbF1dJmx0O2JyJmd0OwpbW0NlbWV0ZXJ5Um9vdEVudHJ5LSZndDtDZW1ldGVyeVJvb3RFbnRyeV1dJmx0O2JyJmd0OwpbW0NlbWV0ZXJ5U2VhbEdyYXZlLSZndDtDZW1ldGVyeVNlYWxHcmF2ZV1dJmx0O2JyJmd0OwpbW0NlbWV0ZXJ5VW5tYXJrZWRDaXJjbGUtJmd0O0NlbWV0ZXJ5VW5tYXJrZWRDaXJjbGVdXSZsdDticiZndDsKW1tDaGFsbGVuZ2VGYWxzZUFiYmllLSZndDtDaGFsbGVuZ2VGYWxzZUFiYmllXV0mbHQ7YnImZ3Q7CltbQ2hhcHRlciAxIFRyYW5zaXRpb24tJmd0O0NoYXB0ZXIgMSBUcmFuc2l0aW9uXV0mbHQ7YnImZ3Q7CltbQ2hhcHRlciAyIFRyYW5zaXRpb24tJmd0O0NoYXB0ZXIgMiBUcmFuc2l0aW9uXV0mbHQ7YnImZ3Q7CltbQ2hhcHRlciAzIFRyYW5zaXRpb24tJmd0O0NoYXB0ZXIgMyBUcmFuc2l0aW9uXV0mbHQ7YnImZ3Q7CltbQ2hhcHRlciA0IFRyYW5zaXRpb24tJmd0O0NoYXB0ZXIgNCBUcmFuc2l0aW9uXV0mbHQ7YnImZ3Q7CltbQ2hhcHRlciA1IFRyYW5zaXRpb24tJmd0O0NoYXB0ZXIgNSBUcmFuc2l0aW9uXV0mbHQ7YnImZ3Q7CltbQ2hhcHRlciA2IENsaWZmaGFuZ2VyLSZndDtDaGFwdGVyIDYgQ2xpZmZoYW5nZXJdXSZsdDticiZndDsKW1tDaGFwdGVyIDYgU3VtbWFyeS0mZ3Q7Q2hhcHRlciA2IFN1bW1hcnldXSZsdDticiZndDsKW1tDaGFwdGVyIDYgVHJhbnNpdGlvbi0mZ3Q7Q2hhcHRlciA2IFRyYW5zaXRpb25dXSZsdDticiZndDsKW1tDbG9zZU1lbW9yeURvb3ItJmd0O0Nsb3NlTWVtb3J5RG9vcl1dJmx0O2JyJmd0OwpbW0NsdWVQYXlvZmZTdGFydC0mZ3Q7Q2x1ZVBheW9mZlN0YXJ0XV0mbHQ7YnImZ3Q7CltbQ2x1ZVBheW9mZlN1bW1hcnktJmd0O0NsdWVQYXlvZmZTdW1tYXJ5XV0mbHQ7YnImZ3Q7CltbRGVidWdTdGF0ZS0mZ3Q7RGVidWdTdGF0ZV1dJmx0O2JyJmd0OwpbW0RlZHVjdGlvbkNlbnRlci0mZ3Q7RGVkdWN0aW9uQ2VudGVyXV0mbHQ7YnImZ3Q7CltbRGVkdWN0aW9uQ29ycmVjdGlvbk9uZS0mZ3Q7RGVkdWN0aW9uQ29ycmVjdGlvbk9uZV1dJmx0O2JyJmd0OwpbW0RlZHVjdGlvbkNvcnJlY3Rpb25UaHJlZS0mZ3Q7RGVkdWN0aW9uQ29ycmVjdGlvblRocmVlXV0mbHQ7YnImZ3Q7CltbRGVkdWN0aW9uQ29ycmVjdGlvblR3by0mZ3Q7RGVkdWN0aW9uQ29ycmVjdGlvblR3b11dJmx0O2JyJmd0OwpbW0RlZHVjdGlvbkdpcmxzLSZndDtEZWR1Y3Rpb25HaXJsc11dJmx0O2JyJmd0OwpbW0RlZHVjdGlvblJlc3VsdC0mZ3Q7RGVkdWN0aW9uUmVzdWx0XV0mbHQ7YnImZ3Q7CltbRXBpc29kZSAxIEN1cnJlbnQgRW5kaW5nLSZndDtFcGlzb2RlIDEgQ3VycmVudCBFbmRpbmddXSZsdDticiZndDsKW1tFcGlzb2RlIDEgSW50cm9kdWN0aW9uLSZndDtFcGlzb2RlIDEgSW50cm9kdWN0aW9uXV0mbHQ7YnImZ3Q7CltbRXBpc29kZVRocmVlQXNodG9uTWVtb3J5LSZndDtFcGlzb2RlVGhyZWVBc2h0b25NZW1vcnldXSZsdDticiZndDsKW1tFcGlzb2RlVGhyZWVBc2tBc2h0b24tJmd0O0VwaXNvZGVUaHJlZUFza0FzaHRvbl1dJmx0O2JyJmd0OwpbW0VwaXNvZGVUaHJlZUNhcm9saW5lTGVhZC0mZ3Q7RXBpc29kZVRocmVlQ2Fyb2xpbmVMZWFkXV0mbHQ7YnImZ3Q7CltbRXBpc29kZVRocmVlQ2F0Qm9vay0mZ3Q7RXBpc29kZVRocmVlQ2F0Qm9va11dJmx0O2JyJmd0OwpbW0VwaXNvZGVUaHJlZUNvbXBhcmVQaG90by0mZ3Q7RXBpc29kZVRocmVlQ29tcGFyZVBob3RvXV0mbHQ7YnImZ3Q7CltbRXBpc29kZVRocmVlTGVhZENob2ljZS0mZ3Q7RXBpc29kZVRocmVlTGVhZENob2ljZV1dJmx0O2JyJmd0OwpbW0VwaXNvZGVUaHJlZUxpYnJhcnlMZWFkLSZndDtFcGlzb2RlVGhyZWVMaWJyYXJ5TGVhZF1dJmx0O2JyJmd0OwpbW0VwaXNvZGVUaHJlZUxvY2F0aW9ucy0mZ3Q7RXBpc29kZVRocmVlTG9jYXRpb25zXV0mbHQ7YnImZ3Q7CltbRXBpc29kZVRocmVlT3BlbmluZy0mZ3Q7RXBpc29kZVRocmVlT3BlbmluZ11dJmx0O2JyJmd0OwpbW0VwaXNvZGVUaHJlZVBob3RvT2JqZWN0LSZndDtFcGlzb2RlVGhyZWVQaG90b09iamVjdF1dJmx0O2JyJmd0OwpbW0VwaXNvZGVUaHJlZVJlY29yZEtlZXBlci0mZ3Q7RXBpc29kZVRocmVlUmVjb3JkS2VlcGVyXV0mbHQ7YnImZ3Q7CltbRXBpc29kZVRocmVlUmVnaXN0cnlFdmlkZW5jZS0mZ3Q7RXBpc29kZVRocmVlUmVnaXN0cnlFdmlkZW5jZV1dJmx0O2JyJmd0OwpbW0VwaXNvZGVUaHJlZVJldHVyblRoZW9yeS0mZ3Q7RXBpc29kZVRocmVlUmV0dXJuVGhlb3J5XV0mbHQ7YnImZ3Q7CltbRXBpc29kZVRocmVlUmluZ0V2aWRlbmNlLSZndDtFcGlzb2RlVGhyZWVSaW5nRXZpZGVuY2VdXSZsdDticiZndDsKW1tFcGlzb2RlVGhyZWVTY2hvb2xMZWFkLSZndDtFcGlzb2RlVGhyZWVTY2hvb2xMZWFkXV0mbHQ7YnImZ3Q7CltbRXBpc29kZVR3b09wZW5pbmctJmd0O0VwaXNvZGVUd29PcGVuaW5nXV0mbHQ7YnImZ3Q7CltbRXZpZGVuY2VBcmNoaXZlLSZndDtFdmlkZW5jZUFyY2hpdmVdXSZsdDticiZndDsKW1tFeGFtaW5lIHRoZSBFbXB0eSBGcmFtZS0mZ3Q7RXhhbWluZSB0aGUgRW1wdHkgRnJhbWVdXSZsdDticiZndDsKW1tFeGFtaW5lIHRoZSBTdGFpcmNhc2UtJmd0O0V4YW1pbmUgdGhlIFN0YWlyY2FzZV1dJmx0O2JyJmd0OwpbW0ZpbmFsVGVhbVJlc3BvbnNlLSZndDtGaW5hbFRlYW1SZXNwb25zZV1dJmx0O2JyJmd0OwpbW0Zyb250RG9vclJlc2N1ZS0mZ3Q7RnJvbnREb29yUmVzY3VlXV0mbHQ7YnImZ3Q7CltbR3JvdXBEZWR1Y3Rpb25Cb2FyZC0mZ3Q7R3JvdXBEZWR1Y3Rpb25Cb2FyZF1dJmx0O2JyJmd0OwpbW0dyb3VwVHJ1c3RQYXlvZmYtJmd0O0dyb3VwVHJ1c3RQYXlvZmZdXSZsdDticiZndDsKW1tIYWxsd2F5IEludmVzdGlnYXRpb24tJmd0O0hhbGx3YXkgSW52ZXN0aWdhdGlvbl1dJmx0O2JyJmd0OwpbW0hleGFmb2lsSW5uZXJDaG9pY2UtJmd0O0hleGFmb2lsSW5uZXJDaG9pY2VdXSZsdDticiZndDsKW1tIZXhhZm9pbE9yZGVyQ2hvaWNlLSZndDtIZXhhZm9pbE9yZGVyQ2hvaWNlXV0mbHQ7YnImZ3Q7CltbSGV4YWZvaWxPdXRlckNob2ljZS0mZ3Q7SGV4YWZvaWxPdXRlckNob2ljZV1dJmx0O2JyJmd0OwpbW0hleGFmb2lsUHV6emxlSW50cm8tJmd0O0hleGFmb2lsUHV6emxlSW50cm9dXSZsdDticiZndDsKW1tIZXhhZm9pbFNvbHZlZC0mZ3Q7SGV4YWZvaWxTb2x2ZWRdXSZsdDticiZndDsKW1tIZXhhZm9pbFdyb25nSW5uZXItJmd0O0hleGFmb2lsV3JvbmdJbm5lcl1dJmx0O2JyJmd0OwpbW0hleGFmb2lsV3JvbmdPcmRlci0mZ3Q7SGV4YWZvaWxXcm9uZ09yZGVyXV0mbHQ7YnImZ3Q7CltbSGV4YWZvaWxXcm9uZ091dGVyLSZndDtIZXhhZm9pbFdyb25nT3V0ZXJdXSZsdDticiZndDsKW1tIb3VzZVJvdXRlQ29uc2VxdWVuY2UtJmd0O0hvdXNlUm91dGVDb25zZXF1ZW5jZV1dJmx0O2JyJmd0OwpbW0hvdXNlU2VhbERlY2lzaW9uLSZndDtIb3VzZVNlYWxEZWNpc2lvbl1dJmx0O2JyJmd0OwpbW0hvdyB0byBQbGF5LSZndDtIb3cgdG8gUGxheV1dJmx0O2JyJmd0OwpbW0hvdyB0byBQbGF5IE9wZW5pbmctJmd0O0hvdyB0byBQbGF5IE9wZW5pbmddXSZsdDticiZndDsKW1tJbnRyb2R1Y3Rpb24tJmd0O0ludHJvZHVjdGlvbl1dJmx0O2JyJmd0OwpbW0ludmVzdGlnYXRpb25Sb3V0ZUNob2ljZS0mZ3Q7SW52ZXN0aWdhdGlvblJvdXRlQ2hvaWNlXV0mbHQ7YnImZ3Q7CltbSXQgV2FzIEV2ZXJ5d2hlcmUtJmd0O0l0IFdhcyBFdmVyeXdoZXJlXV0mbHQ7YnImZ3Q7CltbS2V2aW4gQWNjZXB0cyB0aGUgTW9ybmluZyBQbGFuLSZndDtLZXZpbiBBY2NlcHRzIHRoZSBNb3JuaW5nIFBsYW5dXSZsdDticiZndDsKW1tLZXZpbiBBY2NlcHRzIHRoZSBQYXR0ZXJuLSZndDtLZXZpbiBBY2NlcHRzIHRoZSBQYXR0ZXJuXV0mbHQ7YnImZ3Q7CltbS2V2aW4gQXBwcm9hY2hlcyB0aGUgSGFsbHdheS0mZ3Q7S2V2aW4gQXBwcm9hY2hlcyB0aGUgSGFsbHdheV1dJmx0O2JyJmd0OwpbW0tldmluIEFza3MgQWJiaWUgQWJvdXQgdGhlIENhdC0mZ3Q7S2V2aW4gQXNrcyBBYmJpZSBBYm91dCB0aGUgQ2F0XV0mbHQ7YnImZ3Q7CltbS2V2aW4gQXNrcyBBYmJpZSBBYm91dCB0aGUgQ2xvY2stJmd0O0tldmluIEFza3MgQWJiaWUgQWJvdXQgdGhlIENsb2NrXV0mbHQ7YnImZ3Q7CltbS2V2aW4gQXNrcyBBYmJpZSBBYm91dCB0aGUgU291bmQtJmd0O0tldmluIEFza3MgQWJiaWUgQWJvdXQgdGhlIFNvdW5kXV0mbHQ7YnImZ3Q7CltbS2V2aW4gQXNrcyBBYmJpZSBmb3IgSGVscC0mZ3Q7S2V2aW4gQXNrcyBBYmJpZSBmb3IgSGVscF1dJmx0O2JyJmd0OwpbW0tldmluIEFza3MgQWJvdXQgdGhlIENvbGQtJmd0O0tldmluIEFza3MgQWJvdXQgdGhlIENvbGRdXSZsdDticiZndDsKW1tLZXZpbiBBc2tzIEFib3V0IHRoZSBHaXJsIGF0IFNjaG9vbC0mZ3Q7S2V2aW4gQXNrcyBBYm91dCB0aGUgR2lybCBhdCBTY2hvb2xdXSZsdDticiZndDsKW1tLZXZpbiBBc2tzIEFib3V0IHRoZSBMYW1wLSZndDtLZXZpbiBBc2tzIEFib3V0IHRoZSBMYW1wXV0mbHQ7YnImZ3Q7CltbS2V2aW4gQXNrcyBBYm91dCB0aGUgTm90ZSBEYXRlLSZndDtLZXZpbiBBc2tzIEFib3V0IHRoZSBOb3RlIERhdGVdXSZsdDticiZndDsKW1tLZXZpbiBBc2tzIEFib3V0IHRoZSBTaWduYWwtJmd0O0tldmluIEFza3MgQWJvdXQgdGhlIFNpZ25hbF1dJmx0O2JyJmd0OwpbW0tldmluIEF2b2lkcyB0aGUgT3JhbmdlIENhdC0mZ3Q7S2V2aW4gQXZvaWRzIHRoZSBPcmFuZ2UgQ2F0XV0mbHQ7YnImZ3Q7CltbS2V2aW4gQXZvaWRzIHRoZSBTaWRld2FsayBDcmFja3MtJmd0O0tldmluIEF2b2lkcyB0aGUgU2lkZXdhbGsgQ3JhY2tzXV0mbHQ7YnImZ3Q7CltbS2V2aW4gQnVpbGRzIHRoZSBHcm91cCBQYXR0ZXJuLSZndDtLZXZpbiBCdWlsZHMgdGhlIEdyb3VwIFBhdHRlcm5dXSZsdDticiZndDsKW1tLZXZpbiBDYWxscyBmb3IgQWJiaWUtJmd0O0tldmluIENhbGxzIGZvciBBYmJpZV1dJmx0O2JyJmd0OwpbW0tldmluIENoYXB0ZXIgMyBTdW1tYXJ5LSZndDtLZXZpbiBDaGFwdGVyIDMgU3VtbWFyeV1dJmx0O2JyJmd0OwpbW0tldmluIENoYXB0ZXIgU3VtbWFyeS0mZ3Q7S2V2aW4gQ2hhcHRlciBTdW1tYXJ5XV0mbHQ7YnImZ3Q7CltbS2V2aW4gQ2hlY2tzIEhpcyBXYXRjaC0mZ3Q7S2V2aW4gQ2hlY2tzIEhpcyBXYXRjaF1dJmx0O2JyJmd0OwpbW0tldmluIENoZWNrcyB0aGUgQmVlcGluZyBXYXRjaC0mZ3Q7S2V2aW4gQ2hlY2tzIHRoZSBCZWVwaW5nIFdhdGNoXV0mbHQ7YnImZ3Q7CltbS2V2aW4gQ2hlY2tzIHRoZSBIYWxsd2F5IENsb3NldC0mZ3Q7S2V2aW4gQ2hlY2tzIHRoZSBIYWxsd2F5IENsb3NldF1dJmx0O2JyJmd0OwpbW0tldmluIENoZWNrcyB0aGUgVGltZS0mZ3Q7S2V2aW4gQ2hlY2tzIHRoZSBUaW1lXV0mbHQ7YnImZ3Q7CltbS2V2aW4gQ29tcGFyZXMgdGhlIEJvdW5kYXJpZXMtJmd0O0tldmluIENvbXBhcmVzIHRoZSBCb3VuZGFyaWVzXV0mbHQ7YnImZ3Q7CltbS2V2aW4gQ29tcGFyZXMgdGhlIEhleGFmb2lscy0mZ3Q7S2V2aW4gQ29tcGFyZXMgdGhlIEhleGFmb2lsc11dJmx0O2JyJmd0OwpbW0tldmluIENvbXBhcmVzIHRoZSBQaG90b2dyYXBocy0mZ3Q7S2V2aW4gQ29tcGFyZXMgdGhlIFBob3RvZ3JhcGhzXV0mbHQ7YnImZ3Q7CltbS2V2aW4gQ29udHJvbHMgSGlzIEJyZWF0aGluZy0mZ3Q7S2V2aW4gQ29udHJvbHMgSGlzIEJyZWF0aGluZ11dJmx0O2JyJmd0OwpbW0tldmluIERpc2NvdmVycyBJSS0mZ3Q7S2V2aW4gRGlzY292ZXJzIElJXV0mbHQ7YnImZ3Q7CltbS2V2aW4gRW5kcyB0aGUgUGVyZm9ybWFuY2UtJmd0O0tldmluIEVuZHMgdGhlIFBlcmZvcm1hbmNlXV0mbHQ7YnImZ3Q7CltbS2V2aW4gRW50ZXJzIHRoZSBNaWRkbGUgU2Nob29sLSZndDtLZXZpbiBFbnRlcnMgdGhlIE1pZGRsZSBTY2hvb2xdXSZsdDticiZndDsKW1tLZXZpbiBFeGFtaW5lcyB0aGUgQ2F0IENvbGxhci0mZ3Q7S2V2aW4gRXhhbWluZXMgdGhlIENhdCBDb2xsYXJdXSZsdDticiZndDsKW1tLZXZpbiBFeGFtaW5lcyB0aGUgRG9vcmZyYW1lLSZndDtLZXZpbiBFeGFtaW5lcyB0aGUgRG9vcmZyYW1lXV0mbHQ7YnImZ3Q7CltbS2V2aW4gRXhhbWluZXMgdGhlIFNlYWxlZCBQYXNzYWdlLSZndDtLZXZpbiBFeGFtaW5lcyB0aGUgU2VhbGVkIFBhc3NhZ2VdXSZsdDticiZndDsKW1tLZXZpbiBFeGFtaW5lcyB0aGUgV2F0Y2gtJmd0O0tldmluIEV4YW1pbmVzIHRoZSBXYXRjaF1dJmx0O2JyJmd0OwpbW0tldmluIEV4cGxhaW5zIHRoZSBDbG9ja3MtJmd0O0tldmluIEV4cGxhaW5zIHRoZSBDbG9ja3NdXSZsdDticiZndDsKW1tLZXZpbiBGaW5kcyB0aGUgSGV4YWZvaWwtJmd0O0tldmluIEZpbmRzIHRoZSBIZXhhZm9pbF1dJmx0O2JyJmd0OwpbW0tldmluIEZpbmlzaGVzIHRoZSBTb25nIGF0IFNjaG9vbC0mZ3Q7S2V2aW4gRmluaXNoZXMgdGhlIFNvbmcgYXQgU2Nob29sXV0mbHQ7YnImZ3Q7CltbS2V2aW4gRm9sZHMgSW53YXJkLSZndDtLZXZpbiBGb2xkcyBJbndhcmRdXSZsdDticiZndDsKW1tLZXZpbiBGb2xsb3dzIEFiYmllIE92ZXIgdGhlIENyYWNrcy0mZ3Q7S2V2aW4gRm9sbG93cyBBYmJpZSBPdmVyIHRoZSBDcmFja3NdXSZsdDticiZndDsKW1tLZXZpbiBGb2xsb3dzIHRoZSBCdXMgV2luZG93LSZndDtLZXZpbiBGb2xsb3dzIHRoZSBCdXMgV2luZG93XV0mbHQ7YnImZ3Q7CltbS2V2aW4gRm9sbG93cyB0aGUgV2F0Y2ggU2lnbmFsLSZndDtLZXZpbiBGb2xsb3dzIHRoZSBXYXRjaCBTaWduYWxdXSZsdDticiZndDsKW1tLZXZpbiBHZXRzIHRoZSBDZXJlYWwtJmd0O0tldmluIEdldHMgdGhlIENlcmVhbF1dJmx0O2JyJmd0OwpbW0tldmluIEhpZGVzIHRoZSBJbmNpZGVudC0mZ3Q7S2V2aW4gSGlkZXMgdGhlIEluY2lkZW50XV0mbHQ7YnImZ3Q7CltbS2V2aW4gSHVycmllcyBQYXN0IHRoZSBGaWVsZC0mZ3Q7S2V2aW4gSHVycmllcyBQYXN0IHRoZSBGaWVsZF1dJmx0O2JyJmd0OwpbW0tldmluIElkZW50aWZpZXMgTXIgQXNodG9uLSZndDtLZXZpbiBJZGVudGlmaWVzIE1yIEFzaHRvbl1dJmx0O2JyJmd0OwpbW0tldmluIElnbm9yZXMgdGhlIFNpZGV3YWxrIENyYWNrcy0mZ3Q7S2V2aW4gSWdub3JlcyB0aGUgU2lkZXdhbGsgQ3JhY2tzXV0mbHQ7YnImZ3Q7CltbS2V2aW4gSW5zcGVjdHMgdGhlIEVsZXZlbnRoIFN0ZXAtJmd0O0tldmluIEluc3BlY3RzIHRoZSBFbGV2ZW50aCBTdGVwXV0mbHQ7YnImZ3Q7CltbS2V2aW4gSm9pbnMgdGhlIFNvbmctJmd0O0tldmluIEpvaW5zIHRoZSBTb25nXV0mbHQ7YnImZ3Q7CltbS2V2aW4gSm9rZXMgQWJvdXQgdGhlIFBsYW4tJmd0O0tldmluIEpva2VzIEFib3V0IHRoZSBQbGFuXV0mbHQ7YnImZ3Q7CltbS2V2aW4gTGVhdmVzIHRoZSBDYXQgQ29sbGFyLSZndDtLZXZpbiBMZWF2ZXMgdGhlIENhdCBDb2xsYXJdXSZsdDticiZndDsKW1tLZXZpbiBMZWF2ZXMgdGhlIEhhbGx3YXkgRWFybHktJmd0O0tldmluIExlYXZlcyB0aGUgSGFsbHdheSBFYXJseV1dJmx0O2JyJmd0OwpbW0tldmluIExlYXZlcyB0aGUgSG91c2UtJmd0O0tldmluIExlYXZlcyB0aGUgSG91c2VdXSZsdDticiZndDsKW1tLZXZpbiBMZWF2ZXMgdGhlIE9sZCBCdXR0b24tJmd0O0tldmluIExlYXZlcyB0aGUgT2xkIEJ1dHRvbl1dJmx0O2JyJmd0OwpbW0tldmluIExlYXZlcyB0aGUgU3RhaXJzIEFsb25lLSZndDtLZXZpbiBMZWF2ZXMgdGhlIFN0YWlycyBBbG9uZV1dJmx0O2JyJmd0OwpbW0tldmluIExpc3RlbnMgTmVhciB0aGUgU3RhaXJjYXNlLSZndDtLZXZpbiBMaXN0ZW5zIE5lYXIgdGhlIFN0YWlyY2FzZV1dJmx0O2JyJmd0OwpbW0tldmluIExpc3RlbnMgdG8gdGhlIFNvbmctJmd0O0tldmluIExpc3RlbnMgdG8gdGhlIFNvbmddXSZsdDticiZndDsKW1tLZXZpbiBNZWV0cyB0aGUgVGhyZWUgSW52ZXN0aWdhdG9ycy0mZ3Q7S2V2aW4gTWVldHMgdGhlIFRocmVlIEludmVzdGlnYXRvcnNdXSZsdDticiZndDsKW1tLZXZpbiBNZW1vcml6ZXMgdGhlIEhleGFmb2lsLSZndDtLZXZpbiBNZW1vcml6ZXMgdGhlIEhleGFmb2lsXV0mbHQ7YnImZ3Q7CltbS2V2aW4gTmFtZXMgdGhlIE15c3RlcnktJmd0O0tldmluIE5hbWVzIHRoZSBNeXN0ZXJ5XV0mbHQ7YnImZ3Q7CltbS2V2aW4gTmVnb3RpYXRlcyB3aXRoIEFiYmllLSZndDtLZXZpbiBOZWdvdGlhdGVzIHdpdGggQWJiaWVdXSZsdDticiZndDsKW1tLZXZpbiBOb3RpY2VzIFhJLSZndDtLZXZpbiBOb3RpY2VzIFhJXV0mbHQ7YnImZ3Q7CltbS2V2aW4gT3BlbmluZy0mZ3Q7S2V2aW4gT3BlbmluZ11dJmx0O2JyJmd0OwpbW0tldmluIE9yZGVycyBBYmJpZSBEb3duLSZndDtLZXZpbiBPcmRlcnMgQWJiaWUgRG93bl1dJmx0O2JyJmd0OwpbW0tldmluIFByZXNlcnZlcyB0aGUgMTY3OCBWaXNpb24tJmd0O0tldmluIFByZXNlcnZlcyB0aGUgMTY3OCBWaXNpb25dXSZsdDticiZndDsKW1tLZXZpbiBQdWxscyBBd2F5IGZyb20gdGhlIERvb3ItJmd0O0tldmluIFB1bGxzIEF3YXkgZnJvbSB0aGUgRG9vcl1dJmx0O2JyJmd0OwpbW0tldmluIFB1c2hlcyB0aGUgU2NoZWR1bGUtJmd0O0tldmluIFB1c2hlcyB0aGUgU2NoZWR1bGVdXSZsdDticiZndDsKW1tLZXZpbiBRdWVzdGlvbnMgS2ltbXktJmd0O0tldmluIFF1ZXN0aW9ucyBLaW1teV1dJmx0O2JyJmd0OwpbW0tldmluIFF1ZXN0aW9ucyB0aGUgQ2VyZWFsIFNvbmctJmd0O0tldmluIFF1ZXN0aW9ucyB0aGUgQ2VyZWFsIFNvbmddXSZsdDticiZndDsKW1tLZXZpbiBRdWVzdGlvbnMgdGhlIENyYWNrIFJ1bGUtJmd0O0tldmluIFF1ZXN0aW9ucyB0aGUgQ3JhY2sgUnVsZV1dJmx0O2JyJmd0OwpbW0tldmluIFJlYnVpbGRzIHRoZSBQbGFuLSZndDtLZXZpbiBSZWJ1aWxkcyB0aGUgUGxhbl1dJmx0O2JyJmd0OwpbW0tldmluIFJlY29yZHMgOTE0LSZndDtLZXZpbiBSZWNvcmRzIDkxNF1dJmx0O2JyJmd0OwpbW0tldmluIFJlY29yZHMgdGhlIERvb3JmcmFtZS0mZ3Q7S2V2aW4gUmVjb3JkcyB0aGUgRG9vcmZyYW1lXV0mbHQ7YnImZ3Q7CltbS2V2aW4gUmVjb3JkcyB0aGUgTW9ybmluZy0mZ3Q7S2V2aW4gUmVjb3JkcyB0aGUgTW9ybmluZ11dJmx0O2JyJmd0OwpbW0tldmluIFJlZnVzZXMgdGhlIEJ1cyBXaW5kb3ctJmd0O0tldmluIFJlZnVzZXMgdGhlIEJ1cyBXaW5kb3ddXSZsdDticiZndDsKW1tLZXZpbiBSZWZ1c2VzIHRoZSBQYXR0ZXJuLSZndDtLZXZpbiBSZWZ1c2VzIHRoZSBQYXR0ZXJuXV0mbHQ7YnImZ3Q7CltbS2V2aW4gUmVqZWN0cyB0aGUgTm90ZXMtJmd0O0tldmluIFJlamVjdHMgdGhlIE5vdGVzXV0mbHQ7YnImZ3Q7CltbS2V2aW4gUmV0cmlldmVzIHRoZSBDYXQgQ29sbGFyLSZndDtLZXZpbiBSZXRyaWV2ZXMgdGhlIENhdCBDb2xsYXJdXSZsdDticiZndDsKW1tLZXZpbiBTZWFyY2hlcyBVcHN0YWlycy0mZ3Q7S2V2aW4gU2VhcmNoZXMgVXBzdGFpcnNdXSZsdDticiZndDsKW1tLZXZpbiBTZWFyY2hlcyBmb3IgdGhlIFRocmVlIEdpcmxzLSZndDtLZXZpbiBTZWFyY2hlcyBmb3IgdGhlIFRocmVlIEdpcmxzXV0mbHQ7YnImZ3Q7CltbS2V2aW4gU2VhcmNoZXMgdGhlIENsb3NldC0mZ3Q7S2V2aW4gU2VhcmNoZXMgdGhlIENsb3NldF1dJmx0O2JyJmd0OwpbW0tldmluIFNlZXMgdGhlIE9sZCBCcmVja2VucmlkZ2UgUmVmbGVjdGlvbi0mZ3Q7S2V2aW4gU2VlcyB0aGUgT2xkIEJyZWNrZW5yaWRnZSBSZWZsZWN0aW9uXV0mbHQ7YnImZ3Q7CltbS2V2aW4gU2hhcmVzIHRoZSBIb3VzZSBNeXN0ZXJ5LSZndDtLZXZpbiBTaGFyZXMgdGhlIEhvdXNlIE15c3RlcnldXSZsdDticiZndDsKW1tLZXZpbiBTaGllbGRzIEFiYmllIGF0IHRoZSBGaWVsZC0mZ3Q7S2V2aW4gU2hpZWxkcyBBYmJpZSBhdCB0aGUgRmllbGRdXSZsdDticiZndDsKW1tLZXZpbiBTaG93cyBBYmJpZSB0aGUgRG9vcmZyYW1lLSZndDtLZXZpbiBTaG93cyBBYmJpZSB0aGUgRG9vcmZyYW1lXV0mbHQ7YnImZ3Q7CltbS2V2aW4gU2hvd3MgQWJiaWUgdGhlIEhleGFmb2lsLSZndDtLZXZpbiBTaG93cyBBYmJpZSB0aGUgSGV4YWZvaWxdXSZsdDticiZndDsKW1tLZXZpbiBTaW5ncyBXaXRob3V0IFNraXBwaW5nLSZndDtLZXZpbiBTaW5ncyBXaXRob3V0IFNraXBwaW5nXV0mbHQ7YnImZ3Q7CltbS2V2aW4gU2luZ3MgYW5kIFNraXBzLSZndDtLZXZpbiBTaW5ncyBhbmQgU2tpcHNdXSZsdDticiZndDsKW1tLZXZpbiBTa2V0Y2hlcyB0aGUgSGV4YWZvaWwtJmd0O0tldmluIFNrZXRjaGVzIHRoZSBIZXhhZm9pbF1dJmx0O2JyJmd0OwpbW0tldmluIFNraXBzIFdpdGhvdXQgU2luZ2luZy0mZ3Q7S2V2aW4gU2tpcHMgV2l0aG91dCBTaW5naW5nXV0mbHQ7YnImZ3Q7CltbS2V2aW4gU3RlYWRpZXMgdGhlIENoYWlyLSZndDtLZXZpbiBTdGVhZGllcyB0aGUgQ2hhaXJdXSZsdDticiZndDsKW1tLZXZpbiBTdG9wcyB0aGUgQ2VyZWFsIFNvbmctJmd0O0tldmluIFN0b3BzIHRoZSBDZXJlYWwgU29uZ11dJmx0O2JyJmd0OwpbW0tldmluIFN0dWRpZXMgdGhlIEJ1cyBXaW5kb3cgRmFjZS0mZ3Q7S2V2aW4gU3R1ZGllcyB0aGUgQnVzIFdpbmRvdyBGYWNlXV0mbHQ7YnImZ3Q7CltbS2V2aW4gU3R1ZGllcyB0aGUgRmFsbGVuIENvbGxhci0mZ3Q7S2V2aW4gU3R1ZGllcyB0aGUgRmFsbGVuIENvbGxhcl1dJmx0O2JyJmd0OwpbW0tldmluIFN0dWRpZXMgdGhlIEZpcnN0IEhleGFmb2lsLSZndDtLZXZpbiBTdHVkaWVzIHRoZSBGaXJzdCBIZXhhZm9pbF1dJmx0O2JyJmd0OwpbW0tldmluIFRha2VzIHRoZSBPbGQgQnV0dG9uLSZndDtLZXZpbiBUYWtlcyB0aGUgT2xkIEJ1dHRvbl1dJmx0O2JyJmd0OwpbW0tldmluIFRlbGxzIEFiYmllIEV2ZXJ5dGhpbmctJmd0O0tldmluIFRlbGxzIEFiYmllIEV2ZXJ5dGhpbmddXSZsdDticiZndDsKW1tLZXZpbiBUZWxscyBBYmJpZSBTb21ldGhpbmcgV2FzIFRoZXJlLSZndDtLZXZpbiBUZWxscyBBYmJpZSBTb21ldGhpbmcgV2FzIFRoZXJlXV0mbHQ7YnImZ3Q7CltbS2V2aW4gVGVzdHMgdGhlIENhdCBhbmQgVHJlZS0mZ3Q7S2V2aW4gVGVzdHMgdGhlIENhdCBhbmQgVHJlZV1dJmx0O2JyJmd0OwpbW0tldmluIFRlc3RzIHRoZSBDbG9jay0mZ3Q7S2V2aW4gVGVzdHMgdGhlIENsb2NrXV0mbHQ7YnImZ3Q7CltbS2V2aW4gVG91Y2hlcyB0aGUgSGV4YWZvaWwgQWdhaW4tJmd0O0tldmluIFRvdWNoZXMgdGhlIEhleGFmb2lsIEFnYWluXV0mbHQ7YnImZ3Q7CltbS2V2aW4gVHJhY2VzIHRoZSBCdXR0b24tJmd0O0tldmluIFRyYWNlcyB0aGUgQnV0dG9uXV0mbHQ7YnImZ3Q7CltbS2V2aW4gVHJpZXMgdG8gSHVycnkgQWJiaWUtJmd0O0tldmluIFRyaWVzIHRvIEh1cnJ5IEFiYmllXV0mbHQ7YnImZ3Q7CltbS2V2aW4gV2F0Y2hlcyB0aGUgRmllbGQgQnVzaGVzLSZndDtLZXZpbiBXYXRjaGVzIHRoZSBGaWVsZCBCdXNoZXNdXSZsdDticiZndDsKW1tLZXZpbiBXYXRjaGVzIHRoZSBIYWxsd2F5LSZndDtLZXZpbiBXYXRjaGVzIHRoZSBIYWxsd2F5XV0mbHQ7YnImZ3Q7CltbS2V2aW4gV2F0Y2hlcyB0aGUgT2FrIFRyZWUgRmlndXJlLSZndDtLZXZpbiBXYXRjaGVzIHRoZSBPYWsgVHJlZSBGaWd1cmVdXSZsdDticiZndDsKW1tLZXZpbiBXYXRjaGVzIHRoZSBTY2hvb2wgRmVuY2UtJmd0O0tldmluIFdhdGNoZXMgdGhlIFNjaG9vbCBGZW5jZV1dJmx0O2JyJmd0OwpbW0tldmluIFdpdG5lc3NlcyB0aGUgV2l0Y2ggV2FybmluZy0mZ3Q7S2V2aW4gV2l0bmVzc2VzIHRoZSBXaXRjaCBXYXJuaW5nXV0mbHQ7YnImZ3Q7CltbS2V2aW4gV3JpdGVzIENvbXBsZXRlIE5vdGVzLSZndDtLZXZpbiBXcml0ZXMgQ29tcGxldGUgTm90ZXNdXSZsdDticiZndDsKW1tLZXZpbiBhbmQgQWJiaWUgQ29udGludWUgdG8gU2Nob29sLSZndDtLZXZpbiBhbmQgQWJiaWUgQ29udGludWUgdG8gU2Nob29sXV0mbHQ7YnImZ3Q7CltbS2V2aW4gYW5kIEFiYmllIFN0YXJ0IFdhbGtpbmctJmd0O0tldmluIGFuZCBBYmJpZSBTdGFydCBXYWxraW5nXV0mbHQ7YnImZ3Q7CltbS2V2aW5DbHVlUGF5b2ZmLSZndDtLZXZpbkNsdWVQYXlvZmZdXSZsdDticiZndDsKW1tLZXZpblBob3RvRm9vdHByaW50LSZndDtLZXZpblBob3RvRm9vdHByaW50XV0mbHQ7YnImZ3Q7CltbS2ltbXkgQXBwcm9hY2hlcyB0aGUgUGFzc2FnZSBCb3VuZGFyeS0mZ3Q7S2ltbXkgQXBwcm9hY2hlcyB0aGUgUGFzc2FnZSBCb3VuZGFyeV1dJmx0O2JyJmd0OwpbW0tpbW15IEFyY2hpdmUgUmV2ZWxhdGlvbi0mZ3Q7S2ltbXkgQXJjaGl2ZSBSZXZlbGF0aW9uXV0mbHQ7YnImZ3Q7CltbS2ltbXkgQXNrcyBBYm91dCBMdWNpbGxlLSZndDtLaW1teSBBc2tzIEFib3V0IEx1Y2lsbGVdXSZsdDticiZndDsKW1tLaW1teSBBc2tzIEFib3V0IHRoZSBXZXQgVHJhaWwtJmd0O0tpbW15IEFza3MgQWJvdXQgdGhlIFdldCBUcmFpbF1dJmx0O2JyJmd0OwpbW0tpbW15IEFza3MgV2hhdCBGb2xsb3dlZC0mZ3Q7S2ltbXkgQXNrcyBXaGF0IEZvbGxvd2VkXV0mbHQ7YnImZ3Q7CltbS2ltbXkgQXNrcyBXaGF0IFdhcyBJbnNpZGUtJmd0O0tpbW15IEFza3MgV2hhdCBXYXMgSW5zaWRlXV0mbHQ7YnImZ3Q7CltbS2ltbXkgQm91bmRhcnkgT3BlbnMtJmd0O0tpbW15IEJvdW5kYXJ5IE9wZW5zXV0mbHQ7YnImZ3Q7CltbS2ltbXkgQ2hhbGxlbmdlcyB0aGUgV2l0bmVzcy0mZ3Q7S2ltbXkgQ2hhbGxlbmdlcyB0aGUgV2l0bmVzc11dJmx0O2JyJmd0OwpbW0tpbW15IENoYXB0ZXIgNCBTdW1tYXJ5LSZndDtLaW1teSBDaGFwdGVyIDQgU3VtbWFyeV1dJmx0O2JyJmd0OwpbW0tpbW15IENob29zZXMgdGhlIEFyY2hpdmVzLSZndDtLaW1teSBDaG9vc2VzIHRoZSBBcmNoaXZlc11dJmx0O2JyJmd0OwpbW0tpbW15IENob29zZXMgdGhlIEhhbGx3YXktJmd0O0tpbW15IENob29zZXMgdGhlIEhhbGx3YXldXSZsdDticiZndDsKW1tLaW1teSBDaG9vc2VzIHRoZSBJbnRlcnZpZXctJmd0O0tpbW15IENob29zZXMgdGhlIEludGVydmlld11dJmx0O2JyJmd0OwpbW0tpbW15IENvbXBhcmVzIHRoZSBIaXN0b3JpY2FsIFN5bWJvbHMtJmd0O0tpbW15IENvbXBhcmVzIHRoZSBIaXN0b3JpY2FsIFN5bWJvbHNdXSZsdDticiZndDsKW1tLaW1teSBDb21wYXJlcyB0aGUgUGVybWlzc2lvbiBSdWxlLSZndDtLaW1teSBDb21wYXJlcyB0aGUgUGVybWlzc2lvbiBSdWxlXV0mbHQ7YnImZ3Q7CltbS2ltbXkgQ29uZmlybXMgdGhlIEhpZGRlbiBQYXNzYWdlLSZndDtLaW1teSBDb25maXJtcyB0aGUgSGlkZGVuIFBhc3NhZ2VdXSZsdDticiZndDsKW1tLaW1teSBDb3BpZXMgdGhlIFllYXJib29rIFBob3RvZ3JhcGgtJmd0O0tpbW15IENvcGllcyB0aGUgWWVhcmJvb2sgUGhvdG9ncmFwaF1dJmx0O2JyJmd0OwpbW0tpbW15IERvY3VtZW50cyB0aGUgQXJjaGl2ZSBQaG90b2dyYXBoLSZndDtLaW1teSBEb2N1bWVudHMgdGhlIEFyY2hpdmUgUGhvdG9ncmFwaF1dJmx0O2JyJmd0OwpbW0tpbW15IERvY3VtZW50cyB0aGUgT3BlbiBQYXNzYWdlLSZndDtLaW1teSBEb2N1bWVudHMgdGhlIE9wZW4gUGFzc2FnZV1dJmx0O2JyJmd0OwpbW0tpbW15IEV4YW1pbmVzIEJlaGluZCB0aGUgQnVsbGV0aW4gQm9hcmQtJmd0O0tpbW15IEV4YW1pbmVzIEJlaGluZCB0aGUgQnVsbGV0aW4gQm9hcmRdXSZsdDticiZndDsKW1tLaW1teSBFeGFtaW5lcyB0aGUgQXJjaGl2ZSBIZXhhZm9pbC0mZ3Q7S2ltbXkgRXhhbWluZXMgdGhlIEFyY2hpdmUgSGV4YWZvaWxdXSZsdDticiZndDsKW1tLaW1teSBGaW5kcyB0aGUgQXJjaGl2ZSBQaG90b2dyYXBoLSZndDtLaW1teSBGaW5kcyB0aGUgQXJjaGl2ZSBQaG90b2dyYXBoXV0mbHQ7YnImZ3Q7CltbS2ltbXkgRmluZHMgdGhlIEhpZGRlbiBQYXNzYWdlLSZndDtLaW1teSBGaW5kcyB0aGUgSGlkZGVuIFBhc3NhZ2VdXSZsdDticiZndDsKW1tLaW1teSBGaW5kcyB0aGUgTWlzc2luZyBGb2xsb3cgVXAtJmd0O0tpbW15IEZpbmRzIHRoZSBNaXNzaW5nIEZvbGxvdyBVcF1dJmx0O2JyJmd0OwpbW0tpbW15IEZpbmRzIHRoZSBSZXZpc2lvbiBTaWduYXR1cmUtJmd0O0tpbW15IEZpbmRzIHRoZSBSZXZpc2lvbiBTaWduYXR1cmVdXSZsdDticiZndDsKW1tLaW1teSBJbnRlcnZpZXcgQ29uY2x1c2lvbi0mZ3Q7S2ltbXkgSW50ZXJ2aWV3IENvbmNsdXNpb25dXSZsdDticiZndDsKW1tLaW1teSBJbnRlcnZpZXdzIHRoZSBTdHVkZW50LSZndDtLaW1teSBJbnRlcnZpZXdzIHRoZSBTdHVkZW50XV0mbHQ7YnImZ3Q7CltbS2ltbXkgS25vY2tzIG9uIHRoZSBIaWRkZW4gV2FsbC0mZ3Q7S2ltbXkgS25vY2tzIG9uIHRoZSBIaWRkZW4gV2FsbF1dJmx0O2JyJmd0OwpbW0tpbW15IExpc3RlbnMgQmVoaW5kIHRoZSBXYWxsLSZndDtLaW1teSBMaXN0ZW5zIEJlaGluZCB0aGUgV2FsbF1dJmx0O2JyJmd0OwpbW0tpbW15IE1lYXN1cmVzIHRoZSBIaWRkZW4gUGFzc2FnZS0mZ3Q7S2ltbXkgTWVhc3VyZXMgdGhlIEhpZGRlbiBQYXNzYWdlXV0mbHQ7YnImZ3Q7CltbS2ltbXkgT3BlbnMgUmVwb3J0ZXIgQ2FzZS0mZ3Q7S2ltbXkgT3BlbnMgUmVwb3J0ZXIgQ2FzZV1dJmx0O2JyJmd0OwpbW0tpbW15IFByb3RlY3RzIHRoZSBXaXRuZXNzLSZndDtLaW1teSBQcm90ZWN0cyB0aGUgV2l0bmVzc11dJmx0O2JyJmd0OwpbW0tpbW15IFF1ZXN0aW9ucyB0aGUgSGlkZGVuIFZvaWNlLSZndDtLaW1teSBRdWVzdGlvbnMgdGhlIEhpZGRlbiBWb2ljZV1dJmx0O2JyJmd0OwpbW0tpbW15IFF1ZXN0aW9ucyB0aGUgUGFzc2FnZSBGaWd1cmUtJmd0O0tpbW15IFF1ZXN0aW9ucyB0aGUgUGFzc2FnZSBGaWd1cmVdXSZsdDticiZndDsKW1tLaW1teSBSZWFjaGVzIFNjb290IGFuZCBSeWFuLSZndDtLaW1teSBSZWFjaGVzIFNjb290IGFuZCBSeWFuXV0mbHQ7YnImZ3Q7CltbS2ltbXkgUmVjb3JkcyB0aGUgQXJjaGl2ZSBUaGVvcnktJmd0O0tpbW15IFJlY29yZHMgdGhlIEFyY2hpdmUgVGhlb3J5XV0mbHQ7YnImZ3Q7CltbS2ltbXkgUmVjb3JkcyB0aGUgSGlkZGVuIFZvaWNlLSZndDtLaW1teSBSZWNvcmRzIHRoZSBIaWRkZW4gVm9pY2VdXSZsdDticiZndDsKW1tLaW1teSBSZWNvcmRzIHRoZSBJbnRlcnZpZXctJmd0O0tpbW15IFJlY29yZHMgdGhlIEludGVydmlld11dJmx0O2JyJmd0OwpbW0tpbW15IFJlcXVlc3RzIHRoZSBGdWxsIFN0b3J5LSZndDtLaW1teSBSZXF1ZXN0cyB0aGUgRnVsbCBTdG9yeV1dJmx0O2JyJmd0OwpbW0tpbW15IFJlc2VhbHMgdGhlIFBhc3NhZ2UtJmd0O0tpbW15IFJlc2VhbHMgdGhlIFBhc3NhZ2VdXSZsdDticiZndDsKW1tLaW1teSBSZXRyaWV2ZXMgdGhlIFllbGxvdyBSaWJib24tJmd0O0tpbW15IFJldHJpZXZlcyB0aGUgWWVsbG93IFJpYmJvbl1dJmx0O2JyJmd0OwpbW0tpbW15IFNhdmVzIHRoZSBIaXN0b3JpY2FsIEV2aWRlbmNlLSZndDtLaW1teSBTYXZlcyB0aGUgSGlzdG9yaWNhbCBFdmlkZW5jZV1dJmx0O2JyJmd0OwpbW0tpbW15IFNlYXJjaGVzIGZvciB0aGUgVGhyZWUgR2lybHMtJmd0O0tpbW15IFNlYXJjaGVzIGZvciB0aGUgVGhyZWUgR2lybHNdXSZsdDticiZndDsKW1tLaW1teSBTZWFyY2hlcyB0aGUgRmxvb3IgUGxhbnMtJmd0O0tpbW15IFNlYXJjaGVzIHRoZSBGbG9vciBQbGFuc11dJmx0O2JyJmd0OwpbW0tpbW15IFNlYXJjaGVzIHRoZSBOZXdzcGFwZXJzLSZndDtLaW1teSBTZWFyY2hlcyB0aGUgTmV3c3BhcGVyc11dJmx0O2JyJmd0OwpbW0tpbW15IFNlYXJjaGVzIHRoZSBTY2hvb2wgQXJjaGl2ZS0mZ3Q7S2ltbXkgU2VhcmNoZXMgdGhlIFNjaG9vbCBBcmNoaXZlXV0mbHQ7YnImZ3Q7CltbS2ltbXkgU2VhcmNoZXMgdGhlIFllYXJib29rcy0mZ3Q7S2ltbXkgU2VhcmNoZXMgdGhlIFllYXJib29rc11dJmx0O2JyJmd0OwpbW0tpbW15IFNlcGFyYXRlcyBXaXRuZXNzIGZyb20gUnVtb3ItJmd0O0tpbW15IFNlcGFyYXRlcyBXaXRuZXNzIGZyb20gUnVtb3JdXSZsdDticiZndDsKW1tLaW1teSBTdHVkaWVzIHRoZSBEYW1hZ2VkIE5hbWVzLSZndDtLaW1teSBTdHVkaWVzIHRoZSBEYW1hZ2VkIE5hbWVzXV0mbHQ7YnImZ3Q7CltbS2ltbXkgVGVzdHMgdGhlIERvb3IgQ2xhaW0tJmd0O0tpbW15IFRlc3RzIHRoZSBEb29yIENsYWltXV0mbHQ7YnImZ3Q7CltbS2ltbXkgVGVzdHMgdGhlIEhleGFmb2lsIFRyYWNpbmctJmd0O0tpbW15IFRlc3RzIHRoZSBIZXhhZm9pbCBUcmFjaW5nXV0mbHQ7YnImZ3Q7CltbS2ltbXkgVmVyaWZpZXMgdGhlIENoYW5nZWQgUGhvdG9ncmFwaC0mZ3Q7S2ltbXkgVmVyaWZpZXMgdGhlIENoYW5nZWQgUGhvdG9ncmFwaF1dJmx0O2JyJmd0OwpbW0tpbW15IFdhdGNoZXMgdGhlIFBob3RvZ3JhcGgtJmd0O0tpbW15IFdhdGNoZXMgdGhlIFBob3RvZ3JhcGhdXSZsdDticiZndDsKW1tLaW1teUNsdWVQYXlvZmYtJmd0O0tpbW15Q2x1ZVBheW9mZl1dJmx0O2JyJmd0OwpbW0tpbW15SGFuZHdyaXRpbmdDb21wYXJpc29uLSZndDtLaW1teUhhbmR3cml0aW5nQ29tcGFyaXNvbl1dJmx0O2JyJmd0OwpbW0tpdGNoZW5BYmJpZS0mZ3Q7S2l0Y2hlbkFiYmllXV0mbHQ7YnImZ3Q7CltbTW9yZUNvbWluZ1Nvb24tJmd0O01vcmVDb21pbmdTb29uXV0mbHQ7YnImZ3Q7CltbTXlzdGVyeSBLaXQgLSBCYWRnZSBDYWJpbmV0LSZndDtNeXN0ZXJ5IEtpdCAtIEJhZGdlIENhYmluZXRdXSZsdDticiZndDsKW1tNeXN0ZXJ5IEtpdCAtIEJhZGdlcy0mZ3Q7TXlzdGVyeSBLaXQgLSBCYWRnZXNdXSZsdDticiZndDsKW1tNeXN0ZXJ5IEtpdCAtIENhc2UgRmlsZS0mZ3Q7TXlzdGVyeSBLaXQgLSBDYXNlIEZpbGVdXSZsdDticiZndDsKW1tNeXN0ZXJ5IEtpdCAtIENsdWUgQm9hcmQtJmd0O015c3RlcnkgS2l0IC0gQ2x1ZSBCb2FyZF1dJmx0O2JyJmd0OwpbW015c3RlcnkgS2l0IC0gTm90ZWJvb2stJmd0O015c3RlcnkgS2l0IC0gTm90ZWJvb2tdXSZsdDticiZndDsKW1tNeXN0ZXJ5IEtpdCAtIFBlb3BsZS0mZ3Q7TXlzdGVyeSBLaXQgLSBQZW9wbGVdXSZsdDticiZndDsKW1tNeXN0ZXJ5IEtpdCAtIFRvd24gTWFwLSZndDtNeXN0ZXJ5IEtpdCAtIFRvd24gTWFwXV0mbHQ7YnImZ3Q7CltbTmFtZVB1enpsZUZpcnN0LSZndDtOYW1lUHV6emxlRmlyc3RdXSZsdDticiZndDsKW1tOYW1lUHV6emxlSW50cm8tJmd0O05hbWVQdXp6bGVJbnRyb11dJmx0O2JyJmd0OwpbW05hbWVQdXp6bGVTZWNvbmQtJmd0O05hbWVQdXp6bGVTZWNvbmRdXSZsdDticiZndDsKW1tOYW1lUHV6emxlU29sdmVkLSZndDtOYW1lUHV6emxlU29sdmVkXV0mbHQ7YnImZ3Q7CltbTmFtZVB1enpsZVRoaXJkLSZndDtOYW1lUHV6emxlVGhpcmRdXSZsdDticiZndDsKW1tOYW1lUHV6emxlV3JvbmdGaXJzdC0mZ3Q7TmFtZVB1enpsZVdyb25nRmlyc3RdXSZsdDticiZndDsKW1tOYW1lUHV6emxlV3JvbmdTZWNvbmQtJmd0O05hbWVQdXp6bGVXcm9uZ1NlY29uZF1dJmx0O2JyJmd0OwpbW05hbWVQdXp6bGVXcm9uZ1RoaXJkLSZndDtOYW1lUHV6emxlV3JvbmdUaGlyZF1dJmx0O2JyJmd0OwpbW05vT3B0aW9uYWxQYXlvZmZzLSZndDtOb09wdGlvbmFsUGF5b2Zmc11dJmx0O2JyJmd0OwpbW09ha0JvdW5kYXJ5UmVzY3VlLSZndDtPYWtCb3VuZGFyeVJlc2N1ZV1dJmx0O2JyJmd0OwpbW09ha1JvdXRlQ29uc2VxdWVuY2UtJmd0O09ha1JvdXRlQ29uc2VxdWVuY2VdXSZsdDticiZndDsKW1tQYXNzYWdlRm9vdGVyLSZndDtQYXNzYWdlRm9vdGVyXV0mbHQ7YnImZ3Q7CltbUGFzc2FnZVJvdXRlQ29uc2VxdWVuY2UtJmd0O1Bhc3NhZ2VSb3V0ZUNvbnNlcXVlbmNlXV0mbHQ7YnImZ3Q7CltbUGF5b2ZmQWZ0ZXJLZXZpbi0mZ3Q7UGF5b2ZmQWZ0ZXJLZXZpbl1dJmx0O2JyJmd0OwpbW1BheW9mZkFmdGVyS2ltbXktJmd0O1BheW9mZkFmdGVyS2ltbXldXSZsdDticiZndDsKW1tQYXlvZmZBZnRlclJ5YW4tJmd0O1BheW9mZkFmdGVyUnlhbl1dJmx0O2JyJmd0OwpbW1Blcm1pc3Npb25UcmFwLSZndDtQZXJtaXNzaW9uVHJhcF1dJmx0O2JyJmd0OwpbW1BoYXNlRml2ZUNvbmNsdXNpb24tJmd0O1BoYXNlRml2ZUNvbmNsdXNpb25dXSZsdDticiZndDsKW1tQaGFzZVNpeEFyY2hpdmVIdWItJmd0O1BoYXNlU2l4QXJjaGl2ZUh1Yl1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4QXNodG9uR3VhcmRlZC0mZ3Q7UGhhc2VTaXhBc2h0b25HdWFyZGVkXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhBc2h0b25UcnV0aC0mZ3Q7UGhhc2VTaXhBc2h0b25UcnV0aF1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4QmxhbmtSaW5nLSZndDtQaGFzZVNpeEJsYW5rUmluZ11dJmx0O2JyJmd0OwpbW1BoYXNlU2l4Qm91bmRhcnlSb3V0ZS0mZ3Q7UGhhc2VTaXhCb3VuZGFyeVJvdXRlXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhCb3VuZGFyeVNlYXJjaC0mZ3Q7UGhhc2VTaXhCb3VuZGFyeVNlYXJjaF1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4Q2FyYURlY2lzaW9uLSZndDtQaGFzZVNpeENhcmFEZWNpc2lvbl1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4Q2FyYUVuY291bnRlci0mZ3Q7UGhhc2VTaXhDYXJhRW5jb3VudGVyXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhDYXJhS2VlcGVyLSZndDtQaGFzZVNpeENhcmFLZWVwZXJdXSZsdDticiZndDsKW1tQaGFzZVNpeENhcmFRdWVzdGlvbi0mZ3Q7UGhhc2VTaXhDYXJhUXVlc3Rpb25dXSZsdDticiZndDsKW1tQaGFzZVNpeENhcmFTcGVuY2VyLSZndDtQaGFzZVNpeENhcmFTcGVuY2VyXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhDYXJhVGhyZWFkLSZndDtQaGFzZVNpeENhcmFUaHJlYWRdXSZsdDticiZndDsKW1tQaGFzZVNpeENhcmFXcm9uZy0mZ3Q7UGhhc2VTaXhDYXJhV3JvbmddXSZsdDticiZndDsKW1tQaGFzZVNpeENhcm9saW5lVHJ1dGgtJmd0O1BoYXNlU2l4Q2Fyb2xpbmVUcnV0aF1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4Q2xvY2tSb3V0ZS0mZ3Q7UGhhc2VTaXhDbG9ja1JvdXRlXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhDbG9ja1dyb25nLSZndDtQaGFzZVNpeENsb2NrV3JvbmddXSZsdDticiZndDsKW1tQaGFzZVNpeERlc2NlbnQtJmd0O1BoYXNlU2l4RGVzY2VudF1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4RXBpbG9ndWUtJmd0O1BoYXNlU2l4RXBpbG9ndWVdXSZsdDticiZndDsKW1tQaGFzZVNpeEZhbHNlUGFuZWwtJmd0O1BoYXNlU2l4RmFsc2VQYW5lbF1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4RmluYWxMb2NrLSZndDtQaGFzZVNpeEZpbmFsTG9ja11dJmx0O2JyJmd0OwpbW1BoYXNlU2l4Rm91cnRoTmFtZUVudHJ5LSZndDtQaGFzZVNpeEZvdXJ0aE5hbWVFbnRyeV1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4R3JlZW5BcmNoaXZlLSZndDtQaGFzZVNpeEdyZWVuQXJjaGl2ZV1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4SW5zcGVjdENoYWlycy0mZ3Q7UGhhc2VTaXhJbnNwZWN0Q2hhaXJzXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhJbnNwZWN0RHJhd2VyLSZndDtQaGFzZVNpeEluc3BlY3REcmF3ZXJdXSZsdDticiZndDsKW1tQaGFzZVNpeEluc3BlY3RNYXAtJmd0O1BoYXNlU2l4SW5zcGVjdE1hcF1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4TGFzdFdpdG5lc3MtJmd0O1BoYXNlU2l4TGFzdFdpdG5lc3NdXSZsdDticiZndDsKW1tQaGFzZVNpeExvY2stJmd0O1BoYXNlU2l4TG9ja11dJmx0O2JyJmd0OwpbW1BoYXNlU2l4TG9ja1BhcnRpYWwtJmd0O1BoYXNlU2l4TG9ja1BhcnRpYWxdXSZsdDticiZndDsKW1tQaGFzZVNpeExvY2tTb2x2ZWQtJmd0O1BoYXNlU2l4TG9ja1NvbHZlZF1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4TWlsZXN0b25lLSZndDtQaGFzZVNpeE1pbGVzdG9uZV1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4T3BlbmluZy0mZ3Q7UGhhc2VTaXhPcGVuaW5nXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhSZWFkUmluZ3MtJmd0O1BoYXNlU2l4UmVhZFJpbmdzXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhSZWNvcmQtJmd0O1BoYXNlU2l4UmVjb3JkXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhSZWluZm9yY2UtJmd0O1BoYXNlU2l4UmVpbmZvcmNlXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhSZXNvbHV0aW9uLSZndDtQaGFzZVNpeFJlc29sdXRpb25dXSZsdDticiZndDsKW1tQaGFzZVNpeFJlc3VsdHMtJmd0O1BoYXNlU2l4UmVzdWx0c11dJmx0O2JyJmd0OwpbW1BoYXNlU2l4Um91dGVXcm9uZy0mZ3Q7UGhhc2VTaXhSb3V0ZVdyb25nXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhTZWFsV3JvbmctJmd0O1BoYXNlU2l4U2VhbFdyb25nXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhUZXN0V2F0Y2gtJmd0O1BoYXNlU2l4VGVzdFdhdGNoXV0mbHQ7YnImZ3Q7CltbUGhhc2VTaXhUaHJlYWRKdW5jdGlvbi0mZ3Q7UGhhc2VTaXhUaHJlYWRKdW5jdGlvbl1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4VGhyZWFkU29sdmVkLSZndDtQaGFzZVNpeFRocmVhZFNvbHZlZF1dJmx0O2JyJmd0OwpbW1BoYXNlU2l4VGhyZWFkV3JvbmdQdXJwbGUtJmd0O1BoYXNlU2l4VGhyZWFkV3JvbmdQdXJwbGVdXSZsdDticiZndDsKW1tQaGFzZVNpeFRocmVhZFdyb25nUmVkLSZndDtQaGFzZVNpeFRocmVhZFdyb25nUmVkXV0mbHQ7YnImZ3Q7CltbUHJpbmNpcGFsIENhbGxzIHRvIEFtYXJhbC0mZ3Q7UHJpbmNpcGFsIENhbGxzIHRvIEFtYXJhbF1dJmx0O2JyJmd0OwpbW1ByaW5jaXBhbCBHaXZlcyB0aGUgV2FybmluZy0mZ3Q7UHJpbmNpcGFsIEdpdmVzIHRoZSBXYXJuaW5nXV0mbHQ7YnImZ3Q7CltbUHJpbmNpcGFsIFF1ZXN0aW9ucyBSeWFuLSZndDtQcmluY2lwYWwgUXVlc3Rpb25zIFJ5YW5dXSZsdDticiZndDsKW1tQcmluY2lwYWwgUXVlc3Rpb25zIHRoZSBIZWxtZXQtJmd0O1ByaW5jaXBhbCBRdWVzdGlvbnMgdGhlIEhlbG1ldF1dJmx0O2JyJmd0OwpbW1Byb3RlY3RLaXRjaGVuLSZndDtQcm90ZWN0S2l0Y2hlbl1dJmx0O2JyJmd0OwpbW1B1bGxzIEF3YXkgZnJvbSB0aGUgRG9vci0mZ3Q7UHVsbHMgQXdheSBmcm9tIHRoZSBEb29yXV0mbHQ7YnImZ3Q7CltbUHVycGxlQXJjaGl2ZUNvcnJlY3QtJmd0O1B1cnBsZUFyY2hpdmVDb3JyZWN0XV0mbHQ7YnImZ3Q7CltbUHVycGxlQXJjaGl2ZUVudHJhbmNlLSZndDtQdXJwbGVBcmNoaXZlRW50cmFuY2VdXSZsdDticiZndDsKW1tQdXJwbGVBcmNoaXZlV3JvbmctJmd0O1B1cnBsZUFyY2hpdmVXcm9uZ11dJmx0O2JyJmd0OwpbW1B1cnBsZUFzaHRvbkNhcmQtJmd0O1B1cnBsZUFzaHRvbkNhcmRdXSZsdDticiZndDsKW1tQdXJwbGVBc2tDYXJvbGluZS0mZ3Q7UHVycGxlQXNrQ2Fyb2xpbmVdXSZsdDticiZndDsKW1tQdXJwbGVDYXRhbG9nUHV6emxlLSZndDtQdXJwbGVDYXRhbG9nUHV6emxlXV0mbHQ7YnImZ3Q7CltbUHVycGxlQ2F0YWxvZ1NvbHZlZC0mZ3Q7UHVycGxlQ2F0YWxvZ1NvbHZlZF1dJmx0O2JyJmd0OwpbW1B1cnBsZUNhdGFsb2dXcm9uZy0mZ3Q7UHVycGxlQ2F0YWxvZ1dyb25nXV0mbHQ7YnImZ3Q7CltbUHVycGxlRGVza1NlYXJjaC0mZ3Q7UHVycGxlRGVza1NlYXJjaF1dJmx0O2JyJmd0OwpbW1B1cnBsZURlc3Ryb3lQYWdlLSZndDtQdXJwbGVEZXN0cm95UGFnZV1dJmx0O2JyJmd0OwpbW1B1cnBsZUZ1dHVyZUNhcmQtJmd0O1B1cnBsZUZ1dHVyZUNhcmRdXSZsdDticiZndDsKW1tQdXJwbGVLaW1teVBhZ2UtJmd0O1B1cnBsZUtpbW15UGFnZV1dJmx0O2JyJmd0OwpbW1B1cnBsZUxhc3RQYWdlLSZndDtQdXJwbGVMYXN0UGFnZV1dJmx0O2JyJmd0OwpbW1B1cnBsZUxlYWRFbmRpbmctJmd0O1B1cnBsZUxlYWRFbmRpbmddXSZsdDticiZndDsKW1tQdXJwbGVNb3ZpbmdTaGVsdmVzLSZndDtQdXJwbGVNb3ZpbmdTaGVsdmVzXV0mbHQ7YnImZ3Q7CltbUHVycGxlTmFtZUNvcmEtJmd0O1B1cnBsZU5hbWVDb3JhXV0mbHQ7YnImZ3Q7CltbUHVycGxlUmVhZGluZ1Jvb20tJmd0O1B1cnBsZVJlYWRpbmdSb29tXV0mbHQ7YnImZ3Q7CltbUHVycGxlUmVkQm9vay0mZ3Q7UHVycGxlUmVkQm9va11dJmx0O2JyJmd0OwpbW1B1cnBsZVJlc3RyaWN0ZWRTdGFja3MtJmd0O1B1cnBsZVJlc3RyaWN0ZWRTdGFja3NdXSZsdDticiZndDsKW1tQdXJwbGVTY29vdFBhZ2UtJmd0O1B1cnBsZVNjb290UGFnZV1dJmx0O2JyJmd0OwpbW1B1cnBsZVR5cGluZ0NhcmQtJmd0O1B1cnBsZVR5cGluZ0NhcmRdXSZsdDticiZndDsKW1tQdXJwbGVXYXRjaERvb3ItJmd0O1B1cnBsZVdhdGNoRG9vcl1dJmx0O2JyJmd0OwpbW1B1cnBsZVdyb25nQ29sb3ItJmd0O1B1cnBsZVdyb25nQ29sb3JdXSZsdDticiZndDsKW1tRdWVzdGlvbkFiYmllLSZndDtRdWVzdGlvbkFiYmllXV0mbHQ7YnImZ3Q7CltbUmFjZVRvV2luY2hlc3RlckhvdXNlLSZndDtSYWNlVG9XaW5jaGVzdGVySG91c2VdXSZsdDticiZndDsKW1tSZXNjdWVBZnRlcm1hdGgtJmd0O1Jlc2N1ZUFmdGVybWF0aF1dJmx0O2JyJmd0OwpbW1Jlc3RvcmVOYW1lc1NlYWwtJmd0O1Jlc3RvcmVOYW1lc1NlYWxdXSZsdDticiZndDsKW1tSZXN0b3JlTnVtYmVyU2VhbC0mZ3Q7UmVzdG9yZU51bWJlclNlYWxdXSZsdDticiZndDsKW1tSZXN0b3JlUmh5dGhtU2VhbC0mZ3Q7UmVzdG9yZVJoeXRobVNlYWxdXSZsdDticiZndDsKW1tSb21hbk51bWVyYWxDaG9pY2VzLSZndDtSb21hbk51bWVyYWxDaG9pY2VzXV0mbHQ7YnImZ3Q7CltbUm9tYW5OdW1lcmFsTG9jay0mZ3Q7Um9tYW5OdW1lcmFsTG9ja11dJmx0O2JyJmd0OwpbW1JvdXRlQ29uc2VxdWVuY2VSb3V0ZXItJmd0O1JvdXRlQ29uc2VxdWVuY2VSb3V0ZXJdXSZsdDticiZndDsKW1tSb3V0ZUVuZGluZ0FmdGVyc2hvY2stJmd0O1JvdXRlRW5kaW5nQWZ0ZXJzaG9ja11dJmx0O2JyJmd0OwpbW1JvdXRlSGlkZGVuUGFzc2FnZS0mZ3Q7Um91dGVIaWRkZW5QYXNzYWdlXV0mbHQ7YnImZ3Q7CltbUm91dGVPYWtUcmVlLSZndDtSb3V0ZU9ha1RyZWVdXSZsdDticiZndDsKW1tSb3V0ZVdpbmNoZXN0ZXItJmd0O1JvdXRlV2luY2hlc3Rlcl1dJmx0O2JyJmd0OwpbW1J1c2hUaGVTdGFpcnMtJmd0O1J1c2hUaGVTdGFpcnNdXSZsdDticiZndDsKW1tSeWFuIEFjY2VwdHMgdGhlIEZpbmFsIFJ1bGUtJmd0O1J5YW4gQWNjZXB0cyB0aGUgRmluYWwgUnVsZV1dJmx0O2JyJmd0OwpbW1J5YW4gQXBvbG9naXplcyBmb3IgdGhlIEFwcGxlLSZndDtSeWFuIEFwb2xvZ2l6ZXMgZm9yIHRoZSBBcHBsZV1dJmx0O2JyJmd0OwpbW1J5YW4gQXJyaXZlcyBpbiBTY29vdCBIb21lcm9vbS0mZ3Q7UnlhbiBBcnJpdmVzIGluIFNjb290IEhvbWVyb29tXV0mbHQ7YnImZ3Q7CltbUnlhbiBBc2tzIEFib3V0IEFtYXJhbC0mZ3Q7UnlhbiBBc2tzIEFib3V0IEFtYXJhbF1dJmx0O2JyJmd0OwpbW1J5YW4gQXNrcyBBYm91dCBQZXJtaXNzaW9uLSZndDtSeWFuIEFza3MgQWJvdXQgUGVybWlzc2lvbl1dJmx0O2JyJmd0OwpbW1J5YW4gQXNrcyBBYm91dCB0aGUgTG9hZGluZyBEb29yLSZndDtSeWFuIEFza3MgQWJvdXQgdGhlIExvYWRpbmcgRG9vcl1dJmx0O2JyJmd0OwpbW1J5YW4gQXNrcyBBYm91dCB0aGUgTWVzcy0mZ3Q7UnlhbiBBc2tzIEFib3V0IHRoZSBNZXNzXV0mbHQ7YnImZ3Q7CltbUnlhbiBDaGFwdGVyIFN1bW1hcnktJmd0O1J5YW4gQ2hhcHRlciBTdW1tYXJ5XV0mbHQ7YnImZ3Q7CltbUnlhbiBDaGVja3MgdGhlIE90aGVyIFN0dWRlbnQtJmd0O1J5YW4gQ2hlY2tzIHRoZSBPdGhlciBTdHVkZW50XV0mbHQ7YnImZ3Q7CltbUnlhbiBDb3JyZWN0cyBIaXMgTmFtZS0mZ3Q7UnlhbiBDb3JyZWN0cyBIaXMgTmFtZV1dJmx0O2JyJmd0OwpbW1J5YW4gRGVuaWVzIEV2ZXJ5dGhpbmctJmd0O1J5YW4gRGVuaWVzIEV2ZXJ5dGhpbmddXSZsdDticiZndDsKW1tSeWFuIEVudGVycyB0aGUgT2ZmaWNlLSZndDtSeWFuIEVudGVycyB0aGUgT2ZmaWNlXV0mbHQ7YnImZ3Q7CltbUnlhbiBFeGFtaW5lcyB0aGUgUHJpbmNpcGFsIERvb3ItJmd0O1J5YW4gRXhhbWluZXMgdGhlIFByaW5jaXBhbCBEb29yXV0mbHQ7YnImZ3Q7CltbUnlhbiBFeHBsYWlucyB0aGUgQmFjayBEb29yLSZndDtSeWFuIEV4cGxhaW5zIHRoZSBCYWNrIERvb3JdXSZsdDticiZndDsKW1tSeWFuIEV4cGxhaW5zIHRoZSBIZWxtZXQtJmd0O1J5YW4gRXhwbGFpbnMgdGhlIEhlbG1ldF1dJmx0O2JyJmd0OwpbW1J5YW4gRXhwbGFpbnMgdGhlIE9wZW4gRG9vci0mZ3Q7UnlhbiBFeHBsYWlucyB0aGUgT3BlbiBEb29yXV0mbHQ7YnImZ3Q7CltbUnlhbiBHaXZlcyB0aGUgU2hvcnQgQW5zd2VyLSZndDtSeWFuIEdpdmVzIHRoZSBTaG9ydCBBbnN3ZXJdXSZsdDticiZndDsKW1tSeWFuIEhvbGRzIEhpcyBQb3NpdGlvbi0mZ3Q7UnlhbiBIb2xkcyBIaXMgUG9zaXRpb25dXSZsdDticiZndDsKW1tSeWFuIElnbm9yZXMgdGhlIEZpbmFsIFJ1bGUtJmd0O1J5YW4gSWdub3JlcyB0aGUgRmluYWwgUnVsZV1dJmx0O2JyJmd0OwpbW1J5YW4gS2VlcHMgdGhlIEhlbG1ldCBPbi0mZ3Q7UnlhbiBLZWVwcyB0aGUgSGVsbWV0IE9uXV0mbHQ7YnImZ3Q7CltbUnlhbiBMZWF2ZXMgdGhlIE9mZmljZS0mZ3Q7UnlhbiBMZWF2ZXMgdGhlIE9mZmljZV1dJmx0O2JyJmd0OwpbW1J5YW4gTW92ZXMgSGlzIENoYWlyLSZndDtSeWFuIE1vdmVzIEhpcyBDaGFpcl1dJmx0O2JyJmd0OwpbW1J5YW4gT2ZmZXJzIEFtYXJhbCBIZWxwLSZndDtSeWFuIE9mZmVycyBBbWFyYWwgSGVscF1dJmx0O2JyJmd0OwpbW1J5YW4gT3BlbmluZy0mZ3Q7UnlhbiBPcGVuaW5nXV0mbHQ7YnImZ3Q7CltbUnlhbiBQcmV0ZW5kcyBOb3QgdG8gSGVhci0mZ3Q7UnlhbiBQcmV0ZW5kcyBOb3QgdG8gSGVhcl1dJmx0O2JyJmd0OwpbW1J5YW4gUXVlc3Rpb25zIEV2ZXJ5d2hlcmUtJmd0O1J5YW4gUXVlc3Rpb25zIEV2ZXJ5d2hlcmVdXSZsdDticiZndDsKW1tSeWFuIFF1ZXN0aW9ucyB0aGUgQ2VpbGluZy0mZ3Q7UnlhbiBRdWVzdGlvbnMgdGhlIENlaWxpbmddXSZsdDticiZndDsKW1tSeWFuIFF1ZXN0aW9ucyB0aGUgRmluYWwgUnVsZS0mZ3Q7UnlhbiBRdWVzdGlvbnMgdGhlIEZpbmFsIFJ1bGVdXSZsdDticiZndDsKW1tSeWFuIFF1ZXN0aW9ucyB0aGUgUGF1c2UtJmd0O1J5YW4gUXVlc3Rpb25zIHRoZSBQYXVzZV1dJmx0O2JyJmd0OwpbW1J5YW4gUmVjb25zdHJ1Y3RzIHRoZSBCYXRocm9vbSBWaXNpdC0mZ3Q7UnlhbiBSZWNvbnN0cnVjdHMgdGhlIEJhdGhyb29tIFZpc2l0XV0mbHQ7YnImZ3Q7CltbUnlhbiBSZW1vdmVzIHRoZSBIZWxtZXQtJmd0O1J5YW4gUmVtb3ZlcyB0aGUgSGVsbWV0XV0mbHQ7YnImZ3Q7CltbUnlhbiBSZXF1ZXN0cyBIZWxtZXQgUGVybWlzc2lvbi0mZ3Q7UnlhbiBSZXF1ZXN0cyBIZWxtZXQgUGVybWlzc2lvbl1dJmx0O2JyJmd0OwpbW1J5YW4gUmV0cmlldmVzIHRoZSBBcHBsZS0mZ3Q7UnlhbiBSZXRyaWV2ZXMgdGhlIEFwcGxlXV0mbHQ7YnImZ3Q7CltbUnlhbiBTaXRzIEJlZm9yZSB0aGUgS2luZy0mZ3Q7UnlhbiBTaXRzIEJlZm9yZSB0aGUgS2luZ11dJmx0O2JyJmd0OwpbW1J5YW4gU3R1ZGllcyBNciBBbWFyYWwtJmd0O1J5YW4gU3R1ZGllcyBNciBBbWFyYWxdXSZsdDticiZndDsKW1tSeWFuIFN0dWRpZXMgdGhlIFdhaXRpbmcgQXJlYS0mZ3Q7UnlhbiBTdHVkaWVzIHRoZSBXYWl0aW5nIEFyZWFdXSZsdDticiZndDsKW1tSeWFuIFRlc3RzIHRoZSBCb3VuZGFyeS0mZ3Q7UnlhbiBUZXN0cyB0aGUgQm91bmRhcnldXSZsdDticiZndDsKW1tSeWFuIFRlc3RzIHRoZSBPZmZpY2UgQ2hhaXItJmd0O1J5YW4gVGVzdHMgdGhlIE9mZmljZSBDaGFpcl1dJmx0O2JyJmd0OwpbW1J5YW4gV2FpdGluZyBBcmVhIEh1Yi0mZ3Q7UnlhbiBXYWl0aW5nIEFyZWEgSHViXV0mbHQ7YnImZ3Q7CltbUnlhbiBXYXRjaGVzIHRoZSBBcHBsZS0mZ3Q7UnlhbiBXYXRjaGVzIHRoZSBBcHBsZV1dJmx0O2JyJmd0OwpbW1J5YW4gV2F0Y2hlcyB0aGUgUHJpbmNpcGFsIFJlYWN0LSZndDtSeWFuIFdhdGNoZXMgdGhlIFByaW5jaXBhbCBSZWFjdF1dJmx0O2JyJmd0OwpbW1J5YW4gV2F0Y2hlcyB0aGUgU2VjcmV0YXJ5LSZndDtSeWFuIFdhdGNoZXMgdGhlIFNlY3JldGFyeV1dJmx0O2JyJmd0OwpbW1J5YW5DbHVlUGF5b2ZmLSZndDtSeWFuQ2x1ZVBheW9mZl1dJmx0O2JyJmd0OwpbW1J5YW5UaHJlc2hvbGRUZXN0LSZndDtSeWFuVGhyZXNob2xkVGVzdF1dJmx0O2JyJmd0OwpbW1Njb290IEFuc3dlcnMgdGhlIE5vdGVib29rLSZndDtTY29vdCBBbnN3ZXJzIHRoZSBOb3RlYm9va11dJmx0O2JyJmd0OwpbW1Njb290IEFza3MgQWJvdXQgUnlhbiBTaG9lLSZndDtTY29vdCBBc2tzIEFib3V0IFJ5YW4gU2hvZV1dJmx0O2JyJmd0OwpbW1Njb290IEFza3MgUnlhbiBmb3IgRXZpZGVuY2UtJmd0O1Njb290IEFza3MgUnlhbiBmb3IgRXZpZGVuY2VdXSZsdDticiZndDsKW1tTY29vdCBCbG9ja3MgdGhlIEhpZGRlbiBEb29yLSZndDtTY29vdCBCbG9ja3MgdGhlIEhpZGRlbiBEb29yXV0mbHQ7YnImZ3Q7CltbU2Nvb3QgQ2hhcHRlciA1IFN1bW1hcnktJmd0O1Njb290IENoYXB0ZXIgNSBTdW1tYXJ5XV0mbHQ7YnImZ3Q7CltbU2Nvb3QgQ29uZmlybXMgdGhlIFNoYXJlZCBSZWZsZWN0aW9uLSZndDtTY29vdCBDb25maXJtcyB0aGUgU2hhcmVkIFJlZmxlY3Rpb25dXSZsdDticiZndDsKW1tTY29vdCBIaWRlcyB0aGUgTXlzdGVyeSBmcm9tIFJ5YW4tJmd0O1Njb290IEhpZGVzIHRoZSBNeXN0ZXJ5IGZyb20gUnlhbl1dJmx0O2JyJmd0OwpbW1Njb290IEhpZGVzIHRoZSBOb3RlYm9vay0mZ3Q7U2Nvb3QgSGlkZXMgdGhlIE5vdGVib29rXV0mbHQ7YnImZ3Q7CltbU2Nvb3QgSG9tZXJvb20gQXR0ZW5kYW5jZS0mZ3Q7U2Nvb3QgSG9tZXJvb20gQXR0ZW5kYW5jZV1dJmx0O2JyJmd0OwpbW1Njb290IElnbm9yZXMgdGhlIFNoYWRvdy0mZ3Q7U2Nvb3QgSWdub3JlcyB0aGUgU2hhZG93XV0mbHQ7YnImZ3Q7CltbU2Nvb3QgTW92ZXMgdGhlIERlc2stJmd0O1Njb290IE1vdmVzIHRoZSBEZXNrXV0mbHQ7YnImZ3Q7CltbU2Nvb3QgT3BlbmluZy0mZ3Q7U2Nvb3QgT3BlbmluZ11dJmx0O2JyJmd0OwpbW1Njb290IE9wZW5zIHRoZSBQb2V0cnkgTm90ZWJvb2stJmd0O1Njb290IE9wZW5zIHRoZSBQb2V0cnkgTm90ZWJvb2tdXSZsdDticiZndDsKW1tTY29vdCBRdWVzdGlvbnMgTHVjaWxsZSBBdHRlbmRhbmNlLSZndDtTY29vdCBRdWVzdGlvbnMgTHVjaWxsZSBBdHRlbmRhbmNlXV0mbHQ7YnImZ3Q7CltbU2Nvb3QgUXVlc3Rpb25zIHRoZSBTY2hlZHVsZSBDaGFuZ2UtJmd0O1Njb290IFF1ZXN0aW9ucyB0aGUgU2NoZWR1bGUgQ2hhbmdlXV0mbHQ7YnImZ3Q7CltbU2Nvb3QgUmVjb3JkcyBMdWNpbGxlIEF0dGVuZGFuY2UtJmd0O1Njb290IFJlY29yZHMgTHVjaWxsZSBBdHRlbmRhbmNlXV0mbHQ7YnImZ3Q7CltbU2Nvb3QgUmVjb3JkcyB0aGUgRm91ciBSZWZsZWN0aW9ucy0mZ3Q7U2Nvb3QgUmVjb3JkcyB0aGUgRm91ciBSZWZsZWN0aW9uc11dJmx0O2JyJmd0OwpbW1Njb290IFJvdGF0ZXMgdGhlIE5vdGVib29rLSZndDtTY29vdCBSb3RhdGVzIHRoZSBOb3RlYm9va11dJmx0O2JyJmd0OwpbW1Njb290IFNlZXMgRm91ciBSZWZsZWN0aW9ucy0mZ3Q7U2Nvb3QgU2VlcyBGb3VyIFJlZmxlY3Rpb25zXV0mbHQ7YnImZ3Q7CltbU2Nvb3QgU2VlcyB0aGUgRmlmdGggRmlndXJlLSZndDtTY29vdCBTZWVzIHRoZSBGaWZ0aCBGaWd1cmVdXSZsdDticiZndDsKW1tTY29vdCBTaG93cyBSeWFuIHRoZSBOb3RlYm9vay0mZ3Q7U2Nvb3QgU2hvd3MgUnlhbiB0aGUgTm90ZWJvb2tdXSZsdDticiZndDsKW1tTY29vdCBUZWxscyBSeWFuIEFib3V0IHRoZSBTaGFkb3ctJmd0O1Njb290IFRlbGxzIFJ5YW4gQWJvdXQgdGhlIFNoYWRvd11dJmx0O2JyJmd0OwpbW1Njb290IFRlc3RzIHRoZSBDbGFzc3Jvb20gTGlnaHQtJmd0O1Njb290IFRlc3RzIHRoZSBDbGFzc3Jvb20gTGlnaHRdXSZsdDticiZndDsKW1tTY29vdCBVc2VzIFJ5YW4gQm91bmRhcnkgUnVsZS0mZ3Q7U2Nvb3QgVXNlcyBSeWFuIEJvdW5kYXJ5IFJ1bGVdXSZsdDticiZndDsKW1tTY29vdCBVc2VzIHRoZSBOb3RlYm9vayBIZXhhZm9pbC0mZ3Q7U2Nvb3QgVXNlcyB0aGUgTm90ZWJvb2sgSGV4YWZvaWxdXSZsdDticiZndDsKW1tTY29vdCBXYXRjaGVzIHRoZSBDbGFzc3Jvb20gRG9vci0mZ3Q7U2Nvb3QgV2F0Y2hlcyB0aGUgQ2xhc3Nyb29tIERvb3JdXSZsdDticiZndDsKW1tTY29vdCBhbmQgUnlhbiBFbnRlciB0aGUgSGFsbHdheS0mZ3Q7U2Nvb3QgYW5kIFJ5YW4gRW50ZXIgdGhlIEhhbGx3YXldXSZsdDticiZndDsKW1tTY29vdCBhbmQgUnlhbiBGb2xsb3cgdGhlIEpvaW5lZCBTaGFkb3dzLSZndDtTY29vdCBhbmQgUnlhbiBGb2xsb3cgdGhlIEpvaW5lZCBTaGFkb3dzXV0mbHQ7YnImZ3Q7CltbU2Nvb3QgYW5kIFJ5YW4gU3RvcCB0aGUgVHJhaWwtJmd0O1Njb290IGFuZCBSeWFuIFN0b3AgdGhlIFRyYWlsXV0mbHQ7YnImZ3Q7CltbU2Nvb3QgYW5kIFJ5YW4gV2F0Y2ggdGhlIFRyYWlsLSZndDtTY29vdCBhbmQgUnlhbiBXYXRjaCB0aGUgVHJhaWxdXSZsdDticiZndDsKW1tTY29vdENsdWVQYXlvZmYtJmd0O1Njb290Q2x1ZVBheW9mZl1dJmx0O2JyJmd0OwpbW1Njb290UG9lbVBhdHRlcm4tJmd0O1Njb290UG9lbVBhdHRlcm5dXSZsdDticiZndDsKW1tTZWFsQmxhbmtTdGVwLSZndDtTZWFsQmxhbmtTdGVwXV0mbHQ7YnImZ3Q7CltbU2VhcmNoIGZvciB0aGUgTWlzc2luZyBQaG90b2dyYXBoLSZndDtTZWFyY2ggZm9yIHRoZSBNaXNzaW5nIFBob3RvZ3JhcGhdXSZsdDticiZndDsKW1tTZWNyZXRhcnkgQ2FsbHMgUnlhbi0mZ3Q7U2VjcmV0YXJ5IENhbGxzIFJ5YW5dXSZsdDticiZndDsKW1tTcGVha0x1Y2lsbGVEb29yLSZndDtTcGVha0x1Y2lsbGVEb29yXV0mbHQ7YnImZ3Q7CltbU3RhaXJTZXF1ZW5jZUxvY2stJmd0O1N0YWlyU2VxdWVuY2VMb2NrXV0mbHQ7YnImZ3Q7CltbU3RhcnQtJmd0O1N0YXJ0XV0mbHQ7YnImZ3Q7CltbU3RvcnlDYXB0aW9uLSZndDtTdG9yeUNhcHRpb25dXSZsdDticiZndDsKW1tTdG9yeUluaXQtJmd0O1N0b3J5SW5pdF1dJmx0O2JyJmd0OwpbW1N0b3J5TWVudS0mZ3Q7U3RvcnlNZW51XV0mbHQ7YnImZ3Q7CltbVGFrZUNhdEJvb2stJmd0O1Rha2VDYXRCb29rXV0mbHQ7YnImZ3Q7CltbVGFrZU9yaWdpbmFsUGhvdG8tJmd0O1Rha2VPcmlnaW5hbFBob3RvXV0mbHQ7YnImZ3Q7CltbVGFrZVVwc3RhaXJzUmVnaXN0cnktJmd0O1Rha2VVcHN0YWlyc1JlZ2lzdHJ5XV0mbHQ7YnImZ3Q7CltbVGhlIEJhdGhyb29tIEFjY3VzYXRpb24tJmd0O1RoZSBCYXRocm9vbSBBY2N1c2F0aW9uXV0mbHQ7YnImZ3Q7CltbVGhlIENhdCBSdW5zIHRvIHRoZSBUcmVlLSZndDtUaGUgQ2F0IFJ1bnMgdG8gdGhlIFRyZWVdXSZsdDticiZndDsKW1tUaGUgRXNjYXBlZCBBcHBsZS0mZ3Q7VGhlIEVzY2FwZWQgQXBwbGVdXSZsdDticiZndDsKW1tUaGUgRmllbGQgQmVzaWRlIHRoZSBIb3VzZS0mZ3Q7VGhlIEZpZWxkIEJlc2lkZSB0aGUgSG91c2VdXSZsdDticiZndDsKW1tUaGUgRm91ciBJbnZlc3RpZ2F0b3JzIE1lZXQtJmd0O1RoZSBGb3VyIEludmVzdGlnYXRvcnMgTWVldF1dJmx0O2JyJmd0OwpbW1RoZSBIYWxsd2F5IENyYXNoLSZndDtUaGUgSGFsbHdheSBDcmFzaF1dJmx0O2JyJmd0OwpbW1RoZSBLaXRjaGVuIENsb2NrIFN0b3BzLSZndDtUaGUgS2l0Y2hlbiBDbG9jayBTdG9wc11dJmx0O2JyJmd0OwpbW1RoZSBNaWRkbGUgU2Nob29sIFRyYWZmaWMtJmd0O1RoZSBNaWRkbGUgU2Nob29sIFRyYWZmaWNdXSZsdDticiZndDsKW1tUaGUgTnVyc2UgSXMgU3VtbW9uZWQtJmd0O1RoZSBOdXJzZSBJcyBTdW1tb25lZF1dJmx0O2JyJmd0OwpbW1RoZSBPcmFuZ2UgQ2F0IEFwcGVhcnMtJmd0O1RoZSBPcmFuZ2UgQ2F0IEFwcGVhcnNdXSZsdDticiZndDsKW1tUaGUgU2VjcmV0YXJ5IEZpbmFsIFdhcm5pbmctJmd0O1RoZSBTZWNyZXRhcnkgRmluYWwgV2FybmluZ11dJmx0O2JyJmd0OwpbW1RoZSBTZWNyZXRhcnkgUG9pbnRzLSZndDtUaGUgU2VjcmV0YXJ5IFBvaW50c11dJmx0O2JyJmd0OwpbW1RoZSBTaWRld2FsayBDcmFja3MtJmd0O1RoZSBTaWRld2FsayBDcmFja3NdXSZsdDticiZndDsKW1tUaGUgU3RhaXJjYXNlIENvdW50ZG93bi0mZ3Q7VGhlIFN0YWlyY2FzZSBDb3VudGRvd25dXSZsdDticiZndDsKW1tUaGUgV2V0IEZvb3RwcmludC0mZ3Q7VGhlIFdldCBGb290cHJpbnRdXSZsdDticiZndDsKW1tVbmRlclN0YWlyUGFzc2FnZS0mZ3Q7VW5kZXJTdGFpclBhc3NhZ2VdXSZsdDticiZndDsKW1tVcHN0YWlyc0FiYmllUm9vbS0mZ3Q7VXBzdGFpcnNBYmJpZVJvb21dXSZsdDticiZndDsKW1tVcHN0YWlyc0ZhbHNlQWJiaWUtJmd0O1Vwc3RhaXJzRmFsc2VBYmJpZV1dJmx0O2JyJmd0OwpbW1Vwc3RhaXJzS2V2aW5Sb29tLSZndDtVcHN0YWlyc0tldmluUm9vbV1dJmx0O2JyJmd0OwpbW1Vwc3RhaXJzTGFuZGluZ0h1Yi0mZ3Q7VXBzdGFpcnNMYW5kaW5nSHViXV0mbHQ7YnImZ3Q7CltbVXBzdGFpcnNNZW1vcnlSb29tLSZndDtVcHN0YWlyc01lbW9yeVJvb21dXSZsdDticiZndDsKW1tVcHN0YWlyc1Bob3RvV2FsbC0mZ3Q7VXBzdGFpcnNQaG90b1dhbGxdXSZsdDticiZndDsKW1tVcHN0YWlyc1Vua25vd25Eb29yLSZndDtVcHN0YWlyc1Vua25vd25Eb29yXV0mbHQ7YnImZ3Q7CltbVXNlT25lRG9vci0mZ3Q7VXNlT25lRG9vcl1dJmx0O2JyJmd0OyZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MDUiIG5hbWU9IkRldlZpc2l0TG9nIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIxNTAwLDE1MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiZsdDtoMSZndDtWaXNpdCBMb2cmbHQ7L2gxJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7VW5pcXVlIHBhc3NhZ2VzIHZpc2l0ZWQ6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSAkZGV2VmlzaXRlZC5sZW5ndGgmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7Jmx0O2lmICRkZXZWaXNpdGVkLmxlbmd0aCZndDsmZ3Q7Jmx0O29sJmd0OyZsdDsmbHQ7Zm9yIF9kZXZOYW1lIHJhbmdlICRkZXZWaXNpdGVkJmd0OyZndDsmbHQ7bGkmZ3Q7Jmx0OyZsdDtwcmludCBfZGV2TmFtZSZndDsmZ3Q7OiAmbHQ7Jmx0O3ByaW50ICRkZXZWaXNpdENvdW50c1tfZGV2TmFtZV0gfHwgMCZndDsmZ3Q7IHZpc2l0KHMpJmx0Oy9saSZndDsmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OyZsdDsvb2wmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtObyBwYXNzYWdlcyBsb2dnZWQuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIGRhc2hib2FyZC0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTA2IiBuYW1lPSJEZXZTdGF0ZUV4cG9ydCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iMTUwMCwxNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OwombHQ7aDEmZ3Q7U3RhdGUgU3VtbWFyeSZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7Q29weSB0aGlzIGJsb2NrIHdoZW4gcmVwb3J0aW5nIGEgcm91dGUgb3Igc2F2ZSBwcm9ibGVtLiZsdDsvcCZndDsmbHQ7dGV4dGFyZWEgcm93cz0mcXVvdDsyMiZxdW90OyBzdHlsZT0mcXVvdDt3aWR0aDoxMDAlO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTsmcXVvdDsmZ3Q7UGFzc2FnZTogJmx0OyZsdDs9IFN0YXRlLnBhc3NhZ2UmZ3Q7Jmd0OwpQT1Y6ICZsdDsmbHQ7PSAkcG92IHx8ICZxdW90OyZxdW90OyZndDsmZ3Q7CkNoYXB0ZXI6ICZsdDsmbHQ7PSAkY2hhcHRlciB8fCAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwpMb2NhdGlvbjogJmx0OyZsdDs9ICRsb2NhdGlvbiB8fCAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwpPYmplY3RpdmU6ICZsdDsmbHQ7PSAkb2JqZWN0aXZlIHx8ICZxdW90OyZxdW90OyZndDsmZ3Q7ClJvdXRlOiAmbHQ7Jmx0Oz0gJGludmVzdGlnYXRpb25Sb3V0ZSB8fCAmcXVvdDsmcXVvdDsmZ3Q7Jmd0OwpDbHVlczogJmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KCRwbGF5ZXJDbHVlcyB8fCBbXSkmZ3Q7Jmd0OwpLbm93bGVkZ2U6ICZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeSgka25vd2xlZGdlIHx8IHt9KSZndDsmZ3Q7ClJlbGF0aW9uc2hpcHM6ICZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeSgkcmVsYXRpb25zaGlwcyB8fCB7fSkmZ3Q7Jmd0OwpJbnZlbnRvcnk6ICZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeSgkaW52ZW50b3J5IHx8IFtdKSZndDsmZ3Q7CkJhZGdlczogJmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KCRlYXJuZWRCYWRnZUlkcyB8fCBbXSkmZ3Q7Jmd0OwpWaXNpdHM6ICZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeSgkZGV2VmlzaXRDb3VudHMgfHwge30pJmd0OyZndDsmbHQ7L3RleHRhcmVhJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gZGFzaGJvYXJkLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OwombHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MDciIG5hbWU9IlY0UnVudGltZUNoZWNrbGlzdCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iMTYwMCwxNjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtWNCBSdW50aW1lIFRlc3QgQ2hlY2tsaXN0Jmx0Oy9oMSZndDsmbHQ7cCZndDtJdGVtcyBhcmUgc3RvcmVkIGZvciB0aGUgY3VycmVudCBicm93c2VyIHNlc3Npb24gb25seSBhbmQgYXJlIG5vdCBwYXJ0IG9mIHBsYXllciBwcm9ncmVzcy4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NC1jaGVjay1yb3cmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtmcmVzaCZxdW90O10mZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7UEFTUyZsdDsvc3BhbiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7T1BFTiZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtGcmVzaCBzdGFydCByZWFjaGVzIHRoZSBvcGVuaW5nIHdpdGhvdXQgZXJyb3JzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtmcmVzaCZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7ZnJlc2gmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O21lbnUmcXVvdDtdJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O1BBU1MmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O09QRU4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3RvcnkgbWVudSwgdGl0bGUsIGFuZCBiYWNrIG5hdmlnYXRpb24gd29yayZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7bWVudSZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7bWVudSZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWNFJ1bnRpbWVDaGVja2xpc3QmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQtY2hlY2stcm93JnF1b3Q7Jmd0OyZsdDsmbHQ7aWYgc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7a2V2aW4mcXVvdDtdJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O1BBU1MmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O09QRU4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7S2V2aW4gcm91dGUgY29tcGxldGVkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtrZXZpbiZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7a2V2aW4mcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3J5YW4mcXVvdDtdJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O1BBU1MmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O09QRU4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7UnlhbiByb3V0ZSBjb21wbGV0ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3J5YW4mcXVvdDtdID0gIXNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3J5YW4mcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O2tpbW15JnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O0tpbW15IHJvdXRlIGNvbXBsZXRlZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7a2ltbXkmcXVvdDtdID0gIXNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O2tpbW15JnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0UnVudGltZUNoZWNrbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NC1jaGVjay1yb3cmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtzY29vdCZxdW90O10mZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7UEFTUyZsdDsvc3BhbiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7T1BFTiZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtTY29vdCByb3V0ZSBjb21wbGV0ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3Njb290JnF1b3Q7XSA9ICFzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtzY29vdCZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWNFJ1bnRpbWVDaGVja2xpc3QmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQtY2hlY2stcm93JnF1b3Q7Jmd0OyZsdDsmbHQ7aWYgc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7cG92JnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O0FsbCBQT1YgdHJhbnNpdGlvbnMgcHJlc2VydmUgY29ycmVjdCBvYmplY3RpdmUvbG9jYXRpb24mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3BvdiZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7cG92JnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0UnVudGltZUNoZWNrbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NC1jaGVjay1yb3cmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtwdXp6bGVzJnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O0FsbCBwdXp6bGUgc3VjY2VzcyBhbmQgZmFpbHVyZSBwYXRocyB0ZXN0ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3B1enpsZXMmcXVvdDtdID0gIXNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3B1enpsZXMmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O2RlZHVjdGlvbiZxdW90O10mZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7UEFTUyZsdDsvc3BhbiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7T1BFTiZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtBbGwgZGVkdWN0aW9uIHJlc3VsdHMgdGVzdGVkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtkZWR1Y3Rpb24mcXVvdDtdID0gIXNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O2RlZHVjdGlvbiZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWNFJ1bnRpbWVDaGVja2xpc3QmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQtY2hlY2stcm93JnF1b3Q7Jmd0OyZsdDsmbHQ7aWYgc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7cmVzY3VlJnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O1Jlc2N1ZSBzZXF1ZW5jZSB0ZXN0ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3Jlc2N1ZSZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7cmVzY3VlJnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0UnVudGltZUNoZWNrbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NC1jaGVjay1yb3cmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtlbmRpbmcmcXVvdDtdJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O1BBU1MmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O09QRU4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q3VycmVudCBlbmRpbmcvc3RvcHBpbmcgcG9pbnQgcmVhY2hlZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7ZW5kaW5nJnF1b3Q7XSA9ICFzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtlbmRpbmcmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3NhdmUxJnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O1NhdmUvbG9hZCBiZWZvcmUgYSBQT1YgdHJhbnNpdGlvbiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7c2F2ZTEmcXVvdDtdID0gIXNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3NhdmUxJnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0UnVudGltZUNoZWNrbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NC1jaGVjay1yb3cmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtzYXZlMiZxdW90O10mZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7UEFTUyZsdDsvc3BhbiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7T1BFTiZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtTYXZlL2xvYWQgZHVyaW5nIGEgcHV6emxlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtzYXZlMiZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7c2F2ZTImcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3NhdmUzJnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O1NhdmUvbG9hZCBhZnRlciBjbHVlIGFjcXVpc2l0aW9uJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtzYXZlMyZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7c2F2ZTMmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3NhdmU0JnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O1NhdmUvbG9hZCBhZnRlciByb3V0ZSBjb21taXRtZW50JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtzYXZlNCZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7c2F2ZTQmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3NhdmU1JnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O1NhdmUvbG9hZCBhZnRlciBiYWRnZSBhd2FyZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7c2F2ZTUmcXVvdDtdID0gIXNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3NhdmU1JnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0UnVudGltZUNoZWNrbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NC1jaGVjay1yb3cmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtyZXZpc2l0JnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O1JldmlzaXRlZCBzY29yZWQgY2hvaWNlcyBkbyBub3QgYXdhcmQgdHdpY2UmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3JldmlzaXQmcXVvdDtdID0gIXNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3JldmlzaXQmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3JlZnJlc2gmcXVvdDtdJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O1BBU1MmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O09QRU4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVmcmVzaCBsb2NrcyBTdGFmZiBUb29scyBhbmQgcHJlc2VydmVzIHN0b3J5IHNhdmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3JlZnJlc2gmcXVvdDtdID0gIXNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3JlZnJlc2gmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O21vYmlsZSZxdW90O10mZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7UEFTUyZsdDsvc3BhbiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7T1BFTiZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtNb2JpbGUgbGF5b3V0IGFuZCBtZW51IHRlc3RlZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7bW9iaWxlJnF1b3Q7XSA9ICFzZXR1cC52NENoZWNrbGlzdFsmcXVvdDttb2JpbGUmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O2NvbnNvbGUmcXVvdDtdJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O1BBU1MmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O09QRU4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7Tm8gYnJvd3Nlci1jb25zb2xlIGVycm9ycyBkdXJpbmcgdGVzdGVkIHJvdXRlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtjb25zb2xlJnF1b3Q7XSA9ICFzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtjb25zb2xlJnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0UnVudGltZUNoZWNrbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NC1jaGVjay1yb3cmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtyZXN0YXJ0UHJlc2VydmUmcXVvdDtdJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O1BBU1MmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O09QRU4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzdGFydCBwcmVzZXJ2ZXMgZGV0ZWN0ZWQgcHJvZmlsZSBzdGF0ZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7cmVzdGFydFByZXNlcnZlJnF1b3Q7XSA9ICFzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtyZXN0YXJ0UHJlc2VydmUmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O2ZhY3RvcnlSZXNldCZxdW90O10mZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7UEFTUyZsdDsvc3BhbiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7T1BFTiZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtGYWN0b3J5IHJlc2V0IGNsZWFycyBzYXZlcyBhbmQgc3Rvcnkgc3RhdGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O2ZhY3RvcnlSZXNldCZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7ZmFjdG9yeVJlc2V0JnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0UnVudGltZUNoZWNrbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NC1jaGVjay1yb3cmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtib3VuZGFyeU1hcCZxdW90O10mZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7UEFTUyZsdDsvc3BhbiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7T1BFTiZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtBbGwgY2hhcHRlciBlbnRyeSBjaGVja3BvaW50cyB3ZXJlIHZpc2l0ZWQgYW5kIGNhcHR1cmVkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtib3VuZGFyeU1hcCZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7Ym91bmRhcnlNYXAmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjRSdW50aW1lQ2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0LWNoZWNrLXJvdyZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O2NoZWNrcG9pbnRSZXN0b3JlJnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O1ZhbGlkYXRlZCBjaGFwdGVyIGNoZWNrcG9pbnQgcmVzdG9yZXMgZXhhY3QgYm91bmRhcnkgc3RhdGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O2NoZWNrcG9pbnRSZXN0b3JlJnF1b3Q7XSA9ICFzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtjaGVja3BvaW50UmVzdG9yZSZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWNFJ1bnRpbWVDaGVja2xpc3QmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQtY2hlY2stcm93JnF1b3Q7Jmd0OyZsdDsmbHQ7aWYgc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7dGVzdEp1bXBTYWZlJnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O1N0YWZmIHRlc3QganVtcHMgZG8gbm90IG92ZXJ3cml0ZSB2YWxpZGF0ZWQgY2hlY2twb2ludHMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O3Rlc3RKdW1wU2FmZSZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7dGVzdEp1bXBTYWZlJnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0UnVudGltZUNoZWNrbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NC1jaGVjay1yb3cmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtlcGlzb2RlUmVzdG9yZSZxdW90O10mZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7UEFTUyZsdDsvc3BhbiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7T1BFTiZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtWYWxpZGF0ZWQgZXBpc29kZSBjaGVja3BvaW50IHJlc3RvcmVzIGNvcnJlY3Qgb3BlbmluZyBzdGF0ZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7ZXBpc29kZVJlc3RvcmUmcXVvdDtdID0gIXNldHVwLnY0Q2hlY2tsaXN0WyZxdW90O2VwaXNvZGVSZXN0b3JlJnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0UnVudGltZUNoZWNrbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NC1jaGVjay1yb3cmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC52NENoZWNrbGlzdFsmcXVvdDtjaGVja3BvaW50SW50ZWdyaXR5JnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O0FsbCBhdmFpbGFibGUgY2hlY2twb2ludHMgcGFzcyBpbnRlZ3JpdHkgdmFsaWRhdGlvbiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7Y2hlY2twb2ludEludGVncml0eSZxdW90O10gPSAhc2V0dXAudjRDaGVja2xpc3RbJnF1b3Q7Y2hlY2twb2ludEludGVncml0eSZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWNFJ1bnRpbWVDaGVja2xpc3QmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0NsZWFyIGNoZWNrbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjRDaGVja2xpc3QgPSB7fSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0UnVudGltZUNoZWNrbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7IFtbU2F2ZS9zdGF0ZSBkaWFnbm9zdGljcy0mZ3Q7VjRTdGF0ZURpYWdub3N0aWNzXV0gW1tSZXR1cm4gdG8gZGFzaGJvYXJkLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUwOCIgbmFtZT0iVjRTdGF0ZURpYWdub3N0aWNzIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIxNjAwLDE2MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O1Y0IFNhdmUgYW5kIFN0YXRlIERpYWdub3N0aWNzJmx0Oy9oMSZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1Bhc3NhZ2U6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBTdGF0ZS5wYXNzYWdlJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtIaXN0b3J5IG1vbWVudHM6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBTdGF0ZS5sZW5ndGgmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O09uZS10aW1lIGF3YXJkcyByZWNvcmRlZDombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9ICRzdGFiaWxpemF0aW9uQXdhcmRzLmxlbmd0aCZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Q2x1ZXM6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSAoJHBsYXllckNsdWVzIHx8IFtdKS5sZW5ndGgmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0ludmVudG9yeSBlbnRyaWVzOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gKCRpbnZlbnRvcnkgfHwgW10pLmxlbmd0aCZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7QmFkZ2VzOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gKCRlYXJuZWRCYWRnZUlkcyB8fCBbXSkubGVuZ3RoJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtSb3V0ZTombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9ICRpbnZlc3RpZ2F0aW9uUm91dGUgfHwgJnF1b3Q7Tm90IGNvbW1pdHRlZCZxdW90OyZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7UE9WIC8gY2hhcHRlcjombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9ICgkcG92IHx8ICZxdW90O05vdCBzZXQmcXVvdDspICsgJnF1b3Q7IC8gJnF1b3Q7ICsgKCRjaGFwdGVyIHx8ICZxdW90O05vdCBzZXQmcXVvdDspJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O3AgY2xhc3M9JnF1b3Q7djQtbm90ZSZxdW90OyZndDtVc2UgdGhlIG5vcm1hbCBTYXZlIGludGVyZmFjZSwgcmVsb2FkIHRoaXMgcGFnZSwgdGhlbiByZXR1cm4gaGVyZSBhbmQgY29tcGFyZSB0aGVzZSB2YWx1ZXMuIFN0YWZmIGFjY2VzcyB3aWxsIGxvY2sgYWZ0ZXIgcmVmcmVzaCBieSBkZXNpZ24uJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSdW50aW1lIGNoZWNrbGlzdC0mZ3Q7VjRSdW50aW1lQ2hlY2tsaXN0XV0KW1tDYXB0dXJlIHNhdmUtc3RhdGUgc25hcHNob3QtJmd0O1Y0MVNuYXBzaG90Q2FwdHVyZV1dCltbQ29tcGFyZSBzYXZlLXN0YXRlIHNuYXBzaG90LSZndDtWNDFTbmFwc2hvdENvbXBhcmVdXSBbW1N0YXRlIHN1bW1hcnktJmd0O0RldlN0YXRlRXhwb3J0XV0gW1tSZXR1cm4gdG8gZGFzaGJvYXJkLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUwOSIgbmFtZT0iVjQxU25hcHNob3RDYXB0dXJlIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIxNzAwLDE3MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiZsdDtoMSZndDtDYXB0dXJlIFNhdmUtU3RhdGUgU25hcHNob3QmbHQ7L2gxJmd0OwombHQ7cCZndDtUaGlzIHJlY29yZHMgdGhlIGN1cnJlbnQgc3Rvcnkgc3RhdGUgaW4gYnJvd3NlciBzdG9yYWdlIGZvciBzdGFmZiBjb21wYXJpc29uIGFmdGVyIGEgc2F2ZSwgbG9hZCwgb3IgcmVmcmVzaC4mbHQ7L3AmZ3Q7CiZsdDt1bCZndDsmbHQ7bGkmZ3Q7UGFzc2FnZTogJmx0OyZsdDs9IFN0YXRlLnBhc3NhZ2UmZ3Q7Jmd0OyZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O1BPVjogJmx0OyZsdDs9ICRwb3YgfHwgJnF1b3Q7Tm90IHNldCZxdW90OyZndDsmZ3Q7Jmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Q2hhcHRlcjogJmx0OyZsdDs9ICRjaGFwdGVyIHx8ICZxdW90O05vdCBzZXQmcXVvdDsmZ3Q7Jmd0OyZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O0NsdWVzOiAmbHQ7Jmx0Oz0gKCRwbGF5ZXJDbHVlcyB8fCBbXSkubGVuZ3RoJmd0OyZndDsmbHQ7L2xpJmd0OyZsdDtsaSZndDtCYWRnZXM6ICZsdDsmbHQ7PSAoJGVhcm5lZEJhZGdlSWRzIHx8IFtdKS5sZW5ndGgmZ3Q7Jmd0OyZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O09uZS10aW1lIGF3YXJkczogJmx0OyZsdDs9ICgkc3RhYmlsaXphdGlvbkF3YXJkcyB8fCBbXSkubGVuZ3RoJmd0OyZndDsmbHQ7L2xpJmd0OyZsdDsvdWwmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0NhcHR1cmUgQ3VycmVudCBTdGF0ZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQxQ2FwdHVyZVNuYXBzaG90KCkmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWNDFTbmFwc2hvdENvbXBhcmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyBbW0NvbXBhcmUgZXhpc3Rpbmcgc25hcHNob3QtJmd0O1Y0MVNuYXBzaG90Q29tcGFyZV1dIFtbUmV0dXJuIHRvIGRhc2hib2FyZC0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTEwIiBuYW1lPSJWNDFTbmFwc2hvdENvbXBhcmUiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjE3MDAsMTcwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsKJmx0OyZsdDtzZXQgX3NuYXAgPSBzZXR1cC52NDFSZWFkU25hcHNob3QoKSZndDsmZ3Q7CiZsdDtoMSZndDtDb21wYXJlIFNhdmUtU3RhdGUgU25hcHNob3QmbHQ7L2gxJmd0OwombHQ7Jmx0O2lmIG5vdCBfc25hcCZndDsmZ3Q7Jmx0O3AmZ3Q7Tm8gc3RhZmYgc25hcHNob3QgaXMgc3RvcmVkLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQ2FwdHVyZSBhIHNuYXBzaG90LSZndDtWNDFTbmFwc2hvdENhcHR1cmVdXSBbW1JldHVybiB0byBkYXNoYm9hcmQtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0IF9jdXJyZW50ID0gc2V0dXAudjQxQnVpbGRTbmFwc2hvdCgpJmd0OyZndDsKJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtTbmFwc2hvdCBjYXB0dXJlZDombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IF9zbmFwLnNhdmVkQXQmZ3Q7Jmd0OyZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDt2NDEtZ3JpZCZxdW90OyZndDsKJmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0ZpZWxkJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NhcHR1cmVkJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0N1cnJlbnQmbHQ7L3N0cm9uZyZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiZndDtQYXNzYWdlJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0Oz0gX3NuYXAucGFzc2FnZSZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0Oz0gX2N1cnJlbnQucGFzc2FnZSZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYmZ3Q7UE9WJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0Oz0gX3NuYXAucG92Jmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7PSBfY3VycmVudC5wb3YmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OwombHQ7ZGl2Jmd0O0NoYXB0ZXImbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7PSBfc25hcC5jaGFwdGVyJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7PSBfY3VycmVudC5jaGFwdGVyJmd0OyZndDsmbHQ7L2RpdiZndDsKJmx0O2RpdiZndDtSb3V0ZSZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDs9IF9zbmFwLnJvdXRlJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7PSBfY3VycmVudC5yb3V0ZSZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYmZ3Q7Q2x1ZXMmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7PSBfc25hcC5jbHVlcy5sZW5ndGgmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDs9IF9jdXJyZW50LmNsdWVzLmxlbmd0aCZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYmZ3Q7SW52ZW50b3J5Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0Oz0gX3NuYXAuaW52ZW50b3J5Lmxlbmd0aCZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0Oz0gX2N1cnJlbnQuaW52ZW50b3J5Lmxlbmd0aCZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYmZ3Q7QmFkZ2VzJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0Oz0gX3NuYXAuYmFkZ2VzLmxlbmd0aCZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0Oz0gX2N1cnJlbnQuYmFkZ2VzLmxlbmd0aCZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDtkaXYmZ3Q7QXdhcmQgbGVkZ2VyJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0Oz0gX3NuYXAuYXdhcmRzLmxlbmd0aCZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0Oz0gX2N1cnJlbnQuYXdhcmRzLmxlbmd0aCZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7aDImZ3Q7RXhhY3QgY29sbGVjdGlvbiBjaGVja3MmbHQ7L2gyJmd0OwombHQ7dWwmZ3Q7CiZsdDtsaSZndDtDbHVlczogJmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KF9zbmFwLmNsdWVzKSA9PT0gSlNPTi5zdHJpbmdpZnkoX2N1cnJlbnQuY2x1ZXMpID8gJnF1b3Q7TUFUQ0gmcXVvdDsgOiAmcXVvdDtESUZGRVJFTlQmcXVvdDsmZ3Q7Jmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDtLbm93bGVkZ2U6ICZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeShfc25hcC5rbm93bGVkZ2UpID09PSBKU09OLnN0cmluZ2lmeShfY3VycmVudC5rbm93bGVkZ2UpID8gJnF1b3Q7TUFUQ0gmcXVvdDsgOiAmcXVvdDtESUZGRVJFTlQmcXVvdDsmZ3Q7Jmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDtSZWxhdGlvbnNoaXBzOiAmbHQ7Jmx0Oz0gSlNPTi5zdHJpbmdpZnkoX3NuYXAucmVsYXRpb25zaGlwcykgPT09IEpTT04uc3RyaW5naWZ5KF9jdXJyZW50LnJlbGF0aW9uc2hpcHMpID8gJnF1b3Q7TUFUQ0gmcXVvdDsgOiAmcXVvdDtESUZGRVJFTlQmcXVvdDsmZ3Q7Jmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDtJbnZlbnRvcnk6ICZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeShfc25hcC5pbnZlbnRvcnkpID09PSBKU09OLnN0cmluZ2lmeShfY3VycmVudC5pbnZlbnRvcnkpID8gJnF1b3Q7TUFUQ0gmcXVvdDsgOiAmcXVvdDtESUZGRVJFTlQmcXVvdDsmZ3Q7Jmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDtCYWRnZXM6ICZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeShfc25hcC5iYWRnZXMpID09PSBKU09OLnN0cmluZ2lmeShfY3VycmVudC5iYWRnZXMpID8gJnF1b3Q7TUFUQ0gmcXVvdDsgOiAmcXVvdDtESUZGRVJFTlQmcXVvdDsmZ3Q7Jmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDtPbmUtdGltZSBhd2FyZHM6ICZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeShfc25hcC5hd2FyZHMpID09PSBKU09OLnN0cmluZ2lmeShfY3VycmVudC5hd2FyZHMpID8gJnF1b3Q7TUFUQ0gmcXVvdDsgOiAmcXVvdDtESUZGRVJFTlQmcXVvdDsmZ3Q7Jmd0OyZsdDsvbGkmZ3Q7CiZsdDsvdWwmZ3Q7CiZsdDtwIGNsYXNzPSZxdW90O3Y0LW5vdGUmcXVvdDsmZ3Q7QSBwYXNzYWdlIG9yIGhpc3RvcnktbGVuZ3RoIGRpZmZlcmVuY2UgbWF5IGJlIGV4cGVjdGVkIGFmdGVyIGxvYWRpbmcuIFVuZXhwZWN0ZWQgY29sbGVjdGlvbiBkaWZmZXJlbmNlcyBpbmRpY2F0ZSBzdGF0ZSBsb3NzLCBzdGFsZSBzdGF0ZSwgb3IgYSBzYXZlIHRha2VuIGF0IGEgZGlmZmVyZW50IHBvaW50LiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0NhcHR1cmUgYSBuZXcgc25hcHNob3QtJmd0O1Y0MVNuYXBzaG90Q2FwdHVyZV1dICZsdDsmbHQ7bGluayAmcXVvdDtDbGVhciBzdG9yZWQgc25hcHNob3QmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0MUNsZWFyU25hcHNob3QoKSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0MVNuYXBzaG90Q29tcGFyZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7IFtbUmV0dXJuIHRvIGRhc2hib2FyZC0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUxMSIgbmFtZT0iVjQyUmVzZXRNYW5hZ2VyIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIxODAwLDE4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiZsdDtoMSZndDtWNC4yIENvbnRyb2xsZWQgUmVzZXQgTWFuYWdlciZsdDsvaDEmZ3Q7CiZsdDtwJmd0O1RoZXNlIGNvbnRyb2xzIGFyZSByZXN0cmljdGVkIHRvIFN0YWZmIFRvb2xzLiBUaGV5IGRvIG5vdCBhcHBlYXIgaW4gbm9ybWFsIHBsYXkuJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O3Y0Mi13YXJuaW5nJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7SW1wb3J0YW50OiZsdDsvc3Ryb25nJmd0OyBBIGNsZWFuIHJlc3RhcnQgcmVzZXRzIGN1cnJlbnQgc3RvcnkgcHJvZ3Jlc3MuIENsZWFyaW5nIHNhdmVzIHBlcm1hbmVudGx5IHJlbW92ZXMgc2F2ZXMgc3RvcmVkIGJ5IHRoaXMgYnVpbGQgaW4gdGhpcyBicm93c2VyLiZsdDsvZGl2Jmd0OwombHQ7aDImZ3Q7UHJvZmlsZSBiYWNrdXAmbHQ7L2gyJmd0OwombHQ7cCZndDtQcm9maWxlIGJhY2t1cCBwcmVzZXJ2ZXMgZGV0ZWN0ZWQgYmFkZ2VzLCBlcGlzb2RlL2NoYXB0ZXIgdW5sb2NrcywgYW5kIGFjY2Vzc2liaWxpdHkgb3IgcHJlc2VudGF0aW9uIHByZWZlcmVuY2VzIHdoZW4gdGhvc2UgdmFyaWFibGVzIGV4aXN0LiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKJmx0OyZsdDtsaW5rICZxdW90O0JhY2sgVXAgUHJvZmlsZSBTdGF0ZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX3Byb2ZpbGUgPSBzZXR1cC52NDJDYXB0dXJlUHJvZmlsZSgpJmd0OyZndDsmbHQ7Jmx0O3J1biB3aW5kb3cuYWxlcnQoJnF1b3Q7UHJvZmlsZSBiYWNrdXAgY2FwdHVyZWQgd2l0aCAmcXVvdDsgKyBPYmplY3Qua2V5cyhfcHJvZmlsZS5maWVsZHMpLmxlbmd0aCArICZxdW90OyBkZXRlY3RlZCBmaWVsZChzKS4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjQyUmVzZXRNYW5hZ2VyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKW1tJbnNwZWN0IFByb2ZpbGUgQmFja3VwLSZndDtWNDJQcm9maWxlQmFja3VwXV0KJmx0Oy9kaXYmZ3Q7CiZsdDtoMiZndDtDb250cm9sbGVkIHRlc3QgcmVzZXRzJmx0Oy9oMiZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsKJmx0OyZsdDtsaW5rICZxdW90O1Jlc3RhcnQgU3RvcnkgYW5kIFByZXNlcnZlIFByb2ZpbGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIF9vayA9IHdpbmRvdy5jb25maXJtKCZxdW90O1Jlc3RhcnQgdGhlIHN0b3J5IGZyb20gdGhlIGJlZ2lubmluZyB3aGlsZSBwcmVzZXJ2aW5nIGRldGVjdGVkIHByb2ZpbGUgc2V0dGluZ3MgYW5kIGFjaGlldmVtZW50cz8mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9vayZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQyQ2xlYW5SZXN0YXJ0KHRydWUsIGZhbHNlKSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OwombHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzdGFydCBTdG9yeSwgUHJlc2VydmUgUHJvZmlsZSwgYW5kIENsZWFyIFNhdmVzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBfb2sgPSB3aW5kb3cuY29uZmlybSgmcXVvdDtSZXN0YXJ0IHRoZSBzdG9yeSBhbmQgcGVybWFuZW50bHkgY2xlYXIgdGhpcyBidWlsZCYjMzk7cyBzYXZlcyB3aGlsZSBwcmVzZXJ2aW5nIGRldGVjdGVkIHByb2ZpbGUgc2V0dGluZ3MgYW5kIGFjaGlldmVtZW50cz8mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9vayZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQyQ2xlYW5SZXN0YXJ0KHRydWUsIHRydWUpJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsmbHQ7bGluayAmcXVvdDtGYWN0b3J5IFJlc2V0IFN0b3J5IGFuZCBTYXZlcyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX29rID0gd2luZG93LmNvbmZpcm0oJnF1b3Q7RkFDVE9SWSBSRVNFVDogUGVybWFuZW50bHkgY2xlYXIgc2F2ZXMgYW5kIHJlc3RhcnQgd2l0aG91dCByZXN0b3JpbmcgcHJvZmlsZSBwcm9ncmVzcz8mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9vayZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQyQ2xlYXJQcm9maWxlQmFja3VwKCkmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0MkNsZWFuUmVzdGFydChmYWxzZSwgdHJ1ZSkmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsKW1tSZXR1cm4gdG8gZGFzaGJvYXJkLSZndDtEZXZEYXNoYm9hcmRdXQombHQ7L2RpdiZndDsKJmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTEyIiBuYW1lPSJWNDJQcm9maWxlQmFja3VwIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIxODAwLDE4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiZsdDsmbHQ7c2V0IF9wcm9maWxlID0gc2V0dXAudjQyUmVhZFByb2ZpbGUoKSZndDsmZ3Q7CiZsdDtoMSZndDtQcm9maWxlIEJhY2t1cCZsdDsvaDEmZ3Q7CiZsdDsmbHQ7aWYgX3Byb2ZpbGUmZ3Q7Jmd0OwombHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0NhcHR1cmVkOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gX3Byb2ZpbGUuc2F2ZWRBdCZndDsmZ3Q7Jmx0Oy9wJmd0OwombHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0ZpZWxkczombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IE9iamVjdC5rZXlzKF9wcm9maWxlLmZpZWxkcykubGVuZ3RoJmd0OyZndDsmbHQ7L3AmZ3Q7CiZsdDtwcmUgY2xhc3M9JnF1b3Q7djQyLXByb2ZpbGUmcXVvdDsmZ3Q7Jmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KF9wcm9maWxlLmZpZWxkcywgbnVsbCwgMikmZ3Q7Jmd0OyZsdDsvcHJlJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXN0b3JlIEJhY2t1cCBpbnRvIEN1cnJlbnQgU3RhdGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIF9vayA9IHNldHVwLnY0MlJlc3RvcmVQcm9maWxlKCkmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHdpbmRvdy5hbGVydChfb2sgPyAmcXVvdDtQcm9maWxlIGJhY2t1cCByZXN0b3JlZCBpbnRvIHRoZSBjdXJyZW50IHN0YXRlLiZxdW90OyA6ICZxdW90O05vIHByb2ZpbGUgYmFja3VwIHdhcyBhdmFpbGFibGUuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0MlByb2ZpbGVCYWNrdXAmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7RGVsZXRlIFByb2ZpbGUgQmFja3VwJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDJDbGVhclByb2ZpbGVCYWNrdXAoKSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0MlByb2ZpbGVCYWNrdXAmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyBbW1JldHVybiB0byByZXNldCBtYW5hZ2VyLSZndDtWNDJSZXNldE1hbmFnZXJdXSZsdDsvZGl2Jmd0OwombHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtwJmd0O05vIHByb2ZpbGUgYmFja3VwIGlzIGN1cnJlbnRseSBzdG9yZWQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gcmVzZXQgbWFuYWdlci0mZ3Q7VjQyUmVzZXRNYW5hZ2VyXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUxMyIgbmFtZT0iVjQzQm91bmRhcnlNYXAiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjE5MDAsMTkwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7Jmx0O3NldCBfYm91bmRhcmllcyA9IHNldHVwLnY0M1JlYWRCb3VuZGFyaWVzKCkmZ3Q7Jmd0OyZsdDtoMSZndDtWNC4zIENoYXB0ZXIgYW5kIEVwaXNvZGUgQm91bmRhcnkgTWFwJmx0Oy9oMSZndDsmbHQ7cCZndDtUaGlzIHN0YWZmIG1hcCBpZGVudGlmaWVzIHRoZSBjYW5vbmljYWwgZW50cnkgcGFzc2FnZSBmb3IgZWFjaCBkZXRlY3RlZCBjaGFwdGVyLiBWaXNpdGluZyBhbiBlbnRyeSByZWNvcmRzIGEgbGlnaHR3ZWlnaHQgY2hlY2twb2ludCBzdW1tYXJ5IGZvciBib3VuZGFyeSB2YWxpZGF0aW9uLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0My1oZWFkJnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Qm91bmRhcnkmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0VudHJ5IHBhc3NhZ2UmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O09ic2VydmVkIHN0YXRlJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtUZXN0Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDMtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDEmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIDEmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtDaGFwdGVyIDEgVHJhbnNpdGlvbiZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2IgPSBfYm91bmRhcmllc1smcXVvdDsxJnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtpZiBfYiZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7YnImZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7PSBfYi5wb3YgfHwgJnF1b3Q7UE9WIG5vdCBzZXQmcXVvdDsmZ3Q7Jmd0OyB8ICZsdDsmbHQ7PSBfYi5jbHVlQ291bnQmZ3Q7Jmd0OyBjbHVlcyB8ICZsdDsmbHQ7PSBfYi5hd2FyZENvdW50Jmd0OyZndDsgYXdhcmRzJmx0Oy9zbWFsbCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7Tk9UIFZJU0lURUQmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1Rlc3QgSnVtcCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0VGVzdEp1bXAoJnF1b3Q7Q2hhcHRlciAxIFRyYW5zaXRpb24mcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0My1yb3cmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMiZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgMSZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0NoYXB0ZXIgMiBUcmFuc2l0aW9uJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O3NldCBfYiA9IF9ib3VuZGFyaWVzWyZxdW90OzImcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2lmIF9iJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0NBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDticiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9iLnBvdiB8fCAmcXVvdDtQT1Ygbm90IHNldCZxdW90OyZndDsmZ3Q7IHwgJmx0OyZsdDs9IF9iLmNsdWVDb3VudCZndDsmZ3Q7IGNsdWVzIHwgJmx0OyZsdDs9IF9iLmF3YXJkQ291bnQmZ3Q7Jmd0OyBhd2FyZHMmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgVklTSVRFRCZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVzdCBKdW1wJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRUZXN0SnVtcCgmcXVvdDtDaGFwdGVyIDIgVHJhbnNpdGlvbiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQzLXJvdyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAzJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSAxJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Q2hhcHRlciAzIFRyYW5zaXRpb24mbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9iID0gX2JvdW5kYXJpZXNbJnF1b3Q7MyZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2ImZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7Q0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O2JyJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2IucG92IHx8ICZxdW90O1BPViBub3Qgc2V0JnF1b3Q7Jmd0OyZndDsgfCAmbHQ7Jmx0Oz0gX2IuY2x1ZUNvdW50Jmd0OyZndDsgY2x1ZXMgfCAmbHQ7Jmx0Oz0gX2IuYXdhcmRDb3VudCZndDsmZ3Q7IGF3YXJkcyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBWSVNJVEVEJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtUZXN0IEp1bXAmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NFRlc3RKdW1wKCZxdW90O0NoYXB0ZXIgMyBUcmFuc2l0aW9uJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDMtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDQmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIDEmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtDaGFwdGVyIDQgVHJhbnNpdGlvbiZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2IgPSBfYm91bmRhcmllc1smcXVvdDs0JnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtpZiBfYiZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7YnImZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7PSBfYi5wb3YgfHwgJnF1b3Q7UE9WIG5vdCBzZXQmcXVvdDsmZ3Q7Jmd0OyB8ICZsdDsmbHQ7PSBfYi5jbHVlQ291bnQmZ3Q7Jmd0OyBjbHVlcyB8ICZsdDsmbHQ7PSBfYi5hd2FyZENvdW50Jmd0OyZndDsgYXdhcmRzJmx0Oy9zbWFsbCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7Tk9UIFZJU0lURUQmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1Rlc3QgSnVtcCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0VGVzdEp1bXAoJnF1b3Q7Q2hhcHRlciA0IFRyYW5zaXRpb24mcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0My1yb3cmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgNSZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgMSZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0NoYXB0ZXIgNSBUcmFuc2l0aW9uJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O3NldCBfYiA9IF9ib3VuZGFyaWVzWyZxdW90OzUmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2lmIF9iJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0NBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDticiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9iLnBvdiB8fCAmcXVvdDtQT1Ygbm90IHNldCZxdW90OyZndDsmZ3Q7IHwgJmx0OyZsdDs9IF9iLmNsdWVDb3VudCZndDsmZ3Q7IGNsdWVzIHwgJmx0OyZsdDs9IF9iLmF3YXJkQ291bnQmZ3Q7Jmd0OyBhd2FyZHMmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgVklTSVRFRCZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVzdCBKdW1wJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRUZXN0SnVtcCgmcXVvdDtDaGFwdGVyIDUgVHJhbnNpdGlvbiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQzLXJvdyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciA2Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSAxJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Q2hhcHRlciA2IFRyYW5zaXRpb24mbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9iID0gX2JvdW5kYXJpZXNbJnF1b3Q7NiZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2ImZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7Q0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O2JyJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2IucG92IHx8ICZxdW90O1BPViBub3Qgc2V0JnF1b3Q7Jmd0OyZndDsgfCAmbHQ7Jmx0Oz0gX2IuY2x1ZUNvdW50Jmd0OyZndDsgY2x1ZXMgfCAmbHQ7Jmx0Oz0gX2IuYXdhcmRDb3VudCZndDsmZ3Q7IGF3YXJkcyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBWSVNJVEVEJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtUZXN0IEp1bXAmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NFRlc3RKdW1wKCZxdW90O0NoYXB0ZXIgNiBUcmFuc2l0aW9uJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDMtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDcmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIDImbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtFcGlzb2RlVHdvT3BlbmluZyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2IgPSBfYm91bmRhcmllc1smcXVvdDs3JnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtpZiBfYiZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7YnImZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7PSBfYi5wb3YgfHwgJnF1b3Q7UE9WIG5vdCBzZXQmcXVvdDsmZ3Q7Jmd0OyB8ICZsdDsmbHQ7PSBfYi5jbHVlQ291bnQmZ3Q7Jmd0OyBjbHVlcyB8ICZsdDsmbHQ7PSBfYi5hd2FyZENvdW50Jmd0OyZndDsgYXdhcmRzJmx0Oy9zbWFsbCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7Tk9UIFZJU0lURUQmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1Rlc3QgSnVtcCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0VGVzdEp1bXAoJnF1b3Q7RXBpc29kZVR3b09wZW5pbmcmcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0My1yb3cmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgOCZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgMiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0FzaHRvbkZpbmFsV2FybmluZyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2IgPSBfYm91bmRhcmllc1smcXVvdDs4JnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtpZiBfYiZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7YnImZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7PSBfYi5wb3YgfHwgJnF1b3Q7UE9WIG5vdCBzZXQmcXVvdDsmZ3Q7Jmd0OyB8ICZsdDsmbHQ7PSBfYi5jbHVlQ291bnQmZ3Q7Jmd0OyBjbHVlcyB8ICZsdDsmbHQ7PSBfYi5hd2FyZENvdW50Jmd0OyZndDsgYXdhcmRzJmx0Oy9zbWFsbCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7Tk9UIFZJU0lURUQmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1Rlc3QgSnVtcCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0VGVzdEp1bXAoJnF1b3Q7QXNodG9uRmluYWxXYXJuaW5nJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDMtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDkmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIDImbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtSYWNlVG9XaW5jaGVzdGVySG91c2UmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9iID0gX2JvdW5kYXJpZXNbJnF1b3Q7OSZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2ImZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7Q0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O2JyJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2IucG92IHx8ICZxdW90O1BPViBub3Qgc2V0JnF1b3Q7Jmd0OyZndDsgfCAmbHQ7Jmx0Oz0gX2IuY2x1ZUNvdW50Jmd0OyZndDsgY2x1ZXMgfCAmbHQ7Jmx0Oz0gX2IuYXdhcmRDb3VudCZndDsmZ3Q7IGF3YXJkcyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBWSVNJVEVEJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtUZXN0IEp1bXAmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NFRlc3RKdW1wKCZxdW90O1JhY2VUb1dpbmNoZXN0ZXJIb3VzZSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQzLXJvdyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAxMCZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgMiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O1Jlc2N1ZUFmdGVybWF0aCZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2IgPSBfYm91bmRhcmllc1smcXVvdDsxMCZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2ImZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7Q0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O2JyJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2IucG92IHx8ICZxdW90O1BPViBub3Qgc2V0JnF1b3Q7Jmd0OyZndDsgfCAmbHQ7Jmx0Oz0gX2IuY2x1ZUNvdW50Jmd0OyZndDsgY2x1ZXMgfCAmbHQ7Jmx0Oz0gX2IuYXdhcmRDb3VudCZndDsmZ3Q7IGF3YXJkcyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBWSVNJVEVEJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtUZXN0IEp1bXAmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NFRlc3RKdW1wKCZxdW90O1Jlc2N1ZUFmdGVybWF0aCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQzLXJvdyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAxMSZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgMyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0VwaXNvZGVUaHJlZU9wZW5pbmcmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9iID0gX2JvdW5kYXJpZXNbJnF1b3Q7MTEmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2lmIF9iJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0NBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDticiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9iLnBvdiB8fCAmcXVvdDtQT1Ygbm90IHNldCZxdW90OyZndDsmZ3Q7IHwgJmx0OyZsdDs9IF9iLmNsdWVDb3VudCZndDsmZ3Q7IGNsdWVzIHwgJmx0OyZsdDs9IF9iLmF3YXJkQ291bnQmZ3Q7Jmd0OyBhd2FyZHMmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgVklTSVRFRCZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVzdCBKdW1wJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRUZXN0SnVtcCgmcXVvdDtFcGlzb2RlVGhyZWVPcGVuaW5nJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDMtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDEyJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSAzJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7RXBpc29kZVRocmVlTGlicmFyeUxlYWQmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9iID0gX2JvdW5kYXJpZXNbJnF1b3Q7MTImcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2lmIF9iJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0NBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDticiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9iLnBvdiB8fCAmcXVvdDtQT1Ygbm90IHNldCZxdW90OyZndDsmZ3Q7IHwgJmx0OyZsdDs9IF9iLmNsdWVDb3VudCZndDsmZ3Q7IGNsdWVzIHwgJmx0OyZsdDs9IF9iLmF3YXJkQ291bnQmZ3Q7Jmd0OyBhd2FyZHMmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgVklTSVRFRCZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVzdCBKdW1wJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRUZXN0SnVtcCgmcXVvdDtFcGlzb2RlVGhyZWVMaWJyYXJ5TGVhZCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQzLXJvdyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAxMyZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgMyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O1B1cnBsZUxlYWRFbmRpbmcmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9iID0gX2JvdW5kYXJpZXNbJnF1b3Q7MTMmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2lmIF9iJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0NBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDticiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9iLnBvdiB8fCAmcXVvdDtQT1Ygbm90IHNldCZxdW90OyZndDsmZ3Q7IHwgJmx0OyZsdDs9IF9iLmNsdWVDb3VudCZndDsmZ3Q7IGNsdWVzIHwgJmx0OyZsdDs9IF9iLmF3YXJkQ291bnQmZ3Q7Jmd0OyBhd2FyZHMmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgVklTSVRFRCZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVzdCBKdW1wJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRUZXN0SnVtcCgmcXVvdDtQdXJwbGVMZWFkRW5kaW5nJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDMtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDE0Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSAzJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Q2VtZXRlcnlPcGVuaW5nJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O3NldCBfYiA9IF9ib3VuZGFyaWVzWyZxdW90OzE0JnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtpZiBfYiZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7YnImZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7PSBfYi5wb3YgfHwgJnF1b3Q7UE9WIG5vdCBzZXQmcXVvdDsmZ3Q7Jmd0OyB8ICZsdDsmbHQ7PSBfYi5jbHVlQ291bnQmZ3Q7Jmd0OyBjbHVlcyB8ICZsdDsmbHQ7PSBfYi5hd2FyZENvdW50Jmd0OyZndDsgYXdhcmRzJmx0Oy9zbWFsbCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7Tk9UIFZJU0lURUQmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1Rlc3QgSnVtcCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0VGVzdEp1bXAoJnF1b3Q7Q2VtZXRlcnlPcGVuaW5nJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDMtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDE1Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSA0Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7UGhhc2VGaXZlQ29uY2x1c2lvbiZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2IgPSBfYm91bmRhcmllc1smcXVvdDsxNSZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2ImZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7Q0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O2JyJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2IucG92IHx8ICZxdW90O1BPViBub3Qgc2V0JnF1b3Q7Jmd0OyZndDsgfCAmbHQ7Jmx0Oz0gX2IuY2x1ZUNvdW50Jmd0OyZndDsgY2x1ZXMgfCAmbHQ7Jmx0Oz0gX2IuYXdhcmRDb3VudCZndDsmZ3Q7IGF3YXJkcyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBWSVNJVEVEJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtUZXN0IEp1bXAmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NFRlc3RKdW1wKCZxdW90O1BoYXNlRml2ZUNvbmNsdXNpb24mcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0My1yb3cmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMTYmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIDQmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtQaGFzZVNpeE9wZW5pbmcmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9iID0gX2JvdW5kYXJpZXNbJnF1b3Q7MTYmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2lmIF9iJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0NBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDticiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9iLnBvdiB8fCAmcXVvdDtQT1Ygbm90IHNldCZxdW90OyZndDsmZ3Q7IHwgJmx0OyZsdDs9IF9iLmNsdWVDb3VudCZndDsmZ3Q7IGNsdWVzIHwgJmx0OyZsdDs9IF9iLmF3YXJkQ291bnQmZ3Q7Jmd0OyBhd2FyZHMmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgVklTSVRFRCZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVzdCBKdW1wJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRUZXN0SnVtcCgmcXVvdDtQaGFzZVNpeE9wZW5pbmcmcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0My1yb3cmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMTcmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIDQmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtQaGFzZVNpeEFyY2hpdmVIdWImbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9iID0gX2JvdW5kYXJpZXNbJnF1b3Q7MTcmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2lmIF9iJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0NBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDticiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9iLnBvdiB8fCAmcXVvdDtQT1Ygbm90IHNldCZxdW90OyZndDsmZ3Q7IHwgJmx0OyZsdDs9IF9iLmNsdWVDb3VudCZndDsmZ3Q7IGNsdWVzIHwgJmx0OyZsdDs9IF9iLmF3YXJkQ291bnQmZ3Q7Jmd0OyBhd2FyZHMmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgVklTSVRFRCZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7VGVzdCBKdW1wJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRUZXN0SnVtcCgmcXVvdDtQaGFzZVNpeEFyY2hpdmVIdWImcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0My1yb3cmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMTgmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIDQmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtQaGFzZVNpeEZvdXJ0aE5hbWVFbnRyeSZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2IgPSBfYm91bmRhcmllc1smcXVvdDsxOCZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2ImZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7Q0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O2JyJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2IucG92IHx8ICZxdW90O1BPViBub3Qgc2V0JnF1b3Q7Jmd0OyZndDsgfCAmbHQ7Jmx0Oz0gX2IuY2x1ZUNvdW50Jmd0OyZndDsgY2x1ZXMgfCAmbHQ7Jmx0Oz0gX2IuYXdhcmRDb3VudCZndDsmZ3Q7IGF3YXJkcyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBWSVNJVEVEJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtUZXN0IEp1bXAmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NFRlc3RKdW1wKCZxdW90O1BoYXNlU2l4Rm91cnRoTmFtZUVudHJ5JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0JvdW5kYXJ5IGRldGFpbCByZXBvcnQtJmd0O1Y0M0JvdW5kYXJ5RGV0YWlsc11dICZsdDsmbHQ7bGluayAmcXVvdDtDbGVhciBjYXB0dXJlZCBib3VuZGFyeSBzdW1tYXJpZXMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0M0NsZWFyQm91bmRhcmllcygpJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjQzQm91bmRhcnlNYXAmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyBbW1JldHVybiB0byBkYXNoYm9hcmQtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTE0IiBuYW1lPSJWNDNCb3VuZGFyeURldGFpbHMiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjE5MDAsMTkwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7Jmx0O3NldCBfYm91bmRhcmllcyA9IHNldHVwLnY0M1JlYWRCb3VuZGFyaWVzKCkmZ3Q7Jmd0OyZsdDtoMSZndDtCb3VuZGFyeSBEZXRhaWwgUmVwb3J0Jmx0Oy9oMSZndDsmbHQ7cHJlIGNsYXNzPSZxdW90O3Y0Mi1wcm9maWxlJnF1b3Q7Jmd0OyZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeShfYm91bmRhcmllcywgbnVsbCwgMikmZ3Q7Jmd0OyZsdDsvcHJlJmd0OyZsdDtwIGNsYXNzPSZxdW90O3Y0LW5vdGUmcXVvdDsmZ3Q7VXNlIHRoaXMgcmVwb3J0IHRvIGNvbmZpcm0gd2hlcmUgY2hhcHRlci1sb2NhbCBzdGF0ZSBzaG91bGQgYmVnaW4uIEl0IGRvZXMgbm90IHlldCBwZXJmb3JtIGNoYXB0ZXIgcm9sbGJhY2suJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gYm91bmRhcnkgbWFwLSZndDtWNDNCb3VuZGFyeU1hcF1dIFtbUmV0dXJuIHRvIGRhc2hib2FyZC0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MTUiIG5hbWU9IlY0NENoZWNrcG9pbnRNYW5hZ2VyIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIyMDAwLDIwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O1Y0LjQgVmFsaWRhdGVkIENoYXB0ZXIgQ2hlY2twb2ludHMmbHQ7L2gxJmd0OyZsdDtwJmd0O0EgY2hlY2twb2ludCBiZWNvbWVzIGF2YWlsYWJsZSBvbmx5IHdoZW4gdGhlIGNoYXB0ZXIgZW50cnkgaXMgcmVhY2hlZCBkdXJpbmcgbm9ybWFsIHBsYXkuIFN0YWZmIHRlc3QganVtcHMgZG8gbm90IGNyZWF0ZSBvciBvdmVyd3JpdGUgY2hlY2twb2ludHMuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQyLXdhcm5pbmcmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtSZXN0b3JlIGJlaGF2aW9yOiZsdDsvc3Ryb25nJmd0OyBSZXN0b3JpbmcgcmVwbGFjZXMgdGhlIGN1cnJlbnQgc3RvcnkgdmFyaWFibGVzIHdpdGggdGhlIGV4YWN0IHZhcmlhYmxlcyBjYXB0dXJlZCBhdCB0aGF0IGNoYXB0ZXIgYm91bmRhcnksIHRoZW4gb3BlbnMgdGhlIGNoYXB0ZXIgZW50cnkgcGFzc2FnZS4gTWFudWFsIHNhdmVzIGFyZSBub3QgZGVsZXRlZC4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0My1oZWFkJnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Qm91bmRhcnkmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0VudHJ5IHBhc3NhZ2UmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0NoZWNrcG9pbnQmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0FjdGlvbiZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQ0LXJvdyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAxJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSAxJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Q2hhcHRlciAxIFRyYW5zaXRpb24mbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtBVkFJTEFCTEUmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7PSBfY3AuY2FwdHVyZWRBdCZndDsmZ3Q7Jmx0Oy9zbWFsbCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7Tk9UIENBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDtSZWFjaCB0aGlzIGNoYXB0ZXIgbmF0dXJhbGx5LiZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXN0b3JlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBfb2sgPSB3aW5kb3cuY29uZmlybSgmcXVvdDtSZXN0b3JlIHRoZSB2YWxpZGF0ZWQgY2hlY2twb2ludCBmb3IgQ2hhcHRlciAxPyBDdXJyZW50IHVuc2F2ZWQgcHJvZ3Jlc3Mgd2lsbCBiZSByZXBsYWNlZC4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9vayZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0UmVzdG9yZUNoYXB0ZXIoJnF1b3Q7MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgJmx0O2JyJmd0OyZsdDsmbHQ7bGluayAmcXVvdDtEZWxldGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NERlbGV0ZUNoYXB0ZXIoJnF1b3Q7MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWNDRDaGVja3BvaW50TWFuYWdlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDtVbmF2YWlsYWJsZSZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NC1yb3cmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMiZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgMSZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0NoYXB0ZXIgMiBUcmFuc2l0aW9uJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O3NldCBfY3AgPSBzZXR1cC52NDRSZWFkQ2hhcHRlcigmcXVvdDsyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7QVZBSUxBQkxFJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2NwLmNhcHR1cmVkQXQmZ3Q7Jmd0OyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7UmVhY2ggdGhpcyBjaGFwdGVyIG5hdHVyYWxseS4mbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzdG9yZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX29rID0gd2luZG93LmNvbmZpcm0oJnF1b3Q7UmVzdG9yZSB0aGUgdmFsaWRhdGVkIGNoZWNrcG9pbnQgZm9yIENoYXB0ZXIgMj8gQ3VycmVudCB1bnNhdmVkIHByb2dyZXNzIHdpbGwgYmUgcmVwbGFjZWQuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfb2smZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NFJlc3RvcmVDaGFwdGVyKCZxdW90OzImcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDticiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7RGVsZXRlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDREZWxldGVDaGFwdGVyKCZxdW90OzImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjQ0Q2hlY2twb2ludE1hbmFnZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7VW5hdmFpbGFibGUmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDQtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDMmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIDEmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtDaGFwdGVyIDMgVHJhbnNpdGlvbiZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7MyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0FWQUlMQUJMRSZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9jcC5jYXB0dXJlZEF0Jmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgQ0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0O1JlYWNoIHRoaXMgY2hhcHRlciBuYXR1cmFsbHkuJmx0Oy9zbWFsbCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1Jlc3RvcmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIF9vayA9IHdpbmRvdy5jb25maXJtKCZxdW90O1Jlc3RvcmUgdGhlIHZhbGlkYXRlZCBjaGVja3BvaW50IGZvciBDaGFwdGVyIDM/IEN1cnJlbnQgdW5zYXZlZCBwcm9ncmVzcyB3aWxsIGJlIHJlcGxhY2VkLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX29rJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRSZXN0b3JlQ2hhcHRlcigmcXVvdDszJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7YnImZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0RlbGV0ZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0RGVsZXRlQ2hhcHRlcigmcXVvdDszJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0NENoZWNrcG9pbnRNYW5hZ2VyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1VuYXZhaWxhYmxlJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQ0LXJvdyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciA0Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSAxJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Q2hhcHRlciA0IFRyYW5zaXRpb24mbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtBVkFJTEFCTEUmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7PSBfY3AuY2FwdHVyZWRBdCZndDsmZ3Q7Jmx0Oy9zbWFsbCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7Tk9UIENBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDtSZWFjaCB0aGlzIGNoYXB0ZXIgbmF0dXJhbGx5LiZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXN0b3JlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBfb2sgPSB3aW5kb3cuY29uZmlybSgmcXVvdDtSZXN0b3JlIHRoZSB2YWxpZGF0ZWQgY2hlY2twb2ludCBmb3IgQ2hhcHRlciA0PyBDdXJyZW50IHVuc2F2ZWQgcHJvZ3Jlc3Mgd2lsbCBiZSByZXBsYWNlZC4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9vayZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0UmVzdG9yZUNoYXB0ZXIoJnF1b3Q7NCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgJmx0O2JyJmd0OyZsdDsmbHQ7bGluayAmcXVvdDtEZWxldGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NERlbGV0ZUNoYXB0ZXIoJnF1b3Q7NCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWNDRDaGVja3BvaW50TWFuYWdlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDtVbmF2YWlsYWJsZSZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NC1yb3cmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgNSZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgMSZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0NoYXB0ZXIgNSBUcmFuc2l0aW9uJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O3NldCBfY3AgPSBzZXR1cC52NDRSZWFkQ2hhcHRlcigmcXVvdDs1JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7QVZBSUxBQkxFJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2NwLmNhcHR1cmVkQXQmZ3Q7Jmd0OyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7UmVhY2ggdGhpcyBjaGFwdGVyIG5hdHVyYWxseS4mbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzdG9yZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX29rID0gd2luZG93LmNvbmZpcm0oJnF1b3Q7UmVzdG9yZSB0aGUgdmFsaWRhdGVkIGNoZWNrcG9pbnQgZm9yIENoYXB0ZXIgNT8gQ3VycmVudCB1bnNhdmVkIHByb2dyZXNzIHdpbGwgYmUgcmVwbGFjZWQuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfb2smZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NFJlc3RvcmVDaGFwdGVyKCZxdW90OzUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDticiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7RGVsZXRlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDREZWxldGVDaGFwdGVyKCZxdW90OzUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjQ0Q2hlY2twb2ludE1hbmFnZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7VW5hdmFpbGFibGUmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDQtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDYmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIDEmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtDaGFwdGVyIDYgVHJhbnNpdGlvbiZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7NiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0FWQUlMQUJMRSZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9jcC5jYXB0dXJlZEF0Jmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgQ0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0O1JlYWNoIHRoaXMgY2hhcHRlciBuYXR1cmFsbHkuJmx0Oy9zbWFsbCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1Jlc3RvcmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIF9vayA9IHdpbmRvdy5jb25maXJtKCZxdW90O1Jlc3RvcmUgdGhlIHZhbGlkYXRlZCBjaGVja3BvaW50IGZvciBDaGFwdGVyIDY/IEN1cnJlbnQgdW5zYXZlZCBwcm9ncmVzcyB3aWxsIGJlIHJlcGxhY2VkLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX29rJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRSZXN0b3JlQ2hhcHRlcigmcXVvdDs2JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7YnImZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0RlbGV0ZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0RGVsZXRlQ2hhcHRlcigmcXVvdDs2JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0NENoZWNrcG9pbnRNYW5hZ2VyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1VuYXZhaWxhYmxlJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQ0LXJvdyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciA3Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSAyJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7RXBpc29kZVR3b09wZW5pbmcmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzcmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtBVkFJTEFCTEUmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7PSBfY3AuY2FwdHVyZWRBdCZndDsmZ3Q7Jmx0Oy9zbWFsbCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7Tk9UIENBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDtSZWFjaCB0aGlzIGNoYXB0ZXIgbmF0dXJhbGx5LiZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXN0b3JlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBfb2sgPSB3aW5kb3cuY29uZmlybSgmcXVvdDtSZXN0b3JlIHRoZSB2YWxpZGF0ZWQgY2hlY2twb2ludCBmb3IgQ2hhcHRlciA3PyBDdXJyZW50IHVuc2F2ZWQgcHJvZ3Jlc3Mgd2lsbCBiZSByZXBsYWNlZC4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9vayZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0UmVzdG9yZUNoYXB0ZXIoJnF1b3Q7NyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgJmx0O2JyJmd0OyZsdDsmbHQ7bGluayAmcXVvdDtEZWxldGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NERlbGV0ZUNoYXB0ZXIoJnF1b3Q7NyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWNDRDaGVja3BvaW50TWFuYWdlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDtVbmF2YWlsYWJsZSZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NC1yb3cmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgOCZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgMiZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0FzaHRvbkZpbmFsV2FybmluZyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7OCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0FWQUlMQUJMRSZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9jcC5jYXB0dXJlZEF0Jmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgQ0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0O1JlYWNoIHRoaXMgY2hhcHRlciBuYXR1cmFsbHkuJmx0Oy9zbWFsbCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1Jlc3RvcmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIF9vayA9IHdpbmRvdy5jb25maXJtKCZxdW90O1Jlc3RvcmUgdGhlIHZhbGlkYXRlZCBjaGVja3BvaW50IGZvciBDaGFwdGVyIDg/IEN1cnJlbnQgdW5zYXZlZCBwcm9ncmVzcyB3aWxsIGJlIHJlcGxhY2VkLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX29rJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRSZXN0b3JlQ2hhcHRlcigmcXVvdDs4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7YnImZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0RlbGV0ZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0RGVsZXRlQ2hhcHRlcigmcXVvdDs4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0NENoZWNrcG9pbnRNYW5hZ2VyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1VuYXZhaWxhYmxlJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQ0LXJvdyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciA5Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSAyJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7UmFjZVRvV2luY2hlc3RlckhvdXNlJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O3NldCBfY3AgPSBzZXR1cC52NDRSZWFkQ2hhcHRlcigmcXVvdDs5JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7QVZBSUxBQkxFJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2NwLmNhcHR1cmVkQXQmZ3Q7Jmd0OyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7UmVhY2ggdGhpcyBjaGFwdGVyIG5hdHVyYWxseS4mbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzdG9yZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX29rID0gd2luZG93LmNvbmZpcm0oJnF1b3Q7UmVzdG9yZSB0aGUgdmFsaWRhdGVkIGNoZWNrcG9pbnQgZm9yIENoYXB0ZXIgOT8gQ3VycmVudCB1bnNhdmVkIHByb2dyZXNzIHdpbGwgYmUgcmVwbGFjZWQuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfb2smZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NFJlc3RvcmVDaGFwdGVyKCZxdW90OzkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDticiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7RGVsZXRlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDREZWxldGVDaGFwdGVyKCZxdW90OzkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjQ0Q2hlY2twb2ludE1hbmFnZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7VW5hdmFpbGFibGUmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDQtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDEwJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSAyJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7UmVzY3VlQWZ0ZXJtYXRoJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O3NldCBfY3AgPSBzZXR1cC52NDRSZWFkQ2hhcHRlcigmcXVvdDsxMCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0FWQUlMQUJMRSZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9jcC5jYXB0dXJlZEF0Jmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgQ0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0O1JlYWNoIHRoaXMgY2hhcHRlciBuYXR1cmFsbHkuJmx0Oy9zbWFsbCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1Jlc3RvcmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIF9vayA9IHdpbmRvdy5jb25maXJtKCZxdW90O1Jlc3RvcmUgdGhlIHZhbGlkYXRlZCBjaGVja3BvaW50IGZvciBDaGFwdGVyIDEwPyBDdXJyZW50IHVuc2F2ZWQgcHJvZ3Jlc3Mgd2lsbCBiZSByZXBsYWNlZC4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9vayZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0UmVzdG9yZUNoYXB0ZXIoJnF1b3Q7MTAmcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDticiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7RGVsZXRlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDREZWxldGVDaGFwdGVyKCZxdW90OzEwJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0NENoZWNrcG9pbnRNYW5hZ2VyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1VuYXZhaWxhYmxlJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQ0LXJvdyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAxMSZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgMyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O0VwaXNvZGVUaHJlZU9wZW5pbmcmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzExJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7QVZBSUxBQkxFJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2NwLmNhcHR1cmVkQXQmZ3Q7Jmd0OyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7UmVhY2ggdGhpcyBjaGFwdGVyIG5hdHVyYWxseS4mbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzdG9yZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX29rID0gd2luZG93LmNvbmZpcm0oJnF1b3Q7UmVzdG9yZSB0aGUgdmFsaWRhdGVkIGNoZWNrcG9pbnQgZm9yIENoYXB0ZXIgMTE/IEN1cnJlbnQgdW5zYXZlZCBwcm9ncmVzcyB3aWxsIGJlIHJlcGxhY2VkLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX29rJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRSZXN0b3JlQ2hhcHRlcigmcXVvdDsxMSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgJmx0O2JyJmd0OyZsdDsmbHQ7bGluayAmcXVvdDtEZWxldGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NERlbGV0ZUNoYXB0ZXIoJnF1b3Q7MTEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjQ0Q2hlY2twb2ludE1hbmFnZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7VW5hdmFpbGFibGUmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDQtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDEyJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSAzJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7RXBpc29kZVRocmVlTGlicmFyeUxlYWQmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzEyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7QVZBSUxBQkxFJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2NwLmNhcHR1cmVkQXQmZ3Q7Jmd0OyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7UmVhY2ggdGhpcyBjaGFwdGVyIG5hdHVyYWxseS4mbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzdG9yZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX29rID0gd2luZG93LmNvbmZpcm0oJnF1b3Q7UmVzdG9yZSB0aGUgdmFsaWRhdGVkIGNoZWNrcG9pbnQgZm9yIENoYXB0ZXIgMTI/IEN1cnJlbnQgdW5zYXZlZCBwcm9ncmVzcyB3aWxsIGJlIHJlcGxhY2VkLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX29rJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRSZXN0b3JlQ2hhcHRlcigmcXVvdDsxMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgJmx0O2JyJmd0OyZsdDsmbHQ7bGluayAmcXVvdDtEZWxldGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NERlbGV0ZUNoYXB0ZXIoJnF1b3Q7MTImcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjQ0Q2hlY2twb2ludE1hbmFnZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7VW5hdmFpbGFibGUmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDQtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDEzJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSAzJmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7UHVycGxlTGVhZEVuZGluZyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7MTMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtBVkFJTEFCTEUmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7PSBfY3AuY2FwdHVyZWRBdCZndDsmZ3Q7Jmx0Oy9zbWFsbCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7Tk9UIENBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDtSZWFjaCB0aGlzIGNoYXB0ZXIgbmF0dXJhbGx5LiZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXN0b3JlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBfb2sgPSB3aW5kb3cuY29uZmlybSgmcXVvdDtSZXN0b3JlIHRoZSB2YWxpZGF0ZWQgY2hlY2twb2ludCBmb3IgQ2hhcHRlciAxMz8gQ3VycmVudCB1bnNhdmVkIHByb2dyZXNzIHdpbGwgYmUgcmVwbGFjZWQuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfb2smZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NFJlc3RvcmVDaGFwdGVyKCZxdW90OzEzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7YnImZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0RlbGV0ZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0RGVsZXRlQ2hhcHRlcigmcXVvdDsxMyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWNDRDaGVja3BvaW50TWFuYWdlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDtVbmF2YWlsYWJsZSZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NC1yb3cmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMTQmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIDMmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtDZW1ldGVyeU9wZW5pbmcmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzE0JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7QVZBSUxBQkxFJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2NwLmNhcHR1cmVkQXQmZ3Q7Jmd0OyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7UmVhY2ggdGhpcyBjaGFwdGVyIG5hdHVyYWxseS4mbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzdG9yZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX29rID0gd2luZG93LmNvbmZpcm0oJnF1b3Q7UmVzdG9yZSB0aGUgdmFsaWRhdGVkIGNoZWNrcG9pbnQgZm9yIENoYXB0ZXIgMTQ/IEN1cnJlbnQgdW5zYXZlZCBwcm9ncmVzcyB3aWxsIGJlIHJlcGxhY2VkLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX29rJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRSZXN0b3JlQ2hhcHRlcigmcXVvdDsxNCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgJmx0O2JyJmd0OyZsdDsmbHQ7bGluayAmcXVvdDtEZWxldGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NERlbGV0ZUNoYXB0ZXIoJnF1b3Q7MTQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjQ0Q2hlY2twb2ludE1hbmFnZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7VW5hdmFpbGFibGUmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDQtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDE1Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSA0Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7UGhhc2VGaXZlQ29uY2x1c2lvbiZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7MTUmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtBVkFJTEFCTEUmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0OyZsdDsmbHQ7PSBfY3AuY2FwdHVyZWRBdCZndDsmZ3Q7Jmx0Oy9zbWFsbCZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7Tk9UIENBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDtSZWFjaCB0aGlzIGNoYXB0ZXIgbmF0dXJhbGx5LiZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXN0b3JlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBfb2sgPSB3aW5kb3cuY29uZmlybSgmcXVvdDtSZXN0b3JlIHRoZSB2YWxpZGF0ZWQgY2hlY2twb2ludCBmb3IgQ2hhcHRlciAxNT8gQ3VycmVudCB1bnNhdmVkIHByb2dyZXNzIHdpbGwgYmUgcmVwbGFjZWQuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfb2smZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NFJlc3RvcmVDaGFwdGVyKCZxdW90OzE1JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7YnImZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0RlbGV0ZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0RGVsZXRlQ2hhcHRlcigmcXVvdDsxNSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWNDRDaGVja3BvaW50TWFuYWdlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDtVbmF2YWlsYWJsZSZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NC1yb3cmcXVvdDsmZ3Q7Jmx0O2RpdiZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMTYmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlIDQmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDtQaGFzZVNpeE9wZW5pbmcmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzE2JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfY3AmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7QVZBSUxBQkxFJmx0Oy9zcGFuJmd0OyZsdDtzbWFsbCZndDsmbHQ7Jmx0Oz0gX2NwLmNhcHR1cmVkQXQmZ3Q7Jmd0OyZsdDsvc21hbGwmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O05PVCBDQVBUVVJFRCZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7UmVhY2ggdGhpcyBjaGFwdGVyIG5hdHVyYWxseS4mbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzdG9yZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX29rID0gd2luZG93LmNvbmZpcm0oJnF1b3Q7UmVzdG9yZSB0aGUgdmFsaWRhdGVkIGNoZWNrcG9pbnQgZm9yIENoYXB0ZXIgMTY/IEN1cnJlbnQgdW5zYXZlZCBwcm9ncmVzcyB3aWxsIGJlIHJlcGxhY2VkLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX29rJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDRSZXN0b3JlQ2hhcHRlcigmcXVvdDsxNiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgJmx0O2JyJmd0OyZsdDsmbHQ7bGluayAmcXVvdDtEZWxldGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NERlbGV0ZUNoYXB0ZXIoJnF1b3Q7MTYmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjQ0Q2hlY2twb2ludE1hbmFnZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7VW5hdmFpbGFibGUmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDQtcm93JnF1b3Q7Jmd0OyZsdDtkaXYmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDE3Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZSA0Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYmZ3Q7UGhhc2VTaXhBcmNoaXZlSHViJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O3NldCBfY3AgPSBzZXR1cC52NDRSZWFkQ2hhcHRlcigmcXVvdDsxNyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0FWQUlMQUJMRSZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9jcC5jYXB0dXJlZEF0Jmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgQ0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0O1JlYWNoIHRoaXMgY2hhcHRlciBuYXR1cmFsbHkuJmx0Oy9zbWFsbCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1Jlc3RvcmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIF9vayA9IHdpbmRvdy5jb25maXJtKCZxdW90O1Jlc3RvcmUgdGhlIHZhbGlkYXRlZCBjaGVja3BvaW50IGZvciBDaGFwdGVyIDE3PyBDdXJyZW50IHVuc2F2ZWQgcHJvZ3Jlc3Mgd2lsbCBiZSByZXBsYWNlZC4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9vayZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0UmVzdG9yZUNoYXB0ZXIoJnF1b3Q7MTcmcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDticiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7RGVsZXRlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDREZWxldGVDaGFwdGVyKCZxdW90OzE3JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0NENoZWNrcG9pbnRNYW5hZ2VyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1VuYXZhaWxhYmxlJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQ0LXJvdyZxdW90OyZndDsmbHQ7ZGl2Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAxOCZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGUgNCZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2Jmd0O1BoYXNlU2l4Rm91cnRoTmFtZUVudHJ5Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O3NldCBfY3AgPSBzZXR1cC52NDRSZWFkQ2hhcHRlcigmcXVvdDsxOCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0FWQUlMQUJMRSZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7Jmx0OyZsdDs9IF9jcC5jYXB0dXJlZEF0Jmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgQ0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0O3NtYWxsJmd0O1JlYWNoIHRoaXMgY2hhcHRlciBuYXR1cmFsbHkuJmx0Oy9zbWFsbCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1Jlc3RvcmUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIF9vayA9IHdpbmRvdy5jb25maXJtKCZxdW90O1Jlc3RvcmUgdGhlIHZhbGlkYXRlZCBjaGVja3BvaW50IGZvciBDaGFwdGVyIDE4PyBDdXJyZW50IHVuc2F2ZWQgcHJvZ3Jlc3Mgd2lsbCBiZSByZXBsYWNlZC4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9vayZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudjQ0UmVzdG9yZUNoYXB0ZXIoJnF1b3Q7MTgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDticiZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7RGVsZXRlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDREZWxldGVDaGFwdGVyKCZxdW90OzE4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Y0NENoZWNrcG9pbnRNYW5hZ2VyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1VuYXZhaWxhYmxlJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tDaGVja3BvaW50IGRpYWdub3N0aWNzLSZndDtWNDRDaGVja3BvaW50RGlhZ25vc3RpY3NdXSAmbHQ7Jmx0O2xpbmsgJnF1b3Q7RGVsZXRlIGFsbCBjaGFwdGVyIGNoZWNrcG9pbnRzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBfb2sgPSB3aW5kb3cuY29uZmlybSgmcXVvdDtEZWxldGUgYWxsIHN0YWZmIGNoYXB0ZXIgY2hlY2twb2ludHM/JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfb2smZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NERlbGV0ZUFsbCgpJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7VjQ0Q2hlY2twb2ludE1hbmFnZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgW1tSZXR1cm4gdG8gZGFzaGJvYXJkLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUxNiIgbmFtZT0iVjQ0Q2hlY2twb2ludERpYWdub3N0aWNzIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIyMDAwLDIwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O0NoZWNrcG9pbnQgRGlhZ25vc3RpY3MmbHQ7L2gxJmd0OyZsdDtwcmUgY2xhc3M9JnF1b3Q7djQyLXByb2ZpbGUmcXVvdDsmZ3Q7Jmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KHNldHVwLnY0NENoZWNrcG9pbnRTdGF0dXMoKSwgbnVsbCwgMikmZ3Q7Jmd0OyZsdDsvcHJlJmd0OyZsdDtwIGNsYXNzPSZxdW90O3Y0LW5vdGUmcXVvdDsmZ3Q7Q2hlY2twb2ludCByZWNvcmRzIGNvbnRhaW4gY29tcGxldGUgc3RvcnkgdmFyaWFibGVzIGFuZCByZW1haW4gaW4gdGhpcyBicm93c2VyIHVudGlsIGRlbGV0ZWQuIFRoZXkgYXJlIHN0YWZmIHRlc3RpbmcgZGF0YSwgbm90IHBsYXllciBzYXZlcy4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byBjaGVja3BvaW50IG1hbmFnZXItJmd0O1Y0NENoZWNrcG9pbnRNYW5hZ2VyXV0gW1tSZXR1cm4gdG8gZGFzaGJvYXJkLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUxNyIgbmFtZT0iVjQ1RXBpc29kZUNoZWNrcG9pbnRNYW5hZ2VyIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIyMTAwLDIxMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O1Y0LjUgRXBpc29kZSBDaGVja3BvaW50IE1hbmFnZXImbHQ7L2gxJmd0OyZsdDtwJmd0O0VwaXNvZGUgcmVzdG9yYXRpb24gdXNlcyB0aGUgdmFsaWRhdGVkIG5hdHVyYWwtcGxheSBjaGVja3BvaW50IGZyb20gdGhlIGZpcnN0IG1hcHBlZCBjaGFwdGVyIG9mIGVhY2ggc3RydWN0dXJhbCBlcGlzb2RlLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0Mi13YXJuaW5nJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7U3RhZmYgdGVzdGluZyBvbmx5OiZsdDsvc3Ryb25nJmd0OyBSZXN0b3JpbmcgcmVwbGFjZXMgY3VycmVudCB1bnNhdmVkIHN0b3J5IHN0YXRlLiBNYW51YWwgc2F2ZXMgYW5kIGxhdGVyIGNoYXB0ZXIgY2hlY2twb2ludHMgcmVtYWluIGF2YWlsYWJsZS4mbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1jYXJkJnF1b3Q7Jmd0OyZsdDtoMiZndDtFcGlzb2RlIDE6IE9wZW5pbmcgSW52ZXN0aWdhdGlvbiZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtCb3VuZGFyeTombHQ7L3N0cm9uZyZndDsgQ2hhcHRlciAxLCBDaGFwdGVyIDEgVHJhbnNpdGlvbiZsdDsvcCZndDsmbHQ7Jmx0O3NldCBfY3AgPSBzZXR1cC52NDVSZWFkRXBpc29kZSgmcXVvdDsxJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2hlYWx0aCA9IHNldHVwLnY0NUNoZWNrcG9pbnRIZWFsdGgoX2NwLCAmcXVvdDsxJnF1b3Q7LCAmcXVvdDtDaGFwdGVyIDEgVHJhbnNpdGlvbiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7cCZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0FWQUlMQUJMRSZsdDsvc3BhbiZndDsgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQ1LWhlYWx0aCZxdW90OyZndDtJbnRlZ3JpdHk6ICZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O3NtYWxsJmd0O0NhcHR1cmVkICZsdDsmbHQ7PSBfY3AuY2FwdHVyZWRBdCZndDsmZ3Q7Jmx0Oy9zbWFsbCZndDsmbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXN0b3JlIEVwaXNvZGUgMSBTdGFydCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX29rID0gd2luZG93LmNvbmZpcm0oJnF1b3Q7UmVzdG9yZSB0aGUgdmFsaWRhdGVkIHN0YXJ0IG9mIEVwaXNvZGUgMT8gQ3VycmVudCB1bnNhdmVkIHByb2dyZXNzIHdpbGwgYmUgcmVwbGFjZWQuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfb2smZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NVJlc3RvcmVFcGlzb2RlKCZxdW90OzEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiZndDtSZXN0b3JlIGJsb2NrZWQgYmVjYXVzZSBjaGVja3BvaW50IGludGVncml0eSB2YWxpZGF0aW9uIGZhaWxlZC4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3AmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgQ0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1JlYWNoIENoYXB0ZXIgMSBuYXR1cmFsbHkgYmVmb3JlIGVwaXNvZGUgcmVzdG9yZSBiZWNvbWVzIGF2YWlsYWJsZS4mbHQ7L3AmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQ1LWNhcmQmcXVvdDsmZ3Q7Jmx0O2gyJmd0O0VwaXNvZGUgMjogQXNodG9uIGFuZCBSZXNjdWUmbHQ7L2gyJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Qm91bmRhcnk6Jmx0Oy9zdHJvbmcmZ3Q7IENoYXB0ZXIgNywgRXBpc29kZVR3b09wZW5pbmcmbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ1UmVhZEVwaXNvZGUoJnF1b3Q7MiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9oZWFsdGggPSBzZXR1cC52NDVDaGVja3BvaW50SGVhbHRoKF9jcCwgJnF1b3Q7NyZxdW90OywgJnF1b3Q7RXBpc29kZVR3b09wZW5pbmcmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2lmIF9jcCZndDsmZ3Q7Jmx0O3AmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtBVkFJTEFCTEUmbHQ7L3NwYW4mZ3Q7ICZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0NS1oZWFsdGgmcXVvdDsmZ3Q7SW50ZWdyaXR5OiAmbHQ7Jmx0Oz0gX2hlYWx0aC5tZXNzYWdlJmd0OyZndDsmbHQ7L3NwYW4mZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzbWFsbCZndDtDYXB0dXJlZCAmbHQ7Jmx0Oz0gX2NwLmNhcHR1cmVkQXQmZ3Q7Jmd0OyZsdDsvc21hbGwmZ3Q7Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBfaGVhbHRoLm9rJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzdG9yZSBFcGlzb2RlIDIgU3RhcnQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIF9vayA9IHdpbmRvdy5jb25maXJtKCZxdW90O1Jlc3RvcmUgdGhlIHZhbGlkYXRlZCBzdGFydCBvZiBFcGlzb2RlIDI/IEN1cnJlbnQgdW5zYXZlZCBwcm9ncmVzcyB3aWxsIGJlIHJlcGxhY2VkLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX29rJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC52NDVSZXN0b3JlRXBpc29kZSgmcXVvdDsyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4mZ3Q7UmVzdG9yZSBibG9ja2VkIGJlY2F1c2UgY2hlY2twb2ludCBpbnRlZ3JpdHkgdmFsaWRhdGlvbiBmYWlsZWQuJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtwJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7Tk9UIENBUFRVUkVEJmx0Oy9zcGFuJmd0OyZsdDsvcCZndDsmbHQ7cCZndDtSZWFjaCBDaGFwdGVyIDcgbmF0dXJhbGx5IGJlZm9yZSBlcGlzb2RlIHJlc3RvcmUgYmVjb21lcyBhdmFpbGFibGUuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1jYXJkJnF1b3Q7Jmd0OyZsdDtoMiZndDtFcGlzb2RlIDM6IFB1cnBsZSBSaW5nIGFuZCBDZW1ldGVyeSZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtCb3VuZGFyeTombHQ7L3N0cm9uZyZndDsgQ2hhcHRlciAxMSwgRXBpc29kZVRocmVlT3BlbmluZyZsdDsvcCZndDsmbHQ7Jmx0O3NldCBfY3AgPSBzZXR1cC52NDVSZWFkRXBpc29kZSgmcXVvdDszJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2hlYWx0aCA9IHNldHVwLnY0NUNoZWNrcG9pbnRIZWFsdGgoX2NwLCAmcXVvdDsxMSZxdW90OywgJnF1b3Q7RXBpc29kZVRocmVlT3BlbmluZyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7cCZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0FWQUlMQUJMRSZsdDsvc3BhbiZndDsgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQ1LWhlYWx0aCZxdW90OyZndDtJbnRlZ3JpdHk6ICZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O3NtYWxsJmd0O0NhcHR1cmVkICZsdDsmbHQ7PSBfY3AuY2FwdHVyZWRBdCZndDsmZ3Q7Jmx0Oy9zbWFsbCZndDsmbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXN0b3JlIEVwaXNvZGUgMyBTdGFydCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX29rID0gd2luZG93LmNvbmZpcm0oJnF1b3Q7UmVzdG9yZSB0aGUgdmFsaWRhdGVkIHN0YXJ0IG9mIEVwaXNvZGUgMz8gQ3VycmVudCB1bnNhdmVkIHByb2dyZXNzIHdpbGwgYmUgcmVwbGFjZWQuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfb2smZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NVJlc3RvcmVFcGlzb2RlKCZxdW90OzMmcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiZndDtSZXN0b3JlIGJsb2NrZWQgYmVjYXVzZSBjaGVja3BvaW50IGludGVncml0eSB2YWxpZGF0aW9uIGZhaWxlZC4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3AmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgQ0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1JlYWNoIENoYXB0ZXIgMTEgbmF0dXJhbGx5IGJlZm9yZSBlcGlzb2RlIHJlc3RvcmUgYmVjb21lcyBhdmFpbGFibGUuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1jYXJkJnF1b3Q7Jmd0OyZsdDtoMiZndDtFcGlzb2RlIDQ6IExhdGVyIFBoYXNlcyZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtCb3VuZGFyeTombHQ7L3N0cm9uZyZndDsgQ2hhcHRlciAxNSwgUGhhc2VGaXZlQ29uY2x1c2lvbiZsdDsvcCZndDsmbHQ7Jmx0O3NldCBfY3AgPSBzZXR1cC52NDVSZWFkRXBpc29kZSgmcXVvdDs0JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2hlYWx0aCA9IHNldHVwLnY0NUNoZWNrcG9pbnRIZWFsdGgoX2NwLCAmcXVvdDsxNSZxdW90OywgJnF1b3Q7UGhhc2VGaXZlQ29uY2x1c2lvbiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2NwJmd0OyZndDsmbHQ7cCZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O0FWQUlMQUJMRSZsdDsvc3BhbiZndDsgJmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQ1LWhlYWx0aCZxdW90OyZndDtJbnRlZ3JpdHk6ICZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O3NtYWxsJmd0O0NhcHR1cmVkICZsdDsmbHQ7PSBfY3AuY2FwdHVyZWRBdCZndDsmZ3Q7Jmx0Oy9zbWFsbCZndDsmbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXN0b3JlIEVwaXNvZGUgNCBTdGFydCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gX29rID0gd2luZG93LmNvbmZpcm0oJnF1b3Q7UmVzdG9yZSB0aGUgdmFsaWRhdGVkIHN0YXJ0IG9mIEVwaXNvZGUgND8gQ3VycmVudCB1bnNhdmVkIHByb2dyZXNzIHdpbGwgYmUgcmVwbGFjZWQuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiBfb2smZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnY0NVJlc3RvcmVFcGlzb2RlKCZxdW90OzQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiZndDtSZXN0b3JlIGJsb2NrZWQgYmVjYXVzZSBjaGVja3BvaW50IGludGVncml0eSB2YWxpZGF0aW9uIGZhaWxlZC4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3AmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtOT1QgQ0FQVFVSRUQmbHQ7L3NwYW4mZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0O1JlYWNoIENoYXB0ZXIgMTUgbmF0dXJhbGx5IGJlZm9yZSBlcGlzb2RlIHJlc3RvcmUgYmVjb21lcyBhdmFpbGFibGUuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRXBpc29kZSBjaGVja3BvaW50IGRpYWdub3N0aWNzLSZndDtWNDVFcGlzb2RlRGlhZ25vc3RpY3NdXSBbW0NoYXB0ZXIgY2hlY2twb2ludCBtYW5hZ2VyLSZndDtWNDRDaGVja3BvaW50TWFuYWdlcl1dIFtbUmV0dXJuIHRvIGRhc2hib2FyZC0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MTgiIG5hbWU9IlY0NUVwaXNvZGVEaWFnbm9zdGljcyIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iMjEwMCwyMTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtFcGlzb2RlIENoZWNrcG9pbnQgRGlhZ25vc3RpY3MmbHQ7L2gxJmd0OyZsdDtwcmUgY2xhc3M9JnF1b3Q7djQyLXByb2ZpbGUmcXVvdDsmZ3Q7Jmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KHNldHVwLnY0NUVwaXNvZGVTdGF0dXMoKSwgbnVsbCwgMikmZ3Q7Jmd0OyZsdDsvcHJlJmd0OyZsdDtwIGNsYXNzPSZxdW90O3Y0LW5vdGUmcXVvdDsmZ3Q7QW4gZXBpc29kZSBjaGVja3BvaW50IGlzIGFuIGFsaWFzIHRvIHRoZSB2YWxpZGF0ZWQgY2hlY2twb2ludCBhdCB0aGF0IGVwaXNvZGUmIzM5O3MgZmlyc3QgbWFwcGVkIGNoYXB0ZXIuIE5vIGR1cGxpY2F0ZSBzdG9yeS1zdGF0ZSBjb3B5IGlzIGNyZWF0ZWQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gZXBpc29kZSBjaGVja3BvaW50IG1hbmFnZXItJmd0O1Y0NUVwaXNvZGVDaGVja3BvaW50TWFuYWdlcl1dIFtbUmV0dXJuIHRvIGRhc2hib2FyZC0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MTkiIG5hbWU9IlY0NUNoZWNrcG9pbnRJbnRlZ3JpdHkiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjIxMDAsMjEwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7aDEmZ3Q7Q2hlY2twb2ludCBJbnRlZ3JpdHkgUmVwb3J0Jmx0Oy9oMSZndDsmbHQ7cCZndDtUaGlzIHZlcmlmaWVzIHNjaGVtYSwgY2hhcHRlciBudW1iZXIsIGVudHJ5IHBhc3NhZ2UsIGFuZCB2YXJpYWJsZSBwYXlsb2FkIGZvciBldmVyeSBzdG9yZWQgY2hhcHRlciBjaGVja3BvaW50LiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1oZWFsdGgtcm93JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAxJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7Q2hhcHRlciAxIFRyYW5zaXRpb24mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7MSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9oZWFsdGggPSBzZXR1cC52NDVDaGVja3BvaW50SGVhbHRoKF9jcCwgJnF1b3Q7MSZxdW90OywgJnF1b3Q7Q2hhcHRlciAxIFRyYW5zaXRpb24mcXVvdDspJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0O3Y0LXBhc3MmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O3Y0LW9wZW4mbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1oZWFsdGgtcm93JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAyJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7Q2hhcHRlciAyIFRyYW5zaXRpb24mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7MiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9oZWFsdGggPSBzZXR1cC52NDVDaGVja3BvaW50SGVhbHRoKF9jcCwgJnF1b3Q7MiZxdW90OywgJnF1b3Q7Q2hhcHRlciAyIFRyYW5zaXRpb24mcXVvdDspJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0O3Y0LXBhc3MmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O3Y0LW9wZW4mbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1oZWFsdGgtcm93JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAzJmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7Q2hhcHRlciAzIFRyYW5zaXRpb24mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7MyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9oZWFsdGggPSBzZXR1cC52NDVDaGVja3BvaW50SGVhbHRoKF9jcCwgJnF1b3Q7MyZxdW90OywgJnF1b3Q7Q2hhcHRlciAzIFRyYW5zaXRpb24mcXVvdDspJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0O3Y0LXBhc3MmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O3Y0LW9wZW4mbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1oZWFsdGgtcm93JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciA0Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7Q2hhcHRlciA0IFRyYW5zaXRpb24mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7NCZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9oZWFsdGggPSBzZXR1cC52NDVDaGVja3BvaW50SGVhbHRoKF9jcCwgJnF1b3Q7NCZxdW90OywgJnF1b3Q7Q2hhcHRlciA0IFRyYW5zaXRpb24mcXVvdDspJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0O3Y0LXBhc3MmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O3Y0LW9wZW4mbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1oZWFsdGgtcm93JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciA1Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7Q2hhcHRlciA1IFRyYW5zaXRpb24mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7NSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9oZWFsdGggPSBzZXR1cC52NDVDaGVja3BvaW50SGVhbHRoKF9jcCwgJnF1b3Q7NSZxdW90OywgJnF1b3Q7Q2hhcHRlciA1IFRyYW5zaXRpb24mcXVvdDspJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0O3Y0LXBhc3MmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O3Y0LW9wZW4mbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1oZWFsdGgtcm93JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciA2Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7Q2hhcHRlciA2IFRyYW5zaXRpb24mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7NiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9oZWFsdGggPSBzZXR1cC52NDVDaGVja3BvaW50SGVhbHRoKF9jcCwgJnF1b3Q7NiZxdW90OywgJnF1b3Q7Q2hhcHRlciA2IFRyYW5zaXRpb24mcXVvdDspJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0O3Y0LXBhc3MmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O3Y0LW9wZW4mbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1oZWFsdGgtcm93JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciA3Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7RXBpc29kZVR3b09wZW5pbmcmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7NyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9oZWFsdGggPSBzZXR1cC52NDVDaGVja3BvaW50SGVhbHRoKF9jcCwgJnF1b3Q7NyZxdW90OywgJnF1b3Q7RXBpc29kZVR3b09wZW5pbmcmcXVvdDspJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0O3Y0LXBhc3MmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O3Y0LW9wZW4mbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1oZWFsdGgtcm93JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciA4Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7QXNodG9uRmluYWxXYXJuaW5nJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzgmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCBfaGVhbHRoID0gc2V0dXAudjQ1Q2hlY2twb2ludEhlYWx0aChfY3AsICZxdW90OzgmcXVvdDssICZxdW90O0FzaHRvbkZpbmFsV2FybmluZyZxdW90OykmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90OyZsdDsmbHQ7aWYgX2hlYWx0aC5vayZndDsmZ3Q7djQtcGFzcyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7djQtb3BlbiZsdDsmbHQ7L2lmJmd0OyZndDsmcXVvdDsmZ3Q7Jmx0OyZsdDs9IF9oZWFsdGgubWVzc2FnZSZndDsmZ3Q7Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQ1LWhlYWx0aC1yb3cmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDkmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtSYWNlVG9XaW5jaGVzdGVySG91c2UmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7OSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9oZWFsdGggPSBzZXR1cC52NDVDaGVja3BvaW50SGVhbHRoKF9jcCwgJnF1b3Q7OSZxdW90OywgJnF1b3Q7UmFjZVRvV2luY2hlc3RlckhvdXNlJnF1b3Q7KSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Jmx0OyZsdDtpZiBfaGVhbHRoLm9rJmd0OyZndDt2NC1wYXNzJmx0OyZsdDtlbHNlJmd0OyZndDt2NC1vcGVuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZxdW90OyZndDsmbHQ7Jmx0Oz0gX2hlYWx0aC5tZXNzYWdlJmd0OyZndDsmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDUtaGVhbHRoLXJvdyZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMTAmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtSZXNjdWVBZnRlcm1hdGgmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7MTAmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCBfaGVhbHRoID0gc2V0dXAudjQ1Q2hlY2twb2ludEhlYWx0aChfY3AsICZxdW90OzEwJnF1b3Q7LCAmcXVvdDtSZXNjdWVBZnRlcm1hdGgmcXVvdDspJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0O3Y0LXBhc3MmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O3Y0LW9wZW4mbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1oZWFsdGgtcm93JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAxMSZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O0VwaXNvZGVUaHJlZU9wZW5pbmcmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7MTEmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCBfaGVhbHRoID0gc2V0dXAudjQ1Q2hlY2twb2ludEhlYWx0aChfY3AsICZxdW90OzExJnF1b3Q7LCAmcXVvdDtFcGlzb2RlVGhyZWVPcGVuaW5nJnF1b3Q7KSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Jmx0OyZsdDtpZiBfaGVhbHRoLm9rJmd0OyZndDt2NC1wYXNzJmx0OyZsdDtlbHNlJmd0OyZndDt2NC1vcGVuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZxdW90OyZndDsmbHQ7Jmx0Oz0gX2hlYWx0aC5tZXNzYWdlJmd0OyZndDsmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDUtaGVhbHRoLXJvdyZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMTImbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtFcGlzb2RlVGhyZWVMaWJyYXJ5TGVhZCZsdDsvc3BhbiZndDsmbHQ7Jmx0O3NldCBfY3AgPSBzZXR1cC52NDRSZWFkQ2hhcHRlcigmcXVvdDsxMiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9oZWFsdGggPSBzZXR1cC52NDVDaGVja3BvaW50SGVhbHRoKF9jcCwgJnF1b3Q7MTImcXVvdDssICZxdW90O0VwaXNvZGVUaHJlZUxpYnJhcnlMZWFkJnF1b3Q7KSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Jmx0OyZsdDtpZiBfaGVhbHRoLm9rJmd0OyZndDt2NC1wYXNzJmx0OyZsdDtlbHNlJmd0OyZndDt2NC1vcGVuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZxdW90OyZndDsmbHQ7Jmx0Oz0gX2hlYWx0aC5tZXNzYWdlJmd0OyZndDsmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDUtaGVhbHRoLXJvdyZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMTMmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtQdXJwbGVMZWFkRW5kaW5nJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzEzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2hlYWx0aCA9IHNldHVwLnY0NUNoZWNrcG9pbnRIZWFsdGgoX2NwLCAmcXVvdDsxMyZxdW90OywgJnF1b3Q7UHVycGxlTGVhZEVuZGluZyZxdW90OykmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90OyZsdDsmbHQ7aWYgX2hlYWx0aC5vayZndDsmZ3Q7djQtcGFzcyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7djQtb3BlbiZsdDsmbHQ7L2lmJmd0OyZndDsmcXVvdDsmZ3Q7Jmx0OyZsdDs9IF9oZWFsdGgubWVzc2FnZSZndDsmZ3Q7Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQ1LWhlYWx0aC1yb3cmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDE0Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7Q2VtZXRlcnlPcGVuaW5nJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzE0JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2hlYWx0aCA9IHNldHVwLnY0NUNoZWNrcG9pbnRIZWFsdGgoX2NwLCAmcXVvdDsxNCZxdW90OywgJnF1b3Q7Q2VtZXRlcnlPcGVuaW5nJnF1b3Q7KSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Jmx0OyZsdDtpZiBfaGVhbHRoLm9rJmd0OyZndDt2NC1wYXNzJmx0OyZsdDtlbHNlJmd0OyZndDt2NC1vcGVuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZxdW90OyZndDsmbHQ7Jmx0Oz0gX2hlYWx0aC5tZXNzYWdlJmd0OyZndDsmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDUtaGVhbHRoLXJvdyZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMTUmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtQaGFzZUZpdmVDb25jbHVzaW9uJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzE1JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2hlYWx0aCA9IHNldHVwLnY0NUNoZWNrcG9pbnRIZWFsdGgoX2NwLCAmcXVvdDsxNSZxdW90OywgJnF1b3Q7UGhhc2VGaXZlQ29uY2x1c2lvbiZxdW90OykmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90OyZsdDsmbHQ7aWYgX2hlYWx0aC5vayZndDsmZ3Q7djQtcGFzcyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7djQtb3BlbiZsdDsmbHQ7L2lmJmd0OyZndDsmcXVvdDsmZ3Q7Jmx0OyZsdDs9IF9oZWFsdGgubWVzc2FnZSZndDsmZ3Q7Jmx0Oy9zcGFuJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7djQ1LWhlYWx0aC1yb3cmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFwdGVyIDE2Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7UGhhc2VTaXhPcGVuaW5nJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzE2JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2hlYWx0aCA9IHNldHVwLnY0NUNoZWNrcG9pbnRIZWFsdGgoX2NwLCAmcXVvdDsxNiZxdW90OywgJnF1b3Q7UGhhc2VTaXhPcGVuaW5nJnF1b3Q7KSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7Jmx0OyZsdDtpZiBfaGVhbHRoLm9rJmd0OyZndDt2NC1wYXNzJmx0OyZsdDtlbHNlJmd0OyZndDt2NC1vcGVuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZxdW90OyZndDsmbHQ7Jmx0Oz0gX2hlYWx0aC5tZXNzYWdlJmd0OyZndDsmbHQ7L3NwYW4mZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2NDUtaGVhbHRoLXJvdyZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0NoYXB0ZXIgMTcmbHQ7L3N0cm9uZyZndDsmbHQ7c3BhbiZndDtQaGFzZVNpeEFyY2hpdmVIdWImbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtzZXQgX2NwID0gc2V0dXAudjQ0UmVhZENoYXB0ZXIoJnF1b3Q7MTcmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCBfaGVhbHRoID0gc2V0dXAudjQ1Q2hlY2twb2ludEhlYWx0aChfY3AsICZxdW90OzE3JnF1b3Q7LCAmcXVvdDtQaGFzZVNpeEFyY2hpdmVIdWImcXVvdDspJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0O3Y0LXBhc3MmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O3Y0LW9wZW4mbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0NS1oZWFsdGgtcm93JnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Q2hhcHRlciAxOCZsdDsvc3Ryb25nJmd0OyZsdDtzcGFuJmd0O1BoYXNlU2l4Rm91cnRoTmFtZUVudHJ5Jmx0Oy9zcGFuJmd0OyZsdDsmbHQ7c2V0IF9jcCA9IHNldHVwLnY0NFJlYWRDaGFwdGVyKCZxdW90OzE4JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX2hlYWx0aCA9IHNldHVwLnY0NUNoZWNrcG9pbnRIZWFsdGgoX2NwLCAmcXVvdDsxOCZxdW90OywgJnF1b3Q7UGhhc2VTaXhGb3VydGhOYW1lRW50cnkmcXVvdDspJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDsmbHQ7Jmx0O2lmIF9oZWFsdGgub2smZ3Q7Jmd0O3Y0LXBhc3MmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O3Y0LW9wZW4mbHQ7Jmx0Oy9pZiZndDsmZ3Q7JnF1b3Q7Jmd0OyZsdDsmbHQ7PSBfaGVhbHRoLm1lc3NhZ2UmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRXBpc29kZSBjaGVja3BvaW50IG1hbmFnZXItJmd0O1Y0NUVwaXNvZGVDaGVja3BvaW50TWFuYWdlcl1dIFtbQ2hhcHRlciBjaGVja3BvaW50IG1hbmFnZXItJmd0O1Y0NENoZWNrcG9pbnRNYW5hZ2VyXV0gW1tSZXR1cm4gdG8gZGFzaGJvYXJkLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUyMCIgbmFtZT0iUkNSZWxlYXNlUmVhZGluZXNzIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIyMjAwLDIyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O1JlbGVhc2UgUmVhZGluZXNzIERhc2hib2FyZCZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7Q29tcGxldGUgdGhpcyBzaG9ydCBnYXRlIGJlZm9yZSByZXBsYWNpbmcgdGhlIGxpdmUgZGVtb25zdHJhdGlvbiBidWlsZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyYy1jaGVjayZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnJjQ2hlY2tzICZhbXA7JmFtcDsgc2V0dXAucmNDaGVja3NbJnF1b3Q7bGlua3MmcXVvdDtdJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O1BBU1MmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O09QRU4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtObyBjb252ZW50aW9uYWwgYnJva2VuIHN0YXRpYyBsaW5rcyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtpZiBub3Qgc2V0dXAucmNDaGVja3MmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJjQ2hlY2tzPXt9Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmNDaGVja3NbJnF1b3Q7bGlua3MmcXVvdDtdPSFzZXR1cC5yY0NoZWNrc1smcXVvdDtsaW5rcyZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtSQ1JlbGVhc2VSZWFkaW5lc3MmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmMtY2hlY2smcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC5yY0NoZWNrcyAmYW1wOyZhbXA7IHNldHVwLnJjQ2hlY2tzWyZxdW90O3Bhc3N3b3JkJnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3RhZmYgcGFzc3dvcmQgZ2F0ZSBwcmVzZW50JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2lmIG5vdCBzZXR1cC5yY0NoZWNrcyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmNDaGVja3M9e30mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yY0NoZWNrc1smcXVvdDtwYXNzd29yZCZxdW90O109IXNldHVwLnJjQ2hlY2tzWyZxdW90O3Bhc3N3b3JkJnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1JDUmVsZWFzZVJlYWRpbmVzcyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyYy1jaGVjayZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnJjQ2hlY2tzICZhbXA7JmFtcDsgc2V0dXAucmNDaGVja3NbJnF1b3Q7aGlkZGVuJnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3RhZmYgY29udHJvbHMgaGlkZGVuIGR1cmluZyBub3JtYWwgcGxheSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtpZiBub3Qgc2V0dXAucmNDaGVja3MmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJjQ2hlY2tzPXt9Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmNDaGVja3NbJnF1b3Q7aGlkZGVuJnF1b3Q7XT0hc2V0dXAucmNDaGVja3NbJnF1b3Q7aGlkZGVuJnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1JDUmVsZWFzZVJlYWRpbmVzcyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyYy1jaGVjayZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnJjQ2hlY2tzICZhbXA7JmFtcDsgc2V0dXAucmNDaGVja3NbJnF1b3Q7YXdhcmRzJnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7T25lLXRpbWUgcmV3YXJkIHByb3RlY3Rpb24gYWN0aXZlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2lmIG5vdCBzZXR1cC5yY0NoZWNrcyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmNDaGVja3M9e30mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yY0NoZWNrc1smcXVvdDthd2FyZHMmcXVvdDtdPSFzZXR1cC5yY0NoZWNrc1smcXVvdDthd2FyZHMmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7UkNSZWxlYXNlUmVhZGluZXNzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3JjLWNoZWNrJnF1b3Q7Jmd0OyZsdDsmbHQ7aWYgc2V0dXAucmNDaGVja3MgJmFtcDsmYW1wOyBzZXR1cC5yY0NoZWNrc1smcXVvdDtzYXZlJnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2F2ZS1zdGF0ZSBzbmFwc2hvdCBjb21wYXJpc29uIHRlc3RlZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtpZiBub3Qgc2V0dXAucmNDaGVja3MmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJjQ2hlY2tzPXt9Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmNDaGVja3NbJnF1b3Q7c2F2ZSZxdW90O109IXNldHVwLnJjQ2hlY2tzWyZxdW90O3NhdmUmcXVvdDtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7UkNSZWxlYXNlUmVhZGluZXNzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3JjLWNoZWNrJnF1b3Q7Jmd0OyZsdDsmbHQ7aWYgc2V0dXAucmNDaGVja3MgJmFtcDsmYW1wOyBzZXR1cC5yY0NoZWNrc1smcXVvdDtjaGFwdGVyJnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q2hhcHRlciBjaGVja3BvaW50IHJlc3RvcmUgdGVzdGVkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2lmIG5vdCBzZXR1cC5yY0NoZWNrcyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmNDaGVja3M9e30mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yY0NoZWNrc1smcXVvdDtjaGFwdGVyJnF1b3Q7XT0hc2V0dXAucmNDaGVja3NbJnF1b3Q7Y2hhcHRlciZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtSQ1JlbGVhc2VSZWFkaW5lc3MmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmMtY2hlY2smcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC5yY0NoZWNrcyAmYW1wOyZhbXA7IHNldHVwLnJjQ2hlY2tzWyZxdW90O2VwaXNvZGUmcXVvdDtdJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O1BBU1MmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O09QRU4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtFcGlzb2RlIGNoZWNrcG9pbnQgcmVzdG9yZSB0ZXN0ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7aWYgbm90IHNldHVwLnJjQ2hlY2tzJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yY0NoZWNrcz17fSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJjQ2hlY2tzWyZxdW90O2VwaXNvZGUmcXVvdDtdPSFzZXR1cC5yY0NoZWNrc1smcXVvdDtlcGlzb2RlJnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1JDUmVsZWFzZVJlYWRpbmVzcyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyYy1jaGVjayZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnJjQ2hlY2tzICZhbXA7JmFtcDsgc2V0dXAucmNDaGVja3NbJnF1b3Q7aW50ZWdyaXR5JnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7QWxsIGF2YWlsYWJsZSBjaGVja3BvaW50cyBwYXNzIGludGVncml0eSBjaGVja3MmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7aWYgbm90IHNldHVwLnJjQ2hlY2tzJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yY0NoZWNrcz17fSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJjQ2hlY2tzWyZxdW90O2ludGVncml0eSZxdW90O109IXNldHVwLnJjQ2hlY2tzWyZxdW90O2ludGVncml0eSZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtSQ1JlbGVhc2VSZWFkaW5lc3MmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmMtY2hlY2smcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC5yY0NoZWNrcyAmYW1wOyZhbXA7IHNldHVwLnJjQ2hlY2tzWyZxdW90O3Jlc2V0JnF1b3Q7XSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtPUEVOJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q29udHJvbGxlZCByZXN0YXJ0IGFuZCBmYWN0b3J5IHJlc2V0IHRlc3RlZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtpZiBub3Qgc2V0dXAucmNDaGVja3MmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJjQ2hlY2tzPXt9Jmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmNDaGVja3NbJnF1b3Q7cmVzZXQmcXVvdDtdPSFzZXR1cC5yY0NoZWNrc1smcXVvdDtyZXNldCZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtSQ1JlbGVhc2VSZWFkaW5lc3MmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmMtY2hlY2smcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC5yY0NoZWNrcyAmYW1wOyZhbXA7IHNldHVwLnJjQ2hlY2tzWyZxdW90O21vYmlsZSZxdW90O10mZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7UEFTUyZsdDsvc3BhbiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7T1BFTiZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O01vYmlsZSBsYXlvdXQgcmV2aWV3ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7aWYgbm90IHNldHVwLnJjQ2hlY2tzJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yY0NoZWNrcz17fSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJjQ2hlY2tzWyZxdW90O21vYmlsZSZxdW90O109IXNldHVwLnJjQ2hlY2tzWyZxdW90O21vYmlsZSZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtSQ1JlbGVhc2VSZWFkaW5lc3MmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cmMtY2hlY2smcXVvdDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC5yY0NoZWNrcyAmYW1wOyZhbXA7IHNldHVwLnJjQ2hlY2tzWyZxdW90O2NvbnNvbGUmcXVvdDtdJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O1BBU1MmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1vcGVuJnF1b3Q7Jmd0O09QRU4mbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtCcm93c2VyIGNvbnNvbGUgZnJlZSBvZiBlcnJvcnMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7aWYgbm90IHNldHVwLnJjQ2hlY2tzJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yY0NoZWNrcz17fSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJjQ2hlY2tzWyZxdW90O2NvbnNvbGUmcXVvdDtdPSFzZXR1cC5yY0NoZWNrc1smcXVvdDtjb25zb2xlJnF1b3Q7XSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1JDUmVsZWFzZVJlYWRpbmVzcyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyYy1jaGVjayZxdW90OyZndDsmbHQ7Jmx0O2lmIHNldHVwLnJjQ2hlY2tzICZhbXA7JmFtcDsgc2V0dXAucmNDaGVja3NbJnF1b3Q7ZGVtbyZxdW90O10mZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7UEFTUyZsdDsvc3BhbiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7T1BFTiZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0NsZWFuIGRlbW8gcGxheXRocm91Z2ggY29tcGxldGVkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2lmIG5vdCBzZXR1cC5yY0NoZWNrcyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmNDaGVja3M9e30mZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yY0NoZWNrc1smcXVvdDtkZW1vJnF1b3Q7XT0hc2V0dXAucmNDaGVja3NbJnF1b3Q7ZGVtbyZxdW90O10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtSQ1JlbGVhc2VSZWFkaW5lc3MmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0NsZWFyIHJlbGVhc2UgY2hlY2tsaXN0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yY0NoZWNrcz17fSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1JDUmVsZWFzZVJlYWRpbmVzcyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7IFtbU3RhZmYgQ29uc29sZS0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MjEiIG5hbWU9IlJDQnVpbGRJbmZvIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIyMjAwLDIyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O0J1aWxkIEluZm9ybWF0aW9uJmx0Oy9oMSZndDsmbHQ7dWwmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7VmVyc2lvbjombHQ7L3N0cm9uZyZndDsgNC42LjAtcmMxJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtDaGFubmVsOiZsdDsvc3Ryb25nJmd0OyBSZWxlYXNlIENhbmRpZGF0ZSZsdDsvbGkmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7QnVpbGQgZGF0ZTombHQ7L3N0cm9uZyZndDsgMjAyNi0xMC0yMCZsdDsvbGkmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7U291cmNlIGZpbmdlcnByaW50OiZsdDsvc3Ryb25nJmd0OyA2ZjA2MzI1OTE2ODhhMTRmJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtQYXNzYWdlcyBiZWZvcmUgUkMgYWRkaXRpb25zOiZsdDsvc3Ryb25nJmd0OyA1MjAmbHQ7L2xpJmd0OyZsdDsvdWwmZ3Q7Jmx0O3AmZ3Q7VGhpcyBpZGVudGlmaWVyIGhlbHBzIGRpc3Rpbmd1aXNoIHRoZSBsaXZlIGRlbW8gY2FuZGlkYXRlIGZyb20gcHJpb3Igc3RhYmlsaXphdGlvbiBidWlsZHMuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTdGFmZiBDb25zb2xlLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUyMiIgbmFtZT0iUkNWaXNpYmlsaXR5QXVkaXQiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjIyMDAsMjIwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7aDEmZ3Q7U3RhZmYgVmlzaWJpbGl0eSBBdWRpdCZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtTdGFmZi9zeXN0ZW0gcGFzc2FnZXMgdHJhY2tlZDombHQ7L3N0cm9uZyZndDsgMjEmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtVbmV4cGVjdGVkIHJlZmVyZW5jZXMgZnJvbSBvcmRpbmFyeSBwYXNzYWdlczombHQ7L3N0cm9uZyZndDsgMCZsdDsvcCZndDsmbHQ7Jmx0O2lmIGZhbHNlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3Y0Mi13YXJuaW5nJnF1b3Q7Jmd0O1JldmlldyB0aGUgdmlzaWJpbGl0eSByZXBvcnQgaW5jbHVkZWQgd2l0aCB0aGUgYnVpbGQgcGFja2FnZS4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtwJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LXBhc3MmcXVvdDsmZ3Q7UEFTUyZsdDsvc3BhbiZndDsgTm8gb3JkaW5hcnkgc3RvcnkgcGFzc2FnZSBkaXJlY3RseSByZWZlcmVuY2VzIGEgc3RhZmYvc3lzdGVtIHBhc3NhZ2UuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7cCZndDtTdGFmZiBUb29scyByZW1haW5zIGF2YWlsYWJsZSBvbmx5IHRocm91Z2ggdGhlIHN0b3J5IG1lbnUgcGFzc3dvcmQgZ2F0ZS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTIzIiBuYW1lPSJCdWlsZDUxQ29uc2VxdWVuY2VMb2ciIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjI0MDAsMjQwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7aDEmZ3Q7QnVpbGQgNS4xIENvbnNlcXVlbmNlIExvZyZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtNYWpvciBkZWNpc2lvbnMgcmVjb3JkZWQ6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBPYmplY3Qua2V5cygkbWFqb3JDb25zZXF1ZW5jZXMgfHwge30pLmxlbmd0aCZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDsmbHQ7aWYgJGNvbnNlcXVlbmNlTG9nLmxlbmd0aCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1yZXN1bHRzJnF1b3Q7Jmd0OyZsdDsmbHQ7Zm9yIF9pdGVtIHJhbmdlICRjb25zZXF1ZW5jZUxvZyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYXJkJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDtwcmludCBfaXRlbS5pZCZndDsmZ3Q7OiAmbHQ7Jmx0O3ByaW50IF9pdGVtLmNob2ljZSZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3NwYW4mZ3Q7Jmx0OyZsdDtwcmludCBfaXRlbS5lZmZlY3QmZ3Q7Jmd0OyZsdDsvc3BhbiZndDsmbHQ7c21hbGwmZ3Q7UmVjb3JkZWQgYXQgJmx0OyZsdDtwcmludCBfaXRlbS5wYXNzYWdlJmd0OyZndDsmbHQ7L3NtYWxsJmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2ZvciZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtObyBtYWpvciBjb25zZXF1ZW5jZXMgaGF2ZSBiZWVuIHJlY29yZGVkLiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTI0IiBuYW1lPSJDYXNlRmlsZTIiIHRhZ3M9InN5c3RlbSIgcG9zaXRpb249IjI1MDAsMjUwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2gxJmd0O0Nhc2UgRmlsZSAyLjAmbHQ7L2gxJmd0OyZsdDsmbHQ7aWYgT2JqZWN0LmtleXMoJGNhc2VGaWxlMikubGVuZ3RoJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nhc2UyLWdyaWQmcXVvdDsmZ3Q7Jmx0OyZsdDtmb3IgX2lkLF9jbHVlIHJhbmdlICRjYXNlRmlsZTImZ3Q7Jmd0OyZsdDthcnRpY2xlJmd0OyZsdDtoMiZndDsmbHQ7Jmx0O3ByaW50IF9jbHVlLnRpdGxlJmd0OyZndDsmbHQ7L2gyJmd0OyZsdDtwJmd0OyZsdDtiJmd0O0luaXRpYWwgb3duZXI6Jmx0Oy9iJmd0OyAmbHQ7Jmx0O3ByaW50IF9jbHVlLm93bmVyJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtpZiAkY2x1ZU93bmVyc2hpcFtfaWRdJmd0OyZndDsmbHQ7cCZndDsmbHQ7YiZndDtDdXJyZW50bHkga25vd24gYnk6Jmx0Oy9iJmd0OyAmbHQ7Jmx0O3ByaW50ICRjbHVlT3duZXJzaGlwW19pZF0ua25vd3Muam9pbigmcXVvdDssICZxdW90OykmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7YiZndDtWZXJpZmllZCBieTombHQ7L2ImZ3Q7ICZsdDsmbHQ7cHJpbnQgJGNsdWVPd25lcnNoaXBbX2lkXS52ZXJpZmllZEJ5LmpvaW4oJnF1b3Q7LCAmcXVvdDspIHx8ICZxdW90O05vdCB5ZXQgdmVyaWZpZWQmcXVvdDsmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O3AmZ3Q7Jmx0O2ImZ3Q7UmVsaWFiaWxpdHk6Jmx0Oy9iJmd0OyAmbHQ7Jmx0O3ByaW50IF9jbHVlLnJlbGlhYmlsaXR5Jmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O2ImZ3Q7Q29udHJhZGljdGlvbjombHQ7L2ImZ3Q7ICZsdDsmbHQ7cHJpbnQgX2NsdWUuY29udHJhZGljdGlvbiZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtiJmd0O1VucmVzb2x2ZWQ6Jmx0Oy9iJmd0OyAmbHQ7Jmx0O3ByaW50IF9jbHVlLnF1ZXN0aW9uJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OyZsdDsmbHQ7L2ZvciZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtObyBzdHJ1Y3R1cmVkIGNsdWVzIGhhdmUgYmVlbiBhZGRlZCB5ZXQuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV2aWV3IHRoZSByZWN1cnJpbmcgaGF1bnRpbmcgcGF0dGVybi0mZ3Q7SGF1bnRpbmdQYXR0ZXJuTm90ZXNdXSBbW1JldmlldyBoYXVudGluZyBhZnRlcmVmZmVjdHMtJmd0O0hhdW50aW5nQWZ0ZXJlZmZlY3RzXV0gW1tSZXZpZXcgY29udGFpbm1lbnQgcmVzdWx0cy0mZ3Q7Q29udGFpbm1lbnRSZXN1bHRzXV0gW1tSZXZpZXcgaGlkZGVuIHBsYWNlcy0mZ3Q7SGlkZGVuUGxhY2VzXV0gW1tSZXZpZXcgc3VwZXJuYXR1cmFsIG91dGNvbWUgZm9yZWNhc3QtJmd0O1N1cGVybmF0dXJhbEVuZGluZ0ZvcmVjYXN0XV0gW1tIYXVudGluZyBmcmVxdWVuY3kgc2V0dGluZ3MtJmd0O0hhdW50aW5nSW50ZW5zaXR5U2V0dGluZ3NdXSBbW1JldmlldyB1bmV4cGxhaW5lZCBzaWducy0mZ3Q7QXR0ZW50aW9uU2lnbnNdXSBbW0NoZWNrIGRlZHVjdGlvbiByZWFkaW5lc3MtJmd0O0tub3dsZWRnZU93bmVyc2hpcERlZHVjdGlvbl1dIFtbVmVyaWZ5IHNoYXJlZCBldmlkZW5jZS0mZ3Q7S25vd2xlZGdlVmVyaWZpY2F0aW9uRGVza11dIFtbUmV0dXJuIHRvIE15c3RlcnkgS2l0LSZndDtNeXN0ZXJ5IEtpdCAtIENhc2UgRmlsZV1dJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tVc2UgaW52ZXN0aWdhdG9yIGFiaWxpdGllcy0mZ3Q7QWN0aXZlQWJpbGl0aWVzSHViXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUyNSIgbmFtZT0iS25vd2xlZGdlU2hhcmluZ0h1YiIgdGFncz0ic3lzdGVtIGludmVzdGlnYXRpb24iIHBvc2l0aW9uPSIyNjAwLDI2MDAiIHNpemU9IjEwMCwxMDAiPiZsdDtoMSZndDtTaGFyZSB0aGUgRXZpZGVuY2UmbHQ7L2gxJmd0OyZsdDtwJmd0O1RoZSBncm91cCBjYW5ub3QgdXNlIGEgY2x1ZSBtZXJlbHkgYmVjYXVzZSB0aGUgcGxheWVyIGhhcyBzZWVuIGl0LiBDaG9vc2Ugd2hhdCBlYWNoIGludmVzdGlnYXRvciBwdXRzIGludG8gdGhlIHNoYXJlZCByZWNvcmQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7a25vd2xlZGdlLXNoYXJlLWxpc3QmcXVvdDsmZ3Q7CiZsdDsmbHQ7Zm9yIF9pZCxfY2x1ZSByYW5nZSAkY2x1ZU93bmVyc2hpcCZndDsmZ3Q7Jmx0O2FydGljbGUmZ3Q7Jmx0O2gyJmd0OyZsdDsmbHQ7cHJpbnQgX2NsdWUudGl0bGUmZ3Q7Jmd0OyZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7RGlzY292ZXJlZCBieSAmbHQ7YiZndDsmbHQ7Jmx0O3ByaW50IF9jbHVlLmRpc2NvdmVyZXImZ3Q7Jmd0OyZsdDsvYiZndDsuIEtub3duIGJ5OiAmbHQ7Jmx0O3ByaW50IF9jbHVlLmtub3dzLmpvaW4oJnF1b3Q7LCAmcXVvdDspJmd0OyZndDsmbHQ7L3AmZ3Q7CiZsdDsmbHQ7aWYgX2NsdWUuZGlzY292ZXJlciBpcyAmcXVvdDtLZXZpbiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1NoYXJlIHdpdGggS2ltbXkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnNoYXJlQ2x1ZShfaWQsJnF1b3Q7S2V2aW4mcXVvdDssJnF1b3Q7S2ltbXkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7S25vd2xlZGdlU2hhcmluZ0h1YiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtTaGFyZSB3aXRoIFJ5YW4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnNoYXJlQ2x1ZShfaWQsJnF1b3Q7S2V2aW4mcXVvdDssJnF1b3Q7UnlhbiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtLbm93bGVkZ2VTaGFyaW5nSHViJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7CiZsdDsmbHQ7aWYgX2NsdWUuZGlzY292ZXJlciBpcyAmcXVvdDtSeWFuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2hhcmUgd2l0aCBLaW1teSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuc2hhcmVDbHVlKF9pZCwmcXVvdDtSeWFuJnF1b3Q7LCZxdW90O0tpbW15JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0tub3dsZWRnZVNoYXJpbmdIdWImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2hhcmUgd2l0aCBLZXZpbiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuc2hhcmVDbHVlKF9pZCwmcXVvdDtSeWFuJnF1b3Q7LCZxdW90O0tldmluJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0tub3dsZWRnZVNoYXJpbmdIdWImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBfY2x1ZS5kaXNjb3ZlcmVyIGlzICZxdW90O0tpbW15JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2hhcmUgd2l0aCBSeWFuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5zaGFyZUNsdWUoX2lkLCZxdW90O0tpbW15JnF1b3Q7LCZxdW90O1J5YW4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7S25vd2xlZGdlU2hhcmluZ0h1YiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtTaGFyZSB3aXRoIEtldmluJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5zaGFyZUNsdWUoX2lkLCZxdW90O0tpbW15JnF1b3Q7LCZxdW90O0tldmluJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0tub3dsZWRnZVNoYXJpbmdIdWImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtpZiBfY2x1ZS5kaXNjb3ZlcmVyIGlzICZxdW90O1Njb290JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2hhcmUgd2l0aCB0aGUgZ3JvdXAmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnNoYXJlQ2x1ZShfaWQsJnF1b3Q7U2Nvb3QmcXVvdDssJnF1b3Q7S2V2aW4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5zaGFyZUNsdWUoX2lkLCZxdW90O1Njb290JnF1b3Q7LCZxdW90O1J5YW4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5zaGFyZUNsdWUoX2lkLCZxdW90O1Njb290JnF1b3Q7LCZxdW90O0tpbW15JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0tub3dsZWRnZVNoYXJpbmdIdWImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsKJmx0OyZsdDtsaW5rICZxdW90O1dpdGhob2xkIGZvciBub3cmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLndpdGhob2xkQ2x1ZShfaWQsX2NsdWUuZGlzY292ZXJlcikmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtLbm93bGVkZ2VTaGFyaW5nSHViJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0OyZsdDsvZm9yJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSBpbnZlc3RpZ2F0b3JzLSZndDtUaGUgRm91ciBJbnZlc3RpZ2F0b3JzIE1lZXRdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTI2IiBuYW1lPSJLbm93bGVkZ2VWZXJpZmljYXRpb25EZXNrIiB0YWdzPSJzeXN0ZW0gaW52ZXN0aWdhdGlvbiIgcG9zaXRpb249IjI2MDAsMjYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2gxJmd0O0V2aWRlbmNlIFZlcmlmaWNhdGlvbiZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgY2FuIHZlcmlmeSBjbHVlcyBzaGUga25vd3MuIFJ5YW4gY2FuIHRlc3QgcnVsZXMgaGUga25vd3MuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7a25vd2xlZGdlLXNoYXJlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtmb3IgX2lkLF9jbHVlIHJhbmdlICRjbHVlT3duZXJzaGlwJmd0OyZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7aDImZ3Q7Jmx0OyZsdDtwcmludCBfY2x1ZS50aXRsZSZndDsmZ3Q7Jmx0Oy9oMiZndDsmbHQ7Jmx0O2lmIF9jbHVlLmtub3dzLmluY2x1ZGVzKCZxdW90O0tpbW15JnF1b3Q7KSBhbmQgbm90IF9jbHVlLnZlcmlmaWVkQnkuaW5jbHVkZXMoJnF1b3Q7S2ltbXkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7S2ltbXkgdmVyaWZpZXMgdGhlIHNvdXJjZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudmVyaWZ5Q2x1ZShfaWQsJnF1b3Q7S2ltbXkmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7S25vd2xlZGdlVmVyaWZpY2F0aW9uRGVzayZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyAmbHQ7Jmx0O2lmIF9jbHVlLmtub3dzLmluY2x1ZGVzKCZxdW90O1J5YW4mcXVvdDspIGFuZCBub3QgX2NsdWUudmVyaWZpZWRCeS5pbmNsdWRlcygmcXVvdDtSeWFuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1J5YW4gdGVzdHMgdGhlIHJ1bGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnZlcmlmeUNsdWUoX2lkLCZxdW90O1J5YW4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7S25vd2xlZGdlVmVyaWZpY2F0aW9uRGVzayZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvYXJ0aWNsZSZndDsmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gQ2FzZSBGaWxlIDIuMC0mZ3Q7Q2FzZUZpbGUyXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUyNyIgbmFtZT0iS25vd2xlZGdlT3duZXJzaGlwRGVkdWN0aW9uIiB0YWdzPSJzeXN0ZW0gZGVkdWN0aW9uIiBwb3NpdGlvbj0iMjYwMCwyNjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7aDEmZ3Q7U2hhcmVkLUV2aWRlbmNlIFJlYWRpbmVzcyZsdDsvaDEmZ3Q7Jmx0OyZsdDtzZXQgX3NoYXJlZD0wJmd0OyZndDsmbHQ7Jmx0O3NldCBfdmVyaWZpZWQ9MCZndDsmZ3Q7Jmx0OyZsdDtmb3IgX2lkLF9jbHVlIHJhbmdlICRjbHVlT3duZXJzaGlwJmd0OyZndDsmbHQ7Jmx0O2lmIF9jbHVlLmtub3dzLmxlbmd0aCAmZ3Q7PSAzJmd0OyZndDsmbHQ7Jmx0O3NldCBfc2hhcmVkICs9IDEmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2lmIF9jbHVlLnZlcmlmaWVkQnkubGVuZ3RoJmd0OyZndDsmbHQ7Jmx0O3NldCBfdmVyaWZpZWQgKz0gMSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7L2ZvciZndDsmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtXaWRlbHkgc2hhcmVkIGNsdWVzOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gX3NoYXJlZCZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7VmVyaWZpZWQgY2x1ZXM6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBfdmVyaWZpZWQmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7Jmx0O2lmIF9zaGFyZWQgJmd0Oz0gMyBhbmQgX3ZlcmlmaWVkICZndDs9IDImZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7VGhlIGdyb3VwIGNhbiBmb3JtIGEgc3VwcG9ydGVkIHRoZW9yeSBmcm9tIGV2aWRlbmNlIHNldmVyYWwgaW52ZXN0aWdhdG9ycyB1bmRlcnN0YW5kLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZWlmIF9zaGFyZWQgJmd0Oz0gMiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtUaGUgZ3JvdXAgaGFzIGVub3VnaCBzaGFyZWQgZXZpZGVuY2UgdG8gcHJvY2VlZCwgYnV0IHBhcnRzIG9mIHRoZSB0aGVvcnkgcmVtYWluIGRlcGVuZGVudCBvbiBvbmUgcGVyc29uLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDtUb28gbXVjaCBldmlkZW5jZSByZW1haW5zIGlzb2xhdGVkLiBUaGUgZGVkdWN0aW9uIGNhbiBjb250aW51ZSwgYnV0IGl0IGNhcnJpZXMgYSBoaWdoZXIgcmlzayBvZiBjb250cmFkaWN0aW9uLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIENhc2UgRmlsZSAyLjAtJmd0O0Nhc2VGaWxlMl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MjgiIG5hbWU9IkJ1aWxkNTNLbm93bGVkZ2VSZXBvcnQiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjI2MDAsMjYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7aDEmZ3Q7QnVpbGQgNS4zIEtub3dsZWRnZSBPd25lcnNoaXAmbHQ7L2gxJmd0OyZsdDtwcmUgY2xhc3M9JnF1b3Q7djQyLXByb2ZpbGUmcXVvdDsmZ3Q7Jmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KCRjbHVlT3duZXJzaGlwLCBudWxsLCAyKSZndDsmZ3Q7Jmx0Oy9wcmUmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtTaGFyaW5nIGFuZCB2ZXJpZmljYXRpb24gZGVjaXNpb25zOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gJGtub3dsZWRnZURlY2lzaW9ucy5sZW5ndGgmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbU3RhZmYgQ29uc29sZS0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MjkiIG5hbWU9IkFjdGl2ZUFiaWxpdGllc0h1YiIgdGFncz0ic3lzdGVtIGludmVzdGlnYXRpb24iIHBvc2l0aW9uPSIyNzAwLDI3MDAiIHNpemU9IjEwMCwxMDAiPiZsdDtoMSZndDtJbnZlc3RpZ2F0b3IgQWJpbGl0aWVzJmx0Oy9oMSZndDsmbHQ7cCZndDtBYmlsaXRpZXMgcmVxdWlyZSB0aGUgcmlnaHQgZXZpZGVuY2UuIFRoZXkgY3JlYXRlIGFkdmFudGFnZXMsIGJ1dCBzb21lIGFjdGlvbnMgaW5jcmVhc2Ugc3VwZXJuYXR1cmFsIGV4cG9zdXJlLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FiaWxpdHktZ3JpZCZxdW90OyZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7aDImZ3Q7S2V2aW46IFBhdHRlcm4gUmVjb2duaXRpb24mbHQ7L2gyJmd0OyZsdDtwJmd0O0NvbXBhcmUgdGltZXMsIHN5bWJvbHMsIGFuZCByZXBlYXRlZCBsb2NhdGlvbnMuJmx0Oy9wJmd0O1tbVXNlIFBhdHRlcm4gUmVjb2duaXRpb24tJmd0O0tldmluUGF0dGVybkFiaWxpdHldXSZsdDsvYXJ0aWNsZSZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7aDImZ3Q7UnlhbjogUnVsZXMgb2YgRGFuZ2VyJmx0Oy9oMiZndDsmbHQ7cCZndDtUdXJuIHRlc3RlZCBvYnNlcnZhdGlvbnMgaW50byBhIHByb3RlY3RpdmUgcnVsZS4mbHQ7L3AmZ3Q7W1tGb3JtIGEgUnVsZSBvZiBEYW5nZXItJmd0O1J5YW5SdWxlQWJpbGl0eV1dJmx0Oy9hcnRpY2xlJmd0OyZsdDthcnRpY2xlJmd0OyZsdDtoMiZndDtLaW1teTogRXZpZGVuY2UgVmVyaWZpY2F0aW9uJmx0Oy9oMiZndDsmbHQ7cCZndDtTdHJlbmd0aGVuIGEgY2x1ZSBieSBjaGVja2luZyBzb3VyY2UgYW5kIGNvbnRyYWRpY3Rpb24uJmx0Oy9wJmd0O1tbVmVyaWZ5IEV2aWRlbmNlLSZndDtLaW1teVZlcmlmeUFiaWxpdHldXSZsdDsvYXJ0aWNsZSZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7aDImZ3Q7U2Nvb3Q6IE5vdGVib29rIEluc3RpbmN0Jmx0Oy9oMiZndDsmbHQ7cCZndDtBc2sgdGhlIG5vdGVib29rIGEgZm9jdXNlZCBxdWVzdGlvbi4gVGhlIGFuc3dlciBtYXkgYXR0cmFjdCBhdHRlbnRpb24uJmx0Oy9wJmd0O1tbUXVlc3Rpb24gdGhlIE5vdGVib29rLSZndDtTY29vdE5vdGVib29rQWJpbGl0eV1dJmx0Oy9hcnRpY2xlJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tDYXNlIEZpbGUgMi4wLSZndDtDYXNlRmlsZTJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTMwIiBuYW1lPSJLZXZpblBhdHRlcm5BYmlsaXR5IiB0YWdzPSJzeXN0ZW0gYWJpbGl0eSIgcG9zaXRpb249IjI3MDAsMjcwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2gxJmd0O1BhdHRlcm4gUmVjb2duaXRpb24mbHQ7L2gxJmd0OyZsdDsmbHQ7c2V0IF9rbm93bj1bXSZndDsmZ3Q7Jmx0OyZsdDtmb3IgX2lkLF9jIHJhbmdlICRjbHVlT3duZXJzaGlwJmd0OyZndDsmbHQ7Jmx0O2lmIF9jLmtub3dzLmluY2x1ZGVzKCZxdW90O0tldmluJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gX2tub3duLnB1c2goX2lkKSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7L2ZvciZndDsmZ3Q7Jmx0OyZsdDtpZiBfa25vd24uaW5jbHVkZXMoJnF1b3Q7Y2xvY2stOTE0JnF1b3Q7KSBhbmQgKF9rbm93bi5pbmNsdWRlcygmcXVvdDtoZXhhZm9pbCZxdW90Oykgb3IgX2tub3duLmluY2x1ZGVzKCZxdW90O3Bob3RvLWRvb3ImcXVvdDspKSZndDsmZ3Q7Jmx0O3AmZ3Q7S2V2aW4gY2FuIGNvbm5lY3QgdGhlIHN0b3BwZWQgdGltZSB0byB0aGUgbWFya2VkIGxvY2F0aW9ucy4mbHQ7L3AmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1JlY29yZCB0aGUgdGltZS1sb2NhdGlvbiBwYXR0ZXJuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC51c2VBYmlsaXR5KCZxdW90O0tldmluJnF1b3Q7LCZxdW90O2tldmluLXRpbWUtbG9jYXRpb24mcXVvdDssJnF1b3Q7S2V2aW4gY29ubmVjdGVkIDk6MTQgdG8gbWFya2VkIGxvY2F0aW9ucywgZ3JhbnRpbmcgYSBkZWR1Y3Rpb24gYWR2YW50YWdlLiZxdW90OywwKSZndDsmZ3Q7Jmx0OyZsdDtpZiBub3QgJGRlZHVjdGlvbkFkdmFudGFnZXMuaW5jbHVkZXMoJnF1b3Q7S2V2aW4gcGF0dGVybiBsaW5rJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gJGRlZHVjdGlvbkFkdmFudGFnZXMucHVzaCgmcXVvdDtLZXZpbiBwYXR0ZXJuIGxpbmsmcXVvdDspJmd0OyZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0FjdGl2ZUFiaWxpdGllc0h1YiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtLZXZpbiBkb2VzIG5vdCB5ZXQga25vdyBlbm91Z2ggY29tcGF0aWJsZSBjbHVlcy4gU2hhcmUgdGhlIGNsb2NrIGV2aWRlbmNlIGFuZCBhdCBsZWFzdCBvbmUgbG9jYXRpb24gb3Igc3ltYm9sIGNsdWUgd2l0aCBoaW0uJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuLSZndDtBY3RpdmVBYmlsaXRpZXNIdWJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTMxIiBuYW1lPSJSeWFuUnVsZUFiaWxpdHkiIHRhZ3M9InN5c3RlbSBhYmlsaXR5IiBwb3NpdGlvbj0iMjcwMCwyNzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7aDEmZ3Q7UnVsZXMgb2YgRGFuZ2VyJmx0Oy9oMSZndDsmbHQ7Jmx0O2lmIHNldHVwLmtub3dzQ2x1ZSgmcXVvdDt0aHJlc2hvbGQtcnVsZSZxdW90OywmcXVvdDtSeWFuJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7UnlhbiBjYW4gZXN0YWJsaXNoIGEgdGVzdGVkIHJ1bGU6IGEgbWFya2VkIHRocmVzaG9sZCByZWFjdHMgdG8gYWNrbm93bGVkZ21lbnQuJmx0Oy9wJmd0OyZsdDsmbHQ7bGluayAmcXVvdDtBZG9wdCB0aGUgYWNrbm93bGVkZ21lbnQgcnVsZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudXNlQWJpbGl0eSgmcXVvdDtSeWFuJnF1b3Q7LCZxdW90O3J5YW4tYWNrLXJ1bGUmcXVvdDssJnF1b3Q7UnlhbiBmb3JtZWQgYSB0ZXN0ZWQgdGhyZXNob2xkIHJ1bGUgdGhhdCByZWR1Y2VzIGxhdGVyIHJvdXRlIGRhbmdlci4mcXVvdDssMCkmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyeWFuQWN0aXZlUnVsZT0mcXVvdDtEbyBub3QgYWNrbm93bGVkZ2UgYSBtYXJrZWQgdGhyZXNob2xkIHVudGlsIHRoZSBncm91cCBpcyByZWFkeS4mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtBY3RpdmVBYmlsaXRpZXNIdWImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3AmZ3Q7UnlhbiBoYXMgbm90IHRlc3RlZCBvciByZWNlaXZlZCBlbm91Z2ggdGhyZXNob2xkIGV2aWRlbmNlIHRvIGZvcm0gdGhpcyBydWxlLiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybi0mZ3Q7QWN0aXZlQWJpbGl0aWVzSHViXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUzMiIgbmFtZT0iS2ltbXlWZXJpZnlBYmlsaXR5IiB0YWdzPSJzeXN0ZW0gYWJpbGl0eSIgcG9zaXRpb249IjI3MDAsMjcwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2gxJmd0O0V2aWRlbmNlIFZlcmlmaWNhdGlvbiZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgY2FuIHZlcmlmeSBhbnkgY2x1ZSBzaGUgY3VycmVudGx5IGtub3dzLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2FiaWxpdHktbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2ZvciBfaWQsX2MgcmFuZ2UgJGNsdWVPd25lcnNoaXAmZ3Q7Jmd0OyZsdDsmbHQ7aWYgX2Mua25vd3MuaW5jbHVkZXMoJnF1b3Q7S2ltbXkmcXVvdDspIGFuZCBub3QgX2MudmVyaWZpZWRCeS5pbmNsdWRlcygmcXVvdDtLaW1teSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7bGlua3JlcGxhY2UgJnF1b3Q7VmVyaWZ5OiAmcXVvdDsrX2MudGl0bGUmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnZlcmlmeUNsdWUoX2lkLCZxdW90O0tpbW15JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudXNlQWJpbGl0eSgmcXVvdDtLaW1teSZxdW90OywmcXVvdDtraW1teS12ZXJpZnktJnF1b3Q7K19pZCwmcXVvdDtLaW1teSB2ZXJpZmllZCAmcXVvdDsrX2MudGl0bGUrJnF1b3Q7LCBzdHJlbmd0aGVuaW5nIGRlZHVjdGlvbiByZWxpYWJpbGl0eS4mcXVvdDssMCkmZ3Q7Jmd0OyZsdDsmbHQ7cmVwbGFjZSAmcXVvdDsja2ltbXktcmVzdWx0JnF1b3Q7Jmd0OyZndDtWZXJpZmllZDogJmx0OyZsdDs9IF9jLnRpdGxlJmd0OyZndDsmbHQ7Jmx0Oy9yZXBsYWNlJmd0OyZndDsmbHQ7Jmx0Oy9saW5rcmVwbGFjZSZndDsmZ3Q7Jmx0O2JyJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0Oy9mb3ImZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtwIGlkPSZxdW90O2tpbW15LXJlc3VsdCZxdW90OyZndDsmbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybi0mZ3Q7QWN0aXZlQWJpbGl0aWVzSHViXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUzMyIgbmFtZT0iU2Nvb3ROb3RlYm9va0FiaWxpdHkiIHRhZ3M9InN5c3RlbSBhYmlsaXR5IiBwb3NpdGlvbj0iMjcwMCwyNzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7aDEmZ3Q7Tm90ZWJvb2sgSW5zdGluY3QmbHQ7L2gxJmd0OyZsdDsmbHQ7aWYgc2V0dXAua25vd3NDbHVlKCZxdW90O25vdGVib29rLXJlc3BvbnNlJnF1b3Q7LCZxdW90O1Njb290JnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIG5vdGVib29rIHdhaXRzIGZvciBhIHNwZWNpZmljIHF1ZXN0aW9uLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtBc2sgYWJvdXQgdGhlIEZvdXJ0aCBOYW1lJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC51c2VBYmlsaXR5KCZxdW90O1Njb290JnF1b3Q7LCZxdW90O3Njb290LWZvdXJ0aC1uYW1lJnF1b3Q7LCZxdW90O1RoZSBub3RlYm9vayBsaW5rZWQgdGhlIEZvdXJ0aCBOYW1lIHRvIGEgZHV0eSByYXRoZXIgdGhhbiBhbm90aGVyIHNpYmxpbmcuJnF1b3Q7LDEpJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5kaXNjb3ZlckNsdWUoJnF1b3Q7Zm91cnRoLW5hbWUtZHV0eSZxdW90OywmcXVvdDtUaGUgRm91cnRoIE5hbWUgSXMgYSBEdXR5JnF1b3Q7LCZxdW90O1Njb290JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0FjdGl2ZUFiaWxpdGllc0h1YiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtBc2sgd2hlcmUgdGhlIGJvdW5kYXJ5IGJlZ2FuJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC51c2VBYmlsaXR5KCZxdW90O1Njb290JnF1b3Q7LCZxdW90O3Njb290LWZpcnN0LWJvdW5kYXJ5JnF1b3Q7LCZxdW90O1RoZSBub3RlYm9vayBwb2ludGVkIHRvd2FyZCB0aGUgb2FrIGFzIHRoZSBvbGRlc3QgYm91bmRhcnkuJnF1b3Q7LDIpJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5kaXNjb3ZlckNsdWUoJnF1b3Q7Zmlyc3QtYm91bmRhcnkmcXVvdDssJnF1b3Q7VGhlIEZpcnN0IEJvdW5kYXJ5JnF1b3Q7LCZxdW90O1Njb290JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0FjdGl2ZUFiaWxpdGllc0h1YiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7cCZndDtTY29vdCBoYXMgbm90IHlldCBjb25maXJtZWQgdGhhdCB0aGUgbm90ZWJvb2sgcmVzcG9uZHMuJmx0Oy9wJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuLSZndDtBY3RpdmVBYmlsaXRpZXNIdWJdXSZsdDsvZGl2Jmd0OwombHQ7IS0tIEI1LjUgYXR0ZW50aW9uIGludGVncmF0aW9uIC0tJmd0OyZsdDsmbHQ7aWYgJGFiaWxpdHlBZHZhbnRhZ2VzLmluY2x1ZGVzKCZxdW90O3Njb290LWZvdXJ0aC1uYW1lJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmFpc2VBdHRlbnRpb24oJnF1b3Q7bm90ZWJvb2stZm91cnRoLW5hbWUmcXVvdDssMSwmcXVvdDtUaGUgbm90ZWJvb2sgYW5zd2VyZWQgYSBmb3JiaWRkZW4gZmFtaWx5IHF1ZXN0aW9uLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7Jmx0O2lmICRhYmlsaXR5QWR2YW50YWdlcy5pbmNsdWRlcygmcXVvdDtzY29vdC1maXJzdC1ib3VuZGFyeSZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJhaXNlQXR0ZW50aW9uKCZxdW90O25vdGVib29rLWZpcnN0LWJvdW5kYXJ5JnF1b3Q7LDIsJnF1b3Q7VGhlIG5vdGVib29rIHJldmVhbGVkIHRoZSBvbGRlc3QgYm91bmRhcnkuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTM0IiBuYW1lPSJCdWlsZDU0QWJpbGl0eVJlcG9ydCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iMjcwMCwyNzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtCdWlsZCA1LjQgQWJpbGl0eSBSZXBvcnQmbHQ7L2gxJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7VXNlczombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KCRhYmlsaXR5VXNlcykmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0FkdmFudGFnZXM6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeSgkYWJpbGl0eUFkdmFudGFnZXMpJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtTdXBlcm5hdHVyYWwgZXhwb3N1cmU6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSAkc3VwZXJuYXR1cmFsRXhwb3N1cmUmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1J5YW4gYWN0aXZlIHJ1bGU6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSAkcnlhbkFjdGl2ZVJ1bGUgfHwgJnF1b3Q7Tm9uZSZxdW90OyZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTdGFmZiBDb25zb2xlLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUzNSIgbmFtZT0iQXR0ZW50aW9uU2lnbnMiIHRhZ3M9InN5c3RlbSIgcG9zaXRpb249IjI4MDAsMjgwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2gxJmd0O1NpZ25zIEFyb3VuZCB0aGUgSW52ZXN0aWdhdGlvbiZsdDsvaDEmZ3Q7Jmx0OyZsdDtzd2l0Y2ggc2V0dXAuYXR0ZW50aW9uU3RhdGUoKSZndDsmZ3Q7Jmx0OyZsdDtjYXNlICZxdW90O1Vubm90aWNlZCZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7Tm90aGluZyBhcHBlYXJzIHRvIGJlIHJlYWN0aW5nIGRpcmVjdGx5IHRvIHRoZSBpbnZlc3RpZ2F0b3JzLiZsdDsvcCZndDsmbHQ7Jmx0O2Nhc2UgJnF1b3Q7T2JzZXJ2ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1NtYWxsIGRldGFpbHMgY2hhbmdlIGFmdGVyIHRoZXkgYXJlIGV4YW1pbmVkLiZsdDsvcCZndDsmbHQ7Jmx0O2Nhc2UgJnF1b3Q7Rm9sbG93ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1NvdW5kcyBhbmQgcmVmbGVjdGlvbnMgcmVwZWF0IGJlaGluZCB0aGUgZ3JvdXAuJmx0Oy9wJmd0OyZsdDsmbHQ7Y2FzZSAmcXVvdDtNYXJrZWQmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1BlcnNvbmFsIG9iamVjdHMgbm93IGNhcnJ5IHNpZ25zIHRoYXQgd2VyZSBub3QgdGhlcmUgYmVmb3JlLiZsdDsvcCZndDsmbHQ7Jmx0O2Nhc2UgJnF1b3Q7SHVudGVkJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtUaGUgc3VwZXJuYXR1cmFsIGFjdGl2aXR5IGZvbGxvd3MgdGhlIGdyb3VwIGJleW9uZCB0aGUgb3JpZ2luYWwgbG9jYXRpb25zLiZsdDsvcCZndDsmbHQ7Jmx0Oy9zd2l0Y2gmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBDYXNlIEZpbGUgZG9lcyBub3QgYXNzaWduIGEgbnVtYmVyIHRvIHRoaXMgY29uZGl0aW9uLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIENhc2UgRmlsZSAyLjAtJmd0O0Nhc2VGaWxlMl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MzYiIG5hbWU9IkJ1aWxkNTVBdHRlbnRpb25SZXBvcnQiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjI4MDAsMjgwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7aDEmZ3Q7QnVpbGQgNS41IFdpdGNoIEF0dGVudGlvbiZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtTdGF0ZTombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLmF0dGVudGlvblN0YXRlKCkmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0ludGVybmFsIHZhbHVlOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gJHdpdGNoQXR0ZW50aW9uJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O3ByZSBjbGFzcz0mcXVvdDt2NDItcHJvZmlsZSZxdW90OyZndDsmbHQ7Jmx0Oz0gSlNPTi5zdHJpbmdpZnkoJHdpdGNoQXR0ZW50aW9uRXZlbnRzLCBudWxsLCAyKSZndDsmZ3Q7Jmx0Oy9wcmUmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzZXQgYXR0ZW50aW9uIHRlc3Qgc3RhdGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICR3aXRjaEF0dGVudGlvbj0wJmd0OyZndDsmbHQ7Jmx0O3NldCAkd2l0Y2hBdHRlbnRpb25FdmVudHM9W10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtCdWlsZDU1QXR0ZW50aW9uUmVwb3J0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgW1tTdGFmZiBDb25zb2xlLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjUzNyIgbmFtZT0iRW5kaW5nTWF0cml4UmVzdWx0cyIgdGFncz0ic3lzdGVtIGVuZGluZyIgcG9zaXRpb249IjI5MDAsMjkwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgX2VuZGluZyA9IHNldHVwLmNhbGN1bGF0ZUVuZGluZ01hdHJpeCgpJmd0OyZndDsmbHQ7aDEmZ3Q7Jmx0OyZsdDs9IHNldHVwLmVuZGluZ1RpdGxlKF9lbmRpbmcuZW5kaW5nSWQpJmd0OyZndDsmbHQ7L2gxJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7ZW5kaW5nLW1hdHJpeCZxdW90OyZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7aDImZ3Q7VHJ1dGgmbHQ7L2gyJmd0OyZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDs9IF9lbmRpbmcudHJ1dGhCYW5kJmd0OyZndDsmbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDsmbHQ7Jmx0O2lmIF9lbmRpbmcudHJ1dGhCYW5kIGlzICZxdW90O1JldmVhbGVkJnF1b3Q7Jmd0OyZndDtUaGUgaW52ZXN0aWdhdG9ycyBhc3NlbWJsZWQgYSBzdXBwb3J0ZWQgZXhwbGFuYXRpb24gZnJvbSBzaGFyZWQgYW5kIHZlcmlmaWVkIGV2aWRlbmNlLiZsdDsmbHQ7ZWxzZWlmIF9lbmRpbmcudHJ1dGhCYW5kIGlzICZxdW90O1BhcnRpYWwmcXVvdDsmZ3Q7Jmd0O1RoZSBncm91cCB1bmRlcnN0b29kIHRoZSBjZW50cmFsIHBhdHRlcm4sIGJ1dCBpbXBvcnRhbnQgY29udHJhZGljdGlvbnMgcmVtYWluZWQuJmx0OyZsdDtlbHNlJmd0OyZndDtUaGUgbW9zdCBpbXBvcnRhbnQgZXZpZGVuY2UgcmVtYWluZWQgaXNvbGF0ZWQsIHVudmVyaWZpZWQsIG9yIG1pc3JlYWQuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0O2FydGljbGUmZ3Q7Jmx0O2gyJmd0O1Jlc2N1ZSZsdDsvaDImZ3Q7Jmx0O3N0cm9uZyZndDsmbHQ7Jmx0Oz0gX2VuZGluZy5yZXNjdWVCYW5kJmd0OyZndDsmbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDsmbHQ7Jmx0O2lmIF9lbmRpbmcucmVzY3VlQmFuZCBpcyAmcXVvdDtQcm90ZWN0ZWQmcXVvdDsmZ3Q7Jmd0O1dhcm5pbmdzLCByb3V0ZSBkZWNpc2lvbnMsIGFuZCB0aW1lbHkgYWN0aW9uIGtlcHQgdGhlIHBlb3BsZSBjbG9zZXN0IHRvIHRoZSBjYXNlIHNhZmVyLiZsdDsmbHQ7ZWxzZWlmIF9lbmRpbmcucmVzY3VlQmFuZCBpcyAmcXVvdDtDb21wcm9taXNlZCZxdW90OyZndDsmZ3Q7VGhlIGltbWVkaWF0ZSBkYW5nZXIgd2FzIHN1cnZpdmVkLCBidXQgZGVsYXlzIGFuZCBpbmNvbXBsZXRlIHdhcm5pbmdzIGNhcnJpZWQgY29uc2VxdWVuY2VzLiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7VGhlIGludmVzdGlnYXRpb24gZ2FpbmVkIGdyb3VuZCBhdCB0aGUgZXhwZW5zZSBvZiBwcm90ZWN0aW9uIGFuZCByZWNvdmVyeS4mbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDsvYXJ0aWNsZSZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7aDImZ3Q7Q29zdCZsdDsvaDImZ3Q7Jmx0O3N0cm9uZyZndDsmbHQ7Jmx0Oz0gX2VuZGluZy5jb3N0QmFuZCZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDtpZiBfZW5kaW5nLmNvc3RCYW5kIGlzICZxdW90O0NvbnRhaW5lZCZxdW90OyZndDsmZ3Q7VGhlIGdyb3VwIGxpbWl0ZWQgaG93IG11Y2ggb2YgdGhlIHN1cGVybmF0dXJhbCBkYW5nZXIgZm9sbG93ZWQgdGhlbSBob21lLiZsdDsmbHQ7ZWxzZWlmIF9lbmRpbmcuY29zdEJhbmQgaXMgJnF1b3Q7TGluZ2VyaW5nJnF1b3Q7Jmd0OyZndDtUaGUgY2FzZSBlbmRlZCwgYnV0IHNpZ25zIG9mIGNvbnRpbnVlZCBhdHRlbnRpb24gcmVtYWluZWQuJmx0OyZsdDtlbHNlJmd0OyZndDtUaGUgaW52ZXN0aWdhdG9ycyBjYXJyaWVkIHRoZSBjYXNlJiMzOTtzIHN1cGVybmF0dXJhbCBjb25zZXF1ZW5jZSBiZXlvbmQgaXRzIG9yaWdpbmFsIGJvdW5kYXJpZXMuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlbmRpbmctZXBpbG9ndWUmcXVvdDsmZ3Q7Jmx0OyZsdDtzd2l0Y2ggX2VuZGluZy5lbmRpbmdJZCZndDsmZ3Q7Jmx0OyZsdDtjYXNlICZxdW90O2NsZWFyLWRhd24mcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSB0cnV0aCBoZWxkIHRvZ2V0aGVyLCB0aGUgcmVzY3VlIGhlbGQsIGFuZCBtb3JuaW5nIGFycml2ZWQgd2l0aG91dCBhbm90aGVyIGFsdGVyZWQgcGhvdG9ncmFwaC4mbHQ7L3AmZ3Q7Jmx0OyZsdDtjYXNlICZxdW90O3RydXRoLXdpdGgtYS1zaGFkb3cmcXVvdDsmZ3Q7Jmd0OyZsdDtwJmd0O1RoZXkgc29sdmVkIHdoYXQgaGFkIGhhcHBlbmVkIGFuZCBwcm90ZWN0ZWQgb25lIGFub3RoZXIsIGJ1dCBzb21ldGhpbmcgaGFkIGxlYXJuZWQgdGhlaXIgbmFtZXMuJmx0Oy9wJmd0OyZsdDsmbHQ7Y2FzZSAmcXVvdDtzYWZlLWJ1dC11bmFuc3dlcmVkJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtFdmVyeW9uZSByZWFjaGVkIG1vcm5pbmcsIHRob3VnaCB0aGUgZ3JvdXAgY291bGQgbm90IHlldCBleHBsYWluIHdoeSB0aGUgaG91c2UgaGFkIHJlbGVhc2VkIHRoZW0uJmx0Oy9wJmd0OyZsdDsmbHQ7Y2FzZSAmcXVvdDt0aGUtcHJpY2Utb2Yta25vd2luZyZxdW90OyZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGZpbmFsIHRoZW9yeSB3YXMgY29ycmVjdC4gVGhlIGNvc3Qgd2FzIHVuZGVyc3RhbmRpbmcgd2hhdCB0aGVpciBzZWFyY2ggaGFkIGZhaWxlZCB0byBwcm90ZWN0LiZsdDsvcCZndDsmbHQ7Jmx0O2Nhc2UgJnF1b3Q7dGhlLWh1bnQtY29udGludWVzJnF1b3Q7Jmd0OyZndDsmbHQ7cCZndDtUaGUgY2FzZSBmaWxlIGNsb3NlZC4gVGhlIGZvb3RzdGVwcyBkaWQgbm90LiZsdDsvcCZndDsmbHQ7Jmx0O2RlZmF1bHQmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBncm91cCBzdXJ2aXZlZCB3aXRoIGVub3VnaCBldmlkZW5jZSB0byBrbm93IHRoZSBteXN0ZXJ5IHdhcyBub3QgZmluaXNoZWQuJmx0Oy9wJmd0OyZsdDsmbHQ7L3N3aXRjaCZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldmlldyBjaG9pY2VzIHRoYXQgY2FycmllZCBmb3J3YXJkLSZndDtDYXNlUmVzdWx0c11dIFtbUmV2aWV3IENhc2UgRmlsZSAyLjAtJmd0O0Nhc2VGaWxlMl1dJmx0Oy9kaXYmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMTYgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiAkbG9zdE1pbnV0ZU1hcmtlZCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlbmRpbmctZXBpbG9ndWUmcXVvdDsmZ3Q7VGhlIGZpbmFsIGNhc2UgZmlsZSBvbWl0dGVkIG9uZSBkZXRhaWw6IHRoZSBncmVlbiBtYXJrIHN0aWxsIHRpZ2h0ZW5lZCB3aGVuZXZlciBhIGNsb2NrIGFwcHJvYWNoZWQgOToxNC4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2VpZiAkbG9zdE1pbnV0ZUZyYWdtZW50Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VuZGluZy1lcGlsb2d1ZSZxdW90OyZndDtUaGUgdG9ybiBhdHRlbmRhbmNlIGZyYWdtZW50IHJlbWFpbmVkIGluIHRoZSBldmlkZW5jZSBjYXNlLCB0aG91Z2ggdGhlIGVyYXNlZCBuYW1lIGNoYW5nZWQgbGVuZ3RoIGVhY2ggbmlnaHQuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0O1xuJmx0OyEtLSBCdWlsZCA1LjE3IHByb2ZpbGUgY2FsbGJhY2sgLS0mZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtlbmRpbmctZXBpbG9ndWUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtQYXR0ZXJuIGxlZnQgYmVoaW5kOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gc2V0dXAucHJvZmlsZVNpZ24oKSZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMTkgYWZ0ZXJlZmZlY3QgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiBzZXR1cC51bnJlc29sdmVkQWZ0ZXJlZmZlY3RDb3N0KCkgJmd0OyAwJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnNlcXVlbmNlLWNhbGxiYWNrJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7SGF1bnRpbmcgYWZ0ZXJlZmZlY3RzOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gc2V0dXAudW5yZXNvbHZlZEhhdW50aW5nQWZ0ZXJlZmZlY3RzKCkubGVuZ3RoJmd0OyZndDsgdW5yZXNvbHZlZCBlZmZlY3QocykgcmVtYWluLCBhZGRpbmcgJmx0OyZsdDs9IHNldHVwLnVucmVzb2x2ZWRBZnRlcmVmZmVjdENvc3QoKSZndDsmZ3Q7IHRvIHRoZSBzdXBlcm5hdHVyYWwgY29zdC4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMjEgY29udGFpbm1lbnQgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiBzZXR1cC5yZXNvbHV0aW9uQ291bnQoKSAmZ3Q7IDAmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtWZXJpZmllZCBjb250YWlubWVudDombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLnJlc29sdXRpb25Db3VudCgpJmd0OyZndDsgcmVzb2x2ZWQgZWZmZWN0KHMpIGFkZCArJmx0OyZsdDs9IHNldHVwLnJlc29sdXRpb25UcnV0aEJvbnVzKCkmZ3Q7Jmd0OyB0byBUcnV0aCBhbmQgcmVkdWNlIHN1cGVybmF0dXJhbCBDb3N0IGJ5ICZsdDsmbHQ7PSBzZXR1cC5yZXNvbHV0aW9uQ29zdFJlZHVjdGlvbigpJmd0OyZndDsuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0O1xuJmx0OyEtLSBCdWlsZCA1LjIyIHZvaWNlIHJvb20gY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiAkYm9ycm93ZWRWb2ljZVJvb21Db21wbGV0ZWQmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgUm9vbSBCZWhpbmQgdGhlIFZvaWNlOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0O2lmICR2b2ljZVJvb21GaXJzdENvcHkmZ3Q7Jmd0O1RoZSBGSVJTVCBDT1BZIGxhYmVsIHN1Z2dlc3RzIHRoZSBpbWl0YXRpb25zIGJlZ2FuIGJlZm9yZSB0aGUgY3VycmVudCBpbnZlc3RpZ2F0aW9uLiZsdDsmbHQ7ZWxzZWlmICR2b2ljZVJvb21Gb2xsb3dpbmdWb2ljZSZndDsmZ3Q7T25lIGVzY2FwZWQgaW1pdGF0aW9uIHN0aWxsIGZvbGxvd3MgdGhlIGludmVzdGlnYXRvciYjMzk7cyBzcGVlY2guJmx0OyZsdDtlbHNlJmd0OyZndDtUaGUgZ3JvdXAgcHJvdmVkIHRoYXQgdGhlIGJvcnJvd2VkIHZvaWNlcyByZXF1aXJlIGFja25vd2xlZGdtZW50IGFuZCB3aXRuZXNzZXMuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDtcbiZsdDshLS0gQnVpbGQgNS4yMyBtaXNzaW5nIGFyY2hpdmUgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiAkbWlzc2luZ0FyY2hpdmVDb21wbGV0ZWQmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29uc2VxdWVuY2UtY2FsbGJhY2smcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgTWlzc2luZyBBcmNoaXZlOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0O2lmICRtaXNzaW5nQXJjaGl2ZUFncmVlbWVudFJlY29yZCZndDsmZ3Q7VGhlIHJldmVyc2VkIHRvd24gc2VhbCBwcm92ZXMgdGhhdCBzdXBlcm5hdHVyYWwgcmVtb3ZhbCByZXF1aXJlcyBodW1hbiBhZ3JlZW1lbnQuJmx0OyZsdDtlbHNlaWYgJG1pc3NpbmdBcmNoaXZlQ2F0YWxvZ2VkJmd0OyZndDtUaGUgcHVibGljIGNhdGFsb2cgc3RpbGwgbGlzdHMgYW4gaW52ZXN0aWdhdG9yIGFzIGEgcmVzdHJpY3RlZCByZWZlcmVuY2Ugd29yay4mbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1RoZSBoaWRkZW4gYXJjaGl2ZSBjb25maXJtcyB0aGF0IGZvcmdvdHRlbiBwZW9wbGUgd2VyZSBkZWxpYmVyYXRlbHkgb3JnYW5pemVkIGFuZCBjb25jZWFsZWQuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDtcbiZsdDshLS0gQnVpbGQgNS4yNCByb290IGhvdXNlIGNhbGxiYWNrIC0tJmd0OyZsdDsmbHQ7aWYgJHJvb3RIb3VzZUNvbXBsZXRlZCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O1RoZSBIb3VzZSBCZW5lYXRoIHRoZSBPYWs6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7aWYgJHJvb3RIb3VzZUxlZGdlclJlY292ZXJlZCZndDsmZ3Q7VGhlIHJlY292ZXJlZCBsZWRnZXIgaW5kaWNhdGVzIHRoZSBidXJpZWQgYm91bmRhcnkgd2FzIG9wZW5lZCBmcm9tIGJlbG93LiZsdDsmbHQ7ZWxzZWlmICRyb290SG91c2VTZWNvbmRMaWdodCZndDsmZ3Q7QSBzZWNvbmQgbGlnaHQgbm93IGJ1cm5zIGJlbmVhdGggdGhlIGJ1cmllZCBob3VzZS4mbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0O1RoZSBpbnZlc3RpZ2F0b3JzIGNvbmZpcm1lZCB0aGF0IHRoZSBob3VzZSBpcyBhIGxpZCBvdmVyIHNvbWV0aGluZyBvbGRlciB0aGFuIHRoZSB0b3duLiZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMjUgY29udmVyZ2VuY2UgY2FsbGJhY2sgLS0mZ3Q7Jmx0OyZsdDtpZiBzZXR1cC5oaWRkZW5QbGFjZXNGb3VuZCgpICZndDsgMCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjb25zZXF1ZW5jZS1jYWxsYmFjayZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0hpZGRlbi1wbGFjZSBjb252ZXJnZW5jZTombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLmhpZGRlblBsYWNlc0ZvdW5kKCkmZ3Q7Jmd0OyBsb2NhdGlvbihzKSBkaXNjb3ZlcmVkOyBhc3Nlc3NtZW50OiAmbHQ7Jmx0Oz0gc2V0dXAuY29udmVyZ2VuY2VMZXZlbCgpJmd0OyZndDsuJmx0OyZsdDtpZiBzZXR1cC5oaWRkZW5QbGFjZXNGb3VuZCgpIGlzIDQmZ3Q7Jmd0OyBBbGwgZm91ciBwb2ludCB0b3dhcmQgb25lIG9yaWdpbmFsIGRvb3J3YXkgYmVuZWF0aCBCcmVja2VucmlkZ2UuJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDtcbiZsdDshLS0gQnVpbGQgNS4yNiBlbmRpbmcgaW50ZWdyYXRpb24gLS0mZ3Q7Jmx0OyZsdDtzZXQgX3N1cGVyRW5kaW5nPXNldHVwLnN1cGVybmF0dXJhbEVuZGluZ01vZGlmaWVycygpJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3N1cGVybmF0dXJhbC1lbmRpbmctc3VtbWFyeSZxdW90OyZndDsmbHQ7aDImZ3Q7U3VwZXJuYXR1cmFsIE91dGNvbWU6ICZsdDsmbHQ7PSBzZXR1cC5zdXBlcm5hdHVyYWxFbmRpbmdCYW5kKCkmZ3Q7Jmd0OyZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDs9IHNldHVwLnN1cGVybmF0dXJhbEVwaWxvZ3VlKCkmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0VuZGluZyBtb2RpZmllcnM6Jmx0Oy9zdHJvbmcmZ3Q7IFRydXRoICsmbHQ7Jmx0Oz1fc3VwZXJFbmRpbmcudHJ1dGgmZ3Q7Jmd0OywgUmVzY3VlICsmbHQ7Jmx0Oz1fc3VwZXJFbmRpbmcucmVzY3VlJmd0OyZndDssIENvc3QgJmx0OyZsdDs9IF9zdXBlckVuZGluZy5jb3N0Jmd0OyZndDsuJmx0Oy9wJmd0OyZsdDsmbHQ7aWYgX3N1cGVyRW5kaW5nLnJpc2tGbGFncy5sZW5ndGgmZ3Q7Jmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7VW5yZXNvbHZlZCByaXNrczombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IF9zdXBlckVuZGluZy5yaXNrRmxhZ3Muam9pbigmcXVvdDssICZxdW90OykmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MzgiIG5hbWU9IkJ1aWxkNTZFbmRpbmdSZXBvcnQiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjI5MDAsMjkwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7Jmx0O3NldCBfZW5kaW5nPXNldHVwLmNhbGN1bGF0ZUVuZGluZ01hdHJpeCgpJmd0OyZndDsmbHQ7aDEmZ3Q7QnVpbGQgNS42IEVuZGluZyBNYXRyaXgmbHQ7L2gxJmd0OyZsdDtwcmUgY2xhc3M9JnF1b3Q7djQyLXByb2ZpbGUmcXVvdDsmZ3Q7Jmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KF9lbmRpbmcsIG51bGwsIDIpJmd0OyZndDsmbHQ7L3ByZSZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0VuZGluZyB0aXRsZTombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLmVuZGluZ1RpdGxlKF9lbmRpbmcuZW5kaW5nSWQpJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIHN0YWZmIHZpZXcgZXhwb3NlcyB0aGUgaW50ZXJuYWwgVHJ1dGgsIFJlc2N1ZSwgYW5kIENvc3QgdmFsdWVzLiBUaGUgcGxheWVyLWZhY2luZyBlbmRpbmcgdXNlcyBkZXNjcmlwdGl2ZSBiYW5kcy4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1ByZXZpZXcgcGxheWVyIGVuZGluZy0mZ3Q7RW5kaW5nTWF0cml4UmVzdWx0c11dIFtbU3RhZmYgQ29uc29sZS0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1MzkiIG5hbWU9IkJ1aWxkNTdJbnRlZ3JhdGlvblJlcG9ydCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iMzAwMCwzMDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtCdWlsZCA1LjcgSW50ZWdyYXRpb24gU3RhYmlsaXphdGlvbiZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtTdG9yeUluaXQgaGVscGVyIGFzc2lnbm1lbnRzIHJlbWFpbmluZzombHQ7L3N0cm9uZyZndDsgMCZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0dhbWVwbGF5IHN5c3RlbXM6Jmx0Oy9zdHJvbmcmZ3Q7IGNvbnNlcXVlbmNlcywgQ2FzZSBGaWxlIDIuMCwga25vd2xlZGdlIG93bmVyc2hpcCwgYWJpbGl0aWVzLCBXaXRjaCBBdHRlbnRpb24sIGFuZCBlbmRpbmcgbWF0cml4LiZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1ZlcnNpb246Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBzZXR1cC5idWlsZFZlcnNpb24mZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbRW5kaW5nIG1hdHJpeCByZXBvcnQtJmd0O0J1aWxkNTZFbmRpbmdSZXBvcnRdXSBbW1dpdGNoIEF0dGVudGlvbiByZXBvcnQtJmd0O0J1aWxkNTVBdHRlbnRpb25SZXBvcnRdXSBbW0FiaWxpdHkgcmVwb3J0LSZndDtCdWlsZDU0QWJpbGl0eVJlcG9ydF1dIFtbS25vd2xlZGdlIG93bmVyc2hpcCByZXBvcnQtJmd0O0J1aWxkNTNLbm93bGVkZ2VSZXBvcnRdXSBbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTQwIiBuYW1lPSJCdWlsZDU4UnVudGltZVJlcG9ydCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iMzEwMCwzMTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtCdWlsZCA1LjggUnVudGltZSBSZXBhaXImbHQ7L2gxJmd0OyZsdDtwJmd0O1RoZSBtYWxmb3JtZWQgd2F0Y2gtc2lnbmFsIGNob2ljZSBibG9jayBoYXMgYmVlbiByZWJ1aWx0IHdpdGggZm91ciB2YWxpZCBvcHRpb25zLiZsdDsvcCZndDsmbHQ7dWwmZ3Q7Jmx0O2xpJmd0O1F1ZXN0aW9uIEtpbW15Jmx0Oy9saSZndDsmbHQ7bGkmZ3Q7QXNrIGFib3V0IHRoZSBiZWVwJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7SW5zcGVjdCB0aGUgd2F0Y2gmbHQ7L2xpJmd0OyZsdDtsaSZndDtUZXN0IHRoZSB1cHN0YWlycyBkaXJlY3Rpb24mbHQ7L2xpJmd0OyZsdDsvdWwmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW09wZW4gcmVwYWlyZWQgcGFzc2FnZS0mZ3Q7S2V2aW4gRm9sbG93cyB0aGUgV2F0Y2ggU2lnbmFsXV0gW1tCdWlsZCA1LjcgaW50ZWdyYXRpb24gcmVwb3J0LSZndDtCdWlsZDU3SW50ZWdyYXRpb25SZXBvcnRdXSBbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTQxIiBuYW1lPSJCdWlsZDU5RGVkdWN0aW9uUmVwb3J0IiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIzMjAwLDMyMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O0J1aWxkIDUuOSBEZWR1Y3Rpb24gUnVudGltZSBBdWRpdCZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7VGhlIHRocmVlIGRlZHVjdGlvbiBzdGFnZXMgbm93IHVzZSBleHBsaWNpdCBsaW5rIGxhYmVscyBhcm91bmQgdGhlaXIgdmlzdWFsIGNhcmRzLiZsdDsvcCZndDsmbHQ7b2wmZ3Q7Jmx0O2xpJmd0O0JvdW5kYXJ5IGZ1bmN0aW9uJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7UmVjdXJyaW5nIGdpcmxzJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7UHJpbWFyeSBzdXBlcm5hdHVyYWwgY2VudGVyJmx0Oy9saSZndDsmbHQ7L29sJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTdGFydCBkZWR1Y3Rpb24gdGVzdC0mZ3Q7R3JvdXBEZWR1Y3Rpb25Cb2FyZF1dIFtbUHJldmlldyBmaW5hbCBlbmRpbmctJmd0O0VuZGluZ01hdHJpeFJlc3VsdHNdXSBbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTQyIiBuYW1lPSJCdWlsZDUxMFJlbGVhc2VSZXBvcnQiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjMzMDAsMzMwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7aDEmZ3Q7QnVpbGQgNS4xMSBQcm9kdWN0aW9uIFZhbGlkYXRpb24mbHQ7L2gxJmd0OyZsdDtwJmd0O1RoaXMgcHJvZHVjdGlvbiBidWlsZCBjb25zb2xpZGF0ZXMgdGhlIHRlc3RlZCBCdWlsZCA1IGdhbWVwbGF5IHN5c3RlbXMgYW5kIHJ1bnRpbWUgcmVwYWlycy4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtyZWxlYXNlLWNoZWNrLWdyaWQmcXVvdDsmZ3Q7Jmx0O2FydGljbGUmZ3Q7Jmx0O2gyJmd0O0NvcmUgcGF0aCZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1N0YXJ0IGdhbWUtJmd0O1N0YXJ0XV0gW1tEZWR1Y3Rpb24gc2VxdWVuY2UtJmd0O0dyb3VwRGVkdWN0aW9uQm9hcmRdXSBbW0VuZGluZyBtYXRyaXgtJmd0O0VuZGluZ01hdHJpeFJlc3VsdHNdXSZsdDsvZGl2Jmd0OyZsdDsvYXJ0aWNsZSZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7aDImZ3Q7R2FtZXBsYXkgc3lzdGVtcyZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0Nhc2UgRmlsZSAyLjAtJmd0O0Nhc2VGaWxlMl1dIFtbS25vd2xlZGdlIHJlcG9ydC0mZ3Q7QnVpbGQ1M0tub3dsZWRnZVJlcG9ydF1dIFtbQWJpbGl0eSByZXBvcnQtJmd0O0J1aWxkNTRBYmlsaXR5UmVwb3J0XV0gW1tXaXRjaCBBdHRlbnRpb24gcmVwb3J0LSZndDtCdWlsZDU1QXR0ZW50aW9uUmVwb3J0XV0mbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0O2FydGljbGUmZ3Q7Jmx0O2gyJmd0O1N0YWJpbGl0eSBzeXN0ZW1zJmx0Oy9oMiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbSW50ZWdyYXRpb24gcmVwb3J0LSZndDtCdWlsZDU3SW50ZWdyYXRpb25SZXBvcnRdXSBbW1J1bnRpbWUgcmVwYWlyIHJlcG9ydC0mZ3Q7QnVpbGQ1OFJ1bnRpbWVSZXBvcnRdXSBbW0RlZHVjdGlvbiBhdWRpdC0mZ3Q7QnVpbGQ1OURlZHVjdGlvblJlcG9ydF1dJmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OyZsdDsvZGl2Jmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7UHJvZHVjdGlvbiB2ZXJzaW9uOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gc2V0dXAuYnVpbGRWZXJzaW9uJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTQzIiBuYW1lPSJQcml2YWN5IGFuZCBVc2UgTm90aWNlIiB0YWdzPSJzeXN0ZW0gaW5mb3JtYXRpb24iIHBvc2l0aW9uPSIzNDAwLDM0MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbiA9ICZxdW90O0luZm9ybWF0aW9uJnF1b3Q7Jmd0OyZndDsKJmx0OyZsdDtzZXQgJG9iamVjdGl2ZSA9ICZxdW90O1JldmlldyBwcml2YWN5LCBkYXRhLCBhbmQgdXNlIGluZm9ybWF0aW9uJnF1b3Q7Jmd0OyZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDtsZWdhbC1ub3RpY2UmcXVvdDsmZ3Q7CiZsdDtoMSZndDtQcml2YWN5ICZhbXA7YW1wOyBVc2UgTm90aWNlJmx0Oy9oMSZndDsKJmx0O3AgY2xhc3M9JnF1b3Q7bGVnYWwtdXBkYXRlZCZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0VmZmVjdGl2ZSBkYXRlOiZsdDsvc3Ryb25nJmd0OyBPY3RvYmVyIDIxLCAyMDI2Jmx0Oy9wJmd0OwoKJmx0O3NlY3Rpb24mZ3Q7CiZsdDtoMiZndDtQcml2YWN5IFN1bW1hcnkmbHQ7L2gyJmd0OwombHQ7cCZndDtUaGlzIGludGVyYWN0aXZlIHN0b3J5IGlzIGRlbGl2ZXJlZCBhcyBhIGJyb3dzZXItYmFzZWQgZXhwZXJpZW5jZS4gVGhlIHN0b3J5IGl0c2VsZiBkb2VzIG5vdCBhc2sgeW91IHRvIGNyZWF0ZSBhbiBhY2NvdW50IG9yIGRpcmVjdGx5IHN1Ym1pdCB5b3VyIG5hbWUsIGVtYWlsIGFkZHJlc3MsIHBheW1lbnQgaW5mb3JtYXRpb24sIG9yIG90aGVyIGNvbnRhY3QgaW5mb3JtYXRpb24uJmx0Oy9wJmd0OwombHQ7cCZndDtHYW1lIHByb2dyZXNzLCBwcmVmZXJlbmNlcywgYW5kIHN0YWZmLXRlc3RpbmcgZGF0YSBtYXkgYmUgc3RvcmVkIGluIHlvdXIgYnJvd3NlciB0aHJvdWdoIGxvY2FsIHN0b3JhZ2UsIHNhdmVzLCBvciBzaW1pbGFyIGJyb3dzZXIgZmVhdHVyZXMuIEFueW9uZSB3aXRoIGFjY2VzcyB0byB0aGUgc2FtZSBicm93c2VyIHByb2ZpbGUgb3IgZGV2aWNlIG1heSBiZSBhYmxlIHRvIGFjY2VzcyB0aGF0IGxvY2FsbHkgc3RvcmVkIGluZm9ybWF0aW9uLiZsdDsvcCZndDsKJmx0Oy9zZWN0aW9uJmd0OwoKJmx0O3NlY3Rpb24mZ3Q7CiZsdDtoMiZndDtIb3N0aW5nIGFuZCBUZWNobmljYWwgSW5mb3JtYXRpb24mbHQ7L2gyJmd0OwombHQ7cCZndDtUaGUgd2Vic2l0ZSBvciBob3N0aW5nIHNlcnZpY2UgdXNlZCB0byBkZWxpdmVyIHRoaXMgc3RvcnkgbWF5IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZSB0ZWNobmljYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBhbiBJUCBhZGRyZXNzLCBicm93c2VyIHR5cGUsIGRldmljZSBpbmZvcm1hdGlvbiwgYWNjZXNzIHRpbWUsIHJlZmVycmluZyBwYWdlLCBvciBzZXJ2ZXIgbG9ncy4gVGhvc2UgcHJhY3RpY2VzIGFyZSBjb250cm9sbGVkIGJ5IHRoZSBhcHBsaWNhYmxlIGhvc3Qgb3IgcGxhdGZvcm0gYW5kIGFyZSBub3QgZGVzY3JpYmVkIGJ5IHRoaXMgaW4tc3Rvcnkgbm90aWNlLiZsdDsvcCZndDsKJmx0O3AmZ3Q7RG8gbm90IGVudGVyIHNlbnNpdGl2ZSBwZXJzb25hbCBpbmZvcm1hdGlvbiBpbnRvIHN0b3J5IGZpZWxkcywgc2F2ZSBuYW1lcywgc3RhZmYgdG9vbHMsIGZlZWRiYWNrIGZvcm1zLCBvciBvdGhlciBpbnRlcmFjdGl2ZSBjb250cm9scy4mbHQ7L3AmZ3Q7CiZsdDsvc2VjdGlvbiZndDsKCiZsdDtzZWN0aW9uJmd0OwombHQ7aDImZ3Q7RXh0ZXJuYWwgTGlua3MmbHQ7L2gyJmd0OwombHQ7cCZndDtUaGUgc3RvcnkgbWF5IGluY2x1ZGUgbGlua3MgdG8gdGhpcmQtcGFydHkgd2Vic2l0ZXMsIGluY2x1ZGluZyBhIGJvb2sgcmV0YWlsZXIuIFRob3NlIHdlYnNpdGVzIGhhdmUgdGhlaXIgb3duIHByaXZhY3ksIHNlY3VyaXR5LCBhY2Nlc3NpYmlsaXR5LCBjb29raWUsIHB1cmNoYXNpbmcsIGFuZCBjb250ZW50IHByYWN0aWNlcy4gT3BlbmluZyBhbiBleHRlcm5hbCBsaW5rIGxlYXZlcyB0aGlzIHN0b3J5LCBhbmQgdXNlIG9mIHRoZSBkZXN0aW5hdGlvbiBpcyBnb3Zlcm5lZCBieSB0aGF0IHdlYnNpdGUmIzM5O3MgdGVybXMgYW5kIHBvbGljaWVzLiZsdDsvcCZndDsKJmx0Oy9zZWN0aW9uJmd0OwoKJmx0O3NlY3Rpb24mZ3Q7CiZsdDtoMiZndDtVc2UgYXQgWW91ciBPd24gUmlzayZsdDsvaDImZ3Q7CiZsdDtwJmd0O1RoaXMgZXhwZXJpZW5jZSBpcyBwcm92aWRlZCBmb3IgZW50ZXJ0YWlubWVudCBhbmQgZGVtb25zdHJhdGlvbiBwdXJwb3NlcyBvbiBhbiDigJxhcyBpc+KAnSBhbmQg4oCcYXMgYXZhaWxhYmxl4oCdIGJhc2lzLiBVc2UgaXQgYXQgeW91ciBvd24gZGlzY3JldGlvbiBhbmQgcmlzay4gTm8gcHJvbWlzZSBpcyBtYWRlIHRoYXQgZXZlcnkgZmVhdHVyZSB3aWxsIGFsd2F5cyBiZSBhdmFpbGFibGUsIHVuaW50ZXJydXB0ZWQsIGVycm9yLWZyZWUsIGNvbXBhdGlibGUgd2l0aCBldmVyeSBkZXZpY2UsIG9yIGZyZWUgZnJvbSBkYXRhIGxvc3MuJmx0Oy9wJmd0OwombHQ7cCZndDtTYXZlIGZpbGVzLCBsb2NhbCBwcm9ncmVzcywgcHJlZmVyZW5jZXMsIGFuZCB0ZXN0aW5nIGNoZWNrcG9pbnRzIG1heSBiZSBsb3N0IHdoZW4gYnJvd3NlciBkYXRhIGlzIGNsZWFyZWQsIHByaXZhY3kgc2V0dGluZ3MgY2hhbmdlLCB0aGUgc3RvcnkgZmlsZSBpcyByZXBsYWNlZCwgb3IgdGhlIGhvc3RpbmcgZW52aXJvbm1lbnQgY2hhbmdlcy4gS2VlcCBzZXBhcmF0ZSBiYWNrdXBzIG9mIGFueXRoaW5nIGltcG9ydGFudC4mbHQ7L3AmZ3Q7CiZsdDsvc2VjdGlvbiZndDsKCiZsdDtzZWN0aW9uJmd0OwombHQ7aDImZ3Q7Q29udGVudCBhbmQgQXVkaWVuY2UmbHQ7L2gyJmd0OwombHQ7cCZndDtUaGUgc3RvcnkgY29udGFpbnMgZmljdGlvbmFsIG15c3RlcnkgYW5kIHN1cGVybmF0dXJhbCB0aGVtZXMuIEEgcGFyZW50IG9yIGd1YXJkaWFuIHNob3VsZCByZXZpZXcgdGhlIGV4cGVyaWVuY2UgYmVmb3JlIGFsbG93aW5nIGEgY2hpbGQgdG8gdXNlIGl0LiBUaGUgc3RvcnkgaXMgbm90IGludGVuZGVkIHRvIGNvbGxlY3QgcGVyc29uYWwgaW5mb3JtYXRpb24gZnJvbSBjaGlsZHJlbi4mbHQ7L3AmZ3Q7CiZsdDsvc2VjdGlvbiZndDsKCiZsdDtzZWN0aW9uJmd0OwombHQ7aDImZ3Q7Tm8gUHJvZmVzc2lvbmFsIEFkdmljZSZsdDsvaDImZ3Q7CiZsdDtwJmd0O1N0b3J5IGNvbnRlbnQgYW5kIGluLXN0b3J5IG5vdGljZXMgYXJlIGdlbmVyYWwgaW5mb3JtYXRpb24gb25seS4gVGhleSBhcmUgbm90IGxlZ2FsLCBtZWRpY2FsLCBzYWZldHksIGZpbmFuY2lhbCwgb3Igb3RoZXIgcHJvZmVzc2lvbmFsIGFkdmljZS4gTm90aGluZyBpbiB0aGUgc3Rvcnkgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgaW5zdHJ1Y3Rpb25zIGZvciBpbnZlc3RpZ2F0aW5nIHJlYWwgbG9jYXRpb25zLCBlbnRlcmluZyByZXN0cmljdGVkIGFyZWFzLCBjb25mcm9udGluZyBwZW9wbGUsIG9yIHRlc3RpbmcgZGFuZ2Vyb3VzIHNpdHVhdGlvbnMuJmx0Oy9wJmd0OwombHQ7L3NlY3Rpb24mZ3Q7CgombHQ7c2VjdGlvbiZndDsKJmx0O2gyJmd0O1lvdXIgQ2hvaWNlcyZsdDsvaDImZ3Q7CiZsdDt1bCZndDsKJmx0O2xpJmd0O1lvdSBtYXkgc3RvcCB1c2luZyB0aGUgc3RvcnkgYXQgYW55IHRpbWUuJmx0Oy9saSZndDsKJmx0O2xpJmd0O1lvdSBtYXkgZGVsZXRlIGxvY2FsbHkgc3RvcmVkIHByb2dyZXNzIHRocm91Z2ggdGhlIGdhbWUmIzM5O3Mgc2F2ZSBjb250cm9scyBvciB5b3VyIGJyb3dzZXIgc2V0dGluZ3MuJmx0Oy9saSZndDsKJmx0O2xpJmd0O1lvdSBtYXkgYXZvaWQgZXh0ZXJuYWwgbGlua3MgYW5kIGNvbnRpbnVlIHVzaW5nIHRoZSBzdG9yeSB3aGVyZSBhdmFpbGFibGUuJmx0Oy9saSZndDsKJmx0O2xpJmd0O1lvdSBtYXkgdXNlIGEgcHJpdmF0ZSBicm93c2VyIHdpbmRvdyB0byByZWR1Y2UgcGVyc2lzdGVuY2UsIGFsdGhvdWdoIHRoZSBicm93c2VyIG9yIGhvc3QgbWF5IHN0aWxsIHByb2Nlc3MgdGVjaG5pY2FsIGluZm9ybWF0aW9uLiZsdDsvbGkmZ3Q7CiZsdDsvdWwmZ3Q7CiZsdDsvc2VjdGlvbiZndDsKCiZsdDtzZWN0aW9uJmd0OwombHQ7aDImZ3Q7Q2hhbmdlcyB0byBUaGlzIE5vdGljZSZsdDsvaDImZ3Q7CiZsdDtwJmd0O1RoaXMgbm90aWNlIG1heSBiZSByZXZpc2VkIHdoZW4gdGhlIHN0b3J5LCBob3N0aW5nIGFycmFuZ2VtZW50LCBkYXRhIHByYWN0aWNlcywgb3IgbGlua2VkIHNlcnZpY2VzIGNoYW5nZS4gVGhlIGVmZmVjdGl2ZSBkYXRlIGFib3ZlIGlkZW50aWZpZXMgdGhlIHZlcnNpb24gcHJlc2VudGVkIHdpdGggdGhpcyBidWlsZC4mbHQ7L3AmZ3Q7CiZsdDsvc2VjdGlvbiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7bGVnYWwtY2F1dGlvbiZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0ltcG9ydGFudDombHQ7L3N0cm9uZyZndDsgVGhpcyBub3RpY2UgaXMgYSBnZW5lcmFsIGRpc2Nsb3N1cmUgZm9yIHRoZSBjdXJyZW50IHN0YW5kYWxvbmUgc3RvcnkgYnVpbGQuIEl0IHdpbGwgYmUgcmV2aWV3ZWQgYW5kIHVwZGF0ZWQgb24gYW4gb25nb2luZyBiYXNpcy4mbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7CiZsdDsmbHQ7aWYgJGJtUmV0dXJuUGFzc2FnZSBhbmQgU3RvcnkuaGFzKCRibVJldHVyblBhc3NhZ2UpJmd0OyZndDsKICAgICZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gdG8gdGhlIFN0b3J5JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2dvdG8gJGJtUmV0dXJuUGFzc2FnZSZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7CiZsdDsmbHQ7ZWxzZSZndDsmZ3Q7CiAgICBbW1JldHVybiB0byBUaXRsZSBTY3JlZW4tJmd0O1N0YXJ0XV0KJmx0OyZsdDsvaWYmZ3Q7Jmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU0NCIgbmFtZT0iQnVpbGQ1MTRIYXVudGluZ1JlcG9ydCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iMzUwMCwzNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtCdWlsZCA1LjE0IEhhdW50aW5nIERpcmVjdG9yJmx0Oy9oMSZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0N1cnJlbnQgYXR0ZW50aW9uOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gc2V0dXAuYXR0ZW50aW9uU3RhdGUoKSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Q3VycmVudCBhdG1vc3BoZXJpYyBjaGFuY2U6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBNYXRoLnJvdW5kKHNldHVwLmhhdW50aW5nQ2hhbmNlKCkqMTAwKSZndDsmZ3Q7JSZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O01hbmlmZXN0YXRpb25zIHNlZW46Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSAkaGF1bnRpbmdBdG1vc3BoZXJlU2VlbiA/ICRoYXVudGluZ0F0bW9zcGhlcmVTZWVuLmxlbmd0aCA6IDAmZ3Q7Jmd0OyBvZiA1Jmx0Oy9wJmd0OyZsdDtwcmUgY2xhc3M9JnF1b3Q7djQyLXByb2ZpbGUmcXVvdDsmZ3Q7Jmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KCRoYXVudGluZ0F0bW9zcGhlcmVMb2cgfHwgW10sIG51bGwsIDIpJmd0OyZndDsmbHQ7L3ByZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUHJldmlldyBhbGwgbWFuaWZlc3RhdGlvbnMtJmd0O0J1aWxkNTE0SGF1bnRpbmdQcmV2aWV3XV0gJmx0OyZsdDtsaW5rICZxdW90O1Jlc2V0IGF0bW9zcGhlcmljIGhpc3RvcnkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRoYXVudGluZ0F0bW9zcGhlcmVTZWVuPVtdJmd0OyZndDsmbHQ7Jmx0O3NldCAkaGF1bnRpbmdBdG1vc3BoZXJlTG9nPVtdJmd0OyZndDsmbHQ7Jmx0O3NldCAkaGF1bnRpbmdBdG1vc3BoZXJlQ29vbGRvd249MCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0J1aWxkNTE0SGF1bnRpbmdSZXBvcnQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyBbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTQ1IiBuYW1lPSJCdWlsZDUxNEhhdW50aW5nUHJldmlldyIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iMzUwMCwzNTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtBdG1vc3BoZXJpYyBNYW5pZmVzdGF0aW9uIFByZXZpZXcmbHQ7L2gxJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctYXRtb3NwaGVyZSZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtoYXVudGluZy1tYXJrJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDs9IHNldHVwLmZvcmNlQXRtb3NwaGVyaWNIYXVudGluZygmcXVvdDtyZWZsZWN0aW9uLWRlbGF5JnF1b3Q7KSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctYXRtb3NwaGVyZSZxdW90OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDtoYXVudGluZy1tYXJrJnF1b3Q7Jmd0OyEmbHQ7L3NwYW4mZ3Q7Jmx0O3AmZ3Q7Jmx0OyZsdDs9IHNldHVwLmZvcmNlQXRtb3NwaGVyaWNIYXVudGluZygmcXVvdDtjbG9jay05MTQmcXVvdDspJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy1hdG1vc3BoZXJlJnF1b3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O2hhdW50aW5nLW1hcmsmcXVvdDsmZ3Q7ISZsdDsvc3BhbiZndDsmbHQ7cCZndDsmbHQ7Jmx0Oz0gc2V0dXAuZm9yY2VBdG1vc3BoZXJpY0hhdW50aW5nKCZxdW90O2ZvbGxvd2luZy1zdGVwcyZxdW90OykmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLWF0bW9zcGhlcmUmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7aGF1bnRpbmctbWFyayZxdW90OyZndDshJmx0Oy9zcGFuJmd0OyZsdDtwJmd0OyZsdDsmbHQ7PSBzZXR1cC5mb3JjZUF0bW9zcGhlcmljSGF1bnRpbmcoJnF1b3Q7cGhvdG9ncmFwaC1maWZ0aCZxdW90OykmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLWF0bW9zcGhlcmUmcXVvdDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7aGF1bnRpbmctbWFyayZxdW90OyZndDshJmx0Oy9zcGFuJmd0OyZsdDtwJmd0OyZsdDsmbHQ7PSBzZXR1cC5mb3JjZUF0bW9zcGhlcmljSGF1bnRpbmcoJnF1b3Q7Z3JlZW4tdGhyZWFkJnF1b3Q7KSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gaGF1bnRpbmcgcmVwb3J0LSZndDtCdWlsZDUxNEhhdW50aW5nUmVwb3J0XV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NDYiIG5hbWU9IkhhdW50aW5nSGFsbHdheVdpdGNoIiB0YWdzPSJoYXVudGluZyBlbmNvdW50ZXIgYmctc2Nob29saGFsbCIgcG9zaXRpb249IjM2MDAsMzYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uPSZxdW90O1NjaG9vbCBIYWxsd2F5OiBNYW5pZmVzdGF0aW9uJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlPSZxdW90O1Jlc3BvbmQgYmVmb3JlIHRoZSBmaWd1cmUgcmVhY2hlcyB0aGUgbmV4dCBkb29yd2F5JnF1b3Q7Jmd0OyZndDsmbHQ7aDEmZ3Q7VGhlIFdvbWFuIGF0IHRoZSBFbmQgb2YgdGhlIEhhbGwmbHQ7L2gxJmd0OyZsdDtwJmd0O1RoZSBsaWdodHMgZXh0aW5ndWlzaCBvbmUgYXQgYSB0aW1lLiBBdCB0aGUgZmFyIGVuZCBvZiB0aGUgY29ycmlkb3IsIGEgd29tYW4gaW4gZGFyayBjbG90aGluZyBzdGFuZHMgd2l0aCBvbmUgaGFuZCByZXN0aW5nIGFnYWluc3QgdGhlIHdhbGwuIEhlciBmYWNlIHJlbWFpbnMgaGlkZGVuIGJlbmVhdGggdGhlIGFuZ2xlIG9mIGhlciBoYXQuJmx0Oy9wJmd0OyZsdDtwJmd0O1NoZSBkb2VzIG5vdCB3YWxrLiBFYWNoIHRpbWUgYW5vdGhlciBsaWdodCBmYWlscywgc2hlIGlzIHNpbXBseSBjbG9zZXIuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLXByb21wdCZxdW90OyZndDtXaGF0IHNob3VsZCB0aGUgaW52ZXN0aWdhdG9yIGRvPyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tGb2xsb3cgYmVmb3JlIHNoZSBkaXNhcHBlYXJzLSZndDtIYXVudGluZ0hhbGx3YXlGb2xsb3ddXSBbW0NhbGwgYW5vdGhlciBpbnZlc3RpZ2F0b3ItJmd0O0hhdW50aW5nSGFsbHdheUNhbGxdXSAmbHQ7Jmx0O2lmICRyeWFuQWN0aXZlUnVsZSBvciAoJGFiaWxpdHlBZHZhbnRhZ2VzIGFuZCAkYWJpbGl0eUFkdmFudGFnZXMuaW5jbHVkZXMoJnF1b3Q7cnlhbi1hY3RpdmUtcnVsZSZxdW90OykpJmd0OyZndDtbW1VzZSBSeWFuJiMzOTtzIHRlc3RlZCBib3VuZGFyeSBydWxlLSZndDtIYXVudGluZ0hhbGx3YXlSdWxlXV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7IFtbUmV0cmVhdCB0byB0aGUgcHJldmlvdXMgcm9vbS0mZ3Q7SGF1bnRpbmdIYWxsd2F5UmV0cmVhdF1dJmx0Oy9kaXYmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMTcgcHJvZmlsZSByZWFjdGlvbiAtLSZndDsmbHQ7Jmx0O2lmICRoYXVudGluZ1Byb2ZpbGUuaWQgaXMgJnF1b3Q7Z2xhc3MmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctcHJvZmlsZS1zaWduJnF1b3Q7Jmd0O1RoZSB3b21hbiBpcyB2aXNpYmxlIGluIGV2ZXJ5IGNsYXNzcm9vbSB3aW5kb3csIGV2ZW4gd2hlcmUgdGhlIGhhbGx3YXkgYW5nbGUgc2hvdWxkIGhpZGUgaGVyLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZWlmICRoYXVudGluZ1Byb2ZpbGUuaWQgaXMgJnF1b3Q7dm9pY2VzJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLXByb2ZpbGUtc2lnbiZxdW90OyZndDtCZWZvcmUgdGhlIGxpZ2h0cyBmYWlsLCBLZXZpbiBoZWFycyBoaXMgb3duIHZvaWNlIGFza2luZyBoaW0gdG8gY29tZSBjbG9zZXIuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlaWYgJGhhdW50aW5nUHJvZmlsZS5pZCBpcyAmcXVvdDt0aHJlYWQmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctcHJvZmlsZS1zaWduJnF1b3Q7Jmd0O0dyZWVuIHRocmVhZCBsaW5rcyBlYWNoIGRhcmtlbmVkIGxpZ2h0IGZpeHR1cmUgdG8gdGhlIG5leHQuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlaWYgJGhhdW50aW5nUHJvZmlsZS5pZCBpcyAmcXVvdDtyb290cyZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy1wcm9maWxlLXNpZ24mcXVvdDsmZ3Q7RHVzdCBhbmQgZmluZSByb290cyBwdXNoIHRocm91Z2ggdGhlIHNlYW1zIG9mIHRoZSBoYWxsd2F5IGZsb29yLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDtcbiZsdDshLS0gQnVpbGQgNS4xOCB0YXJnZXQgcHJlc3N1cmUgLS0mZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy10YXJnZXQtcHJlc3N1cmUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgcGF0dGVybiBjaG9vc2VzIHNvbWVvbmU6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBzZXR1cC5wcm9maWxlVGhyZWF0VGV4dCgpJmd0OyZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU0NyIgbmFtZT0iSGF1bnRpbmdIYWxsd2F5Rm9sbG93IiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzYwMCwzNjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDtoYXVudGluZy1oYWxsd2F5LWZvbGxvdyZxdW90OywxLCZxdW90O1RoZSBpbnZlc3RpZ2F0b3IgZm9sbG93ZWQgdGhlIGhhbGx3YXkgYXBwYXJpdGlvbi4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5maW5pc2hJbnRlcmFjdGl2ZUhhdW50aW5nKCZxdW90O2ZvbGxvd2VkIHRoZSBhcHBhcml0aW9uJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGludmVzdGlnYXRvciBydW5zIGZvcndhcmQuIFRoZSB3b21hbiB0dXJucyB0aHJvdWdoIGEgZG9vcndheSB0aGF0IHNob3VsZCBvcGVuIGludG8gYSBjbGFzc3Jvb20uIEJleW9uZCBpdCBpcyBvbmx5IGEgYnJpY2sgd2FsbCwgc3RpbGwgd2V0IHdpdGggbW9ydGFyLiZsdDsvcCZndDsmbHQ7cCZndDtTY3JhdGNoZWQgaW50byBvbmUgYnJpY2sgYXJlIGZvdXIgaW5pdGlhbHMgYW5kIGEgZmlmdGggc3BhY2UgbGVmdCBlbXB0eS4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGhhdW50aW5nQnJpY2tJbml0aWFscz10cnVlJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5hZGRDYXNlRmlsZTIoJnF1b3Q7aGF1bnRpbmctYnJpY2staW5pdGlhbHMmcXVvdDssJnF1b3Q7SW5pdGlhbHMgQmVoaW5kIHRoZSBIYWxsd2F5IERvb3ImcXVvdDssJnF1b3Q7RW5jb3VudGVyIHdpdG5lc3MmcXVvdDssJnF1b3Q7VW52ZXJpZmllZCZxdW90OywmcXVvdDtUaGUgZG9vcndheSBkb2VzIG5vdCBleGlzdCBvbiB0aGUgc2Nob29sIHBsYW4uJnF1b3Q7LCZxdW90O1dobyB3YXMgbWVhbnQgdG8gb2NjdXB5IHRoZSBmaWZ0aCBzcGFjZT8mcXVvdDspJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSBpbnZlc3RpZ2F0aW9uLSZndDtIYWxsd2F5IEludmVzdGlnYXRpb25dXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTQ4IiBuYW1lPSJIYXVudGluZ0hhbGx3YXlDYWxsIiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzYwMCwzNjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5maW5pc2hJbnRlcmFjdGl2ZUhhdW50aW5nKCZxdW90O2NhbGxlZCBmb3IgaGVscCZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBpbnZlc3RpZ2F0b3IgY2FsbHMgb3V0LiBBIHNlY29uZCB2b2ljZSBhbnN3ZXJzIGZyb20gYmVoaW5kLCB1c2luZyB0aGUgc2FtZSB3b3JkcyBoYWxmIGEgc2Vjb25kIGxhdGVyLiZsdDsvcCZndDsmbHQ7cCZndDtXaGVuIHRoZSBvdGhlcnMgYXJyaXZlLCB0aGUgd29tYW4gaXMgZ29uZS4gQSBjb2xkIGhhbmRwcmludCByZW1haW5zIGhpZ2ggb24gdGhlIHdhbGwsIGJleW9uZCBhbnlvbmUmIzM5O3MgcmVhY2guJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICRoYXVudGluZ0hpZ2hIYW5kcHJpbnQ9dHJ1ZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgaW52ZXN0aWdhdGlvbi0mZ3Q7SGFsbHdheSBJbnZlc3RpZ2F0aW9uXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU0OSIgbmFtZT0iSGF1bnRpbmdIYWxsd2F5UnVsZSIgdGFncz0iaGF1bnRpbmcgY29uc2VxdWVuY2UgYmctc2Nob29saGFsbCIgcG9zaXRpb249IjM2MDAsMzYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAubG93ZXJBdHRlbnRpb24oJnF1b3Q7aGF1bnRpbmctaGFsbHdheS1ydWxlJnF1b3Q7LDEsJnF1b3Q7UnlhbiYjMzk7cyB0ZXN0ZWQgYm91bmRhcnkgcnVsZSBkaXNydXB0ZWQgdGhlIGFwcGFyaXRpb24uJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuZmluaXNoSW50ZXJhY3RpdmVIYXVudGluZygmcXVvdDt1c2VkIGEgdmVyaWZpZWQgYm91bmRhcnkgcnVsZSZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBydWxlIGlzIHNwb2tlbiBleGFjdGx5IGFzIGl0IHdhcyB0ZXN0ZWQuIFRoZSBmaW5hbCBsaWdodCByZW1haW5zIG9uLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgd29tYW4gc3RvcHMgYXQgaXRzIGVkZ2UuIEZvciBvbmUgc2Vjb25kLCBoZXIgc2hhZG93IHBvaW50cyB0b3dhcmQgYSBzZWFsZWQgbWFpbnRlbmFuY2UgZG9vci4gVGhlbiBzaGUgaXMgZ29uZS4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGhhdW50aW5nTWFpbnRlbmFuY2VEb29yPXRydWUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gdGhlIGludmVzdGlnYXRpb24tJmd0O0hhbGx3YXkgSW52ZXN0aWdhdGlvbl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NTAiIG5hbWU9IkhhdW50aW5nSGFsbHdheVJldHJlYXQiIHRhZ3M9ImhhdW50aW5nIGNvbnNlcXVlbmNlIGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIzNjAwLDM2MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLmZpbmlzaEludGVyYWN0aXZlSGF1bnRpbmcoJnF1b3Q7cmV0cmVhdGVkIHNhZmVseSZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBpbnZlc3RpZ2F0b3IgYmFja3MgYXdheSB3aXRob3V0IHR1cm5pbmcuIFRoZSBmaW5hbCBsaWdodCBmYWlscyBqdXN0IGFzIHRoZSBkb29yIGNsb3Nlcy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Tm90aGluZyBmb2xsb3dzLCBidXQgdGhlIGhhbGx3YXkgaW52ZXN0aWdhdGlvbiBtdXN0IGJlIGFiYW5kb25lZCBmb3IgdGhlIG1vbWVudC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0xlYXZlIHRoZSBoYWxsd2F5IGFuZCByZWdyb3VwLSZndDtLZXZpbiBMZWF2ZXMgdGhlIEhhbGx3YXkgRWFybHldXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTUxIiBuYW1lPSJIYXVudGluZ1NlYWxlZERvb3JWb2ljZSIgdGFncz0iaGF1bnRpbmcgZW5jb3VudGVyIGJnLXVwc3RhaXJzIiBwb3NpdGlvbj0iMzYwMCwzNjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb249JnF1b3Q7VXBzdGFpcnM6IFNlYWxlZCBEb29yJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlPSZxdW90O0RlY2lkZSB3aGV0aGVyIHRoZSB2b2ljZSBjYW4gYmUgdHJ1c3RlZCZxdW90OyZndDsmZ3Q7Jmx0O2gxJmd0O1RoZSBWb2ljZSBCZWhpbmQgdGhlIERvb3ImbHQ7L2gxJmd0OyZsdDtwJmd0O1RocmVlIHNsb3cga25vY2tzIGNvbWUgZnJvbSBpbnNpZGUgdGhlIHdhbGwgYmVzaWRlIHRoZSB1bmtub3duIGRvb3IuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZW4gQWJiaWUmIzM5O3Mgdm9pY2Ugd2hpc3BlcnMsIOKAnEkgZm91bmQgdGhlIHJvb20uIFBsZWFzZSBvcGVuIGl0LuKAnSZsdDsvcCZndDsmbHQ7cCZndDtBYmJpZSBpcyBkb3duc3RhaXJzLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQW5zd2VyIHdpdGhvdXQgb3BlbmluZyB0aGUgZG9vci0mZ3Q7SGF1bnRpbmdEb29yQW5zd2VyXV0gW1tNYXJrIHRoZSB0aHJlc2hvbGQgYW5kIHdpdGhkcmF3LSZndDtIYXVudGluZ0Rvb3JNYXJrXV0gJmx0OyZsdDtpZiAka2ltbXlBY3RpdmVWZXJpZmljYXRpb24gb3IgKCRhYmlsaXR5QWR2YW50YWdlcyBhbmQgJGFiaWxpdHlBZHZhbnRhZ2VzLmluY2x1ZGVzKCZxdW90O2tpbW15LWFjdGl2ZS12ZXJpZmljYXRpb24mcXVvdDspKSZndDsmZ3Q7W1tVc2UgS2ltbXkmIzM5O3MgdmVyaWZpY2F0aW9uIG1ldGhvZC0mZ3Q7SGF1bnRpbmdEb29yVmVyaWZ5XV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7IFtbT3BlbiB0aGUgZG9vciBpbW1lZGlhdGVseS0mZ3Q7SGF1bnRpbmdEb29yT3Blbl1dJmx0Oy9kaXYmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMTcgcHJvZmlsZSByZWFjdGlvbiAtLSZndDsmbHQ7Jmx0O2lmICRoYXVudGluZ1Byb2ZpbGUuaWQgaXMgJnF1b3Q7Z2xhc3MmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctcHJvZmlsZS1zaWduJnF1b3Q7Jmd0O1RoZSBkb29yIGhhcyBubyByZWZsZWN0aW9uIGluIHRoZSBsYW5kaW5nIG1pcnJvci4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2VpZiAkaGF1bnRpbmdQcm9maWxlLmlkIGlzICZxdW90O3ZvaWNlcyZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy1wcm9maWxlLXNpZ24mcXVvdDsmZ3Q7VGhlIHZvaWNlIGNoYW5nZXMgc3BlYWtlcnMgZWFjaCB0aW1lIGl0IHJlcGVhdHMgdGhlIHJlcXVlc3QuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlaWYgJGhhdW50aW5nUHJvZmlsZS5pZCBpcyAmcXVvdDt0aHJlYWQmcXVvdDsmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctcHJvZmlsZS1zaWduJnF1b3Q7Jmd0O0EgZ3JlZW4ga25vdCB0aWdodGVucyBpdHNlbGYgYXJvdW5kIHRoZSBkb29ya25vYi4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2VpZiAkaGF1bnRpbmdQcm9maWxlLmlkIGlzICZxdW90O3Jvb3RzJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLXByb2ZpbGUtc2lnbiZxdW90OyZndDtTb21ldGhpbmcgc2NyYXRjaGVzIGJlbmVhdGggdGhlIGZsb29yYm9hcmRzIGluc3RlYWQgb2YgYmVoaW5kIHRoZSBkb29yLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDtcbiZsdDshLS0gQnVpbGQgNS4xOCB0YXJnZXQgcHJlc3N1cmUgLS0mZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy10YXJnZXQtcHJlc3N1cmUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgcGF0dGVybiBjaG9vc2VzIHNvbWVvbmU6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBzZXR1cC5wcm9maWxlVGhyZWF0VGV4dCgpJmd0OyZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU1MiIgbmFtZT0iSGF1bnRpbmdEb29yQW5zd2VyIiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy11cHN0YWlycyIgcG9zaXRpb249IjM2MDAsMzYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAucmFpc2VBdHRlbnRpb24oJnF1b3Q7aGF1bnRpbmctZG9vci1hbnN3ZXImcXVvdDssMSwmcXVvdDtUaGUgaW52ZXN0aWdhdG9yIGFuc3dlcmVkIHRoZSBpbWl0YXRpb24gYmVoaW5kIHRoZSBzZWFsZWQgZG9vci4mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5maW5pc2hJbnRlcmFjdGl2ZUhhdW50aW5nKCZxdW90O2Fuc3dlcmVkIHRoZSBpbWl0YXRpb24mcXVvdDspJmd0OyZndDsmbHQ7cCZndDvigJxXaGljaCByb29tP+KAnSB0aGUgaW52ZXN0aWdhdG9yIGFza3MuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSB2b2ljZSByZXBsaWVzIGZyb20gZGlyZWN0bHkgYmVoaW5kIHRoZW06IOKAnFlvdXJzLuKAnSZsdDsvcCZndDsmbHQ7cCZndDtUaGUgc2VhbGVkIGRvb3IgcmVtYWlucyBjbG9zZWQsIGJ1dCBhIG5ldyBrZXlob2xlIGhhcyBhcHBlYXJlZCBiZW5lYXRoIHRoZSBoYW5kbGUuJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICRoYXVudGluZ05ld0tleWhvbGU9dHJ1ZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgbGFuZGluZy0mZ3Q7VXBzdGFpcnNMYW5kaW5nSHViXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU1MyIgbmFtZT0iSGF1bnRpbmdEb29yTWFyayIgdGFncz0iaGF1bnRpbmcgY29uc2VxdWVuY2UgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSIzNjAwLDM2MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLmZpbmlzaEludGVyYWN0aXZlSGF1bnRpbmcoJnF1b3Q7bWFya2VkIHRoZSB0aHJlc2hvbGQgYW5kIHdpdGhkcmV3JnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7QSBjaGFsayBtYXJrIGlzIHBsYWNlZCBhY3Jvc3MgdGhlIGZyYW1lLiBUaGUgdm9pY2UgdHJpZXMgdGhyZWUgbW9yZSBuYW1lcywgdGhlbiBzdG9wcy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7V2hlbiB0aGUgZ3JvdXAgcmV0dXJucywgdGhlIGNoYWxrIGxpbmUgaXMgaW50YWN0IGV4Y2VwdCBmb3Igb25lIG5hcnJvdyBicmVhayBuZWFyIHRoZSBmbG9vci4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGhhdW50aW5nVGhyZXNob2xkQnJlYWs9dHJ1ZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgbGFuZGluZy0mZ3Q7VXBzdGFpcnNMYW5kaW5nSHViXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU1NCIgbmFtZT0iSGF1bnRpbmdEb29yVmVyaWZ5IiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy11cHN0YWlycyIgcG9zaXRpb249IjM2MDAsMzYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAubG93ZXJBdHRlbnRpb24oJnF1b3Q7aGF1bnRpbmctZG9vci12ZXJpZnkmcXVvdDssMSwmcXVvdDtLaW1teSYjMzk7cyB2ZXJpZmljYXRpb24gZXhwb3NlZCB0aGUgaW1pdGF0aW9uLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLmZpbmlzaEludGVyYWN0aXZlSGF1bnRpbmcoJnF1b3Q7dmVyaWZpZWQgdGhlIGZhbHNlIHZvaWNlJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIHZvaWNlIGlzIGNvbXBhcmVkIGFnYWluc3QgYSBrbm93biByZWNvcmRpbmcuIFRoZSByaHl0aG0gaXMgZXhhY3QsIGJ1dCBldmVyeSBicmVhdGggb2NjdXJzIGluIHRoZSB3cm9uZyBwbGFjZS4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7T25jZSBpZGVudGlmaWVkIGFzIGFuIGltaXRhdGlvbiwgaXQgY2hhbmdlcyBpbnRvIGEgbG93IG1lY2hhbmljYWwgY2xpY2tpbmcgYW5kIHJldHJlYXRzIGRlZXBlciBpbnRvIHRoZSB3YWxsLiZsdDsvcCZndDsmbHQ7Jmx0O3NldCAkaGF1bnRpbmdWb2ljZVZlcmlmaWVkPXRydWUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gdGhlIGxhbmRpbmctJmd0O1Vwc3RhaXJzTGFuZGluZ0h1Yl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NTUiIG5hbWU9IkhhdW50aW5nRG9vck9wZW4iIHRhZ3M9ImhhdW50aW5nIGNvbnNlcXVlbmNlIGJnLXVwc3RhaXJzIiBwb3NpdGlvbj0iMzYwMCwzNjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDtoYXVudGluZy1kb29yLW9wZW4mcXVvdDssMiwmcXVvdDtUaGUgaW52ZXN0aWdhdG9yIG9wZW5lZCB0aGUgZG9vciBmb3IgYW4gaW1pdGF0aW9uLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLmZpbmlzaEludGVyYWN0aXZlSGF1bnRpbmcoJnF1b3Q7b3BlbmVkIHRoZSBmYWxzZSBkb29yJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGRvb3Igb3BlbnMgb250byB0aGUgZG93bnN0YWlycyBoYWxsd2F5LCBzZWVuIGZyb20gdGhlIGNlaWxpbmcuIEdyYXZpdHkgcHVsbHMgc2lkZXdheXMgZm9yIG9uZSBpbXBvc3NpYmxlIHNlY29uZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGludmVzdGlnYXRvciBzbGFtcyB0aGUgZG9vciBiZWZvcmUgZmFsbGluZyB0aHJvdWdoLCBsZWF2aW5nIGFuIGl0ZW0gYmVoaW5kIGluIHRoZSBvdGhlciBoYWxsd2F5LiZsdDsvcCZndDsmbHQ7Jmx0O3NldCAkaGF1bnRpbmdMb3N0SXRlbT10cnVlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0cmVhdCB0byB0aGUgbGFuZGluZy0mZ3Q7VXBzdGFpcnNMYW5kaW5nSHViXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU1NiIgbmFtZT0iSGF1bnRpbmdPYWtGaWd1cmUiIHRhZ3M9ImhhdW50aW5nIGVuY291bnRlciBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzYwMCwzNjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb249JnF1b3Q7T2FrIEJvdW5kYXJ5OiBNYW5pZmVzdGF0aW9uJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlPSZxdW90O0RlY2lkZSB3aGV0aGVyIHRoZSBmaWd1cmUgaXMgd2FybmluZyBvciBpbnZpdGluZyZxdW90OyZndDsmZ3Q7Jmx0O2gxJmd0O1RoZSBGaWd1cmUgQmVuZWF0aCB0aGUgT2FrJmx0Oy9oMSZndDsmbHQ7cCZndDtBIGNoaWxkLXNpemVkIGZpZ3VyZSBzdGFuZHMgb24gdGhlIGZhciBzaWRlIG9mIHRoZSByb290cy4gSXRzIGNsb3RoZXMgYmVsb25nIHRvIG5vIHNpbmdsZSBkZWNhZGUuIE9uZSBhcm0gcG9pbnRzIHRvd2FyZCB0aGUgaG91c2UuIFRoZSBvdGhlciBwb2ludHMgZG93biBpbnRvIHRoZSBlYXJ0aC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7V2hlbiB0aGUgaW52ZXN0aWdhdG9yIHNoaWZ0cyBwb3NpdGlvbiwgdGhlIGZpZ3VyZSByZW1haW5zIGZhY2luZyBmb3J3YXJkLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbTW92ZSBjbG9zZXIgdG8gaGVhciBpdC0mZ3Q7SGF1bnRpbmdPYWtMaXN0ZW5dXSBbW1Bob3RvZ3JhcGggdGhlIGZpZ3VyZS0mZ3Q7SGF1bnRpbmdPYWtQaG90b11dICZsdDsmbHQ7aWYgJHNjb290Tm90ZWJvb2tVbmxvY2tlZCBvciAoJGFiaWxpdHlBZHZhbnRhZ2VzIGFuZCAkYWJpbGl0eUFkdmFudGFnZXMuaW5jbHVkZXMoJnF1b3Q7c2Nvb3QtZm91cnRoLW5hbWUmcXVvdDspKSZndDsmZ3Q7W1tBc2sgdGhlIG5vdGVib29rIHdoYXQgaXQgd2FudHMtJmd0O0hhdW50aW5nT2FrTm90ZWJvb2tdXSZsdDsmbHQ7L2lmJmd0OyZndDsgW1tMZWF2ZSB0aGUgYm91bmRhcnkgaW1tZWRpYXRlbHktJmd0O0hhdW50aW5nT2FrTGVhdmVdXSZsdDsvZGl2Jmd0O1xuJmx0OyEtLSBCdWlsZCA1LjE3IHByb2ZpbGUgcmVhY3Rpb24gLS0mZ3Q7Jmx0OyZsdDtpZiAkaGF1bnRpbmdQcm9maWxlLmlkIGlzICZxdW90O2dsYXNzJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLXByb2ZpbGUtc2lnbiZxdW90OyZndDtUaGUgZmlndXJlIGFwcGVhcnMgY2xlYXJseSBvbmx5IG9uIHRoZSBkYXJrIHBob25lIHNjcmVlbi4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2VpZiAkaGF1bnRpbmdQcm9maWxlLmlkIGlzICZxdW90O3ZvaWNlcyZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy1wcm9maWxlLXNpZ24mcXVvdDsmZ3Q7VGhlIGZpZ3VyZSBzcGVha3MgaW4gdGhlIHZvaWNlIG9mIHdoaWNoZXZlciBpbnZlc3RpZ2F0b3IgaXMgZmFydGhlc3QgYXdheS4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2VpZiAkaGF1bnRpbmdQcm9maWxlLmlkIGlzICZxdW90O3RocmVhZCZxdW90OyZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy1wcm9maWxlLXNpZ24mcXVvdDsmZ3Q7R3JlZW4gdGhyZWFkIHJ1bnMgZnJvbSBpdHMgd3Jpc3QgaW50byBhIHNwbGl0IGluIHRoZSB0cnVuay4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2VpZiAkaGF1bnRpbmdQcm9maWxlLmlkIGlzICZxdW90O3Jvb3RzJnF1b3Q7Jmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLXByb2ZpbGUtc2lnbiZxdW90OyZndDtUaGUgcm9vdHMgc2hpZnQgYXJvdW5kIGl0cyBmZWV0IGxpa2UgZmluZ2VycyBtYWtpbmcgcm9vbS4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMTggdGFyZ2V0IHByZXNzdXJlIC0tJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7aGF1bnRpbmctdGFyZ2V0LXByZXNzdXJlJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7VGhlIHBhdHRlcm4gY2hvb3NlcyBzb21lb25lOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gc2V0dXAucHJvZmlsZVRocmVhdFRleHQoKSZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NTciIG5hbWU9IkhhdW50aW5nT2FrTGlzdGVuIiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzYwMCwzNjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDtoYXVudGluZy1vYWstbGlzdGVuJnF1b3Q7LDEsJnF1b3Q7VGhlIGludmVzdGlnYXRvciBjcm9zc2VkIGNsb3NlciB0byB0aGUgb2FrIGFwcGFyaXRpb24uJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuZmluaXNoSW50ZXJhY3RpdmVIYXVudGluZygmcXVvdDthcHByb2FjaGVkIHRoZSBvYWsgZmlndXJlJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGZpZ3VyZSB3aGlzcGVycyB0aHJvdWdoIHRoZSByb290cyByYXRoZXIgdGhhbiB0aHJvdWdoIGl0cyBtb3V0aDog4oCcVGhlIGZpcnN0IGRvb3Igd2FzIGJlbG93LuKAnSZsdDsvcCZndDsmbHQ7cCZndDtUaGVuIGl0IHNpbmtzIGludG8gdGhlIHNoYWRvdyB1bmRlciB0aGUgb2FrIHdpdGhvdXQgZGlzdHVyYmluZyB0aGUgc29pbC4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGhhdW50aW5nRmlyc3REb29yQmVsb3c9dHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuYWRkQ2FzZUZpbGUyKCZxdW90O2hhdW50aW5nLWZpcnN0LWRvb3ImcXVvdDssJnF1b3Q7VGhlIEZpcnN0IERvb3IgV2FzIEJlbG93JnF1b3Q7LCZxdW90O0VuY291bnRlciB3aXRuZXNzJnF1b3Q7LCZxdW90O1VudmVyaWZpZWQmcXVvdDssJnF1b3Q7VGhlIHN0YXRlbWVudCBjb25mbGljdHMgd2l0aCB0aGUgdmlzaWJsZSBob3VzZSBlbnRyYW5jZXMuJnF1b3Q7LCZxdW90O0RvZXMgdGhlIG9sZGVzdCBib3VuZGFyeSBjb250aW51ZSB1bmRlcmdyb3VuZD8mcXVvdDspJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSBvYWsgaW52ZXN0aWdhdGlvbi0mZ3Q7Um91dGVPYWtUcmVlXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU1OCIgbmFtZT0iSGF1bnRpbmdPYWtQaG90byIgdGFncz0iaGF1bnRpbmcgY29uc2VxdWVuY2UgYmctc2Nob29saGFsbCIgcG9zaXRpb249IjM2MDAsMzYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAuZmluaXNoSW50ZXJhY3RpdmVIYXVudGluZygmcXVvdDtwaG90b2dyYXBoZWQgdGhlIG9hayBmaWd1cmUmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgY2FtZXJhIGNhcHR1cmVzIHRoZSBvYWssIHRoZSByb290cywgYW5kIGFuIGVtcHR5IHBhdGNoIG9mIGdyb3VuZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7SW4gdGhlIHBob3RvZ3JhcGgmIzM5O3MgcmVmbGVjdGlvbiBvbiB0aGUgc2NyZWVuLCBob3dldmVyLCB0aGUgZmlndXJlIGlzIHN0YW5kaW5nIGJlaGluZCB0aGUgaW52ZXN0aWdhdG9yLiZsdDsvcCZndDsmbHQ7Jmx0O3NldCAkaGF1bnRpbmdPYWtQaG90bz10cnVlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIHRoZSBvYWsgaW52ZXN0aWdhdGlvbi0mZ3Q7Um91dGVPYWtUcmVlXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU1OSIgbmFtZT0iSGF1bnRpbmdPYWtOb3RlYm9vayIgdGFncz0iaGF1bnRpbmcgY29uc2VxdWVuY2UgYmctc2Nob29saGFsbCIgcG9zaXRpb249IjM2MDAsMzYwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAucmFpc2VBdHRlbnRpb24oJnF1b3Q7aGF1bnRpbmctb2FrLW5vdGVib29rJnF1b3Q7LDIsJnF1b3Q7VGhlIG5vdGVib29rIGFuc3dlcmVkIHRoZSBmaWd1cmUgYmVuZWF0aCB0aGUgb2FrLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLmZpbmlzaEludGVyYWN0aXZlSGF1bnRpbmcoJnF1b3Q7Y29uc3VsdGVkIHRoZSBub3RlYm9vayZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBub3RlYm9vayB3cml0ZXMgYSBzaW5nbGUgd29yZDogJmx0O3N0cm9uZyZndDtCRUxPVyZsdDsvc3Ryb25nJmd0Oy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QSBzZWNvbmQgbGluZSBhcHBlYXJzIGJlbmVhdGggaXQgaW4gc21hbGxlciBoYW5kd3JpdGluZzogJmx0O2VtJmd0O05vdCBhbG9uZS4mbHQ7L2VtJmd0OyZsdDsvcCZndDsmbHQ7Jmx0O3NldCAkaGF1bnRpbmdOb3RlYm9va0JlbG93PXRydWUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gdGhlIG9hayBpbnZlc3RpZ2F0aW9uLSZndDtSb3V0ZU9ha1RyZWVdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTYwIiBuYW1lPSJIYXVudGluZ09ha0xlYXZlIiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzYwMCwzNjAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5sb3dlckF0dGVudGlvbigmcXVvdDtoYXVudGluZy1vYWstbGVhdmUmcXVvdDssMSwmcXVvdDtUaGUgaW52ZXN0aWdhdG9yIHJlZnVzZWQgdGhlIG9hayBhcHBhcml0aW9uJiMzOTtzIGludml0YXRpb24uJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuZmluaXNoSW50ZXJhY3RpdmVIYXVudGluZygmcXVvdDtsZWZ0IHRoZSBib3VuZGFyeSZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBpbnZlc3RpZ2F0b3Igc3RlcHMgYmFja3dhcmQgYWNyb3NzIHRoZSBib3VuZGFyeS4gVGhlIGZpZ3VyZSBkb2VzIG5vdCBmb2xsb3cuJmx0Oy9wJmd0OyZsdDtwJmd0O0J5IHRoZSB0aW1lIHRoZSBncm91cCBsb29rcyBhZ2Fpbiwgb25seSBhIGtub3Qgb2YgZ3JlZW4gdGhyZWFkIGhhbmdzIGZyb20gdGhlIGxvd2VzdCBicmFuY2guJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tMZWF2ZSB0aGUgYm91bmRhcnkgYW5kIHJlZ3JvdXAtJmd0O09ha1JvdXRlQ29uc2VxdWVuY2VdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTYxIiBuYW1lPSJCdWlsZDUxNUludGVyYWN0aXZlUmVwb3J0IiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIzNjAwLDM2MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O0J1aWxkIDUuMTUgSW50ZXJhY3RpdmUgTWFuaWZlc3RhdGlvbnMmbHQ7L2gxJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Q3VycmVudCBjaGFuY2U6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBNYXRoLnJvdW5kKHNldHVwLmludGVyYWN0aXZlSGF1bnRpbmdDaGFuY2UoKSoxMDApJmd0OyZndDslJmx0Oy9wJmd0OyZsdDtwcmUgY2xhc3M9JnF1b3Q7djQyLXByb2ZpbGUmcXVvdDsmZ3Q7Jmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KHtzZWVuOiRpbnRlcmFjdGl2ZUhhdW50aW5nc1NlZW58fFtdLGxvZzokaW50ZXJhY3RpdmVIYXVudGluZ0xvZ3x8W10sb3V0Y29tZXM6JGludGVyYWN0aXZlSGF1bnRpbmdPdXRjb21lc3x8W119LG51bGwsMikmZ3Q7Jmd0OyZsdDsvcHJlJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tQcmV2aWV3IGhhbGx3YXkgZW5jb3VudGVyLSZndDtIYXVudGluZ0hhbGx3YXlXaXRjaF1dIFtbUHJldmlldyBzZWFsZWQtZG9vciBlbmNvdW50ZXItJmd0O0hhdW50aW5nU2VhbGVkRG9vclZvaWNlXV0gW1tQcmV2aWV3IG9hayBlbmNvdW50ZXItJmd0O0hhdW50aW5nT2FrRmlndXJlXV0gJmx0OyZsdDtsaW5rICZxdW90O1Jlc2V0IGludGVyYWN0aXZlIGVuY291bnRlcnMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRpbnRlcmFjdGl2ZUhhdW50aW5nc1NlZW49W10mZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRpbnRlcmFjdGl2ZUhhdW50aW5nTG9nPVtdJmd0OyZndDsmbHQ7Jmx0O3NldCAkaW50ZXJhY3RpdmVIYXVudGluZ091dGNvbWVzPVtdJmd0OyZndDsmbHQ7Jmx0O3NldCAkYWN0aXZlSW50ZXJhY3RpdmVIYXVudGluZz0mcXVvdDsmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtCdWlsZDUxNUludGVyYWN0aXZlUmVwb3J0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgW1tTdGFmZiBDb25zb2xlLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU2MiIgbmFtZT0iTG9zdE1pbnV0ZUFycml2YWwiIHRhZ3M9ImhhdW50aW5nIGRpc3BsYWNlbWVudCBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzcwMCwzNzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb249JnF1b3Q7QnJlY2tlbnJpZGdlOiA5OjE0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlPSZxdW90O0ZpbmQgYSB3YXkgYmFjayBiZWZvcmUgdGhlIG1pbnV0ZSBjaGFuZ2VzJnF1b3Q7Jmd0OyZndDsmbHQ7aDEmZ3Q7VGhlIExvc3QgTWludXRlJmx0Oy9oMSZndDsmbHQ7cCZndDtUaGUgaW52ZXN0aWdhdG9yIHN0ZXBzIHRocm91Z2ggdGhlIGRvb3J3YXkgYW5kIGVudGVycyBhIHZlcnNpb24gb2YgQnJlY2tlbnJpZGdlIHdpdGhvdXQgd2luZCwgdHJhZmZpYywgb3IgYmlyZHMuJmx0Oy9wJmd0OyZsdDtwJmd0O0V2ZXJ5IHZpc2libGUgY2xvY2sgcmVhZHMgOToxNC4gVGhlIHBlb3BsZSBvbiB0aGUgc2lkZXdhbGtzIGFyZSBtb3Rpb25sZXNzLCB0aGVpciBmYWNlcyB0dXJuZWQgYXdheS4gT25seSB0aHJlZSB0aGluZ3MgbW92ZTogdGhlIGludmVzdGlnYXRvciwgYSBjaGlsZCYjMzk7cyByZWZsZWN0aW9uIGluIGEgZGFyayBzdG9yZWZyb250LCBhbmQgdGhlIHNlY29uZCBoYW5kIG9mIGEgY2xvY2sgY291bnRpbmcgYmFja3dhcmQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7bG9zdC1taW51dGUtY291bnQmcXVvdDsmZ3Q7VGltZSByZW1haW5pbmc6ICZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDs9IE1hdGgubWF4KDAsMy0oJGxvc3RNaW51dGVNb3Zlc3x8MCkpJmd0OyZndDsmbHQ7L3N0cm9uZyZndDsgY2hvaWNlcyZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tGb2xsb3cgdGhlIGNoaWxkIGluIHRoZSByZWZsZWN0aW9uLSZndDtMb3N0TWludXRlUmVmbGVjdGlvbl1dIFtbRXhhbWluZSB0aGUgc3RvcHBlZCB0b3duIGNsb2NrLSZndDtMb3N0TWludXRlQ2xvY2tdXSBbW0VudGVyIHRoZSBkb29yd2F5IG1hcmtlZCB3aXRoIGdyZWVuIHRocmVhZC0mZ3Q7TG9zdE1pbnV0ZUdyZWVuRG9vcl1dICZsdDsmbHQ7aWYgJGFiaWxpdHlBZHZhbnRhZ2VzIGFuZCAkYWJpbGl0eUFkdmFudGFnZXMuaW5jbHVkZXMoJnF1b3Q7a2V2aW4tdGltZS1sb2NhdGlvbiZxdW90OykmZ3Q7Jmd0O1tbVXNlIEtldmluJiMzOTtzIHRpbWUtbG9jYXRpb24gcGF0dGVybi0mZ3Q7TG9zdE1pbnV0ZVBhdHRlcm5FeGl0XV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7XG4mbHQ7IS0tIEJ1aWxkIDUuMTcgcHJvZmlsZSByZWFjdGlvbiAtLSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hhdW50aW5nLXByb2ZpbGUtc2lnbiZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O1RoZSBoYXVudGluZyYjMzk7cyBwYXR0ZXJuIGZvbGxvd3M6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBzZXR1cC5wcm9maWxlU2lnbigpJmd0OyZndDsmbHQ7L2RpdiZndDtcbiZsdDshLS0gQnVpbGQgNS4xOCB0YXJnZXQgcHJlc3N1cmUgLS0mZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy10YXJnZXQtcHJlc3N1cmUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtUaGUgcGF0dGVybiBjaG9vc2VzIHNvbWVvbmU6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBzZXR1cC5wcm9maWxlVGhyZWF0VGV4dCgpJmd0OyZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU2MyIgbmFtZT0iTG9zdE1pbnV0ZVJlZmxlY3Rpb24iIHRhZ3M9ImhhdW50aW5nIGRpc3BsYWNlbWVudCBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzcwMCwzNzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5sb3N0TWludXRlUmVjb3JkKCZxdW90O3JlZmxlY3Rpb24tY2hpbGQmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgY2hpbGQgYXBwZWFycyBvbmx5IGluIHJlZmxlY3Rpb25zLiBFYWNoIHdpbmRvdyBzaG93cyB0aGUgY2hpbGQgb25lIHN0b3JlZnJvbnQgZmFydGhlciBhd2F5LCBwb2ludGluZyB0b3dhcmQgYW4gYWxsZXkgdGhhdCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgb3JkaW5hcnkgdG93bi4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7SW4gdGhlIGZpbmFsIHBhbmUsIHRoZSBjaGlsZCB3cml0ZXMgYmFja3dhcmQgYWdhaW5zdCB0aGUgZ2xhc3M6ICZsdDtzdHJvbmcmZ3Q7RE8gTk9UIExFVCBJVCBSRUFDSCBaRVJPLiZsdDsvc3Ryb25nJmd0OyZsdDsvcCZndDsmbHQ7Jmx0O2lmICRsb3N0TWludXRlTW92ZXMgJmd0Oz0gMyZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0xvc3RNaW51dGVaZXJvJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gdGhlIGZyb3plbiBpbnRlcnNlY3Rpb24tJmd0O0xvc3RNaW51dGVDcm9zc3JvYWRzXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NjQiIG5hbWU9Ikxvc3RNaW51dGVDbG9jayIgdGFncz0iaGF1bnRpbmcgZGlzcGxhY2VtZW50IGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIzNzAwLDM3MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLmxvc3RNaW51dGVSZWNvcmQoJnF1b3Q7YmFja3dhcmQtY2xvY2smcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgdG93biBjbG9jayBoYXMgbm8gbWVjaGFuaXNtIGJlaGluZCBpdHMgZmFjZS4gSW5zdGVhZCwgcGhvdG9ncmFwaHMgdHVybiBsaWtlIGdlYXJzIGluc2lkZSBpdC4gRWFjaCBwaG90b2dyYXBoIHNob3dzIHRoZSBpbnZlc3RpZ2F0b3JzIGFycml2aW5nIGF0IGEgcGxhY2Ugc2V2ZXJhbCBzZWNvbmRzIGJlZm9yZSB0aGV5IGFjdHVhbGx5IHJlYWNoZWQgaXQuJmx0Oy9wJmd0OyZsdDtwJmd0O09uZSBlbXB0eSBwaG90b2dyYXBoIGlzIGxhYmVsZWQgd2l0aCB0b2RheSYjMzk7cyBkYXRlLiZsdDsvcCZndDsmbHQ7Jmx0O3J1biBzZXR1cC5hZGRDYXNlRmlsZTIoJnF1b3Q7bG9zdC1taW51dGUtY2xvY2smcXVvdDssJnF1b3Q7UGhvdG9ncmFwaHMgSW5zaWRlIHRoZSBUb3duIENsb2NrJnF1b3Q7LCZxdW90O0Rpc3BsYWNlZCBpbnZlc3RpZ2F0b3ImcXVvdDssJnF1b3Q7VmVyaWZpZWQgYW5vbWFseSZxdW90OywmcXVvdDtUaGUgcGhvdG9ncmFwaHMgc2hvdyBhcnJpdmFscyBiZWZvcmUgdGhleSBoYXBwZW5lZC4mcXVvdDssJnF1b3Q7V2hvIHByZXBhcmVkIHRoZSBlbXB0eSBwaG90b2dyYXBoPyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgJGxvc3RNaW51dGVNb3ZlcyAmZ3Q7PSAzJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7TG9zdE1pbnV0ZVplcm8mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byB0aGUgZnJvemVuIGludGVyc2VjdGlvbi0mZ3Q7TG9zdE1pbnV0ZUNyb3Nzcm9hZHNdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU2NSIgbmFtZT0iTG9zdE1pbnV0ZUdyZWVuRG9vciIgdGFncz0iaGF1bnRpbmcgZGlzcGxhY2VtZW50IGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIzNzAwLDM3MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLmxvc3RNaW51dGVSZWNvcmQoJnF1b3Q7Z3JlZW4tZG9vciZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBncmVlbiB0aHJlYWQgaXMgdGllZCBhcm91bmQgYSBicmFzcyBoYW5kbGUuIEJleW9uZCB0aGUgZG9vciBpcyBhIG5hcnJvdyByb29tIGxpbmVkIHdpdGggc2Nob29sIGF0dGVuZGFuY2UgYm9va3MuJmx0Oy9wJmd0OyZsdDtwJmd0O09uZSBvcGVuIGJvb2sgbGlzdHMgZXZlcnkgaW52ZXN0aWdhdG9yIGFzIHByZXNlbnQuIEEgZmlmdGggbmFtZSBoYXMgYmVlbiBzY3JhdGNoZWQgYXdheSBzbyBkZWVwbHkgdGhhdCB0aGUgcGFwZXIgaXMgdG9ybi4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJGxvc3RNaW51dGVGaWZ0aE5hbWU9dHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtpZiAkbG9zdE1pbnV0ZU1vdmVzICZndDs9IDMmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtMb3N0TWludXRlWmVybyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbVGFrZSBhIHRvcm4gYXR0ZW5kYW5jZSBmcmFnbWVudC0mZ3Q7TG9zdE1pbnV0ZVRha2VGcmFnbWVudF1dIFtbUmV0dXJuIHdpdGhvdXQgdG91Y2hpbmcgaXQtJmd0O0xvc3RNaW51dGVDcm9zc3JvYWRzXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NjYiIG5hbWU9Ikxvc3RNaW51dGVUYWtlRnJhZ21lbnQiIHRhZ3M9ImhhdW50aW5nIGRpc3BsYWNlbWVudCBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzcwMCwzNzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5sb3N0TWludXRlUmVjb3JkKCZxdW90O2F0dGVuZGFuY2UtZnJhZ21lbnQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3NldCAkbG9zdE1pbnV0ZUZyYWdtZW50PXRydWUmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJhaXNlQXR0ZW50aW9uKCZxdW90O2xvc3QtbWludXRlLWZyYWdtZW50JnF1b3Q7LDIsJnF1b3Q7VGhlIGludmVzdGlnYXRvciByZW1vdmVkIGV2aWRlbmNlIGZyb20gdGhlIExvc3QgTWludXRlLiZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBwYXBlciBpcyBjb2xkIGVub3VnaCB0byBzdGluZy4gQXMgc29vbiBhcyBpdCBsZWF2ZXMgdGhlIGxlZGdlciwgZXZlcnkgZnJvemVuIHBlcnNvbiBpbiB0aGUgc3RyZWV0IHR1cm5zIHRvd2FyZCB0aGUgZG9vcndheS4mbHQ7L3AmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuYWRkQ2FzZUZpbGUyKCZxdW90O2xvc3QtbWludXRlLWZyYWdtZW50JnF1b3Q7LCZxdW90O1Rvcm4gQXR0ZW5kYW5jZSBGcmFnbWVudCZxdW90OywmcXVvdDtEaXNwbGFjZWQgaW52ZXN0aWdhdG9yJnF1b3Q7LCZxdW90O1BoeXNpY2FsIGV2aWRlbmNlJnF1b3Q7LCZxdW90O1RoZSBlcmFzZWQgZmlmdGggbmFtZSBjb3JyZXNwb25kcyB0byBubyBjdXJyZW50IHN0dWRlbnQuJnF1b3Q7LCZxdW90O1dhcyB0aGUgbWlzc2luZyBuYW1lIHJlbW92ZWQgZnJvbSBoaXN0b3J5IG9yIHByb3RlY3RlZCBmcm9tIGl0PyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtMb3N0TWludXRlQ2hhc2VkJnF1b3Q7Jmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU2NyIgbmFtZT0iTG9zdE1pbnV0ZUNyb3Nzcm9hZHMiIHRhZ3M9ImhhdW50aW5nIGRpc3BsYWNlbWVudCBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzcwMCwzNzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7aDEmZ3Q7VGhlIEZyb3plbiBJbnRlcnNlY3Rpb24mbHQ7L2gxJmd0OyZsdDtwJmd0O1RoZSBjbG9jayBjb250aW51ZXMgY291bnRpbmcgYmFja3dhcmQuIFRoZSB3aXRjaCBub3cgc3RhbmRzIGF0IHRoZSBmYXIgZW5kIG9mIE1haW4gU3RyZWV0LCBjbG9zZSBlbm91Z2ggdGhhdCB0aGUgdmVpbCBvZiBoZXIgaGF0IG1vdmVzIGRlc3BpdGUgdGhlIGFic2VuY2Ugb2Ygd2luZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtsb3N0LW1pbnV0ZS1jb3VudCZxdW90OyZndDtUaW1lIHJlbWFpbmluZzogJmx0O3N0cm9uZyZndDsmbHQ7Jmx0Oz0gTWF0aC5tYXgoMCwzLSgkbG9zdE1pbnV0ZU1vdmVzfHwwKSkmZ3Q7Jmd0OyZsdDsvc3Ryb25nJmd0OyBjaG9pY2VzJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtpZiAkbG9zdE1pbnV0ZU1vdmVzICZndDs9IDMmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtMb3N0TWludXRlWmVybyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7aWYgbm90ICRsb3N0TWludXRlQ2x1ZXMuaW5jbHVkZXMoJnF1b3Q7cmVmbGVjdGlvbi1jaGlsZCZxdW90OykmZ3Q7Jmd0O1tbRm9sbG93IHRoZSByZWZsZWN0ZWQgY2hpbGQtJmd0O0xvc3RNaW51dGVSZWZsZWN0aW9uXV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7ICZsdDsmbHQ7aWYgbm90ICRsb3N0TWludXRlQ2x1ZXMuaW5jbHVkZXMoJnF1b3Q7YmFja3dhcmQtY2xvY2smcXVvdDspJmd0OyZndDtbW09wZW4gdGhlIHRvd24gY2xvY2stJmd0O0xvc3RNaW51dGVDbG9ja11dJmx0OyZsdDsvaWYmZ3Q7Jmd0OyAmbHQ7Jmx0O2lmIG5vdCAkbG9zdE1pbnV0ZUNsdWVzLmluY2x1ZGVzKCZxdW90O2dyZWVuLWRvb3ImcXVvdDspJmd0OyZndDtbW0VudGVyIHRoZSBncmVlbi10aHJlYWQgZG9vcndheS0mZ3Q7TG9zdE1pbnV0ZUdyZWVuRG9vcl1dJmx0OyZsdDsvaWYmZ3Q7Jmd0OyBbW1J1biB0b3dhcmQgdGhlIHBsYWNlIHdoZXJlIHlvdSBlbnRlcmVkLSZndDtMb3N0TWludXRlUnVuRXhpdF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTY4IiBuYW1lPSJMb3N0TWludXRlUGF0dGVybkV4aXQiIHRhZ3M9ImhhdW50aW5nIGRpc3BsYWNlbWVudCBiZy1zY2hvb2xoYWxsIiBwb3NpdGlvbj0iMzcwMCwzNzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5maW5pc2hMb3N0TWludXRlKCZxdW90O2VzY2FwZWQgYnkgcmVjb2duaXppbmcgdGhlIDk6MTQgcGF0dGVybiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLmxvd2VyQXR0ZW50aW9uKCZxdW90O2xvc3QtbWludXRlLXBhdHRlcm4tZXhpdCZxdW90OywxLCZxdW90O0tldmluJiMzOTtzIHBhdHRlcm4gZXhwb3NlZCB0aGUgY29ycmVjdCByZXR1cm4gc2Vjb25kLiZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBpbnZlc3RpZ2F0b3Igc3RvcHMgd2F0Y2hpbmcgdGhlIGJhY2t3YXJkIGhhbmQgYW5kIHdhdGNoZXMgaXRzIHJlZmxlY3Rpb24gaW5zdGVhZC4gVGhlIHJlZmxlY3RlZCBoYW5kIG1vdmVzIGZvcndhcmQuJmx0Oy9wJmd0OyZsdDtwJmd0O0F0IHRoZSBleGFjdCBpbnN0YW50IGl0IHJlYWNoZXMgOToxNCwgdGhlIG9yaWdpbmFsIGRvb3J3YXkgcmV0dXJucy4gVGhlIGludmVzdGlnYXRvciBjcm9zc2VzIGJlZm9yZSB0aGUgd2l0Y2ggY2FuIGVudGVyIHRoZSByZWZsZWN0aW9uLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gdG8gdGhlIG9yaWdpbmFsIGludmVzdGlnYXRpb24mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAkbG9zdE1pbnV0ZU9yaWdpbiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NjkiIG5hbWU9Ikxvc3RNaW51dGVSdW5FeGl0IiB0YWdzPSJoYXVudGluZyBkaXNwbGFjZW1lbnQgYmctc2Nob29saGFsbCIgcG9zaXRpb249IjM3MDAsMzcwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAuZmluaXNoTG9zdE1pbnV0ZSgmcXVvdDtlc2NhcGVkIGJ5IHJ1bm5pbmcgd2l0aG91dCBjb21wbGV0ZSBldmlkZW5jZSZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBpbnZlc3RpZ2F0b3IgcnVucyB0b3dhcmQgdGhlIHJlbWVtYmVyZWQgZG9vcndheS4gSXQgYXBwZWFycyBvbmx5IHdoZW4gdmlld2VkIGZyb20gdGhlIGNvcm5lciBvZiB0aGUgZXllLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgcmV0dXJuIGlzIHN1Y2Nlc3NmdWwsIGJ1dCBvbmUgbWludXRlIGhhcyBwYXNzZWQgZm9yIGV2ZXJ5b25lIGVsc2UgYW5kIG5pbmV0ZWVuIG1pbnV0ZXMgaGF2ZSBwYXNzZWQgZm9yIHRoZSBpbnZlc3RpZ2F0b3IuJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICRsb3N0TWludXRlVGltZUxvc3M9dHJ1ZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBpbnZlc3RpZ2F0aW9uJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2dvdG8gJGxvc3RNaW51dGVPcmlnaW4mZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTcwIiBuYW1lPSJMb3N0TWludXRlQ2hhc2VkIiB0YWdzPSJoYXVudGluZyBkaXNwbGFjZW1lbnQgYmctc2Nob29saGFsbCIgcG9zaXRpb249IjM3MDAsMzcwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAuZmluaXNoTG9zdE1pbnV0ZSgmcXVvdDtlc2NhcGVkIHdpdGggZm9yYmlkZGVuIGV2aWRlbmNlJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGZyb3plbiBjcm93ZCBtb3ZlcyB3aXRob3V0IHdhbGtpbmcuIFRoZWlyIGhlYWRzIHJlbWFpbiB0dXJuZWQgdG93YXJkIHRoZSBpbnZlc3RpZ2F0b3IgYXMgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlbSBjbG9zZXMuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSB0b3JuIGZyYWdtZW50IHJldmVhbHMgYSB0aGluIHdoaXRlIGRvb3J3YXkuIFRoZSBpbnZlc3RpZ2F0b3IgZmFsbHMgdGhyb3VnaCBhbmQgcmV0dXJucyB3aXRoIHRoZSBwYXBlciBzdGlsbCBjbGVuY2hlZCBpbiBvbmUgaGFuZC4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHdpdGggdGhlIGZyYWdtZW50JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2dvdG8gJGxvc3RNaW51dGVPcmlnaW4mZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTcxIiBuYW1lPSJMb3N0TWludXRlWmVybyIgdGFncz0iaGF1bnRpbmcgZGlzcGxhY2VtZW50IGJnLXNjaG9vbGhhbGwiIHBvc2l0aW9uPSIzNzAwLDM3MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLmZpbmlzaExvc3RNaW51dGUoJnF1b3Q7cmV0dXJuZWQgYWZ0ZXIgdGhlIGNvdW50ZG93biByZWFjaGVkIHplcm8mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDtsb3N0LW1pbnV0ZS16ZXJvJnF1b3Q7LDMsJnF1b3Q7VGhlIHdpdGNoIHJlYWNoZWQgdGhlIGludmVzdGlnYXRvciBpbnNpZGUgdGhlIExvc3QgTWludXRlLiZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBzZWNvbmQgaGFuZCByZWFjaGVzIHplcm8uJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSB3aXRjaCBpcyBzdWRkZW5seSBzdGFuZGluZyBiZXNpZGUgdGhlIGludmVzdGlnYXRvci4gU2hlIGRvZXMgbm90IHRvdWNoIHRoZW0uIFNoZSB3aGlzcGVycyBhIG5hbWUgdGhhdCBjYW5ub3QgYmUgcmVtZW1iZXJlZCBhZnRlcndhcmQsIHRoZW4gb3BlbnMgYSBkb29yd2F5IGluIHRoZSBhaXIuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBpbnZlc3RpZ2F0b3IgcmV0dXJucyB0byB0aGUgb3JpZ2luYWwgcm9vbSB3aXRoIGEgZ3JlZW4gbWFyayBhcm91bmQgb25lIHdyaXN0LiZsdDsvcCZndDsmbHQ7Jmx0O3NldCAkbG9zdE1pbnV0ZU1hcmtlZD10cnVlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gdG8gdGhlIG9yaWdpbmFsIGludmVzdGlnYXRpb24mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAkbG9zdE1pbnV0ZU9yaWdpbiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NzIiIG5hbWU9IkJ1aWxkNTE2TG9zdE1pbnV0ZVJlcG9ydCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iMzcwMCwzNzAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtCdWlsZCA1LjE2OiBUaGUgTG9zdCBNaW51dGUmbHQ7L2gxJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Q3VycmVudCBkaXNwbGFjZW1lbnQgY2hhbmNlOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gTWF0aC5yb3VuZChzZXR1cC5sb3N0TWludXRlQ2hhbmNlKCkqMTAwKSZndDsmZ3Q7JSZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0NvbXBsZXRlZDombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9ICRsb3N0TWludXRlQ29tcGxldGVkID8gJnF1b3Q7WWVzJnF1b3Q7IDogJnF1b3Q7Tm8mcXVvdDsmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cHJlIGNsYXNzPSZxdW90O3Y0Mi1wcm9maWxlJnF1b3Q7Jmd0OyZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeSgkZGlzcGxhY2VtZW50TG9nIHx8IFtdLCBudWxsLCAyKSZndDsmZ3Q7Jmx0Oy9wcmUmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1ByZXZpZXcgVGhlIExvc3QgTWludXRlLSZndDtMb3N0TWludXRlQXJyaXZhbF1dICZsdDsmbHQ7bGluayAmcXVvdDtSZXNldCBkaXNwbGFjZW1lbnQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRsb3N0TWludXRlQ29tcGxldGVkPWZhbHNlJmd0OyZndDsmbHQ7Jmx0O3NldCAkbG9zdE1pbnV0ZUFjdGl2ZT1mYWxzZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGxvc3RNaW51dGVPcmlnaW49JnF1b3Q7SGFsbHdheSBJbnZlc3RpZ2F0aW9uJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkbG9zdE1pbnV0ZU1vdmVzPTAmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRsb3N0TWludXRlQ2x1ZXM9W10mZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRkaXNwbGFjZW1lbnRMb2c9W10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtCdWlsZDUxNkxvc3RNaW51dGVSZXBvcnQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyBbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTczIiBuYW1lPSJIYXVudGluZ1BhdHRlcm5Ob3RlcyIgdGFncz0ic3lzdGVtIGludmVzdGlnYXRpb24iIHBvc2l0aW9uPSIzODAwLDM4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDtoMSZndDtSZWN1cnJpbmcgSGF1bnRpbmcgUGF0dGVybiZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7VGhlIGludmVzdGlnYXRvcnMgY2Fubm90IHNlZSB0aGUgaGlkZGVuIHByb2ZpbGUsIGJ1dCByZXBlYXRlZCBtYW5pZmVzdGF0aW9ucyBzdWdnZXN0IGEgcHJlZmVyZW5jZS4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtoYXVudGluZy1wcm9maWxlLXNpZ24mcXVvdDsmZ3Q7Jmx0OyZsdDs9IHNldHVwLnByb2ZpbGVTaWduKCkmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7TW9zdCBmcmVxdWVudGx5IHRocmVhdGVuZWQgaW52ZXN0aWdhdG9yOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gJGhhdW50aW5nUHJvZmlsZS50YXJnZXQmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0xvY2F0aW9uIHJlcXVpcmluZyBhZGRlZCBjYXV0aW9uOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gJGhhdW50aW5nUHJvZmlsZS5kYW5nZXIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrJGhhdW50aW5nUHJvZmlsZS5kYW5nZXIuc2xpY2UoMSkmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDtUaGUgcGF0dGVybiBtYXkgY2hhbmdlIHdoaWNoIG1hbmlmZXN0YXRpb25zIGFwcGVhciBtb3JlIG9mdGVuLCBidXQgaXQgZG9lcyBub3QgcmVwbGFjZSB0aGUgbWFpbiBpbnZlc3RpZ2F0aW9uLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIENhc2UgRmlsZSAyLjAtJmd0O0Nhc2VGaWxlMl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NzQiIG5hbWU9IkJ1aWxkNTE3SGF1bnRpbmdQcm9maWxlUmVwb3J0IiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSIzODAwLDM4MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O0J1aWxkIDUuMTcgSGF1bnRpbmcgUHJvZmlsZSZsdDsvaDEmZ3Q7Jmx0O3ByZSBjbGFzcz0mcXVvdDt2NDItcHJvZmlsZSZxdW90OyZndDsmbHQ7Jmx0Oz0gSlNPTi5zdHJpbmdpZnkoJGhhdW50aW5nUHJvZmlsZSxudWxsLDIpJmd0OyZndDsmbHQ7L3ByZSZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1BsYXllci1mYWNpbmcgc2lnbjombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLnByb2ZpbGVTaWduKCkmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXJvbGwgcHJvZmlsZSBmb3IgdGVzdGluZyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDt1bnNldCAkaGF1bnRpbmdQcm9maWxlJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5lbnN1cmVIYXVudGluZ1Byb2ZpbGUoKSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0J1aWxkNTE3SGF1bnRpbmdQcm9maWxlUmVwb3J0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgW1tWaWV3IHBsYXllciBwYXR0ZXJuIG5vdGVzLSZndDtIYXVudGluZ1BhdHRlcm5Ob3Rlc11dIFtbU3RhZmYgQ29uc29sZS0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NzUiIG5hbWU9IkJ1aWxkNTE4UHJvZmlsZURyaXZlblJlcG9ydCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iMzkwMCwzOTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtCdWlsZCA1LjE4IFByb2ZpbGUtRHJpdmVuIEhhdW50aW5nJmx0Oy9oMSZndDsmbHQ7cHJlIGNsYXNzPSZxdW90O3Y0Mi1wcm9maWxlJnF1b3Q7Jmd0OyZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeSgkaGF1bnRpbmdQcm9maWxlLG51bGwsMikmZ3Q7Jmd0OyZsdDsvcHJlJmd0OyZsdDtoMiZndDtFZmZlY3RpdmUgbG9jYXRpb24gbXVsdGlwbGllcnMmbHQ7L2gyJmd0OyZsdDt1bCZndDsmbHQ7bGkmZ3Q7U2Nob29sOiAmbHQ7Jmx0Oz0gc2V0dXAucHJvZmlsZUxvY2F0aW9uTXVsdGlwbGllcigmcXVvdDtzY2hvb2wmcXVvdDspLnRvRml4ZWQoMikmZ3Q7Jmd0OyZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O1Vwc3RhaXJzOiAmbHQ7Jmx0Oz0gc2V0dXAucHJvZmlsZUxvY2F0aW9uTXVsdGlwbGllcigmcXVvdDt1cHN0YWlycyZxdW90OykudG9GaXhlZCgyKSZndDsmZ3Q7Jmx0Oy9saSZndDsmbHQ7bGkmZ3Q7TGlicmFyeTogJmx0OyZsdDs9IHNldHVwLnByb2ZpbGVMb2NhdGlvbk11bHRpcGxpZXIoJnF1b3Q7bGlicmFyeSZxdW90OykudG9GaXhlZCgyKSZndDsmZ3Q7Jmx0Oy9saSZndDsmbHQ7bGkmZ3Q7T2FrOiAmbHQ7Jmx0Oz0gc2V0dXAucHJvZmlsZUxvY2F0aW9uTXVsdGlwbGllcigmcXVvdDtvYWsmcXVvdDspLnRvRml4ZWQoMikmZ3Q7Jmd0OyZsdDsvbGkmZ3Q7Jmx0Oy91bCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0N1cnJlbnQgdGFyZ2V0IHJlYWN0aW9uOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gc2V0dXAucHJvZmlsZVRocmVhdFRleHQoKSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tIYXVudGluZyBwcm9maWxlIHJlcG9ydC0mZ3Q7QnVpbGQ1MTdIYXVudGluZ1Byb2ZpbGVSZXBvcnRdXSBbW0F0bW9zcGhlcmljIHJlcG9ydC0mZ3Q7QnVpbGQ1MTRIYXVudGluZ1JlcG9ydF1dIFtbSW50ZXJhY3RpdmUgcmVwb3J0LSZndDtCdWlsZDUxNUludGVyYWN0aXZlUmVwb3J0XV0gW1tMb3N0IE1pbnV0ZSByZXBvcnQtJmd0O0J1aWxkNTE2TG9zdE1pbnV0ZVJlcG9ydF1dIFtbU3RhZmYgQ29uc29sZS0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NzYiIG5hbWU9IkhhdW50aW5nQWZ0ZXJlZmZlY3RzIiB0YWdzPSJzeXN0ZW0gaW52ZXN0aWdhdGlvbiIgcG9zaXRpb249IjQwMDAsNDAwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0O2gxJmd0O0hhdW50aW5nIEFmdGVyZWZmZWN0cyZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7U29tZSBlbmNvdW50ZXJzIGVuZCB3aGVuIHRoZSBhcHBhcml0aW9uIGRpc2FwcGVhcnMuIE90aGVycyBsZWF2ZSBjaGFuZ2VzIGJlaGluZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtDdXJyZW50IHN0YXRlOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gc2V0dXAuaGF1bnRpbmdBZnRlcmVmZmVjdExldmVsKCkmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1VucmVzb2x2ZWQgc3VwZXJuYXR1cmFsIGNvc3Q6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBzZXR1cC51bnJlc29sdmVkQWZ0ZXJlZmZlY3RDb3N0KCkmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7Jmx0O3NldCBfZWZmZWN0cz1zZXR1cC51bnJlc29sdmVkSGF1bnRpbmdBZnRlcmVmZmVjdHMoKSZndDsmZ3Q7Jmx0OyZsdDtpZiBfZWZmZWN0cy5sZW5ndGggaXMgMCZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDthZnRlcmVmZmVjdC1jbGVhciZxdW90OyZndDtObyB1bnJlc29sdmVkIHN1cGVybmF0dXJhbCBhZnRlcmVmZmVjdHMgaGF2ZSBiZWVuIHJlY29yZGVkLiZsdDsvZGl2Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDthZnRlcmVmZmVjdC1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7Zm9yIF9lZmZlY3QgcmFuZ2UgX2VmZmVjdHMmZ3Q7Jmd0OyZsdDthcnRpY2xlIGNsYXNzPSZxdW90O2FmdGVyZWZmZWN0LWNhcmQgc2V2ZXJpdHktJmx0OyZsdDs9X2VmZmVjdC5zZXZlcml0eSZndDsmZ3Q7JnF1b3Q7Jmd0OyZsdDtoMiZndDsmbHQ7Jmx0Oz1fZWZmZWN0Lm5hbWUmZ3Q7Jmd0OyZsdDsvaDImZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtDb25uZWN0ZWQgdG86Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBfZWZmZWN0LnRhcmdldCZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDsmbHQ7PV9lZmZlY3QudGV4dCZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7U2V2ZXJpdHk6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBfZWZmZWN0LnNldmVyaXR5Jmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2lmIF9lZmZlY3QuaWQgaXMgJnF1b3Q7ZWNoby12b2ljZSZxdW90OyBhbmQgKCRraW1teUFjdGl2ZVZlcmlmaWNhdGlvbiBvciAoJGFiaWxpdHlBZHZhbnRhZ2VzIGFuZCAkYWJpbGl0eUFkdmFudGFnZXMuaW5jbHVkZXMoJnF1b3Q7a2ltbXktYWN0aXZlLXZlcmlmaWNhdGlvbiZxdW90OykpKSZndDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1ZlcmlmeSBhbmQgY29udGFpbiB0aGUgZWNobyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmVzb2x2ZUFmdGVyZWZmZWN0KF9lZmZlY3QuaWQpJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yZWdpc3RlckFmdGVyZWZmZWN0UmVzb2x1dGlvbihfZWZmZWN0LmlkKSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAubG93ZXJBdHRlbnRpb24oJnF1b3Q7YWZ0ZXJlZmZlY3QtZWNobyZxdW90OywxLCZxdW90O0tpbW15IGlzb2xhdGVkIHRoZSBkZWxheWVkIGVjaG8gYXMgYSByZXBlYXRhYmxlIGFub21hbHkuJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0hhdW50aW5nQWZ0ZXJlZmZlY3RzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7Jmx0O2Vsc2VpZiBfZWZmZWN0LmlkIGlzICZxdW90O2ZhbHNlLWtleWhvbGUmcXVvdDsgYW5kICgkcnlhbkFjdGl2ZVJ1bGUgb3IgKCRhYmlsaXR5QWR2YW50YWdlcyBhbmQgJGFiaWxpdHlBZHZhbnRhZ2VzLmluY2x1ZGVzKCZxdW90O3J5YW4tYWN0aXZlLXJ1bGUmcXVvdDspKSkmZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtTZWFsIHRoZSBmYWxzZSB0aHJlc2hvbGQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJlc29sdmVBZnRlcmVmZmVjdChfZWZmZWN0LmlkKSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmVnaXN0ZXJBZnRlcmVmZmVjdFJlc29sdXRpb24oX2VmZmVjdC5pZCkmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLmxvd2VyQXR0ZW50aW9uKCZxdW90O2FmdGVyZWZmZWN0LWtleWhvbGUmcXVvdDssMSwmcXVvdDtSeWFuIHNlYWxlZCB0aGUgZmFsc2UgdGhyZXNob2xkLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtIYXVudGluZ0FmdGVyZWZmZWN0cyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0OyZsdDtlbHNlaWYgX2VmZmVjdC5pZCBpcyAmcXVvdDtsb3N0LXRpbWUmcXVvdDsgYW5kICgkYWJpbGl0eUFkdmFudGFnZXMgYW5kICRhYmlsaXR5QWR2YW50YWdlcy5pbmNsdWRlcygmcXVvdDtrZXZpbi10aW1lLWxvY2F0aW9uJnF1b3Q7KSkmZ3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZWNvbnN0cnVjdCB0aGUgbWlzc2luZyB0aW1lJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yZXNvbHZlQWZ0ZXJlZmZlY3QoX2VmZmVjdC5pZCkmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJlZ2lzdGVyQWZ0ZXJlZmZlY3RSZXNvbHV0aW9uKF9lZmZlY3QuaWQpJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7SGF1bnRpbmdBZnRlcmVmZmVjdHMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZWlmIF9lZmZlY3QuaWQgaXMgJnF1b3Q7bm90LWFsb25lJnF1b3Q7IGFuZCAkc2Nvb3ROb3RlYm9va1VubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q2xvc2UgdGhlIG5vdGVib29rIG9uIHRoZSByZXBlYXRlZCBtZXNzYWdlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yZXNvbHZlQWZ0ZXJlZmZlY3QoX2VmZmVjdC5pZCkmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnJlZ2lzdGVyQWZ0ZXJlZmZlY3RSZXNvbHV0aW9uKF9lZmZlY3QuaWQpJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7SGF1bnRpbmdBZnRlcmVmZmVjdHMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7YWZ0ZXJlZmZlY3QtdW5yZXNvbHZlZCZxdW90OyZndDtObyB2ZXJpZmllZCBjb250YWlubWVudCBtZXRob2QgaXMgYXZhaWxhYmxlLiZsdDsvc3BhbiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OyZsdDsmbHQ7L2ZvciZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tSZXR1cm4gdG8gQ2FzZSBGaWxlIDIuMC0mZ3Q7Q2FzZUZpbGUyXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU3NyIgbmFtZT0iQnVpbGQ1MTlBZnRlcmVmZmVjdHNSZXBvcnQiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjQxMDAsNDAwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7aDEmZ3Q7QnVpbGQgNS4xOSBIYXVudGluZyBBZnRlcmVmZmVjdHMmbHQ7L2gxJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7VG90YWwgYWZ0ZXJlZmZlY3QgY29zdDombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLmhhdW50aW5nQWZ0ZXJlZmZlY3RDb3N0KCkmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1VucmVzb2x2ZWQgY29zdDombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLnVucmVzb2x2ZWRBZnRlcmVmZmVjdENvc3QoKSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwcmUgY2xhc3M9JnF1b3Q7djQyLXByb2ZpbGUmcXVvdDsmZ3Q7Jmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KHthbGw6c2V0dXAuaGF1bnRpbmdBZnRlcmVmZmVjdHMoKSx1bnJlc29sdmVkOnNldHVwLnVucmVzb2x2ZWRIYXVudGluZ0FmdGVyZWZmZWN0cygpLHJlc29sdmVkOiRyZXNvbHZlZEFmdGVyZWZmZWN0c3x8W119LG51bGwsMikmZ3Q7Jmd0OyZsdDsvcHJlJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tPcGVuIHBsYXllciBhZnRlcmVmZmVjdHMgcGFnZS0mZ3Q7SGF1bnRpbmdBZnRlcmVmZmVjdHNdXSAmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzZXQgcmVzb2x2ZWQgbGlzdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJlc29sdmVkQWZ0ZXJlZmZlY3RzPVtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7QnVpbGQ1MTlBZnRlcmVmZmVjdHNSZXBvcnQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyBbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTc4IiBuYW1lPSJCdWlsZDUyMEFmdGVyZWZmZWN0RWNob1JlcG9ydCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iNDIwMCw0MDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtCdWlsZCA1LjIwIEFmdGVyZWZmZWN0IEVjaG9lcyZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtVbnJlc29sdmVkIGNvc3Q6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBzZXR1cC51bnJlc29sdmVkQWZ0ZXJlZmZlY3RDb3N0KCkmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0VjaG9lcyBhbHJlYWR5IHN1cmZhY2VkOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gKCRhZnRlcmVmZmVjdEVjaG9lc1NlZW58fFtdKS5sZW5ndGgmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cHJlIGNsYXNzPSZxdW90O3Y0Mi1wcm9maWxlJnF1b3Q7Jmd0OyZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeSgkYWZ0ZXJlZmZlY3RFY2hvTG9nfHxbXSxudWxsLDIpJmd0OyZndDsmbHQ7L3ByZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXNldCBlY2hvIGhpc3RvcnkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRhZnRlcmVmZmVjdEVjaG9lc1NlZW49W10mZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRhZnRlcmVmZmVjdEVjaG9Mb2c9W10mZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRhZnRlcmVmZmVjdEVjaG9Db29sZG93bj0wJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7QnVpbGQ1MjBBZnRlcmVmZmVjdEVjaG9SZXBvcnQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyBbW0FmdGVyZWZmZWN0cyBwYWdlLSZndDtIYXVudGluZ0FmdGVyZWZmZWN0c11dIFtbU3RhZmYgQ29uc29sZS0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1NzkiIG5hbWU9IkNvbnRhaW5tZW50UmVzdWx0cyIgdGFncz0ic3lzdGVtIGludmVzdGlnYXRpb24iIHBvc2l0aW9uPSI0MzAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDtoMSZndDtDb250YWlubWVudCBSZXN1bHRzJmx0Oy9oMSZndDsmbHQ7cCZndDtSZXNvbHZlZCBhZnRlcmVmZmVjdHMgbm93IGNvbnRyaWJ1dGUgdXNhYmxlIGV2aWRlbmNlIHJhdGhlciB0aGFuIHNpbXBseSBkaXNhcHBlYXJpbmcuJmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7U3VjY2Vzc2Z1bCBjb250YWlubWVudHM6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBzZXR1cC5yZXNvbHV0aW9uQ291bnQoKSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7VHJ1dGggYm9udXM6Jmx0Oy9zdHJvbmcmZ3Q7ICsmbHQ7Jmx0Oz0gc2V0dXAucmVzb2x1dGlvblRydXRoQm9udXMoKSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7U3VwZXJuYXR1cmFsIGNvc3QgcmVkdWN0aW9uOiZsdDsvc3Ryb25nJmd0OyAtJmx0OyZsdDs9IHNldHVwLnJlc29sdXRpb25Db3N0UmVkdWN0aW9uKCkmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7Jmx0O2lmIHNldHVwLnJlc29sdXRpb25Db3VudCgpIGlzIDAmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YWZ0ZXJlZmZlY3QtY2xlYXImcXVvdDsmZ3Q7Tm8gdmVyaWZpZWQgY29udGFpbm1lbnQgcmVzdWx0cyBoYXZlIGJlZW4gcmVjb3JkZWQuJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnRhaW5tZW50LXJlc3VsdHMmcXVvdDsmZ3Q7Jmx0OyZsdDtmb3IgX2VudHJ5IHJhbmdlICRhZnRlcmVmZmVjdFJlc29sdXRpb25Mb2cmZ3Q7Jmd0OyZsdDthcnRpY2xlJmd0OyZsdDtoMiZndDsmbHQ7Jmx0Oz0gX2VudHJ5LnRpdGxlJmd0OyZndDsmbHQ7L2gyJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7TGVhZCBpbnZlc3RpZ2F0b3I6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBfZW50cnkub3duZXImZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7Jmx0Oz0gX2VudHJ5LmJlbmVmaXQmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0OyZsdDsvZm9yJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldmlldyB1bnJlc29sdmVkIGFmdGVyZWZmZWN0cy0mZ3Q7SGF1bnRpbmdBZnRlcmVmZmVjdHNdXSBbW1JldHVybiB0byBDYXNlIEZpbGUgMi4wLSZndDtDYXNlRmlsZTJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTgwIiBuYW1lPSJCdWlsZDUyMUNvbnRhaW5tZW50UmVwb3J0IiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSI0NDAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O0J1aWxkIDUuMjEgQ29udGFpbm1lbnQgQ29uc2VxdWVuY2VzJmx0Oy9oMSZndDsmbHQ7cHJlIGNsYXNzPSZxdW90O3Y0Mi1wcm9maWxlJnF1b3Q7Jmd0OyZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeSh7cmVzb2x1dGlvbnM6JGFmdGVyZWZmZWN0UmVzb2x1dGlvbkxvZ3x8W10sdHJ1dGhCb251czpzZXR1cC5yZXNvbHV0aW9uVHJ1dGhCb251cygpLGNvc3RSZWR1Y3Rpb246c2V0dXAucmVzb2x1dGlvbkNvc3RSZWR1Y3Rpb24oKX0sbnVsbCwyKSZndDsmZ3Q7Jmx0Oy9wcmUmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1BsYXllciBjb250YWlubWVudCByZXN1bHRzLSZndDtDb250YWlubWVudFJlc3VsdHNdXSAmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzZXQgY29udGFpbm1lbnQgcmVzdWx0cyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGFmdGVyZWZmZWN0UmVzb2x1dGlvbkxvZz1bXSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJlc29sdmVkQWZ0ZXJlZmZlY3RzPVtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7QnVpbGQ1MjFDb250YWlubWVudFJlcG9ydCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7IFtbU3RhZmYgQ29uc29sZS0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1ODEiIG5hbWU9IlZvaWNlUm9vbUFycml2YWwiIHRhZ3M9ImhhdW50aW5nIGRpc3BsYWNlbWVudCBiZy11cHN0YWlycyIgcG9zaXRpb249IjQ1MDAsNDAwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtzZXQgJGxvY2F0aW9uPSZxdW90O1RoZSBSb29tIEJlaGluZCB0aGUgVm9pY2UmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRvYmplY3RpdmU9JnF1b3Q7SWRlbnRpZnkgdGhlIHJlYWwgdm9pY2UgYmVmb3JlIHRoZSByb29tIGNsb3NlcyZxdW90OyZndDsmZ3Q7Jmx0O2gxJmd0O1RoZSBSb29tIEJlaGluZCB0aGUgVm9pY2UmbHQ7L2gxJmd0OyZsdDtwJmd0O1RoZSB3YWxsIG9wZW5zIHdpdGhvdXQgYmVjb21pbmcgYSBkb29yLiBCZXlvbmQgaXQgd2FpdHMgYSBuYXJyb3cgcm9vbSBmdXJuaXNoZWQgbGlrZSBhIHJlY29yZGluZyBzdHVkaW8gYXNzZW1ibGVkIGZyb20gZGlmZmVyZW50IGRlY2FkZXMuJmx0Oy9wJmd0OyZsdDtwJmd0O0ZvdXIgc3BlYWtpbmcgdHViZXMgZGVzY2VuZCBmcm9tIHRoZSBjZWlsaW5nLiBFYWNoIHVzZXMgdGhlIHZvaWNlIG9mIG9uZSBpbnZlc3RpZ2F0b3IuIE9ubHkgb25lIHZvaWNlIGlzIGFuc3dlcmluZyBxdWVzdGlvbnMuIFRoZSBvdGhlcnMgYXJlIGxlYXJuaW5nIGhvdy4mbHQ7L3AmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDt2b2ljZS1yb29tLWNvdW50JnF1b3Q7Jmd0O1RoZSByb29tIHdpbGwgdG9sZXJhdGUgJmx0O3N0cm9uZyZndDsmbHQ7Jmx0Oz0gTWF0aC5tYXgoMCwyLSgkYm9ycm93ZWRWb2ljZVJvb21Nb3Zlc3x8MCkpJmd0OyZndDsmbHQ7L3N0cm9uZyZndDsgaW52ZXN0aWdhdGlvbnMuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1F1ZXN0aW9uIHRoZSB2b2ljZSB1c2luZyBLZXZpbiYjMzk7cyB3YXRjaCByZWNvcmQtJmd0O1ZvaWNlUm9vbVdhdGNoXV0gW1tBc2sgZm9yIGEgYm91bmRhcnkgcnVsZSBvbmx5IFJ5YW4ga25vd3MtJmd0O1ZvaWNlUm9vbUJvdW5kYXJ5XV0gW1tDb21wYXJlIHRoZSB2b2ljZXMgYWdhaW5zdCBLaW1teSYjMzk7cyBldmlkZW5jZSBsb2ctJmd0O1ZvaWNlUm9vbUV2aWRlbmNlXV0gW1tBc2sgU2Nvb3QmIzM5O3Mgbm90ZWJvb2sgd2hpY2ggdm9pY2UgaXMgZW1wdHktJmd0O1ZvaWNlUm9vbU5vdGVib29rXV0gW1tSZWZ1c2UgdG8gc3BlYWsgYW5kIHNlYXJjaCBmb3IgdGhlIGV4aXQtJmd0O1ZvaWNlUm9vbVNpbGVudEV4aXRdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTgyIiBuYW1lPSJWb2ljZVJvb21XYXRjaCIgdGFncz0iaGF1bnRpbmcgZGlzcGxhY2VtZW50IGJnLXVwc3RhaXJzIiBwb3NpdGlvbj0iNDYwMCwzOTUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRCb3Jyb3dlZFZvaWNlUm9vbSgmcXVvdDt3YXRjaC1yZWNvcmQmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtLZXZpbiBhc2tzIHdoZW4gdGhlIGtpdGNoZW4gY2xvY2sgZmlyc3Qgc3RvcHBlZC4gVGhyZWUgdm9pY2VzIGdpdmUgdGhlIHJlY29yZGVkIHRpbWUuIFRoZSBmb3VydGggYW5zd2VycyBvbmUgc2Vjb25kIGJlZm9yZSB0aGUgcXVlc3Rpb24gaXMgZmluaXNoZWQuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBlYXJseSBhbnN3ZXIgY2FtZSBmcm9tIGEgc3BlYWtpbmcgdHViZSBwYWNrZWQgd2l0aCBvbGQgcGhvdG9ncmFwaHMgaW5zdGVhZCBvZiB3aXJlcy4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJHZvaWNlUm9vbVByZWRpY3RpdmVUdWJlPXRydWUmZ3Q7Jmd0OyZsdDsmbHQ7aWYgJGJvcnJvd2VkVm9pY2VSb29tTW92ZXMgJmd0Oz0gMiZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1ZvaWNlUm9vbUNsb3NpbmcmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0NvbnRpbnVlIHRlc3RpbmcgdGhlIHZvaWNlcy0mZ3Q7Vm9pY2VSb29tQXJyaXZhbF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTgzIiBuYW1lPSJWb2ljZVJvb21Cb3VuZGFyeSIgdGFncz0iaGF1bnRpbmcgZGlzcGxhY2VtZW50IGJnLXVwc3RhaXJzIiBwb3NpdGlvbj0iNDYwMCw0MDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRCb3Jyb3dlZFZvaWNlUm9vbSgmcXVvdDtib3VuZGFyeS1hbnN3ZXImcXVvdDspJmd0OyZndDsmbHQ7cCZndDtSeWFuIGFza3MgZm9yIHRoZSBmaW5hbCBsaW5lIG9mIGEgcnVsZSBuZXZlciBzcG9rZW4gbmVhciB0aGUgaG91c2UuJmx0Oy9wJmd0OyZsdDtwJmd0O09uZSB2b2ljZSByZW1haW5zIHNpbGVudC4gQW5vdGhlciBpbnZlbnRzIGEgZmluYWwgbGluZS4gQSB0aGlyZCByZXBlYXRzIFJ5YW4mIzM5O3MgYnJlYXRoaW5nLiBUaGUgbGFzdCB3aGlzcGVycywg4oCcUnVsZXMgbmVlZCB3aXRuZXNzZXMu4oCdJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICR2b2ljZVJvb21XaXRuZXNzUnVsZT10cnVlJmd0OyZndDsmbHQ7Jmx0O2lmICRib3Jyb3dlZFZvaWNlUm9vbU1vdmVzICZndDs9IDImZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtWb2ljZVJvb21DbG9zaW5nJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tDb250aW51ZSB0ZXN0aW5nIHRoZSB2b2ljZXMtJmd0O1ZvaWNlUm9vbUFycml2YWxdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU4NCIgbmFtZT0iVm9pY2VSb29tRXZpZGVuY2UiIHRhZ3M9ImhhdW50aW5nIGRpc3BsYWNlbWVudCBiZy11cHN0YWlycyIgcG9zaXRpb249IjQ3MDAsMzk1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAucmVjb3JkQm9ycm93ZWRWb2ljZVJvb20oJnF1b3Q7ZXZpZGVuY2UtY29tcGFyaXNvbiZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O0tpbW15IHJlYWRzIHRocmVlIGRldGFpbHMgZnJvbSB0aGUgZXZpZGVuY2UgbG9nLCBjaGFuZ2luZyBvbmUgd29yZCBpbiBlYWNoLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgZmFsc2Ugdm9pY2VzIHJlcGVhdCB0aGUgYWx0ZXJlZCBkZXRhaWxzLiBPbmUgY29ycmVjdHMgZXZlcnkgY2hhbmdlIGFuZCB0aGVuIHNheXMgYSBmaWZ0aCBmYWN0IHRoYXQgaGFzIG5vdCB5ZXQgYmVlbiB3cml0dGVuIGRvd24uJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICR2b2ljZVJvb21GdXR1cmVGYWN0PXRydWUmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLmFkZENhc2VGaWxlMigmcXVvdDt2b2ljZS1yb29tLWZ1dHVyZS1mYWN0JnF1b3Q7LCZxdW90O0ZhY3QgU3Bva2VuIEJlZm9yZSBJdCBXYXMgUmVjb3JkZWQmcXVvdDssJnF1b3Q7S2ltbXkmcXVvdDssJnF1b3Q7VmVyaWZpZWQgYW5vbWFseSZxdW90OywmcXVvdDtPbmUgdm9pY2UgY29ycmVjdGVkIHRoZSBldmlkZW5jZSBhbmQgc3VwcGxpZWQgYW4gdW53cml0dGVuIGRldGFpbC4mcXVvdDssJnF1b3Q7SXMgdGhlIHZvaWNlIHJlbWVtYmVyaW5nIHRoZSBmdXR1cmUgb3IgcHJlcGFyaW5nIGl0PyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgJGJvcnJvd2VkVm9pY2VSb29tTW92ZXMgJmd0Oz0gMiZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1ZvaWNlUm9vbUNsb3NpbmcmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0NvbnRpbnVlIHRlc3RpbmcgdGhlIHZvaWNlcy0mZ3Q7Vm9pY2VSb29tQXJyaXZhbF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTg1IiBuYW1lPSJWb2ljZVJvb21Ob3RlYm9vayIgdGFncz0iaGF1bnRpbmcgZGlzcGxhY2VtZW50IGJnLXVwc3RhaXJzIiBwb3NpdGlvbj0iNDcwMCw0MDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRCb3Jyb3dlZFZvaWNlUm9vbSgmcXVvdDtlbXB0eS12b2ljZSZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBub3RlYm9vayB3cml0ZXMgZm91ciBuYW1lcywgdGhlbiBjcm9zc2VzIG91dCBTY29vdCYjMzk7cy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIHR1YmUgdXNpbmcgU2Nvb3QmIzM5O3Mgdm9pY2UgYmVnaW5zIGxhdWdoaW5nLiBJbnNpZGUgaXQgaXMgYSByb2xsIG9mIGJsYW5rIHBhcGVyIGNvdmVyZWQgaW4gbW91dGgtc2hhcGVkIGltcHJlc3Npb25zLiZsdDsvcCZndDsmbHQ7Jmx0O3NldCAkdm9pY2VSb29tRW1wdHlTY29vdD10cnVlJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDt2b2ljZS1yb29tLW5vdGVib29rJnF1b3Q7LDEsJnF1b3Q7VGhlIG5vdGVib29rIGlkZW50aWZpZWQgdGhlIGVtcHR5IHZvaWNlLiZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7aWYgJGJvcnJvd2VkVm9pY2VSb29tTW92ZXMgJmd0Oz0gMiZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1ZvaWNlUm9vbUNsb3NpbmcmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0NvbnRpbnVlIHRlc3RpbmcgdGhlIHZvaWNlcy0mZ3Q7Vm9pY2VSb29tQXJyaXZhbF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTg2IiBuYW1lPSJWb2ljZVJvb21TaWxlbnRFeGl0IiB0YWdzPSJoYXVudGluZyBkaXNwbGFjZW1lbnQgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI0NjAwLDQxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLmZpbmlzaEJvcnJvd2VkVm9pY2VSb29tKCZxdW90O2VzY2FwZWQgd2l0aG91dCBhbnN3ZXJpbmcmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgaW52ZXN0aWdhdG9yIHJlZnVzZXMgZXZlcnkgcXVlc3Rpb24uIERlcHJpdmVkIG9mIGEgcmVwbHksIHRoZSByb29tIGNhbm5vdCBkZWNpZGUgd2hpY2ggdm9pY2UgdG8ga2VlcC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QSBzZWFtIGFwcGVhcnMgaW4gdGhlIHdhbGwuIFRoZSBpbnZlc3RpZ2F0b3Igc2xpcHMgdGhyb3VnaCBiZWZvcmUgdGhlIHNwZWFraW5nIHR1YmVzIGJlZ2luIHVzaW5nIHRoZSBzYW1lIHZvaWNlIHRvZ2V0aGVyLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gdG8gdGhlIGludmVzdGlnYXRpb24mcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAkYm9ycm93ZWRWb2ljZVJvb21PcmlnaW4mZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTg3IiBuYW1lPSJWb2ljZVJvb21DbG9zaW5nIiB0YWdzPSJoYXVudGluZyBkaXNwbGFjZW1lbnQgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI0ODAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDtoMSZndDtUaGUgUm9vbSBDaG9vc2VzIGEgVm9pY2UmbHQ7L2gxJmd0OyZsdDtwJmd0O1RoZSBzcGVha2luZyB0dWJlcyBkcmF3IHVwd2FyZC4gVGhlIHJvb20gbmFycm93cy4gQWxsIGZvdXIgdm9pY2VzIGFzayB0aGUgc2FtZSBxdWVzdGlvbjombHQ7L3AmZ3Q7Jmx0O2Jsb2NrcXVvdGUmZ3Q74oCcV2hpY2ggb25lIG9mIHVzIGNhbWUgaW4gd2l0aCB5b3U/4oCdJmx0Oy9ibG9ja3F1b3RlJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiAkdm9pY2VSb29tUHJlZGljdGl2ZVR1YmUgYW5kICR2b2ljZVJvb21GdXR1cmVGYWN0Jmd0OyZndDtbW0lkZW50aWZ5IHRoZSB2b2ljZSB0aGF0IGtub3dzIHRvbyBtdWNoLSZndDtWb2ljZVJvb21UcnVlRXhpdF1dJmx0OyZsdDsvaWYmZ3Q7Jmd0OyAmbHQ7Jmx0O2lmICR2b2ljZVJvb21XaXRuZXNzUnVsZSZndDsmZ3Q7W1tVc2UgdGhlIHdpdG5lc3MgcnVsZSB0byBob2xkIHRoZSB3YWxsIG9wZW4tJmd0O1ZvaWNlUm9vbVJ1bGVFeGl0XV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7IFtbQ2hvb3NlIGEgdm9pY2UgYW5kIHJ1bi0mZ3Q7Vm9pY2VSb29tRm9yY2VkRXhpdF1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1ODgiIG5hbWU9IlZvaWNlUm9vbVRydWVFeGl0IiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy11cHN0YWlycyIgcG9zaXRpb249IjQ5MDAsMzk1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAuZmluaXNoQm9ycm93ZWRWb2ljZVJvb20oJnF1b3Q7aWRlbnRpZmllZCB0aGUgcHJlZGljdGl2ZSBpbWl0YXRpb24mcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5sb3dlckF0dGVudGlvbigmcXVvdDt2b2ljZS1yb29tLWlkZW50aWZpZWQmcXVvdDssMSwmcXVvdDtUaGUgaW52ZXN0aWdhdG9ycyBpZGVudGlmaWVkIHRoZSB2b2ljZSB0aGF0IGFuc3dlcmVkIGJlZm9yZSBiZWluZyBhc2tlZC4mcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgcHJlZGljdGl2ZSB2b2ljZSBpcyBuYW1lZC4gSXRzIHR1YmUgY29sbGFwc2VzIGFzIGlmIGVtcHRpZWQgb2YgYWlyLiZsdDsvcCZndDsmbHQ7cCZndDtCZWhpbmQgaXQgaXMgYSBuYXJyb3cgZXhpdCBhbmQgYSBtZXRhbCBsYWJlbCBzdGFtcGVkOiAmbHQ7c3Ryb25nJmd0O0ZJUlNUIENPUFkmbHQ7L3N0cm9uZyZndDsuJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICR2b2ljZVJvb21GaXJzdENvcHk9dHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuYWRkQ2FzZUZpbGUyKCZxdW90O3ZvaWNlLXJvb20tZmlyc3QtY29weSZxdW90OywmcXVvdDtGSVJTVCBDT1BZIExhYmVsJnF1b3Q7LCZxdW90O0VuY291bnRlciB3aXRuZXNzJnF1b3Q7LCZxdW90O1BoeXNpY2FsIGV2aWRlbmNlJnF1b3Q7LCZxdW90O1RoZSBsYWJlbCBjYW1lIGZyb20gYmVoaW5kIHRoZSBwcmVkaWN0aXZlIHNwZWFraW5nIHR1YmUuJnF1b3Q7LCZxdW90O1doYXQgd2FzIGNvcGllZCBiZWZvcmUgdGhlIGN1cnJlbnQgdm9pY2VzPyZxdW90OykmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1JldHVybiB3aXRoIHRoZSBsYWJlbCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtnb3RvICRib3Jyb3dlZFZvaWNlUm9vbU9yaWdpbiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1ODkiIG5hbWU9IlZvaWNlUm9vbVJ1bGVFeGl0IiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy11cHN0YWlycyIgcG9zaXRpb249IjQ5MDAsNDA1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAuZmluaXNoQm9ycm93ZWRWb2ljZVJvb20oJnF1b3Q7ZXNjYXBlZCB1c2luZyB0aGUgd2l0bmVzcyBydWxlJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIHJ1bGUgaXMgc3Bva2VuIHdpdGggZXZlcnkgaW52ZXN0aWdhdG9yIG5hbWVkIGFzIHdpdG5lc3MuIFRoZSB3YWxsIHJlbWVtYmVycyB0aGF0IGl0IGlzIHN1cHBvc2VkIHRvIGJlIHNvbGlkLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgcm9vbSBjb21wcmVzc2VzIGludG8gYSBkYXJrIGxpbmUgYW5kIHZhbmlzaGVzLCBsZWF2aW5nIGZvdXIgc21hbGwgaG9sZXMgaW4gdGhlIHBsYXN0ZXIuJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICR2b2ljZVJvb21Gb3VySG9sZXM9dHJ1ZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHRvIHRoZSBpbnZlc3RpZ2F0aW9uJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2dvdG8gJGJvcnJvd2VkVm9pY2VSb29tT3JpZ2luJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU5MCIgbmFtZT0iVm9pY2VSb29tRm9yY2VkRXhpdCIgdGFncz0iaGF1bnRpbmcgY29uc2VxdWVuY2UgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI0OTAwLDQxNTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLmZpbmlzaEJvcnJvd2VkVm9pY2VSb29tKCZxdW90O2VzY2FwZWQgYWZ0ZXIgY2hvb3NpbmcgYW4gaW1pdGF0aW9uJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmFpc2VBdHRlbnRpb24oJnF1b3Q7dm9pY2Utcm9vbS13cm9uZy1jaG9pY2UmcXVvdDssMiwmcXVvdDtBbiBpbWl0YXRpb24gZm9sbG93ZWQgdGhlIGludmVzdGlnYXRvciBvdXQgb2YgdGhlIHJvb20uJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGNob3NlbiB2b2ljZSBsYXVnaHMgYW5kIG9wZW5zIGEgc2VhbSBpbiB0aGUgd2FsbC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGludmVzdGlnYXRvciBlc2NhcGVzLiBGb3IgdGhlIG5leHQgc2V2ZXJhbCBtaW51dGVzLCBob3dldmVyLCB0aGVpciBvd24gdm9pY2UgY29tZXMgZnJvbSBoYWxmIGEgc3RlcCBiZWhpbmQgdGhlbS4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJHZvaWNlUm9vbUZvbGxvd2luZ1ZvaWNlPXRydWUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1JldHVybiB0byB0aGUgaW52ZXN0aWdhdGlvbiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtnb3RvICRib3Jyb3dlZFZvaWNlUm9vbU9yaWdpbiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1OTEiIG5hbWU9IkJ1aWxkNTIyVm9pY2VSb29tUmVwb3J0IiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSI1MDAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O0J1aWxkIDUuMjI6IFRoZSBSb29tIEJlaGluZCB0aGUgVm9pY2UmbHQ7L2gxJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Q3VycmVudCBwcm9maWxlOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gJGhhdW50aW5nUHJvZmlsZS5uYW1lJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtDdXJyZW50IGNoYW5jZTombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IE1hdGgucm91bmQoc2V0dXAuYm9ycm93ZWRWb2ljZVJvb21DaGFuY2UoKSoxMDApJmd0OyZndDslJmx0Oy9wJmd0OyZsdDtwcmUgY2xhc3M9JnF1b3Q7djQyLXByb2ZpbGUmcXVvdDsmZ3Q7Jmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KCRwcm9maWxlU2VjcmV0TG9nfHxbXSxudWxsLDIpJmd0OyZndDsmbHQ7L3ByZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUHJldmlldyBzZWNyZXQgcm9vbS0mZ3Q7Vm9pY2VSb29tQXJyaXZhbF1dICZsdDsmbHQ7bGluayAmcXVvdDtSZXNldCByb29tJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkYm9ycm93ZWRWb2ljZVJvb21Db21wbGV0ZWQ9ZmFsc2UmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRib3Jyb3dlZFZvaWNlUm9vbUFjdGl2ZT1mYWxzZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGJvcnJvd2VkVm9pY2VSb29tT3JpZ2luPSZxdW90O1Vwc3RhaXJzTGFuZGluZ0h1YiZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGJvcnJvd2VkVm9pY2VSb29tTW92ZXM9MCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGJvcnJvd2VkVm9pY2VSb29tQ2x1ZXM9W10mZ3Q7Jmd0OyAmbHQ7Jmx0O3NldCAkdm9pY2VSb29tUHJlZGljdGl2ZVR1YmU9ZmFsc2UmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICR2b2ljZVJvb21XaXRuZXNzUnVsZT1mYWxzZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHZvaWNlUm9vbUZ1dHVyZUZhY3Q9ZmFsc2UmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtCdWlsZDUyMlZvaWNlUm9vbVJlcG9ydCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7IFtbU3RhZmYgQ29uc29sZS0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1OTIiIG5hbWU9Ik1pc3NpbmdBcmNoaXZlQXJyaXZhbCIgdGFncz0iaGF1bnRpbmcgZGlzcGxhY2VtZW50IGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI1MTAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7c2V0ICRsb2NhdGlvbj0mcXVvdDtMaWJyYXJ5OiBUaGUgTWlzc2luZyBBcmNoaXZlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlPSZxdW90O0ZpbmQgdGhlIHJlY29yZCB0aGF0IHRoZSBhcmNoaXZlIGlzIHRyeWluZyB0byByZW1vdmUmcXVvdDsmZ3Q7Jmd0OyZsdDtoMSZndDtUaGUgTWlzc2luZyBBcmNoaXZlJmx0Oy9oMSZndDsmbHQ7cCZndDtUaGUgcm9vbSBpcyBsYXJnZXIgdGhhbiB0aGUgbGlicmFyeSBidWlsZGluZy4gU2hlbHZlcyBkZXNjZW5kIGludG8gZGFya25lc3MsIGVhY2ggdGllZCB3aXRoIGdyZWVuIHRocmVhZC4gRmlsZSBib3hlcyB3aGlzcGVyIGRhdGVzIHdoZW4gdG91Y2hlZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QXQgdGhlIGNlbnRlciwgYW4gZW1wdHkgY2F0YWxvZyBkcmF3ZXIgcmVwZWF0ZWRseSBvcGVucyBhbmQgY2xvc2VzLiBJdHMgYnJhc3MgbGFiZWwgcmVhZHM6ICZsdDtzdHJvbmcmZ3Q7UEVPUExFIFRIRSBUT1dOIEFHUkVFRCBUTyBGT1JHRVQmbHQ7L3N0cm9uZyZndDsuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7bWlzc2luZy1hcmNoaXZlLWNvdW50JnF1b3Q7Jmd0O1RoZSBhcmNoaXZlIHdpbGwgcGVybWl0ICZsdDtzdHJvbmcmZ3Q7Jmx0OyZsdDs9IE1hdGgubWF4KDAsMi0oJG1pc3NpbmdBcmNoaXZlTW92ZXN8fDApKSZndDsmZ3Q7Jmx0Oy9zdHJvbmcmZ3Q7IHNlYXJjaGVzLiZsdDsvZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tUcmFjZSB0aGUgdGhyZWFkIGNvbm5lY3RpbmcgdGhlIGJveGVzLSZndDtNaXNzaW5nQXJjaGl2ZVRocmVhZF1dIFtbT3BlbiB0aGUgc2Nob29sIGF0dGVuZGFuY2UgZHJhd2VyLSZndDtNaXNzaW5nQXJjaGl2ZUF0dGVuZGFuY2VdXSBbW0V4YW1pbmUgdGhlIHBob3RvZ3JhcGhzIGZpbGVkIHVuZGVyIG5vIGZhbWlseSBuYW1lLSZndDtNaXNzaW5nQXJjaGl2ZVBob3Rvc11dIFtbVXNlIEtpbW15JiMzOTtzIGV2aWRlbmNlIG1ldGhvZCBvbiB0aGUgY2F0YWxvZy0mZ3Q7TWlzc2luZ0FyY2hpdmVWZXJpZnldXSBbW0xlYXZlIGJlZm9yZSB0aGUgYXJjaGl2ZSByZWNvcmRzIHlvdS0mZ3Q7TWlzc2luZ0FyY2hpdmVFYXJseUV4aXRdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTkzIiBuYW1lPSJNaXNzaW5nQXJjaGl2ZVRocmVhZCIgdGFncz0iaGF1bnRpbmcgZGlzcGxhY2VtZW50IGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI1MjAwLDM5MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZE1pc3NpbmdBcmNoaXZlKCZxdW90O3RocmVhZC1tYXAmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgZ3JlZW4gdGhyZWFkIGRvZXMgbm90IGJpbmQgdGhlIGJveGVzLiBJdCBmb3JtcyBhIG1hcCB3aGVuIHZpZXdlZCBmcm9tIGFib3ZlLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgbWFwIHNob3dzIHRoZSBzY2hvb2wsIHRoZSBvYWssIHRoZSBob3VzZSwgYW5kIGEgZm91cnRoIGxvY2F0aW9uIGJlbmVhdGggdGhlIHRvd24gc2VhbC4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJG1pc3NpbmdBcmNoaXZlRm91cnRoTG9jYXRpb249dHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtpZiAkbWlzc2luZ0FyY2hpdmVNb3ZlcyAmZ3Q7PSAyJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7TWlzc2luZ0FyY2hpdmVDbG9zaW5nJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTZWFyY2ggYW5vdGhlciByZWNvcmQtJmd0O01pc3NpbmdBcmNoaXZlQXJyaXZhbF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTk0IiBuYW1lPSJNaXNzaW5nQXJjaGl2ZUF0dGVuZGFuY2UiIHRhZ3M9ImhhdW50aW5nIGRpc3BsYWNlbWVudCBiZy1saWJyYXJ5IiBwb3NpdGlvbj0iNTIwMCw0MDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5yZWNvcmRNaXNzaW5nQXJjaGl2ZSgmcXVvdDthdHRlbmRhbmNlLWluZGV4JnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGF0dGVuZGFuY2UgZHJhd2VyIGNvbnRhaW5zIGNhcmRzIGZvciBzdHVkZW50cyB3aG8gbmV2ZXIgYXBwZWFyZWQgaW4gdGhlIG9mZmljaWFsIGJvb2tzLiZsdDsvcCZndDsmbHQ7cCZndDtFYWNoIGNhcmQgaGFzIGJlZW4gc3RpdGNoZWQgdG8gYW5vdGhlciB3aXRoIGdyZWVuIHRocmVhZC4gVGhlIGZpbmFsIGNhcmQgaXMgYmxhbmsgZXhjZXB0IGZvciB0b2RheSYjMzk7cyBkYXRlLiZsdDsvcCZndDsmbHQ7Jmx0O3NldCAkbWlzc2luZ0FyY2hpdmVCbGFua0NhcmQ9dHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtpZiAkbWlzc2luZ0FyY2hpdmVNb3ZlcyAmZ3Q7PSAyJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7TWlzc2luZ0FyY2hpdmVDbG9zaW5nJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTZWFyY2ggYW5vdGhlciByZWNvcmQtJmd0O01pc3NpbmdBcmNoaXZlQXJyaXZhbF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTk1IiBuYW1lPSJNaXNzaW5nQXJjaGl2ZVBob3RvcyIgdGFncz0iaGF1bnRpbmcgZGlzcGxhY2VtZW50IGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI1MjAwLDQxMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZE1pc3NpbmdBcmNoaXZlKCZxdW90O3VuY2xhaW1lZC1waG90b3MmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgcGhvdG9ncmFwaHMgc2hvdyBmYW1pbGllcyBzdGFuZGluZyBiZXNpZGUgZW1wdHkgc3BhY2VzLiBPbiB0aGUgYmFjayBvZiBlYWNoIGltYWdlLCBvbmUgbmFtZSBoYXMgYmVlbiBjdXQgYXdheSByYXRoZXIgdGhhbiBjcm9zc2VkIG91dC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7T25lIHBob3RvZ3JhcGggc2hvd3MgdGhlIGN1cnJlbnQgaW52ZXN0aWdhdG9ycy4gSXQgd2FzIGRldmVsb3BlZCBkZWNhZGVzIGFnby4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJG1pc3NpbmdBcmNoaXZlT2xkR3JvdXBQaG90bz10cnVlJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5hZGRDYXNlRmlsZTIoJnF1b3Q7bWlzc2luZy1hcmNoaXZlLW9sZC1waG90byZxdW90OywmcXVvdDtPbGQgUGhvdG9ncmFwaCBvZiB0aGUgSW52ZXN0aWdhdG9ycyZxdW90OywmcXVvdDtLaW1teSZxdW90OywmcXVvdDtWZXJpZmllZCBhbm9tYWx5JnF1b3Q7LCZxdW90O1RoZSBwaG90b2dyYXBoIHByZWRhdGVzIGV2ZXJ5IGludmVzdGlnYXRvciBidXQgc2hvd3MgdGhlIGN1cnJlbnQgZ3JvdXAuJnF1b3Q7LCZxdW90O1dobyBvY2N1cGllZCB0aGUgY3V0LWF3YXkgc3BhY2UgYmVzaWRlIHRoZW0/JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiAkbWlzc2luZ0FyY2hpdmVNb3ZlcyAmZ3Q7PSAyJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7TWlzc2luZ0FyY2hpdmVDbG9zaW5nJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTZWFyY2ggYW5vdGhlciByZWNvcmQtJmd0O01pc3NpbmdBcmNoaXZlQXJyaXZhbF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTk2IiBuYW1lPSJNaXNzaW5nQXJjaGl2ZVZlcmlmeSIgdGFncz0iaGF1bnRpbmcgZGlzcGxhY2VtZW50IGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI1MzAwLDM5NTAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZE1pc3NpbmdBcmNoaXZlKCZxdW90O2NhdGFsb2ctdmVyaWZpY2F0aW9uJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7S2ltbXkgY29tcGFyZXMgdGhlIGNhdGFsb2cgbnVtYmVycyBhZ2FpbnN0IHRoZSBwaHlzaWNhbCBkcmF3ZXJzLiBFdmVyeSBmYWxzZSByZWNvcmQgaXMgcGVyZmVjdGx5IG9yZ2FuaXplZC4gT25seSBvbmUgZ2VudWluZSByZWNvcmQgaGFzIGJlZW4gZmlsZWQgaW5jb3JyZWN0bHkuJmx0Oy9wJmd0OyZsdDtwJmd0O0l0cyB0aXRsZSBpcyBoYW5kd3JpdHRlbjogJmx0O3N0cm9uZyZndDtUSEUgRklSU1QgUEVSU09OIFJFTU9WRUQmbHQ7L3N0cm9uZyZndDsuJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICRtaXNzaW5nQXJjaGl2ZUZpcnN0UmVtb3ZlZD10cnVlJmd0OyZndDsmbHQ7Jmx0O2lmICRtaXNzaW5nQXJjaGl2ZU1vdmVzICZndDs9IDImZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtNaXNzaW5nQXJjaGl2ZUNsb3NpbmcmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1NlYXJjaCBhbm90aGVyIHJlY29yZC0mZ3Q7TWlzc2luZ0FyY2hpdmVBcnJpdmFsXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI1OTciIG5hbWU9Ik1pc3NpbmdBcmNoaXZlRWFybHlFeGl0IiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy1saWJyYXJ5IiBwb3NpdGlvbj0iNTMwMCw0MDUwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5maW5pc2hNaXNzaW5nQXJjaGl2ZSgmcXVvdDtsZWZ0IGJlZm9yZSBiZWluZyBjYXRhbG9nZWQmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgaW52ZXN0aWdhdG9yIGZvbGxvd3MgdGhlIGdyZWVuIHRocmVhZCBiYWNrd2FyZCB3aXRob3V0IHRvdWNoaW5nIGFub3RoZXIgcmVjb3JkLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgaGlkZGVuIHNoZWxmIGNsb3Nlcy4gQSBjYXRhbG9nIGNhcmQgcmVtYWlucyBjYXVnaHQgaW4gdGhlIHNlYW0sIGJlYXJpbmcgb25seSB0aGUgaW52ZXN0aWdhdG9yJiMzOTtzIGluaXRpYWxzLiZsdDsvcCZndDsmbHQ7Jmx0O3NldCAkbWlzc2luZ0FyY2hpdmVJbml0aWFsQ2FyZD10cnVlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gdG8gdGhlIGxpYnJhcnkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAkbWlzc2luZ0FyY2hpdmVPcmlnaW4mZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNTk4IiBuYW1lPSJNaXNzaW5nQXJjaGl2ZUNsb3NpbmciIHRhZ3M9ImhhdW50aW5nIGRpc3BsYWNlbWVudCBiZy1saWJyYXJ5IiBwb3NpdGlvbj0iNTQwMCw0MDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7aDEmZ3Q7VGhlIEFyY2hpdmUgQmVnaW5zIEZpbGluZyZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7RXZlcnkgZHJhd2VyIG9wZW5zIGF0IG9uY2UuIEJsYW5rIGNhcmRzIHNsaWRlIG91dHdhcmQuIEdyZWVuIHRocmVhZCBjcmF3bHMgYWNyb3NzIHRoZSBmbG9vciB0b3dhcmQgdGhlIGludmVzdGlnYXRvciYjMzk7cyBzaG9lcy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGNhdGFsb2cgYmVnaW5zIHR5cGluZyBhIG5ldyBoZWFkaW5nOiAmbHQ7c3Ryb25nJmd0O0NVUlJFTlQgT0NDVVBBTlQmbHQ7L3N0cm9uZyZndDsuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtpZiAkbWlzc2luZ0FyY2hpdmVGaXJzdFJlbW92ZWQgYW5kICRtaXNzaW5nQXJjaGl2ZU9sZEdyb3VwUGhvdG8mZ3Q7Jmd0O1tbVGFrZSB0aGUgcmVjb3JkIG9mIHRoZSBmaXJzdCBwZXJzb24gcmVtb3ZlZC0mZ3Q7TWlzc2luZ0FyY2hpdmVUcnV0aEV4aXRdXSZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtpZiAkbWlzc2luZ0FyY2hpdmVGb3VydGhMb2NhdGlvbiZndDsmZ3Q7W1tGb2xsb3cgdGhlIHRocmVhZCB0b3dhcmQgdGhlIGZvdXJ0aCBsb2NhdGlvbi0mZ3Q7TWlzc2luZ0FyY2hpdmVUaHJlYWRFeGl0XV0mbHQ7Jmx0Oy9pZiZndDsmZ3Q7IFtbVGVhciBmcmVlIGFuZCBmb3JjZSB0aGUgc2hlbGYgb3Blbi0mZ3Q7TWlzc2luZ0FyY2hpdmVGb3JjZWRFeGl0XV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjU5OSIgbmFtZT0iTWlzc2luZ0FyY2hpdmVUcnV0aEV4aXQiIHRhZ3M9ImhhdW50aW5nIGNvbnNlcXVlbmNlIGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI1NTAwLDM5MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLmZpbmlzaE1pc3NpbmdBcmNoaXZlKCZxdW90O2VzY2FwZWQgd2l0aCB0aGUgZmlyc3QgcmVtb3ZlZCByZWNvcmQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDttaXNzaW5nLWFyY2hpdmUtcmVjb3JkJnF1b3Q7LDEsJnF1b3Q7VGhlIGludmVzdGlnYXRvciByZW1vdmVkIHRoZSBhcmNoaXZlJiMzOTtzIG9sZGVzdCBwcm90ZWN0ZWQgcmVjb3JkLiZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBlYXJsaWVzdCByZWNvcmQgaXMgcHVsbGVkIGZyb20gdGhlIGRyYXdlci4gVGhlIGFyY2hpdmUgY29udHJhY3RzIGFyb3VuZCB0aGUgbWlzc2luZyBzcGFjZSwgb3BlbmluZyBhIHJvdXRlIGJhY2sgdG8gdGhlIGxpYnJhcnkuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSByZWNvcmQgY29udGFpbnMgbm8gbmFtZSwgb25seSBhIHRvd24gc2VhbCBzdGFtcGVkIGJhY2t3YXJkIGFuZCB0aGUgd29yZHM6ICZsdDtzdHJvbmcmZ3Q7UkVNT1ZBTCBSRVFVSVJFUyBBR1JFRU1FTlQmbHQ7L3N0cm9uZyZndDsuJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICRtaXNzaW5nQXJjaGl2ZUFncmVlbWVudFJlY29yZD10cnVlJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5hZGRDYXNlRmlsZTIoJnF1b3Q7bWlzc2luZy1hcmNoaXZlLWFncmVlbWVudCZxdW90OywmcXVvdDtSZW1vdmFsIFJlcXVpcmVzIEFncmVlbWVudCZxdW90OywmcXVvdDtLaW1teSZxdW90OywmcXVvdDtQaHlzaWNhbCBldmlkZW5jZSZxdW90OywmcXVvdDtUaGUgb2xkZXN0IHJlbW92YWwgcmVjb3JkIGJlYXJzIGEgcmV2ZXJzZWQgdG93biBzZWFsLiZxdW90OywmcXVvdDtXaG8gYWdyZWVkIHRvIHRoZSBmaXJzdCByZW1vdmFsPyZxdW90OykmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1JldHVybiB3aXRoIHRoZSByZWNvcmQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAkbWlzc2luZ0FyY2hpdmVPcmlnaW4mZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjAwIiBuYW1lPSJNaXNzaW5nQXJjaGl2ZVRocmVhZEV4aXQiIHRhZ3M9ImhhdW50aW5nIGNvbnNlcXVlbmNlIGJnLWxpYnJhcnkiIHBvc2l0aW9uPSI1NTAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLmZpbmlzaE1pc3NpbmdBcmNoaXZlKCZxdW90O2VzY2FwZWQgYnkgZm9sbG93aW5nIHRoZSBmb3VydGggcm91dGUmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgdGhyZWFkIHB1bGxzIHRpZ2h0IGFuZCBiZWNvbWVzIGEgc3RyYWlnaHQgZ3JlZW4gbGluZSB0aHJvdWdoIHRoZSBkYXJrIHNoZWx2ZXMuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBpbnZlc3RpZ2F0b3IgZm9sbG93cyBpdCB0byBhbiBvcmRpbmFyeSBsaWJyYXJ5IGRvb3IsIGJ1dCBzb2lsIGZyb20gYmVuZWF0aCB0aGUgdG93biBzZWFsIGNsaW5ncyB0byB0aGVpciBzaG9lcy4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJG1pc3NpbmdBcmNoaXZlU2VhbFNvaWw9dHJ1ZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmV0dXJuIHRvIHRoZSBsaWJyYXJ5JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2dvdG8gJG1pc3NpbmdBcmNoaXZlT3JpZ2luJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYwMSIgbmFtZT0iTWlzc2luZ0FyY2hpdmVGb3JjZWRFeGl0IiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy1saWJyYXJ5IiBwb3NpdGlvbj0iNTUwMCw0MTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5maW5pc2hNaXNzaW5nQXJjaGl2ZSgmcXVvdDtlc2NhcGVkIGFmdGVyIGJlaW5nIHBhcnRpYWxseSBjYXRhbG9nZWQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5yYWlzZUF0dGVudGlvbigmcXVvdDttaXNzaW5nLWFyY2hpdmUtY2F0YWxvZ2VkJnF1b3Q7LDIsJnF1b3Q7VGhlIGFyY2hpdmUgYmVnYW4gcmVjb3JkaW5nIHRoZSBpbnZlc3RpZ2F0b3IgYXMgYW4gb2NjdXBhbnQuJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGludmVzdGlnYXRvciB0ZWFycyB0aHJvdWdoIHRoZSBjbG9zaW5nIHNoZWxmLiBBIGdyZWVuIHRocmVhZCByZW1haW5zIHRpZWQgYXJvdW5kIG9uZSBmaW5nZXIuJmx0Oy9wJmd0OyZsdDtwJmd0O0JhY2sgaW4gdGhlIGxpYnJhcnksIHRoZSBwdWJsaWMgY2F0YWxvZyBub3cgbGlzdHMgdGhlIGludmVzdGlnYXRvciBhcyBhIHJlZmVyZW5jZSB3b3JrIGF2YWlsYWJsZSBvbmx5IGJ5IHJlcXVlc3QuJmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICRtaXNzaW5nQXJjaGl2ZUNhdGFsb2dlZD10cnVlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gdG8gdGhlIGxpYnJhcnkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAkbWlzc2luZ0FyY2hpdmVPcmlnaW4mZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjAyIiBuYW1lPSJCdWlsZDUyM01pc3NpbmdBcmNoaXZlUmVwb3J0IiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSI1NjAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O0J1aWxkIDUuMjM6IFRoZSBNaXNzaW5nIEFyY2hpdmUmbHQ7L2gxJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Q3VycmVudCBwcm9maWxlOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gJGhhdW50aW5nUHJvZmlsZS5uYW1lJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtDdXJyZW50IGNoYW5jZTombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IE1hdGgucm91bmQoc2V0dXAubWlzc2luZ0FyY2hpdmVDaGFuY2UoKSoxMDApJmd0OyZndDslJmx0Oy9wJmd0OyZsdDtwcmUgY2xhc3M9JnF1b3Q7djQyLXByb2ZpbGUmcXVvdDsmZ3Q7Jmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KCRwcm9maWxlU2VjcmV0TG9nfHxbXSxudWxsLDIpJmd0OyZndDsmbHQ7L3ByZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUHJldmlldyB0aGUgTWlzc2luZyBBcmNoaXZlLSZndDtNaXNzaW5nQXJjaGl2ZUFycml2YWxdXSAmbHQ7Jmx0O2xpbmsgJnF1b3Q7UmVzZXQgYXJjaGl2ZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG1pc3NpbmdBcmNoaXZlQ29tcGxldGVkPWZhbHNlJmd0OyZndDsmbHQ7Jmx0O3NldCAkbWlzc2luZ0FyY2hpdmVBY3RpdmU9ZmFsc2UmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRtaXNzaW5nQXJjaGl2ZU9yaWdpbj0mcXVvdDtFcGlzb2RlVGhyZWVMaWJyYXJ5TGVhZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG1pc3NpbmdBcmNoaXZlTW92ZXM9MCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJG1pc3NpbmdBcmNoaXZlQ2x1ZXM9W10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtCdWlsZDUyM01pc3NpbmdBcmNoaXZlUmVwb3J0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgW1tTdGFmZiBDb25zb2xlLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYwMyIgbmFtZT0iUm9vdEhvdXNlQXJyaXZhbCIgdGFncz0iaGF1bnRpbmcgZGlzcGxhY2VtZW50IGJnLXVwc3RhaXJzIiBwb3NpdGlvbj0iNTcwMCw0MDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3NldCAkbG9jYXRpb249JnF1b3Q7QmVuZWF0aCB0aGUgT2FrJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkb2JqZWN0aXZlPSZxdW90O0Rpc2NvdmVyIHdoYXQgdGhlIGJ1cmllZCBob3VzZSB3YXMgYnVpbHQgdG8gY29udGFpbiZxdW90OyZndDsmZ3Q7Jmx0O2gxJmd0O1RoZSBIb3VzZSBCZW5lYXRoIHRoZSBPYWsmbHQ7L2gxJmd0OyZsdDtwJmd0O1RoZSBzdGFpcnMgZGVzY2VuZCB0aHJvdWdoIHBhY2tlZCBlYXJ0aCBpbnRvIGEgaG91c2UgYnVpbHQgdXBzaWRlIGRvd24gYmVuZWF0aCB0aGUgcm9vdHMuIENlaWxpbmcgbGFtcHMgcmlzZSBmcm9tIHRoZSBmbG9vci4gRG9vcnMgaGFuZyBhYm92ZSBsaWtlIHRyYXBkb29ycy4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QXQgdGhlIGNlbnRlciBzdGFuZHMgYSBkaW5pbmcgdGFibGUgc2V0IGZvciBmaXZlLiBGb3VyIGNoYWlycyBmYWNlIGlud2FyZC4gVGhlIGZpZnRoIGZhY2VzIGEgd2FsbCBvZiBsaXZpbmcgcm9vdHMuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cm9vdC1ob3VzZS1jb3VudCZxdW90OyZndDtUaGUgaG91c2Ugd2lsbCBhbGxvdyAmbHQ7c3Ryb25nJmd0OyZsdDsmbHQ7PSBNYXRoLm1heCgwLDItKCRyb290SG91c2VNb3Zlc3x8MCkpJmd0OyZndDsmbHQ7L3N0cm9uZyZndDsgcm9vbXMgdG8gYmUgc2VhcmNoZWQuJmx0Oy9kaXYmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1NlYXJjaCB0aGUgdXBzaWRlLWRvd24gcGFybG9yLSZndDtSb290SG91c2VQYXJsb3JdXSBbW0V4YW1pbmUgdGhlIGZpZnRoIHBsYWNlIHNldHRpbmctJmd0O1Jvb3RIb3VzZVRhYmxlXV0gW1tGb2xsb3cgdGhlIHJvb3RzIGludG8gdGhlIHNlYWxlZCBiZWRyb29tLSZndDtSb290SG91c2VCZWRyb29tXV0gW1tJbnNwZWN0IHRoZSBmb3VuZGF0aW9uIHN0b25lcy0mZ3Q7Um9vdEhvdXNlRm91bmRhdGlvbl1dIFtbQ2xpbWIgb3V0IGJlZm9yZSB0aGUgaG91c2Ugbm90aWNlcy0mZ3Q7Um9vdEhvdXNlRWFybHlFeGl0XV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYwNCIgbmFtZT0iUm9vdEhvdXNlUGFybG9yIiB0YWdzPSJoYXVudGluZyBkaXNwbGFjZW1lbnQgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI1ODAwLDM5MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZFJvb3RIb3VzZSgmcXVvdDtidXJpZWQtcGFybG9yJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7UG9ydHJhaXRzIGhhbmcgYXQgZmxvb3IgbGV2ZWwuIEVhY2ggc2hvd3MgdGhlIG9hayBncm93aW5nIHlvdW5nZXIgd2hpbGUgdGhlIGhvdXNlIGFyb3VuZCBpdCBncm93cyBvbGRlci4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7VGhlIGZpbmFsIHBvcnRyYWl0IHNob3dzIG5vIHRyZWUgYXQgYWxsLCBvbmx5IGEgZG9vcndheSBzdGFuZGluZyBpbiBhbiBvcGVuIGZpZWxkLiZsdDsvcCZndDsmbHQ7Jmx0O3NldCAkcm9vdEhvdXNlRmlyc3REb29yUG9ydHJhaXQ9dHJ1ZSZndDsmZ3Q7Jmx0OyZsdDtpZiAkcm9vdEhvdXNlTW92ZXMmZ3Q7PTImZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtSb290SG91c2VDbG9zaW5nJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTZWFyY2ggYW5vdGhlciByb29tLSZndDtSb290SG91c2VBcnJpdmFsXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MDUiIG5hbWU9IlJvb3RIb3VzZVRhYmxlIiB0YWdzPSJoYXVudGluZyBkaXNwbGFjZW1lbnQgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI1ODAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZFJvb3RIb3VzZSgmcXVvdDtmaWZ0aC1zZXR0aW5nJnF1b3Q7KSZndDsmZ3Q7Jmx0O3AmZ3Q7VGhlIGZpZnRoIHBsYXRlIGlzIGZpbGxlZCB3aXRoIGRhcmsgc29pbC4gQmVuZWF0aCBpdCBsaWVzIGEgY2hpbGQtc2l6ZWQgaG91c2Uga2V5IHdyYXBwZWQgaW4gZ3JlZW4gdGhyZWFkLiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgbmFtZSBjYXJkIGhhcyBiZWVuIHR1cm5lZCBmYWNlZG93biBhbmQgY2Fubm90IGJlIGxpZnRlZCBmcm9tIHRoZSB0YWJsZS4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJHJvb3RIb3VzZVNtYWxsS2V5PXRydWUmZ3Q7Jmd0OyZsdDsmbHQ7aWYgJHJvb3RIb3VzZU1vdmVzJmd0Oz0yJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7Um9vdEhvdXNlQ2xvc2luZyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbU2VhcmNoIGFub3RoZXIgcm9vbS0mZ3Q7Um9vdEhvdXNlQXJyaXZhbF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjA2IiBuYW1lPSJSb290SG91c2VCZWRyb29tIiB0YWdzPSJoYXVudGluZyBkaXNwbGFjZW1lbnQgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI1ODAwLDQxMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLnJlY29yZFJvb3RIb3VzZSgmcXVvdDtzZWFsZWQtYmVkcm9vbSZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSByb290cyBwYXJ0IGFyb3VuZCBhIHJvb20gc2VhbGVkIGZyb20gdGhlIGluc2lkZS4gU2NyYXRjaGVzIGNvdmVyIHRoZSB1cHBlciB3YWxscywgYWx0aG91Z2ggdGhlIGNlaWxpbmcgaXMgdG9vIGxvdyBmb3IgYW55b25lIHRvIHN0YW5kLiZsdDsvcCZndDsmbHQ7cCZndDtVbmRlciB0aGUgYmVkIGlzIGEgbGVkZ2VyIGxpc3RpbmcgZXZlcnkgdGltZSB0aGUgYnVyaWVkIGRvb3Igd2FzIG9wZW5lZC4gVGhlIGZpcnN0IGVudHJ5IHByZWRhdGVzIHRoZSB0b3duLiZsdDsvcCZndDsmbHQ7Jmx0O3NldCAkcm9vdEhvdXNlT3BlbmluZ0xlZGdlcj10cnVlJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5hZGRDYXNlRmlsZTIoJnF1b3Q7cm9vdC1ob3VzZS1sZWRnZXImcXVvdDssJnF1b3Q7QnVyaWVkIERvb3IgT3BlbmluZyBMZWRnZXImcXVvdDssJnF1b3Q7U2Nvb3QmcXVvdDssJnF1b3Q7VmVyaWZpZWQgYW5vbWFseSZxdW90OywmcXVvdDtUaGUgZmlyc3Qgb3BlbmluZyBwcmVkYXRlcyBCcmVja2VucmlkZ2UuJnF1b3Q7LCZxdW90O1dobyBtYWludGFpbmVkIHRoZSByZWNvcmQgYmVmb3JlIHRoZSB0b3duIGV4aXN0ZWQ/JnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtpZiAkcm9vdEhvdXNlTW92ZXMmZ3Q7PTImZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtSb290SG91c2VDbG9zaW5nJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tTZWFyY2ggYW5vdGhlciByb29tLSZndDtSb290SG91c2VBcnJpdmFsXV0mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MDciIG5hbWU9IlJvb3RIb3VzZUZvdW5kYXRpb24iIHRhZ3M9ImhhdW50aW5nIGRpc3BsYWNlbWVudCBiZy11cHN0YWlycyIgcG9zaXRpb249IjU5MDAsMzk1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAucmVjb3JkUm9vdEhvdXNlKCZxdW90O2ZvdW5kYXRpb24tbWFyayZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBmb3VuZGF0aW9uIHN0b25lcyBkbyBub3Qgc3VwcG9ydCB0aGUgaG91c2UuIFRoZXkgZm9ybSBhIHJpbmcgYXJvdW5kIHNvbWV0aGluZyBkZWVwZXIuJmx0Oy9wJmd0OyZsdDtwJmd0O09uZSBzdG9uZSBiZWFycyB0aGUgcmV2ZXJzZWQgdG93biBzZWFsIGFuZCBhIHdhcm5pbmc6ICZsdDtzdHJvbmcmZ3Q7VEhFIEhPVVNFIElTIFRIRSBMSUQuJmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9wJmd0OyZsdDsmbHQ7c2V0ICRyb290SG91c2VJc0xpZD10cnVlJmd0OyZndDsmbHQ7Jmx0O2lmICRyb290SG91c2VNb3ZlcyZndDs9MiZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O1Jvb3RIb3VzZUNsb3NpbmcmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1NlYXJjaCBhbm90aGVyIHJvb20tJmd0O1Jvb3RIb3VzZUFycml2YWxdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYwOCIgbmFtZT0iUm9vdEhvdXNlRWFybHlFeGl0IiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy11cHN0YWlycyIgcG9zaXRpb249IjU5MDAsNDA1MCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAuZmluaXNoUm9vdEhvdXNlKCZxdW90O2xlZnQgYmVmb3JlIHRoZSByb290cyBjbG9zZWQmcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgaW52ZXN0aWdhdG9yIGNsaW1icyB0b3dhcmQgZGF5bGlnaHQuIFRoZSBzdGFpcndheSBzZWFscyBiZWhpbmQgdGhlbSwgbGVhdmluZyBhIHNpbmdsZSByb290IGN1cmxlZCBhcm91bmQgdGhlIGZhbWlseSBub3RlYm9vay4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJHJvb3RIb3VzZVJvb3RCb29rbWFyaz10cnVlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gdG8gdGhlIG9hayZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtnb3RvICRyb290SG91c2VPcmlnaW4mZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjA5IiBuYW1lPSJSb290SG91c2VDbG9zaW5nIiB0YWdzPSJoYXVudGluZyBkaXNwbGFjZW1lbnQgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI2MDAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDtoMSZndDtUaGUgSG91c2UgVHVybnMgT3ZlciZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7VGhlIGJ1cmllZCByb29tcyByb3RhdGUgYXJvdW5kIHRoZSBzdGFpcndlbGwuIEZ1cm5pdHVyZSBmYWxscyB1cHdhcmQuIFRoZSBmaWZ0aCBjaGFpciB0dXJucyB0b3dhcmQgdGhlIGludmVzdGlnYXRvci4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7RnJvbSBiZW5lYXRoIHRoZSBmb3VuZGF0aW9uIGNvbWVzIG9uZSBzbG93IGtub2NrLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7aWYgJHJvb3RIb3VzZUlzTGlkIGFuZCAkcm9vdEhvdXNlT3BlbmluZ0xlZGdlciZndDsmZ3Q7W1tUYWtlIHRoZSBsZWRnZXIgYW5kIGxlYXZlIHRoZSBsaWQgc2VhbGVkLSZndDtSb290SG91c2VUcnV0aEV4aXRdXSZsdDsmbHQ7L2lmJmd0OyZndDsgJmx0OyZsdDtpZiAkcm9vdEhvdXNlU21hbGxLZXkmZ3Q7Jmd0O1tbVXNlIHRoZSBjaGlsZC1zaXplZCBrZXkgb24gdGhlIGNlaWxpbmcgZG9vci0mZ3Q7Um9vdEhvdXNlS2V5RXhpdF1dJmx0OyZsdDsvaWYmZ3Q7Jmd0OyBbW0NsaW1iIHRocm91Z2ggdGhlIG1vdmluZyByb290cy0mZ3Q7Um9vdEhvdXNlRm9yY2VkRXhpdF1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MTAiIG5hbWU9IlJvb3RIb3VzZVRydXRoRXhpdCIgdGFncz0iaGF1bnRpbmcgY29uc2VxdWVuY2UgYmctdXBzdGFpcnMiIHBvc2l0aW9uPSI2MTAwLDM5MDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7cnVuIHNldHVwLmZpbmlzaFJvb3RIb3VzZSgmcXVvdDtlc2NhcGVkIHdpdGggdGhlIG9wZW5pbmcgbGVkZ2VyJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAubG93ZXJBdHRlbnRpb24oJnF1b3Q7cm9vdC1ob3VzZS1zZWFsZWQmcXVvdDssMSwmcXVvdDtUaGUgaW52ZXN0aWdhdG9ycyBsZWZ0IHRoZSBkZWVwZXIgYm91bmRhcnkgc2VhbGVkLiZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSBsZWRnZXIgY29tZXMgZnJlZS4gVGhlIGZvdW5kYXRpb24gc3RvbmVzIHNldHRsZSwgYW5kIHRoZSByb290cyBmb3JtIGEgc3RhaXJjYXNlIGJhY2sgdG8gZGF5bGlnaHQuJmx0Oy9wJmd0OyZsdDtwJmd0O1RoZSBmaW5hbCBibGFuayBsaW5lIGZpbGxzIGl0c2VsZiBpbjogJmx0O3N0cm9uZyZndDtPUEVORUQgRlJPTSBCRUxPVy4mbHQ7L3N0cm9uZyZndDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJHJvb3RIb3VzZUxlZGdlclJlY292ZXJlZD10cnVlJmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5hZGRDYXNlRmlsZTIoJnF1b3Q7cm9vdC1ob3VzZS1vcGVuZWQtYmVsb3cmcXVvdDssJnF1b3Q7T3BlbmVkIEZyb20gQmVsb3cmcXVvdDssJnF1b3Q7U2Nvb3QmcXVvdDssJnF1b3Q7UGh5c2ljYWwgZXZpZGVuY2UmcXVvdDssJnF1b3Q7VGhlIGJ1cmllZCBsZWRnZXIgd3JvdGUgdGhlIHBocmFzZSBhZnRlciByZW1vdmFsLiZxdW90OywmcXVvdDtXaGF0IGlzIGJlbmVhdGggdGhlIGhvdXNlLCBhbmQgaG93IGRpZCBpdCBvcGVuIHRoZSBib3VuZGFyeT8mcXVvdDspJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gd2l0aCB0aGUgbGVkZ2VyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2dvdG8gJHJvb3RIb3VzZU9yaWdpbiZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MTEiIG5hbWU9IlJvb3RIb3VzZUtleUV4aXQiIHRhZ3M9ImhhdW50aW5nIGNvbnNlcXVlbmNlIGJnLXVwc3RhaXJzIiBwb3NpdGlvbj0iNjEwMCw0MDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O3J1biBzZXR1cC5maW5pc2hSb290SG91c2UoJnF1b3Q7ZXNjYXBlZCB0aHJvdWdoIHRoZSBjZWlsaW5nIGRvb3ImcXVvdDspJmd0OyZndDsmbHQ7cCZndDtUaGUgc21hbGwga2V5IG9wZW5zIGEgZG9vciBpbiB0aGUgY2VpbGluZy4gQmV5b25kIGl0IGlzIHRoZSBzdXJmYWNlIGJlbmVhdGggdGhlIG9haywgc2VlbiBmcm9tIGJlbG93LiZsdDsvcCZndDsmbHQ7cCZndDtUaGUgaW52ZXN0aWdhdG9yIGNsaW1icyB0aHJvdWdoIHdpdGggdGhlIGtleSwgYnV0IHRoZSBmaWZ0aCBwbGFjZSBzZXR0aW5nIGlzIG5vdyBlbXB0eS4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJHJvb3RIb3VzZUtleVJlY292ZXJlZD10cnVlJmd0OyZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtSZXR1cm4gdG8gdGhlIG9hayZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtnb3RvICRyb290SG91c2VPcmlnaW4mZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjEyIiBuYW1lPSJSb290SG91c2VGb3JjZWRFeGl0IiB0YWdzPSJoYXVudGluZyBjb25zZXF1ZW5jZSBiZy11cHN0YWlycyIgcG9zaXRpb249IjYxMDAsNDEwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtydW4gc2V0dXAuZmluaXNoUm9vdEhvdXNlKCZxdW90O2VzY2FwZWQgYWZ0ZXIgdGhlIGRlZXBlciB0aGluZyBrbm9ja2VkJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucmFpc2VBdHRlbnRpb24oJnF1b3Q7cm9vdC1ob3VzZS1mb3JjZWQmcXVvdDssMiwmcXVvdDtTb21ldGhpbmcgYmVuZWF0aCB0aGUgaG91c2Ugbm90aWNlZCB0aGUgaW52ZXN0aWdhdG9yLiZxdW90OykmZ3Q7Jmd0OyZsdDtwJmd0O1RoZSByb290cyBwdWxsIHRoZSBpbnZlc3RpZ2F0b3IgdXB3YXJkIGFuZCB0aHJvdyB0aGVtIG9udG8gdGhlIGdyb3VuZC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7QmVsb3csIHRoZSBidXJpZWQgcG9yY2ggbGlnaHQgcmVtYWlucyB2aXNpYmxlIHRocm91Z2ggdGhlIHNvaWwuIEEgc2Vjb25kIGxpZ2h0IHN3aXRjaGVzIG9uIGRlZXBlciBzdGlsbC4mbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgJHJvb3RIb3VzZVNlY29uZExpZ2h0PXRydWUmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O0xlYXZlIHRoZSBvYWsgYm91bmRhcnkmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAkcm9vdEhvdXNlT3JpZ2luJmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYxMyIgbmFtZT0iQnVpbGQ1MjRSb290SG91c2VSZXBvcnQiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjYyMDAsNDAwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7aDEmZ3Q7QnVpbGQgNS4yNDogSG91c2UgQmVuZWF0aCB0aGUgT2FrJmx0Oy9oMSZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0N1cnJlbnQgcHJvZmlsZTombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9ICRoYXVudGluZ1Byb2ZpbGUubmFtZSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Q3VycmVudCBjaGFuY2U6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBNYXRoLnJvdW5kKHNldHVwLnJvb3RIb3VzZUNoYW5jZSgpKjEwMCkmZ3Q7Jmd0OyUmbHQ7L3AmZ3Q7Jmx0O3ByZSBjbGFzcz0mcXVvdDt2NDItcHJvZmlsZSZxdW90OyZndDsmbHQ7Jmx0Oz0gSlNPTi5zdHJpbmdpZnkoJHByb2ZpbGVTZWNyZXRMb2d8fFtdLG51bGwsMikmZ3Q7Jmd0OyZsdDsvcHJlJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tQcmV2aWV3IGJ1cmllZCBob3VzZS0mZ3Q7Um9vdEhvdXNlQXJyaXZhbF1dICZsdDsmbHQ7bGluayAmcXVvdDtSZXNldCBidXJpZWQgaG91c2UmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyb290SG91c2VDb21wbGV0ZWQ9ZmFsc2UmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyb290SG91c2VBY3RpdmU9ZmFsc2UmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRyb290SG91c2VPcmlnaW49JnF1b3Q7Um91dGVPYWtUcmVlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkcm9vdEhvdXNlTW92ZXM9MCZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHJvb3RIb3VzZUNsdWVzPVtdJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7QnVpbGQ1MjRSb290SG91c2VSZXBvcnQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyBbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjE0IiBuYW1lPSJIaWRkZW5QbGFjZXMiIHRhZ3M9InN5c3RlbSBpbnZlc3RpZ2F0aW9uIiBwb3NpdGlvbj0iNjMwMCw0MDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7aDEmZ3Q7SGlkZGVuIFBsYWNlcyZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7VGhlIHN1cGVybmF0dXJhbCBsb2NhdGlvbnMgZG8gbm90IGFwcGVhciB0byBiZSBzZXBhcmF0ZSBoYXVudGluZ3MuIEVhY2ggZXhwcmVzc2VzIGEgZGlmZmVyZW50IHBhcnQgb2YgdGhlIHNhbWUgbWVjaGFuaXNtLiZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1BsYWNlcyBkaXNjb3ZlcmVkOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gc2V0dXAuaGlkZGVuUGxhY2VzRm91bmQoKSZndDsmZ3Q7IG9mIDQmbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtDb252ZXJnZW5jZSBzdGF0ZTombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLmNvbnZlcmdlbmNlTGV2ZWwoKSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7Q29udmVyZ2VuY2Ugc2NvcmU6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBzZXR1cC5jb252ZXJnZW5jZVNjb3JlKCkmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2hpZGRlbi1wbGFjZS1ncmlkJnF1b3Q7Jmd0OyZsdDsmbHQ7Zm9yIF9wbGFjZSByYW5nZSBzZXR1cC5oaWRkZW5QbGFjZVJlY29yZHMoKSZndDsmZ3Q7Jmx0O2FydGljbGUgY2xhc3M9JnF1b3Q7aGlkZGVuLXBsYWNlLWNhcmQgJmx0OyZsdDtpZiBfcGxhY2UuZm91bmQmZ3Q7Jmd0O2ZvdW5kJmx0OyZsdDtlbHNlJmd0OyZndDt1bmtub3duJmx0OyZsdDsvaWYmZ3Q7Jmd0OyZxdW90OyZndDsmbHQ7aDImZ3Q7Jmx0OyZsdDs9IF9wbGFjZS5mb3VuZCA/IF9wbGFjZS5uYW1lIDogJnF1b3Q7VW5kaXNjb3ZlcmVkIFBsYWNlJnF1b3Q7Jmd0OyZndDsmbHQ7L2gyJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7UGF0dGVybjombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IF9wbGFjZS5mb3VuZCA/IF9wbGFjZS5zaWduIDogJnF1b3Q7VW5rbm93biZxdW90OyZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDtwJmd0OyZsdDsmbHQ7PSBfcGxhY2UuZm91bmQgPyBfcGxhY2Uuc3RhdGVtZW50IDogJnF1b3Q7Tm8gcmVsaWFibGUgcmVjb3JkIGhhcyBiZWVuIHJlY292ZXJlZC4mcXVvdDsmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1N0cm9uZyBvdXRjb21lOiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gX3BsYWNlLnN0cm9uZyA/ICZxdW90O1JlY292ZXJlZCZxdW90OyA6ICZxdW90O05vdCByZWNvdmVyZWQmcXVvdDsmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0OyZsdDsvZm9yJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV2aWV3IGNvbnZlcmdlbmNlIGZpbmRpbmdzLSZndDtIYXVudGluZ0NvbnZlcmdlbmNlXV0gW1tSZXR1cm4gdG8gQ2FzZSBGaWxlIDIuMC0mZ3Q7Q2FzZUZpbGUyXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYxNSIgbmFtZT0iSGF1bnRpbmdDb252ZXJnZW5jZSIgdGFncz0ic3lzdGVtIGludmVzdGlnYXRpb24iIHBvc2l0aW9uPSI2NDAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDtoMSZndDtIYXVudGluZyBDb252ZXJnZW5jZSZsdDsvaDEmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtBc3Nlc3NtZW50OiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0Oz0gc2V0dXAuY29udmVyZ2VuY2VMZXZlbCgpJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0OyZsdDtzZXQgX2ZpbmRpbmdzPXNldHVwLmNvbnZlcmdlbmNlRmluZGluZ3MoKSZndDsmZ3Q7Jmx0OyZsdDtpZiBfZmluZGluZ3MubGVuZ3RoIGlzIDAmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7YWZ0ZXJlZmZlY3QtY2xlYXImcXVvdDsmZ3Q7VGhlIHJlY292ZXJlZCBldmlkZW5jZSBpcyBub3QgeWV0IHN1ZmZpY2llbnQgdG8gY29ubmVjdCB0aGUgaGlkZGVuIHBsYWNlcy4mbHQ7L2RpdiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29udmVyZ2VuY2UtZmluZGluZ3MmcXVvdDsmZ3Q7Jmx0OyZsdDtmb3IgX2ZpbmRpbmcgcmFuZ2UgX2ZpbmRpbmdzJmd0OyZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7cCZndDsmbHQ7Jmx0Oz0gX2ZpbmRpbmcmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0OyZsdDsvZm9yJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0OyZsdDtpZiBzZXR1cC5oaWRkZW5QbGFjZXNGb3VuZCgpIGlzIDQmZ3Q7Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29udmVyZ2VuY2UtcmV2ZWFsJnF1b3Q7Jmd0OyZsdDtzdHJvbmcmZ3Q7V29ya2luZyB0aGVvcnk6Jmx0Oy9zdHJvbmcmZ3Q7IFRoZSBmb3VyIHBsYWNlcyBtYXkgYmUgcmVmbGVjdGlvbnMgb2Ygb25lIG9yaWdpbmFsIGRvb3J3YXkuIFRoZSB3aXRjaCBkb2VzIG5vdCBjcmVhdGUgdGhlbS4gU2hlIHVzZXMgdGhlIGZvcm1zIEJyZWNrZW5yaWRnZSBhbHJlYWR5IGdhdmUgdGhlbS4mbHQ7L2RpdiZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldHVybiB0byBIaWRkZW4gUGxhY2VzLSZndDtIaWRkZW5QbGFjZXNdXSBbW1JldHVybiB0byBDYXNlIEZpbGUgMi4wLSZndDtDYXNlRmlsZTJdXSZsdDsvZGl2Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjE2IiBuYW1lPSJCdWlsZDUyNUNvbnZlcmdlbmNlUmVwb3J0IiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSI2NTAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O0J1aWxkIDUuMjUgSGF1bnRpbmcgQ29udmVyZ2VuY2UmbHQ7L2gxJmd0OyZsdDtwcmUgY2xhc3M9JnF1b3Q7djQyLXByb2ZpbGUmcXVvdDsmZ3Q7Jmx0OyZsdDs9IEpTT04uc3RyaW5naWZ5KHtwbGFjZXM6c2V0dXAuaGlkZGVuUGxhY2VSZWNvcmRzKCksZm91bmQ6c2V0dXAuaGlkZGVuUGxhY2VzRm91bmQoKSxzdHJvbmc6c2V0dXAuc3Ryb25nSGlkZGVuT3V0Y29tZXMoKSxzY29yZTpzZXR1cC5jb252ZXJnZW5jZVNjb3JlKCksbGV2ZWw6c2V0dXAuY29udmVyZ2VuY2VMZXZlbCgpLGZpbmRpbmdzOnNldHVwLmNvbnZlcmdlbmNlRmluZGluZ3MoKX0sbnVsbCwyKSZndDsmZ3Q7Jmx0Oy9wcmUmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1BsYXllciBIaWRkZW4gUGxhY2VzIHBhZ2UtJmd0O0hpZGRlblBsYWNlc11dIFtbUGxheWVyIGNvbnZlcmdlbmNlIGZpbmRpbmdzLSZndDtIYXVudGluZ0NvbnZlcmdlbmNlXV0gW1tTdGFmZiBDb25zb2xlLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYxNyIgbmFtZT0iU3VwZXJuYXR1cmFsRW5kaW5nRm9yZWNhc3QiIHRhZ3M9InN5c3RlbSBpbnZlc3RpZ2F0aW9uIiBwb3NpdGlvbj0iNjYwMCw0MDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7aDEmZ3Q7U3VwZXJuYXR1cmFsIE91dGNvbWUgRm9yZWNhc3QmbHQ7L2gxJmd0OyZsdDsmbHQ7c2V0IF9tPXNldHVwLnN1cGVybmF0dXJhbEVuZGluZ01vZGlmaWVycygpJmd0OyZndDsmbHQ7cCZndDtUaGlzIGZvcmVjYXN0IHNob3dzIGhvdyBoaWRkZW4tcGxhY2UgZXZpZGVuY2UsIGNvbnRhaW5tZW50LCBhbmQgdW5yZXNvbHZlZCBjb25zZXF1ZW5jZXMgY3VycmVudGx5IGluZmx1ZW5jZSB0aGUgZW5kaW5nLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2VuZGluZy1tb2RpZmllci1ncmlkJnF1b3Q7Jmd0OyZsdDthcnRpY2xlJmd0OyZsdDtoMiZndDtUcnV0aCZsdDsvaDImZ3Q7Jmx0O3N0cm9uZyZndDsrJmx0OyZsdDs9X20udHJ1dGgmZ3Q7Jmd0OyZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O1N0cm9uZyBoaWRkZW4gb3V0Y29tZXMgYW5kIHJlY292ZXJlZCBzdXBlcm5hdHVyYWwgZXZpZGVuY2UuJmx0Oy9wJmd0OyZsdDsvYXJ0aWNsZSZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7aDImZ3Q7UmVzY3VlJmx0Oy9oMiZndDsmbHQ7c3Ryb25nJmd0OysmbHQ7Jmx0Oz1fbS5yZXNjdWUmZ3Q7Jmd0OyZsdDsvc3Ryb25nJmd0OyZsdDtwJmd0O0NvbnRhaW5tZW50IGFuZCBjaG9pY2VzIHRoYXQgcHJldmVudGVkIHRoZSBoYXVudGluZyBmcm9tIHRha2luZyBvciBjb3B5aW5nIHNvbWVvbmUuJmx0Oy9wJmd0OyZsdDsvYXJ0aWNsZSZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7aDImZ3Q7Q29zdCZsdDsvaDImZ3Q7Jmx0O3N0cm9uZyZndDsmbHQ7Jmx0Oz1fbS5jb3N0Jmd0OyZndDsmbHQ7L3N0cm9uZyZndDsmbHQ7cCZndDtVbnJlc29sdmVkIGFmdGVyZWZmZWN0cyBhbmQgZGFuZ2Vyb3VzIHNlY3JldC1sb2NhdGlvbiBvdXRjb21lcy4mbHQ7L3AmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OyZsdDsvZGl2Jmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7UHJvamVjdGVkIHN1cGVybmF0dXJhbCBlbmRpbmc6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBzZXR1cC5zdXBlcm5hdHVyYWxFbmRpbmdCYW5kKCkmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cCZndDsmbHQ7Jmx0Oz0gc2V0dXAuc3VwZXJuYXR1cmFsRXBpbG9ndWUoKSZndDsmZ3Q7Jmx0Oy9wJmd0OyZsdDsmbHQ7aWYgX20ucmlza0ZsYWdzLmxlbmd0aCZndDsmZ3Q7Jmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtBY3RpdmUgcmlza3M6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7PSBfbS5yaXNrRmxhZ3Muam9pbigmcXVvdDssICZxdW90OykmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1JldmlldyBIaWRkZW4gUGxhY2VzLSZndDtIaWRkZW5QbGFjZXNdXSBbW1JldmlldyBIYXVudGluZyBBZnRlcmVmZmVjdHMtJmd0O0hhdW50aW5nQWZ0ZXJlZmZlY3RzXV0gW1tSZXR1cm4gdG8gQ2FzZSBGaWxlIDIuMC0mZ3Q7Q2FzZUZpbGUyXV0mbHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYxOCIgbmFtZT0iQnVpbGQ1MjZFbmRpbmdJbnRlZ3JhdGlvblJlcG9ydCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iNjcwMCw0MDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtCdWlsZCA1LjI2IEVuZGluZyBJbnRlZ3JhdGlvbiZsdDsvaDEmZ3Q7Jmx0O3ByZSBjbGFzcz0mcXVvdDt2NDItcHJvZmlsZSZxdW90OyZndDsmbHQ7Jmx0Oz0gSlNPTi5zdHJpbmdpZnkoe21vZGlmaWVyczpzZXR1cC5zdXBlcm5hdHVyYWxFbmRpbmdNb2RpZmllcnMoKSxiYW5kOnNldHVwLnN1cGVybmF0dXJhbEVuZGluZ0JhbmQoKSxlcGlsb2d1ZTpzZXR1cC5zdXBlcm5hdHVyYWxFcGlsb2d1ZSgpfSxudWxsLDIpJmd0OyZndDsmbHQ7L3ByZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUGxheWVyIGVuZGluZyBmb3JlY2FzdC0mZ3Q7U3VwZXJuYXR1cmFsRW5kaW5nRm9yZWNhc3RdXSBbW0VuZGluZyBNYXRyaXgtJmd0O0VuZGluZ01hdHJpeFJlc3VsdHNdXSBbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjE5IiBuYW1lPSJIYXVudGluZ0ludGVuc2l0eVNldHRpbmdzIiB0YWdzPSJzeXN0ZW0gc2V0dGluZ3MiIHBvc2l0aW9uPSI2ODAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDtoMSZndDtIYXVudGluZyBGcmVxdWVuY3kmbHQ7L2gxJmd0OyZsdDtwJmd0O0Nob29zZSBob3cgb2Z0ZW4gb3B0aW9uYWwgc3VwZXJuYXR1cmFsIGludGVycnVwdGlvbnMgbWF5IGFwcGVhci4gVGhpcyBkb2VzIG5vdCByZW1vdmUgcmVxdWlyZWQgc3RvcnkgZXZlbnRzLiZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2ludGVuc2l0eS1vcHRpb25zJnF1b3Q7Jmd0OyZsdDthcnRpY2xlJmd0OyZsdDtoMiZndDtMb3cmbHQ7L2gyJmd0OyZsdDtwJmd0O0Zld2VyIGludGVycnVwdGlvbnMgYW5kIGxvbmdlciBxdWlldCBwZXJpb2RzLiZsdDsvcCZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7VXNlIExvdyBmcmVxdWVuY3kmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7c2V0ICRoYXVudGluZ0ludGVuc2l0eT0mcXVvdDtsb3cmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtIYXVudGluZ0ludGVuc2l0eVNldHRpbmdzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0O2FydGljbGUmZ3Q7Jmx0O2gyJmd0O1N0YW5kYXJkJmx0Oy9oMiZndDsmbHQ7cCZndDtSZWNvbW1lbmRlZCBiYWxhbmNlIGZvciBhIGZpcnN0IHBsYXl0aHJvdWdoLiZsdDsvcCZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7VXNlIFN0YW5kYXJkIGZyZXF1ZW5jeSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJGhhdW50aW5nSW50ZW5zaXR5PSZxdW90O3N0YW5kYXJkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7SGF1bnRpbmdJbnRlbnNpdHlTZXR0aW5ncyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OyZsdDthcnRpY2xlJmd0OyZsdDtoMiZndDtIaWdoJmx0Oy9oMiZndDsmbHQ7cCZndDtNb3JlIG9wdGlvbmFsIGRpc3R1cmJhbmNlcyBmb3IgcmVwbGF5IGFuZCB0ZXN0aW5nLiZsdDsvcCZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7VXNlIEhpZ2ggZnJlcXVlbmN5JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkaGF1bnRpbmdJbnRlbnNpdHk9JnF1b3Q7aGlnaCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0hhdW50aW5nSW50ZW5zaXR5U2V0dGluZ3MmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyZsdDsvYXJ0aWNsZSZndDsmbHQ7L2RpdiZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O0N1cnJlbnQgc2V0dGluZzombHQ7L3N0cm9uZyZndDsgJmx0OyZsdDs9IHNldHVwLmhhdW50aW5nSW50ZW5zaXR5U2V0dGluZ3Nbc2V0dXAuZW5zdXJlSGF1bnRpbmdJbnRlbnNpdHkoKV0ubGFiZWwmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbUmV0dXJuIHRvIENhc2UgRmlsZSAyLjAtJmd0O0Nhc2VGaWxlMl1dJmx0Oy9kaXYmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MjAiIG5hbWU9IkJ1aWxkNTI3QmFsYW5jZVJlcG9ydCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iNjkwMCw0MDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtCdWlsZCA1LjI3IFBhY2luZyBCYWxhbmNlJmx0Oy9oMSZndDsmbHQ7cHJlIGNsYXNzPSZxdW90O3Y0Mi1wcm9maWxlJnF1b3Q7Jmd0OyZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeShzZXR1cC5oYXVudGluZ1BhY2luZ1N1bW1hcnkoKSxudWxsLDIpJmd0OyZndDsmbHQ7L3ByZSZndDsmbHQ7aDImZ3Q7UXVpY2sgdGVzdCBzZXR0aW5ncyZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2V0IFVubm90aWNlZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtzZXQgJHdpdGNoQXR0ZW50aW9uPTAmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtCdWlsZDUyN0JhbGFuY2VSZXBvcnQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7U2V0IEZvbGxvd2VkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkd2l0Y2hBdHRlbnRpb249MyZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0J1aWxkNTI3QmFsYW5jZVJlcG9ydCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtTZXQgTWFya2VkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkd2l0Y2hBdHRlbnRpb249NiZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0J1aWxkNTI3QmFsYW5jZVJlcG9ydCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtTZXQgSHVudGVkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkd2l0Y2hBdHRlbnRpb249OSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0J1aWxkNTI3QmFsYW5jZVJlcG9ydCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7IFtbUGxheWVyIGZyZXF1ZW5jeSBzZXR0aW5ncy0mZ3Q7SGF1bnRpbmdJbnRlbnNpdHlTZXR0aW5nc11dIFtbU3RhZmYgQ29uc29sZS0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7cCZndDtNYWpvciBvcHRpb25hbCBlbmNvdW50ZXJzIGFyZSBzdXBwcmVzc2VkIGJlZm9yZSBDaGFwdGVyIDMgYW5kIHdoZW5ldmVyIGFub3RoZXIgZGlzcGxhY2VtZW50IG9yIGludGVyYWN0aXZlIG1hbmlmZXN0YXRpb24gaXMgYWN0aXZlLiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MjEiIG5hbWU9IkJ1aWxkNTI4UmVncmVzc2lvblJlcG9ydCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iNzAwMCw0MDAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDsmbHQ7c2V0IF9yZWc9c2V0dXAucnVuUmVncmVzc2lvblNlbGZUZXN0KCkmZ3Q7Jmd0OyZsdDtoMSZndDtCdWlsZCA1LjI4IFJlZ3Jlc3Npb24gUmVwb3J0Jmx0Oy9oMSZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1J1bnRpbWUgc2VsZi10ZXN0OiZsdDsvc3Ryb25nJmd0OyAmbHQ7Jmx0O2lmIF9yZWcucGFzcyZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtcGFzcyZxdW90OyZndDtQQVNTJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7djQtb3BlbiZxdW90OyZndDtSRVZJRVcmbHQ7L3NwYW4mZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsvcCZndDsmbHQ7cHJlIGNsYXNzPSZxdW90O3Y0Mi1wcm9maWxlJnF1b3Q7Jmd0OyZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeShfcmVnLG51bGwsMikmZ3Q7Jmd0OyZsdDsvcHJlJmd0OyZsdDtoMiZndDtGb2N1c2VkIHNtb2tlIHRlc3RzJmx0Oy9oMiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbU3RhcnQgc2NyZWVuLSZndDtTdGFydF1dIFtbQ2FzZSBGaWxlIDIuMC0mZ3Q7Q2FzZUZpbGUyXV0gW1tIaWRkZW4gUGxhY2VzLSZndDtIaWRkZW5QbGFjZXNdXSBbW0VuZGluZyBmb3JlY2FzdC0mZ3Q7U3VwZXJuYXR1cmFsRW5kaW5nRm9yZWNhc3RdXSBbW0hhdW50aW5nIGZyZXF1ZW5jeS0mZ3Q7SGF1bnRpbmdJbnRlbnNpdHlTZXR0aW5nc11dIFtbTG9zdCBNaW51dGUtJmd0O0xvc3RNaW51dGVBcnJpdmFsXV0gW1tSb29tIEJlaGluZCB0aGUgVm9pY2UtJmd0O1ZvaWNlUm9vbUFycml2YWxdXSBbW01pc3NpbmcgQXJjaGl2ZS0mZ3Q7TWlzc2luZ0FyY2hpdmVBcnJpdmFsXV0gW1tIb3VzZSBCZW5lYXRoIHRoZSBPYWstJmd0O1Jvb3RIb3VzZUFycml2YWxdXSBbW0VuZGluZyBNYXRyaXgtJmd0O0VuZGluZ01hdHJpeFJlc3VsdHNdXSBbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0O3AmZ3Q7TG93IGhhdW50aW5nIGZyZXF1ZW5jeSBub3cgYWRkcyBvbmUgZXh0cmEgZWxpZ2libGUtcGFzc2FnZSBjb29sZG93biBhZnRlciBhdG1vc3BoZXJpYywgaW50ZXJhY3RpdmUsIGFuZCBkaXNwbGFjZW1lbnQgZXZlbnRzLiZsdDsvcCZndDsmbHQ7Jmx0Oy9pZiZndDsmZ3Q7PC90dy1wYXNzYWdlZGF0YT48dHctcGFzc2FnZWRhdGEgcGlkPSI2MjIiIG5hbWU9Ikd1aWRlZFRlc3RpbmdEYXNoYm9hcmQiIHRhZ3M9InN5c3RlbSBkZWJ1ZyIgcG9zaXRpb249IjcxMDAsNDAwMCIgc2l6ZT0iMTAwLDEwMCI+Jmx0OyZsdDtpZiBub3Qgc2V0dXAuZGV2VW5sb2NrZWQmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtEZXZMYXVuY2hlciZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtlbHNlJmd0OyZndDsmbHQ7aDEmZ3Q7R3VpZGVkIFRlc3RpbmcgRGFzaGJvYXJkJmx0Oy9oMSZndDsmbHQ7cCZndDtDb25maWd1cmUgYSBjb250cm9sbGVkIHRlc3Qgc3RhdGUsIHRoZW4ganVtcCBkaXJlY3RseSB0byB0aGUgc3lzdGVtIG9yIGVuZGluZyB5b3UgbmVlZCB0byB2ZXJpZnkuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7dGVzdGluZy1ncmlkJnF1b3Q7Jmd0OyZsdDthcnRpY2xlJmd0OyZsdDtoMiZndDtIYXVudGluZyBwcm9maWxlJmx0Oy9oMiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtXYXRjaGluZyBHbGFzcyZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuc2V0VGVzdGluZ1Byb2ZpbGUoJnF1b3Q7Z2xhc3MmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7R3VpZGVkVGVzdGluZ0Rhc2hib2FyZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtCb3Jyb3dlZCBWb2ljZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAuc2V0VGVzdGluZ1Byb2ZpbGUoJnF1b3Q7dm9pY2VzJnF1b3Q7KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0d1aWRlZFRlc3RpbmdEYXNoYm9hcmQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7R3JlZW4gVGhyZWFkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5zZXRUZXN0aW5nUHJvZmlsZSgmcXVvdDt0aHJlYWQmcXVvdDspJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7R3VpZGVkVGVzdGluZ0Rhc2hib2FyZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtSb290IEJlbG93JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5zZXRUZXN0aW5nUHJvZmlsZSgmcXVvdDtyb290cyZxdW90OykmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtHdWlkZWRUZXN0aW5nRGFzaGJvYXJkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0O2FydGljbGUmZ3Q7Jmx0O2gyJmd0O1dpdGNoIEF0dGVudGlvbiZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7VW5ub3RpY2VkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC50ZXN0aW5nU2V0QXR0ZW50aW9uKDApJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7R3VpZGVkVGVzdGluZ0Rhc2hib2FyZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtPYnNlcnZlZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudGVzdGluZ1NldEF0dGVudGlvbigxKSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0d1aWRlZFRlc3RpbmdEYXNoYm9hcmQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7Rm9sbG93ZWQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnRlc3RpbmdTZXRBdHRlbnRpb24oMykmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtHdWlkZWRUZXN0aW5nRGFzaGJvYXJkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgJmx0OyZsdDtsaW5rICZxdW90O01hcmtlZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAudGVzdGluZ1NldEF0dGVudGlvbig2KSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0d1aWRlZFRlc3RpbmdEYXNoYm9hcmQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7SHVudGVkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC50ZXN0aW5nU2V0QXR0ZW50aW9uKDkpJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7R3VpZGVkVGVzdGluZ0Rhc2hib2FyZCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OyZsdDthcnRpY2xlJmd0OyZsdDtoMiZndDtBYmlsaXRpZXMgYW5kIGV2aWRlbmNlJmx0Oy9oMiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0OyZsdDsmbHQ7bGluayAmcXVvdDtVbmxvY2sgYWxsIGludmVzdGlnYXRvciBhYmlsaXRpZXMmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnRlc3RpbmdVbmxvY2tBYmlsaXRpZXMoKSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0d1aWRlZFRlc3RpbmdEYXNoYm9hcmQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7VW5sb2NrIGFsbCBzdHJvbmcgaGlkZGVuLXBsYWNlIGV2aWRlbmNlJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC50ZXN0aW5nVW5sb2NrU3VwZXJuYXR1cmFsRXZpZGVuY2UoKSZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0d1aWRlZFRlc3RpbmdEYXNoYm9hcmQmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyAmbHQ7Jmx0O2xpbmsgJnF1b3Q7Q2xlYXIgc3VwZXJuYXR1cmFsIHRlc3Qgc3RhdGUmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7cnVuIHNldHVwLnRlc3RpbmdDbGVhclN1cGVybmF0dXJhbFN0YXRlKCkmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtHdWlkZWRUZXN0aW5nRGFzaGJvYXJkJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsmbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0Oy9kaXYmZ3Q7Jmx0O2gyJmd0O1N5c3RlbSBwcmV2aWV3cyZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW0xvc3QgTWludXRlLSZndDtMb3N0TWludXRlQXJyaXZhbF1dIFtbUm9vbSBCZWhpbmQgdGhlIFZvaWNlLSZndDtWb2ljZVJvb21BcnJpdmFsXV0gW1tNaXNzaW5nIEFyY2hpdmUtJmd0O01pc3NpbmdBcmNoaXZlQXJyaXZhbF1dIFtbSG91c2UgQmVuZWF0aCB0aGUgT2FrLSZndDtSb290SG91c2VBcnJpdmFsXV0gW1tIaWRkZW4gUGxhY2VzLSZndDtIaWRkZW5QbGFjZXNdXSBbW0FmdGVyZWZmZWN0cy0mZ3Q7SGF1bnRpbmdBZnRlcmVmZmVjdHNdXSBbW0NvbnRhaW5tZW50IFJlc3VsdHMtJmd0O0NvbnRhaW5tZW50UmVzdWx0c11dIFtbRW5kaW5nIEZvcmVjYXN0LSZndDtTdXBlcm5hdHVyYWxFbmRpbmdGb3JlY2FzdF1dIFtbUGhhc2UgU2l4IFJlc3VsdHMtJmd0O1BoYXNlU2l4UmVzdWx0c11dIFtbRW5kaW5nIE1hdHJpeC0mZ3Q7RW5kaW5nTWF0cml4UmVzdWx0c11dJmx0Oy9kaXYmZ3Q7Jmx0O2gyJmd0O0N1cnJlbnQgdGVzdCBzdGF0ZSZsdDsvaDImZ3Q7Jmx0O3ByZSBjbGFzcz0mcXVvdDt2NDItcHJvZmlsZSZxdW90OyZndDsmbHQ7Jmx0Oz0gSlNPTi5zdHJpbmdpZnkoc2V0dXAudGVzdGluZ1N1bW1hcnkoKSxudWxsLDIpJmd0OyZndDsmbHQ7L3ByZSZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbVGVzdGluZyByb3V0ZSBkaXJlY3RvcnktJmd0O0d1aWRlZFRlc3RpbmdSb3V0ZXNdXSBbW1JlZ3Jlc3Npb24gcmVwb3J0LSZndDtCdWlsZDUyOFJlZ3Jlc3Npb25SZXBvcnRdXSBbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjIzIiBuYW1lPSJHdWlkZWRUZXN0aW5nUm91dGVzIiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSI3MjAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0O2gxJmd0O1Rlc3RpbmcgUm91dGUgRGlyZWN0b3J5Jmx0Oy9oMSZndDsmbHQ7cCZndDtUaGVzZSBsaW5rcyB1c2UgZXhpc3RpbmcgcGFzc2FnZXMgb25seS4gVGhleSBkbyBub3QgY3JlYXRlIGR1cGxpY2F0ZSBjaGFwdGVyIGNvbnRlbnQuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7dGVzdGluZy1yb3V0ZS1saXN0JnF1b3Q7Jmd0OyZsdDthcnRpY2xlJmd0OyZsdDtoMiZndDtDb3JlIGVudHJ5IHBvaW50cyZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1N0YXJ0LSZndDtTdGFydF1dIFtbSG93IHRvIFBsYXktJmd0O0hvdyB0byBQbGF5IE9wZW5pbmddXSBbW0Nhc2UgRmlsZSAyLjAtJmd0O0Nhc2VGaWxlMl1dIFtbRGV2ZWxvcGVyIERhc2hib2FyZC0mZ3Q7RGV2RGFzaGJvYXJkXV0mbHQ7L2RpdiZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0O2FydGljbGUmZ3Q7Jmx0O2gyJmd0O0ludmVzdGlnYXRpb24gaHVicyZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1NjaG9vbCBIYWxsd2F5LSZndDtIYWxsd2F5IEludmVzdGlnYXRpb25dXSBbW1Vwc3RhaXJzIExhbmRpbmctJmd0O1Vwc3RhaXJzTGFuZGluZ0h1Yl1dIFtbTGlicmFyeSBMZWFkLSZndDtFcGlzb2RlVGhyZWVMaWJyYXJ5TGVhZF1dIFtbT2FrIFJvdXRlLSZndDtSb3V0ZU9ha1RyZWVdXSZsdDsvZGl2Jmd0OyZsdDsvYXJ0aWNsZSZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7aDImZ3Q7U3VwZXJuYXR1cmFsIHJlcG9ydHMmbHQ7L2gyJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7W1tBdG1vc3BoZXJpYyBEaXJlY3Rvci0mZ3Q7QnVpbGQ1MTRIYXVudGluZ1JlcG9ydF1dIFtbSW50ZXJhY3RpdmUgTWFuaWZlc3RhdGlvbnMtJmd0O0J1aWxkNTE1SW50ZXJhY3RpdmVSZXBvcnRdXSBbW0xvc3QgTWludXRlIFJlcG9ydC0mZ3Q7QnVpbGQ1MTZMb3N0TWludXRlUmVwb3J0XV0gW1tIYXVudGluZyBQcm9maWxlLSZndDtCdWlsZDUxN0hhdW50aW5nUHJvZmlsZVJlcG9ydF1dIFtbUHJvZmlsZS1Ecml2ZW4gSGF1bnRpbmctJmd0O0J1aWxkNTE4UHJvZmlsZURyaXZlblJlcG9ydF1dIFtbQWZ0ZXJlZmZlY3RzLSZndDtCdWlsZDUxOUFmdGVyZWZmZWN0c1JlcG9ydF1dIFtbQWZ0ZXJlZmZlY3QgRWNob2VzLSZndDtCdWlsZDUyMEFmdGVyZWZmZWN0RWNob1JlcG9ydF1dIFtbQ29udGFpbm1lbnQtJmd0O0J1aWxkNTIxQ29udGFpbm1lbnRSZXBvcnRdXSBbW1ZvaWNlIFJvb20tJmd0O0J1aWxkNTIyVm9pY2VSb29tUmVwb3J0XV0gW1tNaXNzaW5nIEFyY2hpdmUtJmd0O0J1aWxkNTIzTWlzc2luZ0FyY2hpdmVSZXBvcnRdXSBbW1Jvb3QgSG91c2UtJmd0O0J1aWxkNTI0Um9vdEhvdXNlUmVwb3J0XV0gW1tDb252ZXJnZW5jZS0mZ3Q7QnVpbGQ1MjVDb252ZXJnZW5jZVJlcG9ydF1dIFtbRW5kaW5nIEludGVncmF0aW9uLSZndDtCdWlsZDUyNkVuZGluZ0ludGVncmF0aW9uUmVwb3J0XV0gW1tQYWNpbmcgQmFsYW5jZS0mZ3Q7QnVpbGQ1MjdCYWxhbmNlUmVwb3J0XV0gW1tSZWdyZXNzaW9uLSZndDtCdWlsZDUyOFJlZ3Jlc3Npb25SZXBvcnRdXSZsdDsvZGl2Jmd0OyZsdDsvYXJ0aWNsZSZndDsmbHQ7L2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O2Nob2ljZS1saXN0JnF1b3Q7Jmd0O1tbQmFjayB0byBHdWlkZWQgVGVzdGluZyBEYXNoYm9hcmQtJmd0O0d1aWRlZFRlc3RpbmdEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDsmbHQ7L2lmJmd0OyZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYyNCIgbmFtZT0iQnVpbGQ1MzBSZWxlYXNlQ2FuZGlkYXRlUmVwb3J0IiB0YWdzPSJzeXN0ZW0gZGVidWciIHBvc2l0aW9uPSI3MzAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDsmbHQ7aWYgbm90IHNldHVwLmRldlVubG9ja2VkJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7RGV2TGF1bmNoZXImcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7ZWxzZSZndDsmZ3Q7Jmx0OyZsdDtzZXQgX3JlYWR5PXNldHVwLnJlbGVhc2VSZWFkaW5lc3MoKSZndDsmZ3Q7Jmx0O2gxJmd0O0J1aWxkIDUuMzAgRXBpc29kZSBPbmUgRmluYWwmbHQ7L2gxJmd0OyZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7UmVsZWFzZSByZWFkaW5lc3M6Jmx0Oy9zdHJvbmcmZ3Q7ICZsdDsmbHQ7aWYgX3JlYWR5LnJlYWR5Jmd0OyZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt2NC1wYXNzJnF1b3Q7Jmd0O1JFQURZIEZPUiBQTEFZVEVTVCZsdDsvc3BhbiZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3Y0LW9wZW4mcXVvdDsmZ3Q7UkVWSUVXIFJFUVVJUkVEJmx0Oy9zcGFuJmd0OyZsdDsmbHQ7L2lmJmd0OyZndDsmbHQ7L3AmZ3Q7Jmx0O3ByZSBjbGFzcz0mcXVvdDt2NDItcHJvZmlsZSZxdW90OyZndDsmbHQ7Jmx0Oz0gSlNPTi5zdHJpbmdpZnkoX3JlYWR5LG51bGwsMikmZ3Q7Jmd0OyZsdDsvcHJlJmd0OyZsdDtoMiZndDtGaW5hbCB2YWxpZGF0aW9uIHJvdXRlcyZsdDsvaDImZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDtbW1N0YXJ0IHNjcmVlbi0mZ3Q7U3RhcnRdXSBbW1ByaXZhY3kgYW5kIFVzZSBOb3RpY2UtJmd0O1ByaXZhY3kgYW5kIFVzZSBOb3RpY2VdXSBbW0Nhc2UgRmlsZSAyLjAtJmd0O0Nhc2VGaWxlMl1dIFtbR3VpZGVkIFRlc3RpbmcgRGFzaGJvYXJkLSZndDtHdWlkZWRUZXN0aW5nRGFzaGJvYXJkXV0gW1tSZWdyZXNzaW9uIFJlcG9ydC0mZ3Q7QnVpbGQ1MjhSZWdyZXNzaW9uUmVwb3J0XV0gW1tFbmRpbmcgTWF0cml4LSZndDtFbmRpbmdNYXRyaXhSZXN1bHRzXV0gW1tTdGFmZiBDb25zb2xlLSZndDtEZXZEYXNoYm9hcmRdXSZsdDsvZGl2Jmd0OyZsdDtwJmd0O0ZpbmFsIHJlbGVhc2UgcHJlc2VydmVzIHRoZSBhdWRpdGVkIFJDMiByZXBhaXIgc2V0IGFuZCBhZGRzIG5vIG5ldyBzdG9yeSBicmFuY2guIEl0IGZyZWV6ZXMgdGhlIEVwaXNvZGUgT25lIGZlYXR1cmUgc2V0IGZvciBmaW5hbCBodW1hbiBwbGF5dGVzdGluZy4mbHQ7L3AmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PHR3LXBhc3NhZ2VkYXRhIHBpZD0iNjI1IiBuYW1lPSJQbGF5ZXJNYW51YWwiIHRhZ3M9InN5c3RlbSBtYW51YWwiIHBvc2l0aW9uPSI3NDAwLDQwMDAiIHNpemU9IjEwMCwxMDAiPiZsdDtkaXYgaWQ9JnF1b3Q7bWFudWFsLXRvcCZxdW90OyBjbGFzcz0mcXVvdDtwbGF5ZXItbWFudWFsJnF1b3Q7Jmd0OwombHQ7aGVhZGVyIGNsYXNzPSZxdW90O21hbnVhbC1oZXJvJnF1b3Q7Jmd0OwombHQ7aDEmZ3Q7UGxheWVyIE1hbnVhbCZsdDsvaDEmZ3Q7CiZsdDtwIGNsYXNzPSZxdW90O21hbnVhbC1sZWFkJnF1b3Q7Jmd0O1dlbGNvbWUgdG8gJmx0O2VtJmd0O1RhbGVzIEZyb20gQnJlY2tlbnJpZGdlJmx0Oy9lbSZndDsuIFRoaXMgaXMgYSBzdG9yeSBteXN0ZXJ5LCBzbyB5b3Ugd2lsbCByZWFkLCBleHBsb3JlLCBjb21wYXJlIGNsdWVzLCBtYWtlIGRlY2lzaW9ucywgYW5kIHNvbWV0aW1lcyBmYWNlIHRoaW5ncyB0aGF0IGRvIG5vdCBmb2xsb3cgb3JkaW5hcnkgcnVsZXMuJmx0Oy9wJmd0OwombHQ7cCZndDtZb3UgZG8gbm90IG5lZWQgdG8gbWVtb3JpemUgZXZlcnl0aGluZyBpbiB0aGlzIGd1aWRlLiBVc2UgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIHRvIGp1bXAgdG8gdGhlIHNlY3Rpb24geW91IG5lZWQsIHRoZW4gcmV0dXJuIHRvIHRoZSBzdG9yeSB3aGVuZXZlciB5b3UgYXJlIHJlYWR5LiZsdDsvcCZndDsKJmx0Oy9oZWFkZXImZ3Q7CgombHQ7bmF2IGNsYXNzPSZxdW90O21hbnVhbC10b2MmcXVvdDsgYXJpYS1sYWJlbGxlZGJ5PSZxdW90O21hbnVhbC10b2MtaGVhZGluZyZxdW90OyZndDsKJmx0O2gyIGlkPSZxdW90O21hbnVhbC10b2MtaGVhZGluZyZxdW90OyZndDtUYWJsZSBvZiBDb250ZW50cyZsdDsvaDImZ3Q7CiZsdDtvbCZndDsKJmx0O2xpJmd0OyZsdDthIGhyZWY9JnF1b3Q7I21hbnVhbC1zdGFydGluZyZxdW90OyZndDtHZXR0aW5nIFN0YXJ0ZWQmbHQ7L2EmZ3Q7Jmx0Oy9saSZndDsKJmx0O2xpJmd0OyZsdDthIGhyZWY9JnF1b3Q7I21hbnVhbC1wbGF5aW5nJnF1b3Q7Jmd0O0hvdyB0byBQbGF5Jmx0Oy9hJmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDsmbHQ7YSBocmVmPSZxdW90OyNtYW51YWwtY2hvaWNlcyZxdW90OyZndDtDaG9pY2VzIGFuZCBDb25zZXF1ZW5jZXMmbHQ7L2EmZ3Q7Jmx0Oy9saSZndDsKJmx0O2xpJmd0OyZsdDthIGhyZWY9JnF1b3Q7I21hbnVhbC1pbnZlc3RpZ2F0b3JzJnF1b3Q7Jmd0O1RoZSBJbnZlc3RpZ2F0b3JzJmx0Oy9hJmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDsmbHQ7YSBocmVmPSZxdW90OyNtYW51YWwtbXlzdGVyeS1raXQmcXVvdDsmZ3Q7VGhlIE15c3RlcnkgS2l0Jmx0Oy9hJmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDsmbHQ7YSBocmVmPSZxdW90OyNtYW51YWwtZXZpZGVuY2UmcXVvdDsmZ3Q7Q2x1ZXMsIEV2aWRlbmNlLCBhbmQgVmVyaWZpY2F0aW9uJmx0Oy9hJmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDsmbHQ7YSBocmVmPSZxdW90OyNtYW51YWwtcHV6emxlcyZxdW90OyZndDtQdXp6bGVzIGFuZCBEZWR1Y3Rpb24mbHQ7L2EmZ3Q7Jmx0Oy9saSZndDsKJmx0O2xpJmd0OyZsdDthIGhyZWY9JnF1b3Q7I21hbnVhbC1zdXBlcm5hdHVyYWwmcXVvdDsmZ3Q7U3VwZXJuYXR1cmFsIEVuY291bnRlcnMmbHQ7L2EmZ3Q7Jmx0Oy9saSZndDsKJmx0O2xpJmd0OyZsdDthIGhyZWY9JnF1b3Q7I21hbnVhbC1hdHRlbnRpb24mcXVvdDsmZ3Q7V2l0Y2ggQXR0ZW50aW9uJmx0Oy9hJmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDsmbHQ7YSBocmVmPSZxdW90OyNtYW51YWwtYWZ0ZXJlZmZlY3RzJnF1b3Q7Jmd0O0FmdGVyZWZmZWN0cyBhbmQgQ29udGFpbm1lbnQmbHQ7L2EmZ3Q7Jmx0Oy9saSZndDsKJmx0O2xpJmd0OyZsdDthIGhyZWY9JnF1b3Q7I21hbnVhbC1oaWRkZW4tcGxhY2VzJnF1b3Q7Jmd0O0hpZGRlbiBQbGFjZXMgYW5kIEhhdW50aW5nIFByb2ZpbGVzJmx0Oy9hJmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDsmbHQ7YSBocmVmPSZxdW90OyNtYW51YWwtb3V0Y29tZXMmcXVvdDsmZ3Q7VHJ1dGgsIFJlc2N1ZSwgQ29zdCwgYW5kIEVuZGluZ3MmbHQ7L2EmZ3Q7Jmx0Oy9saSZndDsKJmx0O2xpJmd0OyZsdDthIGhyZWY9JnF1b3Q7I21hbnVhbC1zYXZpbmcmcXVvdDsmZ3Q7U2F2aW5nLCBMb2FkaW5nLCBhbmQgUmVzdGFydGluZyZsdDsvYSZndDsmbHQ7L2xpJmd0OwombHQ7bGkmZ3Q7Jmx0O2EgaHJlZj0mcXVvdDsjbWFudWFsLWFjY2Vzc2liaWxpdHkmcXVvdDsmZ3Q7UmVhZGluZyBhbmQgQWNjZXNzaWJpbGl0eSBPcHRpb25zJmx0Oy9hJmd0OyZsdDsvbGkmZ3Q7CiZsdDtsaSZndDsmbHQ7YSBocmVmPSZxdW90OyNtYW51YWwtdGlwcyZxdW90OyZndDtIZWxwZnVsIFRpcHMmbHQ7L2EmZ3Q7Jmx0Oy9saSZndDsKJmx0O2xpJmd0OyZsdDthIGhyZWY9JnF1b3Q7I21hbnVhbC1oZWxwJnF1b3Q7Jmd0O0lmIFlvdSBGZWVsIFN0dWNrJmx0Oy9hJmd0OyZsdDsvbGkmZ3Q7CiZsdDsvb2wmZ3Q7CiZsdDsvbmF2Jmd0OwoKJmx0O3NlY3Rpb24gaWQ9JnF1b3Q7bWFudWFsLXN0YXJ0aW5nJnF1b3Q7IGNsYXNzPSZxdW90O21hbnVhbC1zZWN0aW9uJnF1b3Q7Jmd0OyZsdDtoMiZndDsxLiBHZXR0aW5nIFN0YXJ0ZWQmbHQ7L2gyJmd0OwombHQ7cCZndDtUaGUgZ2FtZSBiZWdpbnMgYnkgaW50cm9kdWNpbmcgdGhlIGNoYXJhY3RlcnMgYW5kIHRoZSBteXN0ZXJ5IGEgbGl0dGxlIGF0IGEgdGltZS4gRWFybHkgc2NlbmVzIG1heSBmZWVsIG1vcmUgbGlrZSBhIG5vdmVsLiBBcyB0aGUgaW52ZXN0aWdhdGlvbiBncm93cywgeW91IHdpbGwgZ2FpbiBtb3JlIHBsYWNlcyB0byBleHBsb3JlLCBtb3JlIGV2aWRlbmNlIHRvIGNvbXBhcmUsIGFuZCBtb3JlIHRvb2xzIHRvIHVzZS4mbHQ7L3AmZ3Q7CiZsdDt1bCZndDsmbHQ7bGkmZ3Q7UmVhZCBlYWNoIHNjZW5lIGJlZm9yZSBjaG9vc2luZy4gU21hbGwgZGV0YWlscyBjYW4gbWF0dGVyIGxhdGVyLiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O1NlbGVjdCBhIGhpZ2hsaWdodGVkIGNob2ljZSB0byBjb250aW51ZS4mbHQ7L2xpJmd0OyZsdDtsaSZndDtVc2UgdGhlIGxlZnQtaGFuZCBtZW51IHRvIG9wZW4gJmx0O3N0cm9uZyZndDtIb3cgdG8gUGxheSZsdDsvc3Ryb25nJmd0OywgdGhpcyAmbHQ7c3Ryb25nJmd0O1BsYXllciBNYW51YWwmbHQ7L3N0cm9uZyZndDssIHRoZSBwcml2YWN5IG5vdGljZSwgb3IgcGFzc3dvcmQtcHJvdGVjdGVkIHN0YWZmIHRvb2xzLiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O1lvdSBhcmUgbm90IGV4cGVjdGVkIHRvIGRpc2NvdmVyIGV2ZXJ5dGhpbmcgaW4gb25lIHBsYXl0aHJvdWdoLiZsdDsvbGkmZ3Q7Jmx0Oy91bCZndDsKJmx0O2RpdiBjbGFzcz0mcXVvdDttYW51YWwtbm90ZSZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0dvb2QgdG8ga25vdzombHQ7L3N0cm9uZyZndDsgVGhlcmUgaXMgbm8gc2luZ2xlIHBlcmZlY3Qgcm91dGUuIEEgY2hvaWNlIG1heSByZXZlYWwgb25lIGNsdWUgd2hpbGUgbGVhdmluZyBhbm90aGVyIGNsdWUgZm9yIGEgZnV0dXJlIHBsYXl0aHJvdWdoLiZsdDsvZGl2Jmd0OwombHQ7YSBjbGFzcz0mcXVvdDttYW51YWwtYmFjayZxdW90OyBocmVmPSZxdW90OyNtYW51YWwtdG9wJnF1b3Q7Jmd0O0JhY2sgdG8gY29udGVudHMmbHQ7L2EmZ3Q7Jmx0Oy9zZWN0aW9uJmd0OwoKJmx0O3NlY3Rpb24gaWQ9JnF1b3Q7bWFudWFsLXBsYXlpbmcmcXVvdDsgY2xhc3M9JnF1b3Q7bWFudWFsLXNlY3Rpb24mcXVvdDsmZ3Q7Jmx0O2gyJmd0OzIuIEhvdyB0byBQbGF5Jmx0Oy9oMiZndDsKJmx0O3AmZ3Q7TW9zdCBwbGF5IGhhcHBlbnMgdGhyb3VnaCBzdG9yeSBwYXNzYWdlcyBhbmQgY2hvaWNlIGxpbmtzLiBTb21lIHNjZW5lcyBvcGVuIGludmVzdGlnYXRpb24gaHVicywgbWFwcywgZXZpZGVuY2Ugc2NyZWVucywgcHV6emxlcywgb3Igc3BlY2lhbCBzdXBlcm5hdHVyYWwgZW5jb3VudGVycy4mbHQ7L3AmZ3Q7CiZsdDtvbCZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtSZWFkIHRoZSBzY2VuZS4mbHQ7L3N0cm9uZyZndDsgTm90aWNlIG5hbWVzLCB0aW1lcywgb2JqZWN0cywgcmVwZWF0ZWQgcGhyYXNlcywgYW5kIHVudXN1YWwgZGV0YWlscy4mbHQ7L2xpJmd0OyZsdDtsaSZndDsmbHQ7c3Ryb25nJmd0O0Nob29zZSBhbiBhY3Rpb24uJmx0Oy9zdHJvbmcmZ3Q7IFlvdSBtYXkgaW52ZXN0aWdhdGUsIHF1ZXN0aW9uIHNvbWVvbmUsIHNoYXJlIGluZm9ybWF0aW9uLCBrZWVwIHNvbWV0aGluZyBwcml2YXRlLCBvciBsZWF2ZS4mbHQ7L2xpJmd0OyZsdDtsaSZndDsmbHQ7c3Ryb25nJmd0O1JldmlldyB3aGF0IGNoYW5nZWQuJmx0Oy9zdHJvbmcmZ3Q7IFRoZSBnYW1lIG1heSBhZGQgYSBjbHVlLCB1cGRhdGUgYSByZWxhdGlvbnNoaXAsIGNoYW5nZSBhbiBvYmplY3RpdmUsIG9yIGluY3JlYXNlIHN1cGVybmF0dXJhbCBkYW5nZXIuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtVc2UgdGhlIE15c3RlcnkgS2l0LiZsdDsvc3Ryb25nJmd0OyBXaGVuIGF2YWlsYWJsZSwgaXQgaGVscHMgeW91IHJldmlldyB0aGUgY2FzZSB3aXRob3V0IHJlbHlpbmcgb24gbWVtb3J5IGFsb25lLiZsdDsvbGkmZ3Q7Jmx0Oy9vbCZndDsKJmx0O3AmZ3Q7U29tZSBjaG9pY2VzIGJlY29tZSBhdmFpbGFibGUgb25seSB3aGVuIGEgY2VydGFpbiBpbnZlc3RpZ2F0b3IgaGFzIGxlYXJuZWQgc29tZXRoaW5nLCBmb3VuZCBhbiBpdGVtLCBlYXJuZWQgYW4gYWJpbGl0eSwgb3IgYnVpbHQgZW5vdWdoIHRydXN0LiZsdDsvcCZndDsKJmx0O2EgY2xhc3M9JnF1b3Q7bWFudWFsLWJhY2smcXVvdDsgaHJlZj0mcXVvdDsjbWFudWFsLXRvcCZxdW90OyZndDtCYWNrIHRvIGNvbnRlbnRzJmx0Oy9hJmd0OyZsdDsvc2VjdGlvbiZndDsKCiZsdDtzZWN0aW9uIGlkPSZxdW90O21hbnVhbC1jaG9pY2VzJnF1b3Q7IGNsYXNzPSZxdW90O21hbnVhbC1zZWN0aW9uJnF1b3Q7Jmd0OyZsdDtoMiZndDszLiBDaG9pY2VzIGFuZCBDb25zZXF1ZW5jZXMmbHQ7L2gyJmd0OwombHQ7cCZndDtDaG9pY2VzIGFyZSBtZWFudCB0byBmZWVsIGxpa2UgZGVjaXNpb25zIGluc2lkZSBhIG15c3RlcnksIG5vdCB0ZXN0IHF1ZXN0aW9ucyB3aXRoIGFuIG9idmlvdXMgY29ycmVjdCBidXR0b24uIEEgY2F1dGlvdXMgY2hvaWNlIG1heSBrZWVwIGV2ZXJ5b25lIHNhZmVyIGJ1dCByZXZlYWwgbGVzcy4gQSByaXNreSBjaG9pY2UgbWF5IHByb2R1Y2Ugc3Ryb25nZXIgZXZpZGVuY2Ugd2hpbGUgYXR0cmFjdGluZyB1bndhbnRlZCBhdHRlbnRpb24uJmx0Oy9wJmd0OwombHQ7dWwmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7SW1tZWRpYXRlIGNvbnNlcXVlbmNlcyZsdDsvc3Ryb25nJmd0OyBoYXBwZW4gaW4gdGhlIGN1cnJlbnQgc2NlbmUuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtEZWxheWVkIGNvbnNlcXVlbmNlcyZsdDsvc3Ryb25nJmd0OyBtYXkgcmV0dXJuIGluIGEgbGF0ZXIgY2hhcHRlci4mbHQ7L2xpJmd0OyZsdDtsaSZndDsmbHQ7c3Ryb25nJmd0O1JlbGF0aW9uc2hpcCBjb25zZXF1ZW5jZXMmbHQ7L3N0cm9uZyZndDsgYWZmZWN0IHdobyB0cnVzdHMgd2hvbSBhbmQgd2hhdCBwZW9wbGUgYXJlIHdpbGxpbmcgdG8gc2hhcmUuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtTdXBlcm5hdHVyYWwgY29uc2VxdWVuY2VzJmx0Oy9zdHJvbmcmZ3Q7IGNhbiBjcmVhdGUgYWZ0ZXJlZmZlY3RzLCBtYXJrcywgbWlzc2luZyB0aW1lLCBjb3BpZWQgdm9pY2VzLCBvciBhbHRlcmVkIHJlY29yZHMuJmx0Oy9saSZndDsmbHQ7L3VsJmd0OwombHQ7cCZndDtJZiBhIGNob2ljZSBjbG9zZXMgb25lIHJvdXRlLCBpdCB1c3VhbGx5IG1lYW5zIHlvdXIgdmVyc2lvbiBvZiB0aGUgc3RvcnkgaXMgdGFraW5nIHNoYXBlLiBDb250aW51ZSBwbGF5aW5nIHJhdGhlciB0aGFuIGFzc3VtaW5nIHlvdSBtYWRlIGEgbWlzdGFrZS4mbHQ7L3AmZ3Q7CiZsdDthIGNsYXNzPSZxdW90O21hbnVhbC1iYWNrJnF1b3Q7IGhyZWY9JnF1b3Q7I21hbnVhbC10b3AmcXVvdDsmZ3Q7QmFjayB0byBjb250ZW50cyZsdDsvYSZndDsmbHQ7L3NlY3Rpb24mZ3Q7CgombHQ7c2VjdGlvbiBpZD0mcXVvdDttYW51YWwtaW52ZXN0aWdhdG9ycyZxdW90OyBjbGFzcz0mcXVvdDttYW51YWwtc2VjdGlvbiZxdW90OyZndDsmbHQ7aDImZ3Q7NC4gVGhlIEludmVzdGlnYXRvcnMmbHQ7L2gyJmd0OwombHQ7cCZndDtUaGUgbXlzdGVyeSBpcyBleHBlcmllbmNlZCB0aHJvdWdoIHNldmVyYWwgeW91bmcgaW52ZXN0aWdhdG9ycy4gRWFjaCBub3RpY2VzIGRpZmZlcmVudCB0aGluZ3MgYW5kIG1heSBnYWluIGEgc3BlY2lhbCBhZHZhbnRhZ2UuJmx0Oy9wJmd0OwombHQ7ZGl2IGNsYXNzPSZxdW90O21hbnVhbC1jYXJkLWdyaWQmcXVvdDsmZ3Q7Jmx0O2FydGljbGUmZ3Q7Jmx0O2gzJmd0O0tldmluJmx0Oy9oMyZndDsmbHQ7cCZndDtTdHJvbmcgd2l0aCB0aW1lLCBzZXF1ZW5jZSwgY2FyZWZ1bCByZWNvcmRzLCBhbmQgZGV0YWlscyB0aGF0IGRvIG5vdCBmaXQgdGhlIGNsb2NrLiZsdDsvcCZndDsmbHQ7L2FydGljbGUmZ3Q7Jmx0O2FydGljbGUmZ3Q7Jmx0O2gzJmd0O1J5YW4mbHQ7L2gzJmd0OyZsdDtwJmd0O1N0cm9uZyB3aXRoIHJ1bGVzLCBib3VuZGFyaWVzLCBkaXJlY3QgcXVlc3Rpb25zLCBhbmQgcmVjb2duaXppbmcgd2hlbiBzb21ldGhpbmcgaXMgdHJ5aW5nIHRvIGNvbnRyb2wgdGhlIHNpdHVhdGlvbi4mbHQ7L3AmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OyZsdDthcnRpY2xlJmd0OyZsdDtoMyZndDtLaW1teSZsdDsvaDMmZ3Q7Jmx0O3AmZ3Q7U3Ryb25nIHdpdGggdmVyaWZpY2F0aW9uLCBhcmNoaXZlcywgcGhvdG9ncmFwaHMsIGNvbnRyYWRpY3Rpb25zLCBhbmQgdGVzdGluZyB3aGV0aGVyIGEgY2xhaW0gbWF0Y2hlcyB0aGUgZXZpZGVuY2UuJmx0Oy9wJmd0OyZsdDsvYXJ0aWNsZSZndDsmbHQ7YXJ0aWNsZSZndDsmbHQ7aDMmZ3Q7U2Nvb3QmbHQ7L2gzJmd0OyZsdDtwJmd0O1N0cm9uZyB3aXRoIG9ic2VydmF0aW9uLCBub3RlYm9vayBwYXR0ZXJucywgdW51c3VhbCB3b3JkaW5nLCBhbmQgZGV0YWlscyBvdGhlciBwZW9wbGUgbWlnaHQgZGlzbWlzcy4mbHQ7L3AmZ3Q7Jmx0Oy9hcnRpY2xlJmd0OyZsdDsvZGl2Jmd0OwombHQ7cCZndDtJbmZvcm1hdGlvbiBpcyBub3QgYWx3YXlzIHNoYXJlZCBhdXRvbWF0aWNhbGx5LiBXaGF0IG9uZSBpbnZlc3RpZ2F0b3Iga25vd3MgbWF5IGRpZmZlciBmcm9tIHdoYXQgdGhlIGdyb3VwIGtub3dzLiBXaGVuIHRoZSBnYW1lIG9mZmVycyBhIGNoYW5jZSB0byBjb21wYXJlIG5vdGVzLCBpdCBjYW4gYmUgaW1wb3J0YW50LiZsdDsvcCZndDsKJmx0O2EgY2xhc3M9JnF1b3Q7bWFudWFsLWJhY2smcXVvdDsgaHJlZj0mcXVvdDsjbWFudWFsLXRvcCZxdW90OyZndDtCYWNrIHRvIGNvbnRlbnRzJmx0Oy9hJmd0OyZsdDsvc2VjdGlvbiZndDsKCiZsdDtzZWN0aW9uIGlkPSZxdW90O21hbnVhbC1teXN0ZXJ5LWtpdCZxdW90OyBjbGFzcz0mcXVvdDttYW51YWwtc2VjdGlvbiZxdW90OyZndDsmbHQ7aDImZ3Q7NS4gVGhlIE15c3RlcnkgS2l0Jmx0Oy9oMiZndDsKJmx0O3AmZ3Q7VGhlIE15c3RlcnkgS2l0IGlzIHlvdXIgaW52ZXN0aWdhdGlvbiBjZW50ZXIuIERpZmZlcmVudCBwYXJ0cyB1bmxvY2sgYXMgdGhlIGNhc2UgZ3Jvd3MuJmx0Oy9wJmd0OwombHQ7dWwmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7Q3VycmVudCBDYXNlOiZsdDsvc3Ryb25nJmd0OyBSZXZpZXdzIHRoZSBtYWluIG15c3RlcnkgYW5kIGFjdGl2ZSBvYmplY3RpdmUuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtDbHVlIEJvYXJkOiZsdDsvc3Ryb25nJmd0OyBPcmdhbml6ZXMgaW1wb3J0YW50IGRpc2NvdmVyaWVzIGFuZCBwb3NzaWJsZSBjb25uZWN0aW9ucy4mbHQ7L2xpJmd0OyZsdDtsaSZndDsmbHQ7c3Ryb25nJmd0O0ludmVzdGlnYXRvciYjMzk7cyBOb3RlYm9vazombHQ7L3N0cm9uZyZndDsgS2VlcHMgb2JzZXJ2YXRpb25zLCBxdWVzdGlvbnMsIGFuZCBjaGFyYWN0ZXItc3BlY2lmaWMgbm90ZXMuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtUb3duIE1hcDombHQ7L3N0cm9uZyZndDsgU2hvd3MgaW1wb3J0YW50IGxvY2F0aW9ucyBhbmQgcm91dGVzLiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7SW52ZXN0aWdhdG9yIEZpbGVzOiZsdDsvc3Ryb25nJmd0OyBSZXZpZXdzIHBlb3BsZSwga25vd2xlZGdlLCBhbmQgYWJpbGl0aWVzLiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7TXlzdGVyeSBCYWRnZXMgYW5kIEJhZGdlIENhYmluZXQ6Jmx0Oy9zdHJvbmcmZ3Q7IFRyYWNrIGFjY29tcGxpc2htZW50cyBhbmQgc3BlY2lhbCBkaXNjb3Zlcmllcy4mbHQ7L2xpJmd0OyZsdDtsaSZndDsmbHQ7c3Ryb25nJmd0O0Nhc2UgRmlsZSAyLjA6Jmx0Oy9zdHJvbmcmZ3Q7IFN0b3JlcyBzdHJ1Y3R1cmVkIGV2aWRlbmNlLCByZWxpYWJpbGl0eSBub3RlcywgY29udHJhZGljdGlvbnMsIGhhdW50aW5nIHBhdHRlcm5zLCBhZnRlcmVmZmVjdHMsIGNvbnRhaW5tZW50IHJlc3VsdHMsIGhpZGRlbiBwbGFjZXMsIGFuZCBlbmRpbmcgZm9yZWNhc3RzLiZsdDsvbGkmZ3Q7Jmx0Oy91bCZndDsKJmx0O3AmZ3Q7VGhlIE15c3RlcnkgS2l0IGlzIGEgcmVmZXJlbmNlIHRvb2wuIE9wZW5pbmcgaXQgZG9lcyBub3QgdXNlIHVwIGEgdHVybiBvciBwdW5pc2ggdGhlIHBsYXllci4mbHQ7L3AmZ3Q7CiZsdDthIGNsYXNzPSZxdW90O21hbnVhbC1iYWNrJnF1b3Q7IGhyZWY9JnF1b3Q7I21hbnVhbC10b3AmcXVvdDsmZ3Q7QmFjayB0byBjb250ZW50cyZsdDsvYSZndDsmbHQ7L3NlY3Rpb24mZ3Q7CgombHQ7c2VjdGlvbiBpZD0mcXVvdDttYW51YWwtZXZpZGVuY2UmcXVvdDsgY2xhc3M9JnF1b3Q7bWFudWFsLXNlY3Rpb24mcXVvdDsmZ3Q7Jmx0O2gyJmd0OzYuIENsdWVzLCBFdmlkZW5jZSwgYW5kIFZlcmlmaWNhdGlvbiZsdDsvaDImZ3Q7CiZsdDtwJmd0O0EgJmx0O3N0cm9uZyZndDtjbHVlJmx0Oy9zdHJvbmcmZ3Q7IGlzIHNvbWV0aGluZyB3b3J0aCBub3RpY2luZy4gJmx0O3N0cm9uZyZndDtFdmlkZW5jZSZsdDsvc3Ryb25nJmd0OyBpcyBhIGNsdWUgdGhhdCBoYXMgYmVlbiByZWNvcmRlZCwgdGVzdGVkLCBjb21wYXJlZCwgb3Igc3VwcG9ydGVkIHdlbGwgZW5vdWdoIHRvIHVzZSBpbiBhIHRoZW9yeS4mbHQ7L3AmZ3Q7CiZsdDt1bCZndDsmbHQ7bGkmZ3Q7T25lIHN0cmFuZ2UgZGV0YWlsIG1heSBiZSBpbXBvcnRhbnQsIGJ1dCBpdCBtYXkgYWxzbyBiZSBtaXNsZWFkaW5nLiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O1R3byBjbHVlcyB0aGF0IGFncmVlIGFyZSB1c3VhbGx5IHN0cm9uZ2VyIHRoYW4gZWl0aGVyIGNsdWUgYWxvbmUuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7QSBjb250cmFkaWN0aW9uIGlzIG5vdCBhbHdheXMgYW4gZXJyb3IuIEl0IG1heSByZXZlYWwgdGhhdCBhIHBob3RvZ3JhcGgsIHJlY29yZCwgbWVtb3J5LCBvciB2b2ljZSBoYXMgYmVlbiBhbHRlcmVkLiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O1BoeXNpY2FsIGV2aWRlbmNlIGNhbiBzdGlsbCBiZSBzdXBlcm5hdHVyYWwuIFRoZSBpbXBvcnRhbnQgcXVlc3Rpb24gaXMgd2hldGhlciB0aGUgZ3JvdXAgY2FuIGRlc2NyaWJlIHdoZXJlIGl0IGNhbWUgZnJvbSBhbmQgd2h5IGl0IG1hdHRlcnMuJmx0Oy9saSZndDsmbHQ7L3VsJmd0OwombHQ7cCZndDtDYXNlIEZpbGUgMi4wIG1heSBzaG93IHJlbGlhYmlsaXR5LCBjb250cmFkaWN0aW9ucywgdW5yZXNvbHZlZCBxdWVzdGlvbnMsIGFuZCB3aG8gY29sbGVjdGVkIHRoZSBldmlkZW5jZS4gVXNlIHRob3NlIGZpZWxkcyB3aGVuIGRlY2lkaW5nIHdoaWNoIHRoZW9yeSBkZXNlcnZlcyB0aGUgbW9zdCB0cnVzdC4mbHQ7L3AmZ3Q7CiZsdDthIGNsYXNzPSZxdW90O21hbnVhbC1iYWNrJnF1b3Q7IGhyZWY9JnF1b3Q7I21hbnVhbC10b3AmcXVvdDsmZ3Q7QmFjayB0byBjb250ZW50cyZsdDsvYSZndDsmbHQ7L3NlY3Rpb24mZ3Q7CgombHQ7c2VjdGlvbiBpZD0mcXVvdDttYW51YWwtcHV6emxlcyZxdW90OyBjbGFzcz0mcXVvdDttYW51YWwtc2VjdGlvbiZxdW90OyZndDsmbHQ7aDImZ3Q7Ny4gUHV6emxlcyBhbmQgRGVkdWN0aW9uJmx0Oy9oMiZndDsKJmx0O3AmZ3Q7UHV6emxlcyBtYXkgaW52b2x2ZSBudW1iZXJzLCBuYW1lcywgc3ltYm9scywgc2VxdWVuY2VzLCBwaG90b2dyYXBocywgcmVjb3Jkcywgb3IgcmVsYXRpb25zaGlwcyBhbW9uZyBjbHVlcy4gWW91IGFyZSBlbmNvdXJhZ2VkIHRvIHVzZSB0aGUgbm90ZWJvb2sgYW5kIENhc2UgRmlsZSByYXRoZXIgdGhhbiBzb2x2ZSBldmVyeXRoaW5nIGZyb20gbWVtb3J5LiZsdDsvcCZndDsKJmx0O3VsJmd0OyZsdDtsaSZndDtMb29rIGZvciByZXBlYXRlZCBzaGFwZXMsIHRpbWVzLCBjb2xvcnMsIHdvcmRzLCBhbmQgcG9zaXRpb25zLiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O0NoZWNrIHdoZXRoZXIgdGhlIHB1enpsZSBiZWxvbmdzIHRvIGEgcGFydGljdWxhciBpbnZlc3RpZ2F0b3ImIzM5O3Mga25vd2xlZGdlLiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O1NlcGFyYXRlIHdoYXQgdGhlIGdhbWUgaGFzIGNvbmZpcm1lZCBmcm9tIHdoYXQgYSBjaGFyYWN0ZXIgbWVyZWx5IHN1c3BlY3RzLiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O1doZW4gc2V2ZXJhbCBhbnN3ZXJzIHNlZW0gcG9zc2libGUsIGNob29zZSB0aGUgb25lIHN1cHBvcnRlZCBieSB0aGUgbW9zdCBpbmRlcGVuZGVudCBldmlkZW5jZS4mbHQ7L2xpJmd0OyZsdDsvdWwmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7bWFudWFsLW5vdGUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtEbyBub3QgcnVzaDombHQ7L3N0cm9uZyZndDsgQSBkZWR1Y3Rpb24gc2NyZWVuIGlzIGFza2luZyB3aGF0IHRoZSBldmlkZW5jZSBzdXBwb3J0cywgbm90IHdoYXQgc291bmRzIG1vc3QgZHJhbWF0aWMuJmx0Oy9kaXYmZ3Q7CiZsdDthIGNsYXNzPSZxdW90O21hbnVhbC1iYWNrJnF1b3Q7IGhyZWY9JnF1b3Q7I21hbnVhbC10b3AmcXVvdDsmZ3Q7QmFjayB0byBjb250ZW50cyZsdDsvYSZndDsmbHQ7L3NlY3Rpb24mZ3Q7CgombHQ7c2VjdGlvbiBpZD0mcXVvdDttYW51YWwtc3VwZXJuYXR1cmFsJnF1b3Q7IGNsYXNzPSZxdW90O21hbnVhbC1zZWN0aW9uJnF1b3Q7Jmd0OyZsdDtoMiZndDs4LiBTdXBlcm5hdHVyYWwgRW5jb3VudGVycyZsdDsvaDImZ3Q7CiZsdDtwJmd0O1NvbWUgc3VwZXJuYXR1cmFsIGV2ZW50cyBhcmUgYnJpZWYgd2FybmluZ3MuIE90aGVycyBhcmUgaW50ZXJhY3RpdmUgZW5jb3VudGVycyB3aXRoIHRoZWlyIG93biBjaG9pY2VzIGFuZCBjb25zZXF1ZW5jZXMuJmx0Oy9wJmd0OwombHQ7dWwmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7QXRtb3NwaGVyaWMgbWFuaWZlc3RhdGlvbnMmbHQ7L3N0cm9uZyZndDsgaW5jbHVkZSBhbHRlcmVkIHJlZmxlY3Rpb25zLCBzdG9wcGVkIGNsb2NrcywgZm9vdHN0ZXBzLCBwaG90b2dyYXBocywgYW5kIGdyZWVuIHRocmVhZC4mbHQ7L2xpJmd0OyZsdDtsaSZndDsmbHQ7c3Ryb25nJmd0O0ludGVyYWN0aXZlIG1hbmlmZXN0YXRpb25zJmx0Oy9zdHJvbmcmZ3Q7IG1heSBhc2sgeW91IHRvIGFwcHJvYWNoLCBxdWVzdGlvbiwgcmVzaXN0LCByZXRyZWF0LCBvciB1c2UgYW4gaW52ZXN0aWdhdG9yIGFiaWxpdHkuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtEaXNwbGFjZW1lbnRzJmx0Oy9zdHJvbmcmZ3Q7IGNhbiBwdWxsIGFuIGludmVzdGlnYXRvciBpbnRvIGEgcGxhY2UgdGhhdCBzaG91bGQgbm90IGV4aXN0LiZsdDsvbGkmZ3Q7Jmx0Oy91bCZndDsKJmx0O3AmZ3Q7TGVhdmluZyBpcyBzb21ldGltZXMgYSB3aXNlIGNob2ljZS4gU3RheWluZyBtYXkgcHJvZHVjZSBiZXR0ZXIgZXZpZGVuY2UsIGJ1dCBpdCBjYW4gYWxzbyByYWlzZSBXaXRjaCBBdHRlbnRpb24gb3IgY3JlYXRlIGEgbGFzdGluZyBhZnRlcmVmZmVjdC4mbHQ7L3AmZ3Q7CiZsdDtwJmd0O1RoZSAmbHQ7c3Ryb25nJmd0O0hhdW50aW5nIEZyZXF1ZW5jeSZsdDsvc3Ryb25nJmd0OyBzZXR0aW5nIGNoYW5nZXMgb3B0aW9uYWwgc3VwZXJuYXR1cmFsIGludGVycnVwdGlvbnMuIEl0IGRvZXMgbm90IHJlbW92ZSByZXF1aXJlZCBzdG9yeSBldmVudHMuJmx0Oy9wJmd0OwombHQ7YSBjbGFzcz0mcXVvdDttYW51YWwtYmFjayZxdW90OyBocmVmPSZxdW90OyNtYW51YWwtdG9wJnF1b3Q7Jmd0O0JhY2sgdG8gY29udGVudHMmbHQ7L2EmZ3Q7Jmx0Oy9zZWN0aW9uJmd0OwoKJmx0O3NlY3Rpb24gaWQ9JnF1b3Q7bWFudWFsLWF0dGVudGlvbiZxdW90OyBjbGFzcz0mcXVvdDttYW51YWwtc2VjdGlvbiZxdW90OyZndDsmbHQ7aDImZ3Q7OS4gV2l0Y2ggQXR0ZW50aW9uJmx0Oy9oMiZndDsKJmx0O3AmZ3Q7V2l0Y2ggQXR0ZW50aW9uIHJlcHJlc2VudHMgaG93IHN0cm9uZ2x5IHRoZSBzdXBlcm5hdHVyYWwgcHJlc2VuY2UgaGFzIG5vdGljZWQgYW5kIGZvY3VzZWQgb24gdGhlIGludmVzdGlnYXRvcnMuJmx0Oy9wJmd0OwombHQ7b2wmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7VW5ub3RpY2VkOiZsdDsvc3Ryb25nJmd0OyBUaGUgZGFuZ2VyIGhhcyBub3QgZm9jdXNlZCBvbiB0aGUgZ3JvdXAuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtPYnNlcnZlZDombHQ7L3N0cm9uZyZndDsgU2lnbnMgYmVjb21lIG1vcmUgcGVyc29uYWwuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtGb2xsb3dlZDombHQ7L3N0cm9uZyZndDsgVGhlIGhhdW50aW5nIGJlZ2lucyBhcHBlYXJpbmcgYWxvbmcgdGhlIGdyb3VwJiMzOTtzIHJvdXRlcy4mbHQ7L2xpJmd0OyZsdDtsaSZndDsmbHQ7c3Ryb25nJmd0O01hcmtlZDombHQ7L3N0cm9uZyZndDsgRW5jb3VudGVycyBiZWNvbWUgbW9yZSBkaXJlY3QgYW5kIGRhbmdlcm91cy4mbHQ7L2xpJmd0OyZsdDtsaSZndDsmbHQ7c3Ryb25nJmd0O0h1bnRlZDombHQ7L3N0cm9uZyZndDsgVGhlIHN1cGVybmF0dXJhbCBmb3JjZSBpcyBhY3RpdmVseSBwdXJzdWluZyBhbiBvdXRjb21lLiZsdDsvbGkmZ3Q7Jmx0Oy9vbCZndDsKJmx0O3AmZ3Q7QXR0ZW50aW9uIGNhbiByaXNlIGFmdGVyIHJlY2tsZXNzIGNvbnRhY3QsIGZhaWxlZCByZXNpc3RhbmNlLCBvciBjYXJyeWluZyBkYW5nZXJvdXMgZXZpZGVuY2UuIENhcmVmdWwgaW52ZXN0aWdhdGlvbiwgc3VjY2Vzc2Z1bCBjb250YWlubWVudCwgYW5kIHNvbWUgY2hhcmFjdGVyIGFiaWxpdGllcyBjYW4gbG93ZXIgaXQuJmx0Oy9wJmd0OwombHQ7YSBjbGFzcz0mcXVvdDttYW51YWwtYmFjayZxdW90OyBocmVmPSZxdW90OyNtYW51YWwtdG9wJnF1b3Q7Jmd0O0JhY2sgdG8gY29udGVudHMmbHQ7L2EmZ3Q7Jmx0Oy9zZWN0aW9uJmd0OwoKJmx0O3NlY3Rpb24gaWQ9JnF1b3Q7bWFudWFsLWFmdGVyZWZmZWN0cyZxdW90OyBjbGFzcz0mcXVvdDttYW51YWwtc2VjdGlvbiZxdW90OyZndDsmbHQ7aDImZ3Q7MTAuIEFmdGVyZWZmZWN0cyBhbmQgQ29udGFpbm1lbnQmbHQ7L2gyJmd0OwombHQ7cCZndDtBbiBhZnRlcmVmZmVjdCBpcyBhIHN1cGVybmF0dXJhbCBjb25zZXF1ZW5jZSB0aGF0IHJlbWFpbnMgYWZ0ZXIgYW4gZW5jb3VudGVyIGVuZHMuIEl0IG1heSBhcHBlYXIgYWdhaW4gZHVyaW5nIG9yZGluYXJ5IGV4cGxvcmF0aW9uLiZsdDsvcCZndDsKJmx0O3AmZ3Q7RXhhbXBsZXMgaW5jbHVkZSBkZWxheWVkIHZvaWNlcywgZmFsc2Uga2V5aG9sZXMsIG1pc3Npbmcgb2JqZWN0cywgYWx0ZXJlZCBzY3JlZW5zLCBsb3N0IG1pbnV0ZXMsIG1hcmtzLCBhbmQgY2hhbmdpbmcgcmVjb3Jkcy4mbHQ7L3AmZ3Q7CiZsdDt1bCZndDsmbHQ7bGkmZ3Q7UmV2aWV3IGFjdGl2ZSBhZnRlcmVmZmVjdHMgaW4gQ2FzZSBGaWxlIDIuMC4mbHQ7L2xpJmd0OyZsdDtsaSZndDtTb21lIGNhbiBiZSBjb250YWluZWQgb25seSBieSB0aGUgaW52ZXN0aWdhdG9yIHdob3NlIGFiaWxpdHkgbWF0Y2hlcyB0aGUgcHJvYmxlbS4mbHQ7L2xpJmd0OyZsdDtsaSZndDtDb250YWlubWVudCBtYXkgdHVybiBhIGRhbmdlcm91cyBlZmZlY3QgaW50byB2ZXJpZmllZCBldmlkZW5jZS4mbHQ7L2xpJmd0OyZsdDtsaSZndDtTdWNjZXNzZnVsIGNvbnRhaW5tZW50IGNhbiBpbXByb3ZlIFRydXRoLCBzdXBwb3J0IFJlc2N1ZSwgYW5kIHJlZHVjZSBzdXBlcm5hdHVyYWwgQ29zdC4mbHQ7L2xpJmd0OyZsdDsvdWwmZ3Q7CiZsdDtwJmd0O05vdCBldmVyeSBhZnRlcmVmZmVjdCBtdXN0IGJlIHNvbHZlZCBpbW1lZGlhdGVseSwgYnV0IHVucmVzb2x2ZWQgZWZmZWN0cyBjYW4gaW5mbHVlbmNlIHRoZSBlbmRpbmcuJmx0Oy9wJmd0OwombHQ7YSBjbGFzcz0mcXVvdDttYW51YWwtYmFjayZxdW90OyBocmVmPSZxdW90OyNtYW51YWwtdG9wJnF1b3Q7Jmd0O0JhY2sgdG8gY29udGVudHMmbHQ7L2EmZ3Q7Jmx0Oy9zZWN0aW9uJmd0OwoKJmx0O3NlY3Rpb24gaWQ9JnF1b3Q7bWFudWFsLWhpZGRlbi1wbGFjZXMmcXVvdDsgY2xhc3M9JnF1b3Q7bWFudWFsLXNlY3Rpb24mcXVvdDsmZ3Q7Jmx0O2gyJmd0OzExLiBIaWRkZW4gUGxhY2VzIGFuZCBIYXVudGluZyBQcm9maWxlcyZsdDsvaDImZ3Q7CiZsdDtwJmd0O0VhY2ggcGxheXRocm91Z2ggc2VjcmV0bHkgZW1waGFzaXplcyBvbmUgaGF1bnRpbmcgcGF0dGVybi4gVGhpcyBjaGFuZ2VzIHdoaWNoIHNpZ25zIGFwcGVhciBtb3N0IG9mdGVuLCB3aGljaCBpbnZlc3RpZ2F0b3IgcmVjZWl2ZXMgcHJlc3N1cmUsIHdoaWNoIGxvY2F0aW9uIGJlY29tZXMgbW9yZSBkYW5nZXJvdXMsIGFuZCB3aGljaCBoaWRkZW4gcGxhY2UgbWF5IG9wZW4uJmx0Oy9wJmd0OwombHQ7cCZndDtUaGUgZm91ciBrbm93biBwYXR0ZXJucyBpbnZvbHZlOiZsdDsvcCZndDsKJmx0O3VsJmd0OyZsdDtsaSZndDsmbHQ7c3Ryb25nJmd0O1RpbWUmbHQ7L3N0cm9uZyZndDsgYW5kIHRoZSBMb3N0IE1pbnV0ZSZsdDsvbGkmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7SW1pdGF0aW9uJmx0Oy9zdHJvbmcmZ3Q7IGFuZCB0aGUgUm9vbSBCZWhpbmQgdGhlIFZvaWNlJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtFcmFzdXJlJmx0Oy9zdHJvbmcmZ3Q7IGFuZCB0aGUgTWlzc2luZyBBcmNoaXZlJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtCb3VuZGFyaWVzJmx0Oy9zdHJvbmcmZ3Q7IGFuZCB0aGUgSG91c2UgQmVuZWF0aCB0aGUgT2FrJmx0Oy9saSZndDsmbHQ7L3VsJmd0OwombHQ7cCZndDtZb3UgYXJlIHVubGlrZWx5IHRvIHNlZSBldmVyeSBoaWRkZW4gcGxhY2UgaW4gb25lIHBsYXl0aHJvdWdoLiBGaW5kaW5nIGRpZmZlcmVudCBwbGFjZXMgb24gbGF0ZXIgcnVucyBjYW4gcmV2ZWFsIGhvdyB0aGUgbGFyZ2VyIG15c3RlcnkgZml0cyB0b2dldGhlci4mbHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7bWFudWFsLW5vdGUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtTcG9pbGVyLWxpZ2h0IHJlbWluZGVyOiZsdDsvc3Ryb25nJmd0OyBUaGUgbWFudWFsIGV4cGxhaW5zIHRoZSBzeXN0ZW0sIGJ1dCBpdCBkb2VzIG5vdCByZXZlYWwgdGhlIGJlc3QgY2hvaWNlcyBpbnNpZGUgZWFjaCBoaWRkZW4gcGxhY2UuJmx0Oy9kaXYmZ3Q7CiZsdDthIGNsYXNzPSZxdW90O21hbnVhbC1iYWNrJnF1b3Q7IGhyZWY9JnF1b3Q7I21hbnVhbC10b3AmcXVvdDsmZ3Q7QmFjayB0byBjb250ZW50cyZsdDsvYSZndDsmbHQ7L3NlY3Rpb24mZ3Q7CgombHQ7c2VjdGlvbiBpZD0mcXVvdDttYW51YWwtb3V0Y29tZXMmcXVvdDsgY2xhc3M9JnF1b3Q7bWFudWFsLXNlY3Rpb24mcXVvdDsmZ3Q7Jmx0O2gyJmd0OzEyLiBUcnV0aCwgUmVzY3VlLCBDb3N0LCBhbmQgRW5kaW5ncyZsdDsvaDImZ3Q7CiZsdDtwJmd0O1RoZSBlbmRpbmcgY29uc2lkZXJzIG1vcmUgdGhhbiB3aGV0aGVyIHRoZSBncm91cCBmb3VuZCBhbiBhbnN3ZXIuJmx0Oy9wJmd0OwombHQ7dWwmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7VHJ1dGg6Jmx0Oy9zdHJvbmcmZ3Q7IEhvdyB3ZWxsIHRoZSBmaW5hbCBleHBsYW5hdGlvbiBpcyBzdXBwb3J0ZWQgYnkgcmVsaWFibGUgZXZpZGVuY2UuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtSZXNjdWU6Jmx0Oy9zdHJvbmcmZ3Q7IEhvdyBzdWNjZXNzZnVsbHkgdGhlIGludmVzdGlnYXRvcnMgcHJvdGVjdGVkIHBlb3BsZSBhbmQgb25lIGFub3RoZXIuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtDb3N0OiZsdDsvc3Ryb25nJmd0OyBXaGF0IHN1cGVybmF0dXJhbCBkYW5nZXIsIGRhbWFnZSwgb3IgdW5yZXNvbHZlZCBjb25zZXF1ZW5jZSByZW1haW5zLiZsdDsvbGkmZ3Q7Jmx0Oy91bCZndDsKJmx0O3AmZ3Q7QSBoaWdoLVRydXRoIGVuZGluZyBjYW4gc3RpbGwgY2FycnkgYSBzZXJpb3VzIENvc3QuIEEgc3Ryb25nIFJlc2N1ZSByZXN1bHQgbWF5IGtlZXAgZXZlcnlvbmUgc2FmZSB3aGlsZSBsZWF2aW5nIGltcG9ydGFudCBxdWVzdGlvbnMgdW5hbnN3ZXJlZC4gVGhlIENhc2UgRmlsZSYjMzk7cyBvdXRjb21lIGZvcmVjYXN0IGhlbHBzIGV4cGxhaW4gdGhlIGRpcmVjdGlvbiBvZiB0aGUgY3VycmVudCBpbnZlc3RpZ2F0aW9uIHdpdGhvdXQgcHJvbWlzaW5nIGEgc3BlY2lmaWMgZW5kaW5nLiZsdDsvcCZndDsKJmx0O2EgY2xhc3M9JnF1b3Q7bWFudWFsLWJhY2smcXVvdDsgaHJlZj0mcXVvdDsjbWFudWFsLXRvcCZxdW90OyZndDtCYWNrIHRvIGNvbnRlbnRzJmx0Oy9hJmd0OyZsdDsvc2VjdGlvbiZndDsKCiZsdDtzZWN0aW9uIGlkPSZxdW90O21hbnVhbC1zYXZpbmcmcXVvdDsgY2xhc3M9JnF1b3Q7bWFudWFsLXNlY3Rpb24mcXVvdDsmZ3Q7Jmx0O2gyJmd0OzEzLiBTYXZpbmcsIExvYWRpbmcsIGFuZCBSZXN0YXJ0aW5nJmx0Oy9oMiZndDsKJmx0O3VsJmd0OyZsdDtsaSZndDsmbHQ7c3Ryb25nJmd0O0F1dG9zYXZlOiZsdDsvc3Ryb25nJmd0OyBUaGUgZ2FtZSBtYWludGFpbnMgYSByb2xsaW5nIGJyb3dzZXIgc2F2ZSBkdXJpbmcgcGxheS4mbHQ7L2xpJmd0OyZsdDtsaSZndDsmbHQ7c3Ryb25nJmd0O01hbnVhbCBzYXZlOiZsdDsvc3Ryb25nJmd0OyBVc2UgdGhlIHNhdmUgY29udHJvbHMgd2hlbiB5b3Ugd2FudCBhIGRlcGVuZGFibGUgcmV0dXJuIHBvaW50LiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0OyZsdDtzdHJvbmcmZ3Q7TG9hZCBvciByZXN0b3JlOiZsdDsvc3Ryb25nJmd0OyBSZXR1cm5zIHRvIGEgc2F2ZWQgc3RhdGUsIGluY2x1ZGluZyBjbHVlcywgY2hvaWNlcywgcmVsYXRpb25zaGlwcywgYW5kIHN1cGVybmF0dXJhbCBjb25zZXF1ZW5jZXMuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Jmx0O3N0cm9uZyZndDtSZXN0YXJ0OiZsdDsvc3Ryb25nJmd0OyBCZWdpbnMgYSBmcmVzaCBwbGF5dGhyb3VnaC4gVXNlIHRoaXMgd2hlbiB5b3Ugd2FudCB0byB0cnkgYW5vdGhlciBpbnZlc3RpZ2F0b3Igcm91dGUgb3IgaGF1bnRpbmcgcGF0dGVybi4mbHQ7L2xpJmd0OyZsdDsvdWwmZ3Q7CiZsdDtwJmd0O0Jyb3dzZXIgc2F2ZXMgbm9ybWFsbHkgcmVtYWluIG9uIHRoZSBzYW1lIGRldmljZSBhbmQgYnJvd3Nlci4gQ2xlYXJpbmcgYnJvd3NlciBkYXRhLCBjaGFuZ2luZyBicm93c2Vycywgb3IgdXNpbmcgcHJpdmF0ZS1icm93c2luZyBtb2RlIG1heSByZW1vdmUgdGhlbS4mbHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7bWFudWFsLW5vdGUmcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtSZWNvbW1lbmRlZDombHQ7L3N0cm9uZyZndDsgTWFrZSBhIG1hbnVhbCBzYXZlIGJlZm9yZSBhIGxvbmcgaW52ZXN0aWdhdGlvbiBodWIgb3IgbWFqb3IgZGVkdWN0aW9uLiZsdDsvZGl2Jmd0OwombHQ7YSBjbGFzcz0mcXVvdDttYW51YWwtYmFjayZxdW90OyBocmVmPSZxdW90OyNtYW51YWwtdG9wJnF1b3Q7Jmd0O0JhY2sgdG8gY29udGVudHMmbHQ7L2EmZ3Q7Jmx0Oy9zZWN0aW9uJmd0OwoKJmx0O3NlY3Rpb24gaWQ9JnF1b3Q7bWFudWFsLWFjY2Vzc2liaWxpdHkmcXVvdDsgY2xhc3M9JnF1b3Q7bWFudWFsLXNlY3Rpb24mcXVvdDsmZ3Q7Jmx0O2gyJmd0OzE0LiBSZWFkaW5nIGFuZCBBY2Nlc3NpYmlsaXR5IE9wdGlvbnMmbHQ7L2gyJmd0OwombHQ7cCZndDtUaGUgZ2FtZSBpbmNsdWRlcyByZXNwb25zaXZlIGxheW91dHMgYW5kIHN1cHBvcnQgZm9yIHJlZHVjZWQgbW90aW9uIGFuZCBoaWdoZXItY29udHJhc3QgZGlzcGxheSBzZXR0aW5ncy4gWW91ciBicm93c2VyIGFuZCBkZXZpY2Ugc2V0dGluZ3MgbWF5IGNvbnRyb2wgc29tZSBvZiB0aGVzZSBmZWF0dXJlcyBhdXRvbWF0aWNhbGx5LiZsdDsvcCZndDsKJmx0O3VsJmd0OyZsdDtsaSZndDtVc2UgYnJvd3NlciB6b29tIGlmIHlvdSBuZWVkIGxhcmdlciB0ZXh0LiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O0tleWJvYXJkIHVzZXJzIGNhbiBtb3ZlIHRocm91Z2ggbGlua3MgYW5kIGNvbnRyb2xzIHdpdGggdGhlIFRhYiBrZXkgYW5kIGFjdGl2YXRlIHRoZW0gd2l0aCBFbnRlciBvciBTcGFjZS4mbHQ7L2xpJmd0OyZsdDtsaSZndDtSZWR1Y2VkLW1vdGlvbiBwcmVmZXJlbmNlcyBsaW1pdCB1bm5lY2Vzc2FyeSBtb3ZlbWVudC4mbHQ7L2xpJmd0OyZsdDtsaSZndDtIaWdoLWNvbnRyYXN0IG9yIGZvcmNlZC1jb2xvciBzZXR0aW5ncyBpbXByb3ZlIHNlcGFyYXRpb24gYW1vbmcgdGV4dCwgbGlua3MsIGFuZCBjb250cm9scy4mbHQ7L2xpJmd0OyZsdDsvdWwmZ3Q7CiZsdDtwJmd0O0lmIGEgbG9uZyBwYXNzYWdlIGZlZWxzIHRpcmluZywgcGF1c2UgYXQgYSBjaG9pY2UuIFRoZSBnYW1lIHdpbGwgd2FpdCBmb3IgeW91LiZsdDsvcCZndDsKJmx0O2EgY2xhc3M9JnF1b3Q7bWFudWFsLWJhY2smcXVvdDsgaHJlZj0mcXVvdDsjbWFudWFsLXRvcCZxdW90OyZndDtCYWNrIHRvIGNvbnRlbnRzJmx0Oy9hJmd0OyZsdDsvc2VjdGlvbiZndDsKCiZsdDtzZWN0aW9uIGlkPSZxdW90O21hbnVhbC10aXBzJnF1b3Q7IGNsYXNzPSZxdW90O21hbnVhbC1zZWN0aW9uJnF1b3Q7Jmd0OyZsdDtoMiZndDsxNS4gSGVscGZ1bCBUaXBzJmx0Oy9oMiZndDsKJmx0O3VsJmd0OyZsdDtsaSZndDtSZWFkIHJlcGVhdGVkIGRldGFpbHMgY2FyZWZ1bGx5LiBSZXBldGl0aW9uIGlzIG9mdGVuIG1lYW5pbmdmdWwuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7Q2hlY2sgY2xvY2tzLCBwaG90b2dyYXBocywgbmFtZXMsIGRvb3JzLCByZWNvcmRzLCBhbmQgd29yZGluZy4mbHQ7L2xpJmd0OyZsdDtsaSZndDtSZXR1cm4gdG8gdGhlIENhc2UgRmlsZSBhZnRlciBhIG1ham9yIGRpc2NvdmVyeS4mbHQ7L2xpJmd0OyZsdDtsaSZndDtMZXQgZWFjaCBpbnZlc3RpZ2F0b3IgdXNlIHRoZWlyIHN0cmVuZ3Rocy4mbHQ7L2xpJmd0OyZsdDtsaSZndDtDb21wYXJlIGV2aWRlbmNlIGJlZm9yZSBtYWtpbmcgYSBmaW5hbCBkZWR1Y3Rpb24uJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7UmV0cmVhdGluZyBpcyBub3QgdGhlIHNhbWUgYXMgZmFpbGluZy4mbHQ7L2xpJmd0OyZsdDtsaSZndDtBIHN0cmFuZ2UgY29udHJhZGljdGlvbiBtYXkgYmUgdGhlIGNsdWUgdGhhdCBtYXR0ZXJzIG1vc3QuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7UmVwbGF5IHdpdGggYSBkaWZmZXJlbnQgaGF1bnRpbmcgZnJlcXVlbmN5IG9yIHByb2ZpbGUgcGF0aCBpZiB5b3Ugd2FudCBhIGRpZmZlcmVudCBleHBlcmllbmNlLiZsdDsvbGkmZ3Q7Jmx0Oy91bCZndDsKJmx0O2EgY2xhc3M9JnF1b3Q7bWFudWFsLWJhY2smcXVvdDsgaHJlZj0mcXVvdDsjbWFudWFsLXRvcCZxdW90OyZndDtCYWNrIHRvIGNvbnRlbnRzJmx0Oy9hJmd0OyZsdDsvc2VjdGlvbiZndDsKCiZsdDtzZWN0aW9uIGlkPSZxdW90O21hbnVhbC1oZWxwJnF1b3Q7IGNsYXNzPSZxdW90O21hbnVhbC1zZWN0aW9uJnF1b3Q7Jmd0OyZsdDtoMiZndDsxNi4gSWYgWW91IEZlZWwgU3R1Y2smbHQ7L2gyJmd0OwombHQ7b2wmZ3Q7Jmx0O2xpJmd0O1JldmlldyB0aGUgY3VycmVudCBvYmplY3RpdmUuJmx0Oy9saSZndDsmbHQ7bGkmZ3Q7T3BlbiB0aGUgTXlzdGVyeSBLaXQgYW5kIGNoZWNrIHRoZSBuZXdlc3QgY2x1ZS4mbHQ7L2xpJmd0OyZsdDtsaSZndDtMb29rIGZvciBhIGxvY2F0aW9uIHlvdSBoYXZlIG5vdCBmdWxseSBleHBsb3JlZC4mbHQ7L2xpJmd0OyZsdDtsaSZndDtTZWUgd2hldGhlciBhbm90aGVyIGludmVzdGlnYXRvciBrbm93cyBzb21ldGhpbmcgdGhlIGN1cnJlbnQgaW52ZXN0aWdhdG9yIGRvZXMgbm90LiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O1JlY2hlY2sgY29udHJhZGljdGlvbnMgaW4gQ2FzZSBGaWxlIDIuMC4mbHQ7L2xpJmd0OyZsdDtsaSZndDtUcnkgdGhlIHNhZmVzdCBhdmFpbGFibGUgYWN0aW9uIGlmIFdpdGNoIEF0dGVudGlvbiBpcyBoaWdoLiZsdDsvbGkmZ3Q7Jmx0O2xpJmd0O0xvYWQgYSByZWNlbnQgc2F2ZSBvbmx5IGlmIHlvdSB0cnVseSB3YW50IHRvIGV4cGxvcmUgYSBkaWZmZXJlbnQgZGVjaXNpb24uJmx0Oy9saSZndDsmbHQ7L29sJmd0OwombHQ7cCZndDtUaGUgbXlzdGVyeSBpcyBkZXNpZ25lZCB0byByZXdhcmQgcGF0aWVuY2UgYW5kIGN1cmlvc2l0eS4gWW91IGRvIG5vdCBuZWVkIHRvIHNvbHZlIGV2ZXJ5IGhpZGRlbiBzeXN0ZW0gdG8gY29tcGxldGUgdGhlIHN0b3J5LiZsdDsvcCZndDsKJmx0O2EgY2xhc3M9JnF1b3Q7bWFudWFsLWJhY2smcXVvdDsgaHJlZj0mcXVvdDsjbWFudWFsLXRvcCZxdW90OyZndDtCYWNrIHRvIGNvbnRlbnRzJmx0Oy9hJmd0OyZsdDsvc2VjdGlvbiZndDsKCiZsdDtmb290ZXIgY2xhc3M9JnF1b3Q7bWFudWFsLWZvb3RlciZxdW90OyZndDsmbHQ7cCZndDsmbHQ7c3Ryb25nJmd0O1JlYWR5IHRvIGNvbnRpbnVlPyZsdDsvc3Ryb25nJmd0OyBSZXR1cm4gdG8geW91ciBwcmV2aW91cyBwYXNzYWdlIGFuZCBrZWVwIGludmVzdGlnYXRpbmcuJmx0Oy9wJmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7Y2hvaWNlLWxpc3QmcXVvdDsmZ3Q7Jmx0OyZsdDtsaW5rICZxdW90O1JldHVybiB0byB0aGUgZ2FtZSZxdW90OyZndDsmZ3Q7Jmx0OyZsdDtpZiAkYm1SZXR1cm5QYXNzYWdlIGFuZCBTdG9yeS5oYXMoJGJtUmV0dXJuUGFzc2FnZSkmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAkYm1SZXR1cm5QYXNzYWdlJmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtTdGFydCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OyZsdDsmbHQ7L2xpbmsmZ3Q7Jmd0OyBbW1RpdGxlIFNjcmVlbi0mZ3Q7U3RhcnRdXSZsdDsvZGl2Jmd0OyZsdDsvZm9vdGVyJmd0OwombHQ7L2RpdiZndDs8L3R3LXBhc3NhZ2VkYXRhPjx0dy1wYXNzYWdlZGF0YSBwaWQ9IjYyNiIgbmFtZT0iQnVpbGQ1MzExQmFkZ2VBdWRpdCIgdGFncz0ic3lzdGVtIGRlYnVnIiBwb3NpdGlvbj0iNzUwMCw0MTAwIiBzaXplPSIxMDAsMTAwIj4mbHQ7Jmx0O2lmIG5vdCBzZXR1cC5kZXZVbmxvY2tlZCZndDsmZ3Q7Jmx0OyZsdDtnb3RvICZxdW90O0RldkxhdW5jaGVyJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O2Vsc2UmZ3Q7Jmd0OyZsdDtoMSZndDtFcGlzb2RlIE9uZSBEZWZpbml0aXZlIEJhZGdlIEF1ZGl0Jmx0Oy9oMSZndDsmbHQ7cHJlIGNsYXNzPSZxdW90O3Y0Mi1wcm9maWxlJnF1b3Q7Jmd0OyZsdDsmbHQ7PSBKU09OLnN0cmluZ2lmeShzZXR1cC5iYWRnZUF1ZGl0KCksbnVsbCwyKSZndDsmZ3Q7Jmx0Oy9wcmUmZ3Q7Jmx0O2RpdiBjbGFzcz0mcXVvdDtjaG9pY2UtbGlzdCZxdW90OyZndDsmbHQ7Jmx0O2xpbmsgJnF1b3Q7U3luY2hyb25pemUgYmFkZ2VzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3J1biBzZXR1cC5zeW5jRXBpc29kZU9uZUJhZGdlcygpJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7QnVpbGQ1MzExQmFkZ2VBdWRpdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtFYXJuIGFsbCBFcGlzb2RlIE9uZSBiYWRnZXMgZm9yIHRlc3RpbmcmcXVvdDsmZ3Q7Jmd0OyZsdDsmbHQ7Zm9yIF9iIHJhbmdlIHNldHVwLmJhZGdlQ2F0YWxvZyZndDsmZ3Q7Jmx0OyZsdDtydW4gc2V0dXAucHVzaEJhZGdlKF9iLmlkKSZndDsmZ3Q7Jmx0OyZsdDsvZm9yJmd0OyZndDsmbHQ7Jmx0O2dvdG8gJnF1b3Q7QnVpbGQ1MzExQmFkZ2VBdWRpdCZxdW90OyZndDsmZ3Q7Jmx0OyZsdDsvbGluayZndDsmZ3Q7ICZsdDsmbHQ7bGluayAmcXVvdDtDbGVhciBlYXJuZWQgYmFkZ2VzJnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0O3NldCAkZWFybmVkQmFkZ2VJZHM9W10mZ3Q7Jmd0OyZsdDsmbHQ7Z290byAmcXVvdDtCdWlsZDUzMTFCYWRnZUF1ZGl0JnF1b3Q7Jmd0OyZndDsmbHQ7Jmx0Oy9saW5rJmd0OyZndDsgW1tCYWRnZSBDYWJpbmV0LSZndDtNeXN0ZXJ5IEtpdCAtIEJhZGdlIENhYmluZXRdXSBbW1N0YWZmIENvbnNvbGUtJmd0O0RldkRhc2hib2FyZF1dJmx0Oy9kaXYmZ3Q7Jmx0OyZsdDsvaWYmZ3Q7Jmd0OzwvdHctcGFzc2FnZWRhdGE+PC90dy1zdG9yeWRhdGE+