IyBUcmFuc2xhdGlvbiBvZiB0Y2x0ay5wb3QgdG8gRnJlbmNoCiMgQ29weXJpZ2h0IChDKSAyMDA3IFRoZSBSIEZvdW5kYXRpb24KIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdGNsdGsgUiBwYWNrYWdlLgojIFBoaWxpcHBlIEdyb3NqZWFuIDxwaGdyb3NqZWFuQHNjaXZpZXdzLm9yZz4sIDIwMDcuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IFIgMi4xMi4wXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAyMC0wMy0yNCAxMDo1NC0wNzAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDEwLTEwLTAxIDIxOjAxKzAxMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogUGhpbGlwcGUgR3Jvc2plYW4gPHBoZ3Jvc2plYW5Ac2Npdmlld3Mub3JnPlxuIgoiTGFuZ3VhZ2UtVGVhbTogRnJlbmNoIDxSLWNvcmVAci1wcm9qZWN0Lm9yZz5cbiIKIkxhbmd1YWdlOiBmclxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1pc28tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiA+IDEpO1xuIgoiWC1Qb2VkaXQtTGFuZ3VhZ2U6IEZyZW5jaFxuIgoiWC1Qb2VkaXQtU291cmNlQ2hhcnNldDogaXNvLTg4NTktMVxuIgoKIzogdGNsdGsuYzo2OQptc2dpZCAicGFyc2UgZXJyb3IgaW4gUiBleHByZXNzaW9uIgptc2dzdHIgImVycmV1ciBkJ2FuYWx5c2UgZGUgY29kZSBkYW5zIGwnZXhwcmVzc2lvbiBSIgoKIzogdGNsdGsuYzoxNzggdGNsdGsuYzoyNTUKbXNnaWQgInRjbCBlcnJvci5cbiIKbXNnc3RyICJlcnJldXIgVGNsLlxuIgoKIzogdGNsdGsuYzoyMDcgdGNsdGsuYzoyODEgdGNsdGsuYzoyOTggdGNsdGsuYzozMTggdGNsdGsuYzozMzggdGNsdGsuYzo0MTMKIzogdGNsdGsuYzo0NzggdGNsdGsuYzo1MzIgdGNsdGsuYzo3NzEKbXNnaWQgImludmFsaWQgYXJndW1lbnQiCm1zZ3N0ciAiYXJndW1lbnQgaW5jb3JyZWN0IgoKIzogdGNsdGsuYzoyODgKbXNnaWQgIm5vIHN1Y2ggdmFyaWFibGUiCm1zZ3N0ciAiIgoKIzogdGNsdGsuYzozMjAgdGNsdGsuYzozNDAgdGNsdGsuYzo0MTUgdGNsdGsuYzo0ODAgdGNsdGsuYzo1MzQKbXNnaWQgImludmFsaWQgdGNsT2JqIC0tIHBlcmhhcHMgc2F2ZWQgZnJvbSBhbm90aGVyIHNlc3Npb24/Igptc2dzdHIgInRjbE9iaiBpbmNvcnJlY3QgLS0gc2FucyBkb3V0ZSBzYXV26SBkZXB1aXMgdW5lIGF1dHJlIHNlc3Npb24gPyIKCiM6IHRjbHRrLmM6NjQ0Cm1zZ2lkICJhcmd1bWVudCBsaXN0IGlzIHRvbyBsb25nIGluIHRjbHRrIGludGVybmFsIGZ1bmN0aW9uICdjYWxsYmFja19jbG9zdXJlJyIKbXNnc3RyICIiCiJsYSBsaXN0ZSBkJ2FyZ3VtZW50cyBlc3QgdHJvcCBsb25ndWUgZGFucyBsYSBmb25jdGlvbiBpbnRlcm5lIHRjbHRrICIKIidjYWxsYmFja19jbG9zdXJlJyIKCiM6IHRjbHRrLmM6Njc3Cm1zZ2lkICJhcmd1bWVudCBpcyBub3Qgb2YgY29ycmVjdCB0eXBlIgptc2dzdHIgImwnYXJndW1lbnQgbidlc3QgcGFzIGQndW4gdHlwZSBjb3JyZWN0IgoKIzogdGNsdGsuYzo3MjkKbXNnaWQgIm5vIERJU1BMQVkgdmFyaWFibGUgc28gVGsgaXMgbm90IGF2YWlsYWJsZSIKbXNnc3RyICJwYXMgZGUgdmFyaWFibGUgRElTUExBWSwgZG9uYyBUayBuJ2VzdCBwYXMgZGlzcG9uaWJsZSIKCiM6IHRjbHRrX3VuaXguYzo5NAptc2dpZCAiVGNsIGlzIG5vdCBsb2FkZWQiCm1zZ3N0ciAiVGNsIG4nZXN0IHBhcyBjaGFyZ+kiCgojOiB0Y2x0a191bml4LmM6OTgKbXNnaWQgIlRjbCBpcyBub3QgbGFzdCBsb2FkZWQgaGFuZGxlciIKbXNnc3RyICJUY2wgbidlc3QgcGFzIGxlIGRlcm5pZXIgcG9pbnRldXIgZGUgY2hhcmdlbWVudCIKCiN+IG1zZ2lkICJUY2wgYWxyZWFkeSBsb2FkZWQiCiN+IG1zZ3N0ciAiVGNsIGTpauAgY2hhcmfpIgo=