My40LjIyIChTZWxlY3RpdmUgU3RldmUpCjcwMTRmMDkyMWY5MGNjOTViYzM1MDMxYTYxNjcxMjE2NTViNjM3ZTMKBAhvOhlTYXNzOjpUcmVlOjpSb290Tm9kZQw6DkBjaGlsZHJlblsNbzocU2Fzczo6VHJlZTo6Q29tbWVudE5vZGUMOgtAdmFsdWVbBkkiAawvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBBbmltYXRpb25zCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovBjoGRVQ6CkB0eXBlOgtub3JtYWw7BlsAOg5AZmlsZW5hbWUwOg1Ab3B0aW9uc3sAOgpAbGluZWkGOhJAc291cmNlX3JhbmdlbzoYU2Fzczo6U291cmNlOjpSYW5nZQk6D0BzdGFydF9wb3NvOhtTYXNzOjpTb3VyY2U6OlBvc2l0aW9uBzsOaQY6DEBvZmZzZXRpBjoNQGVuZF9wb3NvOxIHOw5pCDsTaVY6CkBmaWxlSSJOL2hvbWUvYXJ0aHVyL2FyaWEtc2l0ZS9pbmN1YmF0b3ItYXJpYXRvc2NhLXdlYnNpdGUvX3Nhc3MvX2FuaW1hdGlvbnMuc2NzcwY7CVQ6DkBpbXBvcnRlcm86IFNhc3M6OkltcG9ydGVyczo6RmlsZXN5c3RlbQg6CkByb290SSI9L2hvbWUvYXJ0aHVyL2FyaWEtc2l0ZS9pbmN1YmF0b3ItYXJpYXRvc2NhLXdlYnNpdGUvX3Nhc3MGOwlGOg9AcmVhbF9yb290SSI9L2hvbWUvYXJ0aHVyL2FyaWEtc2l0ZS9pbmN1YmF0b3ItYXJpYXRvc2NhLXdlYnNpdGUvX3Nhc3MGOwlUOhhAc2FtZV9uYW1lX3dhcm5pbmdzbzoIU2V0BjoKQGhhc2h9AEZvOwcMOwhbBkkibC8qCiAgIFdpZ2dsZSBhbmltYXRpb24KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09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bzsQCTsRbzsSBzsOaS07E2kHOxRvOxIHOw5pLTsTaS47FUAPOxZAEDsMMDsNQAs7DmknOw9vOxAJOxFAArwBOxRvOxIHOw5pJzsTaQw7FUAPOxZAEDs0VDsMMDsNQAs6DkB0ZW1wbGF0ZUkiAsgELyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQW5pbWF0aW9ucwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLyoKICAgV2lnZ2xlIGFuaW1hdGlvbgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKQGluY2x1ZGUga2V5ZnJhbWVzKHdpZ2dsZSkgewoJMjUlLCA1MCUsIDc1JSwgMTAwJSB7IEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wIGNlbnRlcik7IH0KCTI1JSB7IEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoOGRlZykpOyB9Cgk1MCUgeyBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00ZGVnKSk7IH0KCTc1JSB7IEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMmRlZykpOyB9CgkxMDAlIHsgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgwZGVnKSk7IH0KfQoKLyoKICAgUG9wIGFuaW1hdGlvbgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKQGluY2x1ZGUga2V5ZnJhbWVzKHBvcCkgewoJNTAlIHsgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkpOyB9CgkxMDAlIHsgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTsgfQp9CgovKgogICBIYW5nIGFuaW1hdGlvbgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKQGluY2x1ZGUga2V5ZnJhbWVzKGhhbmcpIHsKCTUwJSB7IEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC0zcHgpKTsgfQoJMTAwJSB7IEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC02cHgpKTsgfQp9Ci5oYW5nIHsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCUBpbmNsdWRlIGFuaW1hdGlvbi1uYW1lKGhhbmcpOwoJQGluY2x1ZGUgYW5pbWF0aW9uLWR1cmF0aW9uKDAuNXMpOwoJQGluY2x1ZGUgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihsaW5lYXIpOwoJQGluY2x1ZGUgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudChpbmZpbml0ZSk7CglAaW5jbHVkZSBhbmltYXRpb24tZGlyZWN0aW9uKGFsdGVybmF0ZSk7Cn0KBjsJVDsOaQY7D287EAk7EW87Egc7DmkGOxNpBjsUbzsSBzsOaQY7E2kGOxVADzsWQBA7NFQ=