My43LjQKYTNkZDA2YjVmMjU2OGMyOWRhZTE4NmI2NWFiMWE4Mjg1YWZjMWYzOQoECG86GVNhc3M6OlRyZWU6OlJvb3ROb2RlDDoOQGNoaWxkcmVuWwhvOhxTYXNzOjpUcmVlOjpDb21tZW50Tm9kZQw6C0B2YWx1ZVsGSSIfLyoqCiAqIExvYWQgaW5kaWNhdG9yLgogKi8GOgZFVDoKQHR5cGU6C25vcm1hbDsGWwA6DkBmaWxlbmFtZTA6DUBvcHRpb25zewA6CkBsaW5laQY6EkBzb3VyY2VfcmFuZ2VvOhhTYXNzOjpTb3VyY2U6OlJhbmdlCToPQHN0YXJ0X3Bvc286G1Nhc3M6OlNvdXJjZTo6UG9zaXRpb24HOw5pBjoMQG9mZnNldGkGOg1AZW5kX3Bvc287Egc7DmkIOxNpCToKQGZpbGVJIhxkZXYvc2Nzcy9iYXNlL2xvYWQuc2NzcwY7CVQ6DkBpbXBvcnRlcm86IFNhc3M6OkltcG9ydGVyczo6RmlsZXN5c3RlbQg6CkByb290SSItQzovVXNlcnMvbWFyY3IvRGVza3RvcC9Lb3JBcC9HaXQvS2FsYW1hcgY7CVQ6D0ByZWFsX3Jvb3RJIi1DOi9Vc2Vycy9tYXJjci9EZXNrdG9wL0tvckFwL0dpdC9LYWxhbWFyBjsJVDoYQHNhbWVfbmFtZV93YXJuaW5nc286CFNldAY6CkBoYXNofQBGbzoZU2Fzczo6VHJlZTo6UnVsZU5vZGUPOgpAcnVsZVsGSSIQZGl2LmxvYWRpbmcGOwlUOhJAcGFyc2VkX3J1bGVzbzoiU2Fzczo6U2VsZWN0b3I6OkNvbW1hU2VxdWVuY2UIOg1AbWVtYmVyc1sGbzodU2Fzczo6U2VsZWN0b3I6OlNlcXVlbmNlBzshWwZvOiNTYXNzOjpTZWxlY3Rvcjo6U2ltcGxlU2VxdWVuY2ULOyFbB286HFNhc3M6OlNlbGVjdG9yOjpFbGVtZW50CToKQG5hbWVJIghkaXYGOwlUOg9AbmFtZXNwYWNlMDsOaQo7DDBvOhpTYXNzOjpTZWxlY3Rvcjo6Q2xhc3MIOyVJIgxsb2FkaW5nBjsJVDsOaQo7DDA6DUBzdWJqZWN0MDoNQHNvdXJjZXNvOxsGOxx9AEY7D287EAk7EW87Egc7DmkGOxNpBjsUbzsS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FG87Egc7DmkTOxNpGjsVQA87FkAQOzNvOxAJOxFAAZs7FG87Egc7DmkTOxNpEjsVQA87FkAQOzRvOxAJOxFvOxIHOw5pEzsTaRQ7FEABnDsVQA87FkAQbzssEDslWwZJIgtyZXBlYXQGOwlUOwhbBm87LQg7CG87Lgk7CEkiDm5vLXJlcGVhdAY7CVQ7DUALOwo7LzswMDsOaRQ7D287EAk7EW87Egc7DmkUOxNpFDsUbzsSBzsOaRQ7E2kdOxVADzsWQBA7K2kAOzE7MjsGWwA7DDA7DUALOw5pFDsPbzsQCTsRbzsSBzsOaRQ7E2kKOxRvOxIHOw5pFDsTaR07FUAPOxZAEDszbzsQCTsRQAGtOxRvOxIHOw5pFDsTaRA7FUAPOxZAEDs0bzsQCTsRbzsSBzsOaRQ7E2kUOxRAAa47FUAPOxZAEG87LBA7JVsGSSIKaW1hZ2UGOwlUOwhbBm86IFNhc3M6OlNjcmlwdDo6VHJlZTo6RnVuY2FsbA86DkBjYWxsYWJsZTA7JUkiCHVybAY7CVQ6CkBhcmdzWwZvOy0JOwhvOy4JOwhJIgJ2A2RhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEVBQVFBSUFCQVAvLy93QUFBQ0gvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoK1FRSkJBQUJBQ3dBQUFBQUVBQVFBQUFDS1lRUG9idDQ0UXlNMDFWVzBjVk5QcTQ4SHpoMlVuZ3lHdmV0Nk9wbUtXbUJiNVRJK0xsVE9sQUFBQ0g1QkFrRUFBRUFMQUFBQUFBUUFCQUFBQUlvaEEraHUzZ01uWHlCcW5rTncxWERuSFRoWjMyYmQ2TFVnMFNPT0lKc0NhUG10T0p2cmN0SEFRQWgrUVFKQkFBQkFDd0FBQUFBRUFBUUFBQUNLWVFQb2J0NDRReU0wMVZXMGNWTlBxNDhueFpLR0xreHFHaXVuZ215Q1hoOW5SVWxlU1pyTzEwQUFDSDVCQWtFQUFFQUxBQUFBQUFRQUJBQUFBSW9oQThSeUt3TjA0cFNXZHVtdWZwMG5pSGdobmtQeWFXbXFaTHNLTDNRV1hVckpkcG82NlJLQVFBaCtRUUpCQUFCQUN3QUFBQUFFQUFRQUFBQ0pvUVBFY2lzRGRPS1VsbmJycDRJSDk4OW4xaUJKVWhLNDdpdHhrYkdzRXZSdFhxLzhCNFVBQ0g1QkFrRUFBRUFMQUFBQUFBUUFCQUFBQUlwaEE4UnlLd04wNHBTV2R2dU5QdG8xSEVYNkcxWU9ZcmFpbjVpbTBwUS9HU25USUZyN2V5aFVRQUFJZmtFQ1FRQUFRQXNBQUFBQUJBQUVBQUFBaXFNZjZBTHdXb2VsSkZTNUNiRVNUZGVOVXUzaldQNElXZTJxUzBUc21DOGN1WkZzckFrV3JndEtRQUFJZmtFQ1FRQUFRQXNBQUFBQUJBQUVBQUFBaWlNZjZBTDZMd01uREZRVkc5U2tydmVXTjZYalI4Mk1taTRjZE1Udldzam55SVY0cklPZ1V3QkFDSDVCQWtFQUFFQUxBQUFBQUFRQUJBQUFBSW1qSCtnQzhIclhwTlR4b2V1emtsdHJrRmc2Qm5NaUp4cGFZcFdWNzZqREZLdWpWMTRMQlVBSWZrRUFSNEFBUUFzQUFBQUFCQUFFQUFBQWlTRUR4SElyQTNUaWxKWjI2NmVhTi84SEppeGRkNG5haWxYZ2FmcndTVVZVcWx0UWdVQU93PT0GOwlUOw1ACzsKOgtzdHJpbmc7MDA7DmkVOw9vOxAJOxFvOxIHOw5pFTsTaRg7FG87Egc7DmkVOxNpAosDOxVADzsWQBA7DEAPOg5Aa2V5d29yZHNvOh5TYXNzOjpVdGlsOjpOb3JtYWxpemVkTWFwBzoRQGtleV9zdHJpbmdzewA6CUBtYXB7ADoLQHNwbGF0MDoRQGt3YXJnX3NwbGF0MDsOaRU7D287EAk7EW87Egc7DmkVOxNpFDsUbzsSBzsOaRU7E2kCjAM7FUAPOxZAEDsMQA87DUALOytpADsxOzI7BlsAOwwwOw1ACzsOaRU7D287EAk7EW87Egc7DmkVOxNpCjsUbzsSBzsOaRU7E2kCjAM7FUAPOxZAEDszbzsQCTsRQAHIOxRvOxIHOw5pFTsTaQ87FUAPOxZAEDs0bzsQCTsRbzsSBzsOaRU7E2kUOxRAAck7FUAPOxZAEDsMMDsNQAs7DmkSOw9vOxAJOxFvOxIHOw5pEjsTaQg7FG87Egc7DmkSOxNpFDsVQA87FkAQOzNvOxAJOxFAAc87FG87Egc7DmkSOxNpEjsVQA87FkAQOzRvOxAJOxFvOxIHOw5pEjsTaRQ7FEAB0DsVQA87FkAQOzVUOwwwOw1ACzsOaRE7D287EAk7EUABgTsUbzsSBzsOaRE7E2kPOxVADzsWQBA7NVQ7DDA7DUALOg5AdGVtcGxhdGVJIgKnBC8qKgogKiBMb2FkIGluZGljYXRvci4KICovCgpkaXYubG9hZGluZyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICBoZWlnaHQ6ICAgICAgICAgICAxNnB4ICFpbXBvcnRhbnQ7CiAgd2lkdGg6ICAgICAgICAgICAgMTZweCAhaW1wb3J0YW50OwogIG1hcmdpbjogICAgICAgICAgIDAgYXV0byAhaW1wb3J0YW50Owp9CgoubG9hZGluZyB7CiAgYmFja2dyb3VuZDogewogICAgcG9zaXRpb246IGNlbnRlcjsKICAgIHJlcGVhdDogICBuby1yZXBlYXQ7CiAgICBpbWFnZTogICAgdXJsKCdkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhFQUFRQUlBQkFQLy8vd0FBQUNIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUpCQUFCQUN3QUFBQUFFQUFRQUFBQ0tZUVBvYnQ0NFF5TTAxVlcwY1ZOUHE0OEh6aDJVbmd5R3ZldDZPcG1LV21CYjVUSStMbFRPbEFBQUNINUJBa0VBQUVBTEFBQUFBQVFBQkFBQUFJb2hBK2h1M2dNblh5QnFua053MVhEbkhUaFozMmJkNkxVZzBTT09JSnNDYVBtdE9KdnJjdEhBUUFoK1FRSkJBQUJBQ3dBQUFBQUVBQVFBQUFDS1lRUG9idDQ0UXlNMDFWVzBjVk5QcTQ4bnhaS0dMa3hxR2l1bmdteUNYaDluUlVsZVNack8xMEFBQ0g1QkFrRUFBRUFMQUFBQUFBUUFCQUFBQUlvaEE4UnlLd04wNHBTV2R1bXVmcDBuaUhnaG5rUHlhV21xWkxzS0wzUVdYVXJKZHBvNjZSS0FRQWgrUVFKQkFBQkFDd0FBQUFBRUFBUUFBQUNKb1FQRWNpc0RkT0tVbG5icnA0SUg5ODluMWlCSlVoSzQ3aXR4a2JHc0V2UnRYcS84QjRVQUNINUJBa0VBQUVBTEFBQUFBQVFBQkFBQUFJcGhBOFJ5S3dOMDRwU1dkdnVOUHRvMUhFWDZHMVlPWXJhaW41aW0wcFEvR1NuVElGcjdleWhVUUFBSWZrRUNRUUFBUUFzQUFBQUFCQUFFQUFBQWlxTWY2QUx3V29lbEpGUzVDYkVTVGRlTlV1M2pXUDRJV2UycVMwVHNtQzhjdVpGc3JBa1dyZ3RLUUFBSWZrRUNRUUFBUUFzQUFBQUFCQUFFQUFBQWlpTWY2QUw2THdNbkRGUVZHOVNrcnZlV042WGpSODJNbWk0Y2RNVHZXc2pueUlWNHJJT2dVd0JBQ0g1QkFrRUFBRUFMQUFBQUFBUUFCQUFBQUltakgrZ0M4SHJYcE5UeG9ldXprbHRya0ZnNkJuTWlKeHBhWXBXVjc2akRGS3VqVjE0TEJVQUlma0VBUjRBQVFBc0FBQUFBQkFBRUFBQUFpU0VEeEhJckEzVGlsSloyNjZlYU4vOEhKaXhkZDRuYWlsWGdhZnJ3U1VWVXFsdFFnVUFPdz09Jyk7CiAgfQp9CgY7CVQ7DmkGOw9vOxAJOxFvOxIHOw5pBjsTaQY7FG87Egc7DmkGOxNpBjsVQA87FkAQOzVU