IyBNZW5zYWplcyBlbiBlc3Bh8W9sIHBhcmEgR05VIGxpYmljb252LgojIENvcHlyaWdodCAoQykgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBTYW50aWFnbyBWaWxhIERvbmNlbCA8c2FudmlsYUB1bmV4LmVzPiwgMjAwMi4KIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgbGliaWNvbnYgcGFja2FnZS4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogR05VIGxpYmljb252IDEuOFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nbnUtbGliaWNvbnZAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMDctMDcgMTQ6NTQrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0wNi0yMCAxNzowMCswMjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IFNhbnRpYWdvIFZpbGEgRG9uY2VsIDxzYW52aWxhQHVuZXguZXM+XG4iCiJMYW5ndWFnZS1UZWFtOiBTcGFuaXNoIDxlc0BsaS5vcmc+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDgtYml0XG4iCgojOiBzcmMvaWNvbnYuYzo1Ngptc2dpZCAiVXNhZ2U6IGljb252IFstY10gWy1zXSBbLWYgZnJvbWNvZGVdIFstdCB0b2NvZGVdIFtmaWxlIC4uLl0iCm1zZ3N0ciAiTW9kbyBkZSBlbXBsZW86IGljb252IFstY10gWy1zXSBbLWYgZGVzZGVdIFstdCBoYXN0YV0gW2ZpY2hlcm8gLi4uXSIKCiM6IHNyYy9pY29udi5jOjU4Cm1zZ2lkICJvcjogICAgaWNvbnYgLWwiCm1zZ3N0ciAibyBiaWVuOiBpY29udiAtbCIKCiM6IHNyYy9pY29udi5jOjY4CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOT1xuIgoid2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuXG4iCm1zZ3N0ciAiIgoiRXN0byBlcyBzb2Z0d2FyZSBsaWJyZTsgdmVhIGVsIGPzZGlnbyBmdWVudGUgcGFyYSBsYXMgY29uZGljaW9uZXMgZGUgY29waWEuXG4iCiJObyBoYXkgTklOR1VOQSBnYXJhbnTtYTsgbmkgc2lxdWllcmEgZGUgQ09NRVJDSUFCSUxJREFEIG8gSURPTkVJREFEIFBBUkEgVU5cbiIKIkZJTiBERVRFUk1JTkFETy5cbiIKCiM6IHNyYy9pY29udi5jOjcxCiMsIGMtZm9ybWF0Cm1zZ2lkICJXcml0dGVuIGJ5ICVzLlxuIgptc2dzdHIgIkVzY3JpdG8gcG9yICVzLlxuIgoKIzogc3JjL2ljb252LmM6MTMxIHNyYy9pY29udi5jOjE3MSBzcmMvaWNvbnYuYzoyMzIKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6JXU6JXU6IGluY29tcGxldGUgY2hhcmFjdGVyIG9yIHNoaWZ0IHNlcXVlbmNlXG4iCm1zZ3N0ciAiaWNvbnY6ICVzOiBjYXLhY3RlciBvIHNlY3VlbmNpYSBkZSBkZXNwbGF6YW1pZW50byBpbmNvbXBsZXRhXG4iCgojOiBzcmMvaWNvbnYuYzoxNjEgc3JjL2ljb252LmM6MjIzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiV1OiV1OiBjYW5ub3QgY29udmVydFxuIgptc2dzdHIgImljb252OiAlczogbm8gc2UgcHVlZGUgY29udmVydGlyXG4iCgojOiBzcmMvaWNvbnYuYzoxOTEgc3JjL2ljb252LmM6MjQxCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiV1OiV1OiAiCm1zZ3N0ciAiaWNvbnY6ICVzOiAiCgojOiBzcmMvaWNvbnYuYzoyNTMKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczogSS9PIGVycm9yXG4iCm1zZ3N0ciAiaWNvbnY6ICVzOiBlcnJvciBkZSBFL1NcbiIKCiM6IHNyYy9pY29udi5jOjM1MQojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IGNvbnZlcnNpb24gZnJvbSAlcyB1bnN1cHBvcnRlZFxuIgptc2dzdHIgImljb252OiBubyBzZSBhZG1pdGUgbGEgY29udmVyc2nzbiBkZSBgJXMnXG4iCgojOiBzcmMvaWNvbnYuYzozNTMKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBjb252ZXJzaW9uIHRvICVzIHVuc3VwcG9ydGVkXG4iCm1zZ3N0ciAibm8gc2UgYWRtaXRlIGxhIGNvbnZlcnNp824gYSBgJXMnXG4iCgojOiBzcmMvaWNvbnYuYzozNTUKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBjb252ZXJzaW9uIGZyb20gJXMgdG8gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjogbm8gc2UgYWRtaXRlIGxhIGNvbnZlcnNp824gZGUgYCVzJyBhIGAlcydcbiIKCiM6IHNyYy9pY29udi5jOjM1NgojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IHRyeSAnJXMgLWwnIHRvIGdldCB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZW5jb2RpbmdzXG4iCm1zZ3N0ciAiIgoKIzogc3JjL2ljb252LmM6MzcwCm1zZ2lkICIoc3RkaW4pIgptc2dzdHIgIihlbnRyYWRhIGVzdOFuZGFyKSIKCiM6IHNyYy9pY29udi5jOjM3OAojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiAiCm1zZ3N0ciAiaWNvbnY6ICVzOiAiCgojOiBzcmMvaWNvbnYuYzozOTEKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBJL08gZXJyb3JcbiIKbXNnc3RyICJpY29udjogZXJyb3IgZGUgRS9TXG4iCgojfiBtc2dpZCAiIgojfiAiVXNhZ2U6IGljb252IFstLWJpbmFyeV0gWy1jXSBbLXNdIFstZiBmcm9tY29kZV0gWy10IHRvY29kZV0gW2ZpbGUgLi4uXSIKI34gbXNnc3RyICIiCiN+ICJNb2RvIGRlIGVtcGxlbzogaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mIGRlc2RlXSBbLXQgaGFzdGFdICIKI34gIltmaWNoZXJvIC4uLl0iCg==