IyAtKi0gbW9kZTpwbzsgY29kaW5nOmlzby1sYXRpbi0yOyAtKi0gU2xvdmVuaWFuIG1lc3NhZ2VzIGZvciBsaWJpY29udi4KIyBDb3B5cmlnaHQgKEMpIDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgUHJpbW++IFBldGVybGluIDxwcmltb3oucGV0ZXJsaW5AYmlvZml6Lm1mLnVuaS1sai5zaT4sIDIwMDIuCiMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGxpYmljb252IHBhY2thZ2UuCiMgJElkJAojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBsaWJpY29udiAxLjhcbiIKIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctZ251LWxpYmljb252QGdudS5vcmdcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA0LTAxLTIyIDExOjU0KzAxMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDItMDgtMTMgMTU6MDkrMDIwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBQcmltb74gUGV0ZXJsaW4gPHByaW1vei5wZXRlcmxpbkBiaW9maXoubWYudW5pLWxqLnNpPlxuIgoiTGFuZ3VhZ2UtVGVhbTogU2xvdmVuaWFuIDx0cmFuc2xhdGlvbi10ZWFtLXNsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMlxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIzogc3JjL2ljb252LmM6NTQKbXNnaWQgIlVzYWdlOiBpY29udiBbLWNdIFstc10gWy1mIGZyb21jb2RlXSBbLXQgdG9jb2RlXSBbZmlsZSAuLi5dIgptc2dzdHIgIlVwb3JhYmE6IGljb252IFstY10gWy1zXSBbLWYgdmhfbmFib3JdIFstdCBpemhfbmFib3JdIFtkYXRvdGVrYSAuLi5dPCIKCiM6IHNyYy9pY29udi5jOjU2Cm1zZ2lkICJvcjogICAgaWNvbnYgLWwiCm1zZ3N0ciAiYWxpOiAgIGljb252IC1sIgoKIzogc3JjL2ljb252LmM6NjYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PXG4iCiJ3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS5cbiIKbXNnc3RyICIiCiJUbyBqZSBwcm9zdCBwcm9ncmFtOyBwb2dvamksIHBvZCBrYXRlcmltaSBnYSBsYWhrbyByYXptbm++dWpldGUgaW5cbiIKInJherlpcmphdGUsIHNvIG5hdmVkZW5pIHYgaXp2b3JuaSBrb2RpLiBaYSBwcm9ncmFtIG5pIE5PQkVORUdBIGphbXN0dmEsXG4iCiJuaXRpIGphbXN0ZXYgVVNUUkVaTk9TVEkgWkEgUFJPREFKTyBhbGkgUFJJTUVSTk9TVEkgWkEgVVBPUkFCTy5cbiIKCiM6IHNyYy9pY29udi5jOjY5CiMsIGMtZm9ybWF0Cm1zZ2lkICJXcml0dGVuIGJ5ICVzLlxuIgptc2dzdHIgIkF2dG9yICVzLlxuIgoKIzogc3JjL2ljb252LmM6MTA1IHNyYy9pY29udi5jOjEzNyBzcmMvaWNvbnYuYzoxODcKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczogaW5jb21wbGV0ZSBjaGFyYWN0ZXIgb3Igc2hpZnQgc2VxdWVuY2VcbiIKbXNnc3RyICJpY29udjogJXM6IG5lcG9wb2xuaSB6bmFrIGFsaSBwb21p6G5vIHphcG9yZWRqZVxuIgoKIzogc3JjL2ljb252LmM6MTMxIHNyYy9pY29udi5jOjE4MgojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiBjYW5ub3QgY29udmVydFxuIgptc2dzdHIgImljb252OiAlczogcHJldHZvcmJhIG5pIG1vZ2/oYVxuIgoKIzogc3JjL2ljb252LmM6MTUzIHNyYy9pY29udi5jOjE5MiBzcmMvaWNvbnYuYzozMTAKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiAlczogIgptc2dzdHIgImljb252OiAlczogIgoKIzogc3JjL2ljb252LmM6MjAxCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6IEkvTyBlcnJvclxuIgptc2dzdHIgImljb252OiAlczogVi9JIG5hcGFrYVxuIgoKIzogc3JjL2ljb252LmM6Mjk0CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogY29udmVyc2lvbiBmcm9tICVzIHVuc3VwcG9ydGVkXG4iCm1zZ3N0ciAiaWNvbnY6IHByZXR2b3JiYSBpeiBuYWJvcmEgJXMgbmkgcG9kcHJ0YVxuIgoKIzogc3JjL2ljb252LmM6Mjk2CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogY29udmVyc2lvbiB0byAlcyB1bnN1cHBvcnRlZFxuIgptc2dzdHIgImljb252OiBwcmV0dm9yYmEgdiBuYWJvciAlcyBuaSBwb2RwcnRhXG4iCgojOiBzcmMvaWNvbnYuYzoyOTgKIywgYy1mb3JtYXQKbXNnaWQgImljb252OiBjb252ZXJzaW9uIGZyb20gJXMgdG8gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjogcHJldHZvcmJhIGl6IG5hYm9yYSAlcyB2IG5hYm9yICVzIG5pIHBvZHBydGFcbiIKCiM6IHNyYy9pY29udi5jOjMwMgptc2dpZCAiKHN0ZGluKSIKbXNnc3RyICIoc3RkaW4pIgoKIzogc3JjL2ljb252LmM6MzIzCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogSS9PIGVycm9yXG4iCm1zZ3N0ciAiaWNvbnY6IFYvSSBuYXBha2FcbiIKCiN+IG1zZ2lkICIiCiN+ICJVc2FnZTogaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mIGZyb21jb2RlXSBbLXQgdG9jb2RlXSBbZmlsZSAuLi5dIgojfiBtc2dzdHIgIiIKI34gIlVwb3JhYmE6IGljb252IFstLWJpbmFyeV0gWy1jXSBbLXNdIFstZiB2aF9uYWJvcl0gWy10IGl6aF9uYWJvcl0gIgojfiAiW2RhdG90ZWthIC4uLl0iCg==