IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IC1qIG9wdGlvbiB3aXRoIGNoYXJzZXQgY29udmVyc2lvbiBmcm9tIElTTy04ODU5LTEgdG8gVVRGLTguCgpjYXQgPDxcRU9GID4geGctdGVzdDgucG8KIyBTT01FIERFU0NSSVBUSVZFIFRJVExFLgojIENvcHlyaWdodCAoQykgWUVBUiBUSEUgUEFDS0FHRSdTIENPUFlSSUdIVCBIT0xERVIKIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgUEFDS0FHRSBwYWNrYWdlLgojIEZJUlNUIEFVVEhPUiA8RU1BSUxAQUREUkVTUz4sIFlFQVIuCiMKIywgZnV6enkKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IFBBQ0tBR0UgVkVSU0lPTlxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDQtMTAtMjIgMTI6MzkrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEZVTEwgTkFNRSA8RU1BSUxAQUREUkVTUz5cbiIKIkxhbmd1YWdlLVRlYW06IExBTkdVQUdFIDxMTEBsaS5vcmc+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IGZpZm8uYzo0Cm1zZ2lkICJAKCMpZmlmby5jXHQxLjU2IDA0LzEwLzEwIENvcHlyaWdodCAxOTg5LCAxOTk0LTIwMDMgSvZyZyBTY2hpbGxpbmciCm1zZ3N0ciAi9iIKRU9GCgpjYXQgPDxFT0YgPiB4Zy10ZXN0OC5pbi5jCl8oImV4dHJhY3QgbWUiKQpFT0YKCjogJHtYR0VUVEVYVD14Z2V0dGV4dH0KJHtYR0VUVEVYVH0gLWEgLWogLW8geGctdGVzdDgucG8geGctdGVzdDguaW4uYyB8fCBFeGl0IDEKCnNlZCAtZSAnL1BPVC1DcmVhdGlvbi1EYXRlL2QnIDwgeGctdGVzdDgucG8gfCBMQ19BTEw9QyB0ciAtZCAnXHInID4geGctdGVzdDgucG90CgpjYXQgPDxcRU9GID4geGctdGVzdDgub2sKIyBTT01FIERFU0NSSVBUSVZFIFRJVExFLgojIENvcHlyaWdodCAoQykgWUVBUiBUSEUgUEFDS0FHRSdTIENPUFlSSUdIVCBIT0xERVIKIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgUEFDS0FHRSBwYWNrYWdlLgojIEZJUlNUIEFVVEhPUiA8RU1BSUxAQUREUkVTUz4sIFlFQVIuCiMKIywgZnV6enkKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IFBBQ0tBR0UgVkVSU0lPTlxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEZVTEwgTkFNRSA8RU1BSUxAQUREUkVTUz5cbiIKIkxhbmd1YWdlLVRlYW06IExBTkdVQUdFIDxMTEBsaS5vcmc+XG4iCiJMYW5ndWFnZTogXG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBmaWZvLmM6NAptc2dpZCAiQCgjKWZpZm8uY1x0MS41NiAwNC8xMC8xMCBDb3B5cmlnaHQgMTk4OSwgMTk5NC0yMDAzIErDtnJnIFNjaGlsbGluZyIKbXNnc3RyICLDtiIKCiM6IHhnLXRlc3Q4LmluLmM6MQptc2dpZCAiZXh0cmFjdCBtZSIKbXNnc3RyICIiCkVPRgoKOiAke0RJRkY9ZGlmZn0KJHtESUZGfSB4Zy10ZXN0OC5vayB4Zy10ZXN0OC5wb3QKcmVzdWx0PSQ/CgpleGl0ICRyZXN1bHQK