IyBEYW5pc2ggbWVzc2FnZXMgZm9yIGxpYmljb252LgojIENvcHlyaWdodCAoQykgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBLZWxkIFNpbW9uc2VuIDxrZWxkQGRrdXVnLmRrPiwgMjAwMi4KIyBDaHJpc3RpYW4gUm9zZSA8bWVudGhvc0BtZW50aG9zLmNvbT4sIDIwMDIuCiMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGxpYmljb252IHBhY2thZ2UuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IGxpYmljb252LTEuOFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nbnUtbGliaWNvbnZAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDMtMDUtMDYgMTM6MzIrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0xMS0wOSAxOToyMyswMTAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEtlbGQgU2ltb25zZW4gPGtlbGRAZGt1dWcuZGs+XG4iCiJMYW5ndWFnZS1UZWFtOiBEYW5pc2ggPGRhbnNrQGtsaWQuZGs+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PWlzby04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IHNyYy9pY29udi5jOjU5Cm1zZ2lkICJVc2FnZTogaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mIGZyb21jb2RlXSBbLXQgdG9jb2RlXSBbZmlsZSAuLi5dIgptc2dzdHIgIkJydWc6IGljb252IFstLWJpbmFyeV0gWy1jXSBbLXNdIFstZiBmcmFrb2RlXSBbLXQgdGlsa29kZV0gW2ZpbCAuLi5dIgoKIzogc3JjL2ljb252LmM6NjEKbXNnaWQgIlVzYWdlOiBpY29udiBbLWNdIFstc10gWy1mIGZyb21jb2RlXSBbLXQgdG9jb2RlXSBbZmlsZSAuLi5dIgptc2dzdHIgIkJydWc6IGljb252IFstY10gWy1zXSBbLWYgZnJha29kZV0gWy10IHRpbGtvZGVdIFtmaWwgLi4uXSIKCiM6IHNyYy9pY29udi5jOjY0Cm1zZ2lkICJvcjogICAgaWNvbnYgLWwiCm1zZ3N0ciAiZWxsZXI6IGljb252IC1sIgoKIzogc3JjL2ljb252LmM6NzQKbXNnaWQgIiIKIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PXG4iCiJ3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS5cbiIKbXNnc3RyICIiCiJEZXR0ZSBlciBmcml0IHByb2dyYW1tZWw7IHNlIGtpbGRla29kZW4gZm9yIGtvcGllcmluZ3NiZXRpbmdlbHNlci4gRGVyICIKImdpdmVzXG4iCiJJTkdFTiBnYXJhbnRpOyBpa2tlIGVuZ2FuZyBmb3IgU0FMR0JBUkhFRCBlbGxlciBFR05FVEhFRCBGT1IgTk9HRVRcbiIKIlPGUkxJR1QgRk9STcVMLlxuIgoKIzogc3JjL2ljb252LmM6NzcKIywgYy1mb3JtYXQKbXNnaWQgIldyaXR0ZW4gYnkgJXMuXG4iCm1zZ3N0ciAiU2tyZXZldCBhZiAlcy5cbiIKCiM6IHNyYy9pY29udi5jOjExNCBzcmMvaWNvbnYuYzoxNDYgc3JjL2ljb252LmM6MTk2CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6IGluY29tcGxldGUgY2hhcmFjdGVyIG9yIHNoaWZ0IHNlcXVlbmNlXG4iCm1zZ3N0ciAiaWNvbnY6ICVzOiB1ZnVsZHN05m5kaWd0IHRlZ24gZWxsZXIgc2tpZnRlc2VrdmVuc1xuIgoKIzogc3JjL2ljb252LmM6MTQwIHNyYy9pY29udi5jOjE5MQojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiBjYW5ub3QgY29udmVydFxuIgptc2dzdHIgImljb252OiAlczoga2FuIGlra2Uga29udmVydGVyZVxuIgoKIzogc3JjL2ljb252LmM6MTYyIHNyYy9pY29udi5jOjIwMSBzcmMvaWNvbnYuYzozMjAKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczogIgptc2dzdHIgImljb252OiAlczogIgoKIzogc3JjL2ljb252LmM6MjEwCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6IEkvTyBlcnJvclxuIgptc2dzdHIgImljb252OiAlczogaW5kLS91ZHNrcmlmdHNmZWpsXG4iCgojOiBzcmMvaWNvbnYuYzozMDQKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBjb252ZXJzaW9uIGZyb20gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjoga29udmVydGVyaW5nIGZyYSAlcyB1bmRlcnN0+HR0ZXMgaWtrZVxuIgoKIzogc3JjL2ljb252LmM6MzA2CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogY29udmVyc2lvbiB0byAlcyB1bnN1cHBvcnRlZFxuIgptc2dzdHIgImljb252OiBrb252ZXJ0ZXJpbmcgdGlsICVzIHVuZGVyc3T4dHRlcyBpa2tlXG4iCgojOiBzcmMvaWNvbnYuYzozMDgKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBjb252ZXJzaW9uIGZyb20gJXMgdG8gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjoga29udmVydGVyaW5nIGZyYSAlcyB0aWwgJXMgdW5kZXJzdPh0dGVzIGlra2VcbiIKCiM6IHNyYy9pY29udi5jOjMxMgptc2dpZCAiKHN0ZGluKSIKbXNnc3RyICIoc3RhbmRhcmQgaW5kKSIKCiM6IHNyYy9pY29udi5jOjMzMwptc2dpZCAiaWNvbnY6IEkvTyBlcnJvclxuIgptc2dzdHIgImljb252OiBJL08tZmVqbFxuIgo=